@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
|
@@ -31,6 +31,7 @@ class GraphExecutionEngine {
|
|
|
31
31
|
this.valueStoreAdapter =
|
|
32
32
|
config.valueStoreAdapter ?? new InMemoryGraphValueStoreAdapter_js_1.InMemoryGraphValueStoreAdapter();
|
|
33
33
|
this.defaultOptions = config.defaultOptions ?? {};
|
|
34
|
+
this.codeSandboxEvaluator = config.codeSandboxEvaluator;
|
|
34
35
|
this.config = config;
|
|
35
36
|
config.onEngineCreated?.(this);
|
|
36
37
|
}
|
|
@@ -402,5 +403,5 @@ class GraphExecutionEngine {
|
|
|
402
403
|
}
|
|
403
404
|
}
|
|
404
405
|
exports.GraphExecutionEngine = GraphExecutionEngine;
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixvQkFBb0IsR0FDckIsMEJBQXFCO0FBYXRCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrREFBNkM7QUFDbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtEQUE2QztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsK0NBQTBDO0FBSTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxxREFBZ0Q7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQ0FBaUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRDQUF1QztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMkNBQXNDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1REFBa0Q7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxrQ0FBK0I7QUFvQm5FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQVksTUFBa0M7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsY0FB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QUUsS0FBSztZQUN4QixJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1lBQ1osR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QixHQUFHLE9BQU87U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixPQUFPLENBQ0wsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqQyxhQUFhLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYyxDQUFDLEtBQWM7UUFDbkMsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDM0IsT0FBTztnQkFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQ0QsS0FBYSxDQUFDLFNBQVM7b0JBQ3hCLENBQUMsT0FBUSxLQUFhLENBQUMsSUFBSSxLQUFLLFFBQVE7d0JBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUUsS0FBYSxDQUFDLElBQUksQ0FBQzt3QkFDN0IsQ0FBQyxDQUFFLEtBQWEsQ0FBQyxJQUFJLENBQUM7YUFDM0IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25FbmdpbmVcbiAqIEBzdW1tYXJ5IFJlZmVyZW5jZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGdyYXBoIHdvcmtmbG93cyBkZWNsYXJlZCB3aXRoIGBAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaGAsIGVtaXRzIGV2ZW50cyB0aHJvdWdoIERlY2FmJ3MgT2JzZXJ2YWJsZSBwaXBlbGluZSwgc3VwcG9ydHMgcGFyYWxsZWwgbm9kZSBleGVjdXRpb24gd2l0aGluIHRvcG9sb2dpY2FsIGxheWVycywgYW5kIHJldHVybnMgYSBjb21wbGV0ZSBleGVjdXRpb24gcmVzdWx0LlxuICovXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuaW1wb3J0IHtcbiAgR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSxcbiAgR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlksXG4gIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLFxuICBHcmFwaEV4ZWN1dGlvblN0YXR1cyxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUge1xuICBHcmFwaEV4ZWN1dGlvbkVycm9yUGF5bG9hZCxcbiAgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgR3JhcGhFeGVjdXRpb25PcHRpb25zLFxuICBHcmFwaEV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gIEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCxcbiAgR3JhcGhQaW5Ob2RlT3B0aW9ucyxcbiAgR3JhcGhVbnBpbk5vZGVPcHRpb25zLFxuICBHcmFwaFJ1bklkLFxufSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25PYnNlcnZlciB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25PYnNlcnZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeSB9IGZyb20gXCIuLi9yZWdpc3RyeS9HcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvblBsYW5uZXIgfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFubmVyXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbiB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuTm9kZSB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyIH0gZnJvbSBcIi4uL3N0b3JlL0luTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlclwiO1xuaW1wb3J0IHsgR3JhcGhWYWx1ZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoVmFsdWVTdG9yZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaENhY2hlZFZhbHVlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoQ2FjaGVkVmFsdWVcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1NlcnZpY2UgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdTZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmFwaFBpbm5pbmdQb2xpY3kgfSBmcm9tIFwiLi4vcGlubmluZy9HcmFwaFBpbm5pbmdQb2xpY3lcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlciB9IGZyb20gXCIuLi9waW5uaW5nL0dyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkZyYW1lIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZVwiO1xuaW1wb3J0IHsgYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUmVzdWx0XCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHtAbGluayBHcmFwaEV4ZWN1dGlvbkVuZ2luZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRpb25FbmdpbmVDb25maWcge1xuICByZWdpc3RyeTogR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeTtcbiAgcGxhbm5lcj86IEdyYXBoRXhlY3V0aW9uUGxhbm5lcjtcbiAgdmFsdWVTdG9yZUFkYXB0ZXI/OiBHcmFwaFZhbHVlU3RvcmVBZGFwdGVyO1xuICBldmVudEVtaXR0ZXI/OiBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlcjtcbiAgZGVmYXVsdE9wdGlvbnM/OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uT3B0aW9ucz47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGF0IHRoZSBlbmQgb2YgZW5naW5lIGNvbnN0cnVjdGlvbiB3aXRoIHRoZVxuICAgKiBmdWxseS1pbml0aWFsaXNlZCBlbmdpbmUgaW5zdGFuY2UuIFVzZSB0aGlzIHRvIHJlZ2lzdGVyIGV4ZWN1dG9ycyB0aGF0XG4gICAqIG5lZWQgYSBiYWNrLXJlZmVyZW5jZSB0byB0aGUgZW5naW5lIChlLmcuIGxvb3AgZXhlY3V0b3JzIHRoYXQgZXhlY3V0ZVxuICAgKiBzdWItd29ya2Zsb3dzIHRocm91Z2ggdGhlIHNhbWUgZW5naW5lKS5cbiAgICovXG4gIG9uRW5naW5lQ3JlYXRlZD86IChlbmdpbmU6IEdyYXBoRXhlY3V0aW9uRW5naW5lKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICpcbiAqIEV4ZWN1dGVzIGEge0BsaW5rIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9ufSBieTpcbiAqIDEuIFBsYW5uaW5nIHRoZSB3b3JrZmxvdyBpbnRvIHRvcG9sb2dpY2FsIGxheWVycy5cbiAqIDIuIFNlZWRpbmcgd29ya2Zsb3cgaW5wdXRzIGludG8gdGhlIHZhbHVlIHN0b3JlLlxuICogMy4gRXhlY3V0aW5nIG5vZGVzIGxheWVyLWJ5LWxheWVyIHdpdGggY29uZmlndXJhYmxlIGNvbmN1cnJlbmN5LlxuICogNC4gUm91dGluZyB2YWx1ZXMgYWxvbmcgZWRnZXMuXG4gKiA1LiBFbWl0dGluZyBzdHJ1Y3R1cmVkIGV2ZW50cyB0aHJvdWdoIERlY2FmJ3MgT2JzZXJ2YWJsZSBwaXBlbGluZS5cbiAqIDYuIFJldHVybmluZyBhIGNvbXBsZXRlIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0uXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaEV4ZWN1dGlvbkVuZ2luZVxuICBpbXBsZW1lbnRzIE9ic2VydmFibGU8W0dyYXBoRXhlY3V0aW9uT2JzZXJ2ZXJdLCBbR3JhcGhFeGVjdXRpb25FdmVudF0+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbWl0dGVyOiBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFubmVyOiBHcmFwaEV4ZWN1dGlvblBsYW5uZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVTdG9yZUFkYXB0ZXI6IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdE9wdGlvbnM6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25PcHRpb25zPjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnKSB7XG4gICAgdGhpcy5lbWl0dGVyID0gY29uZmlnLmV2ZW50RW1pdHRlciA/PyBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnBsYW5uZXIgPSBjb25maWcucGxhbm5lciA/PyBuZXcgR3JhcGhFeGVjdXRpb25QbGFubmVyKCk7XG4gICAgdGhpcy52YWx1ZVN0b3JlQWRhcHRlciA9XG4gICAgICBjb25maWcudmFsdWVTdG9yZUFkYXB0ZXIgPz8gbmV3IEluTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlcigpO1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSBjb25maWcuZGVmYXVsdE9wdGlvbnMgPz8ge307XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uZmlnLm9uRW5naW5lQ3JlYXRlZD8uKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnO1xuXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiAoKSA9PiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5lbWl0dGVyLm9ic2VydmUob2JzZXJ2ZXIpO1xuICB9XG5cbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLnVuT2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQ6IEdyYXBoRXhlY3V0aW9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIHdvcmtmbG93IHdpdGggdGhlIGdpdmVuIGlucHV0cyBhbmQgb3B0aW9ucy5cbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7fSxcbiAgICBvcHRpb25zOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMgPSB7fVxuICApOiBQcm9taXNlPEdyYXBoRXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMubWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJ1bklkID0gb3B0cy5ydW5JZCA/PyB0aGlzLmdlbmVyYXRlUnVuSWQoKTtcbiAgICBjb25zdCBwYXRoID0gb3B0cy5wYXRoID8/IFtdO1xuICAgIGNvbnN0IGV2ZW50RmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgIGNvbnN0IHZhbHVlU3RvcmUgPSBuZXcgR3JhcGhWYWx1ZVN0b3JlKHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIpO1xuICAgIHZhbHVlU3RvcmUuc2VlZFdvcmtmbG93SW5wdXRzKGlucHV0cyk7XG5cbiAgICBjb25zdCBwbGFuID0gdGhpcy5wbGFubmVyLnBsYW4od29ya2Zsb3cpO1xuICAgIGNvbnN0IGZyYW1lID0gbmV3IEdyYXBoRXhlY3V0aW9uRnJhbWUoXG4gICAgICBydW5JZCxcbiAgICAgIHBsYW4sXG4gICAgICB2YWx1ZVN0b3JlLFxuICAgICAgZXZlbnRGYWN0b3J5XG4gICAgKTtcblxuICAgIGNvbnN0IGVtaXRGbiA9IGFzeW5jIChwYXJ0aWFsOiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBwYXJ0aWFsLnR5cGUgPz8gR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9PVVRQVVQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgbm9kZUlkOiBwYXJ0aWFsLm5vZGVJZCxcbiAgICAgICAgcGF0aDogcGFydGlhbC5wYXRoID8/IHBhdGgsXG4gICAgICAgIC4uLnBhcnRpYWwsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1NUQVJURUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkcsXG4gICAgICBwYXlsb2FkOiB7IGlucHV0cyB9LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX1BMQU5ORUQsXG4gICAgICBydW5JZCxcbiAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlBMQU5OSU5HLFxuICAgICAgcGF5bG9hZDogeyBsYXllcnM6IHBsYW4ubGF5ZXJzLmxlbmd0aCwgbm9kZXM6IHBsYW4ubm9kZXMubGVuZ3RoIH0sXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBsYXllciBvZiBwbGFuLmxheWVycykge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVMYXllcihmcmFtZSwgcGxhbiwgbGF5ZXIubm9kZXMsIG9wdHMsIGVtaXRGbik7XG4gICAgICB9XG5cbiAgICAgIGZyYW1lLmZpbmlzaCgpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19DT01QTEVURUQsXG4gICAgICAgIHJ1bklkLFxuICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogdmFsdWVTdG9yZS5nZXRXb3JrZmxvd1ZhbHVlcygpIH0sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoXG4gICAgICAgIGZyYW1lLFxuICAgICAgICB3b3JrZmxvdyxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIG9wdHMubWV0YWRhdGFcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGZyYW1lLmZpbmlzaCgpO1xuICAgICAgY29uc3QgZXJyb3JQYXlsb2FkID0gdGhpcy50b0Vycm9yUGF5bG9hZChlcnJvcik7XG5cbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX0ZBSUxFRCxcbiAgICAgICAgcnVuSWQsXG4gICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICBwYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdChcbiAgICAgICAgZnJhbWUsXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgb3B0cy5tZXRhZGF0YVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGlucyBhIG5vZGUgYW5kIGl0cyB1cHN0cmVhbSBkZXBlbmRlbmNpZXMgYWZ0ZXIgYSBjb21wbGV0ZWQgcnVuLlxuICAgKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIEdyYXBoUGlubmluZ1NlcnZpY2V9LiBUaGUgcGxhbiBhbmQgcmVzdWx0IG11c3QgY29tZVxuICAgKiBmcm9tIGEgcHJpb3Igc3VjY2Vzc2Z1bCBleGVjdXRpb24gb2YgdGhlIHNhbWUgd29ya2Zsb3cuXG4gICAqL1xuICBhc3luYyBwaW5Ob2RlKG9wdGlvbnM6IEdyYXBoUGluTm9kZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGF3YWl0IHNlcnZpY2UucGluTm9kZShvcHRpb25zKTtcbiAgICBhd2FpdCB0aGlzLmVtaXRQaW5uaW5nRXZlbnQob3B0aW9ucy5ub2RlSWQsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfUElOTkVEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnBpbnMgYSBub2RlIGJ5IGl0cyBmaW5nZXJwcmludC5cbiAgICovXG4gIGFzeW5jIHVucGluTm9kZShvcHRpb25zOiBHcmFwaFVucGluTm9kZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgIGF3YWl0IHNlcnZpY2UudW5waW5Ob2RlKG9wdGlvbnMpO1xuICAgIGF3YWl0IHRoaXMuZW1pdFBpbm5pbmdFdmVudChvcHRpb25zLm5vZGVJZCwgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9VTlBJTk5FRCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBHcmFwaFBpbm5pbmdTZXJ2aWNlfSBiYWNrZWQgYnkgdGhpcyBlbmdpbmUncyB2YWx1ZSBzdG9yZVxuICAgKiBhZGFwdGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVQaW5uaW5nU2VydmljZSgpOiBHcmFwaFBpbm5pbmdTZXJ2aWNlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBHcmFwaFZhbHVlU3RvcmUodGhpcy52YWx1ZVN0b3JlQWRhcHRlcik7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFBpbm5pbmdTZXJ2aWNlKFxuICAgICAgc3RvcmUsXG4gICAgICBuZXcgR3JhcGhQaW5uaW5nUG9saWN5KCksXG4gICAgICBuZXcgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyKClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgcGlubmluZy1yZWxhdGVkIGV2ZW50IHRvIGFsbCBvYnNlcnZlcnMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGVtaXRQaW5uaW5nRXZlbnQoXG4gICAgbm9kZUlkOiBzdHJpbmcsXG4gICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGVcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgIGNvbnN0IGV2ZW50ID0gZmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaWQ6IFwiXCIsXG4gICAgICBzZXF1ZW5jZTogMCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIHJ1bklkOiBcInBpbm5pbmdcIixcbiAgICAgIHdvcmtmbG93SWQ6IFwiXCIsXG4gICAgICB0eXBlLFxuICAgICAgbm9kZUlkLFxuICAgICAgcGF0aDogW10sXG4gICAgfSBhcyBPbWl0PEdyYXBoRXhlY3V0aW9uRXZlbnQsIFwiaWRcIiB8IFwic2VxdWVuY2VcIiB8IFwidGltZXN0YW1wXCI+KTtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIGxheWVyIG9mIG5vZGVzIHdpdGggdGhlIGNvbmZpZ3VyZWQgY29uY3VycmVuY3kuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVMYXllcihcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgbm9kZXM6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGVbXSxcbiAgICBvcHRzOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMsXG4gICAgZW1pdEZuOiAoZXZlbnQ6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4pID0+IFByb21pc2U8dm9pZD5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uY3VycmVuY3kgPSBNYXRoLm1heChcbiAgICAgIDEsXG4gICAgICBvcHRzLmNvbmN1cnJlbmN5ID8/IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1lcbiAgICApO1xuICAgIGNvbnN0IHF1ZXVlID0gWy4uLm5vZGVzXTtcblxuICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBiYXRjaCA9IHF1ZXVlLnNwbGljZSgwLCBjb25jdXJyZW5jeSk7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgYmF0Y2gubWFwKChub2RlKSA9PiB0aGlzLmV4ZWN1dGVOb2RlKGZyYW1lLCBwbGFuLCBub2RlLCBvcHRzLCBlbWl0Rm4pKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBzaW5nbGUgbm9kZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZXhlY3V0ZU5vZGUoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIG9wdHM6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyxcbiAgICBlbWl0Rm46IChldmVudDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PikgPT4gUHJvbWlzZTx2b2lkPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGFydGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG5vZGVQYXRoID0gWy4uLihvcHRzLnBhdGggPz8gW10pLCBwbGFuTm9kZS5pZF07XG5cbiAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9TVEFSVEVELFxuICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5SVU5OSU5HLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5yZXNvbHZlTm9kZUlucHV0cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUpO1xuXG4gICAgLy8gQ2FjaGUtaGl0OiBjaGVjayBmb3IgYSBwaW5uZWQgdmFsdWUgYmVmb3JlIGV4ZWN1dGluZyB0aGUgbm9kZVxuICAgIGlmIChvcHRzLnVzZVBpbm5lZFZhbHVlcykge1xuICAgICAgY29uc3QgY2FjaGVkID0gYXdhaXQgdGhpcy50cnlQaW5uZWRWYWx1ZShmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIGlucHV0cyk7XG4gICAgICBpZiAoY2FjaGVkKSB7XG4gICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0Tm9kZU91dHB1dHMocGxhbk5vZGUuaWQsIGNhY2hlZC5vdXRwdXRzKTtcbiAgICAgICAgdGhpcy5yb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBjYWNoZWQub3V0cHV0cyk7XG5cbiAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5DQUNIRUQsXG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzLFxuICAgICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICAgIGZyb21DYWNoZTogdHJ1ZSxcbiAgICAgICAgICBwaW5uZWQ6IHRydWUsXG4gICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgfTtcbiAgICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DQUNIRV9ISVQsXG4gICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuQ0FDSEVELFxuICAgICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogY2FjaGVkLm91dHB1dHMgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NPTVBMRVRFRCxcbiAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cywgZnJvbUNhY2hlOiB0cnVlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4ZWN1dG9yID0gdGhpcy5jb25maWcucmVnaXN0cnkucmVzb2x2ZShwbGFuTm9kZS5raW5kKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgR3JhcGhFeGVjdXRpb25Db250ZXh0KFxuICAgICAgICBmcmFtZS5ydW5JZCxcbiAgICAgICAgb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgcGxhbi53b3JrZmxvdyxcbiAgICAgICAgcGxhbk5vZGUuZGVmaW5pdGlvbixcbiAgICAgICAgbm9kZVBhdGgsXG4gICAgICAgIGVtaXRGbixcbiAgICAgICAgb3B0cy5tZXRhZGF0YVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IGV4ZWN1dG9yLmV4ZWN1dGUoaW5wdXRzLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IHJlc29sdmVkT3V0cHV0cyA9IG91dHB1dHMgPz8ge307XG5cbiAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0Tm9kZU91dHB1dHMocGxhbk5vZGUuaWQsIHJlc29sdmVkT3V0cHV0cyk7XG4gICAgICB0aGlzLnJvdXRlT3V0Z29pbmdFZGdlcyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIHJlc29sdmVkT3V0cHV0cyk7XG5cbiAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgY29uc3QgcmVzdWx0OiBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIG91dHB1dHM6IHJlc29sdmVkT3V0cHV0cyxcbiAgICAgICAgc3RhcnRlZEF0LFxuICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICBldmVudHM6IFtdLFxuICAgICAgfTtcbiAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcblxuICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DT01QTEVURUQsXG4gICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogcmVzb2x2ZWRPdXRwdXRzIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCBlcnJvclBheWxvYWQgPSB0aGlzLnRvRXJyb3JQYXlsb2FkKGVycm9yKTtcbiAgICAgIGNvbnN0IHJlc3VsdDogR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBlcnJvcjogZXJyb3JQYXlsb2FkLFxuICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgIGZpbmlzaGVkQXQsXG4gICAgICAgIGV2ZW50czogW10sXG4gICAgICB9O1xuICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0ZBSUxFRCxcbiAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAob3B0cy5mYWlsRmFzdCA/PyB0cnVlKSB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBub2RlJ3MgaW5wdXQgdmFsdWVzIGZyb20gaW5jb21pbmcgZWRnZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVOb2RlSW5wdXRzKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBwbGFuTm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZVxuICApOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyB7XG4gICAgY29uc3QgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IHt9O1xuICAgIGNvbnN0IGluY29taW5nID0gcGxhbi5pbmNvbWluZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgIGZvciAoY29uc3QgZWRnZSBvZiBpbmNvbWluZykge1xuICAgICAgaW5wdXRzW2VkZ2UudGFyZ2V0UG9ydF0gPSBmcmFtZS52YWx1ZVN0b3JlLmdldFBvcnQoXG4gICAgICAgIGVkZ2Uuc291cmNlTm9kZUlkLFxuICAgICAgICBlZGdlLnNvdXJjZVBvcnRcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBpbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gcmVhZCBhIHBpbm5lZCB2YWx1ZSBmb3IgdGhlIG5vZGUuIFJldHVybnMgdGhlIGNhY2hlZCBvdXRwdXRzXG4gICAqIHdoZW4gYSB2YWxpZCBwaW5uZWQgdmFsdWUgZXhpc3RzLCBvciBgdW5kZWZpbmVkYCB0byBwcm9jZWVkIHdpdGggbm9ybWFsXG4gICAqIGV4ZWN1dGlvbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgdHJ5UGlubmVkVmFsdWUoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXNcbiAgKTogUHJvbWlzZTxHcmFwaENhY2hlZFZhbHVlIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgcG9saWN5ID0gbmV3IEdyYXBoUGlubmluZ1BvbGljeSgpO1xuICAgIGlmICghcG9saWN5LnNob3VsZFVzZVBpbm5lZFZhbHVlKHBsYW5Ob2RlKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgY29uc3QgZGVwRmluZ2VycHJpbnRzID0gdGhpcy5jb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUuaWQpO1xuICAgIHJldHVybiBzZXJ2aWNlLnJlYWRQaW5uZWRWYWx1ZShcbiAgICAgIHBsYW4ud29ya2Zsb3csXG4gICAgICBwbGFuTm9kZSxcbiAgICAgIGlucHV0cyxcbiAgICAgIGRlcEZpbmdlcnByaW50c1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgY29tcHV0ZXMgZmluZ2VycHJpbnRzIGZvciBhbGwgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIG9mIGEgbm9kZVxuICAgKiB1c2luZyB0aGUgcmVzdWx0cyBhbHJlYWR5IGFjY3VtdWxhdGVkIGluIHRoZSBmcmFtZS5cbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZURlcGVuZGVuY3lGaW5nZXJwcmludHMoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIG5vZGVJZDogc3RyaW5nXG4gICk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgY29uc3QgZGVwUmVzb2x2ZXIgPSBuZXcgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyKCk7XG4gICAgY29uc3QgZGVwcyA9IGRlcFJlc29sdmVyLmdldERlcGVuZGVuY2llcyhwbGFuLCBub2RlSWQpO1xuICAgIGNvbnN0IGZpbmdlcnByaW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IGRlcCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBkZXBSZXN1bHQgPSBmcmFtZS5ub2RlUmVzdWx0cy5nZXQoZGVwKTtcbiAgICAgICAgY29uc3QgaW5wdXRzID0gZGVwUmVzdWx0Py5pbnB1dHMgPz8ge307XG4gICAgICAgIGNvbnN0IG5lc3RlZERlcHMgPSB0aGlzLmNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKGZyYW1lLCBwbGFuLCBkZXApO1xuICAgICAgICBmaW5nZXJwcmludHNbZGVwXSA9IHNlcnZpY2UuY29tcHV0ZUZpbmdlcnByaW50KFxuICAgICAgICAgIHBsYW4ud29ya2Zsb3csXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgbmVzdGVkRGVwc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmluZ2VycHJpbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdXRlcyBhIG5vZGUncyBvdXRwdXRzIHRvIGRvd25zdHJlYW0gaW5wdXRzIGFuZCB3b3JrZmxvdyBvdXRwdXRzLlxuICAgKi9cbiAgcHJpdmF0ZSByb3V0ZU91dGdvaW5nRWRnZXMoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIG91dHB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG91dGdvaW5nID0gcGxhbi5vdXRnb2luZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgIGZvciAoY29uc3QgZWRnZSBvZiBvdXRnb2luZykge1xuICAgICAgY29uc3QgdmFsdWUgPSBvdXRwdXRzW2VkZ2Uuc291cmNlUG9ydF07XG4gICAgICBpZiAoZWRnZS50YXJnZXROb2RlSWQgPT09IEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZKSB7XG4gICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0V29ya2Zsb3dPdXRwdXQoZWRnZS50YXJnZXRQb3J0LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5FREdFX1ZBTFVFX1JPVVRFRCxcbiAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgIGVkZ2VJZDogZWRnZS5pZCxcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgcGF0aDogW10sXG4gICAgICAgIHBheWxvYWQ6IHsgZWRnZSwgdmFsdWUgfSxcbiAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gb2JzZXJ2ZXIgZmFpbHVyZXMgbXVzdCBub3QgY3Jhc2hcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCwgcmVjb3JkcyBpdCBpbiB0aGUgZnJhbWUsIGFuZCBkaXNwYXRjaGVzIHRvIG9ic2VydmVycy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZW1pdEV2ZW50KFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBhcnRpYWw6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4gJiB7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZTtcbiAgICAgIHJ1bklkOiBHcmFwaFJ1bklkO1xuICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgICAgcGF0aDogc3RyaW5nW107XG4gICAgfVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBldmVudCA9IGZyYW1lLmV2ZW50RmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaWQ6IFwiXCIsXG4gICAgICBzZXF1ZW5jZTogMCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIC4uLnBhcnRpYWwsXG4gICAgfSBhcyBPbWl0PEdyYXBoRXhlY3V0aW9uRXZlbnQsIFwiaWRcIiB8IFwic2VxdWVuY2VcIiB8IFwidGltZXN0YW1wXCI+KTtcbiAgICBmcmFtZS5hcHBlbmRFdmVudChldmVudCk7XG4gICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2VzIGRlZmF1bHQgb3B0aW9ucyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBtZXJnZU9wdGlvbnMoXG4gICAgb3B0aW9uczogR3JhcGhFeGVjdXRpb25PcHRpb25zXG4gICk6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmN1cnJlbmN5OiBHUkFQSF9ERUZBVUxUX0NPTkNVUlJFTkNZLFxuICAgICAgZmFpbEZhc3Q6IHRydWUsXG4gICAgICB2YWxpZGF0ZUlucHV0czogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlT3V0cHV0czogdHJ1ZSxcbiAgICAgIHVzZVBpbm5lZFZhbHVlczogdHJ1ZSxcbiAgICAgIHdyaXRlVGhyb3VnaENhY2hlOiBmYWxzZSxcbiAgICAgIHBhdGg6IFtdLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgICAgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgcnVuIGlkLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJ1bklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdsb2JhbFRoaXMuY3J5cHRvPy5yYW5kb21VVUlEPy4oKSA/P1xuICAgICAgYGdyYXBoLXJ1bi0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMil9YFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gZXJyb3IgaW50byBhIHNlcmlhbGl6ZWQgcGF5bG9hZC5cbiAgICovXG4gIHByaXZhdGUgdG9FcnJvclBheWxvYWQoZXJyb3I6IHVua25vd24pOiBHcmFwaEV4ZWN1dGlvbkVycm9yUGF5bG9hZCB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlcnJvci5zdGFjayxcbiAgICAgICAgY29kZTpcbiAgICAgICAgICAoZXJyb3IgYXMgYW55KS5ncmFwaENvZGUgPz9cbiAgICAgICAgICAodHlwZW9mIChlcnJvciBhcyBhbnkpLmNvZGUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgID8gU3RyaW5nKChlcnJvciBhcyBhbnkpLmNvZGUpXG4gICAgICAgICAgICA6IChlcnJvciBhcyBhbnkpLmNvZGUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgbmFtZTogXCJVbmtub3duRXJyb3JcIiwgbWVzc2FnZTogU3RyaW5nKGVycm9yKSB9O1xuICB9XG59XG4iXX0=
|
|
406
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaEV4ZWN1dGlvbkVuZ2luZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBdUk7QUFDdkksNkZBQXVGO0FBQ3ZGLDZGQUF1RjtBQUN2RixxRkFBK0U7QUFDL0Usb0dBQThGO0FBQzlGLHNFQUFnRTtBQUNoRSxnRkFBMEU7QUFDMUUsOEVBQXdFO0FBQ3hFLHNHQUFnRztBQUNoRyx5RUFBbUU7QUFDbkUscUVBQStEO0FBQy9ELHVFQUFzRTtBQUN0RTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFDN0IsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksMERBQTBCLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxnREFBcUIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUI7WUFDbEIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksa0VBQThCLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxTQUFTLENBQUMsUUFBUTtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUs7UUFDdkIsTUFBTSxJ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RUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUztvQkFDakIsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUTt3QkFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO3dCQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUN4QixDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0NBQ0o7QUF4WEQsb0RBd1hDO0FBQ0QsazJ5Q0FBazJ5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1ksIEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSwgR3JhcGhFeGVjdXRpb25TdGF0dXMsIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlciB9IGZyb20gXCIuLy4uL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlci5qc1wiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkgfSBmcm9tIFwiLi8uLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkuanNcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uUGxhbm5lciB9IGZyb20gXCIuLy4uL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbm5lci5qc1wiO1xuaW1wb3J0IHsgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyIH0gZnJvbSBcIi4vLi4vc3RvcmUvSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyBHcmFwaFZhbHVlU3RvcmUgfSBmcm9tIFwiLi8uLi9zdG9yZS9HcmFwaFZhbHVlU3RvcmUuanNcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1NlcnZpY2UgfSBmcm9tIFwiLi8uLi9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2UuanNcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1BvbGljeSB9IGZyb20gXCIuLy4uL3Bpbm5pbmcvR3JhcGhQaW5uaW5nUG9saWN5LmpzXCI7XG5pbXBvcnQgeyBHcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXIgfSBmcm9tIFwiLi8uLi9waW5uaW5nL0dyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlci5qc1wiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25Db250ZXh0LmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkZyYW1lIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25GcmFtZS5qc1wiO1xuaW1wb3J0IHsgYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUmVzdWx0LmpzXCI7XG4vKipcbiAqIFJlZmVyZW5jZSBncmFwaCBleGVjdXRpb24gZW5naW5lLlxuICpcbiAqIEV4ZWN1dGVzIGEge0BsaW5rIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9ufSBieTpcbiAqIDEuIFBsYW5uaW5nIHRoZSB3b3JrZmxvdyBpbnRvIHRvcG9sb2dpY2FsIGxheWVycy5cbiAqIDIuIFNlZWRpbmcgd29ya2Zsb3cgaW5wdXRzIGludG8gdGhlIHZhbHVlIHN0b3JlLlxuICogMy4gRXhlY3V0aW5nIG5vZGVzIGxheWVyLWJ5LWxheWVyIHdpdGggY29uZmlndXJhYmxlIGNvbmN1cnJlbmN5LlxuICogNC4gUm91dGluZyB2YWx1ZXMgYWxvbmcgZWRnZXMuXG4gKiA1LiBFbWl0dGluZyBzdHJ1Y3R1cmVkIGV2ZW50cyB0aHJvdWdoIERlY2FmJ3MgT2JzZXJ2YWJsZSBwaXBlbGluZS5cbiAqIDYuIFJldHVybmluZyBhIGNvbXBsZXRlIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0uXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaEV4ZWN1dGlvbkVuZ2luZSB7XG4gICAgY29uc3RydWN0b3IoY29uZmlnKSB7XG4gICAgICAgIHRoaXMuZW1pdHRlciA9IGNvbmZpZy5ldmVudEVtaXR0ZXIgPz8gbmV3IEdyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMucGxhbm5lciA9IGNvbmZpZy5wbGFubmVyID8/IG5ldyBHcmFwaEV4ZWN1dGlvblBsYW5uZXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZVN0b3JlQWRhcHRlciA9XG4gICAgICAgICAgICBjb25maWcudmFsdWVTdG9yZUFkYXB0ZXIgPz8gbmV3IEluTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlcigpO1xuICAgICAgICB0aGlzLmRlZmF1bHRPcHRpb25zID0gY29uZmlnLmRlZmF1bHRPcHRpb25zID8/IHt9O1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgY29uZmlnLm9uRW5naW5lQ3JlYXRlZD8uKHRoaXMpO1xuICAgIH1cbiAgICBvYnNlcnZlKG9ic2VydmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVtaXR0ZXIub2JzZXJ2ZShvYnNlcnZlcik7XG4gICAgfVxuICAgIHVuT2JzZXJ2ZShvYnNlcnZlcikge1xuICAgICAgICB0aGlzLmVtaXR0ZXIudW5PYnNlcnZlKG9ic2VydmVyKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdHRlci51cGRhdGVPYnNlcnZlcnMoZXZlbnQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIHdvcmtmbG93IHdpdGggdGhlIGdpdmVuIGlucHV0cyBhbmQgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBhc3luYyBleGVjdXRlKHdvcmtmbG93LCBpbnB1dHMgPSB7fSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSB0aGlzLm1lcmdlT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcnVuSWQgPSBvcHRzLnJ1bklkID8/IHRoaXMuZ2VuZXJhdGVSdW5JZCgpO1xuICAgICAgICBjb25zdCBwYXRoID0gb3B0cy5wYXRoID8/IFtdO1xuICAgICAgICBjb25zdCBldmVudEZhY3RvcnkgPSBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkoKTtcbiAgICAgICAgY29uc3QgdmFsdWVTdG9yZSA9IG5ldyBHcmFwaFZhbHVlU3RvcmUodGhpcy52YWx1ZVN0b3JlQWRhcHRlcik7XG4gICAgICAgIHZhbHVlU3RvcmUuc2VlZFdvcmtmbG93SW5wdXRzKGlucHV0cyk7XG4gICAgICAgIGNvbnN0IHBsYW4gPSB0aGlzLnBsYW5uZXIucGxhbih3b3JrZmxvdyk7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gbmV3IEdyYXBoRXhlY3V0aW9uRnJhbWUocnVuSWQsIHBsYW4sIHZhbHVlU3RvcmUsIGV2ZW50RmFjdG9yeSk7XG4gICAgICAgIGNvbnN0IGVtaXRGbiA9IGFzeW5jIChwYXJ0aWFsKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgICAgIHR5cGU6IHBhcnRpYWwudHlwZSA/PyBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgICAgICAgICAgICBydW5JZCxcbiAgICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgICAgIG5vZGVJZDogcGFydGlhbC5ub2RlSWQsXG4gICAgICAgICAgICAgICAgcGF0aDogcGFydGlhbC5wYXRoID8/IHBhdGgsXG4gICAgICAgICAgICAgICAgLi4ucGFydGlhbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfU1RBUlRFRCxcbiAgICAgICAgICAgIHJ1bklkLFxuICAgICAgICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUlVOTklORyxcbiAgICAgICAgICAgIHBheWxvYWQ6IHsgaW5wdXRzIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfUExBTk5FRCxcbiAgICAgICAgICAgIHJ1bklkLFxuICAgICAgICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUExBTk5JTkcsXG4gICAgICAgICAgICBwYXlsb2FkOiB7IGxheWVyczogcGxhbi5sYXllcnMubGVuZ3RoLCBub2RlczogcGxhbi5ub2Rlcy5sZW5ndGggfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHBsYW4ubGF5ZXJzKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5leGVjdXRlTGF5ZXIoZnJhbWUsIHBsYW4sIGxheWVyLm5vZGVzLCBvcHRzLCBlbWl0Rm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZnJhbWUuZmluaXNoKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBydW5JZCxcbiAgICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiB2YWx1ZVN0b3JlLmdldFdvcmtmbG93VmFsdWVzKCkgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoZnJhbWUsIHdvcmtmbG93LCBpbnB1dHMsIEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCwgb3B0cy5tZXRhZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBmcmFtZS5maW5pc2goKTtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yUGF5bG9hZCA9IHRoaXMudG9FcnJvclBheWxvYWQoZXJyb3IpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19GQUlMRUQsXG4gICAgICAgICAgICAgICAgcnVuSWQsXG4gICAgICAgICAgICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvclBheWxvYWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0KGZyYW1lLCB3b3JrZmxvdywgaW5wdXRzLCBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsIG9wdHMubWV0YWRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFBpbnMgYSBub2RlIGFuZCBpdHMgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIGFmdGVyIGEgY29tcGxldGVkIHJ1bi5cbiAgICAgKlxuICAgICAqIERlbGVnYXRlcyB0byB7QGxpbmsgR3JhcGhQaW5uaW5nU2VydmljZX0uIFRoZSBwbGFuIGFuZCByZXN1bHQgbXVzdCBjb21lXG4gICAgICogZnJvbSBhIHByaW9yIHN1Y2Nlc3NmdWwgZXhlY3V0aW9uIG9mIHRoZSBzYW1lIHdvcmtmbG93LlxuICAgICAqL1xuICAgIGFzeW5jIHBpbk5vZGUob3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgICAgICBhd2FpdCBzZXJ2aWNlLnBpbk5vZGUob3B0aW9ucyk7XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdFBpbm5pbmdFdmVudChvcHRpb25zLm5vZGVJZCwgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9QSU5ORUQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVbnBpbnMgYSBub2RlIGJ5IGl0cyBmaW5nZXJwcmludC5cbiAgICAgKi9cbiAgICBhc3luYyB1bnBpbk5vZGUob3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy5jcmVhdGVQaW5uaW5nU2VydmljZSgpO1xuICAgICAgICBhd2FpdCBzZXJ2aWNlLnVucGluTm9kZShvcHRpb25zKTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0UGlubmluZ0V2ZW50KG9wdGlvbnMubm9kZUlkLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1VOUElOTkVEKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHtAbGluayBHcmFwaFBpbm5pbmdTZXJ2aWNlfSBiYWNrZWQgYnkgdGhpcyBlbmdpbmUncyB2YWx1ZSBzdG9yZVxuICAgICAqIGFkYXB0ZXIuXG4gICAgICovXG4gICAgY3JlYXRlUGlubmluZ1NlcnZpY2UoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gbmV3IEdyYXBoVmFsdWVTdG9yZSh0aGlzLnZhbHVlU3RvcmVBZGFwdGVyKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHcmFwaFBpbm5pbmdTZXJ2aWNlKHN0b3JlLCBuZXcgR3JhcGhQaW5uaW5nUG9saWN5KCksIG5ldyBHcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXIoKSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtaXRzIGEgcGlubmluZy1yZWxhdGVkIGV2ZW50IHRvIGFsbCBvYnNlcnZlcnMuXG4gICAgICovXG4gICAgYXN5bmMgZW1pdFBpbm5pbmdFdmVudChub2RlSWQsIHR5cGUpIHtcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgICAgICBjb25zdCBldmVudCA9IGZhY3RvcnkuY3JlYXRlKHtcbiAgICAgICAgICAgIGlkOiBcIlwiLFxuICAgICAgICAgICAgc2VxdWVuY2U6IDAsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBydW5JZDogXCJwaW5uaW5nXCIsXG4gICAgICAgICAgICB3b3JrZmxvd0lkOiBcIlwiLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHBhdGg6IFtdLFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgbGF5ZXIgb2Ygbm9kZXMgd2l0aCB0aGUgY29uZmlndXJlZCBjb25jdXJyZW5jeS5cbiAgICAgKi9cbiAgICBhc3luYyBleGVjdXRlTGF5ZXIoZnJhbWUsIHBsYW4sIG5vZGVzLCBvcHRzLCBlbWl0Rm4pIHtcbiAgICAgICAgY29uc3QgY29uY3VycmVuY3kgPSBNYXRoLm1heCgxLCBvcHRzLmNvbmN1cnJlbmN5ID8/IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1kpO1xuICAgICAgICBjb25zdCBxdWV1ZSA9IFsuLi5ub2Rlc107XG4gICAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBiYXRjaCA9IHF1ZXVlLnNwbGljZSgwLCBjb25jdXJyZW5jeSk7XG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChiYXRjaC5tYXAoKG5vZGUpID0+IHRoaXMuZXhlY3V0ZU5vZGUoZnJhbWUsIHBsYW4sIG5vZGUsIG9wdHMsIGVtaXRGbikpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIHNpbmdsZSBub2RlLlxuICAgICAqL1xuICAgIGFzeW5jIGV4ZWN1dGVOb2RlKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgb3B0cywgZW1pdEZuKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IG5vZGVQYXRoID0gWy4uLihvcHRzLnBhdGggPz8gW10pLCBwbGFuTm9kZS5pZF07XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1NUQVJURUQsXG4gICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkcsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpbnB1dHMgPSB0aGlzLnJlc29sdmVOb2RlSW5wdXRzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSk7XG4gICAgICAgIC8vIENhY2hlLWhpdDogY2hlY2sgZm9yIGEgcGlubmVkIHZhbHVlIGJlZm9yZSBleGVjdXRpbmcgdGhlIG5vZGVcbiAgICAgICAgaWYgKG9wdHMudXNlUGlubmVkVmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWQgPSBhd2FpdCB0aGlzLnRyeVBpbm5lZFZhbHVlKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgaW5wdXRzKTtcbiAgICAgICAgICAgIGlmIChjYWNoZWQpIHtcbiAgICAgICAgICAgICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldE5vZGVPdXRwdXRzKHBsYW5Ob2RlLmlkLCBjYWNoZWQub3V0cHV0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBjYWNoZWQub3V0cHV0cyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkNBQ0hFRCxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cyxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRlZEF0LFxuICAgICAgICAgICAgICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgICAgICBmcm9tQ2FjaGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHBpbm5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NBQ0hFX0hJVCxcbiAgICAgICAgICAgICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgICAgICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkNBQ0hFRCxcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cyB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfQ09NUExFVEVELFxuICAgICAgICAgICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICAgICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzLCBmcm9tQ2FjaGU6IHRydWUgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGV4ZWN1dG9yID0gdGhpcy5jb25maWcucmVnaXN0cnkucmVzb2x2ZShwbGFuTm9kZS5raW5kKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgR3JhcGhFeGVjdXRpb25Db250ZXh0KGZyYW1lLnJ1bklkLCBvcHRzLnBhcmVudFJ1bklkLCBwbGFuLndvcmtmbG93LCBwbGFuTm9kZS5kZWZpbml0aW9uLCBub2RlUGF0aCwgZW1pdEZuLCBvcHRzLm1ldGFkYXRhKTtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCBleGVjdXRvci5leGVjdXRlKGlucHV0cywgY29udGV4dCk7XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlZE91dHB1dHMgPSBvdXRwdXRzID8/IHt9O1xuICAgICAgICAgICAgZnJhbWUudmFsdWVTdG9yZS5zZXROb2RlT3V0cHV0cyhwbGFuTm9kZS5pZCwgcmVzb2x2ZWRPdXRwdXRzKTtcbiAgICAgICAgICAgIHRoaXMucm91dGVPdXRnb2luZ0VkZ2VzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgcmVzb2x2ZWRPdXRwdXRzKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgICAgICAgIG91dHB1dHM6IHJlc29sdmVkT3V0cHV0cyxcbiAgICAgICAgICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgZmluaXNoZWRBdCxcbiAgICAgICAgICAgICAgICBldmVudHM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DT01QTEVURUQsXG4gICAgICAgICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogcmVzb2x2ZWRPdXRwdXRzIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JQYXlsb2FkID0gdGhpcy50b0Vycm9yUGF5bG9hZChlcnJvcik7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCxcbiAgICAgICAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgICAgICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgZmluaXNoZWRBdCxcbiAgICAgICAgICAgICAgICBldmVudHM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGZyYW1lLnJlY29yZE5vZGVSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9GQUlMRUQsXG4gICAgICAgICAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvclBheWxvYWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChvcHRzLmZhaWxGYXN0ID8/IHRydWUpXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSBub2RlJ3MgaW5wdXQgdmFsdWVzIGZyb20gaW5jb21pbmcgZWRnZXMuXG4gICAgICovXG4gICAgcmVzb2x2ZU5vZGVJbnB1dHMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlKSB7XG4gICAgICAgIGNvbnN0IGlucHV0cyA9IHt9O1xuICAgICAgICBjb25zdCBpbmNvbWluZyA9IHBsYW4uaW5jb21pbmdCeU5vZGUuZ2V0KHBsYW5Ob2RlLmlkKSA/PyBbXTtcbiAgICAgICAgZm9yIChjb25zdCBlZGdlIG9mIGluY29taW5nKSB7XG4gICAgICAgICAgICBpbnB1dHNbZWRnZS50YXJnZXRQb3J0XSA9IGZyYW1lLnZhbHVlU3RvcmUuZ2V0UG9ydChlZGdlLnNvdXJjZU5vZGVJZCwgZWRnZS5zb3VyY2VQb3J0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5wdXRzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBdHRlbXB0cyB0byByZWFkIGEgcGlubmVkIHZhbHVlIGZvciB0aGUgbm9kZS4gUmV0dXJucyB0aGUgY2FjaGVkIG91dHB1dHNcbiAgICAgKiB3aGVuIGEgdmFsaWQgcGlubmVkIHZhbHVlIGV4aXN0cywgb3IgYHVuZGVmaW5lZGAgdG8gcHJvY2VlZCB3aXRoIG5vcm1hbFxuICAgICAqIGV4ZWN1dGlvbi5cbiAgICAgKi9cbiAgICBhc3luYyB0cnlQaW5uZWRWYWx1ZShmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIGlucHV0cykge1xuICAgICAgICBjb25zdCBwb2xpY3kgPSBuZXcgR3JhcGhQaW5uaW5nUG9saWN5KCk7XG4gICAgICAgIGlmICghcG9saWN5LnNob3VsZFVzZVBpbm5lZFZhbHVlKHBsYW5Ob2RlKSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGRlcEZpbmdlcnByaW50cyA9IHRoaXMuY29tcHV0ZURlcGVuZGVuY3lGaW5nZXJwcmludHMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLmlkKTtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2UucmVhZFBpbm5lZFZhbHVlKHBsYW4ud29ya2Zsb3csIHBsYW5Ob2RlLCBpbnB1dHMsIGRlcEZpbmdlcnByaW50cyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGNvbXB1dGVzIGZpbmdlcnByaW50cyBmb3IgYWxsIHVwc3RyZWFtIGRlcGVuZGVuY2llcyBvZiBhIG5vZGVcbiAgICAgKiB1c2luZyB0aGUgcmVzdWx0cyBhbHJlYWR5IGFjY3VtdWxhdGVkIGluIHRoZSBmcmFtZS5cbiAgICAgKi9cbiAgICBjb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgbm9kZUlkKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGRlcFJlc29sdmVyID0gbmV3IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlcigpO1xuICAgICAgICBjb25zdCBkZXBzID0gZGVwUmVzb2x2ZXIuZ2V0RGVwZW5kZW5jaWVzKHBsYW4sIG5vZGVJZCk7XG4gICAgICAgIGNvbnN0IGZpbmdlcnByaW50cyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBkZXBzKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gcGxhbi5ub2Rlcy5maW5kKChuKSA9PiBuLmlkID09PSBkZXApO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXBSZXN1bHQgPSBmcmFtZS5ub2RlUmVzdWx0cy5nZXQoZGVwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dHMgPSBkZXBSZXN1bHQ/LmlucHV0cyA/PyB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXN0ZWREZXBzID0gdGhpcy5jb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgZGVwKTtcbiAgICAgICAgICAgICAgICBmaW5nZXJwcmludHNbZGVwXSA9IHNlcnZpY2UuY29tcHV0ZUZpbmdlcnByaW50KHBsYW4ud29ya2Zsb3csIG5vZGUsIGlucHV0cywgbmVzdGVkRGVwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbmdlcnByaW50cztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUm91dGVzIGEgbm9kZSdzIG91dHB1dHMgdG8gZG93bnN0cmVhbSBpbnB1dHMgYW5kIHdvcmtmbG93IG91dHB1dHMuXG4gICAgICovXG4gICAgcm91dGVPdXRnb2luZ0VkZ2VzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgb3V0cHV0cykge1xuICAgICAgICBjb25zdCBvdXRnb2luZyA9IHBsYW4ub3V0Z29pbmdCeU5vZGUuZ2V0KHBsYW5Ob2RlLmlkKSA/PyBbXTtcbiAgICAgICAgZm9yIChjb25zdCBlZGdlIG9mIG91dGdvaW5nKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG91dHB1dHNbZWRnZS5zb3VyY2VQb3J0XTtcbiAgICAgICAgICAgIGlmIChlZGdlLnRhcmdldE5vZGVJZCA9PT0gR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlkpIHtcbiAgICAgICAgICAgICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldFdvcmtmbG93T3V0cHV0KGVkZ2UudGFyZ2V0UG9ydCwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5FREdFX1ZBTFVFX1JPVVRFRCxcbiAgICAgICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgICAgICAgIGVkZ2VJZDogZWRnZS5pZCxcbiAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgIHBhdGg6IFtdLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgZWRnZSwgdmFsdWUgfSxcbiAgICAgICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBvYnNlcnZlciBmYWlsdXJlcyBtdXN0IG5vdCBjcmFzaFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1pdHMgYW4gZXZlbnQsIHJlY29yZHMgaXQgaW4gdGhlIGZyYW1lLCBhbmQgZGlzcGF0Y2hlcyB0byBvYnNlcnZlcnMuXG4gICAgICovXG4gICAgYXN5bmMgZW1pdEV2ZW50KGZyYW1lLCBwYXJ0aWFsKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gZnJhbWUuZXZlbnRGYWN0b3J5LmNyZWF0ZSh7XG4gICAgICAgICAgICBpZDogXCJcIixcbiAgICAgICAgICAgIHNlcXVlbmNlOiAwLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgLi4ucGFydGlhbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGZyYW1lLmFwcGVuZEV2ZW50KGV2ZW50KTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1lcmdlcyBkZWZhdWx0IG9wdGlvbnMgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICAgKi9cbiAgICBtZXJnZU9wdGlvbnMob3B0aW9ucykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uY3VycmVuY3k6IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1ksXG4gICAgICAgICAgICBmYWlsRmFzdDogdHJ1ZSxcbiAgICAgICAgICAgIHZhbGlkYXRlSW5wdXRzOiB0cnVlLFxuICAgICAgICAgICAgdmFsaWRhdGVPdXRwdXRzOiB0cnVlLFxuICAgICAgICAgICAgdXNlUGlubmVkVmFsdWVzOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGVUaHJvdWdoQ2FjaGU6IGZhbHNlLFxuICAgICAgICAgICAgcGF0aDogW10sXG4gICAgICAgICAgICBtZXRhZGF0YToge30sXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgdW5pcXVlIHJ1biBpZC5cbiAgICAgKi9cbiAgICBnZW5lcmF0ZVJ1bklkKCkge1xuICAgICAgICByZXR1cm4gKGdsb2JhbFRoaXMuY3J5cHRvPy5yYW5kb21VVUlEPy4oKSA/P1xuICAgICAgICAgICAgYGdyYXBoLXJ1bi0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMil9YCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGFuIGVycm9yIGludG8gYSBzZXJpYWxpemVkIHBheWxvYWQuXG4gICAgICovXG4gICAgdG9FcnJvclBheWxvYWQoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIHN0YWNrOiBlcnJvci5zdGFjayxcbiAgICAgICAgICAgICAgICBjb2RlOiBlcnJvci5ncmFwaENvZGUgPz9cbiAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBlcnJvci5jb2RlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFN0cmluZyhlcnJvci5jb2RlKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBlcnJvci5jb2RlKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgbmFtZTogXCJVbmtub3duRXJyb3JcIiwgbWVzc2FnZTogU3RyaW5nKGVycm9yKSB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hGZUdWamRYUnBiMjVGYm1kcGJtVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZaWGhsWTNWMGFXOXVMMGR5WVhCb1JYaGxZM1YwYVc5dVJXNW5hVzVsTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWRkJMRTlCUVU4c1JVRkRUQ3g1UWtGQmVVSXNSVUZEZWtJc2RVSkJRWFZDTEVWQlEzWkNMSFZDUVVGMVFpeEZRVU4yUWl4dlFrRkJiMElzUjBGRGNrSXNNRUpCUVhGQ08wRkJZWFJDTEU5QlFVOHNSVUZCUlN3d1FrRkJNRUlzUlVGQlJTeHJSRUZCTmtNN1FVRkRiRVlzVDBGQlR5eEZRVUZGTERCQ1FVRXdRaXhGUVVGRkxHdEVRVUUyUXp0QlFVVnNSaXhQUVVGUExFVkJRVVVzY1VKQlFYRkNMRVZCUVVVc0swTkJRVEJETzBGQlNURkZMRTlCUVU4c1JVRkJSU3c0UWtGQk9FSXNSVUZCUlN4eFJFRkJaMFE3UVVGRGVrWXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3h6UTBGQmFVTTdRVUZGTTBRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMRFJEUVVGMVF6dEJRVU55UlN4UFFVRlBMRVZCUVVVc2EwSkJRV3RDTEVWQlFVVXNNa05CUVhORE8wRkJRMjVGTEU5QlFVOHNSVUZCUlN3NFFrRkJPRUlzUlVGQlJTeDFSRUZCYTBRN1FVRkRNMFlzVDBGQlR5eEZRVUZGTEhGQ1FVRnhRaXhGUVVGRkxHMURRVUZuUXp0QlFVTm9SU3hQUVVGUExFVkJRVVVzYlVKQlFXMUNMRVZCUVVVc2FVTkJRVGhDTzBGQlF6VkVMRTlCUVU4c1JVRkJSU3g1UWtGQmVVSXNSVUZCUlN4clEwRkJLMEk3UVVGdlFtNUZPenM3T3pzN096czdPMGRCVlVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzYjBKQlFXOUNPMGxCVHk5Q0xGbEJRVmtzVFVGQmEwTTdVVUZETlVNc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNXVUZCV1N4SlFVRkpMRWxCUVVrc01FSkJRVEJDTEVWQlFVVXNRMEZCUXp0UlFVTjJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4UFFVRlBMRWxCUVVrc1NVRkJTU3h4UWtGQmNVSXNSVUZCUlN4RFFVRkRPMUZCUXpkRUxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJN1dVRkRjRUlzVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhKUVVGSkxFbEJRVWtzT0VKQlFUaENMRVZCUVVVc1EwRkJRenRSUVVOdVJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRTFCUVUwc1EwRkJReXhqUVVGakxFbEJRVWtzUlVGQlJTeERRVUZETzFGQlEyeEVMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETzFGQlEzSkNMRTFCUVUwc1EwRkJReXhsUVVGbExFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnFReXhEUVVGRE8wbEJTVVFzVDBGQlR5eERRVUZETEZGQlFXZERPMUZCUTNSRExFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03U1VGRGVFTXNRMEZCUXp0SlFVVkVMRk5CUVZNc1EwRkJReXhSUVVGblF6dFJRVU40UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk1zUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVTnVReXhEUVVGRE8wbEJSVVFzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4TFFVRXdRanRSUVVNNVF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1pVRkJaU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZSRHM3VDBGRlJ6dEpRVU5JTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUTFnc1VVRkJhVU1zUlVGRGFrTXNVMEZCSzBJc1JVRkJSU3hGUVVOcVF5eFZRVUZwUXl4RlFVRkZPMUZCUlc1RExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGVFTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZMRU5CUVVNN1VVRkRha1FzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRE4wSXNUVUZCVFN4WlFVRlpMRWRCUVVjc1NVRkJTU3d3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMUZCUTNSRUxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NaVUZCWlN4RFFVRkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMUZCUXk5RUxGVkJRVlVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVYwUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVONlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRzFDUVVGdFFpeERRVU51UXl4TFFVRkxMRVZCUTB3c1NVRkJTU3hGUVVOS0xGVkJRVlVzUlVGRFZpeFpRVUZaTEVOQlEySXNRMEZCUXp0UlFVVkdMRTFCUVUwc1RVRkJUU3hIUVVGSExFdEJRVXNzUlVGQlJTeFBRVUZ4UXl4RlFVRkZMRVZCUVVVN1dVRkROMFFzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRE1VSXNTVUZCU1N4RlFVRkZMRTlCUVU4c1EwRkJReXhKUVVGSkxFbEJRVWtzZFVKQlFYVkNMRU5CUVVNc1YwRkJWenRuUWtGRGVrUXNTMEZCU3p0blFrRkRUQ3hYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEZkQlFWYzdaMEpCUXpkQ0xGVkJRVlVzUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1R0blFrRkRla0lzVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4TlFVRk5PMmRDUVVOMFFpeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkRMRWxCUVVrc1NVRkJTU3hKUVVGSk8yZENRVU14UWl4SFFVRkhMRTlCUVU4N1lVRkRXQ3hEUVVGRExFTkJRVU03VVVGRFRDeERRVUZETEVOQlFVTTdVVUZGUml4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzFsQlF6RkNMRWxCUVVrc1JVRkJSU3gxUWtGQmRVSXNRMEZCUXl4blFrRkJaMEk3V1VGRE9VTXNTMEZCU3p0WlFVTk1MRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zVjBGQlZ6dFpRVU0zUWl4VlFVRlZMRVZCUVVVc1VVRkJVU3hEUVVGRExFbEJRVWs3V1VGRGVrSXNTVUZCU1R0WlFVTktMRTFCUVUwc1JVRkJSU3h2UWtGQmIwSXNRMEZCUXl4UFFVRlBPMWxCUTNCRExFOUJRVThzUlVGQlJTeEZRVUZGTEUxQlFVMHNSVUZCUlR0VFFVTndRaXhEUVVGRExFTkJRVU03VVVGRlNDeE5RVUZOTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhGUVVGRk8xbEJRekZDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eG5Ra0ZCWjBJN1dVRkRPVU1zUzBGQlN6dFpRVU5NTEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenRaUVVNM1FpeFZRVUZWTEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrN1dVRkRla0lzU1VGQlNUdFpRVU5LTEUxQlFVMHNSVUZCUlN4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzFsQlEzSkRMRTlCUVU4c1JVRkJSU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVN1UwRkRiRVVzUTBGQlF5eERRVUZETzFGQlJVZ3NTVUZCU1N4RFFVRkRPMWxCUTBnc1MwRkJTeXhOUVVGTkxFdEJRVXNzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1owSkJRMmhETEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEyeEZMRU5CUVVNN1dVRkZSQ3hMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdXVUZGWml4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc2EwSkJRV3RDTzJkQ1FVTm9SQ3hMUVVGTE8yZENRVU5NTEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenRuUWtGRE4wSXNWVUZCVlN4RlFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSk8yZENRVU42UWl4SlFVRkpPMmRDUVVOS0xFMUJRVTBzUlVGQlJTeHZRa0ZCYjBJc1EwRkJReXhUUVVGVE8yZENRVU4wUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hQUVVGUExFVkJRVVVzVlVGQlZTeERRVUZETEdsQ1FVRnBRaXhGUVVGRkxFVkJRVVU3WVVGRGNrUXNRMEZCUXl4RFFVRkRPMWxCUlVnc1QwRkJUeXg1UWtGQmVVSXNRMEZET1VJc1MwRkJTeXhGUVVOTUxGRkJRVkVzUlVGRFVpeE5RVUZOTEVWQlEwNHNiMEpCUVc5Q0xFTkJRVU1zVTBGQlV5eEZRVU01UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVOa0xFTkJRVU03VVVGRFNpeERRVUZETzFGQlFVTXNUMEZCVHl4TFFVRkxMRVZCUVVVc1EwRkJRenRaUVVObUxFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0WlFVTm1MRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkZhRVFzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRE1VSXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEdWQlFXVTdaMEpCUXpkRExFdEJRVXM3WjBKQlEwd3NWMEZCVnl4RlFVRkZMRWxCUVVrc1EwRkJReXhYUVVGWE8yZENRVU0zUWl4VlFVRlZMRVZCUVVVc1VVRkJVU3hEUVVGRExFbEJRVWs3WjBKQlEzcENMRWxCUVVrN1owSkJRMG9zVFVGQlRTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRExFMUJRVTA3WjBKQlEyNURMRXRCUVVzc1JVRkJSU3haUVVGWk8yRkJRM0JDTEVOQlFVTXNRMEZCUXp0WlFVVklMRTlCUVU4c2VVSkJRWGxDTEVOQlF6bENMRXRCUVVzc1JVRkRUQ3hSUVVGUkxFVkJRMUlzVFVGQlRTeEZRVU5PTEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUlVGRE0wSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkRaQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTklMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zVDBGQk5FSTdVVUZEZUVNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhGUVVGRkxFTkJRVU03VVVGRE5VTXNUVUZCVFN4UFFVRlBMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlF5OUNMRTFCUVUwc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03U1VGRGJrWXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRTRRanRSUVVNMVF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXp0UlFVTTFReXhOUVVGTkxFOUJRVThzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRha01zVFVGQlRTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0SlFVTnlSaXhEUVVGRE8wbEJSVVE3T3p0UFFVZEhPMGxCUTBzc2IwSkJRVzlDTzFGQlF6RkNMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlF6RkVMRTlCUVU4c1NVRkJTU3h0UWtGQmJVSXNRMEZETlVJc1MwRkJTeXhGUVVOTUxFbEJRVWtzYTBKQlFXdENMRVZCUVVVc1JVRkRlRUlzU1VGQlNTdzRRa0ZCT0VJc1JVRkJSU3hEUVVOeVF5eERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMHNzUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhEUVVNMVFpeE5RVUZqTEVWQlEyUXNTVUZCTmtJN1VVRkZOMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N3d1FrRkJNRUlzUlVGQlJTeERRVUZETzFGQlEycEVMRTFCUVUwc1MwRkJTeXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZETTBJc1JVRkJSU3hGUVVGRkxFVkJRVVU3V1VGRFRpeFJRVUZSTEVWQlFVVXNRMEZCUXp0WlFVTllMRk5CUVZNc1JVRkJSU3hKUVVGSkxFbEJRVWtzUlVGQlJUdFpRVU55UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRaUVVOb1FpeFZRVUZWTEVWQlFVVXNSVUZCUlR0WlFVTmtMRWxCUVVrN1dVRkRTaXhOUVVGTk8xbEJRMDRzU1VGQlNTeEZRVUZGTEVWQlFVVTdVMEZEY1VRc1EwRkJReXhEUVVGRE8xRkJRMnBGTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhsUVVGbExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZETlVNc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NTMEZCU3l4RFFVRkRMRmxCUVZrc1EwRkRlRUlzUzBGQk1FSXNSVUZETVVJc1NVRkJkMElzUlVGRGVFSXNTMEZCSzBJc1JVRkRMMElzU1VGQk1rSXNSVUZETTBJc1RVRkJPRVE3VVVGRk9VUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGRE1VSXNRMEZCUXl4RlFVTkVMRWxCUVVrc1EwRkJReXhYUVVGWExFbEJRVWtzZVVKQlFYbENMRU5CUXpsRExFTkJRVU03VVVGRFJpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRmVrSXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzaENMRTFCUVUwc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRE8xbEJRek5ETEUxQlFVMHNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkRaaXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVTjJSU3hEUVVGRE8xRkJRMG9zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOTExFdEJRVXNzUTBGQlF5eFhRVUZYTEVOQlEzWkNMRXRCUVRCQ0xFVkJRekZDTEVsQlFYZENMRVZCUTNoQ0xGRkJRV2RETEVWQlEyaERMRWxCUVRKQ0xFVkJRek5DTEUxQlFUaEVPMUZCUlRsRUxFMUJRVTBzVTBGQlV5eEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkROMElzVFVGQlRTeFJRVUZSTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRmNrUXNUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUlVGQlJUdFpRVU14UWl4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNXVUZCV1R0WlFVTXhReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEV0QlFVczdXVUZEYkVJc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTzFsQlF6TkNMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdFpRVU51UWl4SlFVRkpMRVZCUVVVc1VVRkJVVHRaUVVOa0xFMUJRVTBzUlVGQlJTeHZRa0ZCYjBJc1EwRkJReXhQUVVGUE8xTkJRM0pETEVOQlFVTXNRMEZCUXp0UlFVVklMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUlRkRUxHZEZRVUZuUlR0UlFVTm9SU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVWQlFVVXNRMEZCUXp0WlFVTjZRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRlRVVzU1VGQlNTeE5RVUZOTEVWQlFVVXNRMEZCUXp0blFrRkRXQ3hMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hGUVVGRkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0blFrRkROMFFzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZGTDBRc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0blFrRkRPVUlzVFVGQlRTeE5RVUZOTEVkQlFUWkNPMjlDUVVOMlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RFFVRkRMRVZCUVVVN2IwSkJRMjVDTEUxQlFVMHNSVUZCUlN4dlFrRkJiMElzUTBGQlF5eE5RVUZOTzI5Q1FVTnVReXhOUVVGTk8yOUNRVU5PTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1QwRkJUenR2UWtGRGRrSXNVMEZCVXp0dlFrRkRWQ3hWUVVGVk8yOUNRVU5XTEZOQlFWTXNSVUZCUlN4SlFVRkpPMjlDUVVObUxFMUJRVTBzUlVGQlJTeEpRVUZKTzI5Q1FVTmFMRTFCUVUwc1JVRkJSU3hGUVVGRk8ybENRVU5ZTEVOQlFVTTdaMEpCUTBZc1MwRkJTeXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVVV2UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzI5Q1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1kwRkJZenR2UWtGRE5VTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yOUNRVU5zUWl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3YjBKQlF6TkNMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdHZRa0ZEYmtJc1NVRkJTU3hGUVVGRkxGRkJRVkU3YjBKQlEyUXNUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdiMEpCUTI1RExFOUJRVThzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1QwRkJUeXhGUVVGRk8ybENRVU55UXl4RFFVRkRMRU5CUVVNN1owSkJSVWdzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSVHR2UWtGRE1VSXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEdOQlFXTTdiMEpCUXpWRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3p0dlFrRkRiRUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZPMjlDUVVNelFpeE5RVUZOTEVWQlFVVXNVVUZCVVN4RFFVRkRMRVZCUVVVN2IwSkJRMjVDTEVsQlFVa3NSVUZCUlN4UlFVRlJPMjlDUVVOa0xFMUJRVTBzUlVGQlJTeHZRa0ZCYjBJc1EwRkJReXhUUVVGVE8yOUNRVU4wUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hGUVVGRk8ybENRVU4wUkN4RFFVRkRMRU5CUVVNN1owSkJRMGdzVDBGQlR6dFpRVU5VTEVOQlFVTTdVVUZEU0N4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRE8xbEJRMGdzVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVNM1JDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMSEZDUVVGeFFpeERRVU4yUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVOWUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVWQlEyaENMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRMklzVVVGQlVTeERRVUZETEZWQlFWVXNSVUZEYmtJc1VVRkJVU3hGUVVOU0xFMUJRVTBzUlVGRFRpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVTmtMRU5CUVVNN1dVRkZSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETzFsQlEzaEVMRTFCUVUwc1pVRkJaU3hIUVVGSExFOUJRVThzU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZGZEVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1JVRkJSU3hsUVVGbExFTkJRVU1zUTBGQlF6dFpRVU01UkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzWlVGQlpTeERRVUZETEVOQlFVTTdXVUZGYUVVc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTTVRaXhOUVVGTkxFMUJRVTBzUjBGQk5rSTdaMEpCUTNaRExFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVTXNSVUZCUlR0blFrRkRia0lzVFVGQlRTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRExGTkJRVk03WjBKQlEzUkRMRTFCUVUwN1owSkJRMDRzVDBGQlR5eEZRVUZGTEdWQlFXVTdaMEpCUTNoQ0xGTkJRVk03WjBKQlExUXNWVUZCVlR0blFrRkRWaXhOUVVGTkxFVkJRVVVzUlVGQlJUdGhRVU5ZTEVOQlFVTTdXVUZEUml4TFFVRkxMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkZMMElzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRE1VSXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEdOQlFXTTdaMEpCUXpWRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3p0blFrRkRiRUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZPMmRDUVVNelFpeE5RVUZOTEVWQlFVVXNVVUZCVVN4RFFVRkRMRVZCUVVVN1owSkJRMjVDTEVsQlFVa3NSVUZCUlN4UlFVRlJPMmRDUVVOa0xFMUJRVTBzUlVGQlJTeHZRa0ZCYjBJc1EwRkJReXhUUVVGVE8yZENRVU4wUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hQUVVGUExFVkJRVVVzWlVGQlpTeEZRVUZGTzJGQlEzUkRMRU5CUVVNc1EwRkJRenRSUVVOTUxFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTTVRaXhOUVVGTkxGbEJRVmtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xbEJRMmhFTEUxQlFVMHNUVUZCVFN4SFFVRTJRanRuUWtGRGRrTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1EwRkJReXhGUVVGRk8yZENRVU51UWl4TlFVRk5MRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0blFrRkRia01zVFVGQlRUdG5Ra0ZEVGl4TFFVRkxMRVZCUVVVc1dVRkJXVHRuUWtGRGJrSXNVMEZCVXp0blFrRkRWQ3hWUVVGVk8yZENRVU5XTEUxQlFVMHNSVUZCUlN4RlFVRkZPMkZCUTFnc1EwRkJRenRaUVVOR0xFdEJRVXNzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVVV2UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1YwRkJWenRuUWtGRGVrTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yZENRVU5zUWl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3WjBKQlF6TkNMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdG5Ra0ZEYmtJc1NVRkJTU3hGUVVGRkxGRkJRVkU3WjBKQlEyUXNUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdaMEpCUTI1RExFdEJRVXNzUlVGQlJTeFpRVUZaTzJGQlEzQkNMRU5CUVVNc1EwRkJRenRaUVVWSUxFbEJRVWtzU1VGQlNTeERRVUZETEZGQlFWRXNTVUZCU1N4SlFVRkpPMmRDUVVGRkxFMUJRVTBzUzBGQlN5eERRVUZETzFGQlEzcERMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU3l4cFFrRkJhVUlzUTBGRGRrSXNTMEZCTUVJc1JVRkRNVUlzU1VGQmQwSXNSVUZEZUVJc1VVRkJaME03VVVGRmFFTXNUVUZCVFN4TlFVRk5MRWRCUVhsQ0xFVkJRVVVzUTBGQlF6dFJRVU40UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlF6VkVMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzVVVGQlVTeEZRVUZGTEVOQlFVTTdXVUZETlVJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGRGFFUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkRha0lzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZEYUVJc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0SlFVTm9RaXhEUVVGRE8wbEJSVVE3T3pzN1QwRkpSenRKUVVOTExFdEJRVXNzUTBGQlF5eGpRVUZqTEVOQlF6RkNMRXRCUVRCQ0xFVkJRekZDTEVsQlFYZENMRVZCUTNoQ0xGRkJRV2RETEVWQlEyaERMRTFCUVRSQ08xRkJSVFZDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0UlFVTjRReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF6dFpRVUZGTEU5QlFVOHNVMEZCVXl4RFFVRkRPMUZCUlRkRUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUlVGQlJTeERRVUZETzFGQlF6VkRMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1EwRkJReXhMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVOeVJpeFBRVUZQTEU5QlFVOHNRMEZCUXl4bFFVRmxMRU5CUXpWQ0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlEySXNVVUZCVVN4RlFVTlNMRTFCUVUwc1JVRkRUaXhsUVVGbExFTkJRMmhDTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRN096dFBRVWRITzBsQlEwc3NOa0pCUVRaQ0xFTkJRMjVETEV0QlFUQkNMRVZCUXpGQ0xFbEJRWGRDTEVWQlEzaENMRTFCUVdNN1VVRkZaQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzUTBGQlF6dFJRVU0xUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxEaENRVUU0UWl4RlFVRkZMRU5CUVVNN1VVRkRla1FzVFVGQlRTeEpRVUZKTEVkQlFVY3NWMEZCVnl4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdVVUZEZGtRc1RVRkJUU3haUVVGWkxFZEJRVEpDTEVWQlFVVXNRMEZCUXp0UlFVTm9SQ3hMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNaQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEyeEVMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU03WjBKQlExUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRemRETEUxQlFVMHNUVUZCVFN4SFFVRkhMRk5CUVZNc1JVRkJSU3hOUVVGTkxFbEJRVWtzUlVGQlJTeERRVUZETzJkQ1FVTjJReXhOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRGVFVXNXVUZCV1N4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eHJRa0ZCYTBJc1EwRkROVU1zU1VGQlNTeERRVUZETEZGQlFWRXNSVUZEWWl4SlFVRkpMRVZCUTBvc1RVRkJUU3hGUVVOT0xGVkJRVlVzUTBGRFdDeERRVUZETzFsQlEwb3NRMEZCUXp0UlFVTklMRU5CUVVNN1VVRkRSQ3hQUVVGUExGbEJRVmtzUTBGQlF6dEpRVU4wUWl4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eHJRa0ZCYTBJc1EwRkRlRUlzUzBGQk1FSXNSVUZETVVJc1NVRkJkMElzUlVGRGVFSXNVVUZCWjBNc1JVRkRhRU1zVDBGQk5rSTdVVUZGTjBJc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVVzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTTFSQ3hMUVVGTExFMUJRVTBzU1VGQlNTeEpRVUZKTEZGQlFWRXNSVUZCUlN4RFFVRkRPMWxCUXpWQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03V1VGRGRrTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1dVRkJXU3hMUVVGTExIVkNRVUYxUWl4RlFVRkZMRU5CUVVNN1owSkJRMnhFTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU0zUkN4RFFVRkRPMWxCUTBRc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVWQlFVVTdaMEpCUTNCQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhwUWtGQmFVSTdaMEpCUXk5RExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3p0blFrRkRiRUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZPMmRDUVVNelFpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1owSkJRMllzVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZPMmRDUVVOdVFpeEpRVUZKTEVWQlFVVXNSVUZCUlR0blFrRkRVaXhQUVVGUExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZPMkZCUTNwQ0xFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZPMmRDUVVOYUxHMURRVUZ0UXp0WlFVTnlReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVTnlRaXhMUVVFd1FpeEZRVU14UWl4UFFVdERPMUZCUlVRc1RVRkJUU3hMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETEZsQlFWa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1dVRkRkRU1zUlVGQlJTeEZRVUZGTEVWQlFVVTdXVUZEVGl4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVOWUxGTkJRVk1zUlVGQlJTeEpRVUZKTEVsQlFVa3NSVUZCUlR0WlFVTnlRaXhIUVVGSExFOUJRVTg3VTBGRGJVUXNRMEZCUXl4RFFVRkRPMUZCUTJwRkxFdEJRVXNzUTBGQlF5eFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRla0lzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMR1ZCUVdVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU0xUXl4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eFpRVUZaTEVOQlEyeENMRTlCUVRoQ08xRkJSVGxDTEU5QlFVODdXVUZEVEN4WFFVRlhMRVZCUVVVc2VVSkJRWGxDTzFsQlEzUkRMRkZCUVZFc1JVRkJSU3hKUVVGSk8xbEJRMlFzWTBGQll5eEZRVUZGTEVsQlFVazdXVUZEY0VJc1pVRkJaU3hGUVVGRkxFbEJRVWs3V1VGRGNrSXNaVUZCWlN4RlFVRkZMRWxCUVVrN1dVRkRja0lzYVVKQlFXbENMRVZCUVVVc1MwRkJTenRaUVVONFFpeEpRVUZKTEVWQlFVVXNSVUZCUlR0WlFVTlNMRkZCUVZFc1JVRkJSU3hGUVVGRk8xbEJRMW9zUjBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXp0WlFVTjBRaXhIUVVGSExFOUJRVTg3VTBGRFdDeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMHNzWVVGQllUdFJRVU51UWl4UFFVRlBMRU5CUTB3c1ZVRkJWU3hEUVVGRExFMUJRVTBzUlVGQlJTeFZRVUZWTEVWQlFVVXNSVUZCUlR0WlFVTnFReXhoUVVGaExFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVU5xUlN4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NZMEZCWXl4RFFVRkRMRXRCUVdNN1VVRkRia01zU1VGQlNTeExRVUZMTEZsQlFWa3NTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRNMElzVDBGQlR6dG5Ra0ZEVEN4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWs3WjBKQlEyaENMRTlCUVU4c1JVRkJSU3hMUVVGTExFTkJRVU1zVDBGQlR6dG5Ra0ZEZEVJc1MwRkJTeXhGUVVGRkxFdEJRVXNzUTBGQlF5eExRVUZMTzJkQ1FVTnNRaXhKUVVGSkxFVkJRMFFzUzBGQllTeERRVUZETEZOQlFWTTdiMEpCUTNoQ0xFTkJRVU1zVDBGQlVTeExRVUZoTEVOQlFVTXNTVUZCU1N4TFFVRkxMRkZCUVZFN2QwSkJRM1JETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVVc1MwRkJZU3hEUVVGRExFbEJRVWtzUTBGQlF6dDNRa0ZETjBJc1EwRkJReXhEUVVGRkxFdEJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTTdZVUZETTBJc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRFJDeFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMR05CUVdNc1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRNVVFzUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5bGVHVmpkWFJwYjI0dlIzSmhjR2hGZUdWamRYUnBiMjVGYm1kcGJtVmNiaUFxSUVCemRXMXRZWEo1SUZKbFptVnlaVzVqWlNCbmNtRndhQ0JsZUdWamRYUnBiMjRnWlc1bmFXNWxMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVY0WldOMWRHVnpJR2R5WVhCb0lIZHZjbXRtYkc5M2N5QmtaV05zWVhKbFpDQjNhWFJvSUdCQVpHVmpZV1l0ZEhNdmRXa3RaR1ZqYjNKaGRHOXljeTluY21Gd2FHQXNJR1Z0YVhSeklHVjJaVzUwY3lCMGFISnZkV2RvSUVSbFkyRm1KM01nVDJKelpYSjJZV0pzWlNCd2FYQmxiR2x1WlN3Z2MzVndjRzl5ZEhNZ2NHRnlZV3hzWld3Z2JtOWtaU0JsZUdWamRYUnBiMjRnZDJsMGFHbHVJSFJ2Y0c5c2IyZHBZMkZzSUd4aGVXVnljeXdnWVc1a0lISmxkSFZ5Ym5NZ1lTQmpiMjF3YkdWMFpTQmxlR1ZqZFhScGIyNGdjbVZ6ZFd4MExseHVJQ292WEc1cGJYQnZjblFnZEhsd1pTQjdJRTlpYzJWeWRtRmliR1VnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0Z2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwzVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHaGNJanRjYmx4dWFXMXdiM0owSUh0Y2JpQWdSMUpCVUVoZlJFVkdRVlZNVkY5RFQwNURWVkpTUlU1RFdTeGNiaUFnUjFKQlVFaGZWMDlTUzBaTVQxZGZRazlWVGtSQlVsa3NYRzRnSUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMRnh1SUNCSGNtRndhRVY0WldOMWRHbHZibE4wWVhSMWN5eGNibjBnWm5KdmJTQmNJaTR1TDJOdmJuTjBZVzUwYzF3aU8xeHVhVzF3YjNKMElIUjVjR1VnZTF4dUlDQkhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlVR0Y1Ykc5aFpDeGNiaUFnUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEN4Y2JpQWdSM0poY0doRmVHVmpkWFJwYjI1UGNIUnBiMjV6TEZ4dUlDQkhjbUZ3YUVWNFpXTjFkR2x2YmxKbGMzVnNkQ3hjYmlBZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTXNYRzRnSUVkeVlYQm9UbTlrWlVWNFpXTjFkR2x2YmxKbGMzVnNkQ3hjYmlBZ1IzSmhjR2hRYVc1T2IyUmxUM0IwYVc5dWN5eGNiaUFnUjNKaGNHaFZibkJwYms1dlpHVlBjSFJwYjI1ekxGeHVJQ0JIY21Gd2FGSjFia2xrTEZ4dWZTQm1jbTl0SUZ3aUxpNHZkSGx3WlhOY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hGZUdWamRYUnBiMjVQWW5ObGNuWmxjaUI5SUdaeWIyMGdYQ0l1TGk5bGRtVnVkSE12UjNKaGNHaEZlR1ZqZFhScGIyNVBZbk5sY25abGNsd2lPMXh1YVcxd2IzSjBJSHNnUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEVWdGFYUjBaWElnZlNCbWNtOXRJRndpTGk0dlpYWmxiblJ6TDBkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SRmJXbDBkR1Z5WENJN1hHNXBiWEJ2Y25RZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBSbUZqZEc5eWVTQjlJR1p5YjIwZ1hDSXVMaTlsZG1WdWRITXZSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRVpoWTNSdmNubGNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doT2IyUmxSWGhsWTNWMGIzSlNaV2RwYzNSeWVTQjlJR1p5YjIwZ1hDSXVMaTl5WldkcGMzUnllUzlIY21Gd2FFNXZaR1ZGZUdWamRYUnZjbEpsWjJsemRISjVYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRVY0WldOMWRHbHZibEJzWVc1dVpYSWdmU0JtY205dElGd2lMaTR2Y0d4aGJtNXBibWN2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1Ym1WeVhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJpQjlJR1p5YjIwZ1hDSXVMaTl3YkdGdWJtbHVaeTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VG05a1pTQjlJR1p5YjIwZ1hDSXVMaTl3YkdGdWJtbHVaeTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbFhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVm1Gc2RXVlRkRzl5WlVGa1lYQjBaWElnZlNCbWNtOXRJRndpTGk0dmMzUnZjbVV2UjNKaGNHaFdZV3gxWlZOMGIzSmxRV1JoY0hSbGNsd2lPMXh1YVcxd2IzSjBJSHNnU1c1TlpXMXZjbmxIY21Gd2FGWmhiSFZsVTNSdmNtVkJaR0Z3ZEdWeUlIMGdabkp2YlNCY0lpNHVMM04wYjNKbEwwbHVUV1Z0YjNKNVIzSmhjR2hXWVd4MVpWTjBiM0psUVdSaGNIUmxjbHdpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hXWVd4MVpWTjBiM0psSUgwZ1puSnZiU0JjSWk0dUwzTjBiM0psTDBkeVlYQm9WbUZzZFdWVGRHOXlaVndpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FFTmhZMmhsWkZaaGJIVmxJSDBnWm5KdmJTQmNJaTR1TDNOMGIzSmxMMGR5WVhCb1EyRmphR1ZrVm1Gc2RXVmNJanRjYm1sdGNHOXlkQ0I3SUVkeVlYQm9VR2x1Ym1sdVoxTmxjblpwWTJVZ2ZTQm1jbTl0SUZ3aUxpNHZjR2x1Ym1sdVp5OUhjbUZ3YUZCcGJtNXBibWRUWlhKMmFXTmxYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRkJwYm01cGJtZFFiMnhwWTNrZ2ZTQm1jbTl0SUZ3aUxpNHZjR2x1Ym1sdVp5OUhjbUZ3YUZCcGJtNXBibWRRYjJ4cFkzbGNJanRjYm1sdGNHOXlkQ0I3SUVkeVlYQm9VR2x1Ym1sdVowUmxjR1Z1WkdWdVkzbFNaWE52YkhabGNpQjlJR1p5YjIwZ1hDSXVMaTl3YVc1dWFXNW5MMGR5WVhCb1VHbHVibWx1WjBSbGNHVnVaR1Z1WTNsU1pYTnZiSFpsY2x3aU8xeHVhVzF3YjNKMElIc2dSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwSUgwZ1puSnZiU0JjSWk0dlIzSmhjR2hGZUdWamRYUnBiMjVEYjI1MFpYaDBYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRVY0WldOMWRHbHZia1p5WVcxbElIMGdabkp2YlNCY0lpNHZSM0poY0doRmVHVmpkWFJwYjI1R2NtRnRaVndpTzF4dWFXMXdiM0owSUhzZ1luVnBiR1JIY21Gd2FFVjRaV04xZEdsdmJsSmxjM1ZzZENCOUlHWnliMjBnWENJdUwwZHlZWEJvUlhobFkzVjBhVzl1VW1WemRXeDBYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1EyOXVabWxuZFhKaGRHbHZiaUJtYjNJZ2RHaGxJSHRBYkdsdWF5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWdVoybHVaWDB1WEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSM0poY0doRmVHVmpkWFJwYjI1RmJtZHBibVZEYjI1bWFXY2dlMXh1SUNCeVpXZHBjM1J5ZVRvZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYjNKU1pXZHBjM1J5ZVR0Y2JpQWdjR3hoYm01bGNqODZJRWR5WVhCb1JYaGxZM1YwYVc5dVVHeGhibTVsY2p0Y2JpQWdkbUZzZFdWVGRHOXlaVUZrWVhCMFpYSS9PaUJIY21Gd2FGWmhiSFZsVTNSdmNtVkJaR0Z3ZEdWeU8xeHVJQ0JsZG1WdWRFVnRhWFIwWlhJL09pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBSVzFwZEhSbGNqdGNiaUFnWkdWbVlYVnNkRTl3ZEdsdmJuTS9PaUJRWVhKMGFXRnNQRWR5WVhCb1JYaGxZM1YwYVc5dVQzQjBhVzl1Y3o0N1hHNGdJQzhxS2x4dUlDQWdLaUJQY0hScGIyNWhiQ0JqWVd4c1ltRmpheUJwYm5admEyVmtJR0YwSUhSb1pTQmxibVFnYjJZZ1pXNW5hVzVsSUdOdmJuTjBjblZqZEdsdmJpQjNhWFJvSUhSb1pWeHVJQ0FnS2lCbWRXeHNlUzFwYm1sMGFXRnNhWE5sWkNCbGJtZHBibVVnYVc1emRHRnVZMlV1SUZWelpTQjBhR2x6SUhSdklISmxaMmx6ZEdWeUlHVjRaV04xZEc5eWN5QjBhR0YwWEc0Z0lDQXFJRzVsWldRZ1lTQmlZV05yTFhKbFptVnlaVzVqWlNCMGJ5QjBhR1VnWlc1bmFXNWxJQ2hsTG1jdUlHeHZiM0FnWlhobFkzVjBiM0p6SUhSb1lYUWdaWGhsWTNWMFpWeHVJQ0FnS2lCemRXSXRkMjl5YTJac2IzZHpJSFJvY205MVoyZ2dkR2hsSUhOaGJXVWdaVzVuYVc1bEtTNWNiaUFnSUNvdlhHNGdJRzl1Ulc1bmFXNWxRM0psWVhSbFpEODZJQ2hsYm1kcGJtVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJXNW5hVzVsS1NBOVBpQjJiMmxrTzF4dWZWeHVYRzR2S2lwY2JpQXFJRkpsWm1WeVpXNWpaU0JuY21Gd2FDQmxlR1ZqZFhScGIyNGdaVzVuYVc1bExseHVJQ3BjYmlBcUlFVjRaV04xZEdWeklHRWdlMEJzYVc1cklFZHlZWEJvVjI5eWEyWnNiM2RFWldacGJtbDBhVzl1ZlNCaWVUcGNiaUFxSURFdUlGQnNZVzV1YVc1bklIUm9aU0IzYjNKclpteHZkeUJwYm5SdklIUnZjRzlzYjJkcFkyRnNJR3hoZVdWeWN5NWNiaUFxSURJdUlGTmxaV1JwYm1jZ2QyOXlhMlpzYjNjZ2FXNXdkWFJ6SUdsdWRHOGdkR2hsSUhaaGJIVmxJSE4wYjNKbExseHVJQ29nTXk0Z1JYaGxZM1YwYVc1bklHNXZaR1Z6SUd4aGVXVnlMV0o1TFd4aGVXVnlJSGRwZEdnZ1kyOXVabWxuZFhKaFlteGxJR052Ym1OMWNuSmxibU41TGx4dUlDb2dOQzRnVW05MWRHbHVaeUIyWVd4MVpYTWdZV3h2Ym1jZ1pXUm5aWE11WEc0Z0tpQTFMaUJGYldsMGRHbHVaeUJ6ZEhKMVkzUjFjbVZrSUdWMlpXNTBjeUIwYUhKdmRXZG9JRVJsWTJGbUozTWdUMkp6WlhKMllXSnNaU0J3YVhCbGJHbHVaUzVjYmlBcUlEWXVJRkpsZEhWeWJtbHVaeUJoSUdOdmJYQnNaWFJsSUh0QWJHbHVheUJIY21Gd2FFVjRaV04xZEdsdmJsSmxjM1ZzZEgwdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWdVoybHVaVnh1SUNCcGJYQnNaVzFsYm5SeklFOWljMlZ5ZG1GaWJHVThXMGR5WVhCb1JYaGxZM1YwYVc5dVQySnpaWEoyWlhKZExDQmJSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRjArSUh0Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmxiV2wwZEdWeU9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBSVzFwZEhSbGNqdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0J3YkdGdWJtVnlPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzV1WlhJN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2dkbUZzZFdWVGRHOXlaVUZrWVhCMFpYSTZJRWR5WVhCb1ZtRnNkV1ZUZEc5eVpVRmtZWEIwWlhJN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daR1ZtWVhWc2RFOXdkR2x2Ym5NNklGQmhjblJwWVd3OFIzSmhjR2hGZUdWamRYUnBiMjVQY0hScGIyNXpQanRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWhqYjI1bWFXYzZJRWR5WVhCb1JYaGxZM1YwYVc5dVJXNW5hVzVsUTI5dVptbG5LU0I3WEc0Z0lDQWdkR2hwY3k1bGJXbDBkR1Z5SUQwZ1kyOXVabWxuTG1WMlpXNTBSVzFwZEhSbGNpQS9QeUJ1WlhjZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRFVnRhWFIwWlhJb0tUdGNiaUFnSUNCMGFHbHpMbkJzWVc1dVpYSWdQU0JqYjI1bWFXY3VjR3hoYm01bGNpQS9QeUJ1WlhjZ1IzSmhjR2hGZUdWamRYUnBiMjVRYkdGdWJtVnlLQ2s3WEc0Z0lDQWdkR2hwY3k1MllXeDFaVk4wYjNKbFFXUmhjSFJsY2lBOVhHNGdJQ0FnSUNCamIyNW1hV2N1ZG1Gc2RXVlRkRzl5WlVGa1lYQjBaWElnUHo4Z2JtVjNJRWx1VFdWdGIzSjVSM0poY0doV1lXeDFaVk4wYjNKbFFXUmhjSFJsY2lncE8xeHVJQ0FnSUhSb2FYTXVaR1ZtWVhWc2RFOXdkR2x2Ym5NZ1BTQmpiMjVtYVdjdVpHVm1ZWFZzZEU5d2RHbHZibk1nUHo4Z2UzMDdYRzRnSUNBZ2RHaHBjeTVqYjI1bWFXY2dQU0JqYjI1bWFXYzdYRzRnSUNBZ1kyOXVabWxuTG05dVJXNW5hVzVsUTNKbFlYUmxaRDh1S0hSb2FYTXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JqYjI1bWFXYzZJRWR5WVhCb1JYaGxZM1YwYVc5dVJXNW5hVzVsUTI5dVptbG5PMXh1WEc0Z0lHOWljMlZ5ZG1Vb2IySnpaWEoyWlhJNklFZHlZWEJvUlhobFkzVjBhVzl1VDJKelpYSjJaWElwT2lBb0tTQTlQaUIyYjJsa0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWxiV2wwZEdWeUxtOWljMlZ5ZG1Vb2IySnpaWEoyWlhJcE8xeHVJQ0I5WEc1Y2JpQWdkVzVQWW5ObGNuWmxLRzlpYzJWeWRtVnlPaUJIY21Gd2FFVjRaV04xZEdsdmJrOWljMlZ5ZG1WeUtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWxiV2wwZEdWeUxuVnVUMkp6WlhKMlpTaHZZbk5sY25abGNpazdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QjFjR1JoZEdWUFluTmxjblpsY25Nb1pYWmxiblE2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5RcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1WdGFYUjBaWEl1ZFhCa1lYUmxUMkp6WlhKMlpYSnpLR1YyWlc1MEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJGZUdWamRYUmxjeUJoSUhkdmNtdG1iRzkzSUhkcGRHZ2dkR2hsSUdkcGRtVnVJR2x1Y0hWMGN5QmhibVFnYjNCMGFXOXVjeTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR1Y0WldOMWRHVW9YRzRnSUNBZ2QyOXlhMlpzYjNjNklFZHlZWEJvVjI5eWEyWnNiM2RFWldacGJtbDBhVzl1TEZ4dUlDQWdJR2x1Y0hWMGN6b2dSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE1nUFNCN2ZTeGNiaUFnSUNCdmNIUnBiMjV6T2lCSGNtRndhRVY0WldOMWRHbHZiazl3ZEdsdmJuTWdQU0I3ZlZ4dUlDQXBPaUJRY205dGFYTmxQRWR5WVhCb1JYaGxZM1YwYVc5dVVtVnpkV3gwUGlCN1hHNGdJQ0FnWTI5dWMzUWdiM0IwY3lBOUlIUm9hWE11YldWeVoyVlBjSFJwYjI1ektHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdOdmJuTjBJSEoxYmtsa0lEMGdiM0IwY3k1eWRXNUpaQ0EvUHlCMGFHbHpMbWRsYm1WeVlYUmxVblZ1U1dRb0tUdGNiaUFnSUNCamIyNXpkQ0J3WVhSb0lEMGdiM0IwY3k1d1lYUm9JRDgvSUZ0ZE8xeHVJQ0FnSUdOdmJuTjBJR1YyWlc1MFJtRmpkRzl5ZVNBOUlHNWxkeUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwUm1GamRHOXllU2dwTzF4dUlDQWdJR052Ym5OMElIWmhiSFZsVTNSdmNtVWdQU0J1WlhjZ1IzSmhjR2hXWVd4MVpWTjBiM0psS0hSb2FYTXVkbUZzZFdWVGRHOXlaVUZrWVhCMFpYSXBPMXh1SUNBZ0lIWmhiSFZsVTNSdmNtVXVjMlZsWkZkdmNtdG1iRzkzU1c1d2RYUnpLR2x1Y0hWMGN5azdYRzVjYmlBZ0lDQmpiMjV6ZENCd2JHRnVJRDBnZEdocGN5NXdiR0Z1Ym1WeUxuQnNZVzRvZDI5eWEyWnNiM2NwTzF4dUlDQWdJR052Ym5OMElHWnlZVzFsSUQwZ2JtVjNJRWR5WVhCb1JYaGxZM1YwYVc5dVJuSmhiV1VvWEc0Z0lDQWdJQ0J5ZFc1SlpDeGNiaUFnSUNBZ0lIQnNZVzRzWEc0Z0lDQWdJQ0IyWVd4MVpWTjBiM0psTEZ4dUlDQWdJQ0FnWlhabGJuUkdZV04wYjNKNVhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR1Z0YVhSR2JpQTlJR0Z6ZVc1aklDaHdZWEowYVdGc09pQlFZWEowYVdGc1BFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUStLU0E5UGlCN1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxtVnRhWFJGZG1WdWRDaG1jbUZ0WlN3Z2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCd1lYSjBhV0ZzTG5SNWNHVWdQejhnUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEZSNWNHVXVUazlFUlY5UFZWUlFWVlFzWEc0Z0lDQWdJQ0FnSUhKMWJrbGtMRnh1SUNBZ0lDQWdJQ0J3WVhKbGJuUlNkVzVKWkRvZ2IzQjBjeTV3WVhKbGJuUlNkVzVKWkN4Y2JpQWdJQ0FnSUNBZ2QyOXlhMlpzYjNkSlpEb2dkMjl5YTJac2IzY3VibUZ0WlN4Y2JpQWdJQ0FnSUNBZ2JtOWtaVWxrT2lCd1lYSjBhV0ZzTG01dlpHVkpaQ3hjYmlBZ0lDQWdJQ0FnY0dGMGFEb2djR0Z5ZEdsaGJDNXdZWFJvSUQ4L0lIQmhkR2dzWEc0Z0lDQWdJQ0FnSUM0dUxuQmhjblJwWVd3c1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NWxiV2wwUlhabGJuUW9abkpoYldVc0lIdGNiaUFnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMbGRQVWt0R1RFOVhYMU5VUVZKVVJVUXNYRzRnSUNBZ0lDQnlkVzVKWkN4Y2JpQWdJQ0FnSUhCaGNtVnVkRkoxYmtsa09pQnZjSFJ6TG5CaGNtVnVkRkoxYmtsa0xGeHVJQ0FnSUNBZ2QyOXlhMlpzYjNkSlpEb2dkMjl5YTJac2IzY3VibUZ0WlN4Y2JpQWdJQ0FnSUhCaGRHZ3NYRzRnSUNBZ0lDQnpkR0YwZFhNNklFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMbEpWVGs1SlRrY3NYRzRnSUNBZ0lDQndZWGxzYjJGa09pQjdJR2x1Y0hWMGN5QjlMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVsYldsMFJYWmxiblFvWm5KaGJXVXNJSHRjYmlBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGxkUFVrdEdURTlYWDFCTVFVNU9SVVFzWEc0Z0lDQWdJQ0J5ZFc1SlpDeGNiaUFnSUNBZ0lIQmhjbVZ1ZEZKMWJrbGtPaUJ2Y0hSekxuQmhjbVZ1ZEZKMWJrbGtMRnh1SUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nZDI5eWEyWnNiM2N1Ym1GdFpTeGNiaUFnSUNBZ0lIQmhkR2dzWEc0Z0lDQWdJQ0J6ZEdGMGRYTTZJRWR5WVhCb1JYaGxZM1YwYVc5dVUzUmhkSFZ6TGxCTVFVNU9TVTVITEZ4dUlDQWdJQ0FnY0dGNWJHOWhaRG9nZXlCc1lYbGxjbk02SUhCc1lXNHViR0Y1WlhKekxteGxibWQwYUN3Z2JtOWtaWE02SUhCc1lXNHVibTlrWlhNdWJHVnVaM1JvSUgwc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JzWVhsbGNpQnZaaUJ3YkdGdUxteGhlV1Z5Y3lrZ2UxeHVJQ0FnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbVY0WldOMWRHVk1ZWGxsY2lobWNtRnRaU3dnY0d4aGJpd2diR0Y1WlhJdWJtOWtaWE1zSUc5d2RITXNJR1Z0YVhSR2JpazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p5WVcxbExtWnBibWx6YUNncE8xeHVYRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbVZ0YVhSRmRtVnVkQ2htY21GdFpTd2dlMXh1SUNBZ0lDQWdJQ0IwZVhCbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlM1WFQxSkxSa3hQVjE5RFQwMVFURVZVUlVRc1hHNGdJQ0FnSUNBZ0lISjFia2xrTEZ4dUlDQWdJQ0FnSUNCd1lYSmxiblJTZFc1SlpEb2diM0IwY3k1d1lYSmxiblJTZFc1SlpDeGNiaUFnSUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nZDI5eWEyWnNiM2N1Ym1GdFpTeGNiaUFnSUNBZ0lDQWdjR0YwYUN4Y2JpQWdJQ0FnSUNBZ2MzUmhkSFZ6T2lCSGNtRndhRVY0WldOMWRHbHZibE4wWVhSMWN5NVRWVU5EUlVWRVJVUXNYRzRnSUNBZ0lDQWdJSEJoZVd4dllXUTZJSHNnYjNWMGNIVjBjem9nZG1Gc2RXVlRkRzl5WlM1blpYUlhiM0pyWm14dmQxWmhiSFZsY3lncElIMHNYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJR0oxYVd4a1IzSmhjR2hGZUdWamRYUnBiMjVTWlhOMWJIUW9YRzRnSUNBZ0lDQWdJR1p5WVcxbExGeHVJQ0FnSUNBZ0lDQjNiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdhVzV3ZFhSekxGeHVJQ0FnSUNBZ0lDQkhjbUZ3YUVWNFpXTjFkR2x2YmxOMFlYUjFjeTVUVlVORFJVVkVSVVFzWEc0Z0lDQWdJQ0FnSUc5d2RITXViV1YwWVdSaGRHRmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUdaeVlXMWxMbVpwYm1semFDZ3BPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pYSnliM0pRWVhsc2IyRmtJRDBnZEdocGN5NTBiMFZ5Y205eVVHRjViRzloWkNobGNuSnZjaWs3WEc1Y2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXMXBkRVYyWlc1MEtHWnlZVzFsTENCN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMbGRQVWt0R1RFOVhYMFpCU1V4RlJDeGNiaUFnSUNBZ0lDQWdjblZ1U1dRc1hHNGdJQ0FnSUNBZ0lIQmhjbVZ1ZEZKMWJrbGtPaUJ2Y0hSekxuQmhjbVZ1ZEZKMWJrbGtMRnh1SUNBZ0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCM2IzSnJabXh2ZHk1dVlXMWxMRnh1SUNBZ0lDQWdJQ0J3WVhSb0xGeHVJQ0FnSUNBZ0lDQnpkR0YwZFhNNklFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMa1pCU1V4RlJDeGNiaUFnSUNBZ0lDQWdaWEp5YjNJNklHVnljbTl5VUdGNWJHOWhaQ3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnWW5WcGJHUkhjbUZ3YUVWNFpXTjFkR2x2YmxKbGMzVnNkQ2hjYmlBZ0lDQWdJQ0FnWm5KaGJXVXNYRzRnSUNBZ0lDQWdJSGR2Y210bWJHOTNMRnh1SUNBZ0lDQWdJQ0JwYm5CMWRITXNYRzRnSUNBZ0lDQWdJRWR5WVhCb1JYaGxZM1YwYVc5dVUzUmhkSFZ6TGtaQlNVeEZSQ3hjYmlBZ0lDQWdJQ0FnYjNCMGN5NXRaWFJoWkdGMFlWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVR2x1Y3lCaElHNXZaR1VnWVc1a0lHbDBjeUIxY0hOMGNtVmhiU0JrWlhCbGJtUmxibU5wWlhNZ1lXWjBaWElnWVNCamIyMXdiR1YwWldRZ2NuVnVMbHh1SUNBZ0tseHVJQ0FnS2lCRVpXeGxaMkYwWlhNZ2RHOGdlMEJzYVc1cklFZHlZWEJvVUdsdWJtbHVaMU5sY25acFkyVjlMaUJVYUdVZ2NHeGhiaUJoYm1RZ2NtVnpkV3gwSUcxMWMzUWdZMjl0WlZ4dUlDQWdLaUJtY205dElHRWdjSEpwYjNJZ2MzVmpZMlZ6YzJaMWJDQmxlR1ZqZFhScGIyNGdiMllnZEdobElITmhiV1VnZDI5eWEyWnNiM2N1WEc0Z0lDQXFMMXh1SUNCaGMzbHVZeUJ3YVc1T2IyUmxLRzl3ZEdsdmJuTTZJRWR5WVhCb1VHbHVUbTlrWlU5d2RHbHZibk1wT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCelpYSjJhV05sSUQwZ2RHaHBjeTVqY21WaGRHVlFhVzV1YVc1blUyVnlkbWxqWlNncE8xeHVJQ0FnSUdGM1lXbDBJSE5sY25acFkyVXVjR2x1VG05a1pTaHZjSFJwYjI1ektUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtVnRhWFJRYVc1dWFXNW5SWFpsYm5Rb2IzQjBhVzl1Y3k1dWIyUmxTV1FzSUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMazVQUkVWZlVFbE9Ua1ZFS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlZibkJwYm5NZ1lTQnViMlJsSUdKNUlHbDBjeUJtYVc1blpYSndjbWx1ZEM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUhWdWNHbHVUbTlrWlNodmNIUnBiMjV6T2lCSGNtRndhRlZ1Y0dsdVRtOWtaVTl3ZEdsdmJuTXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0J6WlhKMmFXTmxJRDBnZEdocGN5NWpjbVZoZEdWUWFXNXVhVzVuVTJWeWRtbGpaU2dwTzF4dUlDQWdJR0YzWVdsMElITmxjblpwWTJVdWRXNXdhVzVPYjJSbEtHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXMXBkRkJwYm01cGJtZEZkbVZ1ZENodmNIUnBiMjV6TG01dlpHVkpaQ3dnUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEZSNWNHVXVUazlFUlY5VlRsQkpUazVGUkNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbGN5QmhJSHRBYkdsdWF5QkhjbUZ3YUZCcGJtNXBibWRUWlhKMmFXTmxmU0JpWVdOclpXUWdZbmtnZEdocGN5QmxibWRwYm1VbmN5QjJZV3gxWlNCemRHOXlaVnh1SUNBZ0tpQmhaR0Z3ZEdWeUxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmpjbVZoZEdWUWFXNXVhVzVuVTJWeWRtbGpaU2dwT2lCSGNtRndhRkJwYm01cGJtZFRaWEoyYVdObElIdGNiaUFnSUNCamIyNXpkQ0J6ZEc5eVpTQTlJRzVsZHlCSGNtRndhRlpoYkhWbFUzUnZjbVVvZEdocGN5NTJZV3gxWlZOMGIzSmxRV1JoY0hSbGNpazdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkhjbUZ3YUZCcGJtNXBibWRUWlhKMmFXTmxLRnh1SUNBZ0lDQWdjM1J2Y21Vc1hHNGdJQ0FnSUNCdVpYY2dSM0poY0doUWFXNXVhVzVuVUc5c2FXTjVLQ2tzWEc0Z0lDQWdJQ0J1WlhjZ1IzSmhjR2hRYVc1dWFXNW5SR1Z3Wlc1a1pXNWplVkpsYzI5c2RtVnlLQ2xjYmlBZ0lDQXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVWdGFYUnpJR0VnY0dsdWJtbHVaeTF5Wld4aGRHVmtJR1YyWlc1MElIUnZJR0ZzYkNCdlluTmxjblpsY25NdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHRnplVzVqSUdWdGFYUlFhVzV1YVc1blJYWmxiblFvWEc0Z0lDQWdibTlrWlVsa09pQnpkSEpwYm1jc1hHNGdJQ0FnZEhsd1pUb2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRlI1Y0dWY2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnWm1GamRHOXllU0E5SUc1bGR5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBSbUZqZEc5eWVTZ3BPMXh1SUNBZ0lHTnZibk4wSUdWMlpXNTBJRDBnWm1GamRHOXllUzVqY21WaGRHVW9lMXh1SUNBZ0lDQWdhV1E2SUZ3aVhDSXNYRzRnSUNBZ0lDQnpaWEYxWlc1alpUb2dNQ3hjYmlBZ0lDQWdJSFJwYldWemRHRnRjRG9nYm1WM0lFUmhkR1VvS1N4Y2JpQWdJQ0FnSUhKMWJrbGtPaUJjSW5CcGJtNXBibWRjSWl4Y2JpQWdJQ0FnSUhkdmNtdG1iRzkzU1dRNklGd2lYQ0lzWEc0Z0lDQWdJQ0IwZVhCbExGeHVJQ0FnSUNBZ2JtOWtaVWxrTEZ4dUlDQWdJQ0FnY0dGMGFEb2dXMTBzWEc0Z0lDQWdmU0JoY3lCUGJXbDBQRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblFzSUZ3aWFXUmNJaUI4SUZ3aWMyVnhkV1Z1WTJWY0lpQjhJRndpZEdsdFpYTjBZVzF3WENJK0tUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtVnRhWFIwWlhJdWRYQmtZWFJsVDJKelpYSjJaWEp6S0dWMlpXNTBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRmVHVmpkWFJsY3lCaElHeGhlV1Z5SUc5bUlHNXZaR1Z6SUhkcGRHZ2dkR2hsSUdOdmJtWnBaM1Z5WldRZ1kyOXVZM1Z5Y21WdVkza3VYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklHVjRaV04xZEdWTVlYbGxjaWhjYmlBZ0lDQm1jbUZ0WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVHY21GdFpTeGNiaUFnSUNCd2JHRnVPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzRzWEc0Z0lDQWdibTlrWlhNNklFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrNXZaR1ZiWFN4Y2JpQWdJQ0J2Y0hSek9pQkhjbUZ3YUVWNFpXTjFkR2x2Yms5d2RHbHZibk1zWEc0Z0lDQWdaVzFwZEVadU9pQW9aWFpsYm5RNklGQmhjblJwWVd3OFIzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRENHBJRDArSUZCeWIyMXBjMlU4ZG05cFpENWNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ1kyOXVZM1Z5Y21WdVkza2dQU0JOWVhSb0xtMWhlQ2hjYmlBZ0lDQWdJREVzWEc0Z0lDQWdJQ0J2Y0hSekxtTnZibU4xY25KbGJtTjVJRDgvSUVkU1FWQklYMFJGUmtGVlRGUmZRMDlPUTFWU1VrVk9RMWxjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhGMVpYVmxJRDBnV3k0dUxtNXZaR1Z6WFR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2h4ZFdWMVpTNXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmlZWFJqYUNBOUlIRjFaWFZsTG5Od2JHbGpaU2d3TENCamIyNWpkWEp5Wlc1amVTazdYRzRnSUNBZ0lDQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdZbUYwWTJndWJXRndLQ2h1YjJSbEtTQTlQaUIwYUdsekxtVjRaV04xZEdWT2IyUmxLR1p5WVcxbExDQndiR0Z1TENCdWIyUmxMQ0J2Y0hSekxDQmxiV2wwUm00cEtWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSWGhsWTNWMFpYTWdZU0J6YVc1bmJHVWdibTlrWlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWlhobFkzVjBaVTV2WkdVb1hHNGdJQ0FnWm5KaGJXVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJuSmhiV1VzWEc0Z0lDQWdjR3hoYmpvZ1IzSmhjR2hGZUdWamRYUnBiMjVRYkdGdUxGeHVJQ0FnSUhCc1lXNU9iMlJsT2lCSGNtRndhRVY0WldOMWRHbHZibEJzWVc1T2IyUmxMRnh1SUNBZ0lHOXdkSE02SUVkeVlYQm9SWGhsWTNWMGFXOXVUM0IwYVc5dWN5eGNiaUFnSUNCbGJXbDBSbTQ2SUNobGRtVnVkRG9nVUdGeWRHbGhiRHhIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwUGlrZ1BUNGdVSEp2YldselpUeDJiMmxrUGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0J6ZEdGeWRHVmtRWFFnUFNCdVpYY2dSR0YwWlNncE8xeHVJQ0FnSUdOdmJuTjBJRzV2WkdWUVlYUm9JRDBnV3k0dUxpaHZjSFJ6TG5CaGRHZ2dQejhnVzEwcExDQndiR0Z1VG05a1pTNXBaRjA3WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1WdGFYUkZkbVZ1ZENobWNtRnRaU3dnZTF4dUlDQWdJQ0FnZEhsd1pUb2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRlI1Y0dVdVRrOUVSVjlUVkVGU1ZFVkVMRnh1SUNBZ0lDQWdjblZ1U1dRNklHWnlZVzFsTG5KMWJrbGtMRnh1SUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nY0d4aGJpNTNiM0pyWm14dmQwbGtMRnh1SUNBZ0lDQWdibTlrWlVsa09pQndiR0Z1VG05a1pTNXBaQ3hjYmlBZ0lDQWdJSEJoZEdnNklHNXZaR1ZRWVhSb0xGeHVJQ0FnSUNBZ2MzUmhkSFZ6T2lCSGNtRndhRVY0WldOMWRHbHZibE4wWVhSMWN5NVNWVTVPU1U1SExGeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYVc1d2RYUnpJRDBnZEdocGN5NXlaWE52YkhabFRtOWtaVWx1Y0hWMGN5aG1jbUZ0WlN3Z2NHeGhiaXdnY0d4aGJrNXZaR1VwTzF4dVhHNGdJQ0FnTHk4Z1EyRmphR1V0YUdsME9pQmphR1ZqYXlCbWIzSWdZU0J3YVc1dVpXUWdkbUZzZFdVZ1ltVm1iM0psSUdWNFpXTjFkR2x1WnlCMGFHVWdibTlrWlZ4dUlDQWdJR2xtSUNodmNIUnpMblZ6WlZCcGJtNWxaRlpoYkhWbGN5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyRmphR1ZrSUQwZ1lYZGhhWFFnZEdocGN5NTBjbmxRYVc1dVpXUldZV3gxWlNobWNtRnRaU3dnY0d4aGJpd2djR3hoYms1dlpHVXNJR2x1Y0hWMGN5azdYRzRnSUNBZ0lDQnBaaUFvWTJGamFHVmtLU0I3WEc0Z0lDQWdJQ0FnSUdaeVlXMWxMblpoYkhWbFUzUnZjbVV1YzJWMFRtOWtaVTkxZEhCMWRITW9jR3hoYms1dlpHVXVhV1FzSUdOaFkyaGxaQzV2ZFhSd2RYUnpLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXliM1YwWlU5MWRHZHZhVzVuUldSblpYTW9abkpoYldVc0lIQnNZVzRzSUhCc1lXNU9iMlJsTENCallXTm9aV1F1YjNWMGNIVjBjeWs3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWm1sdWFYTm9aV1JCZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxjM1ZzZERvZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYVc5dVVtVnpkV3gwSUQwZ2UxeHVJQ0FnSUNBZ0lDQWdJRzV2WkdWSlpEb2djR3hoYms1dlpHVXVhV1FzWEc0Z0lDQWdJQ0FnSUNBZ2MzUmhkSFZ6T2lCSGNtRndhRVY0WldOMWRHbHZibE4wWVhSMWN5NURRVU5JUlVRc1hHNGdJQ0FnSUNBZ0lDQWdhVzV3ZFhSekxGeHVJQ0FnSUNBZ0lDQWdJRzkxZEhCMWRITTZJR05oWTJobFpDNXZkWFJ3ZFhSekxGeHVJQ0FnSUNBZ0lDQWdJSE4wWVhKMFpXUkJkQ3hjYmlBZ0lDQWdJQ0FnSUNCbWFXNXBjMmhsWkVGMExGeHVJQ0FnSUNBZ0lDQWdJR1p5YjIxRFlXTm9aVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0J3YVc1dVpXUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdaWFpsYm5Sek9pQmJYU3hjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ1puSmhiV1V1Y21WamIzSmtUbTlrWlZKbGMzVnNkQ2h5WlhOMWJIUXBPMXh1WEc0Z0lDQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXMXBkRVYyWlc1MEtHWnlZVzFsTENCN1hHNGdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRGUjVjR1V1VGs5RVJWOURRVU5JUlY5SVNWUXNYRzRnSUNBZ0lDQWdJQ0FnY25WdVNXUTZJR1p5WVcxbExuSjFia2xrTEZ4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRtYkc5M1NXUTZJSEJzWVc0dWQyOXlhMlpzYjNkSlpDeGNiaUFnSUNBZ0lDQWdJQ0J1YjJSbFNXUTZJSEJzWVc1T2IyUmxMbWxrTEZ4dUlDQWdJQ0FnSUNBZ0lIQmhkR2c2SUc1dlpHVlFZWFJvTEZ4dUlDQWdJQ0FnSUNBZ0lITjBZWFIxY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVUZEdGMGRYTXVRMEZEU0VWRUxGeHVJQ0FnSUNBZ0lDQWdJSEJoZVd4dllXUTZJSHNnYjNWMGNIVjBjem9nWTJGamFHVmtMbTkxZEhCMWRITWdmU3hjYmlBZ0lDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVsYldsMFJYWmxiblFvWm5KaGJXVXNJSHRjYmlBZ0lDQWdJQ0FnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU9UMFJGWDBOUFRWQk1SVlJGUkN4Y2JpQWdJQ0FnSUNBZ0lDQnlkVzVKWkRvZ1puSmhiV1V1Y25WdVNXUXNYRzRnSUNBZ0lDQWdJQ0FnZDI5eWEyWnNiM2RKWkRvZ2NHeGhiaTUzYjNKclpteHZkMGxrTEZ4dUlDQWdJQ0FnSUNBZ0lHNXZaR1ZKWkRvZ2NHeGhiazV2WkdVdWFXUXNYRzRnSUNBZ0lDQWdJQ0FnY0dGMGFEb2dibTlrWlZCaGRHZ3NYRzRnSUNBZ0lDQWdJQ0FnYzNSaGRIVnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsTjBZWFIxY3k1VFZVTkRSVVZFUlVRc1hHNGdJQ0FnSUNBZ0lDQWdjR0Y1Ykc5aFpEb2dleUJ2ZFhSd2RYUnpPaUJqWVdOb1pXUXViM1YwY0hWMGN5d2dabkp2YlVOaFkyaGxPaUIwY25WbElIMHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1Y0WldOMWRHOXlJRDBnZEdocGN5NWpiMjVtYVdjdWNtVm5hWE4wY25rdWNtVnpiMngyWlNod2JHRnVUbTlrWlM1cmFXNWtLVHRjYmlBZ0lDQWdJR052Ym5OMElHTnZiblJsZUhRZ1BTQnVaWGNnUjNKaGNHaEZlR1ZqZFhScGIyNURiMjUwWlhoMEtGeHVJQ0FnSUNBZ0lDQm1jbUZ0WlM1eWRXNUpaQ3hjYmlBZ0lDQWdJQ0FnYjNCMGN5NXdZWEpsYm5SU2RXNUpaQ3hjYmlBZ0lDQWdJQ0FnY0d4aGJpNTNiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdjR3hoYms1dlpHVXVaR1ZtYVc1cGRHbHZiaXhjYmlBZ0lDQWdJQ0FnYm05a1pWQmhkR2dzWEc0Z0lDQWdJQ0FnSUdWdGFYUkdiaXhjYmlBZ0lDQWdJQ0FnYjNCMGN5NXRaWFJoWkdGMFlWeHVJQ0FnSUNBZ0tUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2IzVjBjSFYwY3lBOUlHRjNZV2wwSUdWNFpXTjFkRzl5TG1WNFpXTjFkR1VvYVc1d2RYUnpMQ0JqYjI1MFpYaDBLVHRjYmlBZ0lDQWdJR052Ym5OMElISmxjMjlzZG1Wa1QzVjBjSFYwY3lBOUlHOTFkSEIxZEhNZ1B6OGdlMzA3WEc1Y2JpQWdJQ0FnSUdaeVlXMWxMblpoYkhWbFUzUnZjbVV1YzJWMFRtOWtaVTkxZEhCMWRITW9jR3hoYms1dlpHVXVhV1FzSUhKbGMyOXNkbVZrVDNWMGNIVjBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxuSnZkWFJsVDNWMFoyOXBibWRGWkdkbGN5aG1jbUZ0WlN3Z2NHeGhiaXdnY0d4aGJrNXZaR1VzSUhKbGMyOXNkbVZrVDNWMGNIVjBjeWs3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJR1pwYm1semFHVmtRWFFnUFNCdVpYY2dSR0YwWlNncE8xeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemRXeDBPaUJIY21Gd2FFNXZaR1ZGZUdWamRYUnBiMjVTWlhOMWJIUWdQU0I3WEc0Z0lDQWdJQ0FnSUc1dlpHVkpaRG9nY0d4aGJrNXZaR1V1YVdRc1hHNGdJQ0FnSUNBZ0lITjBZWFIxY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVUZEdGMGRYTXVVMVZEUTBWRlJFVkVMRnh1SUNBZ0lDQWdJQ0JwYm5CMWRITXNYRzRnSUNBZ0lDQWdJRzkxZEhCMWRITTZJSEpsYzI5c2RtVmtUM1YwY0hWMGN5eGNiaUFnSUNBZ0lDQWdjM1JoY25SbFpFRjBMRnh1SUNBZ0lDQWdJQ0JtYVc1cGMyaGxaRUYwTEZ4dUlDQWdJQ0FnSUNCbGRtVnVkSE02SUZ0ZExGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lHWnlZVzFsTG5KbFkyOXlaRTV2WkdWU1pYTjFiSFFvY21WemRXeDBLVHRjYmx4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1bGJXbDBSWFpsYm5Rb1puSmhiV1VzSUh0Y2JpQWdJQ0FnSUNBZ2RIbHdaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEZSNWNHVXVUazlFUlY5RFQwMVFURVZVUlVRc1hHNGdJQ0FnSUNBZ0lISjFia2xrT2lCbWNtRnRaUzV5ZFc1SlpDeGNiaUFnSUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nY0d4aGJpNTNiM0pyWm14dmQwbGtMRnh1SUNBZ0lDQWdJQ0J1YjJSbFNXUTZJSEJzWVc1T2IyUmxMbWxrTEZ4dUlDQWdJQ0FnSUNCd1lYUm9PaUJ1YjJSbFVHRjBhQ3hjYmlBZ0lDQWdJQ0FnYzNSaGRIVnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsTjBZWFIxY3k1VFZVTkRSVVZFUlVRc1hHNGdJQ0FnSUNBZ0lIQmhlV3h2WVdRNklIc2diM1YwY0hWMGN6b2djbVZ6YjJ4MlpXUlBkWFJ3ZFhSeklIMHNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWm1sdWFYTm9aV1JCZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUNBZ0lDQmpiMjV6ZENCbGNuSnZjbEJoZVd4dllXUWdQU0IwYUdsekxuUnZSWEp5YjNKUVlYbHNiMkZrS0dWeWNtOXlLVHRjYmlBZ0lDQWdJR052Ym5OMElISmxjM1ZzZERvZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYVc5dVVtVnpkV3gwSUQwZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsU1dRNklIQnNZVzVPYjJSbExtbGtMRnh1SUNBZ0lDQWdJQ0J6ZEdGMGRYTTZJRWR5WVhCb1JYaGxZM1YwYVc5dVUzUmhkSFZ6TGtaQlNVeEZSQ3hjYmlBZ0lDQWdJQ0FnYVc1d2RYUnpMRnh1SUNBZ0lDQWdJQ0JsY25KdmNqb2daWEp5YjNKUVlYbHNiMkZrTEZ4dUlDQWdJQ0FnSUNCemRHRnlkR1ZrUVhRc1hHNGdJQ0FnSUNBZ0lHWnBibWx6YUdWa1FYUXNYRzRnSUNBZ0lDQWdJR1YyWlc1MGN6b2dXMTBzWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJQ0FnWm5KaGJXVXVjbVZqYjNKa1RtOWtaVkpsYzNWc2RDaHlaWE4xYkhRcE8xeHVYRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbVZ0YVhSRmRtVnVkQ2htY21GdFpTd2dlMXh1SUNBZ0lDQWdJQ0IwZVhCbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlM1T1QwUkZYMFpCU1V4RlJDeGNiaUFnSUNBZ0lDQWdjblZ1U1dRNklHWnlZVzFsTG5KMWJrbGtMRnh1SUNBZ0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCd2JHRnVMbmR2Y210bWJHOTNTV1FzWEc0Z0lDQWdJQ0FnSUc1dlpHVkpaRG9nY0d4aGJrNXZaR1V1YVdRc1hHNGdJQ0FnSUNBZ0lIQmhkR2c2SUc1dlpHVlFZWFJvTEZ4dUlDQWdJQ0FnSUNCemRHRjBkWE02SUVkeVlYQm9SWGhsWTNWMGFXOXVVM1JoZEhWekxrWkJTVXhGUkN4Y2JpQWdJQ0FnSUNBZ1pYSnliM0k2SUdWeWNtOXlVR0Y1Ykc5aFpDeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2IzQjBjeTVtWVdsc1JtRnpkQ0EvUHlCMGNuVmxLU0IwYUhKdmR5Qmxjbkp2Y2p0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVnpiMngyWlhNZ1lTQnViMlJsSjNNZ2FXNXdkWFFnZG1Gc2RXVnpJR1p5YjIwZ2FXNWpiMjFwYm1jZ1pXUm5aWE11WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUhKbGMyOXNkbVZPYjJSbFNXNXdkWFJ6S0Z4dUlDQWdJR1p5WVcxbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtaeVlXMWxMRnh1SUNBZ0lIQnNZVzQ2SUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYml4Y2JpQWdJQ0J3YkdGdVRtOWtaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VG05a1pWeHVJQ0FwT2lCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN5QjdYRzRnSUNBZ1kyOXVjM1FnYVc1d2RYUnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3lBOUlIdDlPMXh1SUNBZ0lHTnZibk4wSUdsdVkyOXRhVzVuSUQwZ2NHeGhiaTVwYm1OdmJXbHVaMEo1VG05a1pTNW5aWFFvY0d4aGJrNXZaR1V1YVdRcElEOC9JRnRkTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnWldSblpTQnZaaUJwYm1OdmJXbHVaeWtnZTF4dUlDQWdJQ0FnYVc1d2RYUnpXMlZrWjJVdWRHRnlaMlYwVUc5eWRGMGdQU0JtY21GdFpTNTJZV3gxWlZOMGIzSmxMbWRsZEZCdmNuUW9YRzRnSUNBZ0lDQWdJR1ZrWjJVdWMyOTFjbU5sVG05a1pVbGtMRnh1SUNBZ0lDQWdJQ0JsWkdkbExuTnZkWEpqWlZCdmNuUmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJwYm5CMWRITTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUVhSMFpXMXdkSE1nZEc4Z2NtVmhaQ0JoSUhCcGJtNWxaQ0IyWVd4MVpTQm1iM0lnZEdobElHNXZaR1V1SUZKbGRIVnlibk1nZEdobElHTmhZMmhsWkNCdmRYUndkWFJ6WEc0Z0lDQXFJSGRvWlc0Z1lTQjJZV3hwWkNCd2FXNXVaV1FnZG1Gc2RXVWdaWGhwYzNSekxDQnZjaUJnZFc1a1pXWnBibVZrWUNCMGJ5QndjbTlqWldWa0lIZHBkR2dnYm05eWJXRnNYRzRnSUNBcUlHVjRaV04xZEdsdmJpNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ2RISjVVR2x1Ym1Wa1ZtRnNkV1VvWEc0Z0lDQWdabkpoYldVNklFZHlZWEJvUlhobFkzVjBhVzl1Um5KaGJXVXNYRzRnSUNBZ2NHeGhiam9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1TEZ4dUlDQWdJSEJzWVc1T2IyUmxPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbExGeHVJQ0FnSUdsdWNIVjBjem9nUjNKaGNHaEZlR1ZqZFhScGIyNVdZV3gxWlhOY2JpQWdLVG9nVUhKdmJXbHpaVHhIY21Gd2FFTmhZMmhsWkZaaGJIVmxJSHdnZFc1a1pXWnBibVZrUGlCN1hHNGdJQ0FnWTI5dWMzUWdjRzlzYVdONUlEMGdibVYzSUVkeVlYQm9VR2x1Ym1sdVoxQnZiR2xqZVNncE8xeHVJQ0FnSUdsbUlDZ2hjRzlzYVdONUxuTm9iM1ZzWkZWelpWQnBibTVsWkZaaGJIVmxLSEJzWVc1T2IyUmxLU2tnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJR052Ym5OMElITmxjblpwWTJVZ1BTQjBhR2x6TG1OeVpXRjBaVkJwYm01cGJtZFRaWEoyYVdObEtDazdYRzRnSUNBZ1kyOXVjM1FnWkdWd1JtbHVaMlZ5Y0hKcGJuUnpJRDBnZEdocGN5NWpiMjF3ZFhSbFJHVndaVzVrWlc1amVVWnBibWRsY25CeWFXNTBjeWhtY21GdFpTd2djR3hoYml3Z2NHeGhiazV2WkdVdWFXUXBPMXh1SUNBZ0lISmxkSFZ5YmlCelpYSjJhV05sTG5KbFlXUlFhVzV1WldSV1lXeDFaU2hjYmlBZ0lDQWdJSEJzWVc0dWQyOXlhMlpzYjNjc1hHNGdJQ0FnSUNCd2JHRnVUbTlrWlN4Y2JpQWdJQ0FnSUdsdWNIVjBjeXhjYmlBZ0lDQWdJR1JsY0VacGJtZGxjbkJ5YVc1MGMxeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVZqZFhKemFYWmxiSGtnWTI5dGNIVjBaWE1nWm1sdVoyVnljSEpwYm5SeklHWnZjaUJoYkd3Z2RYQnpkSEpsWVcwZ1pHVndaVzVrWlc1amFXVnpJRzltSUdFZ2JtOWtaVnh1SUNBZ0tpQjFjMmx1WnlCMGFHVWdjbVZ6ZFd4MGN5QmhiSEpsWVdSNUlHRmpZM1Z0ZFd4aGRHVmtJR2x1SUhSb1pTQm1jbUZ0WlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kyOXRjSFYwWlVSbGNHVnVaR1Z1WTNsR2FXNW5aWEp3Y21sdWRITW9YRzRnSUNBZ1puSmhiV1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSbkpoYldVc1hHNGdJQ0FnY0d4aGJqb2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVMRnh1SUNBZ0lHNXZaR1ZKWkRvZ2MzUnlhVzVuWEc0Z0lDazZJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1Wno0Z2UxeHVJQ0FnSUdOdmJuTjBJSE5sY25acFkyVWdQU0IwYUdsekxtTnlaV0YwWlZCcGJtNXBibWRUWlhKMmFXTmxLQ2s3WEc0Z0lDQWdZMjl1YzNRZ1pHVndVbVZ6YjJ4MlpYSWdQU0J1WlhjZ1IzSmhjR2hRYVc1dWFXNW5SR1Z3Wlc1a1pXNWplVkpsYzI5c2RtVnlLQ2s3WEc0Z0lDQWdZMjl1YzNRZ1pHVndjeUE5SUdSbGNGSmxjMjlzZG1WeUxtZGxkRVJsY0dWdVpHVnVZMmxsY3lod2JHRnVMQ0J1YjJSbFNXUXBPMXh1SUNBZ0lHTnZibk4wSUdacGJtZGxjbkJ5YVc1MGN6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGlBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdaR1Z3SUc5bUlHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQndiR0Z1TG01dlpHVnpMbVpwYm1Rb0tHNHBJRDArSUc0dWFXUWdQVDA5SUdSbGNDazdYRzRnSUNBZ0lDQnBaaUFvYm05a1pTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmtaWEJTWlhOMWJIUWdQU0JtY21GdFpTNXViMlJsVW1WemRXeDBjeTVuWlhRb1pHVndLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhVzV3ZFhSeklEMGdaR1Z3VW1WemRXeDBQeTVwYm5CMWRITWdQejhnZTMwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1bGMzUmxaRVJsY0hNZ1BTQjBhR2x6TG1OdmJYQjFkR1ZFWlhCbGJtUmxibU41Um1sdVoyVnljSEpwYm5SektHWnlZVzFsTENCd2JHRnVMQ0JrWlhBcE8xeHVJQ0FnSUNBZ0lDQm1hVzVuWlhKd2NtbHVkSE5iWkdWd1hTQTlJSE5sY25acFkyVXVZMjl0Y0hWMFpVWnBibWRsY25CeWFXNTBLRnh1SUNBZ0lDQWdJQ0FnSUhCc1lXNHVkMjl5YTJac2IzY3NYRzRnSUNBZ0lDQWdJQ0FnYm05a1pTeGNiaUFnSUNBZ0lDQWdJQ0JwYm5CMWRITXNYRzRnSUNBZ0lDQWdJQ0FnYm1WemRHVmtSR1Z3YzF4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdabWx1WjJWeWNISnBiblJ6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSnZkWFJsY3lCaElHNXZaR1VuY3lCdmRYUndkWFJ6SUhSdklHUnZkMjV6ZEhKbFlXMGdhVzV3ZFhSeklHRnVaQ0IzYjNKclpteHZkeUJ2ZFhSd2RYUnpMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0J5YjNWMFpVOTFkR2R2YVc1blJXUm5aWE1vWEc0Z0lDQWdabkpoYldVNklFZHlZWEJvUlhobFkzVjBhVzl1Um5KaGJXVXNYRzRnSUNBZ2NHeGhiam9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1TEZ4dUlDQWdJSEJzWVc1T2IyUmxPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbExGeHVJQ0FnSUc5MWRIQjFkSE02SUVkeVlYQm9SWGhsWTNWMGFXOXVWbUZzZFdWelhHNGdJQ2s2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUc5MWRHZHZhVzVuSUQwZ2NHeGhiaTV2ZFhSbmIybHVaMEo1VG05a1pTNW5aWFFvY0d4aGJrNXZaR1V1YVdRcElEOC9JRnRkTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnWldSblpTQnZaaUJ2ZFhSbmIybHVaeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkbUZzZFdVZ1BTQnZkWFJ3ZFhSelcyVmtaMlV1YzI5MWNtTmxVRzl5ZEYwN1hHNGdJQ0FnSUNCcFppQW9aV1JuWlM1MFlYSm5aWFJPYjJSbFNXUWdQVDA5SUVkU1FWQklYMWRQVWt0R1RFOVhYMEpQVlU1RVFWSlpLU0I3WEc0Z0lDQWdJQ0FnSUdaeVlXMWxMblpoYkhWbFUzUnZjbVV1YzJWMFYyOXlhMlpzYjNkUGRYUndkWFFvWldSblpTNTBZWEpuWlhSUWIzSjBMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjBhR2x6TG1WdGFYUkZkbVZ1ZENobWNtRnRaU3dnZTF4dUlDQWdJQ0FnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNUZSRWRGWDFaQlRGVkZYMUpQVlZSRlJDeGNiaUFnSUNBZ0lDQWdjblZ1U1dRNklHWnlZVzFsTG5KMWJrbGtMRnh1SUNBZ0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCd2JHRnVMbmR2Y210bWJHOTNTV1FzWEc0Z0lDQWdJQ0FnSUdWa1oyVkpaRG9nWldSblpTNXBaQ3hjYmlBZ0lDQWdJQ0FnYm05a1pVbGtPaUJ3YkdGdVRtOWtaUzVwWkN4Y2JpQWdJQ0FnSUNBZ2NHRjBhRG9nVzEwc1hHNGdJQ0FnSUNBZ0lIQmhlV3h2WVdRNklIc2daV1JuWlN3Z2RtRnNkV1VnZlN4Y2JpQWdJQ0FnSUgwcExtTmhkR05vS0NncElEMCtJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2IySnpaWEoyWlhJZ1ptRnBiSFZ5WlhNZ2JYVnpkQ0J1YjNRZ1kzSmhjMmhjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRmJXbDBjeUJoYmlCbGRtVnVkQ3dnY21WamIzSmtjeUJwZENCcGJpQjBhR1VnWm5KaGJXVXNJR0Z1WkNCa2FYTndZWFJqYUdWeklIUnZJRzlpYzJWeWRtVnljeTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdaVzFwZEVWMlpXNTBLRnh1SUNBZ0lHWnlZVzFsT2lCSGNtRndhRVY0WldOMWRHbHZia1p5WVcxbExGeHVJQ0FnSUhCaGNuUnBZV3c2SUZCaGNuUnBZV3c4UjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEQ0Z0ppQjdYRzRnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaVHRjYmlBZ0lDQWdJSEoxYmtsa09pQkhjbUZ3YUZKMWJrbGtPMXh1SUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nYzNSeWFXNW5PMXh1SUNBZ0lDQWdjR0YwYURvZ2MzUnlhVzVuVzEwN1hHNGdJQ0FnZlZ4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0JsZG1WdWRDQTlJR1p5WVcxbExtVjJaVzUwUm1GamRHOXllUzVqY21WaGRHVW9lMXh1SUNBZ0lDQWdhV1E2SUZ3aVhDSXNYRzRnSUNBZ0lDQnpaWEYxWlc1alpUb2dNQ3hjYmlBZ0lDQWdJSFJwYldWemRHRnRjRG9nYm1WM0lFUmhkR1VvS1N4Y2JpQWdJQ0FnSUM0dUxuQmhjblJwWVd3c1hHNGdJQ0FnZlNCaGN5QlBiV2wwUEVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5Rc0lGd2lhV1JjSWlCOElGd2ljMlZ4ZFdWdVkyVmNJaUI4SUZ3aWRHbHRaWE4wWVcxd1hDSStLVHRjYmlBZ0lDQm1jbUZ0WlM1aGNIQmxibVJGZG1WdWRDaGxkbVZ1ZENrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1bGJXbDBkR1Z5TG5Wd1pHRjBaVTlpYzJWeWRtVnljeWhsZG1WdWRDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVFdWeVoyVnpJR1JsWm1GMWJIUWdiM0IwYVc5dWN5QjNhWFJvSUhSb1pTQm5hWFpsYmlCdmNIUnBiMjV6TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCdFpYSm5aVTl3ZEdsdmJuTW9YRzRnSUNBZ2IzQjBhVzl1Y3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVQY0hScGIyNXpYRzRnSUNrNklFZHlZWEJvUlhobFkzVjBhVzl1VDNCMGFXOXVjeUI3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHTnZibU4xY25KbGJtTjVPaUJIVWtGUVNGOUVSVVpCVlV4VVgwTlBUa05WVWxKRlRrTlpMRnh1SUNBZ0lDQWdabUZwYkVaaGMzUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNCMllXeHBaR0YwWlVsdWNIVjBjem9nZEhKMVpTeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFQzVjBjSFYwY3pvZ2RISjFaU3hjYmlBZ0lDQWdJSFZ6WlZCcGJtNWxaRlpoYkhWbGN6b2dkSEoxWlN4Y2JpQWdJQ0FnSUhkeWFYUmxWR2h5YjNWbmFFTmhZMmhsT2lCbVlXeHpaU3hjYmlBZ0lDQWdJSEJoZEdnNklGdGRMRnh1SUNBZ0lDQWdiV1YwWVdSaGRHRTZJSHQ5TEZ4dUlDQWdJQ0FnTGk0dWRHaHBjeTVrWldaaGRXeDBUM0IwYVc5dWN5eGNiaUFnSUNBZ0lDNHVMbTl3ZEdsdmJuTXNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlc1bGNtRjBaWE1nWVNCMWJtbHhkV1VnY25WdUlHbGtMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JuWlc1bGNtRjBaVkoxYmtsa0tDazZJSE4wY21sdVp5QjdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUdkc2IySmhiRlJvYVhNdVkzSjVjSFJ2UHk1eVlXNWtiMjFWVlVsRVB5NG9LU0EvUDF4dUlDQWdJQ0FnWUdkeVlYQm9MWEoxYmkwa2UwUmhkR1V1Ym05M0tDbDlMU1I3VFdGMGFDNXlZVzVrYjIwb0tTNTBiMU4wY21sdVp5Z3pOaWt1YzJ4cFkyVW9NaWw5WUZ4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXVkbVZ5ZEhNZ1lXNGdaWEp5YjNJZ2FXNTBieUJoSUhObGNtbGhiR2w2WldRZ2NHRjViRzloWkM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2RHOUZjbkp2Y2xCaGVXeHZZV1FvWlhKeWIzSTZJSFZ1YTI1dmQyNHBPaUJIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5VUdGNWJHOWhaQ0I3WEc0Z0lDQWdhV1lnS0dWeWNtOXlJR2x1YzNSaGJtTmxiMllnUlhKeWIzSXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJRzVoYldVNklHVnljbTl5TG01aGJXVXNYRzRnSUNBZ0lDQWdJRzFsYzNOaFoyVTZJR1Z5Y205eUxtMWxjM05oWjJVc1hHNGdJQ0FnSUNBZ0lITjBZV05yT2lCbGNuSnZjaTV6ZEdGamF5eGNiaUFnSUNBZ0lDQWdZMjlrWlRwY2JpQWdJQ0FnSUNBZ0lDQW9aWEp5YjNJZ1lYTWdZVzU1S1M1bmNtRndhRU52WkdVZ1B6OWNiaUFnSUNBZ0lDQWdJQ0FvZEhsd1pXOW1JQ2hsY25KdmNpQmhjeUJoYm5rcExtTnZaR1VnUFQwOUlGd2liblZ0WW1WeVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z1UzUnlhVzVuS0NobGNuSnZjaUJoY3lCaGJua3BMbU52WkdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUNobGNuSnZjaUJoY3lCaGJua3BMbU52WkdVcExGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSHNnYm1GdFpUb2dYQ0pWYm10dWIzZHVSWEp5YjNKY0lpd2diV1Z6YzJGblpUb2dVM1J5YVc1bktHVnljbTl5S1NCOU8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixvQkFBb0IsR0FDckIsMEJBQXFCO0FBYXRCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrREFBNkM7QUFDbEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtEQUE2QztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsK0NBQTBDO0FBSTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxxREFBZ0Q7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQ0FBaUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRDQUF1QztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsMkNBQXNDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1REFBa0Q7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1DQUFnQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxrQ0FBK0I7QUE0Qm5FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQVksTUFBa0M7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsY0FB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QUFlLEVBQUUsSUFBSTtZQUNyQixlQUFlLEVBQUUsSUFBSTtZQUNyQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLElBQUksRUFBRSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RCLEdBQUcsT0FBTztTQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLE9BQU8sQ0FDTCxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQ2pDLGFBQWEsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjLENBQUMsS0FBYztRQUNuQyxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztZQUMzQixPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLElBQUksRUFDRCxLQUFhLENBQUMsU0FBUztvQkFDeEIsQ0FBQyxPQUFRLEtBQWEsQ0FBQyxJQUFJLEtBQUssUUFBUTt3QkFDdEMsQ0FBQyxDQUFDLE1BQU0sQ0FBRSxLQUFhLENBQUMsSUFBSSxDQUFDO3dCQUM3QixDQUFDLENBQUUsS0FBYSxDQUFDLElBQUksQ0FBQzthQUMzQixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkVuZ2luZVxuICogQHN1bW1hcnkgUmVmZXJlbmNlIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKiBAZGVzY3JpcHRpb24gRXhlY3V0ZXMgZ3JhcGggd29ya2Zsb3dzIGRlY2xhcmVkIHdpdGggYEBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoYCwgZW1pdHMgZXZlbnRzIHRocm91Z2ggRGVjYWYncyBPYnNlcnZhYmxlIHBpcGVsaW5lLCBzdXBwb3J0cyBwYXJhbGxlbCBub2RlIGV4ZWN1dGlvbiB3aXRoaW4gdG9wb2xvZ2ljYWwgbGF5ZXJzLCBhbmQgcmV0dXJucyBhIGNvbXBsZXRlIGV4ZWN1dGlvbiByZXN1bHQuXG4gKi9cbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG5pbXBvcnQge1xuICBHUkFQSF9ERUZBVUxUX0NPTkNVUlJFTkNZLFxuICBHUkFQSF9XT1JLRkxPV19CT1VOREFSWSxcbiAgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUsXG4gIEdyYXBoRXhlY3V0aW9uU3RhdHVzLFxufSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoRXhlY3V0aW9uRXJyb3JQYXlsb2FkLFxuICBHcmFwaEV4ZWN1dGlvbkV2ZW50LFxuICBHcmFwaEV4ZWN1dGlvbk9wdGlvbnMsXG4gIEdyYXBoRXhlY3V0aW9uUmVzdWx0LFxuICBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgR3JhcGhOb2RlRXhlY3V0aW9uUmVzdWx0LFxuICBHcmFwaFBpbk5vZGVPcHRpb25zLFxuICBHcmFwaFVucGluTm9kZU9wdGlvbnMsXG4gIEdyYXBoUnVuSWQsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbk9ic2VydmVyIH0gZnJvbSBcIi4uL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbk9ic2VydmVyXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RW1pdHRlciB9IGZyb20gXCIuLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXJcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4uL3JlZ2lzdHJ5L0dyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnlcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uUGxhbm5lciB9IGZyb20gXCIuLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5uZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuIH0gZnJvbSBcIi4uL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhblwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlIH0gZnJvbSBcIi4uL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbk5vZGVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZVN0b3JlQWRhcHRlciB9IGZyb20gXCIuLi9zdG9yZS9HcmFwaFZhbHVlU3RvcmVBZGFwdGVyXCI7XG5pbXBvcnQgeyBJbk1lbW9yeUdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIgfSBmcm9tIFwiLi4vc3RvcmUvSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyXCI7XG5pbXBvcnQgeyBHcmFwaFZhbHVlU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoQ2FjaGVkVmFsdWUgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhDYWNoZWRWYWx1ZVwiO1xuaW1wb3J0IHsgR3JhcGhQaW5uaW5nU2VydmljZSB9IGZyb20gXCIuLi9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2VcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ1BvbGljeSB9IGZyb20gXCIuLi9waW5uaW5nL0dyYXBoUGlubmluZ1BvbGljeVwiO1xuaW1wb3J0IHsgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4uL3Bpbm5pbmcvR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRnJhbWUgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkZyYW1lXCI7XG5pbXBvcnQgeyBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25SZXN1bHRcIjtcbmltcG9ydCB0eXBlIHsgQ29kZVNhbmRib3hFdmFsdWF0b3IgfSBmcm9tIFwiLi9Db2RlU2FuZGJveEV2YWx1YXRvclwiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSB7QGxpbmsgR3JhcGhFeGVjdXRpb25FbmdpbmV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnIHtcbiAgcmVnaXN0cnk6IEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnk7XG4gIHBsYW5uZXI/OiBHcmFwaEV4ZWN1dGlvblBsYW5uZXI7XG4gIHZhbHVlU3RvcmVBZGFwdGVyPzogR3JhcGhWYWx1ZVN0b3JlQWRhcHRlcjtcbiAgZXZlbnRFbWl0dGVyPzogR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXI7XG4gIGRlZmF1bHRPcHRpb25zPzogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbk9wdGlvbnM+O1xuICAvKipcbiAgICogT3B0aW9uYWwgcGx1Z2dhYmxlIGNvZGUgc2FuZGJveCBldmFsdWF0b3IgZm9yIGNvZGUtYmFzZWQgY29uZGl0aW9uc1xuICAgKiAoREVDQUYtMzIgwqcyMi40KS4gV2hlbiBhYnNlbnQsIGNvZGUgY29uZGl0aW9ucyB0aHJvd1xuICAgKiBgR1JBUEhfQ09ERV9TQU5EQk9YX05PVF9DT05GSUdVUkVEYC4gRG93bnN0cmVhbSBwcm9qZWN0cyAoZS5nLiBBTEZSRUQpXG4gICAqIHN1cHBseSB0aGUgYWN0dWFsIFZNIHNhbmRib3ggaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBjb2RlU2FuZGJveEV2YWx1YXRvcj86IENvZGVTYW5kYm94RXZhbHVhdG9yO1xuICAvKipcbiAgICogT3B0aW9uYWwgY2FsbGJhY2sgaW52b2tlZCBhdCB0aGUgZW5kIG9mIGVuZ2luZSBjb25zdHJ1Y3Rpb24gd2l0aCB0aGVcbiAgICogZnVsbHktaW5pdGlhbGlzZWQgZW5naW5lIGluc3RhbmNlLiBVc2UgdGhpcyB0byByZWdpc3RlciBleGVjdXRvcnMgdGhhdFxuICAgKiBuZWVkIGEgYmFjay1yZWZlcmVuY2UgdG8gdGhlIGVuZ2luZSAoZS5nLiBsb29wIGV4ZWN1dG9ycyB0aGF0IGV4ZWN1dGVcbiAgICogc3ViLXdvcmtmbG93cyB0aHJvdWdoIHRoZSBzYW1lIGVuZ2luZSkuXG4gICAqL1xuICBvbkVuZ2luZUNyZWF0ZWQ/OiAoZW5naW5lOiBHcmFwaEV4ZWN1dGlvbkVuZ2luZSkgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBSZWZlcmVuY2UgZ3JhcGggZXhlY3V0aW9uIGVuZ2luZS5cbiAqXG4gKiBFeGVjdXRlcyBhIHtAbGluayBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbn0gYnk6XG4gKiAxLiBQbGFubmluZyB0aGUgd29ya2Zsb3cgaW50byB0b3BvbG9naWNhbCBsYXllcnMuXG4gKiAyLiBTZWVkaW5nIHdvcmtmbG93IGlucHV0cyBpbnRvIHRoZSB2YWx1ZSBzdG9yZS5cbiAqIDMuIEV4ZWN1dGluZyBub2RlcyBsYXllci1ieS1sYXllciB3aXRoIGNvbmZpZ3VyYWJsZSBjb25jdXJyZW5jeS5cbiAqIDQuIFJvdXRpbmcgdmFsdWVzIGFsb25nIGVkZ2VzLlxuICogNS4gRW1pdHRpbmcgc3RydWN0dXJlZCBldmVudHMgdGhyb3VnaCBEZWNhZidzIE9ic2VydmFibGUgcGlwZWxpbmUuXG4gKiA2LiBSZXR1cm5pbmcgYSBjb21wbGV0ZSB7QGxpbmsgR3JhcGhFeGVjdXRpb25SZXN1bHR9LlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhFeGVjdXRpb25FbmdpbmVcbiAgaW1wbGVtZW50cyBPYnNlcnZhYmxlPFtHcmFwaEV4ZWN1dGlvbk9ic2VydmVyXSwgW0dyYXBoRXhlY3V0aW9uRXZlbnRdPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW1pdHRlcjogR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhbm5lcjogR3JhcGhFeGVjdXRpb25QbGFubmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlU3RvcmVBZGFwdGVyOiBHcmFwaFZhbHVlU3RvcmVBZGFwdGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uT3B0aW9ucz47XG4gIC8qKiBQbHVnZ2FibGUgY29kZSBzYW5kYm94IGV2YWx1YXRvciAowqcyMi40KTsgbWF5IGJlIHVuZGVmaW5lZC4gKi9cbiAgcmVhZG9ubHkgY29kZVNhbmRib3hFdmFsdWF0b3I/OiBDb2RlU2FuZGJveEV2YWx1YXRvcjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEdyYXBoRXhlY3V0aW9uRW5naW5lQ29uZmlnKSB7XG4gICAgdGhpcy5lbWl0dGVyID0gY29uZmlnLmV2ZW50RW1pdHRlciA/PyBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnBsYW5uZXIgPSBjb25maWcucGxhbm5lciA/PyBuZXcgR3JhcGhFeGVjdXRpb25QbGFubmVyKCk7XG4gICAgdGhpcy52YWx1ZVN0b3JlQWRhcHRlciA9XG4gICAgICBjb25maWcudmFsdWVTdG9yZUFkYXB0ZXIgPz8gbmV3IEluTWVtb3J5R3JhcGhWYWx1ZVN0b3JlQWRhcHRlcigpO1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSBjb25maWcuZGVmYXVsdE9wdGlvbnMgPz8ge307XG4gICAgdGhpcy5jb2RlU2FuZGJveEV2YWx1YXRvciA9IGNvbmZpZy5jb2RlU2FuZGJveEV2YWx1YXRvcjtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICBjb25maWcub25FbmdpbmVDcmVhdGVkPy4odGhpcyk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogR3JhcGhFeGVjdXRpb25FbmdpbmVDb25maWc7XG5cbiAgb2JzZXJ2ZShvYnNlcnZlcjogR3JhcGhFeGVjdXRpb25PYnNlcnZlcik6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmVtaXR0ZXIub2JzZXJ2ZShvYnNlcnZlcik7XG4gIH1cblxuICB1bk9ic2VydmUob2JzZXJ2ZXI6IEdyYXBoRXhlY3V0aW9uT2JzZXJ2ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXR0ZXIudW5PYnNlcnZlKG9ic2VydmVyKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhldmVudDogR3JhcGhFeGVjdXRpb25FdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZW1pdHRlci51cGRhdGVPYnNlcnZlcnMoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgd29ya2Zsb3cgd2l0aCB0aGUgZ2l2ZW4gaW5wdXRzIGFuZCBvcHRpb25zLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICB3b3JrZmxvdzogR3JhcGhXb3JrZmxvd0RlZmluaXRpb24sXG4gICAgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IHt9LFxuICAgIG9wdGlvbnM6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyA9IHt9XG4gICk6IFByb21pc2U8R3JhcGhFeGVjdXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCBvcHRzID0gdGhpcy5tZXJnZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgY29uc3QgcnVuSWQgPSBvcHRzLnJ1bklkID8/IHRoaXMuZ2VuZXJhdGVSdW5JZCgpO1xuICAgIGNvbnN0IHBhdGggPSBvcHRzLnBhdGggPz8gW107XG4gICAgY29uc3QgZXZlbnRGYWN0b3J5ID0gbmV3IEdyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5KCk7XG4gICAgY29uc3QgdmFsdWVTdG9yZSA9IG5ldyBHcmFwaFZhbHVlU3RvcmUodGhpcy52YWx1ZVN0b3JlQWRhcHRlcik7XG4gICAgdmFsdWVTdG9yZS5zZWVkV29ya2Zsb3dJbnB1dHMoaW5wdXRzKTtcblxuICAgIGNvbnN0IHBsYW4gPSB0aGlzLnBsYW5uZXIucGxhbih3b3JrZmxvdyk7XG4gICAgY29uc3QgZnJhbWUgPSBuZXcgR3JhcGhFeGVjdXRpb25GcmFtZShcbiAgICAgIHJ1bklkLFxuICAgICAgcGxhbixcbiAgICAgIHZhbHVlU3RvcmUsXG4gICAgICBldmVudEZhY3RvcnlcbiAgICApO1xuXG4gICAgY29uc3QgZW1pdEZuID0gYXN5bmMgKHBhcnRpYWw6IFBhcnRpYWw8R3JhcGhFeGVjdXRpb25FdmVudD4pID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IHBhcnRpYWwudHlwZSA/PyBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX09VVFBVVCxcbiAgICAgICAgcnVuSWQsXG4gICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICBub2RlSWQ6IHBhcnRpYWwubm9kZUlkLFxuICAgICAgICBwYXRoOiBwYXJ0aWFsLnBhdGggPz8gcGF0aCxcbiAgICAgICAgLi4ucGFydGlhbCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfU1RBUlRFRCxcbiAgICAgIHJ1bklkLFxuICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgcGF0aCxcbiAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUlVOTklORyxcbiAgICAgIHBheWxvYWQ6IHsgaW5wdXRzIH0sXG4gICAgfSk7XG5cbiAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfUExBTk5FRCxcbiAgICAgIHJ1bklkLFxuICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgcGF0aCxcbiAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUExBTk5JTkcsXG4gICAgICBwYXlsb2FkOiB7IGxheWVyczogcGxhbi5sYXllcnMubGVuZ3RoLCBub2RlczogcGxhbi5ub2Rlcy5sZW5ndGggfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHBsYW4ubGF5ZXJzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUxheWVyKGZyYW1lLCBwbGFuLCBsYXllci5ub2Rlcywgb3B0cywgZW1pdEZuKTtcbiAgICAgIH1cblxuICAgICAgZnJhbWUuZmluaXNoKCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX0NPTVBMRVRFRCxcbiAgICAgICAgcnVuSWQsXG4gICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICBwYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiB2YWx1ZVN0b3JlLmdldFdvcmtmbG93VmFsdWVzKCkgfSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdChcbiAgICAgICAgZnJhbWUsXG4gICAgICAgIHdvcmtmbG93LFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgb3B0cy5tZXRhZGF0YVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZnJhbWUuZmluaXNoKCk7XG4gICAgICBjb25zdCBlcnJvclBheWxvYWQgPSB0aGlzLnRvRXJyb3JQYXlsb2FkKGVycm9yKTtcblxuICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfRkFJTEVELFxuICAgICAgICBydW5JZCxcbiAgICAgICAgcGFyZW50UnVuSWQ6IG9wdHMucGFyZW50UnVuSWQsXG4gICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICBlcnJvcjogZXJyb3JQYXlsb2FkLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0KFxuICAgICAgICBmcmFtZSxcbiAgICAgICAgd29ya2Zsb3csXG4gICAgICAgIGlucHV0cyxcbiAgICAgICAgR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICBvcHRzLm1ldGFkYXRhXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQaW5zIGEgbm9kZSBhbmQgaXRzIHVwc3RyZWFtIGRlcGVuZGVuY2llcyBhZnRlciBhIGNvbXBsZXRlZCBydW4uXG4gICAqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgR3JhcGhQaW5uaW5nU2VydmljZX0uIFRoZSBwbGFuIGFuZCByZXN1bHQgbXVzdCBjb21lXG4gICAqIGZyb20gYSBwcmlvciBzdWNjZXNzZnVsIGV4ZWN1dGlvbiBvZiB0aGUgc2FtZSB3b3JrZmxvdy5cbiAgICovXG4gIGFzeW5jIHBpbk5vZGUob3B0aW9uczogR3JhcGhQaW5Ob2RlT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgYXdhaXQgc2VydmljZS5waW5Ob2RlKG9wdGlvbnMpO1xuICAgIGF3YWl0IHRoaXMuZW1pdFBpbm5pbmdFdmVudChvcHRpb25zLm5vZGVJZCwgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9QSU5ORUQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVucGlucyBhIG5vZGUgYnkgaXRzIGZpbmdlcnByaW50LlxuICAgKi9cbiAgYXN5bmMgdW5waW5Ob2RlKG9wdGlvbnM6IEdyYXBoVW5waW5Ob2RlT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgYXdhaXQgc2VydmljZS51bnBpbk5vZGUob3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5lbWl0UGlubmluZ0V2ZW50KG9wdGlvbnMubm9kZUlkLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1VOUElOTkVEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEge0BsaW5rIEdyYXBoUGlubmluZ1NlcnZpY2V9IGJhY2tlZCBieSB0aGlzIGVuZ2luZSdzIHZhbHVlIHN0b3JlXG4gICAqIGFkYXB0ZXIuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk6IEdyYXBoUGlubmluZ1NlcnZpY2Uge1xuICAgIGNvbnN0IHN0b3JlID0gbmV3IEdyYXBoVmFsdWVTdG9yZSh0aGlzLnZhbHVlU3RvcmVBZGFwdGVyKTtcbiAgICByZXR1cm4gbmV3IEdyYXBoUGlubmluZ1NlcnZpY2UoXG4gICAgICBzdG9yZSxcbiAgICAgIG5ldyBHcmFwaFBpbm5pbmdQb2xpY3koKSxcbiAgICAgIG5ldyBHcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXIoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBwaW5uaW5nLXJlbGF0ZWQgZXZlbnQgdG8gYWxsIG9ic2VydmVycy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZW1pdFBpbm5pbmdFdmVudChcbiAgICBub2RlSWQ6IHN0cmluZyxcbiAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gbmV3IEdyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5KCk7XG4gICAgY29uc3QgZXZlbnQgPSBmYWN0b3J5LmNyZWF0ZSh7XG4gICAgICBpZDogXCJcIixcbiAgICAgIHNlcXVlbmNlOiAwLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgcnVuSWQ6IFwicGlubmluZ1wiLFxuICAgICAgd29ya2Zsb3dJZDogXCJcIixcbiAgICAgIHR5cGUsXG4gICAgICBub2RlSWQsXG4gICAgICBwYXRoOiBbXSxcbiAgICB9IGFzIE9taXQ8R3JhcGhFeGVjdXRpb25FdmVudCwgXCJpZFwiIHwgXCJzZXF1ZW5jZVwiIHwgXCJ0aW1lc3RhbXBcIj4pO1xuICAgIGF3YWl0IHRoaXMuZW1pdHRlci51cGRhdGVPYnNlcnZlcnMoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgbGF5ZXIgb2Ygbm9kZXMgd2l0aCB0aGUgY29uZmlndXJlZCBjb25jdXJyZW5jeS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZXhlY3V0ZUxheWVyKFxuICAgIGZyYW1lOiBHcmFwaEV4ZWN1dGlvbkZyYW1lLFxuICAgIHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbixcbiAgICBub2RlczogR3JhcGhFeGVjdXRpb25QbGFuTm9kZVtdLFxuICAgIG9wdHM6IEdyYXBoRXhlY3V0aW9uT3B0aW9ucyxcbiAgICBlbWl0Rm46IChldmVudDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PikgPT4gUHJvbWlzZTx2b2lkPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25jdXJyZW5jeSA9IE1hdGgubWF4KFxuICAgICAgMSxcbiAgICAgIG9wdHMuY29uY3VycmVuY3kgPz8gR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWVxuICAgICk7XG4gICAgY29uc3QgcXVldWUgPSBbLi4ubm9kZXNdO1xuXG4gICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGJhdGNoID0gcXVldWUuc3BsaWNlKDAsIGNvbmN1cnJlbmN5KTtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBiYXRjaC5tYXAoKG5vZGUpID0+IHRoaXMuZXhlY3V0ZU5vZGUoZnJhbWUsIHBsYW4sIG5vZGUsIG9wdHMsIGVtaXRGbikpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIHNpbmdsZSBub2RlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlTm9kZShcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgcGxhbk5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUsXG4gICAgb3B0czogR3JhcGhFeGVjdXRpb25PcHRpb25zLFxuICAgIGVtaXRGbjogKGV2ZW50OiBQYXJ0aWFsPEdyYXBoRXhlY3V0aW9uRXZlbnQ+KSA9PiBQcm9taXNlPHZvaWQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgbm9kZVBhdGggPSBbLi4uKG9wdHMucGF0aCA/PyBbXSksIHBsYW5Ob2RlLmlkXTtcblxuICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1NUQVJURUQsXG4gICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkcsXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLnJlc29sdmVOb2RlSW5wdXRzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSk7XG5cbiAgICAvLyBDYWNoZS1oaXQ6IGNoZWNrIGZvciBhIHBpbm5lZCB2YWx1ZSBiZWZvcmUgZXhlY3V0aW5nIHRoZSBub2RlXG4gICAgaWYgKG9wdHMudXNlUGlubmVkVmFsdWVzKSB7XG4gICAgICBjb25zdCBjYWNoZWQgPSBhd2FpdCB0aGlzLnRyeVBpbm5lZFZhbHVlKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgaW5wdXRzKTtcbiAgICAgIGlmIChjYWNoZWQpIHtcbiAgICAgICAgZnJhbWUudmFsdWVTdG9yZS5zZXROb2RlT3V0cHV0cyhwbGFuTm9kZS5pZCwgY2FjaGVkLm91dHB1dHMpO1xuICAgICAgICB0aGlzLnJvdXRlT3V0Z29pbmdFZGdlcyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIGNhY2hlZC5vdXRwdXRzKTtcblxuICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLkNBQ0hFRCxcbiAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgb3V0cHV0czogY2FjaGVkLm91dHB1dHMsXG4gICAgICAgICAgc3RhcnRlZEF0LFxuICAgICAgICAgIGZpbmlzaGVkQXQsXG4gICAgICAgICAgZnJvbUNhY2hlOiB0cnVlLFxuICAgICAgICAgIHBpbm5lZDogdHJ1ZSxcbiAgICAgICAgICBldmVudHM6IFtdLFxuICAgICAgICB9O1xuICAgICAgICBmcmFtZS5yZWNvcmROb2RlUmVzdWx0KHJlc3VsdCk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NBQ0hFX0hJVCxcbiAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5DQUNIRUQsXG4gICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiBjYWNoZWQub3V0cHV0cyB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfQ09NUExFVEVELFxuICAgICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzLCBmcm9tQ2FjaGU6IHRydWUgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZXhlY3V0b3IgPSB0aGlzLmNvbmZpZy5yZWdpc3RyeS5yZXNvbHZlKHBsYW5Ob2RlLmtpbmQpO1xuICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQoXG4gICAgICAgIGZyYW1lLnJ1bklkLFxuICAgICAgICBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICBwbGFuLndvcmtmbG93LFxuICAgICAgICBwbGFuTm9kZS5kZWZpbml0aW9uLFxuICAgICAgICBub2RlUGF0aCxcbiAgICAgICAgZW1pdEZuLFxuICAgICAgICBvcHRzLm1ldGFkYXRhXG4gICAgICApO1xuXG4gICAgICBjb25zdCBvdXRwdXRzID0gYXdhaXQgZXhlY3V0b3IuZXhlY3V0ZShpbnB1dHMsIGNvbnRleHQpO1xuICAgICAgY29uc3QgcmVzb2x2ZWRPdXRwdXRzID0gb3V0cHV0cyA/PyB7fTtcblxuICAgICAgZnJhbWUudmFsdWVTdG9yZS5zZXROb2RlT3V0cHV0cyhwbGFuTm9kZS5pZCwgcmVzb2x2ZWRPdXRwdXRzKTtcbiAgICAgIHRoaXMucm91dGVPdXRnb2luZ0VkZ2VzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgcmVzb2x2ZWRPdXRwdXRzKTtcblxuICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCByZXN1bHQ6IEdyYXBoTm9kZUV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgIGlucHV0cyxcbiAgICAgICAgb3V0cHV0czogcmVzb2x2ZWRPdXRwdXRzLFxuICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgIGZpbmlzaGVkQXQsXG4gICAgICAgIGV2ZW50czogW10sXG4gICAgICB9O1xuICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuXG4gICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NPTVBMRVRFRCxcbiAgICAgICAgcnVuSWQ6IGZyYW1lLnJ1bklkLFxuICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHBhdGg6IG5vZGVQYXRoLFxuICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBmaW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IGVycm9yUGF5bG9hZCA9IHRoaXMudG9FcnJvclBheWxvYWQoZXJyb3IpO1xuICAgICAgY29uc3QgcmVzdWx0OiBHcmFwaE5vZGVFeGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICBpbnB1dHMsXG4gICAgICAgIGVycm9yOiBlcnJvclBheWxvYWQsXG4gICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgZmluaXNoZWRBdCxcbiAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgIH07XG4gICAgICBmcmFtZS5yZWNvcmROb2RlUmVzdWx0KHJlc3VsdCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfRkFJTEVELFxuICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICBlcnJvcjogZXJyb3JQYXlsb2FkLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChvcHRzLmZhaWxGYXN0ID8/IHRydWUpIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIG5vZGUncyBpbnB1dCB2YWx1ZXMgZnJvbSBpbmNvbWluZyBlZGdlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU5vZGVJbnB1dHMoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIHBsYW5Ob2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlXG4gICk6IEdyYXBoRXhlY3V0aW9uVmFsdWVzIHtcbiAgICBjb25zdCBpbnB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzID0ge307XG4gICAgY29uc3QgaW5jb21pbmcgPSBwbGFuLmluY29taW5nQnlOb2RlLmdldChwbGFuTm9kZS5pZCkgPz8gW107XG4gICAgZm9yIChjb25zdCBlZGdlIG9mIGluY29taW5nKSB7XG4gICAgICBpbnB1dHNbZWRnZS50YXJnZXRQb3J0XSA9IGZyYW1lLnZhbHVlU3RvcmUuZ2V0UG9ydChcbiAgICAgICAgZWRnZS5zb3VyY2VOb2RlSWQsXG4gICAgICAgIGVkZ2Uuc291cmNlUG9ydFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGlucHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byByZWFkIGEgcGlubmVkIHZhbHVlIGZvciB0aGUgbm9kZS4gUmV0dXJucyB0aGUgY2FjaGVkIG91dHB1dHNcbiAgICogd2hlbiBhIHZhbGlkIHBpbm5lZCB2YWx1ZSBleGlzdHMsIG9yIGB1bmRlZmluZWRgIHRvIHByb2NlZWQgd2l0aCBub3JtYWxcbiAgICogZXhlY3V0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB0cnlQaW5uZWRWYWx1ZShcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgcGxhbk5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUsXG4gICAgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlc1xuICApOiBQcm9taXNlPEdyYXBoQ2FjaGVkVmFsdWUgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBwb2xpY3kgPSBuZXcgR3JhcGhQaW5uaW5nUG9saWN5KCk7XG4gICAgaWYgKCFwb2xpY3kuc2hvdWxkVXNlUGlubmVkVmFsdWUocGxhbk5vZGUpKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICBjb25zdCBkZXBGaW5nZXJwcmludHMgPSB0aGlzLmNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKGZyYW1lLCBwbGFuLCBwbGFuTm9kZS5pZCk7XG4gICAgcmV0dXJuIHNlcnZpY2UucmVhZFBpbm5lZFZhbHVlKFxuICAgICAgcGxhbi53b3JrZmxvdyxcbiAgICAgIHBsYW5Ob2RlLFxuICAgICAgaW5wdXRzLFxuICAgICAgZGVwRmluZ2VycHJpbnRzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBjb21wdXRlcyBmaW5nZXJwcmludHMgZm9yIGFsbCB1cHN0cmVhbSBkZXBlbmRlbmNpZXMgb2YgYSBub2RlXG4gICAqIHVzaW5nIHRoZSByZXN1bHRzIGFscmVhZHkgYWNjdW11bGF0ZWQgaW4gdGhlIGZyYW1lLlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgbm9kZUlkOiBzdHJpbmdcbiAgKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICBjb25zdCBkZXBSZXNvbHZlciA9IG5ldyBHcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXIoKTtcbiAgICBjb25zdCBkZXBzID0gZGVwUmVzb2x2ZXIuZ2V0RGVwZW5kZW5jaWVzKHBsYW4sIG5vZGVJZCk7XG4gICAgY29uc3QgZmluZ2VycHJpbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgZm9yIChjb25zdCBkZXAgb2YgZGVwcykge1xuICAgICAgY29uc3Qgbm9kZSA9IHBsYW4ubm9kZXMuZmluZCgobikgPT4gbi5pZCA9PT0gZGVwKTtcbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIGNvbnN0IGRlcFJlc3VsdCA9IGZyYW1lLm5vZGVSZXN1bHRzLmdldChkZXApO1xuICAgICAgICBjb25zdCBpbnB1dHMgPSBkZXBSZXN1bHQ/LmlucHV0cyA/PyB7fTtcbiAgICAgICAgY29uc3QgbmVzdGVkRGVwcyA9IHRoaXMuY29tcHV0ZURlcGVuZGVuY3lGaW5nZXJwcmludHMoZnJhbWUsIHBsYW4sIGRlcCk7XG4gICAgICAgIGZpbmdlcnByaW50c1tkZXBdID0gc2VydmljZS5jb21wdXRlRmluZ2VycHJpbnQoXG4gICAgICAgICAgcGxhbi53b3JrZmxvdyxcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIGlucHV0cyxcbiAgICAgICAgICBuZXN0ZWREZXBzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaW5nZXJwcmludHM7XG4gIH1cblxuICAvKipcbiAgICogUm91dGVzIGEgbm9kZSdzIG91dHB1dHMgdG8gZG93bnN0cmVhbSBpbnB1dHMgYW5kIHdvcmtmbG93IG91dHB1dHMuXG4gICAqL1xuICBwcml2YXRlIHJvdXRlT3V0Z29pbmdFZGdlcyhcbiAgICBmcmFtZTogR3JhcGhFeGVjdXRpb25GcmFtZSxcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgcGxhbk5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUsXG4gICAgb3V0cHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXNcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgb3V0Z29pbmcgPSBwbGFuLm91dGdvaW5nQnlOb2RlLmdldChwbGFuTm9kZS5pZCkgPz8gW107XG4gICAgZm9yIChjb25zdCBlZGdlIG9mIG91dGdvaW5nKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG91dHB1dHNbZWRnZS5zb3VyY2VQb3J0XTtcbiAgICAgIGlmIChlZGdlLnRhcmdldE5vZGVJZCA9PT0gR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlkpIHtcbiAgICAgICAgZnJhbWUudmFsdWVTdG9yZS5zZXRXb3JrZmxvd091dHB1dChlZGdlLnRhcmdldFBvcnQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkVER0VfVkFMVUVfUk9VVEVELFxuICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgZWRnZUlkOiBlZGdlLmlkLFxuICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICBwYXRoOiBbXSxcbiAgICAgICAgcGF5bG9hZDogeyBlZGdlLCB2YWx1ZSB9LFxuICAgICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBvYnNlcnZlciBmYWlsdXJlcyBtdXN0IG5vdCBjcmFzaFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50LCByZWNvcmRzIGl0IGluIHRoZSBmcmFtZSwgYW5kIGRpc3BhdGNoZXMgdG8gb2JzZXJ2ZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBlbWl0RXZlbnQoXG4gICAgZnJhbWU6IEdyYXBoRXhlY3V0aW9uRnJhbWUsXG4gICAgcGFydGlhbDogUGFydGlhbDxHcmFwaEV4ZWN1dGlvbkV2ZW50PiAmIHtcbiAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlO1xuICAgICAgcnVuSWQ6IEdyYXBoUnVuSWQ7XG4gICAgICB3b3JrZmxvd0lkOiBzdHJpbmc7XG4gICAgICBwYXRoOiBzdHJpbmdbXTtcbiAgICB9XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGV2ZW50ID0gZnJhbWUuZXZlbnRGYWN0b3J5LmNyZWF0ZSh7XG4gICAgICBpZDogXCJcIixcbiAgICAgIHNlcXVlbmNlOiAwLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgLi4ucGFydGlhbCxcbiAgICB9IGFzIE9taXQ8R3JhcGhFeGVjdXRpb25FdmVudCwgXCJpZFwiIHwgXCJzZXF1ZW5jZVwiIHwgXCJ0aW1lc3RhbXBcIj4pO1xuICAgIGZyYW1lLmFwcGVuZEV2ZW50KGV2ZW50KTtcbiAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZXMgZGVmYXVsdCBvcHRpb25zIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIG1lcmdlT3B0aW9ucyhcbiAgICBvcHRpb25zOiBHcmFwaEV4ZWN1dGlvbk9wdGlvbnNcbiAgKTogR3JhcGhFeGVjdXRpb25PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uY3VycmVuY3k6IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1ksXG4gICAgICBmYWlsRmFzdDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlSW5wdXRzOiB0cnVlLFxuICAgICAgdmFsaWRhdGVPdXRwdXRzOiB0cnVlLFxuICAgICAgdXNlUGlubmVkVmFsdWVzOiB0cnVlLFxuICAgICAgd3JpdGVUaHJvdWdoQ2FjaGU6IGZhbHNlLFxuICAgICAgcGF0aDogW10sXG4gICAgICBtZXRhZGF0YToge30sXG4gICAgICAuLi50aGlzLmRlZmF1bHRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBydW4gaWQuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlUnVuSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQ/LigpID8/XG4gICAgICBgZ3JhcGgtcnVuLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKX1gXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBlcnJvciBpbnRvIGEgc2VyaWFsaXplZCBwYXlsb2FkLlxuICAgKi9cbiAgcHJpdmF0ZSB0b0Vycm9yUGF5bG9hZChlcnJvcjogdW5rbm93bik6IEdyYXBoRXhlY3V0aW9uRXJyb3JQYXlsb2FkIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgc3RhY2s6IGVycm9yLnN0YWNrLFxuICAgICAgICBjb2RlOlxuICAgICAgICAgIChlcnJvciBhcyBhbnkpLmdyYXBoQ29kZSA/P1xuICAgICAgICAgICh0eXBlb2YgKGVycm9yIGFzIGFueSkuY29kZSA9PT0gXCJudW1iZXJcIlxuICAgICAgICAgICAgPyBTdHJpbmcoKGVycm9yIGFzIGFueSkuY29kZSlcbiAgICAgICAgICAgIDogKGVycm9yIGFzIGFueSkuY29kZSksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4geyBuYW1lOiBcIlVua25vd25FcnJvclwiLCBtZXNzYWdlOiBTdHJpbmcoZXJyb3IpIH07XG4gIH1cbn1cbiJdfQ==
|
|
407
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaEV4ZWN1dGlvbkVuZ2luZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBdUk7QUFDdkksNkZBQXVGO0FBQ3ZGLDZGQUF1RjtBQUN2RixxRkFBK0U7QUFDL0Usb0dBQThGO0FBQzlGLHNFQUFnRTtBQUNoRSxnRkFBMEU7QUFDMUUsOEVBQXdFO0FBQ3hFLHNHQUFnRztBQUNoRyx5RUFBbUU7QUFDbkUscUVBQStEO0FBQy9ELHVFQUFzRTtBQUN0RTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFDN0IsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksMERBQTBCLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxnREFBcUIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUI7WUFDbEIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUksa0VBQThCLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFNBQVMsQ0FBQyxRQUFRO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFD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QUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE9BQU87Z0JBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTO29CQUNqQixDQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO3dCQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ3hCLENBQUM7UUFDTixDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7Q0FDSjtBQXpYRCxvREF5WEM7QUFDRCxrcjBDQUFrcjBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSwgR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlksIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLCBHcmFwaEV4ZWN1dGlvblN0YXR1cywgfSBmcm9tIFwiLi8uLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyIH0gZnJvbSBcIi4vLi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyLmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSB9IGZyb20gXCIuLy4uL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeS5qc1wiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25QbGFubmVyIH0gZnJvbSBcIi4vLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFubmVyLmpzXCI7XG5pbXBvcnQgeyBJbk1lbW9yeUdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIgfSBmcm9tIFwiLi8uLi9zdG9yZS9Jbk1lbW9yeUdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIuanNcIjtcbmltcG9ydCB7IEdyYXBoVmFsdWVTdG9yZSB9IGZyb20gXCIuLy4uL3N0b3JlL0dyYXBoVmFsdWVTdG9yZS5qc1wiO1xuaW1wb3J0IHsgR3JhcGhQaW5uaW5nU2VydmljZSB9IGZyb20gXCIuLy4uL3Bpbm5pbmcvR3JhcGhQaW5uaW5nU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgR3JhcGhQaW5uaW5nUG9saWN5IH0gZnJvbSBcIi4vLi4vcGlubmluZy9HcmFwaFBpbm5pbmdQb2xpY3kuanNcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlciB9IGZyb20gXCIuLy4uL3Bpbm5pbmcvR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkNvbnRleHQuanNcIjtcbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRnJhbWUgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvbkZyYW1lLmpzXCI7XG5pbXBvcnQgeyBidWlsZEdyYXBoRXhlY3V0aW9uUmVzdWx0IH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25SZXN1bHQuanNcIjtcbi8qKlxuICogUmVmZXJlbmNlIGdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUuXG4gKlxuICogRXhlY3V0ZXMgYSB7QGxpbmsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb259IGJ5OlxuICogMS4gUGxhbm5pbmcgdGhlIHdvcmtmbG93IGludG8gdG9wb2xvZ2ljYWwgbGF5ZXJzLlxuICogMi4gU2VlZGluZyB3b3JrZmxvdyBpbnB1dHMgaW50byB0aGUgdmFsdWUgc3RvcmUuXG4gKiAzLiBFeGVjdXRpbmcgbm9kZXMgbGF5ZXItYnktbGF5ZXIgd2l0aCBjb25maWd1cmFibGUgY29uY3VycmVuY3kuXG4gKiA0LiBSb3V0aW5nIHZhbHVlcyBhbG9uZyBlZGdlcy5cbiAqIDUuIEVtaXR0aW5nIHN0cnVjdHVyZWQgZXZlbnRzIHRocm91Z2ggRGVjYWYncyBPYnNlcnZhYmxlIHBpcGVsaW5lLlxuICogNi4gUmV0dXJuaW5nIGEgY29tcGxldGUge0BsaW5rIEdyYXBoRXhlY3V0aW9uUmVzdWx0fS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uRW5naW5lIHtcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICAgICAgdGhpcy5lbWl0dGVyID0gY29uZmlnLmV2ZW50RW1pdHRlciA/PyBuZXcgR3JhcGhFeGVjdXRpb25FdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5wbGFubmVyID0gY29uZmlnLnBsYW5uZXIgPz8gbmV3IEdyYXBoRXhlY3V0aW9uUGxhbm5lcigpO1xuICAgICAgICB0aGlzLnZhbHVlU3RvcmVBZGFwdGVyID1cbiAgICAgICAgICAgIGNvbmZpZy52YWx1ZVN0b3JlQWRhcHRlciA/PyBuZXcgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyKCk7XG4gICAgICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMgPSBjb25maWcuZGVmYXVsdE9wdGlvbnMgPz8ge307XG4gICAgICAgIHRoaXMuY29kZVNhbmRib3hFdmFsdWF0b3IgPSBjb25maWcuY29kZVNhbmRib3hFdmFsdWF0b3I7XG4gICAgICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgICAgICBjb25maWcub25FbmdpbmVDcmVhdGVkPy4odGhpcyk7XG4gICAgfVxuICAgIG9ic2VydmUob2JzZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1pdHRlci5vYnNlcnZlKG9ic2VydmVyKTtcbiAgICB9XG4gICAgdW5PYnNlcnZlKG9ic2VydmVyKSB7XG4gICAgICAgIHRoaXMuZW1pdHRlci51bk9ic2VydmUob2JzZXJ2ZXIpO1xuICAgIH1cbiAgICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoZXZlbnQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0dGVyLnVwZGF0ZU9ic2VydmVycyhldmVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgd29ya2Zsb3cgd2l0aCB0aGUgZ2l2ZW4gaW5wdXRzIGFuZCBvcHRpb25zLlxuICAgICAqL1xuICAgIGFzeW5jIGV4ZWN1dGUod29ya2Zsb3csIGlucHV0cyA9IHt9LCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IHRoaXMubWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBydW5JZCA9IG9wdHMucnVuSWQgPz8gdGhpcy5nZW5lcmF0ZVJ1bklkKCk7XG4gICAgICAgIGNvbnN0IHBhdGggPSBvcHRzLnBhdGggPz8gW107XG4gICAgICAgIGNvbnN0IGV2ZW50RmFjdG9yeSA9IG5ldyBHcmFwaEV4ZWN1dGlvbkV2ZW50RmFjdG9yeSgpO1xuICAgICAgICBjb25zdCB2YWx1ZVN0b3JlID0gbmV3IEdyYXBoVmFsdWVTdG9yZSh0aGlzLnZhbHVlU3RvcmVBZGFwdGVyKTtcbiAgICAgICAgdmFsdWVTdG9yZS5zZWVkV29ya2Zsb3dJbnB1dHMoaW5wdXRzKTtcbiAgICAgICAgY29uc3QgcGxhbiA9IHRoaXMucGxhbm5lci5wbGFuKHdvcmtmbG93KTtcbiAgICAgICAgY29uc3QgZnJhbWUgPSBuZXcgR3JhcGhFeGVjdXRpb25GcmFtZShydW5JZCwgcGxhbiwgdmFsdWVTdG9yZSwgZXZlbnRGYWN0b3J5KTtcbiAgICAgICAgY29uc3QgZW1pdEZuID0gYXN5bmMgKHBhcnRpYWwpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogcGFydGlhbC50eXBlID8/IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfT1VUUFVULFxuICAgICAgICAgICAgICAgIHJ1bklkLFxuICAgICAgICAgICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICAgICAgbm9kZUlkOiBwYXJ0aWFsLm5vZGVJZCxcbiAgICAgICAgICAgICAgICBwYXRoOiBwYXJ0aWFsLnBhdGggPz8gcGF0aCxcbiAgICAgICAgICAgICAgICAuLi5wYXJ0aWFsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19TVEFSVEVELFxuICAgICAgICAgICAgcnVuSWQsXG4gICAgICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5SVU5OSU5HLFxuICAgICAgICAgICAgcGF5bG9hZDogeyBpbnB1dHMgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5XT1JLRkxPV19QTEFOTkVELFxuICAgICAgICAgICAgcnVuSWQsXG4gICAgICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5QTEFOTklORyxcbiAgICAgICAgICAgIHBheWxvYWQ6IHsgbGF5ZXJzOiBwbGFuLmxheWVycy5sZW5ndGgsIG5vZGVzOiBwbGFuLm5vZGVzLmxlbmd0aCB9LFxuICAgICAgICB9KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgcGxhbi5sYXllcnMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVMYXllcihmcmFtZSwgcGxhbiwgbGF5ZXIubm9kZXMsIG9wdHMsIGVtaXRGbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmcmFtZS5maW5pc2goKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuV09SS0ZMT1dfQ09NUExFVEVELFxuICAgICAgICAgICAgICAgIHJ1bklkLFxuICAgICAgICAgICAgICAgIHBhcmVudFJ1bklkOiBvcHRzLnBhcmVudFJ1bklkLFxuICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IHZhbHVlU3RvcmUuZ2V0V29ya2Zsb3dWYWx1ZXMoKSB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYnVpbGRHcmFwaEV4ZWN1dGlvblJlc3VsdChmcmFtZSwgd29ya2Zsb3csIGlucHV0cywgR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELCBvcHRzLm1ldGFkYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGZyYW1lLmZpbmlzaCgpO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JQYXlsb2FkID0gdGhpcy50b0Vycm9yUGF5bG9hZChlcnJvcik7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLldPUktGTE9XX0ZBSUxFRCxcbiAgICAgICAgICAgICAgICBydW5JZCxcbiAgICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogb3B0cy5wYXJlbnRSdW5JZCxcbiAgICAgICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkR3JhcGhFeGVjdXRpb25SZXN1bHQoZnJhbWUsIHdvcmtmbG93LCBpbnB1dHMsIEdyYXBoRXhlY3V0aW9uU3RhdHVzLkZBSUxFRCwgb3B0cy5tZXRhZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUGlucyBhIG5vZGUgYW5kIGl0cyB1cHN0cmVhbSBkZXBlbmRlbmNpZXMgYWZ0ZXIgYSBjb21wbGV0ZWQgcnVuLlxuICAgICAqXG4gICAgICogRGVsZWdhdGVzIHRvIHtAbGluayBHcmFwaFBpbm5pbmdTZXJ2aWNlfS4gVGhlIHBsYW4gYW5kIHJlc3VsdCBtdXN0IGNvbWVcbiAgICAgKiBmcm9tIGEgcHJpb3Igc3VjY2Vzc2Z1bCBleGVjdXRpb24gb2YgdGhlIHNhbWUgd29ya2Zsb3cuXG4gICAgICovXG4gICAgYXN5bmMgcGluTm9kZShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHNlcnZpY2UucGluTm9kZShvcHRpb25zKTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0UGlubmluZ0V2ZW50KG9wdGlvbnMubm9kZUlkLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX1BJTk5FRCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVucGlucyBhIG5vZGUgYnkgaXRzIGZpbmdlcnByaW50LlxuICAgICAqL1xuICAgIGFzeW5jIHVucGluTm9kZShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLmNyZWF0ZVBpbm5pbmdTZXJ2aWNlKCk7XG4gICAgICAgIGF3YWl0IHNlcnZpY2UudW5waW5Ob2RlKG9wdGlvbnMpO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXRQaW5uaW5nRXZlbnQob3B0aW9ucy5ub2RlSWQsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfVU5QSU5ORUQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEge0BsaW5rIEdyYXBoUGlubmluZ1NlcnZpY2V9IGJhY2tlZCBieSB0aGlzIGVuZ2luZSdzIHZhbHVlIHN0b3JlXG4gICAgICogYWRhcHRlci5cbiAgICAgKi9cbiAgICBjcmVhdGVQaW5uaW5nU2VydmljZSgpIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSBuZXcgR3JhcGhWYWx1ZVN0b3JlKHRoaXMudmFsdWVTdG9yZUFkYXB0ZXIpO1xuICAgICAgICByZXR1cm4gbmV3IEdyYXBoUGlubmluZ1NlcnZpY2Uoc3RvcmUsIG5ldyBHcmFwaFBpbm5pbmdQb2xpY3koKSwgbmV3IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlcigpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1pdHMgYSBwaW5uaW5nLXJlbGF0ZWQgZXZlbnQgdG8gYWxsIG9ic2VydmVycy5cbiAgICAgKi9cbiAgICBhc3luYyBlbWl0UGlubmluZ0V2ZW50KG5vZGVJZCwgdHlwZSkge1xuICAgICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IEdyYXBoRXhlY3V0aW9uRXZlbnRGYWN0b3J5KCk7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gZmFjdG9yeS5jcmVhdGUoe1xuICAgICAgICAgICAgaWQ6IFwiXCIsXG4gICAgICAgICAgICBzZXF1ZW5jZTogMCxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgIHJ1bklkOiBcInBpbm5pbmdcIixcbiAgICAgICAgICAgIHdvcmtmbG93SWQ6IFwiXCIsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgcGF0aDogW10sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBsYXllciBvZiBub2RlcyB3aXRoIHRoZSBjb25maWd1cmVkIGNvbmN1cnJlbmN5LlxuICAgICAqL1xuICAgIGFzeW5jIGV4ZWN1dGVMYXllcihmcmFtZSwgcGxhbiwgbm9kZXMsIG9wdHMsIGVtaXRGbikge1xuICAgICAgICBjb25zdCBjb25jdXJyZW5jeSA9IE1hdGgubWF4KDEsIG9wdHMuY29uY3VycmVuY3kgPz8gR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSk7XG4gICAgICAgIGNvbnN0IHF1ZXVlID0gWy4uLm5vZGVzXTtcbiAgICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGJhdGNoID0gcXVldWUuc3BsaWNlKDAsIGNvbmN1cnJlbmN5KTtcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKGJhdGNoLm1hcCgobm9kZSkgPT4gdGhpcy5leGVjdXRlTm9kZShmcmFtZSwgcGxhbiwgbm9kZSwgb3B0cywgZW1pdEZuKSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc2luZ2xlIG5vZGUuXG4gICAgICovXG4gICAgYXN5bmMgZXhlY3V0ZU5vZGUoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBvcHRzLCBlbWl0Rm4pIHtcbiAgICAgICAgY29uc3Qgc3RhcnRlZEF0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3Qgbm9kZVBhdGggPSBbLi4uKG9wdHMucGF0aCA/PyBbXSksIHBsYW5Ob2RlLmlkXTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfU1RBUlRFRCxcbiAgICAgICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuUlVOTklORyxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMucmVzb2x2ZU5vZGVJbnB1dHMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlKTtcbiAgICAgICAgLy8gQ2FjaGUtaGl0OiBjaGVjayBmb3IgYSBwaW5uZWQgdmFsdWUgYmVmb3JlIGV4ZWN1dGluZyB0aGUgbm9kZVxuICAgICAgICBpZiAob3B0cy51c2VQaW5uZWRWYWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMudHJ5UGlubmVkVmFsdWUoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBpbnB1dHMpO1xuICAgICAgICAgICAgaWYgKGNhY2hlZCkge1xuICAgICAgICAgICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0Tm9kZU91dHB1dHMocGxhbk5vZGUuaWQsIGNhY2hlZC5vdXRwdXRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlT3V0Z29pbmdFZGdlcyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUsIGNhY2hlZC5vdXRwdXRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuQ0FDSEVELFxuICAgICAgICAgICAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzLFxuICAgICAgICAgICAgICAgICAgICBzdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgICAgIGZpbmlzaGVkQXQsXG4gICAgICAgICAgICAgICAgICAgIGZyb21DYWNoZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGlubmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBldmVudHM6IFtdLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZW1pdEV2ZW50KGZyYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLk5PREVfQ0FDSEVfSElULFxuICAgICAgICAgICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtmbG93SWQ6IHBsYW4ud29ya2Zsb3dJZCxcbiAgICAgICAgICAgICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuQ0FDSEVELFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IG91dHB1dHM6IGNhY2hlZC5vdXRwdXRzIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTk9ERV9DT01QTEVURUQsXG4gICAgICAgICAgICAgICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBub2RlUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHsgb3V0cHV0czogY2FjaGVkLm91dHB1dHMsIGZyb21DYWNoZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZXhlY3V0b3IgPSB0aGlzLmNvbmZpZy5yZWdpc3RyeS5yZXNvbHZlKHBsYW5Ob2RlLmtpbmQpO1xuICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQoZnJhbWUucnVuSWQsIG9wdHMucGFyZW50UnVuSWQsIHBsYW4ud29ya2Zsb3csIHBsYW5Ob2RlLmRlZmluaXRpb24sIG5vZGVQYXRoLCBlbWl0Rm4sIG9wdHMubWV0YWRhdGEpO1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IGV4ZWN1dG9yLmV4ZWN1dGUoaW5wdXRzLCBjb250ZXh0KTtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkT3V0cHV0cyA9IG91dHB1dHMgPz8ge307XG4gICAgICAgICAgICBmcmFtZS52YWx1ZVN0b3JlLnNldE5vZGVPdXRwdXRzKHBsYW5Ob2RlLmlkLCByZXNvbHZlZE91dHB1dHMpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCByZXNvbHZlZE91dHB1dHMpO1xuICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgbm9kZUlkOiBwbGFuTm9kZS5pZCxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IEdyYXBoRXhlY3V0aW9uU3RhdHVzLlNVQ0NFRURFRCxcbiAgICAgICAgICAgICAgICBpbnB1dHMsXG4gICAgICAgICAgICAgICAgb3V0cHV0czogcmVzb2x2ZWRPdXRwdXRzLFxuICAgICAgICAgICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGV2ZW50czogW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyBvdXRwdXRzOiByZXNvbHZlZE91dHB1dHMgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBjb25zdCBlcnJvclBheWxvYWQgPSB0aGlzLnRvRXJyb3JQYXlsb2FkKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICBub2RlSWQ6IHBsYW5Ob2RlLmlkLFxuICAgICAgICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuRkFJTEVELFxuICAgICAgICAgICAgICAgIGlucHV0cyxcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JQYXlsb2FkLFxuICAgICAgICAgICAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgICAgICAgICAgICBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGV2ZW50czogW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZnJhbWUucmVjb3JkTm9kZVJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5lbWl0RXZlbnQoZnJhbWUsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5OT0RFX0ZBSUxFRCxcbiAgICAgICAgICAgICAgICBydW5JZDogZnJhbWUucnVuSWQsXG4gICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogcGxhbi53b3JrZmxvd0lkLFxuICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgcGF0aDogbm9kZVBhdGgsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5GQUlMRUQsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yUGF5bG9hZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG9wdHMuZmFpbEZhc3QgPz8gdHJ1ZSlcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlcyBhIG5vZGUncyBpbnB1dCB2YWx1ZXMgZnJvbSBpbmNvbWluZyBlZGdlcy5cbiAgICAgKi9cbiAgICByZXNvbHZlTm9kZUlucHV0cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUpIHtcbiAgICAgICAgY29uc3QgaW5wdXRzID0ge307XG4gICAgICAgIGNvbnN0IGluY29taW5nID0gcGxhbi5pbmNvbWluZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVkZ2Ugb2YgaW5jb21pbmcpIHtcbiAgICAgICAgICAgIGlucHV0c1tlZGdlLnRhcmdldFBvcnRdID0gZnJhbWUudmFsdWVTdG9yZS5nZXRQb3J0KGVkZ2Uuc291cmNlTm9kZUlkLCBlZGdlLnNvdXJjZVBvcnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnB1dHM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEF0dGVtcHRzIHRvIHJlYWQgYSBwaW5uZWQgdmFsdWUgZm9yIHRoZSBub2RlLiBSZXR1cm5zIHRoZSBjYWNoZWQgb3V0cHV0c1xuICAgICAqIHdoZW4gYSB2YWxpZCBwaW5uZWQgdmFsdWUgZXhpc3RzLCBvciBgdW5kZWZpbmVkYCB0byBwcm9jZWVkIHdpdGggbm9ybWFsXG4gICAgICogZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIGFzeW5jIHRyeVBpbm5lZFZhbHVlKGZyYW1lLCBwbGFuLCBwbGFuTm9kZSwgaW5wdXRzKSB7XG4gICAgICAgIGNvbnN0IHBvbGljeSA9IG5ldyBHcmFwaFBpbm5pbmdQb2xpY3koKTtcbiAgICAgICAgaWYgKCFwb2xpY3kuc2hvdWxkVXNlUGlubmVkVmFsdWUocGxhbk5vZGUpKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICAgICAgY29uc3QgZGVwRmluZ2VycHJpbnRzID0gdGhpcy5jb21wdXRlRGVwZW5kZW5jeUZpbmdlcnByaW50cyhmcmFtZSwgcGxhbiwgcGxhbk5vZGUuaWQpO1xuICAgICAgICByZXR1cm4gc2VydmljZS5yZWFkUGlubmVkVmFsdWUocGxhbi53b3JrZmxvdywgcGxhbk5vZGUsIGlucHV0cywgZGVwRmluZ2VycHJpbnRzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVjdXJzaXZlbHkgY29tcHV0ZXMgZmluZ2VycHJpbnRzIGZvciBhbGwgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIG9mIGEgbm9kZVxuICAgICAqIHVzaW5nIHRoZSByZXN1bHRzIGFscmVhZHkgYWNjdW11bGF0ZWQgaW4gdGhlIGZyYW1lLlxuICAgICAqL1xuICAgIGNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKGZyYW1lLCBwbGFuLCBub2RlSWQpIHtcbiAgICAgICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY3JlYXRlUGlubmluZ1NlcnZpY2UoKTtcbiAgICAgICAgY29uc3QgZGVwUmVzb2x2ZXIgPSBuZXcgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyKCk7XG4gICAgICAgIGNvbnN0IGRlcHMgPSBkZXBSZXNvbHZlci5nZXREZXBlbmRlbmNpZXMocGxhbiwgbm9kZUlkKTtcbiAgICAgICAgY29uc3QgZmluZ2VycHJpbnRzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IGRlcCk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlcFJlc3VsdCA9IGZyYW1lLm5vZGVSZXN1bHRzLmdldChkZXApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0cyA9IGRlcFJlc3VsdD8uaW5wdXRzID8/IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lc3RlZERlcHMgPSB0aGlzLmNvbXB1dGVEZXBlbmRlbmN5RmluZ2VycHJpbnRzKGZyYW1lLCBwbGFuLCBkZXApO1xuICAgICAgICAgICAgICAgIGZpbmdlcnByaW50c1tkZXBdID0gc2VydmljZS5jb21wdXRlRmluZ2VycHJpbnQocGxhbi53b3JrZmxvdywgbm9kZSwgaW5wdXRzLCBuZXN0ZWREZXBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmluZ2VycHJpbnRzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSb3V0ZXMgYSBub2RlJ3Mgb3V0cHV0cyB0byBkb3duc3RyZWFtIGlucHV0cyBhbmQgd29ya2Zsb3cgb3V0cHV0cy5cbiAgICAgKi9cbiAgICByb3V0ZU91dGdvaW5nRWRnZXMoZnJhbWUsIHBsYW4sIHBsYW5Ob2RlLCBvdXRwdXRzKSB7XG4gICAgICAgIGNvbnN0IG91dGdvaW5nID0gcGxhbi5vdXRnb2luZ0J5Tm9kZS5nZXQocGxhbk5vZGUuaWQpID8/IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVkZ2Ugb2Ygb3V0Z29pbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3V0cHV0c1tlZGdlLnNvdXJjZVBvcnRdO1xuICAgICAgICAgICAgaWYgKGVkZ2UudGFyZ2V0Tm9kZUlkID09PSBHUkFQSF9XT1JLRkxPV19CT1VOREFSWSkge1xuICAgICAgICAgICAgICAgIGZyYW1lLnZhbHVlU3RvcmUuc2V0V29ya2Zsb3dPdXRwdXQoZWRnZS50YXJnZXRQb3J0LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVtaXRFdmVudChmcmFtZSwge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkVER0VfVkFMVUVfUk9VVEVELFxuICAgICAgICAgICAgICAgIHJ1bklkOiBmcmFtZS5ydW5JZCxcbiAgICAgICAgICAgICAgICB3b3JrZmxvd0lkOiBwbGFuLndvcmtmbG93SWQsXG4gICAgICAgICAgICAgICAgZWRnZUlkOiBlZGdlLmlkLFxuICAgICAgICAgICAgICAgIG5vZGVJZDogcGxhbk5vZGUuaWQsXG4gICAgICAgICAgICAgICAgcGF0aDogW10sXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyBlZGdlLCB2YWx1ZSB9LFxuICAgICAgICAgICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIG9ic2VydmVyIGZhaWx1cmVzIG11c3Qgbm90IGNyYXNoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCwgcmVjb3JkcyBpdCBpbiB0aGUgZnJhbWUsIGFuZCBkaXNwYXRjaGVzIHRvIG9ic2VydmVycy5cbiAgICAgKi9cbiAgICBhc3luYyBlbWl0RXZlbnQoZnJhbWUsIHBhcnRpYWwpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBmcmFtZS5ldmVudEZhY3RvcnkuY3JlYXRlKHtcbiAgICAgICAgICAgIGlkOiBcIlwiLFxuICAgICAgICAgICAgc2VxdWVuY2U6IDAsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAuLi5wYXJ0aWFsLFxuICAgICAgICB9KTtcbiAgICAgICAgZnJhbWUuYXBwZW5kRXZlbnQoZXZlbnQpO1xuICAgICAgICBhd2FpdCB0aGlzLmVtaXR0ZXIudXBkYXRlT2JzZXJ2ZXJzKGV2ZW50KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWVyZ2VzIGRlZmF1bHQgb3B0aW9ucyB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgICAqL1xuICAgIG1lcmdlT3B0aW9ucyhvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25jdXJyZW5jeTogR1JBUEhfREVGQVVMVF9DT05DVVJSRU5DWSxcbiAgICAgICAgICAgIGZhaWxGYXN0OiB0cnVlLFxuICAgICAgICAgICAgdmFsaWRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICB2YWxpZGF0ZU91dHB1dHM6IHRydWUsXG4gICAgICAgICAgICB1c2VQaW5uZWRWYWx1ZXM6IHRydWUsXG4gICAgICAgICAgICB3cml0ZVRocm91Z2hDYWNoZTogZmFsc2UsXG4gICAgICAgICAgICBwYXRoOiBbXSxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7fSxcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgcnVuIGlkLlxuICAgICAqL1xuICAgIGdlbmVyYXRlUnVuSWQoKSB7XG4gICAgICAgIHJldHVybiAoZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQ/LigpID8/XG4gICAgICAgICAgICBgZ3JhcGgtcnVuLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKX1gKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYW4gZXJyb3IgaW50byBhIHNlcmlhbGl6ZWQgcGF5bG9hZC5cbiAgICAgKi9cbiAgICB0b0Vycm9yUGF5bG9hZChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgc3RhY2s6IGVycm9yLnN0YWNrLFxuICAgICAgICAgICAgICAgIGNvZGU6IGVycm9yLmdyYXBoQ29kZSA/P1xuICAgICAgICAgICAgICAgICAgICAodHlwZW9mIGVycm9yLmNvZGUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gU3RyaW5nKGVycm9yLmNvZGUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGVycm9yLmNvZGUpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBuYW1lOiBcIlVua25vd25FcnJvclwiLCBtZXNzYWdlOiBTdHJpbmcoZXJyb3IpIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaEZlR1ZqZFhScGIyNUZibWRwYm1VdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndlpYaGxZM1YwYVc5dUwwZHlZWEJvUlhobFkzVjBhVzl1Ulc1bmFXNWxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZGQkxFOUJRVThzUlVGRFRDeDVRa0ZCZVVJc1JVRkRla0lzZFVKQlFYVkNMRVZCUTNaQ0xIVkNRVUYxUWl4RlFVTjJRaXh2UWtGQmIwSXNSMEZEY2tJc01FSkJRWEZDTzBGQllYUkNMRTlCUVU4c1JVRkJSU3d3UWtGQk1FSXNSVUZCUlN4clJFRkJOa003UVVGRGJFWXNUMEZCVHl4RlFVRkZMREJDUVVFd1FpeEZRVUZGTEd0RVFVRTJRenRCUVVWc1JpeFBRVUZQTEVWQlFVVXNjVUpCUVhGQ0xFVkJRVVVzSzBOQlFUQkRPMEZCU1RGRkxFOUJRVThzUlVGQlJTdzRRa0ZCT0VJc1JVRkJSU3h4UkVGQlowUTdRVUZEZWtZc1QwRkJUeXhGUVVGRkxHVkJRV1VzUlVGQlJTeHpRMEZCYVVNN1FVRkZNMFFzVDBGQlR5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxEUkRRVUYxUXp0QlFVTnlSU3hQUVVGUExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc01rTkJRWE5ETzBGQlEyNUZMRTlCUVU4c1JVRkJSU3c0UWtGQk9FSXNSVUZCUlN4MVJFRkJhMFE3UVVGRE0wWXNUMEZCVHl4RlFVRkZMSEZDUVVGeFFpeEZRVUZGTEcxRFFVRm5RenRCUVVOb1JTeFBRVUZQTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzYVVOQlFUaENPMEZCUXpWRUxFOUJRVThzUlVGQlJTeDVRa0ZCZVVJc1JVRkJSU3hyUTBGQkswSTdRVUUwUW01Rk96czdPenM3T3pzN08wZEJWVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNiMEpCUVc5Q08wbEJVeTlDTEZsQlFWa3NUVUZCYTBNN1VVRkROVU1zU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1dVRkJXU3hKUVVGSkxFbEJRVWtzTUVKQlFUQkNMRVZCUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhQUVVGUExFbEJRVWtzU1VGQlNTeHhRa0ZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRemRFTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUk3V1VGRGNFSXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeEpRVUZKTEVsQlFVa3NPRUpCUVRoQ0xFVkJRVVVzUTBGQlF6dFJRVU51UlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFMUJRVTBzUTBGQlF5eGpRVUZqTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTJ4RUxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXhOUVVGTkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNN1VVRkRlRVFzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkRja0lzVFVGQlRTeERRVUZETEdWQlFXVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRMnBETEVOQlFVTTdTVUZKUkN4UFFVRlBMRU5CUVVNc1VVRkJaME03VVVGRGRFTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVTjRReXhEUVVGRE8wbEJSVVFzVTBGQlV5eERRVUZETEZGQlFXZERPMUZCUTNoRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wbEJRMjVETEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFdEJRVEJDTzFGQlF6bERMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eGxRVUZsTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkROVU1zUTBGQlF6dEpRVVZFT3p0UFFVVkhPMGxCUTBnc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGRFdDeFJRVUZwUXl4RlFVTnFReXhUUVVFclFpeEZRVUZGTEVWQlEycERMRlZCUVdsRExFVkJRVVU3VVVGRmJrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjRReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4SlFVRkpMRWxCUVVrc1EwRkJReXhoUVVGaExFVkJRVVVzUTBGQlF6dFJRVU5xUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTTNRaXhOUVVGTkxGbEJRVmtzUjBGQlJ5eEpRVUZKTERCQ1FVRXdRaXhGUVVGRkxFTkJRVU03VVVGRGRFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03VVVGREwwUXNWVUZCVlN4RFFVRkRMR3RDUVVGclFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlhSRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEzcERMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzYlVKQlFXMUNMRU5CUTI1RExFdEJRVXNzUlVGRFRDeEpRVUZKTEVWQlEwb3NWVUZCVlN4RlFVTldMRmxCUVZrc1EwRkRZaXhEUVVGRE8xRkJSVVlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RlFVRkZMRTlCUVhGRExFVkJRVVVzUlVGQlJUdFpRVU0zUkN4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzVDBGQlR5eERRVUZETEVsQlFVa3NTVUZCU1N4MVFrRkJkVUlzUTBGQlF5eFhRVUZYTzJkQ1FVTjZSQ3hMUVVGTE8yZENRVU5NTEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenRuUWtGRE4wSXNWVUZCVlN4RlFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSk8yZENRVU42UWl4TlFVRk5MRVZCUVVVc1QwRkJUeXhEUVVGRExFMUJRVTA3WjBKQlEzUkNMRWxCUVVrc1JVRkJSU3hQUVVGUExFTkJRVU1zU1VGQlNTeEpRVUZKTEVsQlFVazdaMEpCUXpGQ0xFZEJRVWNzVDBGQlR6dGhRVU5ZTEVOQlFVTXNRMEZCUXp0UlFVTk1MRU5CUVVNc1EwRkJRenRSUVVWR0xFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVN1dVRkRNVUlzU1VGQlNTeEZRVUZGTEhWQ1FVRjFRaXhEUVVGRExHZENRVUZuUWp0WlFVTTVReXhMUVVGTE8xbEJRMHdzVjBGQlZ5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WFFVRlhPMWxCUXpkQ0xGVkJRVlVzUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1R0WlFVTjZRaXhKUVVGSk8xbEJRMG9zVFVGQlRTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRExFOUJRVTg3V1VGRGNFTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1RVRkJUU3hGUVVGRk8xTkJRM0JDTEVOQlFVTXNRMEZCUXp0UlFVVklMRTFCUVUwc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVWQlFVVTdXVUZETVVJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMR2RDUVVGblFqdFpRVU01UXl4TFFVRkxPMWxCUTB3c1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzFsQlF6ZENMRlZCUVZVc1JVRkJSU3hSUVVGUkxFTkJRVU1zU1VGQlNUdFpRVU42UWl4SlFVRkpPMWxCUTBvc1RVRkJUU3hGUVVGRkxHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFN1dVRkRja01zVDBGQlR5eEZRVUZGTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUlVGQlJUdFRRVU5zUlN4RFFVRkRMRU5CUVVNN1VVRkZTQ3hKUVVGSkxFTkJRVU03V1VGRFNDeExRVUZMTEUxQlFVMHNTMEZCU3l4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dG5Ra0ZEYUVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRiRVVzUTBGQlF6dFpRVVZFTEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVWbUxFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVN1owSkJRekZDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eHJRa0ZCYTBJN1owSkJRMmhFTEV0QlFVczdaMEpCUTB3c1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzJkQ1FVTTNRaXhWUVVGVkxFVkJRVVVzVVVGQlVTeERRVUZETEVsQlFVazdaMEpCUTNwQ0xFbEJRVWs3WjBKQlEwb3NUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEZOQlFWTTdaMEpCUTNSRExFOUJRVThzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4VlFVRlZMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNSVUZCUlR0aFFVTnlSQ3hEUVVGRExFTkJRVU03V1VGRlNDeFBRVUZQTEhsQ1FVRjVRaXhEUVVNNVFpeExRVUZMTEVWQlEwd3NVVUZCVVN4RlFVTlNMRTFCUVUwc1JVRkRUaXh2UWtGQmIwSXNRMEZCUXl4VFFVRlRMRVZCUXpsQ0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlEyUXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNTMEZCU3l4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFpRVVZvUkN4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1pVRkJaVHRuUWtGRE4wTXNTMEZCU3p0blFrRkRUQ3hYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEZkQlFWYzdaMEpCUXpkQ0xGVkJRVlVzUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1R0blFrRkRla0lzU1VGQlNUdG5Ra0ZEU2l4TlFVRk5MRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0blFrRkRia01zUzBGQlN5eEZRVUZGTEZsQlFWazdZVUZEY0VJc1EwRkJReXhEUVVGRE8xbEJSVWdzVDBGQlR5eDVRa0ZCZVVJc1EwRkRPVUlzUzBGQlN5eEZRVU5NTEZGQlFWRXNSVUZEVWl4TlFVRk5MRVZCUTA0c2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RlFVTXpRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVU5rTEVOQlFVTTdVVUZEU2l4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMGdzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRTBRanRSUVVONFF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXp0UlFVTTFReXhOUVVGTkxFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRMMElzVFVGQlRTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTnVSaXhEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVGhDTzFGQlF6VkRMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hEUVVGRE8xRkJRelZETEUxQlFVMHNUMEZCVHl4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhEUVVGRE8wbEJRM0pHTEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFN5eHZRa0ZCYjBJN1VVRkRNVUlzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4bFFVRmxMRU5CUVVNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1VVRkRNVVFzVDBGQlR5eEpRVUZKTEcxQ1FVRnRRaXhEUVVNMVFpeExRVUZMTEVWQlEwd3NTVUZCU1N4clFrRkJhMElzUlVGQlJTeEZRVU40UWl4SlFVRkpMRGhDUVVFNFFpeEZRVUZGTEVOQlEzSkRMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU3l4TFFVRkxMRU5CUVVNc1owSkJRV2RDTEVOQlF6VkNMRTFCUVdNc1JVRkRaQ3hKUVVFMlFqdFJRVVUzUWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxEQkNRVUV3UWl4RlFVRkZMRU5CUVVNN1VVRkRha1FzVFVGQlRTeExRVUZMTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVNelFpeEZRVUZGTEVWQlFVVXNSVUZCUlR0WlFVTk9MRkZCUVZFc1JVRkJSU3hEUVVGRE8xbEJRMWdzVTBGQlV5eEZRVUZGTEVsQlFVa3NTVUZCU1N4RlFVRkZPMWxCUTNKQ0xFdEJRVXNzUlVGQlJTeFRRVUZUTzFsQlEyaENMRlZCUVZVc1JVRkJSU3hGUVVGRk8xbEJRMlFzU1VGQlNUdFpRVU5LTEUxQlFVMDdXVUZEVGl4SlFVRkpMRVZCUVVVc1JVRkJSVHRUUVVOeFJDeERRVUZETEVOQlFVTTdVVUZEYWtVc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEdWQlFXVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRKUVVNMVF5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTeXhMUVVGTExFTkJRVU1zV1VGQldTeERRVU40UWl4TFFVRXdRaXhGUVVNeFFpeEpRVUYzUWl4RlFVTjRRaXhMUVVFclFpeEZRVU12UWl4SlFVRXlRaXhGUVVNelFpeE5RVUU0UkR0UlFVVTVSQ3hOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVTXhRaXhEUVVGRExFVkJRMFFzU1VGQlNTeERRVUZETEZkQlFWY3NTVUZCU1N4NVFrRkJlVUlzUTBGRE9VTXNRMEZCUXp0UlFVTkdMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVVjZRaXhQUVVGUExFdEJRVXNzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRlRUlzVFVGQlRTeExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdXVUZETTBNc1RVRkJUU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVU5tTEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRM1pGTEVOQlFVTTdVVUZEU2l4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkRka0lzUzBGQk1FSXNSVUZETVVJc1NVRkJkMElzUlVGRGVFSXNVVUZCWjBNc1JVRkRhRU1zU1VGQk1rSXNSVUZETTBJc1RVRkJPRVE3VVVGRk9VUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hKUVVGSkxFVkJRVVVzUTBGQlF6dFJRVU0zUWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxGRkJRVkVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnlSQ3hOUVVGTkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RlFVRkZPMWxCUXpGQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhaUVVGWk8xbEJRekZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1MwRkJTenRaUVVOc1FpeFZRVUZWTEVWQlFVVXNTVUZCU1N4RFFVRkRMRlZCUVZVN1dVRkRNMElzVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZPMWxCUTI1Q0xFbEJRVWtzUlVGQlJTeFJRVUZSTzFsQlEyUXNUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEU5QlFVODdVMEZEY2tNc1EwRkJReXhEUVVGRE8xRkJSVWdzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU03VVVGRk4wUXNaMFZCUVdkRk8xRkJRMmhGTEVsQlFVa3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1JVRkJSU3hEUVVGRE8xbEJRM3BDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU40UlN4SlFVRkpMRTFCUVUwc1JVRkJSU3hEUVVGRE8yZENRVU5ZTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEVWQlFVVXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8yZENRVU0zUkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVVdlJDeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8yZENRVU01UWl4TlFVRk5MRTFCUVUwc1IwRkJOa0k3YjBKQlEzWkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdHZRa0ZEYmtJc1RVRkJUU3hGUVVGRkxHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwN2IwSkJRMjVETEUxQlFVMDdiMEpCUTA0c1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eFBRVUZQTzI5Q1FVTjJRaXhUUVVGVE8yOUNRVU5VTEZWQlFWVTdiMEpCUTFZc1UwRkJVeXhGUVVGRkxFbEJRVWs3YjBKQlEyWXNUVUZCVFN4RlFVRkZMRWxCUVVrN2IwSkJRMW9zVFVGQlRTeEZRVUZGTEVWQlFVVTdhVUpCUTFnc1EwRkJRenRuUWtGRFJpeExRVUZMTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdaMEpCUlM5Q0xFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVN2IwSkJRekZDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eGpRVUZqTzI5Q1FVTTFReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEV0QlFVczdiMEpCUTJ4Q0xGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNWVUZCVlR0dlFrRkRNMElzVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZPMjlDUVVOdVFpeEpRVUZKTEVWQlFVVXNVVUZCVVR0dlFrRkRaQ3hOUVVGTkxFVkJRVVVzYjBKQlFXOUNMRU5CUVVNc1RVRkJUVHR2UWtGRGJrTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVWQlFVVTdhVUpCUTNKRExFTkJRVU1zUTBGQlF6dG5Ra0ZGU0N4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzI5Q1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1kwRkJZenR2UWtGRE5VTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yOUNRVU5zUWl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3YjBKQlF6TkNMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdHZRa0ZEYmtJc1NVRkJTU3hGUVVGRkxGRkJRVkU3YjBKQlEyUXNUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEZOQlFWTTdiMEpCUTNSRExFOUJRVThzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVWQlFVVTdhVUpCUTNSRUxFTkJRVU1zUTBGQlF6dG5Ra0ZEU0N4UFFVRlBPMWxCUTFRc1EwRkJRenRSUVVOSUxFTkJRVU03VVVGRlJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6ZEVMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzY1VKQlFYRkNMRU5CUTNaRExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlExZ3NTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkRhRUlzU1VGQlNTeERRVUZETEZGQlFWRXNSVUZEWWl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hGUVVOdVFpeFJRVUZSTEVWQlExSXNUVUZCVFN4RlFVTk9MRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRMlFzUTBGQlF6dFpRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1dVRkRlRVFzVFVGQlRTeGxRVUZsTEVkQlFVY3NUMEZCVHl4SlFVRkpMRVZCUVVVc1EwRkJRenRaUVVWMFF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeEZRVUZGTEdWQlFXVXNRMEZCUXl4RFFVRkRPMWxCUXpsRUxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTEZGQlFWRXNSVUZCUlN4bFFVRmxMRU5CUVVNc1EwRkJRenRaUVVWb1JTeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRemxDTEUxQlFVMHNUVUZCVFN4SFFVRTJRanRuUWtGRGRrTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1EwRkJReXhGUVVGRk8yZENRVU51UWl4TlFVRk5MRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNVMEZCVXp0blFrRkRkRU1zVFVGQlRUdG5Ra0ZEVGl4UFFVRlBMRVZCUVVVc1pVRkJaVHRuUWtGRGVFSXNVMEZCVXp0blFrRkRWQ3hWUVVGVk8yZENRVU5XTEUxQlFVMHNSVUZCUlN4RlFVRkZPMkZCUTFnc1EwRkJRenRaUVVOR0xFdEJRVXNzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVVV2UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eEZRVUZGTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc1kwRkJZenRuUWtGRE5VTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yZENRVU5zUWl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3WjBKQlF6TkNMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJUdG5Ra0ZEYmtJc1NVRkJTU3hGUVVGRkxGRkJRVkU3WjBKQlEyUXNUVUZCVFN4RlFVRkZMRzlDUVVGdlFpeERRVUZETEZOQlFWTTdaMEpCUTNSRExFOUJRVThzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4bFFVRmxMRVZCUVVVN1lVRkRkRU1zUTBGQlF5eERRVUZETzFGQlEwd3NRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRemxDTEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdXVUZEYUVRc1RVRkJUU3hOUVVGTkxFZEJRVFpDTzJkQ1FVTjJReXhOUVVGTkxFVkJRVVVzVVVGQlVTeERRVUZETEVWQlFVVTdaMEpCUTI1Q0xFMUJRVTBzUlVGQlJTeHZRa0ZCYjBJc1EwRkJReXhOUVVGTk8yZENRVU51UXl4TlFVRk5PMmRDUVVOT0xFdEJRVXNzUlVGQlJTeFpRVUZaTzJkQ1FVTnVRaXhUUVVGVE8yZENRVU5VTEZWQlFWVTdaMEpCUTFZc1RVRkJUU3hGUVVGRkxFVkJRVVU3WVVGRFdDeERRVUZETzFsQlEwWXNTMEZCU3l4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUlM5Q0xFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVN1owSkJRekZDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eFhRVUZYTzJkQ1FVTjZReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEV0QlFVczdaMEpCUTJ4Q0xGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNWVUZCVlR0blFrRkRNMElzVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZPMmRDUVVOdVFpeEpRVUZKTEVWQlFVVXNVVUZCVVR0blFrRkRaQ3hOUVVGTkxFVkJRVVVzYjBKQlFXOUNMRU5CUVVNc1RVRkJUVHRuUWtGRGJrTXNTMEZCU3l4RlFVRkZMRmxCUVZrN1lVRkRjRUlzUTBGQlF5eERRVUZETzFsQlJVZ3NTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hKUVVGSkxFbEJRVWs3WjBKQlFVVXNUVUZCVFN4TFFVRkxMRU5CUVVNN1VVRkRla01zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOTExHbENRVUZwUWl4RFFVTjJRaXhMUVVFd1FpeEZRVU14UWl4SlFVRjNRaXhGUVVONFFpeFJRVUZuUXp0UlFVVm9ReXhOUVVGTkxFMUJRVTBzUjBGQmVVSXNSVUZCUlN4RFFVRkRPMUZCUTNoRExFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkROVVFzUzBGQlN5eE5RVUZOTEVsQlFVa3NTVUZCU1N4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVNMVFpeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVTm9SQ3hKUVVGSkxFTkJRVU1zV1VGQldTeEZRVU5xUWl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVOb1FpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGUkRzN096dFBRVWxITzBsQlEwc3NTMEZCU3l4RFFVRkRMR05CUVdNc1EwRkRNVUlzUzBGQk1FSXNSVUZETVVJc1NVRkJkMElzUlVGRGVFSXNVVUZCWjBNc1JVRkRhRU1zVFVGQk5FSTdVVUZGTlVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8xRkJRM2hETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RFFVRkRPMWxCUVVVc1QwRkJUeXhUUVVGVExFTkJRVU03VVVGRk4wUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRU5CUVVNN1VVRkROVU1zVFVGQlRTeGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1VVRkJVU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEzSkdMRTlCUVU4c1QwRkJUeXhEUVVGRExHVkJRV1VzUTBGRE5VSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkRZaXhSUVVGUkxFVkJRMUlzVFVGQlRTeEZRVU5PTEdWQlFXVXNRMEZEYUVJc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTeXcyUWtGQk5rSXNRMEZEYmtNc1MwRkJNRUlzUlVGRE1VSXNTVUZCZDBJc1JVRkRlRUlzVFVGQll6dFJRVVZrTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSVUZCUlN4RFFVRkRPMUZCUXpWRExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NPRUpCUVRoQ0xFVkJRVVVzUTBGQlF6dFJRVU42UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhYUVVGWExFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOMlJDeE5RVUZOTEZsQlFWa3NSMEZCTWtJc1JVRkJSU3hEUVVGRE8xRkJRMmhFTEV0QlFVc3NUVUZCVFN4SFFVRkhMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRGRrSXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRiRVFzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0blFrRkRWQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dG5Ra0ZETjBNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVTBGQlV5eEZRVUZGTEUxQlFVMHNTVUZCU1N4RlFVRkZMRU5CUVVNN1owSkJRM1pETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXcyUWtGQk5rSXNRMEZCUXl4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTjRSU3haUVVGWkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMR3RDUVVGclFpeERRVU0xUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVOaUxFbEJRVWtzUlVGRFNpeE5RVUZOTEVWQlEwNHNWVUZCVlN4RFFVTllMRU5CUVVNN1dVRkRTaXhEUVVGRE8xRkJRMGdzUTBGQlF6dFJRVU5FTEU5QlFVOHNXVUZCV1N4RFFVRkRPMGxCUTNSQ0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMR3RDUVVGclFpeERRVU40UWl4TFFVRXdRaXhGUVVNeFFpeEpRVUYzUWl4RlFVTjRRaXhSUVVGblF5eEZRVU5vUXl4UFFVRTJRanRSUVVVM1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRelZFTEV0QlFVc3NUVUZCVFN4SlFVRkpMRWxCUVVrc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRE5VSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0WlFVTjJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFpRVUZaTEV0QlFVc3NkVUpCUVhWQ0xFVkJRVVVzUTBGQlF6dG5Ra0ZEYkVRc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUXpkRUxFTkJRVU03V1VGRFJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRGNFSXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEdsQ1FVRnBRanRuUWtGREwwTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yZENRVU5zUWl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3WjBKQlF6TkNMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJUdG5Ra0ZEWml4TlFVRk5MRVZCUVVVc1VVRkJVU3hEUVVGRExFVkJRVVU3WjBKQlEyNUNMRWxCUVVrc1JVRkJSU3hGUVVGRk8yZENRVU5TTEU5QlFVOHNSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVU3WVVGRGVrSXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFVkJRVVU3WjBKQlExb3NiVU5CUVcxRE8xbEJRM0pETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTB3c1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRM0pDTEV0QlFUQkNMRVZCUXpGQ0xFOUJTME03VVVGRlJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNc1dVRkJXU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU4wUXl4RlFVRkZMRVZCUVVVc1JVRkJSVHRaUVVOT0xGRkJRVkVzUlVGQlJTeERRVUZETzFsQlExZ3NVMEZCVXl4RlFVRkZMRWxCUVVrc1NVRkJTU3hGUVVGRk8xbEJRM0pDTEVkQlFVY3NUMEZCVHp0VFFVTnRSQ3hEUVVGRExFTkJRVU03VVVGRGFrVXNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU42UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zWlVGQlpTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMGxCUXpWRExFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMRmxCUVZrc1EwRkRiRUlzVDBGQk9FSTdVVUZGT1VJc1QwRkJUenRaUVVOTUxGZEJRVmNzUlVGQlJTeDVRa0ZCZVVJN1dVRkRkRU1zVVVGQlVTeEZRVUZGTEVsQlFVazdXVUZEWkN4alFVRmpMRVZCUVVVc1NVRkJTVHRaUVVOd1FpeGxRVUZsTEVWQlFVVXNTVUZCU1R0WlFVTnlRaXhsUVVGbExFVkJRVVVzU1VGQlNUdFpRVU55UWl4cFFrRkJhVUlzUlVGQlJTeExRVUZMTzFsQlEzaENMRWxCUVVrc1JVRkJSU3hGUVVGRk8xbEJRMUlzVVVGQlVTeEZRVUZGTEVWQlFVVTdXVUZEV2l4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGak8xbEJRM1JDTEVkQlFVY3NUMEZCVHp0VFFVTllMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU3l4aFFVRmhPMUZCUTI1Q0xFOUJRVThzUTBGRFRDeFZRVUZWTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1JVRkJSU3hGUVVGRk8xbEJRMnBETEdGQlFXRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUTJwRkxFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTeXhqUVVGakxFTkJRVU1zUzBGQll6dFJRVU51UXl4SlFVRkpMRXRCUVVzc1dVRkJXU3hMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU16UWl4UFFVRlBPMmRDUVVOTUxFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNTVUZCU1R0blFrRkRhRUlzVDBGQlR5eEZRVUZGTEV0QlFVc3NRMEZCUXl4UFFVRlBPMmRDUVVOMFFpeExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRXRCUVVzN1owSkJRMnhDTEVsQlFVa3NSVUZEUkN4TFFVRmhMRU5CUVVNc1UwRkJVenR2UWtGRGVFSXNRMEZCUXl4UFFVRlJMRXRCUVdFc1EwRkJReXhKUVVGSkxFdEJRVXNzVVVGQlVUdDNRa0ZEZEVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlJTeExRVUZoTEVOQlFVTXNTVUZCU1N4RFFVRkRPM2RDUVVNM1FpeERRVUZETEVOQlFVVXNTMEZCWVN4RFFVRkRMRWxCUVVrc1EwRkJRenRoUVVNelFpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRTlCUVU4c1JVRkJSU3hKUVVGSkxFVkJRVVVzWTBGQll5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU14UkN4RFFVRkRPME5CUTBZaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMMmR5WVhCb0wyVjRaV04xZEdsdmJpOUhjbUZ3YUVWNFpXTjFkR2x2YmtWdVoybHVaVnh1SUNvZ1FITjFiVzFoY25rZ1VtVm1aWEpsYm1ObElHZHlZWEJvSUdWNFpXTjFkR2x2YmlCbGJtZHBibVV1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUlhobFkzVjBaWE1nWjNKaGNHZ2dkMjl5YTJac2IzZHpJR1JsWTJ4aGNtVmtJSGRwZEdnZ1lFQmtaV05oWmkxMGN5OTFhUzFrWldOdmNtRjBiM0p6TDJkeVlYQm9ZQ3dnWlcxcGRITWdaWFpsYm5SeklIUm9jbTkxWjJnZ1JHVmpZV1luY3lCUFluTmxjblpoWW14bElIQnBjR1ZzYVc1bExDQnpkWEJ3YjNKMGN5QndZWEpoYkd4bGJDQnViMlJsSUdWNFpXTjFkR2x2YmlCM2FYUm9hVzRnZEc5d2IyeHZaMmxqWVd3Z2JHRjVaWEp6TENCaGJtUWdjbVYwZFhKdWN5QmhJR052YlhCc1pYUmxJR1Y0WldOMWRHbHZiaUJ5WlhOMWJIUXVYRzRnS2k5Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVDJKelpYSjJZV0pzWlNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FGZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZkV2t0WkdWamIzSmhkRzl5Y3k5bmNtRndhRndpTzF4dVhHNXBiWEJ2Y25RZ2UxeHVJQ0JIVWtGUVNGOUVSVVpCVlV4VVgwTlBUa05WVWxKRlRrTlpMRnh1SUNCSFVrRlFTRjlYVDFKTFJreFBWMTlDVDFWT1JFRlNXU3hjYmlBZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRGUjVjR1VzWEc0Z0lFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMRnh1ZlNCbWNtOXRJRndpTGk0dlkyOXVjM1JoYm5SelhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN1hHNGdJRWR5WVhCb1JYaGxZM1YwYVc5dVJYSnliM0pRWVhsc2IyRmtMRnh1SUNCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MExGeHVJQ0JIY21Gd2FFVjRaV04xZEdsdmJrOXdkR2x2Ym5Nc1hHNGdJRWR5WVhCb1JYaGxZM1YwYVc5dVVtVnpkV3gwTEZ4dUlDQkhjbUZ3YUVWNFpXTjFkR2x2YmxaaGJIVmxjeXhjYmlBZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYVc5dVVtVnpkV3gwTEZ4dUlDQkhjbUZ3YUZCcGJrNXZaR1ZQY0hScGIyNXpMRnh1SUNCSGNtRndhRlZ1Y0dsdVRtOWtaVTl3ZEdsdmJuTXNYRzRnSUVkeVlYQm9VblZ1U1dRc1hHNTlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2Yms5aWMyVnlkbVZ5SUgwZ1puSnZiU0JjSWk0dUwyVjJaVzUwY3k5SGNtRndhRVY0WldOMWRHbHZiazlpYzJWeWRtVnlYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFJXMXBkSFJsY2lCOUlHWnliMjBnWENJdUxpOWxkbVZ1ZEhNdlIzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRFVnRhWFIwWlhKY0lqdGNibWx0Y0c5eWRDQjdJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJHWVdOMGIzSjVJSDBnWm5KdmJTQmNJaTR1TDJWMlpXNTBjeTlIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwUm1GamRHOXllVndpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FFNXZaR1ZGZUdWamRYUnZjbEpsWjJsemRISjVJSDBnWm5KdmJTQmNJaTR1TDNKbFoybHpkSEo1TDBkeVlYQm9UbTlrWlVWNFpXTjFkRzl5VW1WbmFYTjBjbmxjSWp0Y2JtbHRjRzl5ZENCN0lFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJtNWxjaUI5SUdaeWIyMGdYQ0l1TGk5d2JHRnVibWx1Wnk5SGNtRndhRVY0WldOMWRHbHZibEJzWVc1dVpYSmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVJSDBnWm5KdmJTQmNJaTR1TDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYmx3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZibEJzWVc1T2IyUmxJSDBnWm5KdmJTQmNJaTR1TDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYms1dlpHVmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doV1lXeDFaVk4wYjNKbFFXUmhjSFJsY2lCOUlHWnliMjBnWENJdUxpOXpkRzl5WlM5SGNtRndhRlpoYkhWbFUzUnZjbVZCWkdGd2RHVnlYQ0k3WEc1cGJYQnZjblFnZXlCSmJrMWxiVzl5ZVVkeVlYQm9WbUZzZFdWVGRHOXlaVUZrWVhCMFpYSWdmU0JtY205dElGd2lMaTR2YzNSdmNtVXZTVzVOWlcxdmNubEhjbUZ3YUZaaGJIVmxVM1J2Y21WQlpHRndkR1Z5WENJN1hHNXBiWEJ2Y25RZ2V5QkhjbUZ3YUZaaGJIVmxVM1J2Y21VZ2ZTQm1jbTl0SUZ3aUxpNHZjM1J2Y21VdlIzSmhjR2hXWVd4MVpWTjBiM0psWENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9RMkZqYUdWa1ZtRnNkV1VnZlNCbWNtOXRJRndpTGk0dmMzUnZjbVV2UjNKaGNHaERZV05vWldSV1lXeDFaVndpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hRYVc1dWFXNW5VMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSXVMaTl3YVc1dWFXNW5MMGR5WVhCb1VHbHVibWx1WjFObGNuWnBZMlZjSWp0Y2JtbHRjRzl5ZENCN0lFZHlZWEJvVUdsdWJtbHVaMUJ2YkdsamVTQjlJR1p5YjIwZ1hDSXVMaTl3YVc1dWFXNW5MMGR5WVhCb1VHbHVibWx1WjFCdmJHbGplVndpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hRYVc1dWFXNW5SR1Z3Wlc1a1pXNWplVkpsYzI5c2RtVnlJSDBnWm5KdmJTQmNJaTR1TDNCcGJtNXBibWN2UjNKaGNHaFFhVzV1YVc1blJHVndaVzVrWlc1amVWSmxjMjlzZG1WeVhDSTdYRzVwYlhCdmNuUWdleUJIY21Gd2FFVjRaV04xZEdsdmJrTnZiblJsZUhRZ2ZTQm1jbTl0SUZ3aUxpOUhjbUZ3YUVWNFpXTjFkR2x2YmtOdmJuUmxlSFJjSWp0Y2JtbHRjRzl5ZENCN0lFZHlZWEJvUlhobFkzVjBhVzl1Um5KaGJXVWdmU0JtY205dElGd2lMaTlIY21Gd2FFVjRaV04xZEdsdmJrWnlZVzFsWENJN1hHNXBiWEJ2Y25RZ2V5QmlkV2xzWkVkeVlYQm9SWGhsWTNWMGFXOXVVbVZ6ZFd4MElIMGdabkp2YlNCY0lpNHZSM0poY0doRmVHVmpkWFJwYjI1U1pYTjFiSFJjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUTI5a1pWTmhibVJpYjNoRmRtRnNkV0YwYjNJZ2ZTQm1jbTl0SUZ3aUxpOURiMlJsVTJGdVpHSnZlRVYyWVd4MVlYUnZjbHdpTzF4dVhHNHZLaXBjYmlBcUlFTnZibVpwWjNWeVlYUnBiMjRnWm05eUlIUm9aU0I3UUd4cGJtc2dSM0poY0doRmVHVmpkWFJwYjI1RmJtZHBibVY5TGx4dUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWR5WVhCb1JYaGxZM1YwYVc5dVJXNW5hVzVsUTI5dVptbG5JSHRjYmlBZ2NtVm5hWE4wY25rNklFZHlZWEJvVG05a1pVVjRaV04xZEc5eVVtVm5hWE4wY25rN1hHNGdJSEJzWVc1dVpYSS9PaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzV1WlhJN1hHNGdJSFpoYkhWbFUzUnZjbVZCWkdGd2RHVnlQem9nUjNKaGNHaFdZV3gxWlZOMGIzSmxRV1JoY0hSbGNqdGNiaUFnWlhabGJuUkZiV2wwZEdWeVB6b2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRVZ0YVhSMFpYSTdYRzRnSUdSbFptRjFiSFJQY0hScGIyNXpQem9nVUdGeWRHbGhiRHhIY21Gd2FFVjRaV04xZEdsdmJrOXdkR2x2Ym5NK08xeHVJQ0F2S2lwY2JpQWdJQ29nVDNCMGFXOXVZV3dnY0d4MVoyZGhZbXhsSUdOdlpHVWdjMkZ1WkdKdmVDQmxkbUZzZFdGMGIzSWdabTl5SUdOdlpHVXRZbUZ6WldRZ1kyOXVaR2wwYVc5dWMxeHVJQ0FnS2lBb1JFVkRRVVl0TXpJZ3dxY3lNaTQwS1M0Z1YyaGxiaUJoWW5ObGJuUXNJR052WkdVZ1kyOXVaR2wwYVc5dWN5QjBhSEp2ZDF4dUlDQWdLaUJnUjFKQlVFaGZRMDlFUlY5VFFVNUVRazlZWDA1UFZGOURUMDVHU1VkVlVrVkVZQzRnUkc5M2JuTjBjbVZoYlNCd2NtOXFaV04wY3lBb1pTNW5MaUJCVEVaU1JVUXBYRzRnSUNBcUlITjFjSEJzZVNCMGFHVWdZV04wZFdGc0lGWk5JSE5oYm1SaWIzZ2dhVzF3YkdWdFpXNTBZWFJwYjI0dVhHNGdJQ0FxTDF4dUlDQmpiMlJsVTJGdVpHSnZlRVYyWVd4MVlYUnZjajg2SUVOdlpHVlRZVzVrWW05NFJYWmhiSFZoZEc5eU8xeHVJQ0F2S2lwY2JpQWdJQ29nVDNCMGFXOXVZV3dnWTJGc2JHSmhZMnNnYVc1MmIydGxaQ0JoZENCMGFHVWdaVzVrSUc5bUlHVnVaMmx1WlNCamIyNXpkSEoxWTNScGIyNGdkMmwwYUNCMGFHVmNiaUFnSUNvZ1puVnNiSGt0YVc1cGRHbGhiR2x6WldRZ1pXNW5hVzVsSUdsdWMzUmhibU5sTGlCVmMyVWdkR2hwY3lCMGJ5QnlaV2RwYzNSbGNpQmxlR1ZqZFhSdmNuTWdkR2hoZEZ4dUlDQWdLaUJ1WldWa0lHRWdZbUZqYXkxeVpXWmxjbVZ1WTJVZ2RHOGdkR2hsSUdWdVoybHVaU0FvWlM1bkxpQnNiMjl3SUdWNFpXTjFkRzl5Y3lCMGFHRjBJR1Y0WldOMWRHVmNiaUFnSUNvZ2MzVmlMWGR2Y210bWJHOTNjeUIwYUhKdmRXZG9JSFJvWlNCellXMWxJR1Z1WjJsdVpTa3VYRzRnSUNBcUwxeHVJQ0J2YmtWdVoybHVaVU55WldGMFpXUS9PaUFvWlc1bmFXNWxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVnVaMmx1WlNrZ1BUNGdkbTlwWkR0Y2JuMWNibHh1THlvcVhHNGdLaUJTWldabGNtVnVZMlVnWjNKaGNHZ2daWGhsWTNWMGFXOXVJR1Z1WjJsdVpTNWNiaUFxWEc0Z0tpQkZlR1ZqZFhSbGN5QmhJSHRBYkdsdWF5QkhjbUZ3YUZkdmNtdG1iRzkzUkdWbWFXNXBkR2x2Ym4wZ1luazZYRzRnS2lBeExpQlFiR0Z1Ym1sdVp5QjBhR1VnZDI5eWEyWnNiM2NnYVc1MGJ5QjBiM0J2Ykc5bmFXTmhiQ0JzWVhsbGNuTXVYRzRnS2lBeUxpQlRaV1ZrYVc1bklIZHZjbXRtYkc5M0lHbHVjSFYwY3lCcGJuUnZJSFJvWlNCMllXeDFaU0J6ZEc5eVpTNWNiaUFxSURNdUlFVjRaV04xZEdsdVp5QnViMlJsY3lCc1lYbGxjaTFpZVMxc1lYbGxjaUIzYVhSb0lHTnZibVpwWjNWeVlXSnNaU0JqYjI1amRYSnlaVzVqZVM1Y2JpQXFJRFF1SUZKdmRYUnBibWNnZG1Gc2RXVnpJR0ZzYjI1bklHVmtaMlZ6TGx4dUlDb2dOUzRnUlcxcGRIUnBibWNnYzNSeWRXTjBkWEpsWkNCbGRtVnVkSE1nZEdoeWIzVm5hQ0JFWldOaFppZHpJRTlpYzJWeWRtRmliR1VnY0dsd1pXeHBibVV1WEc0Z0tpQTJMaUJTWlhSMWNtNXBibWNnWVNCamIyMXdiR1YwWlNCN1FHeHBibXNnUjNKaGNHaEZlR1ZqZFhScGIyNVNaWE4xYkhSOUxseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSM0poY0doRmVHVmpkWFJwYjI1RmJtZHBibVZjYmlBZ2FXMXdiR1Z0Wlc1MGN5QlBZbk5sY25aaFlteGxQRnRIY21Gd2FFVjRaV04xZEdsdmJrOWljMlZ5ZG1WeVhTd2dXMGR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJkUGlCN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daVzFwZEhSbGNqb2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRVZ0YVhSMFpYSTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnY0d4aGJtNWxjam9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1Ym1WeU8xeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJSFpoYkhWbFUzUnZjbVZCWkdGd2RHVnlPaUJIY21Gd2FGWmhiSFZsVTNSdmNtVkJaR0Z3ZEdWeU8xeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJR1JsWm1GMWJIUlBjSFJwYjI1ek9pQlFZWEowYVdGc1BFZHlZWEJvUlhobFkzVjBhVzl1VDNCMGFXOXVjejQ3WEc0Z0lDOHFLaUJRYkhWbloyRmliR1VnWTI5a1pTQnpZVzVrWW05NElHVjJZV3gxWVhSdmNpQW93cWN5TWk0MEtUc2diV0Y1SUdKbElIVnVaR1ZtYVc1bFpDNGdLaTljYmlBZ2NtVmhaRzl1YkhrZ1kyOWtaVk5oYm1SaWIzaEZkbUZzZFdGMGIzSS9PaUJEYjJSbFUyRnVaR0p2ZUVWMllXeDFZWFJ2Y2p0Y2JseHVJQ0JqYjI1emRISjFZM1J2Y2loamIyNW1hV2M2SUVkeVlYQm9SWGhsWTNWMGFXOXVSVzVuYVc1bFEyOXVabWxuS1NCN1hHNGdJQ0FnZEdocGN5NWxiV2wwZEdWeUlEMGdZMjl1Wm1sbkxtVjJaVzUwUlcxcGRIUmxjaUEvUHlCdVpYY2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRVZ0YVhSMFpYSW9LVHRjYmlBZ0lDQjBhR2x6TG5Cc1lXNXVaWElnUFNCamIyNW1hV2N1Y0d4aGJtNWxjaUEvUHlCdVpYY2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVibVZ5S0NrN1hHNGdJQ0FnZEdocGN5NTJZV3gxWlZOMGIzSmxRV1JoY0hSbGNpQTlYRzRnSUNBZ0lDQmpiMjVtYVdjdWRtRnNkV1ZUZEc5eVpVRmtZWEIwWlhJZ1B6OGdibVYzSUVsdVRXVnRiM0o1UjNKaGNHaFdZV3gxWlZOMGIzSmxRV1JoY0hSbGNpZ3BPMXh1SUNBZ0lIUm9hWE11WkdWbVlYVnNkRTl3ZEdsdmJuTWdQU0JqYjI1bWFXY3VaR1ZtWVhWc2RFOXdkR2x2Ym5NZ1B6OGdlMzA3WEc0Z0lDQWdkR2hwY3k1amIyUmxVMkZ1WkdKdmVFVjJZV3gxWVhSdmNpQTlJR052Ym1acFp5NWpiMlJsVTJGdVpHSnZlRVYyWVd4MVlYUnZjanRjYmlBZ0lDQjBhR2x6TG1OdmJtWnBaeUE5SUdOdmJtWnBaenRjYmlBZ0lDQmpiMjVtYVdjdWIyNUZibWRwYm1WRGNtVmhkR1ZrUHk0b2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUdOdmJtWnBaem9nUjNKaGNHaEZlR1ZqZFhScGIyNUZibWRwYm1WRGIyNW1hV2M3WEc1Y2JpQWdiMkp6WlhKMlpTaHZZbk5sY25abGNqb2dSM0poY0doRmVHVmpkWFJwYjI1UFluTmxjblpsY2lrNklDZ3BJRDArSUhadmFXUWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZ0YVhSMFpYSXViMkp6WlhKMlpTaHZZbk5sY25abGNpazdYRzRnSUgxY2JseHVJQ0IxYms5aWMyVnlkbVVvYjJKelpYSjJaWEk2SUVkeVlYQm9SWGhsWTNWMGFXOXVUMkp6WlhKMlpYSXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbVZ0YVhSMFpYSXVkVzVQWW5ObGNuWmxLRzlpYzJWeWRtVnlLVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJSFZ3WkdGMFpVOWljMlZ5ZG1WeWN5aGxkbVZ1ZERvZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXMXBkSFJsY2k1MWNHUmhkR1ZQWW5ObGNuWmxjbk1vWlhabGJuUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVWNFpXTjFkR1Z6SUdFZ2QyOXlhMlpzYjNjZ2QybDBhQ0IwYUdVZ1oybDJaVzRnYVc1d2RYUnpJR0Z1WkNCdmNIUnBiMjV6TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWlhobFkzVjBaU2hjYmlBZ0lDQjNiM0pyWm14dmR6b2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0c1hHNGdJQ0FnYVc1d2RYUnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3lBOUlIdDlMRnh1SUNBZ0lHOXdkR2x2Ym5NNklFZHlZWEJvUlhobFkzVjBhVzl1VDNCMGFXOXVjeUE5SUh0OVhHNGdJQ2s2SUZCeWIyMXBjMlU4UjNKaGNHaEZlR1ZqZFhScGIyNVNaWE4xYkhRK0lIdGNiaUFnSUNCamIyNXpkQ0J2Y0hSeklEMGdkR2hwY3k1dFpYSm5aVTl3ZEdsdmJuTW9iM0IwYVc5dWN5azdYRzRnSUNBZ1kyOXVjM1FnY25WdVNXUWdQU0J2Y0hSekxuSjFia2xrSUQ4L0lIUm9hWE11WjJWdVpYSmhkR1ZTZFc1SlpDZ3BPMXh1SUNBZ0lHTnZibk4wSUhCaGRHZ2dQU0J2Y0hSekxuQmhkR2dnUHo4Z1cxMDdYRzRnSUNBZ1kyOXVjM1FnWlhabGJuUkdZV04wYjNKNUlEMGdibVYzSUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SR1lXTjBiM0o1S0NrN1hHNGdJQ0FnWTI5dWMzUWdkbUZzZFdWVGRHOXlaU0E5SUc1bGR5QkhjbUZ3YUZaaGJIVmxVM1J2Y21Vb2RHaHBjeTUyWVd4MVpWTjBiM0psUVdSaGNIUmxjaWs3WEc0Z0lDQWdkbUZzZFdWVGRHOXlaUzV6WldWa1YyOXlhMlpzYjNkSmJuQjFkSE1vYVc1d2RYUnpLVHRjYmx4dUlDQWdJR052Ym5OMElIQnNZVzRnUFNCMGFHbHpMbkJzWVc1dVpYSXVjR3hoYmloM2IzSnJabXh2ZHlrN1hHNGdJQ0FnWTI5dWMzUWdabkpoYldVZ1BTQnVaWGNnUjNKaGNHaEZlR1ZqZFhScGIyNUdjbUZ0WlNoY2JpQWdJQ0FnSUhKMWJrbGtMRnh1SUNBZ0lDQWdjR3hoYml4Y2JpQWdJQ0FnSUhaaGJIVmxVM1J2Y21Vc1hHNGdJQ0FnSUNCbGRtVnVkRVpoWTNSdmNubGNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWlcxcGRFWnVJRDBnWVhONWJtTWdLSEJoY25ScFlXdzZJRkJoY25ScFlXdzhSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRDRwSUQwK0lIdGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXVaVzFwZEVWMlpXNTBLR1p5WVcxbExDQjdYRzRnSUNBZ0lDQWdJSFI1Y0dVNklIQmhjblJwWVd3dWRIbHdaU0EvUHlCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVPVDBSRlgwOVZWRkJWVkN4Y2JpQWdJQ0FnSUNBZ2NuVnVTV1FzWEc0Z0lDQWdJQ0FnSUhCaGNtVnVkRkoxYmtsa09pQnZjSFJ6TG5CaGNtVnVkRkoxYmtsa0xGeHVJQ0FnSUNBZ0lDQjNiM0pyWm14dmQwbGtPaUIzYjNKclpteHZkeTV1WVcxbExGeHVJQ0FnSUNBZ0lDQnViMlJsU1dRNklIQmhjblJwWVd3dWJtOWtaVWxrTEZ4dUlDQWdJQ0FnSUNCd1lYUm9PaUJ3WVhKMGFXRnNMbkJoZEdnZ1B6OGdjR0YwYUN4Y2JpQWdJQ0FnSUNBZ0xpNHVjR0Z5ZEdsaGJDeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMDdYRzVjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbVZ0YVhSRmRtVnVkQ2htY21GdFpTd2dlMXh1SUNBZ0lDQWdkSGx3WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRGUjVjR1V1VjA5U1MwWk1UMWRmVTFSQlVsUkZSQ3hjYmlBZ0lDQWdJSEoxYmtsa0xGeHVJQ0FnSUNBZ2NHRnlaVzUwVW5WdVNXUTZJRzl3ZEhNdWNHRnlaVzUwVW5WdVNXUXNYRzRnSUNBZ0lDQjNiM0pyWm14dmQwbGtPaUIzYjNKclpteHZkeTV1WVcxbExGeHVJQ0FnSUNBZ2NHRjBhQ3hjYmlBZ0lDQWdJSE4wWVhSMWN6b2dSM0poY0doRmVHVmpkWFJwYjI1VGRHRjBkWE11VWxWT1RrbE9SeXhjYmlBZ0lDQWdJSEJoZVd4dllXUTZJSHNnYVc1d2RYUnpJSDBzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1WdGFYUkZkbVZ1ZENobWNtRnRaU3dnZTF4dUlDQWdJQ0FnZEhsd1pUb2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRlI1Y0dVdVYwOVNTMFpNVDFkZlVFeEJUazVGUkN4Y2JpQWdJQ0FnSUhKMWJrbGtMRnh1SUNBZ0lDQWdjR0Z5Wlc1MFVuVnVTV1E2SUc5d2RITXVjR0Z5Wlc1MFVuVnVTV1FzWEc0Z0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCM2IzSnJabXh2ZHk1dVlXMWxMRnh1SUNBZ0lDQWdjR0YwYUN4Y2JpQWdJQ0FnSUhOMFlYUjFjem9nUjNKaGNHaEZlR1ZqZFhScGIyNVRkR0YwZFhNdVVFeEJUazVKVGtjc1hHNGdJQ0FnSUNCd1lYbHNiMkZrT2lCN0lHeGhlV1Z5Y3pvZ2NHeGhiaTVzWVhsbGNuTXViR1Z1WjNSb0xDQnViMlJsY3pvZ2NHeGhiaTV1YjJSbGN5NXNaVzVuZEdnZ2ZTeGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUd4aGVXVnlJRzltSUhCc1lXNHViR0Y1WlhKektTQjdYRzRnSUNBZ0lDQWdJR0YzWVdsMElIUm9hWE11WlhobFkzVjBaVXhoZVdWeUtHWnlZVzFsTENCd2JHRnVMQ0JzWVhsbGNpNXViMlJsY3l3Z2IzQjBjeXdnWlcxcGRFWnVLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm5KaGJXVXVabWx1YVhOb0tDazdYRzVjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11WlcxcGRFVjJaVzUwS0daeVlXMWxMQ0I3WEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJVZVhCbExsZFBVa3RHVEU5WFgwTlBUVkJNUlZSRlJDeGNiaUFnSUNBZ0lDQWdjblZ1U1dRc1hHNGdJQ0FnSUNBZ0lIQmhjbVZ1ZEZKMWJrbGtPaUJ2Y0hSekxuQmhjbVZ1ZEZKMWJrbGtMRnh1SUNBZ0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCM2IzSnJabXh2ZHk1dVlXMWxMRnh1SUNBZ0lDQWdJQ0J3WVhSb0xGeHVJQ0FnSUNBZ0lDQnpkR0YwZFhNNklFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMbE5WUTBORlJVUkZSQ3hjYmlBZ0lDQWdJQ0FnY0dGNWJHOWhaRG9nZXlCdmRYUndkWFJ6T2lCMllXeDFaVk4wYjNKbExtZGxkRmR2Y210bWJHOTNWbUZzZFdWektDa2dmU3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnWW5WcGJHUkhjbUZ3YUVWNFpXTjFkR2x2YmxKbGMzVnNkQ2hjYmlBZ0lDQWdJQ0FnWm5KaGJXVXNYRzRnSUNBZ0lDQWdJSGR2Y210bWJHOTNMRnh1SUNBZ0lDQWdJQ0JwYm5CMWRITXNYRzRnSUNBZ0lDQWdJRWR5WVhCb1JYaGxZM1YwYVc5dVUzUmhkSFZ6TGxOVlEwTkZSVVJGUkN4Y2JpQWdJQ0FnSUNBZ2IzQjBjeTV0WlhSaFpHRjBZVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ1puSmhiV1V1Wm1sdWFYTm9LQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQmxjbkp2Y2xCaGVXeHZZV1FnUFNCMGFHbHpMblJ2UlhKeWIzSlFZWGxzYjJGa0tHVnljbTl5S1R0Y2JseHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWxiV2wwUlhabGJuUW9abkpoYldVc0lIdGNiaUFnSUNBZ0lDQWdkSGx3WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRGUjVjR1V1VjA5U1MwWk1UMWRmUmtGSlRFVkVMRnh1SUNBZ0lDQWdJQ0J5ZFc1SlpDeGNiaUFnSUNBZ0lDQWdjR0Z5Wlc1MFVuVnVTV1E2SUc5d2RITXVjR0Z5Wlc1MFVuVnVTV1FzWEc0Z0lDQWdJQ0FnSUhkdmNtdG1iRzkzU1dRNklIZHZjbXRtYkc5M0xtNWhiV1VzWEc0Z0lDQWdJQ0FnSUhCaGRHZ3NYRzRnSUNBZ0lDQWdJSE4wWVhSMWN6b2dSM0poY0doRmVHVmpkWFJwYjI1VGRHRjBkWE11UmtGSlRFVkVMRnh1SUNBZ0lDQWdJQ0JsY25KdmNqb2daWEp5YjNKUVlYbHNiMkZrTEZ4dUlDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCaWRXbHNaRWR5WVhCb1JYaGxZM1YwYVc5dVVtVnpkV3gwS0Z4dUlDQWdJQ0FnSUNCbWNtRnRaU3hjYmlBZ0lDQWdJQ0FnZDI5eWEyWnNiM2NzWEc0Z0lDQWdJQ0FnSUdsdWNIVjBjeXhjYmlBZ0lDQWdJQ0FnUjNKaGNHaEZlR1ZqZFhScGIyNVRkR0YwZFhNdVJrRkpURVZFTEZ4dUlDQWdJQ0FnSUNCdmNIUnpMbTFsZEdGa1lYUmhYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJRYVc1eklHRWdibTlrWlNCaGJtUWdhWFJ6SUhWd2MzUnlaV0Z0SUdSbGNHVnVaR1Z1WTJsbGN5QmhablJsY2lCaElHTnZiWEJzWlhSbFpDQnlkVzR1WEc0Z0lDQXFYRzRnSUNBcUlFUmxiR1ZuWVhSbGN5QjBieUI3UUd4cGJtc2dSM0poY0doUWFXNXVhVzVuVTJWeWRtbGpaWDB1SUZSb1pTQndiR0Z1SUdGdVpDQnlaWE4xYkhRZ2JYVnpkQ0JqYjIxbFhHNGdJQ0FxSUdaeWIyMGdZU0J3Y21sdmNpQnpkV05qWlhOelpuVnNJR1Y0WldOMWRHbHZiaUJ2WmlCMGFHVWdjMkZ0WlNCM2IzSnJabXh2ZHk1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUhCcGJrNXZaR1VvYjNCMGFXOXVjem9nUjNKaGNHaFFhVzVPYjJSbFQzQjBhVzl1Y3lrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElITmxjblpwWTJVZ1BTQjBhR2x6TG1OeVpXRjBaVkJwYm01cGJtZFRaWEoyYVdObEtDazdYRzRnSUNBZ1lYZGhhWFFnYzJWeWRtbGpaUzV3YVc1T2IyUmxLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVaVzFwZEZCcGJtNXBibWRGZG1WdWRDaHZjSFJwYjI1ekxtNXZaR1ZKWkN3Z1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRGUjVjR1V1VGs5RVJWOVFTVTVPUlVRcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlZ1Y0dsdWN5QmhJRzV2WkdVZ1lua2dhWFJ6SUdacGJtZGxjbkJ5YVc1MExseHVJQ0FnS2k5Y2JpQWdZWE41Ym1NZ2RXNXdhVzVPYjJSbEtHOXdkR2x2Ym5NNklFZHlZWEJvVlc1d2FXNU9iMlJsVDNCMGFXOXVjeWs2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhObGNuWnBZMlVnUFNCMGFHbHpMbU55WldGMFpWQnBibTVwYm1kVFpYSjJhV05sS0NrN1hHNGdJQ0FnWVhkaGFYUWdjMlZ5ZG1salpTNTFibkJwYms1dlpHVW9iM0IwYVc5dWN5azdYRzRnSUNBZ1lYZGhhWFFnZEdocGN5NWxiV2wwVUdsdWJtbHVaMFYyWlc1MEtHOXdkR2x2Ym5NdWJtOWtaVWxrTENCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVPVDBSRlgxVk9VRWxPVGtWRUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVnpJR0VnZTBCc2FXNXJJRWR5WVhCb1VHbHVibWx1WjFObGNuWnBZMlY5SUdKaFkydGxaQ0JpZVNCMGFHbHpJR1Z1WjJsdVpTZHpJSFpoYkhWbElITjBiM0psWEc0Z0lDQXFJR0ZrWVhCMFpYSXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR055WldGMFpWQnBibTVwYm1kVFpYSjJhV05sS0NrNklFZHlZWEJvVUdsdWJtbHVaMU5sY25acFkyVWdlMXh1SUNBZ0lHTnZibk4wSUhOMGIzSmxJRDBnYm1WM0lFZHlZWEJvVm1Gc2RXVlRkRzl5WlNoMGFHbHpMblpoYkhWbFUzUnZjbVZCWkdGd2RHVnlLVHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRWR5WVhCb1VHbHVibWx1WjFObGNuWnBZMlVvWEc0Z0lDQWdJQ0J6ZEc5eVpTeGNiaUFnSUNBZ0lHNWxkeUJIY21Gd2FGQnBibTVwYm1kUWIyeHBZM2tvS1N4Y2JpQWdJQ0FnSUc1bGR5QkhjbUZ3YUZCcGJtNXBibWRFWlhCbGJtUmxibU41VW1WemIyeDJaWElvS1Z4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JXMXBkSE1nWVNCd2FXNXVhVzVuTFhKbGJHRjBaV1FnWlhabGJuUWdkRzhnWVd4c0lHOWljMlZ5ZG1WeWN5NWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1pXMXBkRkJwYm01cGJtZEZkbVZ1ZENoY2JpQWdJQ0J1YjJSbFNXUTZJSE4wY21sdVp5eGNiaUFnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pWeHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCbVlXTjBiM0o1SUQwZ2JtVjNJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJHWVdOMGIzSjVLQ2s3WEc0Z0lDQWdZMjl1YzNRZ1pYWmxiblFnUFNCbVlXTjBiM0o1TG1OeVpXRjBaU2g3WEc0Z0lDQWdJQ0JwWkRvZ1hDSmNJaXhjYmlBZ0lDQWdJSE5sY1hWbGJtTmxPaUF3TEZ4dUlDQWdJQ0FnZEdsdFpYTjBZVzF3T2lCdVpYY2dSR0YwWlNncExGeHVJQ0FnSUNBZ2NuVnVTV1E2SUZ3aWNHbHVibWx1WjF3aUxGeHVJQ0FnSUNBZ2QyOXlhMlpzYjNkSlpEb2dYQ0pjSWl4Y2JpQWdJQ0FnSUhSNWNHVXNYRzRnSUNBZ0lDQnViMlJsU1dRc1hHNGdJQ0FnSUNCd1lYUm9PaUJiWFN4Y2JpQWdJQ0I5SUdGeklFOXRhWFE4UjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEN3Z1hDSnBaRndpSUh3Z1hDSnpaWEYxWlc1alpWd2lJSHdnWENKMGFXMWxjM1JoYlhCY0lqNHBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVaVzFwZEhSbGNpNTFjR1JoZEdWUFluTmxjblpsY25Nb1pYWmxiblFwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVjRaV04xZEdWeklHRWdiR0Y1WlhJZ2IyWWdibTlrWlhNZ2QybDBhQ0IwYUdVZ1kyOXVabWxuZFhKbFpDQmpiMjVqZFhKeVpXNWplUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdaWGhsWTNWMFpVeGhlV1Z5S0Z4dUlDQWdJR1p5WVcxbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtaeVlXMWxMRnh1SUNBZ0lIQnNZVzQ2SUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYml4Y2JpQWdJQ0J1YjJSbGN6b2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVUbTlrWlZ0ZExGeHVJQ0FnSUc5d2RITTZJRWR5WVhCb1JYaGxZM1YwYVc5dVQzQjBhVzl1Y3l4Y2JpQWdJQ0JsYldsMFJtNDZJQ2hsZG1WdWREb2dVR0Z5ZEdsaGJEeEhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBQaWtnUFQ0Z1VISnZiV2x6WlR4MmIybGtQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQmpiMjVqZFhKeVpXNWplU0E5SUUxaGRHZ3ViV0Y0S0Z4dUlDQWdJQ0FnTVN4Y2JpQWdJQ0FnSUc5d2RITXVZMjl1WTNWeWNtVnVZM2tnUHo4Z1IxSkJVRWhmUkVWR1FWVk1WRjlEVDA1RFZWSlNSVTVEV1Z4dUlDQWdJQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NYVmxkV1VnUFNCYkxpNHVibTlrWlhOZE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hGMVpYVmxMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR0poZEdOb0lEMGdjWFZsZFdVdWMzQnNhV05sS0RBc0lHTnZibU4xY25KbGJtTjVLVHRjYmlBZ0lDQWdJR0YzWVdsMElGQnliMjFwYzJVdVlXeHNLRnh1SUNBZ0lDQWdJQ0JpWVhSamFDNXRZWEFvS0c1dlpHVXBJRDArSUhSb2FYTXVaWGhsWTNWMFpVNXZaR1VvWm5KaGJXVXNJSEJzWVc0c0lHNXZaR1VzSUc5d2RITXNJR1Z0YVhSR2Jpa3BYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJGZUdWamRYUmxjeUJoSUhOcGJtZHNaU0J1YjJSbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCbGVHVmpkWFJsVG05a1pTaGNiaUFnSUNCbWNtRnRaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNUdjbUZ0WlN4Y2JpQWdJQ0J3YkdGdU9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNHNYRzRnSUNBZ2NHeGhiazV2WkdVNklFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrNXZaR1VzWEc0Z0lDQWdiM0IwY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVQY0hScGIyNXpMRnh1SUNBZ0lHVnRhWFJHYmpvZ0tHVjJaVzUwT2lCUVlYSjBhV0ZzUEVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5RK0tTQTlQaUJRY205dGFYTmxQSFp2YVdRK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhOMFlYSjBaV1JCZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUNBZ1kyOXVjM1FnYm05a1pWQmhkR2dnUFNCYkxpNHVLRzl3ZEhNdWNHRjBhQ0EvUHlCYlhTa3NJSEJzWVc1T2IyUmxMbWxrWFR0Y2JseHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVpXMXBkRVYyWlc1MEtHWnlZVzFsTENCN1hHNGdJQ0FnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU9UMFJGWDFOVVFWSlVSVVFzWEc0Z0lDQWdJQ0J5ZFc1SlpEb2dabkpoYldVdWNuVnVTV1FzWEc0Z0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCd2JHRnVMbmR2Y210bWJHOTNTV1FzWEc0Z0lDQWdJQ0J1YjJSbFNXUTZJSEJzWVc1T2IyUmxMbWxrTEZ4dUlDQWdJQ0FnY0dGMGFEb2dibTlrWlZCaGRHZ3NYRzRnSUNBZ0lDQnpkR0YwZFhNNklFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMbEpWVGs1SlRrY3NYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQmpiMjV6ZENCcGJuQjFkSE1nUFNCMGFHbHpMbkpsYzI5c2RtVk9iMlJsU1c1d2RYUnpLR1p5WVcxbExDQndiR0Z1TENCd2JHRnVUbTlrWlNrN1hHNWNiaUFnSUNBdkx5QkRZV05vWlMxb2FYUTZJR05vWldOcklHWnZjaUJoSUhCcGJtNWxaQ0IyWVd4MVpTQmlaV1p2Y21VZ1pYaGxZM1YwYVc1bklIUm9aU0J1YjJSbFhHNGdJQ0FnYVdZZ0tHOXdkSE11ZFhObFVHbHVibVZrVm1Gc2RXVnpLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpZV05vWldRZ1BTQmhkMkZwZENCMGFHbHpMblJ5ZVZCcGJtNWxaRlpoYkhWbEtHWnlZVzFsTENCd2JHRnVMQ0J3YkdGdVRtOWtaU3dnYVc1d2RYUnpLVHRjYmlBZ0lDQWdJR2xtSUNoallXTm9aV1FwSUh0Y2JpQWdJQ0FnSUNBZ1puSmhiV1V1ZG1Gc2RXVlRkRzl5WlM1elpYUk9iMlJsVDNWMGNIVjBjeWh3YkdGdVRtOWtaUzVwWkN3Z1kyRmphR1ZrTG05MWRIQjFkSE1wTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbkp2ZFhSbFQzVjBaMjlwYm1kRlpHZGxjeWhtY21GdFpTd2djR3hoYml3Z2NHeGhiazV2WkdVc0lHTmhZMmhsWkM1dmRYUndkWFJ6S1R0Y2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCbWFXNXBjMmhsWkVGMElEMGdibVYzSUVSaGRHVW9LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQkhjbUZ3YUU1dlpHVkZlR1ZqZFhScGIyNVNaWE4xYkhRZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnYm05a1pVbGtPaUJ3YkdGdVRtOWtaUzVwWkN4Y2JpQWdJQ0FnSUNBZ0lDQnpkR0YwZFhNNklFZHlZWEJvUlhobFkzVjBhVzl1VTNSaGRIVnpMa05CUTBoRlJDeGNiaUFnSUNBZ0lDQWdJQ0JwYm5CMWRITXNYRzRnSUNBZ0lDQWdJQ0FnYjNWMGNIVjBjem9nWTJGamFHVmtMbTkxZEhCMWRITXNYRzRnSUNBZ0lDQWdJQ0FnYzNSaGNuUmxaRUYwTEZ4dUlDQWdJQ0FnSUNBZ0lHWnBibWx6YUdWa1FYUXNYRzRnSUNBZ0lDQWdJQ0FnWm5KdmJVTmhZMmhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUhCcGJtNWxaRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0JsZG1WdWRITTZJRnRkTEZ4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQm1jbUZ0WlM1eVpXTnZjbVJPYjJSbFVtVnpkV3gwS0hKbGMzVnNkQ2s3WEc1Y2JpQWdJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWxiV2wwUlhabGJuUW9abkpoYldVc0lIdGNiaUFnSUNBZ0lDQWdJQ0IwZVhCbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlM1T1QwUkZYME5CUTBoRlgwaEpWQ3hjYmlBZ0lDQWdJQ0FnSUNCeWRXNUpaRG9nWm5KaGJXVXVjblZ1U1dRc1hHNGdJQ0FnSUNBZ0lDQWdkMjl5YTJac2IzZEpaRG9nY0d4aGJpNTNiM0pyWm14dmQwbGtMRnh1SUNBZ0lDQWdJQ0FnSUc1dlpHVkpaRG9nY0d4aGJrNXZaR1V1YVdRc1hHNGdJQ0FnSUNBZ0lDQWdjR0YwYURvZ2JtOWtaVkJoZEdnc1hHNGdJQ0FnSUNBZ0lDQWdjM1JoZEhWek9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxOMFlYUjFjeTVEUVVOSVJVUXNYRzRnSUNBZ0lDQWdJQ0FnY0dGNWJHOWhaRG9nZXlCdmRYUndkWFJ6T2lCallXTm9aV1F1YjNWMGNIVjBjeUI5TEZ4dUlDQWdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdJQ0JoZDJGcGRDQjBhR2x6TG1WdGFYUkZkbVZ1ZENobWNtRnRaU3dnZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMazVQUkVWZlEwOU5VRXhGVkVWRUxGeHVJQ0FnSUNBZ0lDQWdJSEoxYmtsa09pQm1jbUZ0WlM1eWRXNUpaQ3hjYmlBZ0lDQWdJQ0FnSUNCM2IzSnJabXh2ZDBsa09pQndiR0Z1TG5kdmNtdG1iRzkzU1dRc1hHNGdJQ0FnSUNBZ0lDQWdibTlrWlVsa09pQndiR0Z1VG05a1pTNXBaQ3hjYmlBZ0lDQWdJQ0FnSUNCd1lYUm9PaUJ1YjJSbFVHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNCemRHRjBkWE02SUVkeVlYQm9SWGhsWTNWMGFXOXVVM1JoZEhWekxsTlZRME5GUlVSRlJDeGNiaUFnSUNBZ0lDQWdJQ0J3WVhsc2IyRmtPaUI3SUc5MWRIQjFkSE02SUdOaFkyaGxaQzV2ZFhSd2RYUnpMQ0JtY205dFEyRmphR1U2SUhSeWRXVWdmU3hjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWlhobFkzVjBiM0lnUFNCMGFHbHpMbU52Ym1acFp5NXlaV2RwYzNSeWVTNXlaWE52YkhabEtIQnNZVzVPYjJSbExtdHBibVFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdZMjl1ZEdWNGRDQTlJRzVsZHlCSGNtRndhRVY0WldOMWRHbHZia052Ym5SbGVIUW9YRzRnSUNBZ0lDQWdJR1p5WVcxbExuSjFia2xrTEZ4dUlDQWdJQ0FnSUNCdmNIUnpMbkJoY21WdWRGSjFia2xrTEZ4dUlDQWdJQ0FnSUNCd2JHRnVMbmR2Y210bWJHOTNMRnh1SUNBZ0lDQWdJQ0J3YkdGdVRtOWtaUzVrWldacGJtbDBhVzl1TEZ4dUlDQWdJQ0FnSUNCdWIyUmxVR0YwYUN4Y2JpQWdJQ0FnSUNBZ1pXMXBkRVp1TEZ4dUlDQWdJQ0FnSUNCdmNIUnpMbTFsZEdGa1lYUmhYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQnZkWFJ3ZFhSeklEMGdZWGRoYVhRZ1pYaGxZM1YwYjNJdVpYaGxZM1YwWlNocGJuQjFkSE1zSUdOdmJuUmxlSFFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjbVZ6YjJ4MlpXUlBkWFJ3ZFhSeklEMGdiM1YwY0hWMGN5QS9QeUI3ZlR0Y2JseHVJQ0FnSUNBZ1puSmhiV1V1ZG1Gc2RXVlRkRzl5WlM1elpYUk9iMlJsVDNWMGNIVjBjeWh3YkdGdVRtOWtaUzVwWkN3Z2NtVnpiMngyWldSUGRYUndkWFJ6S1R0Y2JpQWdJQ0FnSUhSb2FYTXVjbTkxZEdWUGRYUm5iMmx1WjBWa1oyVnpLR1p5WVcxbExDQndiR0Z1TENCd2JHRnVUbTlrWlN3Z2NtVnpiMngyWldSUGRYUndkWFJ6S1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWm1sdWFYTm9aV1JCZENBOUlHNWxkeUJFWVhSbEtDazdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFE2SUVkeVlYQm9UbTlrWlVWNFpXTjFkR2x2YmxKbGMzVnNkQ0E5SUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaVWxrT2lCd2JHRnVUbTlrWlM1cFpDeGNiaUFnSUNBZ0lDQWdjM1JoZEhWek9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxOMFlYUjFjeTVUVlVORFJVVkVSVVFzWEc0Z0lDQWdJQ0FnSUdsdWNIVjBjeXhjYmlBZ0lDQWdJQ0FnYjNWMGNIVjBjem9nY21WemIyeDJaV1JQZFhSd2RYUnpMRnh1SUNBZ0lDQWdJQ0J6ZEdGeWRHVmtRWFFzWEc0Z0lDQWdJQ0FnSUdacGJtbHphR1ZrUVhRc1hHNGdJQ0FnSUNBZ0lHVjJaVzUwY3pvZ1cxMHNYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdabkpoYldVdWNtVmpiM0prVG05a1pWSmxjM1ZzZENoeVpYTjFiSFFwTzF4dVhHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxtVnRhWFJGZG1WdWRDaG1jbUZ0WlN3Z2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVPVDBSRlgwTlBUVkJNUlZSRlJDeGNiaUFnSUNBZ0lDQWdjblZ1U1dRNklHWnlZVzFsTG5KMWJrbGtMRnh1SUNBZ0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCd2JHRnVMbmR2Y210bWJHOTNTV1FzWEc0Z0lDQWdJQ0FnSUc1dlpHVkpaRG9nY0d4aGJrNXZaR1V1YVdRc1hHNGdJQ0FnSUNBZ0lIQmhkR2c2SUc1dlpHVlFZWFJvTEZ4dUlDQWdJQ0FnSUNCemRHRjBkWE02SUVkeVlYQm9SWGhsWTNWMGFXOXVVM1JoZEhWekxsTlZRME5GUlVSRlJDeGNiaUFnSUNBZ0lDQWdjR0Y1Ykc5aFpEb2dleUJ2ZFhSd2RYUnpPaUJ5WlhOdmJIWmxaRTkxZEhCMWRITWdmU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCbWFXNXBjMmhsWkVGMElEMGdibVYzSUVSaGRHVW9LVHRjYmlBZ0lDQWdJR052Ym5OMElHVnljbTl5VUdGNWJHOWhaQ0E5SUhSb2FYTXVkRzlGY25KdmNsQmhlV3h2WVdRb1pYSnliM0lwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQkhjbUZ3YUU1dlpHVkZlR1ZqZFhScGIyNVNaWE4xYkhRZ1BTQjdYRzRnSUNBZ0lDQWdJRzV2WkdWSlpEb2djR3hoYms1dlpHVXVhV1FzWEc0Z0lDQWdJQ0FnSUhOMFlYUjFjem9nUjNKaGNHaEZlR1ZqZFhScGIyNVRkR0YwZFhNdVJrRkpURVZFTEZ4dUlDQWdJQ0FnSUNCcGJuQjFkSE1zWEc0Z0lDQWdJQ0FnSUdWeWNtOXlPaUJsY25KdmNsQmhlV3h2WVdRc1hHNGdJQ0FnSUNBZ0lITjBZWEowWldSQmRDeGNiaUFnSUNBZ0lDQWdabWx1YVhOb1pXUkJkQ3hjYmlBZ0lDQWdJQ0FnWlhabGJuUnpPaUJiWFN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCbWNtRnRaUzV5WldOdmNtUk9iMlJsVW1WemRXeDBLSEpsYzNWc2RDazdYRzVjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11WlcxcGRFVjJaVzUwS0daeVlXMWxMQ0I3WEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJVZVhCbExrNVBSRVZmUmtGSlRFVkVMRnh1SUNBZ0lDQWdJQ0J5ZFc1SlpEb2dabkpoYldVdWNuVnVTV1FzWEc0Z0lDQWdJQ0FnSUhkdmNtdG1iRzkzU1dRNklIQnNZVzR1ZDI5eWEyWnNiM2RKWkN4Y2JpQWdJQ0FnSUNBZ2JtOWtaVWxrT2lCd2JHRnVUbTlrWlM1cFpDeGNiaUFnSUNBZ0lDQWdjR0YwYURvZ2JtOWtaVkJoZEdnc1hHNGdJQ0FnSUNBZ0lITjBZWFIxY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVUZEdGMGRYTXVSa0ZKVEVWRUxGeHVJQ0FnSUNBZ0lDQmxjbkp2Y2pvZ1pYSnliM0pRWVhsc2IyRmtMRnh1SUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHZjSFJ6TG1aaGFXeEdZWE4wSUQ4L0lIUnlkV1VwSUhSb2NtOTNJR1Z5Y205eU8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWE52YkhabGN5QmhJRzV2WkdVbmN5QnBibkIxZENCMllXeDFaWE1nWm5KdmJTQnBibU52YldsdVp5QmxaR2RsY3k1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2NtVnpiMngyWlU1dlpHVkpibkIxZEhNb1hHNGdJQ0FnWm5KaGJXVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJuSmhiV1VzWEc0Z0lDQWdjR3hoYmpvZ1IzSmhjR2hGZUdWamRYUnBiMjVRYkdGdUxGeHVJQ0FnSUhCc1lXNU9iMlJsT2lCSGNtRndhRVY0WldOMWRHbHZibEJzWVc1T2IyUmxYRzRnSUNrNklFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpJSHRjYmlBZ0lDQmpiMjV6ZENCcGJuQjFkSE02SUVkeVlYQm9SWGhsWTNWMGFXOXVWbUZzZFdWeklEMGdlMzA3WEc0Z0lDQWdZMjl1YzNRZ2FXNWpiMjFwYm1jZ1BTQndiR0Z1TG1sdVkyOXRhVzVuUW5sT2IyUmxMbWRsZENod2JHRnVUbTlrWlM1cFpDa2dQejhnVzEwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCbFpHZGxJRzltSUdsdVkyOXRhVzVuS1NCN1hHNGdJQ0FnSUNCcGJuQjFkSE5iWldSblpTNTBZWEpuWlhSUWIzSjBYU0E5SUdaeVlXMWxMblpoYkhWbFUzUnZjbVV1WjJWMFVHOXlkQ2hjYmlBZ0lDQWdJQ0FnWldSblpTNXpiM1Z5WTJWT2IyUmxTV1FzWEc0Z0lDQWdJQ0FnSUdWa1oyVXVjMjkxY21ObFVHOXlkRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdsdWNIVjBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQmRIUmxiWEIwY3lCMGJ5QnlaV0ZrSUdFZ2NHbHVibVZrSUhaaGJIVmxJR1p2Y2lCMGFHVWdibTlrWlM0Z1VtVjBkWEp1Y3lCMGFHVWdZMkZqYUdWa0lHOTFkSEIxZEhOY2JpQWdJQ29nZDJobGJpQmhJSFpoYkdsa0lIQnBibTVsWkNCMllXeDFaU0JsZUdsemRITXNJRzl5SUdCMWJtUmxabWx1WldSZ0lIUnZJSEJ5YjJObFpXUWdkMmwwYUNCdWIzSnRZV3hjYmlBZ0lDb2daWGhsWTNWMGFXOXVMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JoYzNsdVl5QjBjbmxRYVc1dVpXUldZV3gxWlNoY2JpQWdJQ0JtY21GdFpUb2dSM0poY0doRmVHVmpkWFJwYjI1R2NtRnRaU3hjYmlBZ0lDQndiR0Z1T2lCSGNtRndhRVY0WldOMWRHbHZibEJzWVc0c1hHNGdJQ0FnY0d4aGJrNXZaR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYms1dlpHVXNYRzRnSUNBZ2FXNXdkWFJ6T2lCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGMxeHVJQ0FwT2lCUWNtOXRhWE5sUEVkeVlYQm9RMkZqYUdWa1ZtRnNkV1VnZkNCMWJtUmxabWx1WldRK0lIdGNiaUFnSUNCamIyNXpkQ0J3YjJ4cFkza2dQU0J1WlhjZ1IzSmhjR2hRYVc1dWFXNW5VRzlzYVdONUtDazdYRzRnSUNBZ2FXWWdLQ0Z3YjJ4cFkza3VjMmh2ZFd4a1ZYTmxVR2x1Ym1Wa1ZtRnNkV1VvY0d4aGJrNXZaR1VwS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnWTI5dWMzUWdjMlZ5ZG1salpTQTlJSFJvYVhNdVkzSmxZWFJsVUdsdWJtbHVaMU5sY25acFkyVW9LVHRjYmlBZ0lDQmpiMjV6ZENCa1pYQkdhVzVuWlhKd2NtbHVkSE1nUFNCMGFHbHpMbU52YlhCMWRHVkVaWEJsYm1SbGJtTjVSbWx1WjJWeWNISnBiblJ6S0daeVlXMWxMQ0J3YkdGdUxDQndiR0Z1VG05a1pTNXBaQ2s3WEc0Z0lDQWdjbVYwZFhKdUlITmxjblpwWTJVdWNtVmhaRkJwYm01bFpGWmhiSFZsS0Z4dUlDQWdJQ0FnY0d4aGJpNTNiM0pyWm14dmR5eGNiaUFnSUNBZ0lIQnNZVzVPYjJSbExGeHVJQ0FnSUNBZ2FXNXdkWFJ6TEZ4dUlDQWdJQ0FnWkdWd1JtbHVaMlZ5Y0hKcGJuUnpYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWldOMWNuTnBkbVZzZVNCamIyMXdkWFJsY3lCbWFXNW5aWEp3Y21sdWRITWdabTl5SUdGc2JDQjFjSE4wY21WaGJTQmtaWEJsYm1SbGJtTnBaWE1nYjJZZ1lTQnViMlJsWEc0Z0lDQXFJSFZ6YVc1bklIUm9aU0J5WlhOMWJIUnpJR0ZzY21WaFpIa2dZV05qZFcxMWJHRjBaV1FnYVc0Z2RHaGxJR1p5WVcxbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmpiMjF3ZFhSbFJHVndaVzVrWlc1amVVWnBibWRsY25CeWFXNTBjeWhjYmlBZ0lDQm1jbUZ0WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVHY21GdFpTeGNiaUFnSUNCd2JHRnVPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzRzWEc0Z0lDQWdibTlrWlVsa09pQnpkSEpwYm1kY2JpQWdLVG9nVW1WamIzSmtQSE4wY21sdVp5d2djM1J5YVc1blBpQjdYRzRnSUNBZ1kyOXVjM1FnYzJWeWRtbGpaU0E5SUhSb2FYTXVZM0psWVhSbFVHbHVibWx1WjFObGNuWnBZMlVvS1R0Y2JpQWdJQ0JqYjI1emRDQmtaWEJTWlhOdmJIWmxjaUE5SUc1bGR5QkhjbUZ3YUZCcGJtNXBibWRFWlhCbGJtUmxibU41VW1WemIyeDJaWElvS1R0Y2JpQWdJQ0JqYjI1emRDQmtaWEJ6SUQwZ1pHVndVbVZ6YjJ4MlpYSXVaMlYwUkdWd1pXNWtaVzVqYVdWektIQnNZVzRzSUc1dlpHVkpaQ2s3WEc0Z0lDQWdZMjl1YzNRZ1ptbHVaMlZ5Y0hKcGJuUnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQnpkSEpwYm1jK0lEMGdlMzA3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JrWlhBZ2IyWWdaR1Z3Y3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYm05a1pTQTlJSEJzWVc0dWJtOWtaWE11Wm1sdVpDZ29iaWtnUFQ0Z2JpNXBaQ0E5UFQwZ1pHVndLVHRjYmlBZ0lDQWdJR2xtSUNodWIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JsY0ZKbGMzVnNkQ0E5SUdaeVlXMWxMbTV2WkdWU1pYTjFiSFJ6TG1kbGRDaGtaWEFwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwYm5CMWRITWdQU0JrWlhCU1pYTjFiSFEvTG1sdWNIVjBjeUEvUHlCN2ZUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtVnpkR1ZrUkdWd2N5QTlJSFJvYVhNdVkyOXRjSFYwWlVSbGNHVnVaR1Z1WTNsR2FXNW5aWEp3Y21sdWRITW9abkpoYldVc0lIQnNZVzRzSUdSbGNDazdYRzRnSUNBZ0lDQWdJR1pwYm1kbGNuQnlhVzUwYzF0a1pYQmRJRDBnYzJWeWRtbGpaUzVqYjIxd2RYUmxSbWx1WjJWeWNISnBiblFvWEc0Z0lDQWdJQ0FnSUNBZ2NHeGhiaTUzYjNKclpteHZkeXhjYmlBZ0lDQWdJQ0FnSUNCdWIyUmxMRnh1SUNBZ0lDQWdJQ0FnSUdsdWNIVjBjeXhjYmlBZ0lDQWdJQ0FnSUNCdVpYTjBaV1JFWlhCelhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJtYVc1blpYSndjbWx1ZEhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbTkxZEdWeklHRWdibTlrWlNkeklHOTFkSEIxZEhNZ2RHOGdaRzkzYm5OMGNtVmhiU0JwYm5CMWRITWdZVzVrSUhkdmNtdG1iRzkzSUc5MWRIQjFkSE11WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUhKdmRYUmxUM1YwWjI5cGJtZEZaR2RsY3loY2JpQWdJQ0JtY21GdFpUb2dSM0poY0doRmVHVmpkWFJwYjI1R2NtRnRaU3hjYmlBZ0lDQndiR0Z1T2lCSGNtRndhRVY0WldOMWRHbHZibEJzWVc0c1hHNGdJQ0FnY0d4aGJrNXZaR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYms1dlpHVXNYRzRnSUNBZ2IzVjBjSFYwY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTmNiaUFnS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzNRZ2IzVjBaMjlwYm1jZ1BTQndiR0Z1TG05MWRHZHZhVzVuUW5sT2IyUmxMbWRsZENod2JHRnVUbTlrWlM1cFpDa2dQejhnVzEwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCbFpHZGxJRzltSUc5MWRHZHZhVzVuS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJRzkxZEhCMWRITmJaV1JuWlM1emIzVnlZMlZRYjNKMFhUdGNiaUFnSUNBZ0lHbG1JQ2hsWkdkbExuUmhjbWRsZEU1dlpHVkpaQ0E5UFQwZ1IxSkJVRWhmVjA5U1MwWk1UMWRmUWs5VlRrUkJVbGtwSUh0Y2JpQWdJQ0FnSUNBZ1puSmhiV1V1ZG1Gc2RXVlRkRzl5WlM1elpYUlhiM0pyWm14dmQwOTFkSEIxZENobFpHZGxMblJoY21kbGRGQnZjblFzSUhaaGJIVmxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSFJvYVhNdVpXMXBkRVYyWlc1MEtHWnlZVzFsTENCN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa1ZFUjBWZlZrRk1WVVZmVWs5VlZFVkVMRnh1SUNBZ0lDQWdJQ0J5ZFc1SlpEb2dabkpoYldVdWNuVnVTV1FzWEc0Z0lDQWdJQ0FnSUhkdmNtdG1iRzkzU1dRNklIQnNZVzR1ZDI5eWEyWnNiM2RKWkN4Y2JpQWdJQ0FnSUNBZ1pXUm5aVWxrT2lCbFpHZGxMbWxrTEZ4dUlDQWdJQ0FnSUNCdWIyUmxTV1E2SUhCc1lXNU9iMlJsTG1sa0xGeHVJQ0FnSUNBZ0lDQndZWFJvT2lCYlhTeGNiaUFnSUNBZ0lDQWdjR0Y1Ykc5aFpEb2dleUJsWkdkbExDQjJZV3gxWlNCOUxGeHVJQ0FnSUNBZ2ZTa3VZMkYwWTJnb0tDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBdkx5QnZZbk5sY25abGNpQm1ZV2xzZFhKbGN5QnRkWE4wSUc1dmRDQmpjbUZ6YUZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVnRhWFJ6SUdGdUlHVjJaVzUwTENCeVpXTnZjbVJ6SUdsMElHbHVJSFJvWlNCbWNtRnRaU3dnWVc1a0lHUnBjM0JoZEdOb1pYTWdkRzhnYjJKelpYSjJaWEp6TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCaGMzbHVZeUJsYldsMFJYWmxiblFvWEc0Z0lDQWdabkpoYldVNklFZHlZWEJvUlhobFkzVjBhVzl1Um5KaGJXVXNYRzRnSUNBZ2NHRnlkR2xoYkRvZ1VHRnlkR2xoYkR4SGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFBpQW1JSHRjYmlBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTzF4dUlDQWdJQ0FnY25WdVNXUTZJRWR5WVhCb1VuVnVTV1E3WEc0Z0lDQWdJQ0IzYjNKclpteHZkMGxrT2lCemRISnBibWM3WEc0Z0lDQWdJQ0J3WVhSb09pQnpkSEpwYm1kYlhUdGNiaUFnSUNCOVhHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUdWMlpXNTBJRDBnWm5KaGJXVXVaWFpsYm5SR1lXTjBiM0o1TG1OeVpXRjBaU2g3WEc0Z0lDQWdJQ0JwWkRvZ1hDSmNJaXhjYmlBZ0lDQWdJSE5sY1hWbGJtTmxPaUF3TEZ4dUlDQWdJQ0FnZEdsdFpYTjBZVzF3T2lCdVpYY2dSR0YwWlNncExGeHVJQ0FnSUNBZ0xpNHVjR0Z5ZEdsaGJDeGNiaUFnSUNCOUlHRnpJRTl0YVhROFIzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRDd2dYQ0pwWkZ3aUlId2dYQ0p6WlhGMVpXNWpaVndpSUh3Z1hDSjBhVzFsYzNSaGJYQmNJajRwTzF4dUlDQWdJR1p5WVcxbExtRndjR1Z1WkVWMlpXNTBLR1YyWlc1MEtUdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtVnRhWFIwWlhJdWRYQmtZWFJsVDJKelpYSjJaWEp6S0dWMlpXNTBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCTlpYSm5aWE1nWkdWbVlYVnNkQ0J2Y0hScGIyNXpJSGRwZEdnZ2RHaGxJR2RwZG1WdUlHOXdkR2x2Ym5NdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHMWxjbWRsVDNCMGFXOXVjeWhjYmlBZ0lDQnZjSFJwYjI1ek9pQkhjbUZ3YUVWNFpXTjFkR2x2Yms5d2RHbHZibk5jYmlBZ0tUb2dSM0poY0doRmVHVmpkWFJwYjI1UGNIUnBiMjV6SUh0Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZMjl1WTNWeWNtVnVZM2s2SUVkU1FWQklYMFJGUmtGVlRGUmZRMDlPUTFWU1VrVk9RMWtzWEc0Z0lDQWdJQ0JtWVdsc1JtRnpkRG9nZEhKMVpTeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFNXNXdkWFJ6T2lCMGNuVmxMRnh1SUNBZ0lDQWdkbUZzYVdSaGRHVlBkWFJ3ZFhSek9pQjBjblZsTEZ4dUlDQWdJQ0FnZFhObFVHbHVibVZrVm1Gc2RXVnpPaUIwY25WbExGeHVJQ0FnSUNBZ2QzSnBkR1ZVYUhKdmRXZG9RMkZqYUdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnY0dGMGFEb2dXMTBzWEc0Z0lDQWdJQ0J0WlhSaFpHRjBZVG9nZTMwc1hHNGdJQ0FnSUNBdUxpNTBhR2x6TG1SbFptRjFiSFJQY0hScGIyNXpMRnh1SUNBZ0lDQWdMaTR1YjNCMGFXOXVjeXhjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGJtVnlZWFJsY3lCaElIVnVhWEYxWlNCeWRXNGdhV1F1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUdkbGJtVnlZWFJsVW5WdVNXUW9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1oyeHZZbUZzVkdocGN5NWpjbmx3ZEc4L0xuSmhibVJ2YlZWVlNVUS9MaWdwSUQ4L1hHNGdJQ0FnSUNCZ1ozSmhjR2d0Y25WdUxTUjdSR0YwWlM1dWIzY29LWDB0Skh0TllYUm9MbkpoYm1SdmJTZ3BMblJ2VTNSeWFXNW5LRE0yS1M1emJHbGpaU2d5S1gxZ1hHNGdJQ0FnS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjUyWlhKMGN5QmhiaUJsY25KdmNpQnBiblJ2SUdFZ2MyVnlhV0ZzYVhwbFpDQndZWGxzYjJGa0xseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQjBiMFZ5Y205eVVHRjViRzloWkNobGNuSnZjam9nZFc1cmJtOTNiaWs2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWEp5YjNKUVlYbHNiMkZrSUh0Y2JpQWdJQ0JwWmlBb1pYSnliM0lnYVc1emRHRnVZMlZ2WmlCRmNuSnZjaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnYm1GdFpUb2daWEp5YjNJdWJtRnRaU3hjYmlBZ0lDQWdJQ0FnYldWemMyRm5aVG9nWlhKeWIzSXViV1Z6YzJGblpTeGNiaUFnSUNBZ0lDQWdjM1JoWTJzNklHVnljbTl5TG5OMFlXTnJMRnh1SUNBZ0lDQWdJQ0JqYjJSbE9seHVJQ0FnSUNBZ0lDQWdJQ2hsY25KdmNpQmhjeUJoYm5rcExtZHlZWEJvUTI5a1pTQS9QMXh1SUNBZ0lDQWdJQ0FnSUNoMGVYQmxiMllnS0dWeWNtOXlJR0Z6SUdGdWVTa3VZMjlrWlNBOVBUMGdYQ0p1ZFcxaVpYSmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QlRkSEpwYm1jb0tHVnljbTl5SUdGeklHRnVlU2t1WTI5a1pTbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ0tHVnljbTl5SUdGeklHRnVlU2t1WTI5a1pTa3NYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZXlCdVlXMWxPaUJjSWxWdWEyNXZkMjVGY25KdmNsd2lMQ0J0WlhOellXZGxPaUJUZEhKcGJtY29aWEp5YjNJcElIMDdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|