@decaf-ts/integrations 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.js +3 -3
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +3 -2
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +95 -0
- package/lib/cjs/graph/execution/index.cjs +4 -2
- package/lib/cjs/graph/index.cjs +7 -2
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
- package/lib/cjs/graph/loops/index.cjs +3 -2
- package/lib/cjs/graph/nodes/agent.cjs +110 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
- package/lib/cjs/graph/nodes/index.cjs +34 -0
- package/lib/cjs/graph/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakService.cjs +5 -3
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
- package/lib/cjs/keycloak/services/runtime.cjs +20 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +6 -5
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaService.cjs +4 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
- package/lib/cjs/kibana/services/runtime.cjs +20 -0
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js +2 -1
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +90 -0
- package/lib/esm/graph/execution/index.js +3 -1
- package/lib/esm/graph/index.js +6 -1
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
- package/lib/esm/graph/loops/index.js +2 -1
- package/lib/esm/graph/nodes/agent.js +101 -0
- package/lib/esm/graph/nodes/category-styles.js +34 -0
- package/lib/esm/graph/nodes/flow-control.js +427 -0
- package/lib/esm/graph/nodes/index.js +17 -0
- package/lib/esm/graph/nodes/triggers.js +241 -0
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakService.js +4 -2
- package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
- package/lib/esm/keycloak/services/runtime.js +15 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +5 -4
- package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
- package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
- package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
- package/lib/esm/kibana/services/KibanaService.js +3 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
- package/lib/esm/kibana/services/KibanaUserService.js +4 -3
- package/lib/esm/kibana/services/runtime.js +15 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.cts +10 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.mts +10 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
- package/lib/types/graph/execution/index.d.cts +2 -0
- package/lib/types/graph/execution/index.d.mts +2 -0
- package/lib/types/graph/index.d.cts +4 -0
- package/lib/types/graph/index.d.mts +4 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
- package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
- package/lib/types/graph/loops/index.d.cts +1 -0
- package/lib/types/graph/loops/index.d.mts +1 -0
- package/lib/types/graph/nodes/agent.d.cts +44 -0
- package/lib/types/graph/nodes/agent.d.mts +44 -0
- package/lib/types/graph/nodes/category-styles.d.cts +8 -0
- package/lib/types/graph/nodes/category-styles.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control.d.cts +104 -0
- package/lib/types/graph/nodes/flow-control.d.mts +104 -0
- package/lib/types/graph/nodes/index.d.cts +16 -0
- package/lib/types/graph/nodes/index.d.mts +16 -0
- package/lib/types/graph/nodes/triggers.d.cts +53 -0
- package/lib/types/graph/nodes/triggers.d.mts +53 -0
- package/lib/types/graph/types.d.cts +102 -0
- package/lib/types/graph/types.d.mts +102 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/services/runtime.d.cts +6 -0
- package/lib/types/keycloak/services/runtime.d.mts +6 -0
- package/lib/types/kibana/services/runtime.d.cts +6 -0
- package/lib/types/kibana/services/runtime.d.mts +6 -0
- package/package.json +1 -1
|
@@ -62,6 +62,7 @@ const KeycloakRoleService_js_1 = require("./KeycloakRoleService.cjs");
|
|
|
62
62
|
const KeycloakClientService_js_1 = require("./KeycloakClientService.cjs");
|
|
63
63
|
const KeycloakIdentityProviderService_js_1 = require("./KeycloakIdentityProviderService.cjs");
|
|
64
64
|
const KeycloakAuthService_js_1 = require("./KeycloakAuthService.cjs");
|
|
65
|
+
const runtime_js_1 = require("./runtime.cjs");
|
|
65
66
|
let KeycloakService = class KeycloakService extends core_1.ClientBasedService {
|
|
66
67
|
constructor() {
|
|
67
68
|
super();
|
|
@@ -77,6 +78,7 @@ let KeycloakService = class KeycloakService extends core_1.ClientBasedService {
|
|
|
77
78
|
isProduction: this.isProduction.bind(this),
|
|
78
79
|
};
|
|
79
80
|
this._config = runtimeConfig;
|
|
81
|
+
(0, runtime_js_1.setKeycloakProductionResolver)(this.isProduction.bind(this));
|
|
80
82
|
log.debug(`Binding inner services...`);
|
|
81
83
|
(0, core_1.service)()(KeycloakRealmService_js_1.KeycloakRealmService);
|
|
82
84
|
(0, core_1.service)()(KeycloakUserService_js_1.KeycloakUserService);
|
|
@@ -163,7 +165,7 @@ let KeycloakService = class KeycloakService extends core_1.ClientBasedService {
|
|
|
163
165
|
async setupOrganization(config, ...args) {
|
|
164
166
|
const { ctxArgs } = (await this.logCtx(args, "setupOrganization", true)).for(this.setupOrganization);
|
|
165
167
|
const effectiveConfig = config ?? this.config;
|
|
166
|
-
const adminAccessToken = await this.authService.getAccessToken(effectiveConfig.adminApiUser, ...ctxArgs);
|
|
168
|
+
const adminAccessToken = await this.authService.getAccessToken(effectiveConfig.adminApiUser || this.config.adminApiUser, ...ctxArgs);
|
|
167
169
|
await this.realmService.createRealm(effectiveConfig.realmApiUser.realm, effectiveConfig.realmConfig ?? {}, ...ctxArgs);
|
|
168
170
|
await this.waitForRealm(effectiveConfig.realmApiUser.realm, ...ctxArgs);
|
|
169
171
|
const realmUserUUID = await this.userService.createRealmUser(effectiveConfig.realmApiUser, {}, ...ctxArgs);
|
|
@@ -258,5 +260,5 @@ exports.KeycloakService = KeycloakService = __decorate([
|
|
|
258
260
|
(0, decoration_1.description)("Orchestrates Keycloak realm/user/client provisioning across the inner Keycloak services"),
|
|
259
261
|
__metadata("design:paramtypes", [])
|
|
260
262
|
], KeycloakService);
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5Y2xvYWtTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tleWNsb2FrL3NlcnZpY2VzL0tleWNsb2FrU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUNMLGtCQUFrQixFQUdsQixPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZFLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQUNoRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsNkNBQTBDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFPckQsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZ0IsU0FBUSxrQkFHcEM7SUFhQztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVTLFlBQVk7UUFDcEIsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FDZCxHQUFHLElBQTZCO1FBRWhDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDdkIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFD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QUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQU0sQ0FBQztZQUMvQixDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGLENBQUE7QUFoYlksZUFBZTtJQUQzQixXQUFXLENBQUMseUZBQXlGLENBQUM7O0dBQzFGLGVBQWUsQ0FnYjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVzY3JpcHRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7XG4gIENsaWVudEJhc2VkU2VydmljZSxcbiAgQ29udGV4dHVhbEFyZ3MsXG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgc2VydmljZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IEtleWNsb2FrU2V0dXBDb25maWcsIEtleWNsb2FrVXNlciB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IEF4aW9zSW5zdGFuY2UgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5cbmltcG9ydCB7IEtleWNsb2FrUmVhbG1TZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtSZWFsbVNlcnZpY2VcIjtcbmltcG9ydCB7IEtleWNsb2FrVXNlclNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha1VzZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBLZXljbG9ha1JvbGVTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtSb2xlU2VydmljZVwiO1xuaW1wb3J0IHsgS2V5Y2xvYWtDbGllbnRTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtDbGllbnRTZXJ2aWNlXCI7XG5pbXBvcnQgeyBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZVwiO1xuaW1wb3J0IHsgS2V5Y2xvYWtBdXRoU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrQXV0aFNlcnZpY2VcIjtcblxudHlwZSBLZXljbG9ha1J1bnRpbWVTZXR1cENvbmZpZyA9IEtleWNsb2FrU2V0dXBDb25maWcgJiB7XG4gIGlzUHJvZHVjdGlvbigpOiBib29sZWFuO1xufTtcblxuQGRlc2NyaXB0aW9uKFwiT3JjaGVzdHJhdGVzIEtleWNsb2FrIHJlYWxtL3VzZXIvY2xpZW50IHByb3Zpc2lvbmluZyBhY3Jvc3MgdGhlIGlubmVyIEtleWNsb2FrIHNlcnZpY2VzXCIpXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlPFxuICBBeGlvc0luc3RhbmNlLFxuICBLZXljbG9ha1NldHVwQ29uZmlnXG4+IHtcbiAgcHJvdGVjdGVkIHJlYWxtU2VydmljZSE6IEtleWNsb2FrUmVhbG1TZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCB1c2VyU2VydmljZSE6IEtleWNsb2FrVXNlclNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIHJvbGVTZXJ2aWNlITogS2V5Y2xvYWtSb2xlU2VydmljZTtcblxuICBwcm90ZWN0ZWQgY2xpZW50U2VydmljZSE6IEtleWNsb2FrQ2xpZW50U2VydmljZTtcblxuICBwcm90ZWN0ZWQgaWRlbnRpdHlQcm92aWRlclNlcnZpY2UhOiBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCBhdXRoU2VydmljZSE6IEtleWNsb2FrQXV0aFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1Byb2R1Y3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFbXCJkZXZlbG9wbWVudFwiLCBcImxvY2FsXCJdLmluY2x1ZGVzKFxuICAgICAgcHJvY2Vzcy5lbnZbXCJOT0RFX0VOVlwiXSA/PyBcIlwiXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx7IGNvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZzsgY2xpZW50OiBBeGlvc0luc3RhbmNlIH0+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIEtleWNsb2FrU2V0dXBDb25maWc7XG4gICAgY29uc3QgcnVudGltZUNvbmZpZzogS2V5Y2xvYWtSdW50aW1lU2V0dXBDb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBpc1Byb2R1Y3Rpb246IHRoaXMuaXNQcm9kdWN0aW9uLmJpbmQodGhpcyksXG4gICAgfTtcbiAgICB0aGlzLl9jb25maWcgPSBydW50aW1lQ29uZmlnO1xuXG4gICAgbG9nLmRlYnVnKGBCaW5kaW5nIGlubmVyIHNlcnZpY2VzLi4uYCk7XG4gICAgc2VydmljZSgpKEtleWNsb2FrUmVhbG1TZXJ2aWNlKTtcbiAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtVc2VyU2VydmljZSk7XG4gICAgc2VydmljZSgpKEtleWNsb2FrUm9sZVNlcnZpY2UpO1xuICAgIHNlcnZpY2UoKShLZXljbG9ha0NsaWVudFNlcnZpY2UpO1xuICAgIHNlcnZpY2UoKShLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlKTtcbiAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtBdXRoU2VydmljZSk7XG5cbiAgICBsb2cuZGVidWcoYEluaXRpYWxpemluZyBpbm5lciBzZXJ2aWNlcy4uLmApO1xuICAgIHRoaXMucmVhbG1TZXJ2aWNlID0gbmV3IEtleWNsb2FrUmVhbG1TZXJ2aWNlKCk7XG4gICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlID0gbmV3IEtleWNsb2FrVXNlclNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgdGhpcy5yb2xlU2VydmljZSA9IG5ldyBLZXljbG9ha1JvbGVTZXJ2aWNlKCk7XG4gICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5pbml0aWFsaXplKHJ1bnRpbWVDb25maWcsIC4uLmN0eEFyZ3MpO1xuICAgIHRoaXMuY2xpZW50U2VydmljZSA9IG5ldyBLZXljbG9ha0NsaWVudFNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlID0gbmV3IEtleWNsb2FrSWRlbnRpdHlQcm92aWRlclNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgdGhpcy5hdXRoU2VydmljZSA9IG5ldyBLZXljbG9ha0F1dGhTZXJ2aWNlKCk7XG4gICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5pbml0aWFsaXplKHJ1bnRpbWVDb25maWcsIC4uLmN0eEFyZ3MpO1xuXG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5jcmVhdGVIdHRwQ2xpZW50KHJ1bnRpbWVDb25maWcpO1xuICAgIHRoaXMuX2NsaWVudCA9IGNsaWVudDtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgS2V5Y2xvYWsgU2VydmljZSBpbml0aWFsaXplZCB3aXRoIGNvbmZpZzogJHtKU09OLnN0cmluZ2lmeShjb25maWcpfWBcbiAgICApO1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBzZXR1cEtleWNsb2FrKFxuICAgIGtleWNsb2FrU2V0dXBDb25maWc6IEtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxLZXljbG9ha1NldHVwQ29uZmlnPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldHVwS2V5Y2xvYWtcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnNldHVwS2V5Y2xvYWspO1xuXG4gICAgY29uc3QgYWRtaW5BcGlVc2VyVVVJRCA9IGF3YWl0IHRoaXMudXNlclNlcnZpY2UuYWRkVXNlclRvUmVhbG0oXG4gICAgICBrZXljbG9ha1NldHVwQ29uZmlnLmFkbWluQXBpVXNlciEsXG4gICAgICB7fSxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyIS51c2VybmFtZVVVSUQgPSBhZG1pbkFwaVVzZXJVVUlEO1xuICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ3JhbnRSZWFsbVJvbGVzVG9Vc2VyKFxuICAgICAga2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIhLnJlYWxtLFxuICAgICAgYWRtaW5BcGlVc2VyVVVJRCxcbiAgICAgIFtcImFkbWluXCJdLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgcmV0dXJuIGtleWNsb2FrU2V0dXBDb25maWc7XG4gIH1cblxuICBhc3luYyBhZGRSZWFsbShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICBwYXlsb2FkOiBhbnksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZFJlYWxtXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5hZGRSZWFsbSk7XG4gICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuYWRkUmVhbG0ocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGVkaXRSZWFsbShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICBwYXlsb2FkOiBhbnksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImVkaXRSZWFsbVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuZWRpdFJlYWxtKTtcbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5lZGl0UmVhbG0ocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHJlbW92ZVJlYWxtKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZW1vdmVSZWFsbVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMucmVtb3ZlUmVhbG0pO1xuICAgIGF3YWl0IHRoaXMucmVhbG1TZXJ2aWNlLnJlbW92ZVJlYWxtKHJlYWxtTmFtZSwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyBhZGRVc2VyVG9SZWFsbShcbiAgICBrZXljbG9ha1VzZXI6IEtleWNsb2FrVXNlcixcbiAgICBwYXlsb2FkOiBhbnksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkVXNlclRvUmVhbG1cIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmFkZFVzZXJUb1JlYWxtKTtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5hZGRVc2VyVG9SZWFsbShrZXljbG9ha1VzZXIsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgZWRpdFVzZXIoXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgdXNlclVVSUQ6IHN0cmluZyxcbiAgICBwYXlsb2FkOiBhbnksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImVkaXRVc2VyXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5lZGl0VXNlcik7XG4gICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5lZGl0VXNlcihyZWFsbU5hbWUsIHVzZXJVVUlELCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHJlbW92ZVVzZXJGcm9tUmVhbG0oXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgdXNlclVVSUQ6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVtb3ZlVXNlckZyb21SZWFsbVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMucmVtb3ZlVXNlckZyb21SZWFsbSk7XG4gICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5yZW1vdmVVc2VyRnJvbVJlYWxtKHJlYWxtTmFtZSwgdXNlclVVSUQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgYWRkUmVhbG1Sb2xlc1RvVXNlcihcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICB1c2VyVVVJRDogc3RyaW5nLFxuICAgIHJvbGVOYW1lczogc3RyaW5nW10sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZFJlYWxtUm9sZXNUb1VzZXJcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmFkZFJlYWxtUm9sZXNUb1VzZXIpO1xuICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ3JhbnRSZWFsbVJvbGVzVG9Vc2VyKFxuICAgICAgcmVhbG1OYW1lLFxuICAgICAgdXNlclVVSUQsXG4gICAgICByb2xlTmFtZXMsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcmVhbG0tbGV2ZWwgcm9sZSwgb3B0aW9uYWxseSBhcyBhIGNvbXBvc2l0ZSBvZiBleGlzdGluZyByb2xlcy5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZVJlYWxtUm9sZShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICByb2xlTmFtZTogc3RyaW5nLFxuICAgIGNvbXBvc2l0ZVJvbGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlUmVhbG1Sb2xlXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5jcmVhdGVSZWFsbVJvbGUpO1xuICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuY3JlYXRlUmVhbG1Sb2xlKFxuICAgICAgcmVhbG1OYW1lLFxuICAgICAgcm9sZU5hbWUsXG4gICAgICBjb21wb3NpdGVSb2xlcyxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjbGllbnQgaW4gdGhlIGNvbmZpZ3VyZWQgcmVhbG0gYW5kIHJldHVybnMgaXRzIFVVSUQuXG4gICAqL1xuICBhc3luYyBjcmVhdGVDbGllbnQoXG4gICAgY29uZmlnOiBLZXljbG9ha1NldHVwQ29uZmlnLFxuICAgIG92ZXJyaWRlczogUGFydGlhbDxpbXBvcnQoXCIuLi90eXBlc1wiKS5LZXljbG9ha0NsaWVudENvbmZpZz4gfCB1bmRlZmluZWQsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlQ2xpZW50XCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5jcmVhdGVDbGllbnQpO1xuICAgIHJldHVybiB0aGlzLmNsaWVudFNlcnZpY2UuY3JlYXRlQ2xpZW50KGNvbmZpZywgb3ZlcnJpZGVzLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGFkZENsaWVudFJvbGVzVG9Vc2VyKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIGNsaWVudFVVSUQ6IHN0cmluZyxcbiAgICB1c2VyVVVJRDogc3RyaW5nLFxuICAgIHJvbGVOYW1lczogc3RyaW5nW10sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZENsaWVudFJvbGVzVG9Vc2VyXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5hZGRDbGllbnRSb2xlc1RvVXNlcik7XG4gICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5ncmFudENsaWVudFJvbGVzVG9Vc2VyKFxuICAgICAgcmVhbG1OYW1lLFxuICAgICAgY2xpZW50VVVJRCxcbiAgICAgIHVzZXJVVUlELFxuICAgICAgcm9sZU5hbWVzLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBkZWxldGVBZG1pbkFwaVVzZXIoXG4gICAga2V5Y2xvYWtTZXR1cENvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZGVsZXRlQWRtaW5BcGlVc2VyXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5kZWxldGVBZG1pbkFwaVVzZXIpO1xuICAgIGNvbnN0IHJvb3RBY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oXG4gICAgICBrZXljbG9ha1NldHVwQ29uZmlnLnJvb3RBcGlVc2VyISxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZGVsZXRlVXNlcihcbiAgICAgIHJvb3RBY2Nlc3NUb2tlbixcbiAgICAgIGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyISxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgc2V0dXBPcmdhbml6YXRpb24oXG4gICAgY29uZmlnPzogS2V5Y2xvYWtTZXR1cENvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEtleWNsb2FrU2V0dXBDb25maWc+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0dXBPcmdhbml6YXRpb25cIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnNldHVwT3JnYW5pemF0aW9uKTtcbiAgICBjb25zdCBlZmZlY3RpdmVDb25maWcgPSBjb25maWcgPz8gdGhpcy5jb25maWc7XG5cbiAgICBjb25zdCBhZG1pbkFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbihcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZy5hZG1pbkFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5jcmVhdGVSZWFsbShcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnJlYWxtLFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQ29uZmlnID8/IHt9LFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEucmVhbG0sIC4uLmN0eEFyZ3MpO1xuXG4gICAgY29uc3QgcmVhbG1Vc2VyVVVJRCA9IGF3YWl0IHRoaXMudXNlclNlcnZpY2UuY3JlYXRlUmVhbG1Vc2VyKFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEsXG4gICAgICB7fSxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnVzZXJuYW1lVVVJRCA9IHJlYWxtVXNlclVVSUQ7XG5cbiAgICBjb25zdCByZWFsbU1hbmFnZW1lbnRVVUlEID0gYXdhaXQgdGhpcy5jbGllbnRTZXJ2aWNlLmdldENsaWVudFVVSUQoXG4gICAgICBhZG1pbkFjY2Vzc1Rva2VuLFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEucmVhbG0sXG4gICAgICBcInJlYWxtLW1hbmFnZW1lbnRcIixcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuYXNzaWduUm9sZXNUb1VzZXIoXG4gICAgICBgL2FkbWluL3JlYWxtcy8ke2VmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnJlYWxtfS9jbGllbnRzLyR7cmVhbG1NYW5hZ2VtZW50VVVJRH0vcm9sZXNgLFxuICAgICAgYC9hZG1pbi9yZWFsbXMvJHtlZmZlY3RpdmVDb25maWcucmVhbG1BcGlVc2VyIS5yZWFsbX0vdXNlcnMvJHtyZWFsbVVzZXJVVUlEfS9yb2xlLW1hcHBpbmdzL2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfWAsXG4gICAgICBbXCJtYW5hZ2UtY2xpZW50c1wiLCBcIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnNcIl0sXG4gICAgICBhZG1pbkFjY2Vzc1Rva2VuLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICBjb25zdCBjbGllbnRVVUlEID0gYXdhaXQgdGhpcy5jbGllbnRTZXJ2aWNlLmNyZWF0ZUNsaWVudChcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGVmZmVjdGl2ZUNvbmZpZy5jbGllbnQuY2xpZW50VVVJRCA9IGNsaWVudFVVSUQ7XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyhcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICByZXR1cm4gZWZmZWN0aXZlQ29uZmlnO1xuICB9XG5cbiAgYXN5bmMgc2V0dXBPcmdhbml6YXRpb25TU08oXG4gICAga2V5Y2xvYWtTZXR1cENvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0dXBPcmdhbml6YXRpb25TU09cIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnNldHVwT3JnYW5pemF0aW9uU1NPKTtcblxuICAgIGF3YWl0IHRoaXMuY2xpZW50U2VydmljZS5jcmVhdGVDbGllbnRSb2xlcyhcbiAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICBpZiAoa2V5Y2xvYWtTZXR1cENvbmZpZy5pZGVudGl0eVByb3ZpZGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmNyZWF0ZUlkZW50aXR5UHJvdmlkZXIoXG4gICAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgLi4uY3R4QXJnc1xuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UuY3JlYXRlSWRlbnRpdHlQcm92aWRlck1hcHBlcnMoXG4gICAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgLi4uY3R4QXJnc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVPcmdhbml6YXRpb24oXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZU9yZ2FuaXphdGlvblwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuZGVsZXRlT3JnYW5pemF0aW9uKTtcbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5yZW1vdmVSZWFsbShyZWFsbU5hbWUsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyk6IEF4aW9zSW5zdGFuY2Uge1xuICAgIHJldHVybiBBeGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9YCxcbiAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiB0aGlzLmlzUHJvZHVjdGlvbigpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRGb3JSZWFsbShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwid2FpdEZvclJlYWxtXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy53YWl0Rm9yUmVhbG0pO1xuXG4gICAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgMTUwMDA7XG4gICAgd2hpbGUgKERhdGUubm93KCkgPCBkZWFkbGluZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuZ2V0UmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwMCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgVGltZWQgb3V0IHdhaXRpbmcgZm9yIHJlYWxtICR7cmVhbG1OYW1lfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVDbGllbnRTY29wZXNSb2xlc01hcHBlcnMoXG4gICAga2V5Y2xvYWtVc2VyOiBLZXljbG9ha1VzZXIsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyk7XG5cbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQodGhpcy5jb25maWcpO1xuICAgIGNvbnN0IHJlYWxtQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKFxuICAgICAga2V5Y2xvYWtVc2VyLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gICAgY29uc3Qgcm9sZXNSZXNwb25zZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcucHJvdG9jb2x9Oi8vJHt0aGlzLmNvbmZpZy5ob3N0fS9hZG1pbi9yZWFsbXMvJHtrZXljbG9ha1VzZXIucmVhbG19L2NsaWVudC1zY29wZXNgLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudFNjb3BlcyA9XG4gICAgICB0aGlzLnBhcnNlSnNvblJlc3BvbnNlPFxuICAgICAgICBBcnJheTx7XG4gICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgcHJvdG9jb2xNYXBwZXJzPzogQXJyYXk8e1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgICAgICB9PjtcbiAgICAgICAgfT5cbiAgICAgID4ocm9sZXNSZXNwb25zZS5kYXRhKSA/PyBbXTtcbiAgICBjb25zdCByb2xlc1Njb3BlID0gY2xpZW50U2NvcGVzLmZpbmQoKHNjb3BlKSA9PiBzY29wZS5uYW1lID09PSBcInJvbGVzXCIpO1xuICAgIGNvbnN0IGNsaWVudFJvbGVzTWFwcGVyID0gcm9sZXNTY29wZT8ucHJvdG9jb2xNYXBwZXJzPy5maW5kKFxuICAgICAgKG1hcHBlcikgPT4gbWFwcGVyLm5hbWUgPT09IFwiY2xpZW50IHJvbGVzXCJcbiAgICApO1xuICAgIGlmICghcm9sZXNTY29wZSB8fCAhY2xpZW50Um9sZXNNYXBwZXIpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFwiVW5hYmxlIHRvIGZpbmQgY2xpZW50IHJvbGVzIG1hcHBlclwiKTtcbiAgICB9XG4gICAgY2xpZW50Um9sZXNNYXBwZXIuY29uZmlnW1wiaWQudG9rZW4uY2xhaW1cIl0gPSBcInRydWVcIjtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzLyR7cm9sZXNTY29wZS5pZH0vcHJvdG9jb2wtbWFwcGVycy9tb2RlbHMvJHtjbGllbnRSb2xlc01hcHBlci5pZH1gLFxuICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoY2xpZW50Um9sZXNNYXBwZXIpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VKc29uUmVzcG9uc2U8VD4oZGF0YTogdW5rbm93bik6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGF0YSkgYXMgVDtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG59XG4iXX0=
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5Y2xvYWtTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2V5Y2xvYWtTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxD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QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSixDQUFDO0FBS08sMENBQWU7QUFKeEIsMEJBQUEsZUFBZSxHQUFHLFVBQVUsQ0FBQztJQUN6QixJQUFBLHdCQUFXLEVBQUMseUZBQXlGLENBQUM7SUFDdEcsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztDQUN0QyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRXBCLGt3aUNBQWt3aUMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgZGVzY3JpcHRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSwgc2VydmljZSwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyBLZXljbG9ha1JlYWxtU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrUmVhbG1TZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBLZXljbG9ha1VzZXJTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtVc2VyU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgS2V5Y2xvYWtSb2xlU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrUm9sZVNlcnZpY2UuanNcIjtcbmltcG9ydCB7IEtleWNsb2FrQ2xpZW50U2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrQ2xpZW50U2VydmljZS5qc1wiO1xuaW1wb3J0IHsgS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrSWRlbnRpdHlQcm92aWRlclNlcnZpY2UuanNcIjtcbmltcG9ydCB7IEtleWNsb2FrQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha0F1dGhTZXJ2aWNlLmpzXCI7XG5sZXQgS2V5Y2xvYWtTZXJ2aWNlID0gY2xhc3MgS2V5Y2xvYWtTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgaXNQcm9kdWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gIVtcImRldmVsb3BtZW50XCIsIFwibG9jYWxcIl0uaW5jbHVkZXMocHJvY2Vzcy5lbnZbXCJOT0RFX0VOVlwiXSA/PyBcIlwiKTtcbiAgICB9XG4gICAgYXN5bmMgaW5pdGlhbGl6ZSguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gY3R4QXJnc1swXTtcbiAgICAgICAgY29uc3QgcnVudGltZUNvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgIGlzUHJvZHVjdGlvbjogdGhpcy5pc1Byb2R1Y3Rpb24uYmluZCh0aGlzKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fY29uZmlnID0gcnVudGltZUNvbmZpZztcbiAgICAgICAgbG9nLmRlYnVnKGBCaW5kaW5nIGlubmVyIHNlcnZpY2VzLi4uYCk7XG4gICAgICAgIHNlcnZpY2UoKShLZXljbG9ha1JlYWxtU2VydmljZSk7XG4gICAgICAgIHNlcnZpY2UoKShLZXljbG9ha1VzZXJTZXJ2aWNlKTtcbiAgICAgICAgc2VydmljZSgpKEtleWNsb2FrUm9sZVNlcnZpY2UpO1xuICAgICAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtDbGllbnRTZXJ2aWNlKTtcbiAgICAgICAgc2VydmljZSgpKEtleWNsb2FrSWRlbnRpdHlQcm92aWRlclNlcnZpY2UpO1xuICAgICAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtBdXRoU2VydmljZSk7XG4gICAgICAgIGxvZy5kZWJ1ZyhgSW5pdGlhbGl6aW5nIGlubmVyIHNlcnZpY2VzLi4uYCk7XG4gICAgICAgIHRoaXMucmVhbG1TZXJ2aWNlID0gbmV3IEtleWNsb2FrUmVhbG1TZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMucmVhbG1TZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtVc2VyU2VydmljZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIHRoaXMucm9sZVNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtSb2xlU2VydmljZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIHRoaXMuY2xpZW50U2VydmljZSA9IG5ldyBLZXljbG9ha0NsaWVudFNlcnZpY2UoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnRTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtBdXRoU2VydmljZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudChydW50aW1lQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgICAgICBsb2cuZGVidWcoYEtleWNsb2FrIFNlcnZpY2UgaW5pdGlhbGl6ZWQgd2l0aCBjb25maWc6ICR7SlNPTi5zdHJpbmdpZnkoY29uZmlnKX1gKTtcbiAgICAgICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgICB9XG4gICAgYXN5bmMgc2V0dXBLZXljbG9hayhrZXljbG9ha1NldHVwQ29uZmlnLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0dXBLZXljbG9ha1wiLCB0cnVlKSkuZm9yKHRoaXMuc2V0dXBLZXljbG9hayk7XG4gICAgICAgIGNvbnN0IGFkbWluQXBpVXNlclVVSUQgPSBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmFkZFVzZXJUb1JlYWxtKGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyLCB7fSwgLi4uY3R4QXJncyk7XG4gICAgICAgIGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyLnVzZXJuYW1lVVVJRCA9IGFkbWluQXBpVXNlclVVSUQ7XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ3JhbnRSZWFsbVJvbGVzVG9Vc2VyKGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyLnJlYWxtLCBhZG1pbkFwaVVzZXJVVUlELCBbXCJhZG1pblwiXSwgLi4uY3R4QXJncyk7XG4gICAgICAgIHJldHVybiBrZXljbG9ha1NldHVwQ29uZmlnO1xuICAgIH1cbiAgICBhc3luYyBhZGRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJhZGRSZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMuYWRkUmVhbG0pO1xuICAgICAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5hZGRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBlZGl0UmVhbG0ocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZWRpdFJlYWxtXCIsIHRydWUpKS5mb3IodGhpcy5lZGl0UmVhbG0pO1xuICAgICAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5lZGl0UmVhbG0ocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgcmVtb3ZlUmVhbG0ocmVhbG1OYW1lLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVtb3ZlUmVhbG1cIiwgdHJ1ZSkpLmZvcih0aGlzLnJlbW92ZVJlYWxtKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UucmVtb3ZlUmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgYWRkVXNlclRvUmVhbG0oa2V5Y2xvYWtVc2VyLCBwYXlsb2FkLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkVXNlclRvUmVhbG1cIiwgdHJ1ZSkpLmZvcih0aGlzLmFkZFVzZXJUb1JlYWxtKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuYWRkVXNlclRvUmVhbG0oa2V5Y2xvYWtVc2VyLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgZWRpdFVzZXIocmVhbG1OYW1lLCB1c2VyVVVJRCwgcGF5bG9hZCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImVkaXRVc2VyXCIsIHRydWUpKS5mb3IodGhpcy5lZGl0VXNlcik7XG4gICAgICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZWRpdFVzZXIocmVhbG1OYW1lLCB1c2VyVVVJRCwgcGF5bG9hZCwgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIGFzeW5jIHJlbW92ZVVzZXJGcm9tUmVhbG0ocmVhbG1OYW1lLCB1c2VyVVVJRCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJlbW92ZVVzZXJGcm9tUmVhbG1cIiwgdHJ1ZSkpLmZvcih0aGlzLnJlbW92ZVVzZXJGcm9tUmVhbG0pO1xuICAgICAgICBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLnJlbW92ZVVzZXJGcm9tUmVhbG0ocmVhbG1OYW1lLCB1c2VyVVVJRCwgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGFkZFJlYWxtUm9sZXNUb1VzZXIocmVhbG1OYW1lLCB1c2VyVVVJRCwgcm9sZU5hbWVzLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkUmVhbG1Sb2xlc1RvVXNlclwiLCB0cnVlKSkuZm9yKHRoaXMuYWRkUmVhbG1Sb2xlc1RvVXNlcik7XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ3JhbnRSZWFsbVJvbGVzVG9Vc2VyKHJlYWxtTmFtZSwgdXNlclVVSUQsIHJvbGVOYW1lcywgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSByZWFsbS1sZXZlbCByb2xlLCBvcHRpb25hbGx5IGFzIGEgY29tcG9zaXRlIG9mIGV4aXN0aW5nIHJvbGVzLlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZVJlYWxtUm9sZShyZWFsbU5hbWUsIHJvbGVOYW1lLCBjb21wb3NpdGVSb2xlcywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNyZWF0ZVJlYWxtUm9sZVwiLCB0cnVlKSkuZm9yKHRoaXMuY3JlYXRlUmVhbG1Sb2xlKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5jcmVhdGVSZWFsbVJvbGUocmVhbG1OYW1lLCByb2xlTmFtZSwgY29tcG9zaXRlUm9sZXMsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xpZW50IGluIHRoZSBjb25maWd1cmVkIHJlYWxtIGFuZCByZXR1cm5zIGl0cyBVVUlELlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZUNsaWVudChjb25maWcsIG92ZXJyaWRlcywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNyZWF0ZUNsaWVudFwiLCB0cnVlKSkuZm9yKHRoaXMuY3JlYXRlQ2xpZW50KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50U2VydmljZS5jcmVhdGVDbGllbnQoY29uZmlnLCBvdmVycmlkZXMsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBhZGRDbGllbnRSb2xlc1RvVXNlcihyZWFsbU5hbWUsIGNsaWVudFVVSUQsIHVzZXJVVUlELCByb2xlTmFtZXMsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJhZGRDbGllbnRSb2xlc1RvVXNlclwiLCB0cnVlKSkuZm9yKHRoaXMuYWRkQ2xpZW50Um9sZXNUb1VzZXIpO1xuICAgICAgICBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdyYW50Q2xpZW50Um9sZXNUb1VzZXIocmVhbG1OYW1lLCBjbGllbnRVVUlELCB1c2VyVVVJRCwgcm9sZU5hbWVzLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgZGVsZXRlQWRtaW5BcGlVc2VyKGtleWNsb2FrU2V0dXBDb25maWcsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVBZG1pbkFwaVVzZXJcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZUFkbWluQXBpVXNlcik7XG4gICAgICAgIGNvbnN0IHJvb3RBY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oa2V5Y2xvYWtTZXR1cENvbmZpZy5yb290QXBpVXNlciwgLi4uY3R4QXJncyk7XG4gICAgICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZGVsZXRlVXNlcihyb290QWNjZXNzVG9rZW4sIGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgc2V0dXBPcmdhbml6YXRpb24oY29uZmlnLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0dXBPcmdhbml6YXRpb25cIiwgdHJ1ZSkpLmZvcih0aGlzLnNldHVwT3JnYW5pemF0aW9uKTtcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlQ29uZmlnID0gY29uZmlnID8/IHRoaXMuY29uZmlnO1xuICAgICAgICBjb25zdCBhZG1pbkFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbihlZmZlY3RpdmVDb25maWcuYWRtaW5BcGlVc2VyLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuY3JlYXRlUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbSwgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQ29uZmlnID8/IHt9LCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbSwgLi4uY3R4QXJncyk7XG4gICAgICAgIGNvbnN0IHJlYWxtVXNlclVVSUQgPSBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZVJlYWxtVXNlcihlZmZlY3RpdmVDb25maWcucmVhbG1BcGlVc2VyLCB7fSwgLi4uY3R4QXJncyk7XG4gICAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIudXNlcm5hbWVVVUlEID0gcmVhbG1Vc2VyVVVJRDtcbiAgICAgICAgY29uc3QgcmVhbG1NYW5hZ2VtZW50VVVJRCA9IGF3YWl0IHRoaXMuY2xpZW50U2VydmljZS5nZXRDbGllbnRVVUlEKGFkbWluQWNjZXNzVG9rZW4sIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIucmVhbG0sIFwicmVhbG0tbWFuYWdlbWVudFwiLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5hc3NpZ25Sb2xlc1RvVXNlcihgL2FkbWluL3JlYWxtcy8ke2VmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIucmVhbG19L2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfS9yb2xlc2AsIGAvYWRtaW4vcmVhbG1zLyR7ZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbX0vdXNlcnMvJHtyZWFsbVVzZXJVVUlEfS9yb2xlLW1hcHBpbmdzL2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfWAsIFtcIm1hbmFnZS1jbGllbnRzXCIsIFwibWFuYWdlLWlkZW50aXR5LXByb3ZpZGVyc1wiXSwgYWRtaW5BY2Nlc3NUb2tlbiwgLi4uY3R4QXJncyk7XG4gICAgICAgIGNvbnN0IGNsaWVudFVVSUQgPSBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuY3JlYXRlQ2xpZW50KGVmZmVjdGl2ZUNvbmZpZywgdW5kZWZpbmVkLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgZWZmZWN0aXZlQ29uZmlnLmNsaWVudC5jbGllbnRVVUlEID0gY2xpZW50VVVJRDtcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVDbGllbnRTY29wZXNSb2xlc01hcHBlcnMoZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciwgLi4uY3R4QXJncyk7XG4gICAgICAgIHJldHVybiBlZmZlY3RpdmVDb25maWc7XG4gICAgfVxuICAgIGFzeW5jIHNldHVwT3JnYW5pemF0aW9uU1NPKGtleWNsb2FrU2V0dXBDb25maWcsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXR1cE9yZ2FuaXphdGlvblNTT1wiLCB0cnVlKSkuZm9yKHRoaXMuc2V0dXBPcmdhbml6YXRpb25TU08pO1xuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuY3JlYXRlQ2xpZW50Um9sZXMoa2V5Y2xvYWtTZXR1cENvbmZpZywgdW5kZWZpbmVkLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKGtleWNsb2FrU2V0dXBDb25maWcuaWRlbnRpdHlQcm92aWRlcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5pZGVudGl0eVByb3ZpZGVyU2VydmljZS5jcmVhdGVJZGVudGl0eVByb3ZpZGVyKGtleWNsb2FrU2V0dXBDb25maWcsIHVuZGVmaW5lZCwgLi4uY3R4QXJncyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmNyZWF0ZUlkZW50aXR5UHJvdmlkZXJNYXBwZXJzKGtleWNsb2FrU2V0dXBDb25maWcsIHVuZGVmaW5lZCwgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZGVsZXRlT3JnYW5pemF0aW9uKHJlYWxtTmFtZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZU9yZ2FuaXphdGlvblwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlT3JnYW5pemF0aW9uKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UucmVtb3ZlUmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgY3JlYXRlSHR0cENsaWVudChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIEF4aW9zLmNyZWF0ZSh7XG4gICAgICAgICAgICBiYXNlVVJMOiBgJHtjb25maWcucHJvdG9jb2x9Oi8vJHtjb25maWcuaG9zdH1gLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogdGhpcy5pc1Byb2R1Y3Rpb24oKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgd2FpdEZvclJlYWxtKHJlYWxtTmFtZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcIndhaXRGb3JSZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMud2FpdEZvclJlYWxtKTtcbiAgICAgICAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgMTUwMDA7XG4gICAgICAgIHdoaWxlIChEYXRlLm5vdygpIDwgZGVhZGxpbmUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuZ2V0UmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFRpbWVkIG91dCB3YWl0aW5nIGZvciByZWFsbSAke3JlYWxtTmFtZX1gKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlQ2xpZW50U2NvcGVzUm9sZXNNYXBwZXJzKGtleWNsb2FrVXNlciwgLi4uYXJncykge1xuICAgICAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHJlYWxtQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKGtleWNsb2FrVXNlciwgLi4uYXJncyk7XG4gICAgICAgIGNvbnN0IHJvbGVzUmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzYCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2xpZW50U2NvcGVzID0gdGhpcy5wYXJzZUpzb25SZXNwb25zZShyb2xlc1Jlc3BvbnNlLmRhdGEpID8/IFtdO1xuICAgICAgICBjb25zdCByb2xlc1Njb3BlID0gY2xpZW50U2NvcGVzLmZpbmQoKHNjb3BlKSA9PiBzY29wZS5uYW1lID09PSBcInJvbGVzXCIpO1xuICAgICAgICBjb25zdCBjbGllbnRSb2xlc01hcHBlciA9IHJvbGVzU2NvcGU/LnByb3RvY29sTWFwcGVycz8uZmluZCgobWFwcGVyKSA9PiBtYXBwZXIubmFtZSA9PT0gXCJjbGllbnQgcm9sZXNcIik7XG4gICAgICAgIGlmICghcm9sZXNTY29wZSB8fCAhY2xpZW50Um9sZXNNYXBwZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFwiVW5hYmxlIHRvIGZpbmQgY2xpZW50IHJvbGVzIG1hcHBlclwiKTtcbiAgICAgICAgfVxuICAgICAgICBjbGllbnRSb2xlc01hcHBlci5jb25maWdbXCJpZC50b2tlbi5jbGFpbVwiXSA9IFwidHJ1ZVwiO1xuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzLyR7cm9sZXNTY29wZS5pZH0vcHJvdG9jb2wtbWFwcGVycy9tb2RlbHMvJHtjbGllbnRSb2xlc01hcHBlci5pZH1gLFxuICAgICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoY2xpZW50Um9sZXNNYXBwZXIpLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtyZWFsbUFjY2Vzc1Rva2VufWAsXG4gICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwYXJzZUpzb25SZXNwb25zZShkYXRhKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbn07XG5LZXljbG9ha1NlcnZpY2UgPSBfX2RlY29yYXRlKFtcbiAgICBkZXNjcmlwdGlvbihcIk9yY2hlc3RyYXRlcyBLZXljbG9hayByZWFsbS91c2VyL2NsaWVudCBwcm92aXNpb25pbmcgYWNyb3NzIHRoZSBpbm5lciBLZXljbG9hayBzZXJ2aWNlc1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW10pXG5dLCBLZXljbG9ha1NlcnZpY2UpO1xuZXhwb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lTMlY1WTJ4dllXdFRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMnRsZVdOc2IyRnJMM05sY25acFkyVnpMMHRsZVdOc2IyRnJVMlZ5ZG1salpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCUVN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFMUJRVTBzYzBKQlFYTkNMRU5CUVVNN1FVRkRia1FzVDBGQlR5eEZRVU5NTEd0Q1FVRnJRaXhGUVVkc1FpeFBRVUZQTEVkQlExSXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxHRkJRV0VzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJSWFpGTEU5QlFVOHNTMEZCZDBJc1RVRkJUU3hQUVVGUExFTkJRVU03UVVGRE4wTXNUMEZCVHl4TFFVRkxMRXRCUVVzc1RVRkJUU3haUVVGWkxFTkJRVU03UVVGRmNFTXNUMEZCVHl4RlFVRkZMRzlDUVVGdlFpeEZRVUZGTEd0RFFVRXJRanRCUVVNNVJDeFBRVUZQTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzYVVOQlFUaENPMEZCUXpWRUxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3hwUTBGQk9FSTdRVUZETlVRc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRzFEUVVGblF6dEJRVU5vUlN4UFFVRlBMRVZCUVVVc0swSkJRU3RDTEVWQlFVVXNOa05CUVRCRE8wRkJRM0JHTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeHBRMEZCT0VJN1FVRlBja1FzU1VGQlRTeGxRVUZsTEVkQlFYSkNMRTFCUVUwc1pVRkJaMElzVTBGQlVTeHJRa0ZIY0VNN1NVRmhRenRSUVVORkxFdEJRVXNzUlVGQlJTeERRVUZETzBsQlExWXNRMEZCUXp0SlFVVlRMRmxCUVZrN1VVRkRjRUlzVDBGQlR5eERRVUZETEVOQlFVTXNZVUZCWVN4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUTBGRGRrTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlF6bENMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVFzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZEWkN4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGRrSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeFpRVUZaTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUXpWRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVOMlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGM1FpeERRVUZETzFGQlEycEVMRTFCUVUwc1lVRkJZU3hIUVVFclFqdFpRVU5vUkN4SFFVRkhMRTFCUVUwN1dVRkRWQ3haUVVGWkxFVkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRE8xTkJRek5ETEVOQlFVTTdVVUZEUml4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExHRkJRV0VzUTBGQlF6dFJRVVUzUWl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExESkNRVUV5UWl4RFFVRkRMRU5CUVVNN1VVRkRka01zVDBGQlR5eEZRVUZGTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlF6dFJRVU5vUXl4UFFVRlBMRVZCUVVVc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RFFVRkRPMUZCUXk5Q0xFOUJRVThzUlVGQlJTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03VVVGREwwSXNUMEZCVHl4RlFVRkZMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXp0UlFVTnFReXhQUVVGUExFVkJRVVVzUTBGQlF5d3JRa0ZCSzBJc1EwRkJReXhEUVVGRE8xRkJRek5ETEU5QlFVOHNSVUZCUlN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdVVUZGTDBJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eG5RMEZCWjBNc1EwRkJReXhEUVVGRE8xRkJRelZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1NVRkJTU3h2UWtGQmIwSXNSVUZCUlN4RFFVRkRPMUZCUXk5RExFMUJRVTBzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1lVRkJZU3hGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZET1VRc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU03VVVGRE4wTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGVkJRVlVzUTBGQlF5eGhRVUZoTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNM1JDeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc2JVSkJRVzFDTEVWQlFVVXNRMEZCUXp0UlFVTTNReXhOUVVGTkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNWVUZCVlN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzFGQlF6ZEVMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzU1VGQlNTeHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRMnBFTEUxQlFVMHNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhWUVVGVkxFTkJRVU1zWVVGQllTeEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRMMFFzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhIUVVGSExFbEJRVWtzSzBKQlFTdENMRVZCUVVVc1EwRkJRenRSUVVOeVJTeE5RVUZOTEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eFZRVUZWTEVOQlFVTXNZVUZCWVN4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGVrVXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNN1VVRkROME1zVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRlZCUVZVc1EwRkJReXhoUVVGaExFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVTNSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdVVUZEY0VRc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTTdVVUZEZEVJc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGRFVDdzJRMEZCTmtNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVTjBSU3hEUVVGRE8xRkJRMFlzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenRKUVVNMVFpeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMR0ZCUVdFc1EwRkRha0lzYlVKQlFYZERMRVZCUTNoRExFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVOQlEyeENMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNaVUZCWlN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVNdlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03VVVGRk1VSXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1kwRkJZeXhEUVVNMVJDeHRRa0ZCYlVJc1EwRkJReXhaUVVGaExFVkJRMnBETEVWQlFVVXNSVUZEUml4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8xRkJRMFlzYlVKQlFXMUNMRU5CUVVNc1dVRkJZU3hEUVVGRExGbEJRVmtzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJRenRSUVVOc1JTeE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2NVSkJRWEZDTEVOQlF6RkRMRzFDUVVGdFFpeERRVUZETEZsQlFXRXNRMEZCUXl4TFFVRkxMRVZCUTNaRExHZENRVUZuUWl4RlFVTm9RaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVU5VTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRPMGxCUXpkQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTmFMRk5CUVdsQ0xFVkJRMnBDTEU5QlFWa3NSVUZEV2l4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhEUVVOc1FpeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZETVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNKQ0xFMUJRVTBzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUTI1RkxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVTmlMRk5CUVdsQ0xFVkJRMnBDTEU5QlFWa3NSVUZEV2l4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhEUVVOc1FpeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGZEJRVmNzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZETTBNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFMUJRVTBzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUTNCRkxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVTm1MRk5CUVdsQ0xFVkJRMnBDTEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUTJ4Q0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1lVRkJZU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU0zUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdVVUZEZUVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEZkQlFWY3NRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU0zUkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGRGJFSXNXVUZCTUVJc1JVRkRNVUlzVDBGQldTeEZRVU5hTEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUTJ4Q0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1owSkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUTJoRUxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRSUVVNelFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1kwRkJZeXhEUVVGRExGbEJRVmtzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVNMVJTeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkRXaXhUUVVGcFFpeEZRVU5xUWl4UlFVRm5RaXhGUVVOb1FpeFBRVUZaTEVWQlExb3NSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlF6RkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTnlRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNN1NVRkROVVVzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzUTBGRGRrSXNVMEZCYVVJc1JVRkRha0lzVVVGQlowSXNSVUZEYUVJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGNrUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN1VVRkRhRU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRzFDUVVGdFFpeERRVUZETEZOQlFWTXNSVUZCUlN4UlFVRlJMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU01UlN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4RFFVTjJRaXhUUVVGcFFpeEZRVU5xUWl4UlFVRm5RaXhGUVVOb1FpeFRRVUZ0UWl4RlFVTnVRaXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUjBGQlJ5eERRVU5zUWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEhGQ1FVRnhRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU55UkN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRSUVVOb1F5eE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2NVSkJRWEZDTEVOQlF6RkRMRk5CUVZNc1JVRkRWQ3hSUVVGUkxFVkJRMUlzVTBGQlV5eEZRVU5VTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVOdVFpeFRRVUZwUWl4RlFVTnFRaXhSUVVGblFpeEZRVU5vUWl4alFVRnZReXhGUVVOd1F5eEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTnFSQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNN1VVRkROVUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR1ZCUVdVc1EwRkRjRU1zVTBGQlV5eEZRVU5VTEZGQlFWRXNSVUZEVWl4alFVRmpMRVZCUTJRc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlEyaENMRTFCUVRKQ0xFVkJRek5DTEZOQlFYVkZMRVZCUTNaRkxFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVOQlEyeENMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVNNVF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGVrSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExGbEJRVmtzUTBGQlF5eE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGVFVXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXh2UWtGQmIwSXNRMEZEZUVJc1UwRkJhVUlzUlVGRGFrSXNWVUZCYTBJc1JVRkRiRUlzVVVGQlowSXNSVUZEYUVJc1UwRkJiVUlzUlVGRGJrSXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3h6UWtGQmMwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRkRVFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEhOQ1FVRnpRaXhEUVVNelF5eFRRVUZUTEVWQlExUXNWVUZCVlN4RlFVTldMRkZCUVZFc1JVRkRVaXhUUVVGVExFVkJRMVFzUjBGQlJ5eFBRVUZQTEVOQlExZ3NRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUTNSQ0xHMUNRVUYzUXl4RlFVTjRReXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUjBGQlJ5eERRVU5zUWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU53UkN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1EwRkJRenRSUVVNdlFpeE5RVUZOTEdWQlFXVXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zWTBGQll5eERRVU16UkN4dFFrRkJiVUlzUTBGQlF5eFhRVUZaTEVWQlEyaERMRWRCUVVjc1QwRkJUeXhEUVVOWUxFTkJRVU03VVVGRFJpeE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1ZVRkJWU3hEUVVNdlFpeGxRVUZsTEVWQlEyWXNiVUpCUVcxQ0xFTkJRVU1zV1VGQllTeEZRVU5xUXl4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4cFFrRkJhVUlzUTBGRGNrSXNUVUZCTkVJc1JVRkROVUlzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZEYmtRc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03VVVGRE9VSXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZGT1VNc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zWTBGQll5eERRVU0xUkN4bFFVRmxMRU5CUVVNc1dVRkJZU3hGUVVNM1FpeEhRVUZITEU5QlFVOHNRMEZEV0N4RFFVRkRPMUZCUlVZc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEZkQlFWY3NRMEZEYWtNc1pVRkJaU3hEUVVGRExGbEJRV0VzUTBGQlF5eExRVUZMTEVWQlEyNURMR1ZCUVdVc1EwRkJReXhYUVVGWExFbEJRVWtzUlVGQlJTeEZRVU5xUXl4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8xRkJRMFlzVFVGQlRTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhaUVVGaExFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkZla1VzVFVGQlRTeGhRVUZoTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExHVkJRV1VzUTBGRE1VUXNaVUZCWlN4RFFVRkRMRmxCUVdFc1JVRkROMElzUlVGQlJTeEZRVU5HTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhsUVVGbExFTkJRVU1zV1VGQllTeERRVUZETEZsQlFWa3NSMEZCUnl4aFFVRmhMRU5CUVVNN1VVRkZNMFFzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNZVUZCWVN4RFFVTm9SU3huUWtGQlowSXNSVUZEYUVJc1pVRkJaU3hEUVVGRExGbEJRV0VzUTBGQlF5eExRVUZMTEVWQlEyNURMR3RDUVVGclFpeEZRVU5zUWl4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8xRkJRMFlzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR2xDUVVGcFFpeERRVU4wUXl4cFFrRkJhVUlzWlVGQlpTeERRVUZETEZsQlFXRXNRMEZCUXl4TFFVRkxMRmxCUVZrc2JVSkJRVzFDTEZGQlFWRXNSVUZETTBZc2FVSkJRV2xDTEdWQlFXVXNRMEZCUXl4WlFVRmhMRU5CUVVNc1MwRkJTeXhWUVVGVkxHRkJRV0VzTUVKQlFUQkNMRzFDUVVGdFFpeEZRVUZGTEVWQlF6RklMRU5CUVVNc1owSkJRV2RDTEVWQlFVVXNNa0pCUVRKQ0xFTkJRVU1zUlVGREwwTXNaMEpCUVdkQ0xFVkJRMmhDTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkZSaXhOUVVGTkxGVkJRVlVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1dVRkJXU3hEUVVOMFJDeGxRVUZsTEVWQlEyWXNVMEZCVXl4RlFVTlVMRWRCUVVjc1QwRkJUeXhEUVVOWUxFTkJRVU03VVVGRFJpeGxRVUZsTEVOQlFVTXNUVUZCVFN4RFFVRkRMRlZCUVZVc1IwRkJSeXhWUVVGVkxFTkJRVU03VVVGRkwwTXNUVUZCVFN4SlFVRkpMRU5CUVVNc09FSkJRVGhDTEVOQlEzWkRMR1ZCUVdVc1EwRkJReXhaUVVGaExFVkJRemRDTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkZSaXhQUVVGUExHVkJRV1VzUTBGQlF6dEpRVU42UWl4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHOUNRVUZ2UWl4RFFVTjRRaXh0UWtGQmQwTXNSVUZEZUVNc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeHpRa0ZCYzBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGRFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkZha01zVFVGQlRTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMR2xDUVVGcFFpeERRVU40UXl4dFFrRkJiVUlzUlVGRGJrSXNVMEZCVXl4RlFVTlVMRWRCUVVjc1QwRkJUeXhEUVVOWUxFTkJRVU03VVVGRFJpeEpRVUZKTEcxQ1FVRnRRaXhEUVVGRExHZENRVUZuUWl4RlFVRkZMRU5CUVVNN1dVRkRla01zVFVGQlRTeEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zYzBKQlFYTkNMRU5CUTNaRUxHMUNRVUZ0UWl4RlFVTnVRaXhUUVVGVExFVkJRMVFzUjBGQlJ5eFBRVUZQTEVOQlExZ3NRMEZCUXp0WlFVTkdMRTFCUVUwc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRFpDUVVFMlFpeERRVU01UkN4dFFrRkJiVUlzUlVGRGJrSXNVMEZCVXl4RlFVTlVMRWRCUVVjc1QwRkJUeXhEUVVOWUxFTkJRVU03VVVGRFNpeERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNRMEZEZEVJc1UwRkJhVUlzUlVGRGFrSXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3h2UWtGQmIwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRjRVFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdVVUZETDBJc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEZkQlFWY3NRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU0zUkN4RFFVRkRPMGxCUlU4c1owSkJRV2RDTEVOQlFVTXNUVUZCTWtJN1VVRkRiRVFzVDBGQlR5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRPMWxCUTJ4Q0xFOUJRVThzUlVGQlJTeEhRVUZITEUxQlFVMHNRMEZCUXl4UlFVRlJMRTFCUVUwc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJUdFpRVU01UXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hqUVVGakxFVkJRVVVzYTBKQlFXdENMRVZCUVVVN1dVRkRMME1zWTBGQll5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1dVRkRNVUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRuUWtGRE1VSXNhMEpCUVd0Q0xFVkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlR0aFFVTjRReXhEUVVGRE8xTkJRMGdzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVlBMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRM2hDTEZOQlFXbENMRVZCUTJwQ0xFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVOQlEyeENMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVNNVF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRmVrSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVTndReXhQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVNM1FpeEpRVUZKTEVOQlFVTTdaMEpCUTBnc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZEZUVRc1QwRkJUenRaUVVOVUxFTkJRVU03V1VGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTFBc1RVRkJUU3hKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpORUxFTkJRVU03VVVGRFNDeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXdyUWtGQkswSXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOMFJTeERRVUZETzBsQlJVOHNTMEZCU3l4RFFVRkRMRGhDUVVFNFFpeERRVU14UXl4WlFVRXdRaXhGUVVNeFFpeEhRVUZITEVsQlFYbENPMUZCUlRWQ0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRPMUZCUlhaRUxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRiRVFzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNZMEZCWXl4RFFVTTFSQ3haUVVGWkxFVkJRMW9zUjBGQlJ5eEpRVUZKTEVOQlExSXNRMEZCUXp0UlFVTkdMRTFCUVUwc1lVRkJZU3hIUVVGSExFMUJRVTBzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXp0WlFVTjZReXhOUVVGTkxFVkJRVVVzUzBGQlN6dFpRVU5pTEVkQlFVY3NSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hwUWtGQmFVSXNXVUZCV1N4RFFVRkRMRXRCUVVzc1owSkJRV2RDTzFsQlEzSkhMRTlCUVU4c1JVRkJSVHRuUWtGRFVDeGhRVUZoTEVWQlFVVXNWVUZCVlN4blFrRkJaMElzUlVGQlJUdGhRVU0xUXp0WlFVTkVMR05CUVdNc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eEpRVUZKTzFOQlF6TkNMRU5CUVVNc1EwRkJRenRSUVVOSUxFMUJRVTBzV1VGQldTeEhRVU5vUWl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlZYQkNMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZET1VJc1RVRkJUU3hWUVVGVkxFZEJRVWNzV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NTMEZCU3l4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVONFJTeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExGVkJRVlVzUlVGQlJTeGxRVUZsTEVWQlFVVXNTVUZCU1N4RFFVTjZSQ3hEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1MwRkJTeXhqUVVGakxFTkJRek5ETEVOQlFVTTdVVUZEUml4SlFVRkpMRU5CUVVNc1ZVRkJWU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVc1EwRkJRenRaUVVOMFF5eE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMRzlEUVVGdlF5eERRVUZETEVOQlFVTTdVVUZEYUVVc1EwRkJRenRSUVVORUxHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVOd1JDeE5RVUZOTEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNN1dVRkRia0lzVFVGQlRTeEZRVUZGTEV0QlFVczdXVUZEWWl4SFFVRkhMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZGQlFWRXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzYVVKQlFXbENMRmxCUVZrc1EwRkJReXhMUVVGTExHdENRVUZyUWl4VlFVRlZMRU5CUVVNc1JVRkJSU3cwUWtGQk5FSXNhVUpCUVdsQ0xFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlEzUkxMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xbEJRM1pETEU5QlFVOHNSVUZCUlR0blFrRkRVQ3hoUVVGaExFVkJRVVVzVlVGQlZTeG5Ra0ZCWjBJc1JVRkJSVHRuUWtGRE0wTXNZMEZCWXl4RlFVRkZMR3RDUVVGclFqdGhRVU51UXp0WlFVTkVMR05CUVdNc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eEpRVUZKTzFOQlF6TkNMRU5CUVVNc1EwRkJRenRKUVVOTUxFTkJRVU03U1VGRlR5eHBRa0ZCYVVJc1EwRkJTU3hKUVVGaE8xRkJRM2hETEVsQlFVa3NUMEZCVHl4SlFVRkpMRXRCUVVzc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRE4wSXNTVUZCU1N4RFFVRkRPMmRDUVVOSUxFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVUwc1EwRkJRenRaUVVNdlFpeERRVUZETzFsQlFVTXNUVUZCVFN4RFFVRkRPMmRDUVVOUUxFOUJRVThzVTBGQlV5eERRVUZETzFsQlEyNUNMRU5CUVVNN1VVRkRTQ3hEUVVGRE8xRkJRMFFzVDBGQlR5eEpRVUZUTEVOQlFVTTdTVUZEYmtJc1EwRkJRenREUVVOR0xFTkJRVUU3UVVGb1lsa3NaVUZCWlR0SlFVUXpRaXhYUVVGWExFTkJRVU1zZVVaQlFYbEdMRU5CUVVNN08wZEJRekZHTEdWQlFXVXNRMEZuWWpOQ0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2daR1Z6WTNKcGNIUnBiMjRnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVOc2FXVnVkRUpoYzJWa1UyVnlkbWxqWlN4Y2JpQWdRMjl1ZEdWNGRIVmhiRUZ5WjNNc1hHNGdJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaeXhjYmlBZ2MyVnlkbWxqWlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWpiM0psWENJN1hHNXBiWEJ2Y25RZ2V5QkpiblJsY201aGJFVnljbTl5TENCT2IzUkdiM1Z1WkVWeWNtOXlJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXY3NJRXRsZVdOc2IyRnJWWE5sY2lCOUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElFRjRhVzl6TENCN0lFRjRhVzl6U1c1emRHRnVZMlVnZlNCbWNtOXRJRndpWVhocGIzTmNJanRjYm1sdGNHOXlkQ0FxSUdGeklHaDBkSEJ6SUdaeWIyMGdYQ0p1YjJSbE9taDBkSEJ6WENJN1hHNWNibWx0Y0c5eWRDQjdJRXRsZVdOc2IyRnJVbVZoYkcxVFpYSjJhV05sSUgwZ1puSnZiU0JjSWk0dlMyVjVZMnh2WVd0U1pXRnNiVk5sY25acFkyVmNJanRjYm1sdGNHOXlkQ0I3SUV0bGVXTnNiMkZyVlhObGNsTmxjblpwWTJVZ2ZTQm1jbTl0SUZ3aUxpOUxaWGxqYkc5aGExVnpaWEpUWlhKMmFXTmxYQ0k3WEc1cGJYQnZjblFnZXlCTFpYbGpiRzloYTFKdmJHVlRaWEoyYVdObElIMGdabkp2YlNCY0lpNHZTMlY1WTJ4dllXdFNiMnhsVTJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1MyVjVZMnh2WVd0RGJHbGxiblJUWlhKMmFXTmxJSDBnWm5KdmJTQmNJaTR2UzJWNVkyeHZZV3REYkdsbGJuUlRaWEoyYVdObFhDSTdYRzVwYlhCdmNuUWdleUJMWlhsamJHOWhhMGxrWlc1MGFYUjVVSEp2ZG1sa1pYSlRaWEoyYVdObElIMGdabkp2YlNCY0lpNHZTMlY1WTJ4dllXdEpaR1Z1ZEdsMGVWQnliM1pwWkdWeVUyVnlkbWxqWlZ3aU8xeHVhVzF3YjNKMElIc2dTMlY1WTJ4dllXdEJkWFJvVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0l1TDB0bGVXTnNiMkZyUVhWMGFGTmxjblpwWTJWY0lqdGNibHh1ZEhsd1pTQkxaWGxqYkc5aGExSjFiblJwYldWVFpYUjFjRU52Ym1acFp5QTlJRXRsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2NnSmlCN1hHNGdJR2x6VUhKdlpIVmpkR2x2YmlncE9pQmliMjlzWldGdU8xeHVmVHRjYmx4dVFHUmxjMk55YVhCMGFXOXVLRndpVDNKamFHVnpkSEpoZEdWeklFdGxlV05zYjJGcklISmxZV3h0TDNWelpYSXZZMnhwWlc1MElIQnliM1pwYzJsdmJtbHVaeUJoWTNKdmMzTWdkR2hsSUdsdWJtVnlJRXRsZVdOc2IyRnJJSE5sY25acFkyVnpYQ0lwWEc1bGVIQnZjblFnWTJ4aGMzTWdTMlY1WTJ4dllXdFRaWEoyYVdObElHVjRkR1Z1WkhNZ1EyeHBaVzUwUW1GelpXUlRaWEoyYVdObFBGeHVJQ0JCZUdsdmMwbHVjM1JoYm1ObExGeHVJQ0JMWlhsamJHOWhhMU5sZEhWd1EyOXVabWxuWEc0K0lIdGNiaUFnY0hKdmRHVmpkR1ZrSUhKbFlXeHRVMlZ5ZG1salpTRTZJRXRsZVdOc2IyRnJVbVZoYkcxVFpYSjJhV05sTzF4dVhHNGdJSEJ5YjNSbFkzUmxaQ0IxYzJWeVUyVnlkbWxqWlNFNklFdGxlV05zYjJGclZYTmxjbE5sY25acFkyVTdYRzVjYmlBZ2NISnZkR1ZqZEdWa0lISnZiR1ZUWlhKMmFXTmxJVG9nUzJWNVkyeHZZV3RTYjJ4bFUyVnlkbWxqWlR0Y2JseHVJQ0J3Y205MFpXTjBaV1FnWTJ4cFpXNTBVMlZ5ZG1salpTRTZJRXRsZVdOc2IyRnJRMnhwWlc1MFUyVnlkbWxqWlR0Y2JseHVJQ0J3Y205MFpXTjBaV1FnYVdSbGJuUnBkSGxRY205MmFXUmxjbE5sY25acFkyVWhPaUJMWlhsamJHOWhhMGxrWlc1MGFYUjVVSEp2ZG1sa1pYSlRaWEoyYVdObE8xeHVYRzRnSUhCeWIzUmxZM1JsWkNCaGRYUm9VMlZ5ZG1salpTRTZJRXRsZVdOc2IyRnJRWFYwYUZObGNuWnBZMlU3WEc1Y2JpQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmlBZ2ZWeHVYRzRnSUhCeWIzUmxZM1JsWkNCcGMxQnliMlIxWTNScGIyNG9LVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdjbVYwZFhKdUlDRmJYQ0prWlhabGJHOXdiV1Z1ZEZ3aUxDQmNJbXh2WTJGc1hDSmRMbWx1WTJ4MVpHVnpLRnh1SUNBZ0lDQWdjSEp2WTJWemN5NWxiblpiWENKT1QwUkZYMFZPVmx3aVhTQS9QeUJjSWx3aVhHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdsdWFYUnBZV3hwZW1Vb1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4N0lHTnZibVpwWnpvZ1MyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp6c2dZMnhwWlc1ME9pQkJlR2x2YzBsdWMzUmhibU5sSUgwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlp5d2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pwYm1sMGFXRnNhWHBsWENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTVwYm1sMGFXRnNhWHBsS1R0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQmpkSGhCY21keld6QmRJR0Z6SUV0bGVXTnNiMkZyVTJWMGRYQkRiMjVtYVdjN1hHNGdJQ0FnWTI5dWMzUWdjblZ1ZEdsdFpVTnZibVpwWnpvZ1MyVjVZMnh2WVd0U2RXNTBhVzFsVTJWMGRYQkRiMjVtYVdjZ1BTQjdYRzRnSUNBZ0lDQXVMaTVqYjI1bWFXY3NYRzRnSUNBZ0lDQnBjMUJ5YjJSMVkzUnBiMjQ2SUhSb2FYTXVhWE5RY205a2RXTjBhVzl1TG1KcGJtUW9kR2hwY3lrc1hHNGdJQ0FnZlR0Y2JpQWdJQ0IwYUdsekxsOWpiMjVtYVdjZ1BTQnlkVzUwYVcxbFEyOXVabWxuTzF4dVhHNGdJQ0FnYkc5bkxtUmxZblZuS0dCQ2FXNWthVzVuSUdsdWJtVnlJSE5sY25acFkyVnpMaTR1WUNrN1hHNGdJQ0FnYzJWeWRtbGpaU2dwS0V0bGVXTnNiMkZyVW1WaGJHMVRaWEoyYVdObEtUdGNiaUFnSUNCelpYSjJhV05sS0Nrb1MyVjVZMnh2WVd0VmMyVnlVMlZ5ZG1salpTazdYRzRnSUNBZ2MyVnlkbWxqWlNncEtFdGxlV05zYjJGclVtOXNaVk5sY25acFkyVXBPMXh1SUNBZ0lITmxjblpwWTJVb0tTaExaWGxqYkc5aGEwTnNhV1Z1ZEZObGNuWnBZMlVwTzF4dUlDQWdJSE5sY25acFkyVW9LU2hMWlhsamJHOWhhMGxrWlc1MGFYUjVVSEp2ZG1sa1pYSlRaWEoyYVdObEtUdGNiaUFnSUNCelpYSjJhV05sS0Nrb1MyVjVZMnh2WVd0QmRYUm9VMlZ5ZG1salpTazdYRzVjYmlBZ0lDQnNiMmN1WkdWaWRXY29ZRWx1YVhScFlXeHBlbWx1WnlCcGJtNWxjaUJ6WlhKMmFXTmxjeTR1TG1BcE8xeHVJQ0FnSUhSb2FYTXVjbVZoYkcxVFpYSjJhV05sSUQwZ2JtVjNJRXRsZVdOc2IyRnJVbVZoYkcxVFpYSjJhV05sS0NrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1eVpXRnNiVk5sY25acFkyVXVhVzVwZEdsaGJHbDZaU2h5ZFc1MGFXMWxRMjl1Wm1sbkxDQXVMaTVqZEhoQmNtZHpLVHRjYmlBZ0lDQjBhR2x6TG5WelpYSlRaWEoyYVdObElEMGdibVYzSUV0bGVXTnNiMkZyVlhObGNsTmxjblpwWTJVb0tUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxuVnpaWEpUWlhKMmFXTmxMbWx1YVhScFlXeHBlbVVvY25WdWRHbHRaVU52Ym1acFp5d2dMaTR1WTNSNFFYSm5jeWs3WEc0Z0lDQWdkR2hwY3k1eWIyeGxVMlZ5ZG1salpTQTlJRzVsZHlCTFpYbGpiRzloYTFKdmJHVlRaWEoyYVdObEtDazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsVTJWeWRtbGpaUzVwYm1sMGFXRnNhWHBsS0hKMWJuUnBiV1ZEYjI1bWFXY3NJQzR1TG1OMGVFRnlaM01wTzF4dUlDQWdJSFJvYVhNdVkyeHBaVzUwVTJWeWRtbGpaU0E5SUc1bGR5QkxaWGxqYkc5aGEwTnNhV1Z1ZEZObGNuWnBZMlVvS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1Oc2FXVnVkRk5sY25acFkyVXVhVzVwZEdsaGJHbDZaU2h5ZFc1MGFXMWxRMjl1Wm1sbkxDQXVMaTVqZEhoQmNtZHpLVHRjYmlBZ0lDQjBhR2x6TG1sa1pXNTBhWFI1VUhKdmRtbGtaWEpUWlhKMmFXTmxJRDBnYm1WM0lFdGxlV05zYjJGclNXUmxiblJwZEhsUWNtOTJhV1JsY2xObGNuWnBZMlVvS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1sa1pXNTBhWFI1VUhKdmRtbGtaWEpUWlhKMmFXTmxMbWx1YVhScFlXeHBlbVVvY25WdWRHbHRaVU52Ym1acFp5d2dMaTR1WTNSNFFYSm5jeWs3WEc0Z0lDQWdkR2hwY3k1aGRYUm9VMlZ5ZG1salpTQTlJRzVsZHlCTFpYbGpiRzloYTBGMWRHaFRaWEoyYVdObEtDazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NWhkWFJvVTJWeWRtbGpaUzVwYm1sMGFXRnNhWHBsS0hKMWJuUnBiV1ZEYjI1bWFXY3NJQzR1TG1OMGVFRnlaM01wTzF4dVhHNGdJQ0FnWTI5dWMzUWdZMnhwWlc1MElEMGdkR2hwY3k1amNtVmhkR1ZJZEhSd1EyeHBaVzUwS0hKMWJuUnBiV1ZEYjI1bWFXY3BPMXh1SUNBZ0lIUm9hWE11WDJOc2FXVnVkQ0E5SUdOc2FXVnVkRHRjYmlBZ0lDQnNiMmN1WkdWaWRXY29YRzRnSUNBZ0lDQmdTMlY1WTJ4dllXc2dVMlZ5ZG1salpTQnBibWwwYVdGc2FYcGxaQ0IzYVhSb0lHTnZibVpwWnpvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNoamIyNW1hV2NwZldCY2JpQWdJQ0FwTzF4dUlDQWdJSEpsZEhWeWJpQjdJR052Ym1acFp5d2dZMnhwWlc1MElIMDdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QnpaWFIxY0V0bGVXTnNiMkZyS0Z4dUlDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2M2SUV0bGVXTnNiMkZyVTJWMGRYQkRiMjVtYVdjc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4TFpYbGpiRzloYTFObGRIVndRMjl1Wm1sblBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCamRIaEJjbWR6SUgwZ1BTQW9YRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0luTmxkSFZ3UzJWNVkyeHZZV3RjSWl3Z2RISjFaU2xjYmlBZ0lDQXBMbVp2Y2loMGFHbHpMbk5sZEhWd1MyVjVZMnh2WVdzcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWVdSdGFXNUJjR2xWYzJWeVZWVkpSQ0E5SUdGM1lXbDBJSFJvYVhNdWRYTmxjbE5sY25acFkyVXVZV1JrVlhObGNsUnZVbVZoYkcwb1hHNGdJQ0FnSUNCclpYbGpiRzloYTFObGRIVndRMjl1Wm1sbkxtRmtiV2x1UVhCcFZYTmxjaUVzWEc0Z0lDQWdJQ0I3ZlN4Y2JpQWdJQ0FnSUM0dUxtTjBlRUZ5WjNOY2JpQWdJQ0FwTzF4dUlDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUlTNTFjMlZ5Ym1GdFpWVlZTVVFnUFNCaFpHMXBia0Z3YVZWelpYSlZWVWxFTzF4dUlDQWdJR0YzWVdsMElIUm9hWE11Y205c1pWTmxjblpwWTJVdVozSmhiblJTWldGc2JWSnZiR1Z6Vkc5VmMyVnlLRnh1SUNBZ0lDQWdhMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeTVoWkcxcGJrRndhVlZ6WlhJaExuSmxZV3h0TEZ4dUlDQWdJQ0FnWVdSdGFXNUJjR2xWYzJWeVZWVkpSQ3hjYmlBZ0lDQWdJRnRjSW1Ga2JXbHVYQ0pkTEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXYzdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QmhaR1JTWldGc2JTaGNiaUFnSUNCeVpXRnNiVTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0J3WVhsc2IyRmtPaUJoYm5rc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkSGhCY21keklIMGdQU0FvWEc0Z0lDQWdJQ0JoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbUZrWkZKbFlXeHRYQ0lzSUhSeWRXVXBYRzRnSUNBZ0tTNW1iM0lvZEdocGN5NWhaR1JTWldGc2JTazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXlaV0ZzYlZObGNuWnBZMlV1WVdSa1VtVmhiRzBvY21WaGJHMU9ZVzFsTENCd1lYbHNiMkZrTENBdUxpNWpkSGhCY21kektUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHVmthWFJTWldGc2JTaGNiaUFnSUNCeVpXRnNiVTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0J3WVhsc2IyRmtPaUJoYm5rc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkSGhCY21keklIMGdQU0FvWEc0Z0lDQWdJQ0JoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbVZrYVhSU1pXRnNiVndpTENCMGNuVmxLVnh1SUNBZ0lDa3VabTl5S0hSb2FYTXVaV1JwZEZKbFlXeHRLVHRjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbkpsWVd4dFUyVnlkbWxqWlM1bFpHbDBVbVZoYkcwb2NtVmhiRzFPWVcxbExDQndZWGxzYjJGa0xDQXVMaTVqZEhoQmNtZHpLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJSEpsYlc5MlpWSmxZV3h0S0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTNSNFFYSm5jeUI5SUQwZ0tGeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKeVpXMXZkbVZTWldGc2JWd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWNtVnRiM1psVW1WaGJHMHBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVjbVZoYkcxVFpYSjJhV05sTG5KbGJXOTJaVkpsWVd4dEtISmxZV3h0VG1GdFpTd2dMaTR1WTNSNFFYSm5jeWs3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJoWkdSVmMyVnlWRzlTWldGc2JTaGNiaUFnSUNCclpYbGpiRzloYTFWelpYSTZJRXRsZVdOc2IyRnJWWE5sY2l4Y2JpQWdJQ0J3WVhsc2IyRmtPaUJoYm5rc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4emRISnBibWMrSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWVdSa1ZYTmxjbFJ2VW1WaGJHMWNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtRmtaRlZ6WlhKVWIxSmxZV3h0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWMyVnlVMlZ5ZG1salpTNWhaR1JWYzJWeVZHOVNaV0ZzYlNoclpYbGpiRzloYTFWelpYSXNJSEJoZVd4dllXUXNJQzR1TG1OMGVFRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWldScGRGVnpaWElvWEc0Z0lDQWdjbVZoYkcxT1lXMWxPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2RYTmxjbFZWU1VRNklITjBjbWx1Wnl4Y2JpQWdJQ0J3WVhsc2IyRmtPaUJoYm5rc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkSGhCY21keklIMGdQU0FvWEc0Z0lDQWdJQ0JoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbVZrYVhSVmMyVnlYQ0lzSUhSeWRXVXBYRzRnSUNBZ0tTNW1iM0lvZEdocGN5NWxaR2wwVlhObGNpazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NTFjMlZ5VTJWeWRtbGpaUzVsWkdsMFZYTmxjaWh5WldGc2JVNWhiV1VzSUhWelpYSlZWVWxFTENCd1lYbHNiMkZrTENBdUxpNWpkSGhCY21kektUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklISmxiVzkyWlZWelpYSkdjbTl0VW1WaGJHMG9YRzRnSUNBZ2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnZFhObGNsVlZTVVE2SUhOMGNtbHVaeXhjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWNtVnRiM1psVlhObGNrWnliMjFTWldGc2JWd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWNtVnRiM1psVlhObGNrWnliMjFTWldGc2JTazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NTFjMlZ5VTJWeWRtbGpaUzV5WlcxdmRtVlZjMlZ5Um5KdmJWSmxZV3h0S0hKbFlXeHRUbUZ0WlN3Z2RYTmxjbFZWU1VRc0lDNHVMbU4wZUVGeVozTXBPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdZV1JrVW1WaGJHMVNiMnhsYzFSdlZYTmxjaWhjYmlBZ0lDQnlaV0ZzYlU1aGJXVTZJSE4wY21sdVp5eGNiaUFnSUNCMWMyVnlWVlZKUkRvZ2MzUnlhVzVuTEZ4dUlDQWdJSEp2YkdWT1lXMWxjem9nYzNSeWFXNW5XMTBzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCamRIaEJjbWR6SUgwZ1BTQW9YRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltRmtaRkpsWVd4dFVtOXNaWE5VYjFWelpYSmNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtRmtaRkpsWVd4dFVtOXNaWE5VYjFWelpYSXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVjbTlzWlZObGNuWnBZMlV1WjNKaGJuUlNaV0ZzYlZKdmJHVnpWRzlWYzJWeUtGeHVJQ0FnSUNBZ2NtVmhiRzFPWVcxbExGeHVJQ0FnSUNBZ2RYTmxjbFZWU1VRc1hHNGdJQ0FnSUNCeWIyeGxUbUZ0WlhNc1hHNGdJQ0FnSUNBdUxpNWpkSGhCY21kelhHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdWeklHRWdjbVZoYkcwdGJHVjJaV3dnY205c1pTd2diM0IwYVc5dVlXeHNlU0JoY3lCaElHTnZiWEJ2YzJsMFpTQnZaaUJsZUdsemRHbHVaeUJ5YjJ4bGN5NWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklHTnlaV0YwWlZKbFlXeHRVbTlzWlNoY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQnliMnhsVG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdOdmJYQnZjMmwwWlZKdmJHVnpPaUJ6ZEhKcGJtZGJYU0I4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lZM0psWVhSbFVtVmhiRzFTYjJ4bFhDSXNJSFJ5ZFdVcFhHNGdJQ0FnS1M1bWIzSW9kR2hwY3k1amNtVmhkR1ZTWldGc2JWSnZiR1VwTzF4dUlDQWdJR0YzWVdsMElIUm9hWE11Y205c1pWTmxjblpwWTJVdVkzSmxZWFJsVW1WaGJHMVNiMnhsS0Z4dUlDQWdJQ0FnY21WaGJHMU9ZVzFsTEZ4dUlDQWdJQ0FnY205c1pVNWhiV1VzWEc0Z0lDQWdJQ0JqYjIxd2IzTnBkR1ZTYjJ4bGN5eGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZU0JqYkdsbGJuUWdhVzRnZEdobElHTnZibVpwWjNWeVpXUWdjbVZoYkcwZ1lXNWtJSEpsZEhWeWJuTWdhWFJ6SUZWVlNVUXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QmpjbVZoZEdWRGJHbGxiblFvWEc0Z0lDQWdZMjl1Wm1sbk9pQkxaWGxqYkc5aGExTmxkSFZ3UTI5dVptbG5MRnh1SUNBZ0lHOTJaWEp5YVdSbGN6b2dVR0Z5ZEdsaGJEeHBiWEJ2Y25Rb1hDSXVMaTkwZVhCbGMxd2lLUzVMWlhsamJHOWhhME5zYVdWdWRFTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeHpkSEpwYm1jK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aVkzSmxZWFJsUTJ4cFpXNTBYQ0lzSUhSeWRXVXBYRzRnSUNBZ0tTNW1iM0lvZEdocGN5NWpjbVZoZEdWRGJHbGxiblFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2FXVnVkRk5sY25acFkyVXVZM0psWVhSbFEyeHBaVzUwS0dOdmJtWnBaeXdnYjNabGNuSnBaR1Z6TENBdUxpNWpkSGhCY21kektUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHRmtaRU5zYVdWdWRGSnZiR1Z6Vkc5VmMyVnlLRnh1SUNBZ0lISmxZV3h0VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUdOc2FXVnVkRlZWU1VRNklITjBjbWx1Wnl4Y2JpQWdJQ0IxYzJWeVZWVkpSRG9nYzNSeWFXNW5MRnh1SUNBZ0lISnZiR1ZPWVcxbGN6b2djM1J5YVc1blcxMHNYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJqZEhoQmNtZHpJSDBnUFNBb1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW1Ga1pFTnNhV1Z1ZEZKdmJHVnpWRzlWYzJWeVhDSXNJSFJ5ZFdVcFhHNGdJQ0FnS1M1bWIzSW9kR2hwY3k1aFpHUkRiR2xsYm5SU2IyeGxjMVJ2VlhObGNpazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsVTJWeWRtbGpaUzVuY21GdWRFTnNhV1Z1ZEZKdmJHVnpWRzlWYzJWeUtGeHVJQ0FnSUNBZ2NtVmhiRzFPWVcxbExGeHVJQ0FnSUNBZ1kyeHBaVzUwVlZWSlJDeGNiaUFnSUNBZ0lIVnpaWEpWVlVsRUxGeHVJQ0FnSUNBZ2NtOXNaVTVoYldWekxGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCa1pXeGxkR1ZCWkcxcGJrRndhVlZ6WlhJb1hHNGdJQ0FnYTJWNVkyeHZZV3RUWlhSMWNFTnZibVpwWnpvZ1MyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp5eGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWkdWc1pYUmxRV1J0YVc1QmNHbFZjMlZ5WENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTVrWld4bGRHVkJaRzFwYmtGd2FWVnpaWElwTzF4dUlDQWdJR052Ym5OMElISnZiM1JCWTJObGMzTlViMnRsYmlBOUlHRjNZV2wwSUhSb2FYTXVZWFYwYUZObGNuWnBZMlV1WjJWMFFXTmpaWE56Vkc5clpXNG9YRzRnSUNBZ0lDQnJaWGxqYkc5aGExTmxkSFZ3UTI5dVptbG5Mbkp2YjNSQmNHbFZjMlZ5SVN4Y2JpQWdJQ0FnSUM0dUxtTjBlRUZ5WjNOY2JpQWdJQ0FwTzF4dUlDQWdJR0YzWVdsMElIUm9hWE11ZFhObGNsTmxjblpwWTJVdVpHVnNaWFJsVlhObGNpaGNiaUFnSUNBZ0lISnZiM1JCWTJObGMzTlViMnRsYml4Y2JpQWdJQ0FnSUd0bGVXTnNiMkZyVTJWMGRYQkRiMjVtYVdjdVlXUnRhVzVCY0dsVmMyVnlJU3hjYmlBZ0lDQWdJQzR1TG1OMGVFRnlaM05jYmlBZ0lDQXBPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdjMlYwZFhCUGNtZGhibWw2WVhScGIyNG9YRzRnSUNBZ1kyOXVabWxuUHpvZ1MyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp5eGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBFdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXYytJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2ljMlYwZFhCUGNtZGhibWw2WVhScGIyNWNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxuTmxkSFZ3VDNKbllXNXBlbUYwYVc5dUtUdGNiaUFnSUNCamIyNXpkQ0JsWm1abFkzUnBkbVZEYjI1bWFXY2dQU0JqYjI1bWFXY2dQejhnZEdocGN5NWpiMjVtYVdjN1hHNWNiaUFnSUNCamIyNXpkQ0JoWkcxcGJrRmpZMlZ6YzFSdmEyVnVJRDBnWVhkaGFYUWdkR2hwY3k1aGRYUm9VMlZ5ZG1salpTNW5aWFJCWTJObGMzTlViMnRsYmloY2JpQWdJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeTVoWkcxcGJrRndhVlZ6WlhJaExGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCaGQyRnBkQ0IwYUdsekxuSmxZV3h0VTJWeWRtbGpaUzVqY21WaGRHVlNaV0ZzYlNoY2JpQWdJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeTV5WldGc2JVRndhVlZ6WlhJaExuSmxZV3h0TEZ4dUlDQWdJQ0FnWldabVpXTjBhWFpsUTI5dVptbG5MbkpsWVd4dFEyOXVabWxuSUQ4L0lIdDlMRnh1SUNBZ0lDQWdMaTR1WTNSNFFYSm5jMXh1SUNBZ0lDazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NTNZV2wwUm05eVVtVmhiRzBvWldabVpXTjBhWFpsUTI5dVptbG5MbkpsWVd4dFFYQnBWWE5sY2lFdWNtVmhiRzBzSUM0dUxtTjBlRUZ5WjNNcE8xeHVYRzRnSUNBZ1kyOXVjM1FnY21WaGJHMVZjMlZ5VlZWSlJDQTlJR0YzWVdsMElIUm9hWE11ZFhObGNsTmxjblpwWTJVdVkzSmxZWFJsVW1WaGJHMVZjMlZ5S0Z4dUlDQWdJQ0FnWldabVpXTjBhWFpsUTI5dVptbG5MbkpsWVd4dFFYQnBWWE5sY2lFc1hHNGdJQ0FnSUNCN2ZTeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeTV5WldGc2JVRndhVlZ6WlhJaExuVnpaWEp1WVcxbFZWVkpSQ0E5SUhKbFlXeHRWWE5sY2xWVlNVUTdYRzVjYmlBZ0lDQmpiMjV6ZENCeVpXRnNiVTFoYm1GblpXMWxiblJWVlVsRUlEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUlRaWEoyYVdObExtZGxkRU5zYVdWdWRGVlZTVVFvWEc0Z0lDQWdJQ0JoWkcxcGJrRmpZMlZ6YzFSdmEyVnVMRnh1SUNBZ0lDQWdaV1ptWldOMGFYWmxRMjl1Wm1sbkxuSmxZV3h0UVhCcFZYTmxjaUV1Y21WaGJHMHNYRzRnSUNBZ0lDQmNJbkpsWVd4dExXMWhibUZuWlcxbGJuUmNJaXhjYmlBZ0lDQWdJQzR1TG1OMGVFRnlaM05jYmlBZ0lDQXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVjbTlzWlZObGNuWnBZMlV1WVhOemFXZHVVbTlzWlhOVWIxVnpaWElvWEc0Z0lDQWdJQ0JnTDJGa2JXbHVMM0psWVd4dGN5OGtlMlZtWm1WamRHbDJaVU52Ym1acFp5NXlaV0ZzYlVGd2FWVnpaWEloTG5KbFlXeHRmUzlqYkdsbGJuUnpMeVI3Y21WaGJHMU5ZVzVoWjJWdFpXNTBWVlZKUkgwdmNtOXNaWE5nTEZ4dUlDQWdJQ0FnWUM5aFpHMXBiaTl5WldGc2JYTXZKSHRsWm1abFkzUnBkbVZEYjI1bWFXY3VjbVZoYkcxQmNHbFZjMlZ5SVM1eVpXRnNiWDB2ZFhObGNuTXZKSHR5WldGc2JWVnpaWEpWVlVsRWZTOXliMnhsTFcxaGNIQnBibWR6TDJOc2FXVnVkSE12Skh0eVpXRnNiVTFoYm1GblpXMWxiblJWVlVsRWZXQXNYRzRnSUNBZ0lDQmJYQ0p0WVc1aFoyVXRZMnhwWlc1MGMxd2lMQ0JjSW0xaGJtRm5aUzFwWkdWdWRHbDBlUzF3Y205MmFXUmxjbk5jSWwwc1hHNGdJQ0FnSUNCaFpHMXBia0ZqWTJWemMxUnZhMlZ1TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5SVlZVbEVJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblJUWlhKMmFXTmxMbU55WldGMFpVTnNhV1Z1ZENoY2JpQWdJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeXhjYmlBZ0lDQWdJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQzR1TG1OMGVFRnlaM05jYmlBZ0lDQXBPMXh1SUNBZ0lHVm1abVZqZEdsMlpVTnZibVpwWnk1amJHbGxiblF1WTJ4cFpXNTBWVlZKUkNBOUlHTnNhV1Z1ZEZWVlNVUTdYRzVjYmlBZ0lDQmhkMkZwZENCMGFHbHpMblZ3WkdGMFpVTnNhV1Z1ZEZOamIzQmxjMUp2YkdWelRXRndjR1Z5Y3loY2JpQWdJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeTV5WldGc2JVRndhVlZ6WlhJaExGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnWldabVpXTjBhWFpsUTI5dVptbG5PMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdjMlYwZFhCUGNtZGhibWw2WVhScGIyNVRVMDhvWEc0Z0lDQWdhMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaem9nUzJWNVkyeHZZV3RUWlhSMWNFTnZibVpwWnl4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2ljMlYwZFhCUGNtZGhibWw2WVhScGIyNVRVMDljSWl3Z2RISjFaU2xjYmlBZ0lDQXBMbVp2Y2loMGFHbHpMbk5sZEhWd1QzSm5ZVzVwZW1GMGFXOXVVMU5QS1R0Y2JseHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVkyeHBaVzUwVTJWeWRtbGpaUzVqY21WaGRHVkRiR2xsYm5SU2IyeGxjeWhjYmlBZ0lDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2NzWEc0Z0lDQWdJQ0IxYm1SbFptbHVaV1FzWEc0Z0lDQWdJQ0F1TGk1amRIaEJjbWR6WEc0Z0lDQWdLVHRjYmlBZ0lDQnBaaUFvYTJWNVkyeHZZV3RUWlhSMWNFTnZibVpwWnk1cFpHVnVkR2wwZVZCeWIzWnBaR1Z5S1NCN1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxtbGtaVzUwYVhSNVVISnZkbWxrWlhKVFpYSjJhV05sTG1OeVpXRjBaVWxrWlc1MGFYUjVVSEp2ZG1sa1pYSW9YRzRnSUNBZ0lDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXVhV1JsYm5ScGRIbFFjbTkyYVdSbGNsTmxjblpwWTJVdVkzSmxZWFJsU1dSbGJuUnBkSGxRY205MmFXUmxjazFoY0hCbGNuTW9YRzRnSUNBZ0lDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmhjM2x1WXlCa1pXeGxkR1ZQY21kaGJtbDZZWFJwYjI0b1hHNGdJQ0FnY21WaGJHMU9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCamRIaEJjbWR6SUgwZ1BTQW9YRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltUmxiR1YwWlU5eVoyRnVhWHBoZEdsdmJsd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdVpHVnNaWFJsVDNKbllXNXBlbUYwYVc5dUtUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxuSmxZV3h0VTJWeWRtbGpaUzV5WlcxdmRtVlNaV0ZzYlNoeVpXRnNiVTVoYldVc0lDNHVMbU4wZUVGeVozTXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JqY21WaGRHVklkSFJ3UTJ4cFpXNTBLR052Ym1acFp6b2dTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeWs2SUVGNGFXOXpTVzV6ZEdGdVkyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCQmVHbHZjeTVqY21WaGRHVW9lMXh1SUNBZ0lDQWdZbUZ6WlZWU1REb2dZQ1I3WTI5dVptbG5MbkJ5YjNSdlkyOXNmVG92THlSN1kyOXVabWxuTG1odmMzUjlZQ3hjYmlBZ0lDQWdJR2hsWVdSbGNuTTZJSHNnWENKRGIyNTBaVzUwTFZSNWNHVmNJam9nWENKaGNIQnNhV05oZEdsdmJpOXFjMjl1WENJZ2ZTeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFUzUmhkSFZ6T2lBb0tTQTlQaUIwY25WbExGeHVJQ0FnSUNBZ2FIUjBjSE5CWjJWdWREb2dibVYzSUdoMGRIQnpMa0ZuWlc1MEtIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMFZXNWhkWFJvYjNKcGVtVmtPaUIwYUdsekxtbHpVSEp2WkhWamRHbHZiaWdwTEZ4dUlDQWdJQ0FnZlNrc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUhkaGFYUkdiM0pTWldGc2JTaGNiaUFnSUNCeVpXRnNiVTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lkMkZwZEVadmNsSmxZV3h0WENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTUzWVdsMFJtOXlVbVZoYkcwcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWkdWaFpHeHBibVVnUFNCRVlYUmxMbTV2ZHlncElDc2dNVFV3TURBN1hHNGdJQ0FnZDJocGJHVWdLRVJoZEdVdWJtOTNLQ2tnUENCa1pXRmtiR2x1WlNrZ2UxeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1eVpXRnNiVk5sY25acFkyVXVaMlYwVW1WaGJHMG9jbVZoYkcxT1lXMWxMQ0F1TGk1amRIaEJjbWR6S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlNCallYUmphQ0I3WEc0Z0lDQWdJQ0FnSUdGM1lXbDBJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsS1NBOVBpQnpaWFJVYVcxbGIzVjBLSEpsYzI5c2RtVXNJRFV3TUNrcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGdWR2x0WldRZ2IzVjBJSGRoYVhScGJtY2dabTl5SUhKbFlXeHRJQ1I3Y21WaGJHMU9ZVzFsZldBcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCMWNHUmhkR1ZEYkdsbGJuUlRZMjl3WlhOU2IyeGxjMDFoY0hCbGNuTW9YRzRnSUNBZ2EyVjVZMnh2WVd0VmMyVnlPaUJMWlhsamJHOWhhMVZ6WlhJc1hHNGdJQ0FnTGk0dVlYSm5jem9nUTI5dWRHVjRkSFZoYkVGeVozTThZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCMGFHbHpMblZ3WkdGMFpVTnNhV1Z1ZEZOamIzQmxjMUp2YkdWelRXRndjR1Z5Y3lrN1hHNWNiaUFnSUNCamIyNXpkQ0JqYkdsbGJuUWdQU0IwYUdsekxtTnlaV0YwWlVoMGRIQkRiR2xsYm5Rb2RHaHBjeTVqYjI1bWFXY3BPMXh1SUNBZ0lHTnZibk4wSUhKbFlXeHRRV05qWlhOelZHOXJaVzRnUFNCaGQyRnBkQ0IwYUdsekxtRjFkR2hUWlhKMmFXTmxMbWRsZEVGalkyVnpjMVJ2YTJWdUtGeHVJQ0FnSUNBZ2EyVjVZMnh2WVd0VmMyVnlMRnh1SUNBZ0lDQWdMaTR1WVhKbmMxeHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdjbTlzWlhOU1pYTndiMjV6WlNBOUlHRjNZV2wwSUdOc2FXVnVkQzV5WlhGMVpYTjBLSHRjYmlBZ0lDQWdJRzFsZEdodlpEb2dYQ0pIUlZSY0lpeGNiaUFnSUNBZ0lIVnliRG9nWUNSN2RHaHBjeTVqYjI1bWFXY3VjSEp2ZEc5amIyeDlPaTh2Skh0MGFHbHpMbU52Ym1acFp5NW9iM04wZlM5aFpHMXBiaTl5WldGc2JYTXZKSHRyWlhsamJHOWhhMVZ6WlhJdWNtVmhiRzE5TDJOc2FXVnVkQzF6WTI5d1pYTmdMRnh1SUNBZ0lDQWdhR1ZoWkdWeWN6b2dlMXh1SUNBZ0lDQWdJQ0JCZFhSb2IzSnBlbUYwYVc5dU9pQmdRbVZoY21WeUlDUjdjbVZoYkcxQlkyTmxjM05VYjJ0bGJuMWdMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSFpoYkdsa1lYUmxVM1JoZEhWek9pQW9LU0E5UGlCMGNuVmxMRnh1SUNBZ0lIMHBPMXh1SUNBZ0lHTnZibk4wSUdOc2FXVnVkRk5qYjNCbGN5QTlYRzRnSUNBZ0lDQjBhR2x6TG5CaGNuTmxTbk52YmxKbGMzQnZibk5sUEZ4dUlDQWdJQ0FnSUNCQmNuSmhlVHg3WEc0Z0lDQWdJQ0FnSUNBZ2FXUTZJSE4wY21sdVp6dGNiaUFnSUNBZ0lDQWdJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdjSEp2ZEc5amIyeE5ZWEJ3WlhKelB6b2dRWEp5WVhrOGUxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdRNklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym1acFp6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGp0Y2JpQWdJQ0FnSUNBZ0lDQjlQanRjYmlBZ0lDQWdJQ0FnZlQ1Y2JpQWdJQ0FnSUQ0b2NtOXNaWE5TWlhOd2IyNXpaUzVrWVhSaEtTQS9QeUJiWFR0Y2JpQWdJQ0JqYjI1emRDQnliMnhsYzFOamIzQmxJRDBnWTJ4cFpXNTBVMk52Y0dWekxtWnBibVFvS0hOamIzQmxLU0E5UGlCelkyOXdaUzV1WVcxbElEMDlQU0JjSW5KdmJHVnpYQ0lwTzF4dUlDQWdJR052Ym5OMElHTnNhV1Z1ZEZKdmJHVnpUV0Z3Y0dWeUlEMGdjbTlzWlhOVFkyOXdaVDh1Y0hKdmRHOWpiMnhOWVhCd1pYSnpQeTVtYVc1a0tGeHVJQ0FnSUNBZ0tHMWhjSEJsY2lrZ1BUNGdiV0Z3Y0dWeUxtNWhiV1VnUFQwOUlGd2lZMnhwWlc1MElISnZiR1Z6WENKY2JpQWdJQ0FwTzF4dUlDQWdJR2xtSUNnaGNtOXNaWE5UWTI5d1pTQjhmQ0FoWTJ4cFpXNTBVbTlzWlhOTllYQndaWElwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCT2IzUkdiM1Z1WkVWeWNtOXlLRndpVlc1aFlteGxJSFJ2SUdacGJtUWdZMnhwWlc1MElISnZiR1Z6SUcxaGNIQmxjbHdpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMnhwWlc1MFVtOXNaWE5OWVhCd1pYSXVZMjl1Wm1sblcxd2lhV1F1ZEc5clpXNHVZMnhoYVcxY0lsMGdQU0JjSW5SeWRXVmNJanRjYmlBZ0lDQmhkMkZwZENCamJHbGxiblF1Y21WeGRXVnpkQ2g3WEc0Z0lDQWdJQ0J0WlhSb2IyUTZJRndpVUZWVVhDSXNYRzRnSUNBZ0lDQjFjbXc2SUdBa2UzUm9hWE11WTI5dVptbG5MbkJ5YjNSdlkyOXNmVG92THlSN2RHaHBjeTVqYjI1bWFXY3VhRzl6ZEgwdllXUnRhVzR2Y21WaGJHMXpMeVI3YTJWNVkyeHZZV3RWYzJWeUxuSmxZV3h0ZlM5amJHbGxiblF0YzJOdmNHVnpMeVI3Y205c1pYTlRZMjl3WlM1cFpIMHZjSEp2ZEc5amIyd3RiV0Z3Y0dWeWN5OXRiMlJsYkhNdkpIdGpiR2xsYm5SU2IyeGxjMDFoY0hCbGNpNXBaSDFnTEZ4dUlDQWdJQ0FnWkdGMFlUb2dTbE5QVGk1emRISnBibWRwWm5rb1kyeHBaVzUwVW05c1pYTk5ZWEJ3WlhJcExGeHVJQ0FnSUNBZ2FHVmhaR1Z5Y3pvZ2UxeHVJQ0FnSUNBZ0lDQkJkWFJvYjNKcGVtRjBhVzl1T2lCZ1FtVmhjbVZ5SUNSN2NtVmhiRzFCWTJObGMzTlViMnRsYm4xZ0xGeHVJQ0FnSUNBZ0lDQmNJa052Ym5SbGJuUXRWSGx3WlZ3aU9pQmNJbUZ3Y0d4cFkyRjBhVzl1TDJwemIyNWNJaXhjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk4wWVhSMWN6b2dLQ2tnUFQ0Z2RISjFaU3hjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnY0dGeWMyVktjMjl1VW1WemNHOXVjMlU4VkQ0b1pHRjBZVG9nZFc1cmJtOTNiaWs2SUZRZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdaR0YwWVNBOVBUMGdYQ0p6ZEhKcGJtZGNJaWtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFcFRUMDR1Y0dGeWMyVW9aR0YwWVNrZ1lYTWdWRHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWkdGMFlTQmhjeUJVTzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5Y2xvYWtTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tleWNsb2FrL3NlcnZpY2VzL0tleWNsb2FrU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUNMLGtCQUFrQixFQUdsQixPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZFLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQUNoRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsNkNBQTBDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFrQjtBQVNuRCxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFnQixTQUFRLGtCQUdwQztJQWFDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRVMsWUFBWTtRQUNwQixPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxH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LEVBQUUsa0JBQWtCO2FBQ25DO1lBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFJLElBQWE7UUFDeEMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBTSxDQUFDO1lBQy9CLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YsQ0FBQTtBQS9hWSxlQUFlO0lBSDNCLFdBQVcsQ0FDVix5RkFBeUYsQ0FDMUY7O0dBQ1ksZUFBZSxDQSthM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmlwdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ2xpZW50QmFzZWRTZXJ2aWNlLFxuICBDb250ZXh0dWFsQXJncyxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBzZXJ2aWNlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgS2V5Y2xvYWtTZXR1cENvbmZpZywgS2V5Y2xvYWtVc2VyIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgQXhpb3MsIHsgQXhpb3NJbnN0YW5jZSB9IGZyb20gXCJheGlvc1wiO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcIm5vZGU6aHR0cHNcIjtcblxuaW1wb3J0IHsgS2V5Y2xvYWtSZWFsbVNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha1JlYWxtU2VydmljZVwiO1xuaW1wb3J0IHsgS2V5Y2xvYWtVc2VyU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrVXNlclNlcnZpY2VcIjtcbmltcG9ydCB7IEtleWNsb2FrUm9sZVNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha1JvbGVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBLZXljbG9ha0NsaWVudFNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha0NsaWVudFNlcnZpY2VcIjtcbmltcG9ydCB7IEtleWNsb2FrSWRlbnRpdHlQcm92aWRlclNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBLZXljbG9ha0F1dGhTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtBdXRoU2VydmljZVwiO1xuaW1wb3J0IHsgc2V0S2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXIgfSBmcm9tIFwiLi9ydW50aW1lXCI7XG5cbnR5cGUgS2V5Y2xvYWtSdW50aW1lU2V0dXBDb25maWcgPSBLZXljbG9ha1NldHVwQ29uZmlnICYge1xuICBpc1Byb2R1Y3Rpb24oKTogYm9vbGVhbjtcbn07XG5cbkBkZXNjcmlwdGlvbihcbiAgXCJPcmNoZXN0cmF0ZXMgS2V5Y2xvYWsgcmVhbG0vdXNlci9jbGllbnQgcHJvdmlzaW9uaW5nIGFjcm9zcyB0aGUgaW5uZXIgS2V5Y2xvYWsgc2VydmljZXNcIlxuKVxuZXhwb3J0IGNsYXNzIEtleWNsb2FrU2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VydmljZTxcbiAgQXhpb3NJbnN0YW5jZSxcbiAgS2V5Y2xvYWtTZXR1cENvbmZpZ1xuPiB7XG4gIHByb3RlY3RlZCByZWFsbVNlcnZpY2UhOiBLZXljbG9ha1JlYWxtU2VydmljZTtcblxuICBwcm90ZWN0ZWQgdXNlclNlcnZpY2UhOiBLZXljbG9ha1VzZXJTZXJ2aWNlO1xuXG4gIHByb3RlY3RlZCByb2xlU2VydmljZSE6IEtleWNsb2FrUm9sZVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGNsaWVudFNlcnZpY2UhOiBLZXljbG9ha0NsaWVudFNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlITogS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZTtcblxuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2UhOiBLZXljbG9ha0F1dGhTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNQcm9kdWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhW1wiZGV2ZWxvcG1lbnRcIiwgXCJsb2NhbFwiXS5pbmNsdWRlcyhwcm9jZXNzLmVudltcIk5PREVfRU5WXCJdID8/IFwiXCIpO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBLZXljbG9ha1NldHVwQ29uZmlnOyBjbGllbnQ6IEF4aW9zSW5zdGFuY2UgfT4ge1xuICAgIGNvbnN0IHsgbG9nLCBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmluaXRpYWxpemVcbiAgICApO1xuICAgIGNvbnN0IGNvbmZpZyA9IGN0eEFyZ3NbMF0gYXMgS2V5Y2xvYWtTZXR1cENvbmZpZztcbiAgICBjb25zdCBydW50aW1lQ29uZmlnOiBLZXljbG9ha1J1bnRpbWVTZXR1cENvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGlzUHJvZHVjdGlvbjogdGhpcy5pc1Byb2R1Y3Rpb24uYmluZCh0aGlzKSxcbiAgICB9O1xuICAgIHRoaXMuX2NvbmZpZyA9IHJ1bnRpbWVDb25maWc7XG4gICAgc2V0S2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXIodGhpcy5pc1Byb2R1Y3Rpb24uYmluZCh0aGlzKSk7XG5cbiAgICBsb2cuZGVidWcoYEJpbmRpbmcgaW5uZXIgc2VydmljZXMuLi5gKTtcbiAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtSZWFsbVNlcnZpY2UpO1xuICAgIHNlcnZpY2UoKShLZXljbG9ha1VzZXJTZXJ2aWNlKTtcbiAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtSb2xlU2VydmljZSk7XG4gICAgc2VydmljZSgpKEtleWNsb2FrQ2xpZW50U2VydmljZSk7XG4gICAgc2VydmljZSgpKEtleWNsb2FrSWRlbnRpdHlQcm92aWRlclNlcnZpY2UpO1xuICAgIHNlcnZpY2UoKShLZXljbG9ha0F1dGhTZXJ2aWNlKTtcblxuICAgIGxvZy5kZWJ1ZyhgSW5pdGlhbGl6aW5nIGlubmVyIHNlcnZpY2VzLi4uYCk7XG4gICAgdGhpcy5yZWFsbVNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtSZWFsbVNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5pbml0aWFsaXplKHJ1bnRpbWVDb25maWcsIC4uLmN0eEFyZ3MpO1xuICAgIHRoaXMudXNlclNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtVc2VyU2VydmljZSgpO1xuICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICB0aGlzLnJvbGVTZXJ2aWNlID0gbmV3IEtleWNsb2FrUm9sZVNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlID0gbmV3IEtleWNsb2FrQ2xpZW50U2VydmljZSgpO1xuICAgIGF3YWl0IHRoaXMuY2xpZW50U2VydmljZS5pbml0aWFsaXplKHJ1bnRpbWVDb25maWcsIC4uLmN0eEFyZ3MpO1xuICAgIHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZSgpO1xuICAgIGF3YWl0IHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlID0gbmV3IEtleWNsb2FrQXV0aFNlcnZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmluaXRpYWxpemUocnVudGltZUNvbmZpZywgLi4uY3R4QXJncyk7XG5cbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQocnVudGltZUNvbmZpZyk7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBLZXljbG9hayBTZXJ2aWNlIGluaXRpYWxpemVkIHdpdGggY29uZmlnOiAke0pTT04uc3RyaW5naWZ5KGNvbmZpZyl9YFxuICAgICk7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIHNldHVwS2V5Y2xvYWsoXG4gICAga2V5Y2xvYWtTZXR1cENvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEtleWNsb2FrU2V0dXBDb25maWc+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldHVwS2V5Y2xvYWtcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuc2V0dXBLZXljbG9ha1xuICAgICk7XG5cbiAgICBjb25zdCBhZG1pbkFwaVVzZXJVVUlEID0gYXdhaXQgdGhpcy51c2VyU2VydmljZS5hZGRVc2VyVG9SZWFsbShcbiAgICAgIGtleWNsb2FrU2V0dXBDb25maWcuYWRtaW5BcGlVc2VyISxcbiAgICAgIHt9LFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAga2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIhLnVzZXJuYW1lVVVJRCA9IGFkbWluQXBpVXNlclVVSUQ7XG4gICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5ncmFudFJlYWxtUm9sZXNUb1VzZXIoXG4gICAgICBrZXljbG9ha1NldHVwQ29uZmlnLmFkbWluQXBpVXNlciEucmVhbG0sXG4gICAgICBhZG1pbkFwaVVzZXJVVUlELFxuICAgICAgW1wiYWRtaW5cIl0sXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICByZXR1cm4ga2V5Y2xvYWtTZXR1cENvbmZpZztcbiAgfVxuXG4gIGFzeW5jIGFkZFJlYWxtKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IGFueSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZFJlYWxtXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmFkZFJlYWxtXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5hZGRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgZWRpdFJlYWxtKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IGFueSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImVkaXRSZWFsbVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5lZGl0UmVhbG1cbiAgICApO1xuICAgIGF3YWl0IHRoaXMucmVhbG1TZXJ2aWNlLmVkaXRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlUmVhbG0oXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZW1vdmVSZWFsbVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5yZW1vdmVSZWFsbVxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UucmVtb3ZlUmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFVzZXJUb1JlYWxtKFxuICAgIGtleWNsb2FrVXNlcjogS2V5Y2xvYWtVc2VyLFxuICAgIHBheWxvYWQ6IGFueSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkVXNlclRvUmVhbG1cIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuYWRkVXNlclRvUmVhbG1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmFkZFVzZXJUb1JlYWxtKGtleWNsb2FrVXNlciwgcGF5bG9hZCwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyBlZGl0VXNlcihcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICB1c2VyVVVJRDogc3RyaW5nLFxuICAgIHBheWxvYWQ6IGFueSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImVkaXRVc2VyXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmVkaXRVc2VyXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmVkaXRVc2VyKHJlYWxtTmFtZSwgdXNlclVVSUQsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlVXNlckZyb21SZWFsbShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICB1c2VyVVVJRDogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZW1vdmVVc2VyRnJvbVJlYWxtXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5yZW1vdmVVc2VyRnJvbVJlYWxtKTtcbiAgICBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLnJlbW92ZVVzZXJGcm9tUmVhbG0ocmVhbG1OYW1lLCB1c2VyVVVJRCwgLi4uY3R4QXJncyk7XG4gIH1cblxuICBhc3luYyBhZGRSZWFsbVJvbGVzVG9Vc2VyKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHVzZXJVVUlEOiBzdHJpbmcsXG4gICAgcm9sZU5hbWVzOiBzdHJpbmdbXSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkUmVhbG1Sb2xlc1RvVXNlclwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuYWRkUmVhbG1Sb2xlc1RvVXNlcik7XG4gICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5ncmFudFJlYWxtUm9sZXNUb1VzZXIoXG4gICAgICByZWFsbU5hbWUsXG4gICAgICB1c2VyVVVJRCxcbiAgICAgIHJvbGVOYW1lcyxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByZWFsbS1sZXZlbCByb2xlLCBvcHRpb25hbGx5IGFzIGEgY29tcG9zaXRlIG9mIGV4aXN0aW5nIHJvbGVzLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlUmVhbG1Sb2xlKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHJvbGVOYW1lOiBzdHJpbmcsXG4gICAgY29tcG9zaXRlUm9sZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlUmVhbG1Sb2xlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmNyZWF0ZVJlYWxtUm9sZVxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5jcmVhdGVSZWFsbVJvbGUoXG4gICAgICByZWFsbU5hbWUsXG4gICAgICByb2xlTmFtZSxcbiAgICAgIGNvbXBvc2l0ZVJvbGVzLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNsaWVudCBpbiB0aGUgY29uZmlndXJlZCByZWFsbSBhbmQgcmV0dXJucyBpdHMgVVVJRC5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUNsaWVudChcbiAgICBjb25maWc6IEtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgb3ZlcnJpZGVzOiBQYXJ0aWFsPGltcG9ydChcIi4uL3R5cGVzXCIpLktleWNsb2FrQ2xpZW50Q29uZmlnPiB8IHVuZGVmaW5lZCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlQ2xpZW50XCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmNyZWF0ZUNsaWVudFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50U2VydmljZS5jcmVhdGVDbGllbnQoY29uZmlnLCBvdmVycmlkZXMsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgYXN5bmMgYWRkQ2xpZW50Um9sZXNUb1VzZXIoXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgY2xpZW50VVVJRDogc3RyaW5nLFxuICAgIHVzZXJVVUlEOiBzdHJpbmcsXG4gICAgcm9sZU5hbWVzOiBzdHJpbmdbXSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiYWRkQ2xpZW50Um9sZXNUb1VzZXJcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmFkZENsaWVudFJvbGVzVG9Vc2VyKTtcbiAgICBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmdyYW50Q2xpZW50Um9sZXNUb1VzZXIoXG4gICAgICByZWFsbU5hbWUsXG4gICAgICBjbGllbnRVVUlELFxuICAgICAgdXNlclVVSUQsXG4gICAgICByb2xlTmFtZXMsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFkbWluQXBpVXNlcihcbiAgICBrZXljbG9ha1NldHVwQ29uZmlnOiBLZXljbG9ha1NldHVwQ29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVBZG1pbkFwaVVzZXJcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmRlbGV0ZUFkbWluQXBpVXNlcik7XG4gICAgY29uc3Qgcm9vdEFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbihcbiAgICAgIGtleWNsb2FrU2V0dXBDb25maWcucm9vdEFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5kZWxldGVVc2VyKFxuICAgICAgcm9vdEFjY2Vzc1Rva2VuLFxuICAgICAga2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBzZXR1cE9yZ2FuaXphdGlvbihcbiAgICBjb25maWc/OiBLZXljbG9ha1NldHVwQ29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8S2V5Y2xvYWtTZXR1cENvbmZpZz4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXR1cE9yZ2FuaXphdGlvblwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuc2V0dXBPcmdhbml6YXRpb24pO1xuICAgIGNvbnN0IGVmZmVjdGl2ZUNvbmZpZyA9IGNvbmZpZyA/PyB0aGlzLmNvbmZpZztcblxuICAgIGNvbnN0IGFkbWluQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLmFkbWluQXBpVXNlciB8fCB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5jcmVhdGVSZWFsbShcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnJlYWxtLFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQ29uZmlnID8/IHt9LFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEucmVhbG0sIC4uLmN0eEFyZ3MpO1xuXG4gICAgY29uc3QgcmVhbG1Vc2VyVVVJRCA9IGF3YWl0IHRoaXMudXNlclNlcnZpY2UuY3JlYXRlUmVhbG1Vc2VyKFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEsXG4gICAgICB7fSxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnVzZXJuYW1lVVVJRCA9IHJlYWxtVXNlclVVSUQ7XG5cbiAgICBjb25zdCByZWFsbU1hbmFnZW1lbnRVVUlEID0gYXdhaXQgdGhpcy5jbGllbnRTZXJ2aWNlLmdldENsaWVudFVVSUQoXG4gICAgICBhZG1pbkFjY2Vzc1Rva2VuLFxuICAgICAgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciEucmVhbG0sXG4gICAgICBcInJlYWxtLW1hbmFnZW1lbnRcIixcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuYXNzaWduUm9sZXNUb1VzZXIoXG4gICAgICBgL2FkbWluL3JlYWxtcy8ke2VmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLnJlYWxtfS9jbGllbnRzLyR7cmVhbG1NYW5hZ2VtZW50VVVJRH0vcm9sZXNgLFxuICAgICAgYC9hZG1pbi9yZWFsbXMvJHtlZmZlY3RpdmVDb25maWcucmVhbG1BcGlVc2VyIS5yZWFsbX0vdXNlcnMvJHtyZWFsbVVzZXJVVUlEfS9yb2xlLW1hcHBpbmdzL2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfWAsXG4gICAgICBbXCJtYW5hZ2UtY2xpZW50c1wiLCBcIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnNcIl0sXG4gICAgICBhZG1pbkFjY2Vzc1Rva2VuLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICBjb25zdCBjbGllbnRVVUlEID0gYXdhaXQgdGhpcy5jbGllbnRTZXJ2aWNlLmNyZWF0ZUNsaWVudChcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGVmZmVjdGl2ZUNvbmZpZy5jbGllbnQuY2xpZW50VVVJRCA9IGNsaWVudFVVSUQ7XG5cbiAgICBhd2FpdCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyhcbiAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIhLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG5cbiAgICByZXR1cm4gZWZmZWN0aXZlQ29uZmlnO1xuICB9XG5cbiAgYXN5bmMgc2V0dXBPcmdhbml6YXRpb25TU08oXG4gICAga2V5Y2xvYWtTZXR1cENvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0dXBPcmdhbml6YXRpb25TU09cIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLnNldHVwT3JnYW5pemF0aW9uU1NPKTtcblxuICAgIGF3YWl0IHRoaXMuY2xpZW50U2VydmljZS5jcmVhdGVDbGllbnRSb2xlcyhcbiAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICBpZiAoa2V5Y2xvYWtTZXR1cENvbmZpZy5pZGVudGl0eVByb3ZpZGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmNyZWF0ZUlkZW50aXR5UHJvdmlkZXIoXG4gICAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgLi4uY3R4QXJnc1xuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UuY3JlYXRlSWRlbnRpdHlQcm92aWRlck1hcHBlcnMoXG4gICAgICAgIGtleWNsb2FrU2V0dXBDb25maWcsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgLi4uY3R4QXJnc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVPcmdhbml6YXRpb24oXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZU9yZ2FuaXphdGlvblwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuZGVsZXRlT3JnYW5pemF0aW9uKTtcbiAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5yZW1vdmVSZWFsbShyZWFsbU5hbWUsIC4uLmN0eEFyZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZzogS2V5Y2xvYWtTZXR1cENvbmZpZyk6IEF4aW9zSW5zdGFuY2Uge1xuICAgIHJldHVybiBBeGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9YCxcbiAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiB0aGlzLmlzUHJvZHVjdGlvbigpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRGb3JSZWFsbShcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcIndhaXRGb3JSZWFsbVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy53YWl0Rm9yUmVhbG1cbiAgICApO1xuXG4gICAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgMTUwMDA7XG4gICAgd2hpbGUgKERhdGUubm93KCkgPCBkZWFkbGluZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuZ2V0UmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwMCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgVGltZWQgb3V0IHdhaXRpbmcgZm9yIHJlYWxtICR7cmVhbG1OYW1lfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVDbGllbnRTY29wZXNSb2xlc01hcHBlcnMoXG4gICAga2V5Y2xvYWtVc2VyOiBLZXljbG9ha1VzZXIsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyk7XG5cbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQodGhpcy5jb25maWcpO1xuICAgIGNvbnN0IHJlYWxtQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKFxuICAgICAga2V5Y2xvYWtVc2VyLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gICAgY29uc3Qgcm9sZXNSZXNwb25zZSA9IGF3YWl0IGNsaWVudC5yZXF1ZXN0KHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcucHJvdG9jb2x9Oi8vJHt0aGlzLmNvbmZpZy5ob3N0fS9hZG1pbi9yZWFsbXMvJHtrZXljbG9ha1VzZXIucmVhbG19L2NsaWVudC1zY29wZXNgLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudFNjb3BlcyA9XG4gICAgICB0aGlzLnBhcnNlSnNvblJlc3BvbnNlPFxuICAgICAgICBBcnJheTx7XG4gICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgcHJvdG9jb2xNYXBwZXJzPzogQXJyYXk8e1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgICAgICB9PjtcbiAgICAgICAgfT5cbiAgICAgID4ocm9sZXNSZXNwb25zZS5kYXRhKSA/PyBbXTtcbiAgICBjb25zdCByb2xlc1Njb3BlID0gY2xpZW50U2NvcGVzLmZpbmQoKHNjb3BlKSA9PiBzY29wZS5uYW1lID09PSBcInJvbGVzXCIpO1xuICAgIGNvbnN0IGNsaWVudFJvbGVzTWFwcGVyID0gcm9sZXNTY29wZT8ucHJvdG9jb2xNYXBwZXJzPy5maW5kKFxuICAgICAgKG1hcHBlcikgPT4gbWFwcGVyLm5hbWUgPT09IFwiY2xpZW50IHJvbGVzXCJcbiAgICApO1xuICAgIGlmICghcm9sZXNTY29wZSB8fCAhY2xpZW50Um9sZXNNYXBwZXIpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFwiVW5hYmxlIHRvIGZpbmQgY2xpZW50IHJvbGVzIG1hcHBlclwiKTtcbiAgICB9XG4gICAgY2xpZW50Um9sZXNNYXBwZXIuY29uZmlnW1wiaWQudG9rZW4uY2xhaW1cIl0gPSBcInRydWVcIjtcbiAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzLyR7cm9sZXNTY29wZS5pZH0vcHJvdG9jb2wtbWFwcGVycy9tb2RlbHMvJHtjbGllbnRSb2xlc01hcHBlci5pZH1gLFxuICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoY2xpZW50Um9sZXNNYXBwZXIpLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VKc29uUmVzcG9uc2U8VD4oZGF0YTogdW5rbm93bik6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGF0YSkgYXMgVDtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG59XG4iXX0=
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5Y2xvYWtTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2V5Y2xvYWtTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxD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QUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsTUFBTSxDQUFDO2dCQUNILE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKLENBQUM7QUFLTywwQ0FBZTtBQUp4QiwwQkFBQSxlQUFlLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLElBQUEsd0JBQVcsRUFBQyx5RkFBeUYsQ0FBQztJQUN0RyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO0NBQ3RDLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFcEIsc21qQ0FBc21qQyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgQ2xpZW50QmFzZWRTZXJ2aWNlLCBzZXJ2aWNlLCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgTm90Rm91bmRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IEF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcIm5vZGU6aHR0cHNcIjtcbmltcG9ydCB7IEtleWNsb2FrUmVhbG1TZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtSZWFsbVNlcnZpY2UuanNcIjtcbmltcG9ydCB7IEtleWNsb2FrVXNlclNlcnZpY2UgfSBmcm9tIFwiLi9LZXljbG9ha1VzZXJTZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBLZXljbG9ha1JvbGVTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtSb2xlU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgS2V5Y2xvYWtDbGllbnRTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtDbGllbnRTZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSBcIi4vS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgS2V5Y2xvYWtBdXRoU2VydmljZSB9IGZyb20gXCIuL0tleWNsb2FrQXV0aFNlcnZpY2UuanNcIjtcbmltcG9ydCB7IHNldEtleWNsb2FrUHJvZHVjdGlvblJlc29sdmVyIH0gZnJvbSBcIi4vcnVudGltZS5qc1wiO1xubGV0IEtleWNsb2FrU2VydmljZSA9IGNsYXNzIEtleWNsb2FrU2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIGlzUHJvZHVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICFbXCJkZXZlbG9wbWVudFwiLCBcImxvY2FsXCJdLmluY2x1ZGVzKHByb2Nlc3MuZW52W1wiTk9ERV9FTlZcIl0gPz8gXCJcIik7XG4gICAgfVxuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZywgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGN0eEFyZ3NbMF07XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVDb25maWcgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICBpc1Byb2R1Y3Rpb246IHRoaXMuaXNQcm9kdWN0aW9uLmJpbmQodGhpcyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IHJ1bnRpbWVDb25maWc7XG4gICAgICAgIHNldEtleWNsb2FrUHJvZHVjdGlvblJlc29sdmVyKHRoaXMuaXNQcm9kdWN0aW9uLmJpbmQodGhpcykpO1xuICAgICAgICBsb2cuZGVidWcoYEJpbmRpbmcgaW5uZXIgc2VydmljZXMuLi5gKTtcbiAgICAgICAgc2VydmljZSgpKEtleWNsb2FrUmVhbG1TZXJ2aWNlKTtcbiAgICAgICAgc2VydmljZSgpKEtleWNsb2FrVXNlclNlcnZpY2UpO1xuICAgICAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtSb2xlU2VydmljZSk7XG4gICAgICAgIHNlcnZpY2UoKShLZXljbG9ha0NsaWVudFNlcnZpY2UpO1xuICAgICAgICBzZXJ2aWNlKCkoS2V5Y2xvYWtJZGVudGl0eVByb3ZpZGVyU2VydmljZSk7XG4gICAgICAgIHNlcnZpY2UoKShLZXljbG9ha0F1dGhTZXJ2aWNlKTtcbiAgICAgICAgbG9nLmRlYnVnKGBJbml0aWFsaXppbmcgaW5uZXIgc2VydmljZXMuLi5gKTtcbiAgICAgICAgdGhpcy5yZWFsbVNlcnZpY2UgPSBuZXcgS2V5Y2xvYWtSZWFsbVNlcnZpY2UoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZSA9IG5ldyBLZXljbG9ha1VzZXJTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgdGhpcy5yb2xlU2VydmljZSA9IG5ldyBLZXljbG9ha1JvbGVTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgdGhpcy5jbGllbnRTZXJ2aWNlID0gbmV3IEtleWNsb2FrQ2xpZW50U2VydmljZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgdGhpcy5pZGVudGl0eVByb3ZpZGVyU2VydmljZSA9IG5ldyBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuaWRlbnRpdHlQcm92aWRlclNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZSA9IG5ldyBLZXljbG9ha0F1dGhTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuaW5pdGlhbGl6ZShydW50aW1lQ29uZmlnLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5jcmVhdGVIdHRwQ2xpZW50KHJ1bnRpbWVDb25maWcpO1xuICAgICAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgICAgIGxvZy5kZWJ1ZyhgS2V5Y2xvYWsgU2VydmljZSBpbml0aWFsaXplZCB3aXRoIGNvbmZpZzogJHtKU09OLnN0cmluZ2lmeShjb25maWcpfWApO1xuICAgICAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICAgIH1cbiAgICBhc3luYyBzZXR1cEtleWNsb2FrKGtleWNsb2FrU2V0dXBDb25maWcsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXR1cEtleWNsb2FrXCIsIHRydWUpKS5mb3IodGhpcy5zZXR1cEtleWNsb2FrKTtcbiAgICAgICAgY29uc3QgYWRtaW5BcGlVc2VyVVVJRCA9IGF3YWl0IHRoaXMudXNlclNlcnZpY2UuYWRkVXNlclRvUmVhbG0oa2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIsIHt9LCAuLi5jdHhBcmdzKTtcbiAgICAgICAga2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIudXNlcm5hbWVVVUlEID0gYWRtaW5BcGlVc2VyVVVJRDtcbiAgICAgICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5ncmFudFJlYWxtUm9sZXNUb1VzZXIoa2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIucmVhbG0sIGFkbWluQXBpVXNlclVVSUQsIFtcImFkbWluXCJdLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgcmV0dXJuIGtleWNsb2FrU2V0dXBDb25maWc7XG4gICAgfVxuICAgIGFzeW5jIGFkZFJlYWxtKHJlYWxtTmFtZSwgcGF5bG9hZCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZFJlYWxtXCIsIHRydWUpKS5mb3IodGhpcy5hZGRSZWFsbSk7XG4gICAgICAgIGF3YWl0IHRoaXMucmVhbG1TZXJ2aWNlLmFkZFJlYWxtKHJlYWxtTmFtZSwgcGF5bG9hZCwgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGVkaXRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJlZGl0UmVhbG1cIiwgdHJ1ZSkpLmZvcih0aGlzLmVkaXRSZWFsbSk7XG4gICAgICAgIGF3YWl0IHRoaXMucmVhbG1TZXJ2aWNlLmVkaXRSZWFsbShyZWFsbU5hbWUsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyByZW1vdmVSZWFsbShyZWFsbU5hbWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZW1vdmVSZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMucmVtb3ZlUmVhbG0pO1xuICAgICAgICBhd2FpdCB0aGlzLnJlYWxtU2VydmljZS5yZW1vdmVSZWFsbShyZWFsbU5hbWUsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBhZGRVc2VyVG9SZWFsbShrZXljbG9ha1VzZXIsIHBheWxvYWQsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJhZGRVc2VyVG9SZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMuYWRkVXNlclRvUmVhbG0pO1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5hZGRVc2VyVG9SZWFsbShrZXljbG9ha1VzZXIsIHBheWxvYWQsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBlZGl0VXNlcihyZWFsbU5hbWUsIHVzZXJVVUlELCBwYXlsb2FkLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZWRpdFVzZXJcIiwgdHJ1ZSkpLmZvcih0aGlzLmVkaXRVc2VyKTtcbiAgICAgICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5lZGl0VXNlcihyZWFsbU5hbWUsIHVzZXJVVUlELCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgcmVtb3ZlVXNlckZyb21SZWFsbShyZWFsbU5hbWUsIHVzZXJVVUlELCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVtb3ZlVXNlckZyb21SZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMucmVtb3ZlVXNlckZyb21SZWFsbSk7XG4gICAgICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UucmVtb3ZlVXNlckZyb21SZWFsbShyZWFsbU5hbWUsIHVzZXJVVUlELCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgYWRkUmVhbG1Sb2xlc1RvVXNlcihyZWFsbU5hbWUsIHVzZXJVVUlELCByb2xlTmFtZXMsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJhZGRSZWFsbVJvbGVzVG9Vc2VyXCIsIHRydWUpKS5mb3IodGhpcy5hZGRSZWFsbVJvbGVzVG9Vc2VyKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5ncmFudFJlYWxtUm9sZXNUb1VzZXIocmVhbG1OYW1lLCB1c2VyVVVJRCwgcm9sZU5hbWVzLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHJlYWxtLWxldmVsIHJvbGUsIG9wdGlvbmFsbHkgYXMgYSBjb21wb3NpdGUgb2YgZXhpc3Rpbmcgcm9sZXMuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlUmVhbG1Sb2xlKHJlYWxtTmFtZSwgcm9sZU5hbWUsIGNvbXBvc2l0ZVJvbGVzLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlUmVhbG1Sb2xlXCIsIHRydWUpKS5mb3IodGhpcy5jcmVhdGVSZWFsbVJvbGUpO1xuICAgICAgICBhd2FpdCB0aGlzLnJvbGVTZXJ2aWNlLmNyZWF0ZVJlYWxtUm9sZShyZWFsbU5hbWUsIHJvbGVOYW1lLCBjb21wb3NpdGVSb2xlcywgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbGllbnQgaW4gdGhlIGNvbmZpZ3VyZWQgcmVhbG0gYW5kIHJldHVybnMgaXRzIFVVSUQuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlQ2xpZW50KGNvbmZpZywgb3ZlcnJpZGVzLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3JlYXRlQ2xpZW50XCIsIHRydWUpKS5mb3IodGhpcy5jcmVhdGVDbGllbnQpO1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnRTZXJ2aWNlLmNyZWF0ZUNsaWVudChjb25maWcsIG92ZXJyaWRlcywgLi4uY3R4QXJncyk7XG4gICAgfVxuICAgIGFzeW5jIGFkZENsaWVudFJvbGVzVG9Vc2VyKHJlYWxtTmFtZSwgY2xpZW50VVVJRCwgdXNlclVVSUQsIHJvbGVOYW1lcywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFkZENsaWVudFJvbGVzVG9Vc2VyXCIsIHRydWUpKS5mb3IodGhpcy5hZGRDbGllbnRSb2xlc1RvVXNlcik7XG4gICAgICAgIGF3YWl0IHRoaXMucm9sZVNlcnZpY2UuZ3JhbnRDbGllbnRSb2xlc1RvVXNlcihyZWFsbU5hbWUsIGNsaWVudFVVSUQsIHVzZXJVVUlELCByb2xlTmFtZXMsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGVBZG1pbkFwaVVzZXIoa2V5Y2xvYWtTZXR1cENvbmZpZywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZUFkbWluQXBpVXNlclwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlQWRtaW5BcGlVc2VyKTtcbiAgICAgICAgY29uc3Qgcm9vdEFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbihrZXljbG9ha1NldHVwQ29uZmlnLnJvb3RBcGlVc2VyLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5kZWxldGVVc2VyKHJvb3RBY2Nlc3NUb2tlbiwga2V5Y2xvYWtTZXR1cENvbmZpZy5hZG1pbkFwaVVzZXIsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBhc3luYyBzZXR1cE9yZ2FuaXphdGlvbihjb25maWcsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXR1cE9yZ2FuaXphdGlvblwiLCB0cnVlKSkuZm9yKHRoaXMuc2V0dXBPcmdhbml6YXRpb24pO1xuICAgICAgICBjb25zdCBlZmZlY3RpdmVDb25maWcgPSBjb25maWcgPz8gdGhpcy5jb25maWc7XG4gICAgICAgIGNvbnN0IGFkbWluQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKGVmZmVjdGl2ZUNvbmZpZy5hZG1pbkFwaVVzZXIgfHwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuY3JlYXRlUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbSwgZWZmZWN0aXZlQ29uZmlnLnJlYWxtQ29uZmlnID8/IHt9LCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yUmVhbG0oZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbSwgLi4uY3R4QXJncyk7XG4gICAgICAgIGNvbnN0IHJlYWxtVXNlclVVSUQgPSBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZVJlYWxtVXNlcihlZmZlY3RpdmVDb25maWcucmVhbG1BcGlVc2VyLCB7fSwgLi4uY3R4QXJncyk7XG4gICAgICAgIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIudXNlcm5hbWVVVUlEID0gcmVhbG1Vc2VyVVVJRDtcbiAgICAgICAgY29uc3QgcmVhbG1NYW5hZ2VtZW50VVVJRCA9IGF3YWl0IHRoaXMuY2xpZW50U2VydmljZS5nZXRDbGllbnRVVUlEKGFkbWluQWNjZXNzVG9rZW4sIGVmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIucmVhbG0sIFwicmVhbG0tbWFuYWdlbWVudFwiLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yb2xlU2VydmljZS5hc3NpZ25Sb2xlc1RvVXNlcihgL2FkbWluL3JlYWxtcy8ke2VmZmVjdGl2ZUNvbmZpZy5yZWFsbUFwaVVzZXIucmVhbG19L2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfS9yb2xlc2AsIGAvYWRtaW4vcmVhbG1zLyR7ZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlci5yZWFsbX0vdXNlcnMvJHtyZWFsbVVzZXJVVUlEfS9yb2xlLW1hcHBpbmdzL2NsaWVudHMvJHtyZWFsbU1hbmFnZW1lbnRVVUlEfWAsIFtcIm1hbmFnZS1jbGllbnRzXCIsIFwibWFuYWdlLWlkZW50aXR5LXByb3ZpZGVyc1wiXSwgYWRtaW5BY2Nlc3NUb2tlbiwgLi4uY3R4QXJncyk7XG4gICAgICAgIGNvbnN0IGNsaWVudFVVSUQgPSBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuY3JlYXRlQ2xpZW50KGVmZmVjdGl2ZUNvbmZpZywgdW5kZWZpbmVkLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgZWZmZWN0aXZlQ29uZmlnLmNsaWVudC5jbGllbnRVVUlEID0gY2xpZW50VVVJRDtcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVDbGllbnRTY29wZXNSb2xlc01hcHBlcnMoZWZmZWN0aXZlQ29uZmlnLnJlYWxtQXBpVXNlciwgLi4uY3R4QXJncyk7XG4gICAgICAgIHJldHVybiBlZmZlY3RpdmVDb25maWc7XG4gICAgfVxuICAgIGFzeW5jIHNldHVwT3JnYW5pemF0aW9uU1NPKGtleWNsb2FrU2V0dXBDb25maWcsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXR1cE9yZ2FuaXphdGlvblNTT1wiLCB0cnVlKSkuZm9yKHRoaXMuc2V0dXBPcmdhbml6YXRpb25TU08pO1xuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudFNlcnZpY2UuY3JlYXRlQ2xpZW50Um9sZXMoa2V5Y2xvYWtTZXR1cENvbmZpZywgdW5kZWZpbmVkLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKGtleWNsb2FrU2V0dXBDb25maWcuaWRlbnRpdHlQcm92aWRlcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5pZGVudGl0eVByb3ZpZGVyU2VydmljZS5jcmVhdGVJZGVudGl0eVByb3ZpZGVyKGtleWNsb2FrU2V0dXBDb25maWcsIHVuZGVmaW5lZCwgLi4uY3R4QXJncyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmlkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmNyZWF0ZUlkZW50aXR5UHJvdmlkZXJNYXBwZXJzKGtleWNsb2FrU2V0dXBDb25maWcsIHVuZGVmaW5lZCwgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZGVsZXRlT3JnYW5pemF0aW9uKHJlYWxtTmFtZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZU9yZ2FuaXphdGlvblwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlT3JnYW5pemF0aW9uKTtcbiAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UucmVtb3ZlUmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgY3JlYXRlSHR0cENsaWVudChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIEF4aW9zLmNyZWF0ZSh7XG4gICAgICAgICAgICBiYXNlVVJMOiBgJHtjb25maWcucHJvdG9jb2x9Oi8vJHtjb25maWcuaG9zdH1gLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogdGhpcy5pc1Byb2R1Y3Rpb24oKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgd2FpdEZvclJlYWxtKHJlYWxtTmFtZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcIndhaXRGb3JSZWFsbVwiLCB0cnVlKSkuZm9yKHRoaXMud2FpdEZvclJlYWxtKTtcbiAgICAgICAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgMTUwMDA7XG4gICAgICAgIHdoaWxlIChEYXRlLm5vdygpIDwgZGVhZGxpbmUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yZWFsbVNlcnZpY2UuZ2V0UmVhbG0ocmVhbG1OYW1lLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFRpbWVkIG91dCB3YWl0aW5nIGZvciByZWFsbSAke3JlYWxtTmFtZX1gKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlQ2xpZW50U2NvcGVzUm9sZXNNYXBwZXJzKGtleWNsb2FrVXNlciwgLi4uYXJncykge1xuICAgICAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnVwZGF0ZUNsaWVudFNjb3Blc1JvbGVzTWFwcGVycyk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHJlYWxtQWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKGtleWNsb2FrVXNlciwgLi4uYXJncyk7XG4gICAgICAgIGNvbnN0IHJvbGVzUmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzYCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVhbG1BY2Nlc3NUb2tlbn1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY2xpZW50U2NvcGVzID0gdGhpcy5wYXJzZUpzb25SZXNwb25zZShyb2xlc1Jlc3BvbnNlLmRhdGEpID8/IFtdO1xuICAgICAgICBjb25zdCByb2xlc1Njb3BlID0gY2xpZW50U2NvcGVzLmZpbmQoKHNjb3BlKSA9PiBzY29wZS5uYW1lID09PSBcInJvbGVzXCIpO1xuICAgICAgICBjb25zdCBjbGllbnRSb2xlc01hcHBlciA9IHJvbGVzU2NvcGU/LnByb3RvY29sTWFwcGVycz8uZmluZCgobWFwcGVyKSA9PiBtYXBwZXIubmFtZSA9PT0gXCJjbGllbnQgcm9sZXNcIik7XG4gICAgICAgIGlmICghcm9sZXNTY29wZSB8fCAhY2xpZW50Um9sZXNNYXBwZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFwiVW5hYmxlIHRvIGZpbmQgY2xpZW50IHJvbGVzIG1hcHBlclwiKTtcbiAgICAgICAgfVxuICAgICAgICBjbGllbnRSb2xlc01hcHBlci5jb25maWdbXCJpZC50b2tlbi5jbGFpbVwiXSA9IFwidHJ1ZVwiO1xuICAgICAgICBhd2FpdCBjbGllbnQucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICAgICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vYWRtaW4vcmVhbG1zLyR7a2V5Y2xvYWtVc2VyLnJlYWxtfS9jbGllbnQtc2NvcGVzLyR7cm9sZXNTY29wZS5pZH0vcHJvdG9jb2wtbWFwcGVycy9tb2RlbHMvJHtjbGllbnRSb2xlc01hcHBlci5pZH1gLFxuICAgICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoY2xpZW50Um9sZXNNYXBwZXIpLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtyZWFsbUFjY2Vzc1Rva2VufWAsXG4gICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwYXJzZUpzb25SZXNwb25zZShkYXRhKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbn07XG5LZXljbG9ha1NlcnZpY2UgPSBfX2RlY29yYXRlKFtcbiAgICBkZXNjcmlwdGlvbihcIk9yY2hlc3RyYXRlcyBLZXljbG9hayByZWFsbS91c2VyL2NsaWVudCBwcm92aXNpb25pbmcgYWNyb3NzIHRoZSBpbm5lciBLZXljbG9hayBzZXJ2aWNlc1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW10pXG5dLCBLZXljbG9ha1NlcnZpY2UpO1xuZXhwb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lTMlY1WTJ4dllXdFRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMnRsZVdOc2IyRnJMM05sY25acFkyVnpMMHRsZVdOc2IyRnJVMlZ5ZG1salpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCUVN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFMUJRVTBzYzBKQlFYTkNMRU5CUVVNN1FVRkRia1FzVDBGQlR5eEZRVU5NTEd0Q1FVRnJRaXhGUVVkc1FpeFBRVUZQTEVkQlExSXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxHRkJRV0VzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJSWFpGTEU5QlFVOHNTMEZCZDBJc1RVRkJUU3hQUVVGUExFTkJRVU03UVVGRE4wTXNUMEZCVHl4TFFVRkxMRXRCUVVzc1RVRkJUU3haUVVGWkxFTkJRVU03UVVGRmNFTXNUMEZCVHl4RlFVRkZMRzlDUVVGdlFpeEZRVUZGTEd0RFFVRXJRanRCUVVNNVJDeFBRVUZQTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzYVVOQlFUaENPMEZCUXpWRUxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3hwUTBGQk9FSTdRVUZETlVRc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRzFEUVVGblF6dEJRVU5vUlN4UFFVRlBMRVZCUVVVc0swSkJRU3RDTEVWQlFVVXNOa05CUVRCRE8wRkJRM0JHTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeHBRMEZCT0VJN1FVRkROVVFzVDBGQlR5eEZRVUZGTERaQ1FVRTJRaXhGUVVGRkxIRkNRVUZyUWp0QlFWTnVSQ3hKUVVGTkxHVkJRV1VzUjBGQmNrSXNUVUZCVFN4bFFVRm5RaXhUUVVGUkxHdENRVWR3UXp0SlFXRkRPMUZCUTBVc1MwRkJTeXhGUVVGRkxFTkJRVU03U1VGRFZpeERRVUZETzBsQlJWTXNXVUZCV1R0UlFVTndRaXhQUVVGUExFTkJRVU1zUTBGQlF5eGhRVUZoTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRE0wVXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRMlFzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlEzaEZMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRMmhDTEVOQlFVTTdVVUZEUml4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUYzUWl4RFFVRkRPMUZCUTJwRUxFMUJRVTBzWVVGQllTeEhRVUVyUWp0WlFVTm9SQ3hIUVVGSExFMUJRVTA3V1VGRFZDeFpRVUZaTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETzFOQlF6TkRMRU5CUVVNN1VVRkRSaXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEdGQlFXRXNRMEZCUXp0UlFVTTNRaXcyUWtGQk5rSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlRWRUxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU1zUTBGQlF6dFJRVU4yUXl4UFFVRlBMRVZCUVVVc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4RFFVRkRPMUZCUTJoRExFOUJRVThzUlVGQlJTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03VVVGREwwSXNUMEZCVHl4RlFVRkZMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXhQUVVGUExFVkJRVVVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8xRkJRMnBETEU5QlFVOHNSVUZCUlN4RFFVRkRMQ3RDUVVFclFpeERRVUZETEVOQlFVTTdVVUZETTBNc1QwRkJUeXhGUVVGRkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRSUVVVdlFpeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMR2REUVVGblF5eERRVUZETEVOQlFVTTdVVUZETlVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEc5Q1FVRnZRaXhGUVVGRkxFTkJRVU03VVVGREwwTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExGVkJRVlVzUTBGQlF5eGhRVUZoTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNNVJDeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc2JVSkJRVzFDTEVWQlFVVXNRMEZCUXp0UlFVTTNReXhOUVVGTkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNWVUZCVlN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzFGQlF6ZEVMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeHRRa0ZCYlVJc1JVRkJSU3hEUVVGRE8xRkJRemRETEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhWUVVGVkxFTkJRVU1zWVVGQllTeEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkROMFFzU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4SlFVRkpMSEZDUVVGeFFpeEZRVUZGTEVOQlFVTTdVVUZEYWtRc1RVRkJUU3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZWQlFWVXNRMEZCUXl4aFFVRmhMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU12UkN4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVkQlFVY3NTVUZCU1N3clFrRkJLMElzUlVGQlJTeERRVUZETzFGQlEzSkZMRTFCUVUwc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRlZCUVZVc1EwRkJReXhoUVVGaExFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjZSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NiVUpCUVcxQ0xFVkJRVVVzUTBGQlF6dFJRVU0zUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVlVGQlZTeERRVUZETEdGQlFXRXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJSVGRFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRSUVVOd1JDeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVOMFFpeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVTlFMRFpEUVVFMlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRM1JGTEVOQlFVTTdVVUZEUml4UFFVRlBMRVZCUVVVc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeERRVUZETzBsQlF6VkNMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zWVVGQllTeERRVU5xUWl4dFFrRkJkME1zUlVGRGVFTXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR1ZCUVdVc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZEZEVVc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGRGJrSXNRMEZCUXp0UlFVVkdMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExHTkJRV01zUTBGRE5VUXNiVUpCUVcxQ0xFTkJRVU1zV1VGQllTeEZRVU5xUXl4RlFVRkZMRVZCUTBZc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dFJRVU5HTEcxQ1FVRnRRaXhEUVVGRExGbEJRV0VzUTBGQlF5eFpRVUZaTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU03VVVGRGJFVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExIRkNRVUZ4UWl4RFFVTXhReXh0UWtGQmJVSXNRMEZCUXl4WlFVRmhMRU5CUVVNc1MwRkJTeXhGUVVOMlF5eG5Ra0ZCWjBJc1JVRkRhRUlzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZEVkN4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8xRkJRMFlzVDBGQlR5eHRRa0ZCYlVJc1EwRkJRenRKUVVNM1FpeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkRXaXhUUVVGcFFpeEZRVU5xUWl4UFFVRlpMRVZCUTFvc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkRha1VzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZEWkN4RFFVRkRPMUZCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdTVUZEYmtVc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlEySXNVMEZCYVVJc1JVRkRha0lzVDBGQldTeEZRVU5hTEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlEyeEZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRMllzUTBGQlF6dFJRVU5HTEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhUUVVGVExFTkJRVU1zVTBGQlV5eEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJRM0JGTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1YwRkJWeXhEUVVObUxGTkJRV2xDTEVWQlEycENMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hoUVVGaExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUTNCRkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlEycENMRU5CUVVNN1VVRkRSaXhOUVVGTkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNWMEZCVnl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzBsQlF6ZEVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zWTBGQll5eERRVU5zUWl4WlFVRXdRaXhGUVVNeFFpeFBRVUZaTEVWQlExb3NSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVOMlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVTndRaXhEUVVGRE8xRkJRMFlzVDBGQlR5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR05CUVdNc1EwRkJReXhaUVVGWkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNN1NVRkROVVVzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUTFvc1UwRkJhVUlzUlVGRGFrSXNVVUZCWjBJc1JVRkRhRUlzVDBGQldTeEZRVU5hTEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlEycEZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRMlFzUTBGQlF6dFJRVU5HTEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU0xUlN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4RFFVTjJRaXhUUVVGcFFpeEZRVU5xUWl4UlFVRm5RaXhGUVVOb1FpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTnlSQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF6dFJRVU5vUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1UwRkJVeXhGUVVGRkxGRkJRVkVzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUXpsRkxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNiVUpCUVcxQ0xFTkJRM1pDTEZOQlFXbENMRVZCUTJwQ0xGRkJRV2RDTEVWQlEyaENMRk5CUVcxQ0xFVkJRMjVDTEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRU5CUTJ4Q0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc2NVSkJRWEZDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUTNKRUxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eERRVUZETzFGQlEyaERMRTFCUVUwc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eHhRa0ZCY1VJc1EwRkRNVU1zVTBGQlV5eEZRVU5VTEZGQlFWRXNSVUZEVWl4VFFVRlRMRVZCUTFRc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSUxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlEyNUNMRk5CUVdsQ0xFVkJRMnBDTEZGQlFXZENMRVZCUTJoQ0xHTkJRVzlETEVWQlEzQkRMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGRGVFVXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkRja0lzUTBGQlF6dFJRVU5HTEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhsUVVGbExFTkJRM0JETEZOQlFWTXNSVUZEVkN4UlFVRlJMRVZCUTFJc1kwRkJZeXhGUVVOa0xFZEJRVWNzVDBGQlR5eERRVU5ZTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVTm9RaXhOUVVFeVFpeEZRVU16UWl4VFFVRjFSU3hGUVVOMlJTeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVU55UlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVOc1FpeERRVUZETzFGQlEwWXNUMEZCVHl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExGbEJRVmtzUTBGQlF5eE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGVFVXNRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXh2UWtGQmIwSXNRMEZEZUVJc1UwRkJhVUlzUlVGRGFrSXNWVUZCYTBJc1JVRkRiRUlzVVVGQlowSXNSVUZEYUVJc1UwRkJiVUlzUlVGRGJrSXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3h6UWtGQmMwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRkRVFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEhOQ1FVRnpRaXhEUVVNelF5eFRRVUZUTEVWQlExUXNWVUZCVlN4RlFVTldMRkZCUVZFc1JVRkRVaXhUUVVGVExFVkJRMVFzUjBGQlJ5eFBRVUZQTEVOQlExZ3NRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUTNSQ0xHMUNRVUYzUXl4RlFVTjRReXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUjBGQlJ5eERRVU5zUWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU53UkN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1EwRkJRenRSUVVNdlFpeE5RVUZOTEdWQlFXVXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zWTBGQll5eERRVU16UkN4dFFrRkJiVUlzUTBGQlF5eFhRVUZaTEVWQlEyaERMRWRCUVVjc1QwRkJUeXhEUVVOWUxFTkJRVU03VVVGRFJpeE5RVUZOTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1ZVRkJWU3hEUVVNdlFpeGxRVUZsTEVWQlEyWXNiVUpCUVcxQ0xFTkJRVU1zV1VGQllTeEZRVU5xUXl4SFFVRkhMRTlCUVU4c1EwRkRXQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4cFFrRkJhVUlzUTBGRGNrSXNUVUZCTkVJc1JVRkROVUlzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZEYmtRc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03VVVGRE9VSXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZGT1VNc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zWTBGQll5eERRVU0xUkN4bFFVRmxMRU5CUVVNc1dVRkJXU3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNXVUZCWVN4RlFVTjZSQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExGZEJRVmNzUTBGRGFrTXNaVUZCWlN4RFFVRkRMRmxCUVdFc1EwRkJReXhMUVVGTExFVkJRMjVETEdWQlFXVXNRMEZCUXl4WFFVRlhMRWxCUVVrc1JVRkJSU3hGUVVOcVF5eEhRVUZITEU5QlFVOHNRMEZEV0N4RFFVRkRPMUZCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEdWQlFXVXNRMEZCUXl4WlFVRmhMRU5CUVVNc1MwRkJTeXhGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZGZWtVc1RVRkJUU3hoUVVGaExFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMR1ZCUVdVc1EwRkRNVVFzWlVGQlpTeERRVUZETEZsQlFXRXNSVUZETjBJc1JVRkJSU3hGUVVOR0xFZEJRVWNzVDBGQlR5eERRVU5ZTEVOQlFVTTdVVUZEUml4bFFVRmxMRU5CUVVNc1dVRkJZU3hEUVVGRExGbEJRVmtzUjBGQlJ5eGhRVUZoTEVOQlFVTTdVVUZGTTBRc1RVRkJUU3h0UWtGQmJVSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zWVVGQllTeERRVU5vUlN4blFrRkJaMElzUlVGRGFFSXNaVUZCWlN4RFFVRkRMRmxCUVdFc1EwRkJReXhMUVVGTExFVkJRMjVETEd0Q1FVRnJRaXhGUVVOc1FpeEhRVUZITEU5QlFVOHNRMEZEV0N4RFFVRkRPMUZCUTBZc1RVRkJUU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEdsQ1FVRnBRaXhEUVVOMFF5eHBRa0ZCYVVJc1pVRkJaU3hEUVVGRExGbEJRV0VzUTBGQlF5eExRVUZMTEZsQlFWa3NiVUpCUVcxQ0xGRkJRVkVzUlVGRE0wWXNhVUpCUVdsQ0xHVkJRV1VzUTBGQlF5eFpRVUZoTEVOQlFVTXNTMEZCU3l4VlFVRlZMR0ZCUVdFc01FSkJRVEJDTEcxQ1FVRnRRaXhGUVVGRkxFVkJRekZJTEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVVzTWtKQlFUSkNMRU5CUVVNc1JVRkRMME1zWjBKQlFXZENMRVZCUTJoQ0xFZEJRVWNzVDBGQlR5eERRVU5ZTEVOQlFVTTdVVUZGUml4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNXVUZCV1N4RFFVTjBSQ3hsUVVGbExFVkJRMllzVTBGQlV5eEZRVU5VTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhsUVVGbExFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNSMEZCUnl4VlFVRlZMRU5CUVVNN1VVRkZMME1zVFVGQlRTeEpRVUZKTEVOQlFVTXNPRUpCUVRoQ0xFTkJRM1pETEdWQlFXVXNRMEZCUXl4WlFVRmhMRVZCUXpkQ0xFZEJRVWNzVDBGQlR5eERRVU5ZTEVOQlFVTTdVVUZGUml4UFFVRlBMR1ZCUVdVc1EwRkJRenRKUVVONlFpeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRzlDUVVGdlFpeERRVU40UWl4dFFrRkJkME1zUlVGRGVFTXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3h6UWtGQmMwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRkRVFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdVVUZGYWtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEdsQ1FVRnBRaXhEUVVONFF5eHRRa0ZCYlVJc1JVRkRia0lzVTBGQlV5eEZRVU5VTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhKUVVGSkxHMUNRVUZ0UWl4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEVOQlFVTTdXVUZEZWtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc2MwSkJRWE5DTEVOQlEzWkVMRzFDUVVGdFFpeEZRVU51UWl4VFFVRlRMRVZCUTFRc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dFpRVU5HTEUxQlFVMHNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeERRVUZETERaQ1FVRTJRaXhEUVVNNVJDeHRRa0ZCYlVJc1JVRkRia0lzVTBGQlV5eEZRVU5VTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRTaXhEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGRGRFSXNVMEZCYVVJc1JVRkRha0lzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4dlFrRkJiMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZEY0VRc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03VVVGREwwSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExGZEJRVmNzUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVNM1JDeERRVUZETzBsQlJVOHNaMEpCUVdkQ0xFTkJRVU1zVFVGQk1rSTdVVUZEYkVRc1QwRkJUeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEyeENMRTlCUVU4c1JVRkJSU3hIUVVGSExFMUJRVTBzUTBGQlF5eFJRVUZSTEUxQlFVMHNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSVHRaUVVNNVF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4alFVRmpMRVZCUVVVc2EwSkJRV3RDTEVWQlFVVTdXVUZETDBNc1kwRkJZeXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVazdXVUZETVVJc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0blFrRkRNVUlzYTBKQlFXdENMRVZCUVVVc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJUdGhRVU40UXl4RFFVRkRPMU5CUTBnc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUTNoQ0xGTkJRV2xDTEVWQlEycENMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hqUVVGakxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUTNKRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlEyeENMRU5CUVVNN1VVRkZSaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1MwRkJTeXhEUVVGRE8xRkJRM0JETEU5QlFVOHNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExGRkJRVkVzUlVGQlJTeERRVUZETzFsQlF6ZENMRWxCUVVrc1EwRkJRenRuUWtGRFNDeE5RVUZOTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVONFJDeFBRVUZQTzFsQlExUXNRMEZCUXp0WlFVRkRMRTFCUVUwc1EwRkJRenRuUWtGRFVDeE5RVUZOTEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE0wUXNRMEZCUXp0UlFVTklMRU5CUVVNN1VVRkRSQ3hOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEN0Q1FVRXJRaXhUUVVGVExFVkJRVVVzUTBGQlF5eERRVUZETzBsQlEzUkZMRU5CUVVNN1NVRkZUeXhMUVVGTExFTkJRVU1zT0VKQlFUaENMRU5CUXpGRExGbEJRVEJDTEVWQlF6RkNMRWRCUVVjc1NVRkJlVUk3VVVGRk5VSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETERoQ1FVRTRRaXhEUVVGRExFTkJRVU03VVVGRmRrUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU5zUkN4TlFVRk5MR2RDUVVGblFpeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhqUVVGakxFTkJRelZFTEZsQlFWa3NSVUZEV2l4SFFVRkhMRWxCUVVrc1EwRkRVaXhEUVVGRE8xRkJRMFlzVFVGQlRTeGhRVUZoTEVkQlFVY3NUVUZCVFN4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRE8xbEJRM3BETEUxQlFVMHNSVUZCUlN4TFFVRkxPMWxCUTJJc1IwRkJSeXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UlFVRlJMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEdsQ1FVRnBRaXhaUVVGWkxFTkJRVU1zUzBGQlN5eG5Ra0ZCWjBJN1dVRkRja2NzVDBGQlR5eEZRVUZGTzJkQ1FVTlFMR0ZCUVdFc1JVRkJSU3hWUVVGVkxHZENRVUZuUWl4RlFVRkZPMkZCUXpWRE8xbEJRMFFzWTBGQll5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1UwRkRNMElzUTBGQlF5eERRVUZETzFGQlEwZ3NUVUZCVFN4WlFVRlpMRWRCUTJoQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRlZjRUlzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVNNVFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hMUVVGTExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzaEZMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NWVUZCVlN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hKUVVGSkxFTkJRM3BFTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeExRVUZMTEdOQlFXTXNRMEZETTBNc1EwRkJRenRSUVVOR0xFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeERRVUZETzFsQlEzUkRMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zYjBOQlFXOURMRU5CUVVNc1EwRkJRenRSUVVOb1JTeERRVUZETzFGQlEwUXNhVUpCUVdsQ0xFTkJRVU1zVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETzFGQlEzQkVMRTFCUVUwc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFpRVU51UWl4TlFVRk5MRVZCUVVVc1MwRkJTenRaUVVOaUxFZEJRVWNzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4cFFrRkJhVUlzV1VGQldTeERRVUZETEV0QlFVc3NhMEpCUVd0Q0xGVkJRVlVzUTBGQlF5eEZRVUZGTERSQ1FVRTBRaXhwUWtGQmFVSXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRkRXNzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdXVUZEZGtNc1QwRkJUeXhGUVVGRk8yZENRVU5RTEdGQlFXRXNSVUZCUlN4VlFVRlZMR2RDUVVGblFpeEZRVUZGTzJkQ1FVTXpReXhqUVVGakxFVkJRVVVzYTBKQlFXdENPMkZCUTI1RE8xbEJRMFFzWTBGQll5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1UwRkRNMElzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVlBMR2xDUVVGcFFpeERRVUZKTEVsQlFXRTdVVUZEZUVNc1NVRkJTU3hQUVVGUExFbEJRVWtzUzBGQlN5eFJRVUZSTEVWQlFVVXNRMEZCUXp0WlFVTTNRaXhKUVVGSkxFTkJRVU03WjBKQlEwZ3NUMEZCVHl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlRTeERRVUZETzFsQlF5OUNMRU5CUVVNN1dVRkJReXhOUVVGTkxFTkJRVU03WjBKQlExQXNUMEZCVHl4VFFVRlRMRU5CUVVNN1dVRkRia0lzUTBGQlF6dFJRVU5JTEVOQlFVTTdVVUZEUkN4UFFVRlBMRWxCUVZNc1EwRkJRenRKUVVOdVFpeERRVUZETzBOQlEwWXNRMEZCUVR0QlFTOWhXU3hsUVVGbE8wbEJTRE5DTEZkQlFWY3NRMEZEVml4NVJrRkJlVVlzUTBGRE1VWTdPMGRCUTFrc1pVRkJaU3hEUVN0aE0wSWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJrWlhOamNtbHdkR2x2YmlCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1EyeHBaVzUwUW1GelpXUlRaWEoyYVdObExGeHVJQ0JEYjI1MFpYaDBkV0ZzUVhKbmN5eGNiaUFnVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuTEZ4dUlDQnpaWEoyYVdObExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRWx1ZEdWeWJtRnNSWEp5YjNJc0lFNXZkRVp2ZFc1a1JYSnliM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSaUxXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeXdnUzJWNVkyeHZZV3RWYzJWeUlIMGdabkp2YlNCY0lpNHVMM1I1Y0dWelhDSTdYRzVwYlhCdmNuUWdRWGhwYjNNc0lIc2dRWGhwYjNOSmJuTjBZVzVqWlNCOUlHWnliMjBnWENKaGVHbHZjMXdpTzF4dWFXMXdiM0owSUNvZ1lYTWdhSFIwY0hNZ1puSnZiU0JjSW01dlpHVTZhSFIwY0hOY0lqdGNibHh1YVcxd2IzSjBJSHNnUzJWNVkyeHZZV3RTWldGc2JWTmxjblpwWTJVZ2ZTQm1jbTl0SUZ3aUxpOUxaWGxqYkc5aGExSmxZV3h0VTJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1MyVjVZMnh2WVd0VmMyVnlVMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSXVMMHRsZVdOc2IyRnJWWE5sY2xObGNuWnBZMlZjSWp0Y2JtbHRjRzl5ZENCN0lFdGxlV05zYjJGclVtOXNaVk5sY25acFkyVWdmU0JtY205dElGd2lMaTlMWlhsamJHOWhhMUp2YkdWVFpYSjJhV05sWENJN1hHNXBiWEJ2Y25RZ2V5QkxaWGxqYkc5aGEwTnNhV1Z1ZEZObGNuWnBZMlVnZlNCbWNtOXRJRndpTGk5TFpYbGpiRzloYTBOc2FXVnVkRk5sY25acFkyVmNJanRjYm1sdGNHOXlkQ0I3SUV0bGVXTnNiMkZyU1dSbGJuUnBkSGxRY205MmFXUmxjbE5sY25acFkyVWdmU0JtY205dElGd2lMaTlMWlhsamJHOWhhMGxrWlc1MGFYUjVVSEp2ZG1sa1pYSlRaWEoyYVdObFhDSTdYRzVwYlhCdmNuUWdleUJMWlhsamJHOWhhMEYxZEdoVFpYSjJhV05sSUgwZ1puSnZiU0JjSWk0dlMyVjVZMnh2WVd0QmRYUm9VMlZ5ZG1salpWd2lPMXh1YVcxd2IzSjBJSHNnYzJWMFMyVjVZMnh2WVd0UWNtOWtkV04wYVc5dVVtVnpiMngyWlhJZ2ZTQm1jbTl0SUZ3aUxpOXlkVzUwYVcxbFhDSTdYRzVjYm5SNWNHVWdTMlY1WTJ4dllXdFNkVzUwYVcxbFUyVjBkWEJEYjI1bWFXY2dQU0JMWlhsamJHOWhhMU5sZEhWd1EyOXVabWxuSUNZZ2UxeHVJQ0JwYzFCeWIyUjFZM1JwYjI0b0tUb2dZbTl2YkdWaGJqdGNibjA3WEc1Y2JrQmtaWE5qY21sd2RHbHZiaWhjYmlBZ1hDSlBjbU5vWlhOMGNtRjBaWE1nUzJWNVkyeHZZV3NnY21WaGJHMHZkWE5sY2k5amJHbGxiblFnY0hKdmRtbHphVzl1YVc1bklHRmpjbTl6Y3lCMGFHVWdhVzV1WlhJZ1MyVjVZMnh2WVdzZ2MyVnlkbWxqWlhOY0lseHVLVnh1Wlhod2IzSjBJR05zWVhOeklFdGxlV05zYjJGclUyVnlkbWxqWlNCbGVIUmxibVJ6SUVOc2FXVnVkRUpoYzJWa1UyVnlkbWxqWlR4Y2JpQWdRWGhwYjNOSmJuTjBZVzVqWlN4Y2JpQWdTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaMXh1UGlCN1hHNGdJSEJ5YjNSbFkzUmxaQ0J5WldGc2JWTmxjblpwWTJVaE9pQkxaWGxqYkc5aGExSmxZV3h0VTJWeWRtbGpaVHRjYmx4dUlDQndjbTkwWldOMFpXUWdkWE5sY2xObGNuWnBZMlVoT2lCTFpYbGpiRzloYTFWelpYSlRaWEoyYVdObE8xeHVYRzRnSUhCeWIzUmxZM1JsWkNCeWIyeGxVMlZ5ZG1salpTRTZJRXRsZVdOc2IyRnJVbTlzWlZObGNuWnBZMlU3WEc1Y2JpQWdjSEp2ZEdWamRHVmtJR05zYVdWdWRGTmxjblpwWTJVaE9pQkxaWGxqYkc5aGEwTnNhV1Z1ZEZObGNuWnBZMlU3WEc1Y2JpQWdjSEp2ZEdWamRHVmtJR2xrWlc1MGFYUjVVSEp2ZG1sa1pYSlRaWEoyYVdObElUb2dTMlY1WTJ4dllXdEpaR1Z1ZEdsMGVWQnliM1pwWkdWeVUyVnlkbWxqWlR0Y2JseHVJQ0J3Y205MFpXTjBaV1FnWVhWMGFGTmxjblpwWTJVaE9pQkxaWGxqYkc5aGEwRjFkR2hUWlhKMmFXTmxPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzRnSUgxY2JseHVJQ0J3Y205MFpXTjBaV1FnYVhOUWNtOWtkV04wYVc5dUtDazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lISmxkSFZ5YmlBaFcxd2laR1YyWld4dmNHMWxiblJjSWl3Z1hDSnNiMk5oYkZ3aVhTNXBibU5zZFdSbGN5aHdjbTlqWlhOekxtVnVkbHRjSWs1UFJFVmZSVTVXWENKZElEOC9JRndpWENJcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2FXNXBkR2xoYkdsNlpTaGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIc2dZMjl1Wm1sbk9pQkxaWGxqYkc5aGExTmxkSFZ3UTI5dVptbG5PeUJqYkdsbGJuUTZJRUY0YVc5elNXNXpkR0Z1WTJVZ2ZUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2JHOW5MQ0JqZEhoQmNtZHpJSDBnUFNBb1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKcGJtbDBhV0ZzYVhwbFhDSXNJSFJ5ZFdVcEtTNW1iM0lvWEc0Z0lDQWdJQ0IwYUdsekxtbHVhWFJwWVd4cGVtVmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR052Ym1acFp5QTlJR04wZUVGeVozTmJNRjBnWVhNZ1MyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp6dGNiaUFnSUNCamIyNXpkQ0J5ZFc1MGFXMWxRMjl1Wm1sbk9pQkxaWGxqYkc5aGExSjFiblJwYldWVFpYUjFjRU52Ym1acFp5QTlJSHRjYmlBZ0lDQWdJQzR1TG1OdmJtWnBaeXhjYmlBZ0lDQWdJR2x6VUhKdlpIVmpkR2x2YmpvZ2RHaHBjeTVwYzFCeWIyUjFZM1JwYjI0dVltbHVaQ2gwYUdsektTeGNiaUFnSUNCOU8xeHVJQ0FnSUhSb2FYTXVYMk52Ym1acFp5QTlJSEoxYm5ScGJXVkRiMjVtYVdjN1hHNGdJQ0FnYzJWMFMyVjVZMnh2WVd0UWNtOWtkV04wYVc5dVVtVnpiMngyWlhJb2RHaHBjeTVwYzFCeWIyUjFZM1JwYjI0dVltbHVaQ2gwYUdsektTazdYRzVjYmlBZ0lDQnNiMmN1WkdWaWRXY29ZRUpwYm1ScGJtY2dhVzV1WlhJZ2MyVnlkbWxqWlhNdUxpNWdLVHRjYmlBZ0lDQnpaWEoyYVdObEtDa29TMlY1WTJ4dllXdFNaV0ZzYlZObGNuWnBZMlVwTzF4dUlDQWdJSE5sY25acFkyVW9LU2hMWlhsamJHOWhhMVZ6WlhKVFpYSjJhV05sS1R0Y2JpQWdJQ0J6WlhKMmFXTmxLQ2tvUzJWNVkyeHZZV3RTYjJ4bFUyVnlkbWxqWlNrN1hHNGdJQ0FnYzJWeWRtbGpaU2dwS0V0bGVXTnNiMkZyUTJ4cFpXNTBVMlZ5ZG1salpTazdYRzRnSUNBZ2MyVnlkbWxqWlNncEtFdGxlV05zYjJGclNXUmxiblJwZEhsUWNtOTJhV1JsY2xObGNuWnBZMlVwTzF4dUlDQWdJSE5sY25acFkyVW9LU2hMWlhsamJHOWhhMEYxZEdoVFpYSjJhV05sS1R0Y2JseHVJQ0FnSUd4dlp5NWtaV0oxWnloZ1NXNXBkR2xoYkdsNmFXNW5JR2x1Ym1WeUlITmxjblpwWTJWekxpNHVZQ2s3WEc0Z0lDQWdkR2hwY3k1eVpXRnNiVk5sY25acFkyVWdQU0J1WlhjZ1MyVjVZMnh2WVd0U1pXRnNiVk5sY25acFkyVW9LVHRjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbkpsWVd4dFUyVnlkbWxqWlM1cGJtbDBhV0ZzYVhwbEtISjFiblJwYldWRGIyNW1hV2NzSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0FnSUhSb2FYTXVkWE5sY2xObGNuWnBZMlVnUFNCdVpYY2dTMlY1WTJ4dllXdFZjMlZ5VTJWeWRtbGpaU2dwTzF4dUlDQWdJR0YzWVdsMElIUm9hWE11ZFhObGNsTmxjblpwWTJVdWFXNXBkR2xoYkdsNlpTaHlkVzUwYVcxbFEyOXVabWxuTENBdUxpNWpkSGhCY21kektUdGNiaUFnSUNCMGFHbHpMbkp2YkdWVFpYSjJhV05sSUQwZ2JtVjNJRXRsZVdOc2IyRnJVbTlzWlZObGNuWnBZMlVvS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5KdmJHVlRaWEoyYVdObExtbHVhWFJwWVd4cGVtVW9jblZ1ZEdsdFpVTnZibVpwWnl3Z0xpNHVZM1I0UVhKbmN5azdYRzRnSUNBZ2RHaHBjeTVqYkdsbGJuUlRaWEoyYVdObElEMGdibVYzSUV0bGVXTnNiMkZyUTJ4cFpXNTBVMlZ5ZG1salpTZ3BPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MFUyVnlkbWxqWlM1cGJtbDBhV0ZzYVhwbEtISjFiblJwYldWRGIyNW1hV2NzSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0FnSUhSb2FYTXVhV1JsYm5ScGRIbFFjbTkyYVdSbGNsTmxjblpwWTJVZ1BTQnVaWGNnUzJWNVkyeHZZV3RKWkdWdWRHbDBlVkJ5YjNacFpHVnlVMlZ5ZG1salpTZ3BPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVhV1JsYm5ScGRIbFFjbTkyYVdSbGNsTmxjblpwWTJVdWFXNXBkR2xoYkdsNlpTaHlkVzUwYVcxbFEyOXVabWxuTENBdUxpNWpkSGhCY21kektUdGNiaUFnSUNCMGFHbHpMbUYxZEdoVFpYSjJhV05sSUQwZ2JtVjNJRXRsZVdOc2IyRnJRWFYwYUZObGNuWnBZMlVvS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1GMWRHaFRaWEoyYVdObExtbHVhWFJwWVd4cGVtVW9jblZ1ZEdsdFpVTnZibVpwWnl3Z0xpNHVZM1I0UVhKbmN5azdYRzVjYmlBZ0lDQmpiMjV6ZENCamJHbGxiblFnUFNCMGFHbHpMbU55WldGMFpVaDBkSEJEYkdsbGJuUW9jblZ1ZEdsdFpVTnZibVpwWnlrN1hHNGdJQ0FnZEdocGN5NWZZMnhwWlc1MElEMGdZMnhwWlc1ME8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloY2JpQWdJQ0FnSUdCTFpYbGpiRzloYXlCVFpYSjJhV05sSUdsdWFYUnBZV3hwZW1Wa0lIZHBkR2dnWTI5dVptbG5PaUFrZTBwVFQwNHVjM1J5YVc1bmFXWjVLR052Ym1acFp5bDlZRnh1SUNBZ0lDazdYRzRnSUNBZ2NtVjBkWEp1SUhzZ1kyOXVabWxuTENCamJHbGxiblFnZlR0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhObGRIVndTMlY1WTJ4dllXc29YRzRnSUNBZ2EyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp6b2dTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeXhjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRXRsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2MrSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW5ObGRIVndTMlY1WTJ4dllXdGNJaXdnZEhKMVpTa3BMbVp2Y2loY2JpQWdJQ0FnSUhSb2FYTXVjMlYwZFhCTFpYbGpiRzloYTF4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmhaRzFwYmtGd2FWVnpaWEpWVlVsRUlEMGdZWGRoYVhRZ2RHaHBjeTUxYzJWeVUyVnlkbWxqWlM1aFpHUlZjMlZ5Vkc5U1pXRnNiU2hjYmlBZ0lDQWdJR3RsZVdOc2IyRnJVMlYwZFhCRGIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUlTeGNiaUFnSUNBZ0lIdDlMRnh1SUNBZ0lDQWdMaTR1WTNSNFFYSm5jMXh1SUNBZ0lDazdYRzRnSUNBZ2EyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp5NWhaRzFwYmtGd2FWVnpaWEloTG5WelpYSnVZVzFsVlZWSlJDQTlJR0ZrYldsdVFYQnBWWE5sY2xWVlNVUTdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsVTJWeWRtbGpaUzVuY21GdWRGSmxZV3h0VW05c1pYTlViMVZ6WlhJb1hHNGdJQ0FnSUNCclpYbGpiRzloYTFObGRIVndRMjl1Wm1sbkxtRmtiV2x1UVhCcFZYTmxjaUV1Y21WaGJHMHNYRzRnSUNBZ0lDQmhaRzFwYmtGd2FWVnpaWEpWVlVsRUxGeHVJQ0FnSUNBZ1cxd2lZV1J0YVc1Y0lsMHNYRzRnSUNBZ0lDQXVMaTVqZEhoQmNtZHpYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnYTJWNVkyeHZZV3RUWlhSMWNFTnZibVpwWnp0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdGa1pGSmxZV3h0S0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lIQmhlV3h2WVdRNklHRnVlU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltRmtaRkpsWVd4dFhDSXNJSFJ5ZFdVcEtTNW1iM0lvWEc0Z0lDQWdJQ0IwYUdsekxtRmtaRkpsWVd4dFhHNGdJQ0FnS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5KbFlXeHRVMlZ5ZG1salpTNWhaR1JTWldGc2JTaHlaV0ZzYlU1aGJXVXNJSEJoZVd4dllXUXNJQzR1TG1OMGVFRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWldScGRGSmxZV3h0S0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lIQmhlV3h2WVdRNklHRnVlU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltVmthWFJTWldGc2JWd2lMQ0IwY25WbEtTa3VabTl5S0Z4dUlDQWdJQ0FnZEdocGN5NWxaR2wwVW1WaGJHMWNiaUFnSUNBcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWNtVmhiRzFUWlhKMmFXTmxMbVZrYVhSU1pXRnNiU2h5WldGc2JVNWhiV1VzSUhCaGVXeHZZV1FzSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2NtVnRiM1psVW1WaGJHMG9YRzRnSUNBZ2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkSGhCY21keklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0p5WlcxdmRtVlNaV0ZzYlZ3aUxDQjBjblZsS1NrdVptOXlLRnh1SUNBZ0lDQWdkR2hwY3k1eVpXMXZkbVZTWldGc2JWeHVJQ0FnSUNrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1eVpXRnNiVk5sY25acFkyVXVjbVZ0YjNabFVtVmhiRzBvY21WaGJHMU9ZVzFsTENBdUxpNWpkSGhCY21kektUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHRmtaRlZ6WlhKVWIxSmxZV3h0S0Z4dUlDQWdJR3RsZVdOc2IyRnJWWE5sY2pvZ1MyVjVZMnh2WVd0VmMyVnlMRnh1SUNBZ0lIQmhlV3h2WVdRNklHRnVlU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSE4wY21sdVp6NGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lZV1JrVlhObGNsUnZVbVZoYkcxY0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdVlXUmtWWE5sY2xSdlVtVmhiRzFjYmlBZ0lDQXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ6WlhKVFpYSjJhV05sTG1Ga1pGVnpaWEpVYjFKbFlXeHRLR3RsZVdOc2IyRnJWWE5sY2l3Z2NHRjViRzloWkN3Z0xpNHVZM1I0UVhKbmN5azdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QmxaR2wwVlhObGNpaGNiaUFnSUNCeVpXRnNiVTVoYldVNklITjBjbWx1Wnl4Y2JpQWdJQ0IxYzJWeVZWVkpSRG9nYzNSeWFXNW5MRnh1SUNBZ0lIQmhlV3h2WVdRNklHRnVlU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltVmthWFJWYzJWeVhDSXNJSFJ5ZFdVcEtTNW1iM0lvWEc0Z0lDQWdJQ0IwYUdsekxtVmthWFJWYzJWeVhHNGdJQ0FnS1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5WelpYSlRaWEoyYVdObExtVmthWFJWYzJWeUtISmxZV3h0VG1GdFpTd2dkWE5sY2xWVlNVUXNJSEJoZVd4dllXUXNJQzR1TG1OMGVFRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nY21WdGIzWmxWWE5sY2taeWIyMVNaV0ZzYlNoY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQjFjMlZ5VlZWSlJEb2djM1J5YVc1bkxGeHVJQ0FnSUM0dUxtRnlaM002SUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5Wnp4aGJuaytYRzRnSUNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0p5WlcxdmRtVlZjMlZ5Um5KdmJWSmxZV3h0WENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTV5WlcxdmRtVlZjMlZ5Um5KdmJWSmxZV3h0S1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5WelpYSlRaWEoyYVdObExuSmxiVzkyWlZWelpYSkdjbTl0VW1WaGJHMG9jbVZoYkcxT1lXMWxMQ0IxYzJWeVZWVkpSQ3dnTGk0dVkzUjRRWEpuY3lrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCaFpHUlNaV0ZzYlZKdmJHVnpWRzlWYzJWeUtGeHVJQ0FnSUhKbFlXeHRUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJSFZ6WlhKVlZVbEVPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2NtOXNaVTVoYldWek9pQnpkSEpwYm1kYlhTeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWVdSa1VtVmhiRzFTYjJ4bGMxUnZWWE5sY2x3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11WVdSa1VtVmhiRzFTYjJ4bGMxUnZWWE5sY2lrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1eWIyeGxVMlZ5ZG1salpTNW5jbUZ1ZEZKbFlXeHRVbTlzWlhOVWIxVnpaWElvWEc0Z0lDQWdJQ0J5WldGc2JVNWhiV1VzWEc0Z0lDQWdJQ0IxYzJWeVZWVkpSQ3hjYmlBZ0lDQWdJSEp2YkdWT1lXMWxjeXhjYmlBZ0lDQWdJQzR1TG1OMGVFRnlaM05jYmlBZ0lDQXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaWE1nWVNCeVpXRnNiUzFzWlhabGJDQnliMnhsTENCdmNIUnBiMjVoYkd4NUlHRnpJR0VnWTI5dGNHOXphWFJsSUc5bUlHVjRhWE4wYVc1bklISnZiR1Z6TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWTNKbFlYUmxVbVZoYkcxU2IyeGxLRnh1SUNBZ0lISmxZV3h0VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUhKdmJHVk9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdZMjl0Y0c5emFYUmxVbTlzWlhNNklITjBjbWx1WjF0ZElId2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTNSNFFYSm5jeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aVkzSmxZWFJsVW1WaGJHMVNiMnhsWENJc0lIUnlkV1VwS1M1bWIzSW9YRzRnSUNBZ0lDQjBhR2x6TG1OeVpXRjBaVkpsWVd4dFVtOXNaVnh1SUNBZ0lDazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NXliMnhsVTJWeWRtbGpaUzVqY21WaGRHVlNaV0ZzYlZKdmJHVW9YRzRnSUNBZ0lDQnlaV0ZzYlU1aGJXVXNYRzRnSUNBZ0lDQnliMnhsVG1GdFpTeGNiaUFnSUNBZ0lHTnZiWEJ2YzJsMFpWSnZiR1Z6TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsY3lCaElHTnNhV1Z1ZENCcGJpQjBhR1VnWTI5dVptbG5kWEpsWkNCeVpXRnNiU0JoYm1RZ2NtVjBkWEp1Y3lCcGRITWdWVlZKUkM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUdOeVpXRjBaVU5zYVdWdWRDaGNiaUFnSUNCamIyNW1hV2M2SUV0bGVXTnNiMkZyVTJWMGRYQkRiMjVtYVdjc1hHNGdJQ0FnYjNabGNuSnBaR1Z6T2lCUVlYSjBhV0ZzUEdsdGNHOXlkQ2hjSWk0dUwzUjVjR1Z6WENJcExrdGxlV05zYjJGclEyeHBaVzUwUTI5dVptbG5QaUI4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhOMGNtbHVaejRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWTNKbFlYUmxRMnhwWlc1MFhDSXNJSFJ5ZFdVcEtTNW1iM0lvWEc0Z0lDQWdJQ0IwYUdsekxtTnlaV0YwWlVOc2FXVnVkRnh1SUNBZ0lDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnhwWlc1MFUyVnlkbWxqWlM1amNtVmhkR1ZEYkdsbGJuUW9ZMjl1Wm1sbkxDQnZkbVZ5Y21sa1pYTXNJQzR1TG1OMGVFRnlaM01wTzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nWVdSa1EyeHBaVzUwVW05c1pYTlViMVZ6WlhJb1hHNGdJQ0FnY21WaGJHMU9ZVzFsT2lCemRISnBibWNzWEc0Z0lDQWdZMnhwWlc1MFZWVkpSRG9nYzNSeWFXNW5MRnh1SUNBZ0lIVnpaWEpWVlVsRU9pQnpkSEpwYm1jc1hHNGdJQ0FnY205c1pVNWhiV1Z6T2lCemRISnBibWRiWFN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlRUZ5WjNNZ2ZTQTlJQ2hjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lZV1JrUTJ4cFpXNTBVbTlzWlhOVWIxVnpaWEpjSWl3Z2RISjFaU2xjYmlBZ0lDQXBMbVp2Y2loMGFHbHpMbUZrWkVOc2FXVnVkRkp2YkdWelZHOVZjMlZ5S1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5KdmJHVlRaWEoyYVdObExtZHlZVzUwUTJ4cFpXNTBVbTlzWlhOVWIxVnpaWElvWEc0Z0lDQWdJQ0J5WldGc2JVNWhiV1VzWEc0Z0lDQWdJQ0JqYkdsbGJuUlZWVWxFTEZ4dUlDQWdJQ0FnZFhObGNsVlZTVVFzWEc0Z0lDQWdJQ0J5YjJ4bFRtRnRaWE1zWEc0Z0lDQWdJQ0F1TGk1amRIaEJjbWR6WEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR1JsYkdWMFpVRmtiV2x1UVhCcFZYTmxjaWhjYmlBZ0lDQnJaWGxqYkc5aGExTmxkSFZ3UTI5dVptbG5PaUJMWlhsamJHOWhhMU5sZEhWd1EyOXVabWxuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSmtaV3hsZEdWQlpHMXBia0Z3YVZWelpYSmNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtUmxiR1YwWlVGa2JXbHVRWEJwVlhObGNpazdYRzRnSUNBZ1kyOXVjM1FnY205dmRFRmpZMlZ6YzFSdmEyVnVJRDBnWVhkaGFYUWdkR2hwY3k1aGRYUm9VMlZ5ZG1salpTNW5aWFJCWTJObGMzTlViMnRsYmloY2JpQWdJQ0FnSUd0bGVXTnNiMkZyVTJWMGRYQkRiMjVtYVdjdWNtOXZkRUZ3YVZWelpYSWhMRnh1SUNBZ0lDQWdMaTR1WTNSNFFYSm5jMXh1SUNBZ0lDazdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NTFjMlZ5VTJWeWRtbGpaUzVrWld4bGRHVlZjMlZ5S0Z4dUlDQWdJQ0FnY205dmRFRmpZMlZ6YzFSdmEyVnVMRnh1SUNBZ0lDQWdhMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeTVoWkcxcGJrRndhVlZ6WlhJaExGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCelpYUjFjRTl5WjJGdWFYcGhkR2x2YmloY2JpQWdJQ0JqYjI1bWFXYy9PaUJMWlhsamJHOWhhMU5sZEhWd1EyOXVabWxuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4UzJWNVkyeHZZV3RUWlhSMWNFTnZibVpwWno0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTNSNFFYSm5jeUI5SUQwZ0tGeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKelpYUjFjRTl5WjJGdWFYcGhkR2x2Ymx3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11YzJWMGRYQlBjbWRoYm1sNllYUnBiMjRwTzF4dUlDQWdJR052Ym5OMElHVm1abVZqZEdsMlpVTnZibVpwWnlBOUlHTnZibVpwWnlBL1B5QjBhR2x6TG1OdmJtWnBaenRjYmx4dUlDQWdJR052Ym5OMElHRmtiV2x1UVdOalpYTnpWRzlyWlc0Z1BTQmhkMkZwZENCMGFHbHpMbUYxZEdoVFpYSjJhV05sTG1kbGRFRmpZMlZ6YzFSdmEyVnVLRnh1SUNBZ0lDQWdaV1ptWldOMGFYWmxRMjl1Wm1sbkxtRmtiV2x1UVhCcFZYTmxjaUI4ZkNCMGFHbHpMbU52Ym1acFp5NWhaRzFwYmtGd2FWVnpaWEloTEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5KbFlXeHRVMlZ5ZG1salpTNWpjbVZoZEdWU1pXRnNiU2hjYmlBZ0lDQWdJR1ZtWm1WamRHbDJaVU52Ym1acFp5NXlaV0ZzYlVGd2FWVnpaWEloTG5KbFlXeHRMRnh1SUNBZ0lDQWdaV1ptWldOMGFYWmxRMjl1Wm1sbkxuSmxZV3h0UTI5dVptbG5JRDgvSUh0OUxGeHVJQ0FnSUNBZ0xpNHVZM1I0UVhKbmMxeHVJQ0FnSUNrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1M1lXbDBSbTl5VW1WaGJHMG9aV1ptWldOMGFYWmxRMjl1Wm1sbkxuSmxZV3h0UVhCcFZYTmxjaUV1Y21WaGJHMHNJQzR1TG1OMGVFRnlaM01wTzF4dVhHNGdJQ0FnWTI5dWMzUWdjbVZoYkcxVmMyVnlWVlZKUkNBOUlHRjNZV2wwSUhSb2FYTXVkWE5sY2xObGNuWnBZMlV1WTNKbFlYUmxVbVZoYkcxVmMyVnlLRnh1SUNBZ0lDQWdaV1ptWldOMGFYWmxRMjl1Wm1sbkxuSmxZV3h0UVhCcFZYTmxjaUVzWEc0Z0lDQWdJQ0I3ZlN4Y2JpQWdJQ0FnSUM0dUxtTjBlRUZ5WjNOY2JpQWdJQ0FwTzF4dUlDQWdJR1ZtWm1WamRHbDJaVU52Ym1acFp5NXlaV0ZzYlVGd2FWVnpaWEloTG5WelpYSnVZVzFsVlZWSlJDQTlJSEpsWVd4dFZYTmxjbFZWU1VRN1hHNWNiaUFnSUNCamIyNXpkQ0J5WldGc2JVMWhibUZuWlcxbGJuUlZWVWxFSUQwZ1lYZGhhWFFnZEdocGN5NWpiR2xsYm5SVFpYSjJhV05sTG1kbGRFTnNhV1Z1ZEZWVlNVUW9YRzRnSUNBZ0lDQmhaRzFwYmtGalkyVnpjMVJ2YTJWdUxGeHVJQ0FnSUNBZ1pXWm1aV04wYVhabFEyOXVabWxuTG5KbFlXeHRRWEJwVlhObGNpRXVjbVZoYkcwc1hHNGdJQ0FnSUNCY0luSmxZV3h0TFcxaGJtRm5aVzFsYm5SY0lpeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWNtOXNaVk5sY25acFkyVXVZWE56YVdkdVVtOXNaWE5VYjFWelpYSW9YRzRnSUNBZ0lDQmdMMkZrYldsdUwzSmxZV3h0Y3k4a2UyVm1abVZqZEdsMlpVTnZibVpwWnk1eVpXRnNiVUZ3YVZWelpYSWhMbkpsWVd4dGZTOWpiR2xsYm5Sekx5UjdjbVZoYkcxTllXNWhaMlZ0Wlc1MFZWVkpSSDB2Y205c1pYTmdMRnh1SUNBZ0lDQWdZQzloWkcxcGJpOXlaV0ZzYlhNdkpIdGxabVpsWTNScGRtVkRiMjVtYVdjdWNtVmhiRzFCY0dsVmMyVnlJUzV5WldGc2JYMHZkWE5sY25NdkpIdHlaV0ZzYlZWelpYSlZWVWxFZlM5eWIyeGxMVzFoY0hCcGJtZHpMMk5zYVdWdWRITXZKSHR5WldGc2JVMWhibUZuWlcxbGJuUlZWVWxFZldBc1hHNGdJQ0FnSUNCYlhDSnRZVzVoWjJVdFkyeHBaVzUwYzF3aUxDQmNJbTFoYm1GblpTMXBaR1Z1ZEdsMGVTMXdjbTkyYVdSbGNuTmNJbDBzWEc0Z0lDQWdJQ0JoWkcxcGJrRmpZMlZ6YzFSdmEyVnVMRnh1SUNBZ0lDQWdMaTR1WTNSNFFYSm5jMXh1SUNBZ0lDazdYRzVjYmlBZ0lDQmpiMjV6ZENCamJHbGxiblJWVlVsRUlEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUlRaWEoyYVdObExtTnlaV0YwWlVOc2FXVnVkQ2hjYmlBZ0lDQWdJR1ZtWm1WamRHbDJaVU52Ym1acFp5eGNiaUFnSUNBZ0lIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdWbVptVmpkR2wyWlVOdmJtWnBaeTVqYkdsbGJuUXVZMnhwWlc1MFZWVkpSQ0E5SUdOc2FXVnVkRlZWU1VRN1hHNWNiaUFnSUNCaGQyRnBkQ0IwYUdsekxuVndaR0YwWlVOc2FXVnVkRk5qYjNCbGMxSnZiR1Z6VFdGd2NHVnljeWhjYmlBZ0lDQWdJR1ZtWm1WamRHbDJaVU52Ym1acFp5NXlaV0ZzYlVGd2FWVnpaWEloTEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdaV1ptWldOMGFYWmxRMjl1Wm1sbk8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2MyVjBkWEJQY21kaGJtbDZZWFJwYjI1VFUwOG9YRzRnSUNBZ2EyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp6b2dTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeXhjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWMyVjBkWEJQY21kaGJtbDZZWFJwYjI1VFUwOWNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxuTmxkSFZ3VDNKbllXNXBlbUYwYVc5dVUxTlBLVHRjYmx4dUlDQWdJR0YzWVdsMElIUm9hWE11WTJ4cFpXNTBVMlZ5ZG1salpTNWpjbVZoZEdWRGJHbGxiblJTYjJ4bGN5aGNiaUFnSUNBZ0lHdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXY3NYRzRnSUNBZ0lDQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQXVMaTVqZEhoQmNtZHpYRzRnSUNBZ0tUdGNiaUFnSUNCcFppQW9hMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeTVwWkdWdWRHbDBlVkJ5YjNacFpHVnlLU0I3WEc0Z0lDQWdJQ0JoZDJGcGRDQjBhR2x6TG1sa1pXNTBhWFI1VUhKdmRtbGtaWEpUWlhKMmFXTmxMbU55WldGMFpVbGtaVzUwYVhSNVVISnZkbWxrWlhJb1hHNGdJQ0FnSUNBZ0lHdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXY3NYRzRnSUNBZ0lDQWdJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWFXUmxiblJwZEhsUWNtOTJhV1JsY2xObGNuWnBZMlV1WTNKbFlYUmxTV1JsYm5ScGRIbFFjbTkyYVdSbGNrMWhjSEJsY25Nb1hHNGdJQ0FnSUNBZ0lHdGxlV05zYjJGclUyVjBkWEJEYjI1bWFXY3NYRzRnSUNBZ0lDQWdJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJrWld4bGRHVlBjbWRoYm1sNllYUnBiMjRvWEc0Z0lDQWdjbVZoYkcxT1lXMWxPaUJ6ZEhKcGJtY3NYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJqZEhoQmNtZHpJSDBnUFNBb1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW1SbGJHVjBaVTl5WjJGdWFYcGhkR2x2Ymx3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11WkdWc1pYUmxUM0puWVc1cGVtRjBhVzl1S1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG5KbFlXeHRVMlZ5ZG1salpTNXlaVzF2ZG1WU1pXRnNiU2h5WldGc2JVNWhiV1VzSUM0dUxtTjBlRUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmpjbVZoZEdWSWRIUndRMnhwWlc1MEtHTnZibVpwWnpvZ1MyVjVZMnh2WVd0VFpYUjFjRU52Ym1acFp5azZJRUY0YVc5elNXNXpkR0Z1WTJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJCZUdsdmN5NWpjbVZoZEdVb2UxeHVJQ0FnSUNBZ1ltRnpaVlZTVERvZ1lDUjdZMjl1Wm1sbkxuQnliM1J2WTI5c2ZUb3ZMeVI3WTI5dVptbG5MbWh2YzNSOVlDeGNiaUFnSUNBZ0lHaGxZV1JsY25NNklIc2dYQ0pEYjI1MFpXNTBMVlI1Y0dWY0lqb2dYQ0poY0hCc2FXTmhkR2x2Ymk5cWMyOXVYQ0lnZlN4Y2JpQWdJQ0FnSUhaaGJHbGtZWFJsVTNSaGRIVnpPaUFvS1NBOVBpQjBjblZsTEZ4dUlDQWdJQ0FnYUhSMGNITkJaMlZ1ZERvZ2JtVjNJR2gwZEhCekxrRm5aVzUwS0h0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wVlc1aGRYUm9iM0pwZW1Wa09pQjBhR2x6TG1selVISnZaSFZqZEdsdmJpZ3BMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJSGRoYVhSR2IzSlNaV0ZzYlNoY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0luZGhhWFJHYjNKU1pXRnNiVndpTENCMGNuVmxLU2t1Wm05eUtGeHVJQ0FnSUNBZ2RHaHBjeTUzWVdsMFJtOXlVbVZoYkcxY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnWTI5dWMzUWdaR1ZoWkd4cGJtVWdQU0JFWVhSbExtNXZkeWdwSUNzZ01UVXdNREE3WEc0Z0lDQWdkMmhwYkdVZ0tFUmhkR1V1Ym05M0tDa2dQQ0JrWldGa2JHbHVaU2tnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTV5WldGc2JWTmxjblpwWTJVdVoyVjBVbVZoYkcwb2NtVmhiRzFPWVcxbExDQXVMaTVqZEhoQmNtZHpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQjdYRzRnSUNBZ0lDQWdJR0YzWVdsMElHNWxkeUJRY205dGFYTmxLQ2h5WlhOdmJIWmxLU0E5UGlCelpYUlVhVzFsYjNWMEtISmxjMjlzZG1Vc0lEVXdNQ2twTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loZ1ZHbHRaV1FnYjNWMElIZGhhWFJwYm1jZ1ptOXlJSEpsWVd4dElDUjdjbVZoYkcxT1lXMWxmV0FwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCaGMzbHVZeUIxY0dSaGRHVkRiR2xsYm5SVFkyOXdaWE5TYjJ4bGMwMWhjSEJsY25Nb1hHNGdJQ0FnYTJWNVkyeHZZV3RWYzJWeU9pQkxaWGxqYkc5aGExVnpaWElzWEc0Z0lDQWdMaTR1WVhKbmN6b2dRMjl1ZEdWNGRIVmhiRUZ5WjNNOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0IwYUdsekxuVndaR0YwWlVOc2FXVnVkRk5qYjNCbGMxSnZiR1Z6VFdGd2NHVnljeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5RZ1BTQjBhR2x6TG1OeVpXRjBaVWgwZEhCRGJHbGxiblFvZEdocGN5NWpiMjVtYVdjcE8xeHVJQ0FnSUdOdmJuTjBJSEpsWVd4dFFXTmpaWE56Vkc5clpXNGdQU0JoZDJGcGRDQjBhR2x6TG1GMWRHaFRaWEoyYVdObExtZGxkRUZqWTJWemMxUnZhMlZ1S0Z4dUlDQWdJQ0FnYTJWNVkyeHZZV3RWYzJWeUxGeHVJQ0FnSUNBZ0xpNHVZWEpuYzF4dUlDQWdJQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NtOXNaWE5TWlhOd2IyNXpaU0E5SUdGM1lXbDBJR05zYVdWdWRDNXlaWEYxWlhOMEtIdGNiaUFnSUNBZ0lHMWxkR2h2WkRvZ1hDSkhSVlJjSWl4Y2JpQWdJQ0FnSUhWeWJEb2dZQ1I3ZEdocGN5NWpiMjVtYVdjdWNISnZkRzlqYjJ4OU9pOHZKSHQwYUdsekxtTnZibVpwWnk1b2IzTjBmUzloWkcxcGJpOXlaV0ZzYlhNdkpIdHJaWGxqYkc5aGExVnpaWEl1Y21WaGJHMTlMMk5zYVdWdWRDMXpZMjl3WlhOZ0xGeHVJQ0FnSUNBZ2FHVmhaR1Z5Y3pvZ2UxeHVJQ0FnSUNBZ0lDQkJkWFJvYjNKcGVtRjBhVzl1T2lCZ1FtVmhjbVZ5SUNSN2NtVmhiRzFCWTJObGMzTlViMnRsYm4xZ0xGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFUzUmhkSFZ6T2lBb0tTQTlQaUIwY25WbExGeHVJQ0FnSUgwcE8xeHVJQ0FnSUdOdmJuTjBJR05zYVdWdWRGTmpiM0JsY3lBOVhHNGdJQ0FnSUNCMGFHbHpMbkJoY25ObFNuTnZibEpsYzNCdmJuTmxQRnh1SUNBZ0lDQWdJQ0JCY25KaGVUeDdYRzRnSUNBZ0lDQWdJQ0FnYVdRNklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQnVZVzFsT2lCemRISnBibWM3WEc0Z0lDQWdJQ0FnSUNBZ2NISnZkRzlqYjJ4TllYQndaWEp6UHpvZ1FYSnlZWGs4ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1E2SUhOMGNtbHVaenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHNWhiV1U2SUhOMGNtbHVaenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibVpwWnpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnYzNSeWFXNW5QanRjYmlBZ0lDQWdJQ0FnSUNCOVBqdGNiaUFnSUNBZ0lDQWdmVDVjYmlBZ0lDQWdJRDRvY205c1pYTlNaWE53YjI1elpTNWtZWFJoS1NBL1B5QmJYVHRjYmlBZ0lDQmpiMjV6ZENCeWIyeGxjMU5qYjNCbElEMGdZMnhwWlc1MFUyTnZjR1Z6TG1acGJtUW9LSE5qYjNCbEtTQTlQaUJ6WTI5d1pTNXVZVzFsSUQwOVBTQmNJbkp2YkdWelhDSXBPMXh1SUNBZ0lHTnZibk4wSUdOc2FXVnVkRkp2YkdWelRXRndjR1Z5SUQwZ2NtOXNaWE5UWTI5d1pUOHVjSEp2ZEc5amIyeE5ZWEJ3WlhKelB5NW1hVzVrS0Z4dUlDQWdJQ0FnS0cxaGNIQmxjaWtnUFQ0Z2JXRndjR1Z5TG01aGJXVWdQVDA5SUZ3aVkyeHBaVzUwSUhKdmJHVnpYQ0pjYmlBZ0lDQXBPMXh1SUNBZ0lHbG1JQ2doY205c1pYTlRZMjl3WlNCOGZDQWhZMnhwWlc1MFVtOXNaWE5OWVhCd1pYSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJPYjNSR2IzVnVaRVZ5Y205eUtGd2lWVzVoWW14bElIUnZJR1pwYm1RZ1kyeHBaVzUwSUhKdmJHVnpJRzFoY0hCbGNsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyeHBaVzUwVW05c1pYTk5ZWEJ3WlhJdVkyOXVabWxuVzF3aWFXUXVkRzlyWlc0dVkyeGhhVzFjSWwwZ1BTQmNJblJ5ZFdWY0lqdGNiaUFnSUNCaGQyRnBkQ0JqYkdsbGJuUXVjbVZ4ZFdWemRDaDdYRzRnSUNBZ0lDQnRaWFJvYjJRNklGd2lVRlZVWENJc1hHNGdJQ0FnSUNCMWNtdzZJR0FrZTNSb2FYTXVZMjl1Wm1sbkxuQnliM1J2WTI5c2ZUb3ZMeVI3ZEdocGN5NWpiMjVtYVdjdWFHOXpkSDB2WVdSdGFXNHZjbVZoYkcxekx5UjdhMlY1WTJ4dllXdFZjMlZ5TG5KbFlXeHRmUzlqYkdsbGJuUXRjMk52Y0dWekx5UjdjbTlzWlhOVFkyOXdaUzVwWkgwdmNISnZkRzlqYjJ3dGJXRndjR1Z5Y3k5dGIyUmxiSE12Skh0amJHbGxiblJTYjJ4bGMwMWhjSEJsY2k1cFpIMWdMRnh1SUNBZ0lDQWdaR0YwWVRvZ1NsTlBUaTV6ZEhKcGJtZHBabmtvWTJ4cFpXNTBVbTlzWlhOTllYQndaWElwTEZ4dUlDQWdJQ0FnYUdWaFpHVnljem9nZTF4dUlDQWdJQ0FnSUNCQmRYUm9iM0pwZW1GMGFXOXVPaUJnUW1WaGNtVnlJQ1I3Y21WaGJHMUJZMk5sYzNOVWIydGxibjFnTEZ4dUlDQWdJQ0FnSUNCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ0tDa2dQVDRnZEhKMVpTeGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjR0Z5YzJWS2MyOXVVbVZ6Y0c5dWMyVThWRDRvWkdGMFlUb2dkVzVyYm05M2JpazZJRlFnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ1hDSnpkSEpwYm1kY0lpa2dlMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVwVFQwNHVjR0Z5YzJVb1pHRjBZU2tnWVhNZ1ZEdGNiaUFnSUNBZ0lIMGdZMkYwWTJnZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdaR0YwWVNCaGN5QlVPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|