@ngrx/signals 18.0.0-rc.2 → 18.0.0-rc.3
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/entities/src/index.d.ts +1 -1
- package/entities/src/with-entities.d.ts +4 -16
- package/esm2022/entities/src/index.mjs +1 -1
- package/esm2022/entities/src/with-entities.mjs +1 -1
- package/esm2022/rxjs-interop/src/rx-method.mjs +1 -1
- package/esm2022/src/index.mjs +2 -3
- package/esm2022/src/signal-state.mjs +7 -7
- package/esm2022/src/signal-store-assertions.mjs +15 -0
- package/esm2022/src/signal-store-feature.mjs +1 -1
- package/esm2022/src/signal-store-models.mjs +1 -1
- package/esm2022/src/signal-store.mjs +13 -10
- package/esm2022/src/state-source.mjs +48 -0
- package/esm2022/src/with-computed.mjs +3 -7
- package/esm2022/src/with-hooks.mjs +6 -6
- package/esm2022/src/with-methods.mjs +5 -9
- package/esm2022/src/with-state.mjs +6 -9
- package/fesm2022/ngrx-signals-entities.mjs.map +1 -1
- package/fesm2022/ngrx-signals-rxjs-interop.mjs.map +1 -1
- package/fesm2022/ngrx-signals.mjs +83 -51
- package/fesm2022/ngrx-signals.mjs.map +1 -1
- package/migrations/18_0_0-rc_3-protected-state/index.js +93 -0
- package/migrations/18_0_0-rc_3-protected-state/index.js.map +1 -0
- package/migrations/18_0_0-rc_3-writablestatesource/index.js +43 -0
- package/migrations/18_0_0-rc_3-writablestatesource/index.js.map +1 -0
- package/migrations/migration.json +12 -1
- package/package.json +1 -1
- package/rxjs-interop/src/rx-method.d.ts +1 -2
- package/src/index.d.ts +4 -5
- package/src/signal-state.d.ts +2 -3
- package/src/signal-store-assertions.d.ts +2 -0
- package/src/signal-store-feature.d.ts +26 -19
- package/src/signal-store-models.d.ts +2 -21
- package/src/signal-store.d.ts +139 -88
- package/src/state-source.d.ts +18 -0
- package/src/with-computed.d.ts +4 -2
- package/src/with-hooks.d.ts +3 -3
- package/src/with-methods.d.ts +5 -3
- package/src/with-state.d.ts +6 -2
- package/esm2022/src/get-state.mjs +0 -5
- package/esm2022/src/helpers.mjs +0 -9
- package/esm2022/src/patch-state.mjs +0 -8
- package/esm2022/src/state-signal.mjs +0 -2
- package/src/get-state.d.ts +0 -2
- package/src/helpers.d.ts +0 -1
- package/src/patch-state.d.ts +0 -4
- package/src/state-signal.d.ts +0 -5
package/entities/src/index.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export { updateEntity } from './updaters/update-entity';
|
|
|
10
10
|
export { updateEntities } from './updaters/update-entities';
|
|
11
11
|
export { updateAllEntities } from './updaters/update-all-entities';
|
|
12
12
|
export { entityConfig } from './entity-config';
|
|
13
|
-
export { EntityId, EntityMap, EntityState, NamedEntityState, SelectEntityId, } from './models';
|
|
13
|
+
export { EntityComputed, EntityId, EntityMap, EntityState, NamedEntityComputed, NamedEntityState, SelectEntityId, } from './models';
|
|
14
14
|
export { withEntities } from './with-entities';
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { SignalStoreFeature } from '@ngrx/signals';
|
|
1
|
+
import { EmptyFeatureResult, SignalStoreFeature } from '@ngrx/signals';
|
|
2
2
|
import { EntityComputed, EntityState, NamedEntityComputed, NamedEntityState } from './models';
|
|
3
|
-
export declare function withEntities<Entity>(): SignalStoreFeature<{
|
|
4
|
-
state: {};
|
|
5
|
-
computed: {};
|
|
6
|
-
methods: {};
|
|
7
|
-
}, {
|
|
3
|
+
export declare function withEntities<Entity>(): SignalStoreFeature<EmptyFeatureResult, {
|
|
8
4
|
state: EntityState<Entity>;
|
|
9
5
|
computed: EntityComputed<Entity>;
|
|
10
6
|
methods: {};
|
|
@@ -12,22 +8,14 @@ export declare function withEntities<Entity>(): SignalStoreFeature<{
|
|
|
12
8
|
export declare function withEntities<Entity, Collection extends string>(config: {
|
|
13
9
|
entity: Entity;
|
|
14
10
|
collection: Collection;
|
|
15
|
-
}): SignalStoreFeature<{
|
|
16
|
-
state: {};
|
|
17
|
-
computed: {};
|
|
18
|
-
methods: {};
|
|
19
|
-
}, {
|
|
11
|
+
}): SignalStoreFeature<EmptyFeatureResult, {
|
|
20
12
|
state: NamedEntityState<Entity, Collection>;
|
|
21
13
|
computed: NamedEntityComputed<Entity, Collection>;
|
|
22
14
|
methods: {};
|
|
23
15
|
}>;
|
|
24
16
|
export declare function withEntities<Entity>(config: {
|
|
25
17
|
entity: Entity;
|
|
26
|
-
}): SignalStoreFeature<{
|
|
27
|
-
state: {};
|
|
28
|
-
computed: {};
|
|
29
|
-
methods: {};
|
|
30
|
-
}, {
|
|
18
|
+
}): SignalStoreFeature<EmptyFeatureResult, {
|
|
31
19
|
state: EntityState<Entity>;
|
|
32
20
|
computed: EntityComputed<Entity>;
|
|
33
21
|
methods: {};
|
|
@@ -11,4 +11,4 @@ export { updateEntities } from './updaters/update-entities';
|
|
|
11
11
|
export { updateAllEntities } from './updaters/update-all-entities';
|
|
12
12
|
export { entityConfig } from './entity-config';
|
|
13
13
|
export { withEntities } from './with-entities';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvZW50aXRpZXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBhZGRFbnRpdHkgfSBmcm9tICcuL3VwZGF0ZXJzL2FkZC1lbnRpdHknO1xuZXhwb3J0IHsgYWRkRW50aXRpZXMgfSBmcm9tICcuL3VwZGF0ZXJzL2FkZC1lbnRpdGllcyc7XG5leHBvcnQgeyByZW1vdmVFbnRpdHkgfSBmcm9tICcuL3VwZGF0ZXJzL3JlbW92ZS1lbnRpdHknO1xuZXhwb3J0IHsgcmVtb3ZlRW50aXRpZXMgfSBmcm9tICcuL3VwZGF0ZXJzL3JlbW92ZS1lbnRpdGllcyc7XG5leHBvcnQgeyByZW1vdmVBbGxFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvcmVtb3ZlLWFsbC1lbnRpdGllcyc7XG5leHBvcnQgeyBzZXRFbnRpdHkgfSBmcm9tICcuL3VwZGF0ZXJzL3NldC1lbnRpdHknO1xuZXhwb3J0IHsgc2V0RW50aXRpZXMgfSBmcm9tICcuL3VwZGF0ZXJzL3NldC1lbnRpdGllcyc7XG5leHBvcnQgeyBzZXRBbGxFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvc2V0LWFsbC1lbnRpdGllcyc7XG5leHBvcnQgeyB1cGRhdGVFbnRpdHkgfSBmcm9tICcuL3VwZGF0ZXJzL3VwZGF0ZS1lbnRpdHknO1xuZXhwb3J0IHsgdXBkYXRlRW50aXRpZXMgfSBmcm9tICcuL3VwZGF0ZXJzL3VwZGF0ZS1lbnRpdGllcyc7XG5leHBvcnQgeyB1cGRhdGVBbGxFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvdXBkYXRlLWFsbC1lbnRpdGllcyc7XG5cbmV4cG9ydCB7IGVudGl0eUNvbmZpZyB9IGZyb20gJy4vZW50aXR5LWNvbmZpZyc7XG5leHBvcnQge1xuICBFbnRpdHlDb21wdXRlZCxcbiAgRW50aXR5SWQsXG4gIEVudGl0eU1hcCxcbiAgRW50aXR5U3RhdGUsXG4gIE5hbWVkRW50aXR5Q29tcHV0ZWQsXG4gIE5hbWVkRW50aXR5U3RhdGUsXG4gIFNlbGVjdEVudGl0eUlkLFxufSBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgeyB3aXRoRW50aXRpZXMgfSBmcm9tICcuL3dpdGgtZW50aXRpZXMnO1xuIl19
|
|
@@ -14,4 +14,4 @@ export function withEntities(config) {
|
|
|
14
14
|
}),
|
|
15
15
|
})));
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvd2l0aC1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFHTCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQVN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUErQi9DLE1BQU0sVUFBVSxZQUFZLENBQVMsTUFHcEM7SUFDQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV6RSxPQUFPLGtCQUFrQixDQUN2QixTQUFTLENBQUM7UUFDUixDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7UUFDbEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQ2IsQ0FBQyxFQUNGLFlBQVksQ0FBQyxDQUFDLEtBQXNDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBdUIsQ0FBQztZQUM3RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQWdCLENBQUM7WUFFMUMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7S0FDSCxDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlLFxuICBzaWduYWxTdG9yZUZlYXR1cmUsXG4gIHdpdGhDb21wdXRlZCxcbiAgd2l0aFN0YXRlLFxufSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7XG4gIEVudGl0eUNvbXB1dGVkLFxuICBFbnRpdHlJZCxcbiAgRW50aXR5TWFwLFxuICBFbnRpdHlTdGF0ZSxcbiAgTmFtZWRFbnRpdHlDb21wdXRlZCxcbiAgTmFtZWRFbnRpdHlTdGF0ZSxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0RW50aXR5U3RhdGVLZXlzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhFbnRpdGllczxFbnRpdHk+KCk6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICB7XG4gICAgc3RhdGU6IEVudGl0eVN0YXRlPEVudGl0eT47XG4gICAgY29tcHV0ZWQ6IEVudGl0eUNvbXB1dGVkPEVudGl0eT47XG4gICAgbWV0aG9kczoge307XG4gIH1cbj47XG5leHBvcnQgZnVuY3Rpb24gd2l0aEVudGl0aWVzPEVudGl0eSwgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZz4oY29uZmlnOiB7XG4gIGVudGl0eTogRW50aXR5O1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xufSk6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICB7XG4gICAgc3RhdGU6IE5hbWVkRW50aXR5U3RhdGU8RW50aXR5LCBDb2xsZWN0aW9uPjtcbiAgICBjb21wdXRlZDogTmFtZWRFbnRpdHlDb21wdXRlZDxFbnRpdHksIENvbGxlY3Rpb24+O1xuICAgIG1ldGhvZHM6IHt9O1xuICB9XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhFbnRpdGllczxFbnRpdHk+KGNvbmZpZzoge1xuICBlbnRpdHk6IEVudGl0eTtcbn0pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAge1xuICAgIHN0YXRlOiBFbnRpdHlTdGF0ZTxFbnRpdHk+O1xuICAgIGNvbXB1dGVkOiBFbnRpdHlDb21wdXRlZDxFbnRpdHk+O1xuICAgIG1ldGhvZHM6IHt9O1xuICB9XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhFbnRpdGllczxFbnRpdHk+KGNvbmZpZz86IHtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIGNvbGxlY3Rpb24/OiBzdHJpbmc7XG59KTogU2lnbmFsU3RvcmVGZWF0dXJlIHtcbiAgY29uc3QgeyBlbnRpdHlNYXBLZXksIGlkc0tleSwgZW50aXRpZXNLZXkgfSA9IGdldEVudGl0eVN0YXRlS2V5cyhjb25maWcpO1xuXG4gIHJldHVybiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gICAgd2l0aFN0YXRlKHtcbiAgICAgIFtlbnRpdHlNYXBLZXldOiB7fSxcbiAgICAgIFtpZHNLZXldOiBbXSxcbiAgICB9KSxcbiAgICB3aXRoQ29tcHV0ZWQoKHN0b3JlOiBSZWNvcmQ8c3RyaW5nLCBTaWduYWw8dW5rbm93bj4+KSA9PiAoe1xuICAgICAgW2VudGl0aWVzS2V5XTogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbnRpdHlNYXAgPSBzdG9yZVtlbnRpdHlNYXBLZXldKCkgYXMgRW50aXR5TWFwPEVudGl0eT47XG4gICAgICAgIGNvbnN0IGlkcyA9IHN0b3JlW2lkc0tleV0oKSBhcyBFbnRpdHlJZFtdO1xuXG4gICAgICAgIHJldHVybiBpZHMubWFwKChpZCkgPT4gZW50aXR5TWFwW2lkXSk7XG4gICAgICB9KSxcbiAgICB9KSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -30,4 +30,4 @@ export function rxMethod(generator, config) {
|
|
|
30
30
|
rxMethodFn.unsubscribe = sourceSub.unsubscribe.bind(sourceSub);
|
|
31
31
|
return rxMethodFn;
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL3J4anMtaW50ZXJvcC9zcmMvcngtbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsRUFFUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQU8vRSxNQUFNLFVBQVUsUUFBUSxDQUN0QixTQUE4RCxFQUM5RCxNQUFnQztJQUVoQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7SUFFckMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFcEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFnRCxFQUFFLEVBQUU7UUFDdEUsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQ3BCLEdBQUcsRUFBRTtnQkFDSCxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO1lBQ0YsTUFBTSxXQUFXLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDN0QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUzQixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDcEUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUzQixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGLFVBQVUsQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFL0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCxcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpc1NpZ25hbCxcbiAgU2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBub29wLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFJ4TWV0aG9kPElucHV0PiA9ICgoXG4gIGlucHV0OiBJbnB1dCB8IFNpZ25hbDxJbnB1dD4gfCBPYnNlcnZhYmxlPElucHV0PlxuKSA9PiBVbnN1YnNjcmliYWJsZSkgJlxuICBVbnN1YnNjcmliYWJsZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJ4TWV0aG9kPElucHV0PihcbiAgZ2VuZXJhdG9yOiAoc291cmNlJDogT2JzZXJ2YWJsZTxJbnB1dD4pID0+IE9ic2VydmFibGU8dW5rbm93bj4sXG4gIGNvbmZpZz86IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9XG4pOiBSeE1ldGhvZDxJbnB1dD4ge1xuICBpZiAoIWNvbmZpZz8uaW5qZWN0b3IpIHtcbiAgICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQocnhNZXRob2QpO1xuICB9XG5cbiAgY29uc3QgaW5qZWN0b3IgPSBjb25maWc/LmluamVjdG9yID8/IGluamVjdChJbmplY3Rvcik7XG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3Rvci5nZXQoRGVzdHJveVJlZik7XG4gIGNvbnN0IHNvdXJjZSQgPSBuZXcgU3ViamVjdDxJbnB1dD4oKTtcblxuICBjb25zdCBzb3VyY2VTdWIgPSBnZW5lcmF0b3Ioc291cmNlJCkuc3Vic2NyaWJlKCk7XG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHNvdXJjZVN1Yi51bnN1YnNjcmliZSgpKTtcblxuICBjb25zdCByeE1ldGhvZEZuID0gKGlucHV0OiBJbnB1dCB8IFNpZ25hbDxJbnB1dD4gfCBPYnNlcnZhYmxlPElucHV0PikgPT4ge1xuICAgIGlmIChpc1NpZ25hbChpbnB1dCkpIHtcbiAgICAgIGNvbnN0IHdhdGNoZXIgPSBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlucHV0KCk7XG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHNvdXJjZSQubmV4dCh2YWx1ZSkpO1xuICAgICAgICB9LFxuICAgICAgICB7IGluamVjdG9yIH1cbiAgICAgICk7XG4gICAgICBjb25zdCBpbnN0YW5jZVN1YiA9IHsgdW5zdWJzY3JpYmU6ICgpID0+IHdhdGNoZXIuZGVzdHJveSgpIH07XG4gICAgICBzb3VyY2VTdWIuYWRkKGluc3RhbmNlU3ViKTtcblxuICAgICAgcmV0dXJuIGluc3RhbmNlU3ViO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUoaW5wdXQpKSB7XG4gICAgICBjb25zdCBpbnN0YW5jZVN1YiA9IGlucHV0LnN1YnNjcmliZSgodmFsdWUpID0+IHNvdXJjZSQubmV4dCh2YWx1ZSkpO1xuICAgICAgc291cmNlU3ViLmFkZChpbnN0YW5jZVN1Yik7XG5cbiAgICAgIHJldHVybiBpbnN0YW5jZVN1YjtcbiAgICB9XG5cbiAgICBzb3VyY2UkLm5leHQoaW5wdXQpO1xuICAgIHJldHVybiB7IHVuc3Vic2NyaWJlOiBub29wIH07XG4gIH07XG4gIHJ4TWV0aG9kRm4udW5zdWJzY3JpYmUgPSBzb3VyY2VTdWIudW5zdWJzY3JpYmUuYmluZChzb3VyY2VTdWIpO1xuXG4gIHJldHVybiByeE1ldGhvZEZuO1xufVxuIl19
|
package/esm2022/src/index.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
export { getState } from './get-state';
|
|
2
|
-
export { patchState } from './patch-state';
|
|
3
1
|
export { signalState } from './signal-state';
|
|
4
2
|
export { signalStore } from './signal-store';
|
|
5
3
|
export { signalStoreFeature, type } from './signal-store-feature';
|
|
4
|
+
export { getState, patchState, watchState, } from './state-source';
|
|
6
5
|
export { withComputed } from './with-computed';
|
|
7
6
|
export { withHooks } from './with-hooks';
|
|
8
7
|
export { withMethods } from './with-methods';
|
|
9
8
|
export { withState } from './with-state';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBT2xFLE9BQU8sRUFDTCxRQUFRLEVBRVIsVUFBVSxFQUVWLFVBQVUsR0FFWCxNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRGVlcFNpZ25hbCB9IGZyb20gJy4vZGVlcC1zaWduYWwnO1xuZXhwb3J0IHsgc2lnbmFsU3RhdGUsIFNpZ25hbFN0YXRlIH0gZnJvbSAnLi9zaWduYWwtc3RhdGUnO1xuZXhwb3J0IHsgc2lnbmFsU3RvcmUgfSBmcm9tICcuL3NpZ25hbC1zdG9yZSc7XG5leHBvcnQgeyBzaWduYWxTdG9yZUZlYXR1cmUsIHR5cGUgfSBmcm9tICcuL3NpZ25hbC1zdG9yZS1mZWF0dXJlJztcbmV4cG9ydCB7XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlLFxuICBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFN0YXRlU2lnbmFscyxcbn0gZnJvbSAnLi9zaWduYWwtc3RvcmUtbW9kZWxzJztcbmV4cG9ydCB7XG4gIGdldFN0YXRlLFxuICBQYXJ0aWFsU3RhdGVVcGRhdGVyLFxuICBwYXRjaFN0YXRlLFxuICBTdGF0ZVNvdXJjZSxcbiAgd2F0Y2hTdGF0ZSxcbiAgV3JpdGFibGVTdGF0ZVNvdXJjZSxcbn0gZnJvbSAnLi9zdGF0ZS1zb3VyY2UnO1xuZXhwb3J0IHsgUHJldHRpZnkgfSBmcm9tICcuL3RzLWhlbHBlcnMnO1xuXG5leHBvcnQgeyB3aXRoQ29tcHV0ZWQgfSBmcm9tICcuL3dpdGgtY29tcHV0ZWQnO1xuZXhwb3J0IHsgd2l0aEhvb2tzIH0gZnJvbSAnLi93aXRoLWhvb2tzJztcbmV4cG9ydCB7IHdpdGhNZXRob2RzIH0gZnJvbSAnLi93aXRoLW1ldGhvZHMnO1xuZXhwb3J0IHsgd2l0aFN0YXRlIH0gZnJvbSAnLi93aXRoLXN0YXRlJztcbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { signal } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { STATE_SOURCE } from './state-source';
|
|
3
3
|
import { toDeepSignal } from './deep-signal';
|
|
4
4
|
export function signalState(initialState) {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
Object.defineProperty(
|
|
8
|
-
value:
|
|
5
|
+
const stateSource = signal(initialState);
|
|
6
|
+
const signalState = toDeepSignal(stateSource.asReadonly());
|
|
7
|
+
Object.defineProperty(signalState, STATE_SOURCE, {
|
|
8
|
+
value: stateSource,
|
|
9
9
|
});
|
|
10
|
-
return
|
|
10
|
+
return signalState;
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL3NyYy9zaWduYWwtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLekQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsWUFBbUI7SUFFbkIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFlBQXFCLENBQUMsQ0FBQztJQUNsRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFO1FBQy9DLEtBQUssRUFBRSxXQUFXO0tBQ25CLENBQUMsQ0FBQztJQUVILE9BQU8sV0FBaUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTVEFURV9TT1VSQ0UsIFdyaXRhYmxlU3RhdGVTb3VyY2UgfSBmcm9tICcuL3N0YXRlLXNvdXJjZSc7XG5pbXBvcnQgeyBEZWVwU2lnbmFsLCB0b0RlZXBTaWduYWwgfSBmcm9tICcuL2RlZXAtc2lnbmFsJztcblxuZXhwb3J0IHR5cGUgU2lnbmFsU3RhdGU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+ID0gRGVlcFNpZ25hbDxTdGF0ZT4gJlxuICBXcml0YWJsZVN0YXRlU291cmNlPFN0YXRlPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0YXRlPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgaW5pdGlhbFN0YXRlOiBTdGF0ZVxuKTogU2lnbmFsU3RhdGU8U3RhdGU+IHtcbiAgY29uc3Qgc3RhdGVTb3VyY2UgPSBzaWduYWwoaW5pdGlhbFN0YXRlIGFzIFN0YXRlKTtcbiAgY29uc3Qgc2lnbmFsU3RhdGUgPSB0b0RlZXBTaWduYWwoc3RhdGVTb3VyY2UuYXNSZWFkb25seSgpKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNpZ25hbFN0YXRlLCBTVEFURV9TT1VSQ0UsIHtcbiAgICB2YWx1ZTogc3RhdGVTb3VyY2UsXG4gIH0pO1xuXG4gIHJldHVybiBzaWduYWxTdGF0ZSBhcyBTaWduYWxTdGF0ZTxTdGF0ZT47XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function assertUniqueStoreMembers(store, newMemberKeys) {
|
|
2
|
+
if (!ngDevMode) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
const storeMembers = {
|
|
6
|
+
...store.stateSignals,
|
|
7
|
+
...store.computedSignals,
|
|
8
|
+
...store.methods,
|
|
9
|
+
};
|
|
10
|
+
const overriddenKeys = Object.keys(storeMembers).filter((memberKey) => newMemberKeys.includes(memberKey));
|
|
11
|
+
if (overriddenKeys.length > 0) {
|
|
12
|
+
console.warn('@ngrx/signals: SignalStore members cannot be overridden.', 'Trying to override:', overriddenKeys.join(', '));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLWFzc2VydGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvc3JjL3NpZ25hbC1zdG9yZS1hc3NlcnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsS0FBdUIsRUFDdkIsYUFBdUI7SUFFdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRztRQUNuQixHQUFHLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLEdBQUcsS0FBSyxDQUFDLGVBQWU7UUFDeEIsR0FBRyxLQUFLLENBQUMsT0FBTztLQUNqQixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNwRSxhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUNsQyxDQUFDO0lBRUYsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsMERBQTBELEVBQzFELHFCQUFxQixFQUNyQixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMxQixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbm5lclNpZ25hbFN0b3JlIH0gZnJvbSAnLi9zaWduYWwtc3RvcmUtbW9kZWxzJztcblxuZGVjbGFyZSBjb25zdCBuZ0Rldk1vZGU6IHVua25vd247XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRVbmlxdWVTdG9yZU1lbWJlcnMoXG4gIHN0b3JlOiBJbm5lclNpZ25hbFN0b3JlLFxuICBuZXdNZW1iZXJLZXlzOiBzdHJpbmdbXVxuKTogdm9pZCB7XG4gIGlmICghbmdEZXZNb2RlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RvcmVNZW1iZXJzID0ge1xuICAgIC4uLnN0b3JlLnN0YXRlU2lnbmFscyxcbiAgICAuLi5zdG9yZS5jb21wdXRlZFNpZ25hbHMsXG4gICAgLi4uc3RvcmUubWV0aG9kcyxcbiAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbktleXMgPSBPYmplY3Qua2V5cyhzdG9yZU1lbWJlcnMpLmZpbHRlcigobWVtYmVyS2V5KSA9PlxuICAgIG5ld01lbWJlcktleXMuaW5jbHVkZXMobWVtYmVyS2V5KVxuICApO1xuXG4gIGlmIChvdmVycmlkZGVuS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ0BuZ3J4L3NpZ25hbHM6IFNpZ25hbFN0b3JlIG1lbWJlcnMgY2Fubm90IGJlIG92ZXJyaWRkZW4uJyxcbiAgICAgICdUcnlpbmcgdG8gb3ZlcnJpZGU6JyxcbiAgICAgIG92ZXJyaWRkZW5LZXlzLmpvaW4oJywgJylcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -7,4 +7,4 @@ export function signalStoreFeature(featureOrInput, ...restFeatures) {
|
|
|
7
7
|
export function type() {
|
|
8
8
|
return undefined;
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLWZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvc3JjL3NpZ25hbC1zdG9yZS1mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1OQSxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLGNBQXNFLEVBQ3RFLEdBQUcsWUFBa0M7SUFFckMsTUFBTSxRQUFRLEdBQ1osT0FBTyxjQUFjLEtBQUssVUFBVTtRQUNsQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUVuQixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDcEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbEIsT0FBTyxTQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgTWVyZ2VGZWF0dXJlUmVzdWx0cyxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlLFxuICBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG59IGZyb20gJy4vc2lnbmFsLXN0b3JlLW1vZGVscyc7XG5pbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gJy4vdHMtaGVscGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8RjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+LCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGM10+LCBGND5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPiwgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0XT4sIEY1PlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNV0+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1XT4sIEY2PlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNSwgRjZdPlxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQgZXh0ZW5kcyBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBpbnB1dDogSW5wdXQsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8UHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMT5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0IGV4dGVuZHMgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGlucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxXT4sXG4gICAgRjJcbiAgPlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sXG4gIE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQgZXh0ZW5kcyBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGlucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxXT4sXG4gICAgRjJcbiAgPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxLCBGMl0+LFxuICAgIEYzXG4gID5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT5cbj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIElucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxXT4sXG4gICAgRjJcbiAgPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxLCBGMl0+LFxuICAgIEYzXG4gID4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMSwgRjIsIEYzXT4sXG4gICAgRjRcbiAgPlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sXG4gIE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0XT5cbj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBpbnB1dDogSW5wdXQsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8UHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMV0+LFxuICAgIEYyXG4gID4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMSwgRjJdPixcbiAgICBGM1xuICA+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIE1lcmdlRmVhdHVyZVJlc3VsdHM8W1ByZXR0aWZ5PEVtcHR5RmVhdHVyZVJlc3VsdCAmIElucHV0PiwgRjEsIEYyLCBGM10+LFxuICAgIEY0XG4gID4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMSwgRjIsIEYzLCBGNF0+LFxuICAgIEY1XG4gID5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjVdPlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0IGV4dGVuZHMgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBpbnB1dDogSW5wdXQsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8UHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMV0+LFxuICAgIEYyXG4gID4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMSwgRjJdPixcbiAgICBGM1xuICA+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIE1lcmdlRmVhdHVyZVJlc3VsdHM8W1ByZXR0aWZ5PEVtcHR5RmVhdHVyZVJlc3VsdCAmIElucHV0PiwgRjEsIEYyLCBGM10+LFxuICAgIEY0XG4gID4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMSwgRjIsIEYzLCBGNF0+LFxuICAgIEY1XG4gID4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxcbiAgICAgIFtQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sIEYxLCBGMiwgRjMsIEY0LCBGNV1cbiAgICA+LFxuICAgIEY2XG4gID5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2XT5cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gIGZlYXR1cmVPcklucHV0OiBTaWduYWxTdG9yZUZlYXR1cmUgfCBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIC4uLnJlc3RGZWF0dXJlczogU2lnbmFsU3RvcmVGZWF0dXJlW11cbik6IFNpZ25hbFN0b3JlRmVhdHVyZSB7XG4gIGNvbnN0IGZlYXR1cmVzID1cbiAgICB0eXBlb2YgZmVhdHVyZU9ySW5wdXQgPT09ICdmdW5jdGlvbidcbiAgICAgID8gW2ZlYXR1cmVPcklucHV0LCAuLi5yZXN0RmVhdHVyZXNdXG4gICAgICA6IHJlc3RGZWF0dXJlcztcblxuICByZXR1cm4gKGlucHV0U3RvcmUpID0+XG4gICAgZmVhdHVyZXMucmVkdWNlKChzdG9yZSwgZmVhdHVyZSkgPT4gZmVhdHVyZShzdG9yZSksIGlucHV0U3RvcmUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZTxUPigpOiBUIHtcbiAgcmV0dXJuIHVuZGVmaW5lZCBhcyBUO1xufVxuIl19
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLWZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvc3JjL3NpZ25hbC1zdG9yZS1mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtYQSxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLGNBQXNFLEVBQ3RFLEdBQUcsWUFBa0M7SUFFckMsTUFBTSxRQUFRLEdBQ1osT0FBTyxjQUFjLEtBQUssVUFBVTtRQUNsQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUVuQixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDcEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbEIsT0FBTyxTQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlLFxuICBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG59IGZyb20gJy4vc2lnbmFsLXN0b3JlLW1vZGVscyc7XG5pbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gJy4vdHMtaGVscGVycyc7XG5cbnR5cGUgUHJldHRpZnlGZWF0dXJlUmVzdWx0PFJlc3VsdCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4gPSBQcmV0dGlmeTx7XG4gIHN0YXRlOiBQcmV0dGlmeTxSZXN1bHRbJ3N0YXRlJ10+O1xuICBjb21wdXRlZDogUHJldHRpZnk8UmVzdWx0Wydjb21wdXRlZCddPjtcbiAgbWV0aG9kczogUHJldHRpZnk8UmVzdWx0WydtZXRob2RzJ10+O1xufT47XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8RjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzPj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgUHJldHRpZnlGZWF0dXJlUmVzdWx0PEYxICYgRjIgJiBGMyAmIEY0PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzICYgRjQgJiBGNT5cbj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRW1wdHlGZWF0dXJlUmVzdWx0LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjc+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsIEY5PlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjk+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEwIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTA+XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGlucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBOb0luZmVyPElucHV0PiwgRjE+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8UHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LCBGMT47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBpbnB1dDogSW5wdXQsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0ICYgTm9JbmZlcjxJbnB1dD4sIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxLCBGMj5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMj5cbj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgaW5wdXQ6IElucHV0LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCAmIE5vSW5mZXI8SW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiwgRjM+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIFByZXR0aWZ5PEVtcHR5RmVhdHVyZVJlc3VsdCAmIElucHV0PixcbiAgUHJldHRpZnlGZWF0dXJlUmVzdWx0PEYxICYgRjIgJiBGMz5cbj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFBhcnRpYWw8U2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PixcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIElucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBOb0luZmVyPElucHV0PiwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMywgRjQ+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIFByZXR0aWZ5PEVtcHR5RmVhdHVyZVJlc3VsdCAmIElucHV0PixcbiAgUHJldHRpZnlGZWF0dXJlUmVzdWx0PEYxICYgRjIgJiBGMyAmIEY0PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0IGV4dGVuZHMgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGlucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBOb0luZmVyPElucHV0PiwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQsIEY1PlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0IGV4dGVuZHMgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+KFxuICBpbnB1dDogSW5wdXQsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0ICYgTm9JbmZlcjxJbnB1dD4sIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2PlxuPjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0IGV4dGVuZHMgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgaW5wdXQ6IElucHV0LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCAmIE5vSW5mZXI8SW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgUHJldHRpZnk8RW1wdHlGZWF0dXJlUmVzdWx0ICYgSW5wdXQ+LFxuICBQcmV0dGlmeUZlYXR1cmVSZXN1bHQ8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjc+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQgZXh0ZW5kcyBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgaW5wdXQ6IElucHV0LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCAmIE5vSW5mZXI8SW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+XG4pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIFByZXR0aWZ5PEVtcHR5RmVhdHVyZVJlc3VsdCAmIElucHV0PixcbiAgUHJldHRpZnlGZWF0dXJlUmVzdWx0PEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjg+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQgZXh0ZW5kcyBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGlucHV0OiBJbnB1dCxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBOb0luZmVyPElucHV0PiwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsXG4gICAgRjlcbiAgPlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjk+XG4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQgZXh0ZW5kcyBQYXJ0aWFsPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4sXG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihcbiAgaW5wdXQ6IElucHV0LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCAmIE5vSW5mZXI8SW5wdXQ+LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8Tm9JbmZlcjxJbnB1dD4gJiBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIE5vSW5mZXI8SW5wdXQ+ICYgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCxcbiAgICBGOVxuICA+LFxuICBmMTA6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBOb0luZmVyPElucHV0PiAmIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSxcbiAgICBGMTBcbiAgPlxuKTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBQcmV0dGlmeTxFbXB0eUZlYXR1cmVSZXN1bHQgJiBJbnB1dD4sXG4gIFByZXR0aWZ5RmVhdHVyZVJlc3VsdDxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTA+XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmVGZWF0dXJlKFxuICBmZWF0dXJlT3JJbnB1dDogU2lnbmFsU3RvcmVGZWF0dXJlIHwgUGFydGlhbDxTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+LFxuICAuLi5yZXN0RmVhdHVyZXM6IFNpZ25hbFN0b3JlRmVhdHVyZVtdXG4pOiBTaWduYWxTdG9yZUZlYXR1cmUge1xuICBjb25zdCBmZWF0dXJlcyA9XG4gICAgdHlwZW9mIGZlYXR1cmVPcklucHV0ID09PSAnZnVuY3Rpb24nXG4gICAgICA/IFtmZWF0dXJlT3JJbnB1dCwgLi4ucmVzdEZlYXR1cmVzXVxuICAgICAgOiByZXN0RmVhdHVyZXM7XG5cbiAgcmV0dXJuIChpbnB1dFN0b3JlKSA9PlxuICAgIGZlYXR1cmVzLnJlZHVjZSgoc3RvcmUsIGZlYXR1cmUpID0+IGZlYXR1cmUoc3RvcmUpLCBpbnB1dFN0b3JlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGU8VD4oKTogVCB7XG4gIHJldHVybiB1bmRlZmluZWQgYXMgVDtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9zcmMvc2lnbmFsLXN0b3JlLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWVwU2lnbmFsIH0gZnJvbSAnLi9kZWVwLXNpZ25hbCc7XG5pbXBvcnQgeyBXcml0YWJsZVN0YXRlU291cmNlIH0gZnJvbSAnLi9zdGF0ZS1zb3VyY2UnO1xuaW1wb3J0IHsgSXNLbm93blJlY29yZCwgUHJldHRpZnkgfSBmcm9tICcuL3RzLWhlbHBlcnMnO1xuXG5leHBvcnQgdHlwZSBTdGF0ZVNpZ25hbHM8U3RhdGU+ID0gSXNLbm93blJlY29yZDxQcmV0dGlmeTxTdGF0ZT4+IGV4dGVuZHMgdHJ1ZVxuICA/IHtcbiAgICAgIFtLZXkgaW4ga2V5b2YgU3RhdGVdOiBJc0tub3duUmVjb3JkPFN0YXRlW0tleV0+IGV4dGVuZHMgdHJ1ZVxuICAgICAgICA/IERlZXBTaWduYWw8U3RhdGVbS2V5XT5cbiAgICAgICAgOiBTaWduYWw8U3RhdGVbS2V5XT47XG4gICAgfVxuICA6IHt9O1xuXG5leHBvcnQgdHlwZSBTaWduYWxzRGljdGlvbmFyeSA9IFJlY29yZDxzdHJpbmcsIFNpZ25hbDx1bmtub3duPj47XG5cbmV4cG9ydCB0eXBlIE1ldGhvZHNEaWN0aW9uYXJ5ID0gUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+O1xuXG5leHBvcnQgdHlwZSBTaWduYWxTdG9yZUhvb2tzID0ge1xuICBvbkluaXQ/OiAoKSA9PiB2b2lkO1xuICBvbkRlc3Ryb3k/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgSW5uZXJTaWduYWxTdG9yZTxcbiAgU3RhdGUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsXG4gIENvbXB1dGVkU2lnbmFscyBleHRlbmRzIFNpZ25hbHNEaWN0aW9uYXJ5ID0gU2lnbmFsc0RpY3Rpb25hcnksXG4gIE1ldGhvZHMgZXh0ZW5kcyBNZXRob2RzRGljdGlvbmFyeSA9IE1ldGhvZHNEaWN0aW9uYXJ5XG4+ID0ge1xuICBzdGF0ZVNpZ25hbHM6IFN0YXRlU2lnbmFsczxTdGF0ZT47XG4gIGNvbXB1dGVkU2lnbmFsczogQ29tcHV0ZWRTaWduYWxzO1xuICBtZXRob2RzOiBNZXRob2RzO1xuICBob29rczogU2lnbmFsU3RvcmVIb29rcztcbn0gJiBXcml0YWJsZVN0YXRlU291cmNlPFN0YXRlPjtcblxuZXhwb3J0IHR5cGUgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0ge1xuICBzdGF0ZTogb2JqZWN0O1xuICBjb21wdXRlZDogU2lnbmFsc0RpY3Rpb25hcnk7XG4gIG1ldGhvZHM6IE1ldGhvZHNEaWN0aW9uYXJ5O1xufTtcblxuZXhwb3J0IHR5cGUgRW1wdHlGZWF0dXJlUmVzdWx0ID0geyBzdGF0ZToge307IGNvbXB1dGVkOiB7fTsgbWV0aG9kczoge30gfTtcblxuZXhwb3J0IHR5cGUgU2lnbmFsU3RvcmVGZWF0dXJlPFxuICBJbnB1dCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgT3V0cHV0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0XG4+ID0gKFxuICBzdG9yZTogSW5uZXJTaWduYWxTdG9yZTxJbnB1dFsnc3RhdGUnXSwgSW5wdXRbJ2NvbXB1dGVkJ10sIElucHV0WydtZXRob2RzJ10+XG4pID0+IElubmVyU2lnbmFsU3RvcmU8T3V0cHV0WydzdGF0ZSddLCBPdXRwdXRbJ2NvbXB1dGVkJ10sIE91dHB1dFsnbWV0aG9kcyddPjtcbiJdfQ==
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { DestroyRef, inject, Injectable, signal } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { STATE_SOURCE } from './state-source';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export function signalStore(...args) {
|
|
5
5
|
const signalStoreArgs = [...args];
|
|
6
|
-
const config =
|
|
7
|
-
?
|
|
8
|
-
:
|
|
6
|
+
const config = typeof signalStoreArgs[0] === 'function'
|
|
7
|
+
? {}
|
|
8
|
+
: signalStoreArgs.shift();
|
|
9
9
|
const features = signalStoreArgs;
|
|
10
10
|
class SignalStore {
|
|
11
11
|
constructor() {
|
|
12
12
|
const innerStore = features.reduce((store, feature) => feature(store), getInitialInnerStore());
|
|
13
13
|
const { stateSignals, computedSignals, methods, hooks } = innerStore;
|
|
14
|
-
const
|
|
15
|
-
this[
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const storeMembers = { ...stateSignals, ...computedSignals, ...methods };
|
|
15
|
+
this[STATE_SOURCE] =
|
|
16
|
+
config.protectedState === false
|
|
17
|
+
? innerStore[STATE_SOURCE]
|
|
18
|
+
: innerStore[STATE_SOURCE].asReadonly();
|
|
19
|
+
for (const key in storeMembers) {
|
|
20
|
+
this[key] = storeMembers[key];
|
|
18
21
|
}
|
|
19
22
|
const { onInit, onDestroy } = hooks;
|
|
20
23
|
if (onInit) {
|
|
@@ -35,11 +38,11 @@ export function signalStore(...args) {
|
|
|
35
38
|
}
|
|
36
39
|
export function getInitialInnerStore() {
|
|
37
40
|
return {
|
|
38
|
-
[
|
|
41
|
+
[STATE_SOURCE]: signal({}),
|
|
39
42
|
stateSignals: {},
|
|
40
43
|
computedSignals: {},
|
|
41
44
|
methods: {},
|
|
42
45
|
hooks: {},
|
|
43
46
|
};
|
|
44
47
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL3NyYy9zaWduYWwtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7O0FBbVMzRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixHQUFHLElBQXlFO0lBRTVFLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUVsQyxNQUFNLE1BQU0sR0FDVixZQUFZLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUUsZUFBZSxDQUFDLEtBQUssRUFBd0I7UUFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULE1BQU0sUUFBUSxHQUFHLGVBQXVDLENBQUM7SUFFekQsTUFDTSxXQUFXO1FBQ2Y7WUFDRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUNoQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDbEMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztZQUNGLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDckUsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1lBRWpFLElBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdkQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsSUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFFcEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEVBQUUsQ0FBQztZQUNYLENBQUM7WUFFRCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7OEhBeEJHLFdBQVc7a0lBQVgsV0FBVyxjQURTLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSTs7K0ZBQzdDLFdBQVc7c0JBRGhCLFVBQVU7dUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7O0lBNEJyRCxPQUFPLFdBQVcsQ0FBQztDQUNwQjtBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTztRQUNMLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQixZQUFZLEVBQUUsRUFBRTtRQUNoQixlQUFlLEVBQUUsRUFBRTtRQUNuQixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxFQUFFO0tBQ1YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU1RBVEVfU0lHTkFMLCBTdGF0ZVNpZ25hbCB9IGZyb20gJy4vc3RhdGUtc2lnbmFsJztcbmltcG9ydCB7XG4gIEVtcHR5RmVhdHVyZVJlc3VsdCxcbiAgSW5uZXJTaWduYWxTdG9yZSxcbiAgTWVyZ2VGZWF0dXJlUmVzdWx0cyxcbiAgU2lnbmFsU3RvcmVDb25maWcsXG4gIFNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBTaWduYWxTdG9yZVByb3BzLFxufSBmcm9tICcuL3NpZ25hbC1zdG9yZS1tb2RlbHMnO1xuaW1wb3J0IHsgUHJldHRpZnkgfSBmcm9tICcuL3RzLWhlbHBlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8RjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8RjE+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8RjFbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPlxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPiwgRjQ+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8Uj4gJiBTdGF0ZVNpZ25hbDxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjVdPlxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+LCBGNT5cbik6IFR5cGU8U2lnbmFsU3RvcmVQcm9wczxSPiAmIFN0YXRlU2lnbmFsPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFxuICAgIFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2XVxuICA+XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPiwgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0XT4sIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjVdPiwgRjY+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8Uj4gJiBTdGF0ZVNpZ25hbDxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IE1lcmdlRmVhdHVyZVJlc3VsdHM8XG4gICAgW0YxLCBGMiwgRjMsIEY0LCBGNSwgRjYsIEY3XVxuICA+XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPiwgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0XT4sIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjVdPiwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNSwgRjZdPiwgRjc+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8Uj4gJiBTdGF0ZVNpZ25hbDxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFxuICAgIFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2LCBGNywgRjhdXG4gID5cbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+LCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGM10+LCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjRdPiwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNV0+LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1LCBGNl0+LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1LCBGNiwgRjddPiwgRjg+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8Uj4gJiBTdGF0ZVNpZ25hbDxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gTWVyZ2VGZWF0dXJlUmVzdWx0czxcbiAgICBbRjEsIEYyLCBGMywgRjQsIEY1LCBGNiwgRjcsIEY4LCBGOV1cbiAgPlxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1XT4sIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2XT4sIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2LCBGN10+LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgTWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1LCBGNiwgRjcsIEY4XT4sXG4gICAgRjlcbiAgPlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PihcbiAgY29uZmlnOiBTaWduYWxTdG9yZUNvbmZpZyxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPEYxPiAmIFN0YXRlU2lnbmFsPFByZXR0aWZ5PEYxWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPlxuPihcbiAgY29uZmlnOiBTaWduYWxTdG9yZUNvbmZpZyxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj5cbik6IFR5cGU8U2lnbmFsU3RvcmVQcm9wczxSPiAmIFN0YXRlU2lnbmFsPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT5cbj4oXG4gIGNvbmZpZzogU2lnbmFsU3RvcmVDb25maWcsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+LCBGMz5cbik6IFR5cGU8U2lnbmFsU3RvcmVQcm9wczxSPiAmIFN0YXRlU2lnbmFsPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gTWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjRdPlxuPihcbiAgY29uZmlnOiBTaWduYWxTdG9yZUNvbmZpZyxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gTWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1XT5cbj4oXG4gIGNvbmZpZzogU2lnbmFsU3RvcmVDb25maWcsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+LCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGM10+LCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjRdPiwgRjU+XG4pOiBUeXBlPFNpZ25hbFN0b3JlUHJvcHM8Uj4gJiBTdGF0ZVNpZ25hbDxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gTWVyZ2VGZWF0dXJlUmVzdWx0czxcbiAgICBbRjEsIEYyLCBGMywgRjQsIEY1LCBGNl1cbiAgPlxuPihcbiAgY29uZmlnOiBTaWduYWxTdG9yZUNvbmZpZyxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1XT4sIEY2PlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBNZXJnZUZlYXR1cmVSZXN1bHRzPFxuICAgIFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2LCBGN11cbiAgPlxuPihcbiAgY29uZmlnOiBTaWduYWxTdG9yZUNvbmZpZyxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyXT4sIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzXT4sIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNF0+LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1XT4sIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjUsIEY2XT4sIEY3PlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gTWVyZ2VGZWF0dXJlUmVzdWx0czxcbiAgICBbRjEsIEYyLCBGMywgRjQsIEY1LCBGNiwgRjcsIEY4XVxuICA+XG4+KFxuICBjb25maWc6IFNpZ25hbFN0b3JlQ29uZmlnLFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjJdPiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjNdPiwgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0XT4sIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxNZXJnZUZlYXR1cmVSZXN1bHRzPFtGMSwgRjIsIEYzLCBGNCwgRjVdPiwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNSwgRjZdPiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNSwgRjYsIEY3XT4sIEY4PlxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPFI+ICYgU3RhdGVTaWduYWw8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IE1lcmdlRmVhdHVyZVJlc3VsdHM8XG4gICAgW0YxLCBGMiwgRjMsIEY0LCBGNSwgRjYsIEY3LCBGOCwgRjldXG4gID5cbj4oXG4gIGNvbmZpZzogU2lnbmFsU3RvcmVDb25maWcsXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMl0+LCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGM10+LCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjRdPiwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNV0+LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1LCBGNl0+LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8TWVyZ2VGZWF0dXJlUmVzdWx0czxbRjEsIEYyLCBGMywgRjQsIEY1LCBGNiwgRjddPiwgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIE1lcmdlRmVhdHVyZVJlc3VsdHM8W0YxLCBGMiwgRjMsIEY0LCBGNSwgRjYsIEY3LCBGOF0+LFxuICAgIEY5XG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVQcm9wczxSPiAmIFN0YXRlU2lnbmFsPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZShcbiAgLi4uYXJnczogW1NpZ25hbFN0b3JlQ29uZmlnLCAuLi5TaWduYWxTdG9yZUZlYXR1cmVbXV0gfCBTaWduYWxTdG9yZUZlYXR1cmVbXVxuKTogVHlwZTxTaWduYWxTdG9yZVByb3BzPGFueT4+IHtcbiAgY29uc3Qgc2lnbmFsU3RvcmVBcmdzID0gWy4uLmFyZ3NdO1xuXG4gIGNvbnN0IGNvbmZpZzogUGFydGlhbDxTaWduYWxTdG9yZUNvbmZpZz4gPVxuICAgICdwcm92aWRlZEluJyBpbiBzaWduYWxTdG9yZUFyZ3NbMF1cbiAgICAgID8gKHNpZ25hbFN0b3JlQXJncy5zaGlmdCgpIGFzIFNpZ25hbFN0b3JlQ29uZmlnKVxuICAgICAgOiB7fTtcbiAgY29uc3QgZmVhdHVyZXMgPSBzaWduYWxTdG9yZUFyZ3MgYXMgU2lnbmFsU3RvcmVGZWF0dXJlW107XG5cbiAgQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBjb25maWcucHJvdmlkZWRJbiB8fCBudWxsIH0pXG4gIGNsYXNzIFNpZ25hbFN0b3JlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIGNvbnN0IGlubmVyU3RvcmUgPSBmZWF0dXJlcy5yZWR1Y2UoXG4gICAgICAgIChzdG9yZSwgZmVhdHVyZSkgPT4gZmVhdHVyZShzdG9yZSksXG4gICAgICAgIGdldEluaXRpYWxJbm5lclN0b3JlKClcbiAgICAgICk7XG4gICAgICBjb25zdCB7IHN0YXRlU2lnbmFscywgY29tcHV0ZWRTaWduYWxzLCBtZXRob2RzLCBob29rcyB9ID0gaW5uZXJTdG9yZTtcbiAgICAgIGNvbnN0IHByb3BzID0geyAuLi5zdGF0ZVNpZ25hbHMsIC4uLmNvbXB1dGVkU2lnbmFscywgLi4ubWV0aG9kcyB9O1xuXG4gICAgICAodGhpcyBhcyBhbnkpW1NUQVRFX1NJR05BTF0gPSBpbm5lclN0b3JlW1NUQVRFX1NJR05BTF07XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHByb3BzKSB7XG4gICAgICAgICh0aGlzIGFzIGFueSlba2V5XSA9IHByb3BzW2tleV07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgb25Jbml0LCBvbkRlc3Ryb3kgfSA9IGhvb2tzO1xuXG4gICAgICBpZiAob25Jbml0KSB7XG4gICAgICAgIG9uSW5pdCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAob25EZXN0cm95KSB7XG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3kob25EZXN0cm95KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2lnbmFsU3RvcmU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbml0aWFsSW5uZXJTdG9yZSgpOiBJbm5lclNpZ25hbFN0b3JlIHtcbiAgcmV0dXJuIHtcbiAgICBbU1RBVEVfU0lHTkFMXTogc2lnbmFsKHt9KSxcbiAgICBzdGF0ZVNpZ25hbHM6IHt9LFxuICAgIGNvbXB1dGVkU2lnbmFsczoge30sXG4gICAgbWV0aG9kczoge30sXG4gICAgaG9va3M6IHt9LFxuICB9O1xufVxuIl19
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL3NyYy9zaWduYWwtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFvQyxNQUFNLGdCQUFnQixDQUFDOztBQW94Q2hGLE1BQU0sVUFBVSxXQUFXLENBQ3pCLEdBQUcsSUFBeUU7SUFFNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBRWxDLE1BQU0sTUFBTSxHQUNWLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVU7UUFDdEMsQ0FBQyxDQUFDLEVBQUU7UUFDSixDQUFDLENBQUUsZUFBZSxDQUFDLEtBQUssRUFBd0IsQ0FBQztJQUNyRCxNQUFNLFFBQVEsR0FBRyxlQUF1QyxDQUFDO0lBRXpELE1BQ00sV0FBVztRQUNmO1lBQ0UsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FDaEMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQ2xDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7WUFDRixNQUFNLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQ3JFLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUV4RSxJQUFZLENBQUMsWUFBWSxDQUFDO2dCQUN6QixNQUFNLENBQUMsY0FBYyxLQUFLLEtBQUs7b0JBQzdCLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO29CQUMxQixDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRTVDLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQzlCLElBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBRXBDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxFQUFFLENBQUM7WUFDWCxDQUFDO1lBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDOzhIQTNCRyxXQUFXO2tJQUFYLFdBQVcsY0FEUyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUk7OytGQUM3QyxXQUFXO3NCQURoQixVQUFVO3VCQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFOztJQStCckQsT0FBTyxXQUFXLENBQUM7Q0FDcEI7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU87UUFDTCxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsWUFBWSxFQUFFLEVBQUU7UUFDaEIsZUFBZSxFQUFFLEVBQUU7UUFDbkIsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsRUFBRTtLQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNUQVRFX1NPVVJDRSwgU3RhdGVTb3VyY2UsIFdyaXRhYmxlU3RhdGVTb3VyY2UgfSBmcm9tICcuL3N0YXRlLXNvdXJjZSc7XG5pbXBvcnQge1xuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIElubmVyU2lnbmFsU3RvcmUsXG4gIFNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBTdGF0ZVNpZ25hbHMsXG59IGZyb20gJy4vc2lnbmFsLXN0b3JlLW1vZGVscyc7XG5pbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gJy4vdHMtaGVscGVycyc7XG5cbnR5cGUgU2lnbmFsU3RvcmVDb25maWcgPSB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlPzogYm9vbGVhbiB9O1xuXG50eXBlIFNpZ25hbFN0b3JlTWVtYmVyczxGZWF0dXJlUmVzdWx0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PiA9XG4gIFByZXR0aWZ5PFxuICAgIFN0YXRlU2lnbmFsczxGZWF0dXJlUmVzdWx0WydzdGF0ZSddPiAmXG4gICAgICBGZWF0dXJlUmVzdWx0Wydjb21wdXRlZCddICZcbiAgICAgIEZlYXR1cmVSZXN1bHRbJ21ldGhvZHMnXVxuICA+O1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8RjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxGMT4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxGMVsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMlxuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGM1xuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMiAmIEYzICYgRjRcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNCAmIEY1XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGN1xuPihcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjhcbj4oXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmXG4gICAgRjIgJlxuICAgIEYzICZcbiAgICBGNCAmXG4gICAgRjUgJlxuICAgIEY2ICZcbiAgICBGNyAmXG4gICAgRjggJlxuICAgIEY5XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEwIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJlxuICAgIEYyICZcbiAgICBGMyAmXG4gICAgRjQgJlxuICAgIEY1ICZcbiAgICBGNiAmXG4gICAgRjcgJlxuICAgIEY4ICZcbiAgICBGOSAmXG4gICAgRjEwXG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExXG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLCBGMTE+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjExIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmXG4gICAgRjIgJlxuICAgIEYzICZcbiAgICBGNCAmXG4gICAgRjUgJlxuICAgIEY2ICZcbiAgICBGNyAmXG4gICAgRjggJlxuICAgIEY5ICZcbiAgICBGMTAgJlxuICAgIEYxMSAmXG4gICAgRjEyXG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEwIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJlxuICAgIEYyICZcbiAgICBGMyAmXG4gICAgRjQgJlxuICAgIEY1ICZcbiAgICBGNiAmXG4gICAgRjcgJlxuICAgIEY4ICZcbiAgICBGOSAmXG4gICAgRjEwICZcbiAgICBGMTEgJlxuICAgIEYxMiAmXG4gICAgRjEzXG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID4sXG4gIGYxMzogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMixcbiAgICBGMTNcbiAgPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTIgJlxuICAgIEYxMyAmXG4gICAgRjE0XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID4sXG4gIGYxMzogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMixcbiAgICBGMTNcbiAgPixcbiAgZjE0OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyICYgRjEzLFxuICAgIEYxNFxuICA+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjExIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjE0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmXG4gICAgRjIgJlxuICAgIEYzICZcbiAgICBGNCAmXG4gICAgRjUgJlxuICAgIEY2ICZcbiAgICBGNyAmXG4gICAgRjggJlxuICAgIEY5ICZcbiAgICBGMTAgJlxuICAgIEYxMSAmXG4gICAgRjEyICZcbiAgICBGMTMgJlxuICAgIEYxNCAmXG4gICAgRjE1XG4+KFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID4sXG4gIGYxMzogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMixcbiAgICBGMTNcbiAgPixcbiAgZjE0OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyICYgRjEzLFxuICAgIEYxNFxuICA+LFxuICBmMTU6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIgJiBGMTMgJiBGMTQsXG4gICAgRjE1XG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlPzogdHJ1ZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxGMT4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxGMVsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMlxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlPzogdHJ1ZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMiAmIEYzXG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU/OiB0cnVlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU/OiB0cnVlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNCAmIEY1XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU/OiB0cnVlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjZcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjdcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjhcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjlcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCwgRjk+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMFxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlPzogdHJ1ZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExXG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU/OiB0cnVlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsIEY5PixcbiAgZjEwOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5LCBGMTA+LFxuICBmMTE6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAsIEYxMT5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEwIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTJcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCwgRjk+LFxuICBmMTA6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjksIEYxMD4sXG4gIGYxMTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCxcbiAgICBGMTFcbiAgPixcbiAgZjEyOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExLFxuICAgIEYxMlxuICA+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjkgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjExIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTIgJlxuICAgIEYxM1xuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlPzogdHJ1ZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID4sXG4gIGYxMzogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMixcbiAgICBGMTNcbiAgPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTIgJlxuICAgIEYxMyAmXG4gICAgRjE0XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU/OiB0cnVlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsIEY5PixcbiAgZjEwOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5LCBGMTA+LFxuICBmMTE6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAsXG4gICAgRjExXG4gID4sXG4gIGYxMjogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSxcbiAgICBGMTJcbiAgPixcbiAgZjEzOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyLFxuICAgIEYxM1xuICA+LFxuICBmMTQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIgJiBGMTMsXG4gICAgRjE0XG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjcgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY4IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEwIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTIgJlxuICAgIEYxMyAmXG4gICAgRjE0ICZcbiAgICBGMTVcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZT86IHRydWUgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCwgRjk+LFxuICBmMTA6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjksIEYxMD4sXG4gIGYxMTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCxcbiAgICBGMTFcbiAgPixcbiAgZjEyOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExLFxuICAgIEYxMlxuICA+LFxuICBmMTM6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIsXG4gICAgRjEzXG4gID4sXG4gIGYxNDogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMiAmIEYxMyxcbiAgICBGMTRcbiAgPixcbiAgZjE1OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyICYgRjEzICYgRjE0LFxuICAgIEYxNVxuICA+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdD4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZTogZmFsc2UgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8RjE+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxGMVsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJiBGMlxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBXcml0YWJsZVN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjNcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZTogZmFsc2UgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFdyaXRhYmxlU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNFxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmIEYyICYgRjMgJiBGNCAmIEY1XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU6IGZhbHNlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+XG4pOiBUeXBlPFNpZ25hbFN0b3JlTWVtYmVyczxSPiAmIFdyaXRhYmxlU3RhdGVTb3VyY2U8UHJldHRpZnk8Ulsnc3RhdGUnXT4+PjtcbmV4cG9ydCBmdW5jdGlvbiBzaWduYWxTdG9yZTxcbiAgRjEgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNlxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU6IGZhbHNlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PlxuKTogVHlwZTxTaWduYWxTdG9yZU1lbWJlcnM8Uj4gJiBXcml0YWJsZVN0YXRlU291cmNlPFByZXR0aWZ5PFJbJ3N0YXRlJ10+Pj47XG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmU8XG4gIEYxIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY0IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjYgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY3IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGOCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjhcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZTogZmFsc2UgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJlxuICAgIEYyICZcbiAgICBGMyAmXG4gICAgRjQgJlxuICAgIEY1ICZcbiAgICBGNiAmXG4gICAgRjcgJlxuICAgIEY4ICZcbiAgICBGOVxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmXG4gICAgRjIgJlxuICAgIEYzICZcbiAgICBGNCAmXG4gICAgRjUgJlxuICAgIEY2ICZcbiAgICBGNyAmXG4gICAgRjggJlxuICAgIEY5ICZcbiAgICBGMTBcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZTogZmFsc2UgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCwgRjk+LFxuICBmMTA6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjksIEYxMD5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExXG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU6IGZhbHNlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsIEY5PixcbiAgZjEwOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5LCBGMTA+LFxuICBmMTE6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAsIEYxMT5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJlxuICAgIEYyICZcbiAgICBGMyAmXG4gICAgRjQgJlxuICAgIEY1ICZcbiAgICBGNiAmXG4gICAgRjcgJlxuICAgIEY4ICZcbiAgICBGOSAmXG4gICAgRjEwICZcbiAgICBGMTEgJlxuICAgIEYxMlxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIFIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQgPSBGMSAmXG4gICAgRjIgJlxuICAgIEYzICZcbiAgICBGNCAmXG4gICAgRjUgJlxuICAgIEY2ICZcbiAgICBGNyAmXG4gICAgRjggJlxuICAgIEY5ICZcbiAgICBGMTAgJlxuICAgIEYxMSAmXG4gICAgRjEyICZcbiAgICBGMTNcbj4oXG4gIGNvbmZpZzogeyBwcm92aWRlZEluPzogJ3Jvb3QnOyBwcm90ZWN0ZWRTdGF0ZTogZmFsc2UgfSxcbiAgZjE6IFNpZ25hbFN0b3JlRmVhdHVyZTxFbXB0eUZlYXR1cmVSZXN1bHQsIEYxPixcbiAgZjI6IFNpZ25hbFN0b3JlRmVhdHVyZTx7fSAmIEYxLCBGMj4sXG4gIGYzOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiwgRjM+LFxuICBmNDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMywgRjQ+LFxuICBmNTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0LCBGNT4sXG4gIGY2OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSwgRjY+LFxuICBmNzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiwgRjc+LFxuICBmODogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3LCBGOD4sXG4gIGY5OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCwgRjk+LFxuICBmMTA6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjksIEYxMD4sXG4gIGYxMTogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCxcbiAgICBGMTFcbiAgPixcbiAgZjEyOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExLFxuICAgIEYxMlxuICA+LFxuICBmMTM6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIsXG4gICAgRjEzXG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgUiBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCA9IEYxICZcbiAgICBGMiAmXG4gICAgRjMgJlxuICAgIEY0ICZcbiAgICBGNSAmXG4gICAgRjYgJlxuICAgIEY3ICZcbiAgICBGOCAmXG4gICAgRjkgJlxuICAgIEYxMCAmXG4gICAgRjExICZcbiAgICBGMTIgJlxuICAgIEYxMyAmXG4gICAgRjE0XG4+KFxuICBjb25maWc6IHsgcHJvdmlkZWRJbj86ICdyb290JzsgcHJvdGVjdGVkU3RhdGU6IGZhbHNlIH0sXG4gIGYxOiBTaWduYWxTdG9yZUZlYXR1cmU8RW1wdHlGZWF0dXJlUmVzdWx0LCBGMT4sXG4gIGYyOiBTaWduYWxTdG9yZUZlYXR1cmU8e30gJiBGMSwgRjI+LFxuICBmMzogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIsIEYzPixcbiAgZjQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMsIEY0PixcbiAgZjU6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCwgRjU+LFxuICBmNjogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUsIEY2PixcbiAgZjc6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYsIEY3PixcbiAgZjg6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNywgRjg+LFxuICBmOTogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjgsIEY5PixcbiAgZjEwOiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5LCBGMTA+LFxuICBmMTE6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAsXG4gICAgRjExXG4gID4sXG4gIGYxMjogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSxcbiAgICBGMTJcbiAgPixcbiAgZjEzOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyLFxuICAgIEYxM1xuICA+LFxuICBmMTQ6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIgJiBGMTMsXG4gICAgRjE0XG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbFN0b3JlPFxuICBGMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjIgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYzIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY2IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGNyBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjggZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEY5IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTAgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxMSBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjEyIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBGMTMgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQsXG4gIEYxNCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgRjE1IGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBSIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0ID0gRjEgJlxuICAgIEYyICZcbiAgICBGMyAmXG4gICAgRjQgJlxuICAgIEY1ICZcbiAgICBGNiAmXG4gICAgRjcgJlxuICAgIEY4ICZcbiAgICBGOSAmXG4gICAgRjEwICZcbiAgICBGMTEgJlxuICAgIEYxMiAmXG4gICAgRjEzICZcbiAgICBGMTQgJlxuICAgIEYxNVxuPihcbiAgY29uZmlnOiB7IHByb3ZpZGVkSW4/OiAncm9vdCc7IHByb3RlY3RlZFN0YXRlOiBmYWxzZSB9LFxuICBmMTogU2lnbmFsU3RvcmVGZWF0dXJlPEVtcHR5RmVhdHVyZVJlc3VsdCwgRjE+LFxuICBmMjogU2lnbmFsU3RvcmVGZWF0dXJlPHt9ICYgRjEsIEYyPixcbiAgZjM6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyLCBGMz4sXG4gIGY0OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzLCBGND4sXG4gIGY1OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQsIEY1PixcbiAgZjY6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1LCBGNj4sXG4gIGY3OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2LCBGNz4sXG4gIGY4OiBTaWduYWxTdG9yZUZlYXR1cmU8RjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcsIEY4PixcbiAgZjk6IFNpZ25hbFN0b3JlRmVhdHVyZTxGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4LCBGOT4sXG4gIGYxMDogU2lnbmFsU3RvcmVGZWF0dXJlPEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSwgRjEwPixcbiAgZjExOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwLFxuICAgIEYxMVxuICA+LFxuICBmMTI6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEsXG4gICAgRjEyXG4gID4sXG4gIGYxMzogU2lnbmFsU3RvcmVGZWF0dXJlPFxuICAgIEYxICYgRjIgJiBGMyAmIEY0ICYgRjUgJiBGNiAmIEY3ICYgRjggJiBGOSAmIEYxMCAmIEYxMSAmIEYxMixcbiAgICBGMTNcbiAgPixcbiAgZjE0OiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gICAgRjEgJiBGMiAmIEYzICYgRjQgJiBGNSAmIEY2ICYgRjcgJiBGOCAmIEY5ICYgRjEwICYgRjExICYgRjEyICYgRjEzLFxuICAgIEYxNFxuICA+LFxuICBmMTU6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgICBGMSAmIEYyICYgRjMgJiBGNCAmIEY1ICYgRjYgJiBGNyAmIEY4ICYgRjkgJiBGMTAgJiBGMTEgJiBGMTIgJiBGMTMgJiBGMTQsXG4gICAgRjE1XG4gID5cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPFI+ICYgV3JpdGFibGVTdGF0ZVNvdXJjZTxQcmV0dGlmeTxSWydzdGF0ZSddPj4+O1xuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsU3RvcmUoXG4gIC4uLmFyZ3M6IFtTaWduYWxTdG9yZUNvbmZpZywgLi4uU2lnbmFsU3RvcmVGZWF0dXJlW11dIHwgU2lnbmFsU3RvcmVGZWF0dXJlW11cbik6IFR5cGU8U2lnbmFsU3RvcmVNZW1iZXJzPGFueT4+IHtcbiAgY29uc3Qgc2lnbmFsU3RvcmVBcmdzID0gWy4uLmFyZ3NdO1xuXG4gIGNvbnN0IGNvbmZpZyA9XG4gICAgdHlwZW9mIHNpZ25hbFN0b3JlQXJnc1swXSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyB7fVxuICAgICAgOiAoc2lnbmFsU3RvcmVBcmdzLnNoaWZ0KCkgYXMgU2lnbmFsU3RvcmVDb25maWcpO1xuICBjb25zdCBmZWF0dXJlcyA9IHNpZ25hbFN0b3JlQXJncyBhcyBTaWduYWxTdG9yZUZlYXR1cmVbXTtcblxuICBASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IGNvbmZpZy5wcm92aWRlZEluIHx8IG51bGwgfSlcbiAgY2xhc3MgU2lnbmFsU3RvcmUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgY29uc3QgaW5uZXJTdG9yZSA9IGZlYXR1cmVzLnJlZHVjZShcbiAgICAgICAgKHN0b3JlLCBmZWF0dXJlKSA9PiBmZWF0dXJlKHN0b3JlKSxcbiAgICAgICAgZ2V0SW5pdGlhbElubmVyU3RvcmUoKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHsgc3RhdGVTaWduYWxzLCBjb21wdXRlZFNpZ25hbHMsIG1ldGhvZHMsIGhvb2tzIH0gPSBpbm5lclN0b3JlO1xuICAgICAgY29uc3Qgc3RvcmVNZW1iZXJzID0geyAuLi5zdGF0ZVNpZ25hbHMsIC4uLmNvbXB1dGVkU2lnbmFscywgLi4ubWV0aG9kcyB9O1xuXG4gICAgICAodGhpcyBhcyBhbnkpW1NUQVRFX1NPVVJDRV0gPVxuICAgICAgICBjb25maWcucHJvdGVjdGVkU3RhdGUgPT09IGZhbHNlXG4gICAgICAgICAgPyBpbm5lclN0b3JlW1NUQVRFX1NPVVJDRV1cbiAgICAgICAgICA6IGlubmVyU3RvcmVbU1RBVEVfU09VUkNFXS5hc1JlYWRvbmx5KCk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHN0b3JlTWVtYmVycykge1xuICAgICAgICAodGhpcyBhcyBhbnkpW2tleV0gPSBzdG9yZU1lbWJlcnNba2V5XTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBvbkluaXQsIG9uRGVzdHJveSB9ID0gaG9va3M7XG5cbiAgICAgIGlmIChvbkluaXQpIHtcbiAgICAgICAgb25Jbml0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvbkRlc3Ryb3kpIHtcbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveShvbkRlc3Ryb3kpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTaWduYWxTdG9yZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxJbm5lclN0b3JlKCk6IElubmVyU2lnbmFsU3RvcmUge1xuICByZXR1cm4ge1xuICAgIFtTVEFURV9TT1VSQ0VdOiBzaWduYWwoe30pLFxuICAgIHN0YXRlU2lnbmFsczoge30sXG4gICAgY29tcHV0ZWRTaWduYWxzOiB7fSxcbiAgICBtZXRob2RzOiB7fSxcbiAgICBob29rczoge30sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { assertInInjectionContext, DestroyRef, inject, Injector, untracked, } from '@angular/core';
|
|
2
|
+
import { SIGNAL } from '@angular/core/primitives/signals';
|
|
3
|
+
const STATE_WATCHERS = new WeakMap();
|
|
4
|
+
export const STATE_SOURCE = Symbol('STATE_SOURCE');
|
|
5
|
+
export function patchState(stateSource, ...updaters) {
|
|
6
|
+
stateSource[STATE_SOURCE].update((currentState) => updaters.reduce((nextState, updater) => ({
|
|
7
|
+
...nextState,
|
|
8
|
+
...(typeof updater === 'function' ? updater(nextState) : updater),
|
|
9
|
+
}), currentState));
|
|
10
|
+
notifyWatchers(stateSource);
|
|
11
|
+
}
|
|
12
|
+
export function getState(stateSource) {
|
|
13
|
+
return stateSource[STATE_SOURCE]();
|
|
14
|
+
}
|
|
15
|
+
export function watchState(stateSource, watcher, config) {
|
|
16
|
+
if (!config?.injector) {
|
|
17
|
+
assertInInjectionContext(watchState);
|
|
18
|
+
}
|
|
19
|
+
const injector = config?.injector ?? inject(Injector);
|
|
20
|
+
const destroyRef = injector.get(DestroyRef);
|
|
21
|
+
addWatcher(stateSource, watcher);
|
|
22
|
+
watcher(getState(stateSource));
|
|
23
|
+
const destroy = () => removeWatcher(stateSource, watcher);
|
|
24
|
+
destroyRef.onDestroy(destroy);
|
|
25
|
+
return { destroy };
|
|
26
|
+
}
|
|
27
|
+
function getWatchers(stateSource) {
|
|
28
|
+
return STATE_WATCHERS.get(stateSource[STATE_SOURCE][SIGNAL]) || [];
|
|
29
|
+
}
|
|
30
|
+
function notifyWatchers(stateSource) {
|
|
31
|
+
const watchers = getWatchers(stateSource);
|
|
32
|
+
for (const watcher of watchers) {
|
|
33
|
+
const state = untracked(() => getState(stateSource));
|
|
34
|
+
watcher(state);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function addWatcher(stateSource, watcher) {
|
|
38
|
+
const watchers = getWatchers(stateSource);
|
|
39
|
+
STATE_WATCHERS.set(stateSource[STATE_SOURCE][SIGNAL], [
|
|
40
|
+
...watchers,
|
|
41
|
+
watcher,
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
function removeWatcher(stateSource, watcher) {
|
|
45
|
+
const watchers = getWatchers(stateSource);
|
|
46
|
+
STATE_WATCHERS.set(stateSource[STATE_SOURCE][SIGNAL], watchers.filter((w) => w !== watcher));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL3NyYy9zdGF0ZS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRzFELE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFvQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFrQm5ELE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQXVDLEVBQ3ZDLEdBQUcsUUFFRjtJQUVELFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUNoRCxRQUFRLENBQUMsTUFBTSxDQUNiLENBQUMsU0FBZ0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsR0FBRyxTQUFTO1FBQ1osR0FBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDbEUsQ0FBQyxFQUNGLFlBQVksQ0FDYixDQUNGLENBQUM7SUFFRixjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3RCLFdBQStCO0lBRS9CLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQStCLEVBQy9CLE9BQTRCLEVBQzVCLE1BQWdDO0lBRWhDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDdEIsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFNUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFL0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlCLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQ2xCLFdBQStCO0lBRS9CLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0UsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixXQUErQjtJQUUvQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFMUMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2pCLFdBQStCLEVBQy9CLE9BQTRCO0lBRTVCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxjQUFjLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQVcsRUFBRTtRQUM5RCxHQUFHLFFBQVE7UUFDWCxPQUFPO0tBQ1IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNwQixXQUErQixFQUMvQixPQUE0QjtJQUU1QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsY0FBYyxDQUFDLEdBQUcsQ0FDaEIsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBVyxFQUMzQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQ3RDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LFxuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBTaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0lHTkFMIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9wcmltaXRpdmVzL3NpZ25hbHMnO1xuaW1wb3J0IHsgUHJldHRpZnkgfSBmcm9tICcuL3RzLWhlbHBlcnMnO1xuXG5jb25zdCBTVEFURV9XQVRDSEVSUyA9IG5ldyBXZWFrTWFwPG9iamVjdCwgQXJyYXk8U3RhdGVXYXRjaGVyPGFueT4+PigpO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU09VUkNFID0gU3ltYm9sKCdTVEFURV9TT1VSQ0UnKTtcblxuZXhwb3J0IHR5cGUgV3JpdGFibGVTdGF0ZVNvdXJjZTxTdGF0ZSBleHRlbmRzIG9iamVjdD4gPSB7XG4gIFtTVEFURV9TT1VSQ0VdOiBXcml0YWJsZVNpZ25hbDxTdGF0ZT47XG59O1xuXG5leHBvcnQgdHlwZSBTdGF0ZVNvdXJjZTxTdGF0ZSBleHRlbmRzIG9iamVjdD4gPSB7XG4gIFtTVEFURV9TT1VSQ0VdOiBTaWduYWw8U3RhdGU+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFydGlhbFN0YXRlVXBkYXRlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4gPSAoXG4gIHN0YXRlOiBTdGF0ZVxuKSA9PiBQYXJ0aWFsPFN0YXRlPjtcblxuZXhwb3J0IHR5cGUgU3RhdGVXYXRjaGVyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PiA9IChcbiAgc3RhdGU6IE5vSW5mZXI8U3RhdGU+XG4pID0+IHZvaWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFN0YXRlPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgc3RhdGVTb3VyY2U6IFdyaXRhYmxlU3RhdGVTb3VyY2U8U3RhdGU+LFxuICAuLi51cGRhdGVyczogQXJyYXk8XG4gICAgUGFydGlhbDxQcmV0dGlmeTxTdGF0ZT4+IHwgUGFydGlhbFN0YXRlVXBkYXRlcjxQcmV0dGlmeTxTdGF0ZT4+XG4gID5cbik6IHZvaWQge1xuICBzdGF0ZVNvdXJjZVtTVEFURV9TT1VSQ0VdLnVwZGF0ZSgoY3VycmVudFN0YXRlKSA9PlxuICAgIHVwZGF0ZXJzLnJlZHVjZShcbiAgICAgIChuZXh0U3RhdGU6IFN0YXRlLCB1cGRhdGVyKSA9PiAoe1xuICAgICAgICAuLi5uZXh0U3RhdGUsXG4gICAgICAgIC4uLih0eXBlb2YgdXBkYXRlciA9PT0gJ2Z1bmN0aW9uJyA/IHVwZGF0ZXIobmV4dFN0YXRlKSA6IHVwZGF0ZXIpLFxuICAgICAgfSksXG4gICAgICBjdXJyZW50U3RhdGVcbiAgICApXG4gICk7XG5cbiAgbm90aWZ5V2F0Y2hlcnMoc3RhdGVTb3VyY2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdGU8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KFxuICBzdGF0ZVNvdXJjZTogU3RhdGVTb3VyY2U8U3RhdGU+XG4pOiBTdGF0ZSB7XG4gIHJldHVybiBzdGF0ZVNvdXJjZVtTVEFURV9TT1VSQ0VdKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXRjaFN0YXRlPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgc3RhdGVTb3VyY2U6IFN0YXRlU291cmNlPFN0YXRlPixcbiAgd2F0Y2hlcjogU3RhdGVXYXRjaGVyPFN0YXRlPixcbiAgY29uZmlnPzogeyBpbmplY3Rvcj86IEluamVjdG9yIH1cbik6IHsgZGVzdHJveSgpOiB2b2lkIH0ge1xuICBpZiAoIWNvbmZpZz8uaW5qZWN0b3IpIHtcbiAgICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQod2F0Y2hTdGF0ZSk7XG4gIH1cblxuICBjb25zdCBpbmplY3RvciA9IGNvbmZpZz8uaW5qZWN0b3IgPz8gaW5qZWN0KEluamVjdG9yKTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdG9yLmdldChEZXN0cm95UmVmKTtcblxuICBhZGRXYXRjaGVyKHN0YXRlU291cmNlLCB3YXRjaGVyKTtcbiAgd2F0Y2hlcihnZXRTdGF0ZShzdGF0ZVNvdXJjZSkpO1xuXG4gIGNvbnN0IGRlc3Ryb3kgPSAoKSA9PiByZW1vdmVXYXRjaGVyKHN0YXRlU291cmNlLCB3YXRjaGVyKTtcbiAgZGVzdHJveVJlZi5vbkRlc3Ryb3koZGVzdHJveSk7XG5cbiAgcmV0dXJuIHsgZGVzdHJveSB9O1xufVxuXG5mdW5jdGlvbiBnZXRXYXRjaGVyczxTdGF0ZSBleHRlbmRzIG9iamVjdD4oXG4gIHN0YXRlU291cmNlOiBTdGF0ZVNvdXJjZTxTdGF0ZT5cbik6IEFycmF5PFN0YXRlV2F0Y2hlcjxTdGF0ZT4+IHtcbiAgcmV0dXJuIFNUQVRFX1dBVENIRVJTLmdldChzdGF0ZVNvdXJjZVtTVEFURV9TT1VSQ0VdW1NJR05BTF0gYXMgb2JqZWN0KSB8fCBbXTtcbn1cblxuZnVuY3Rpb24gbm90aWZ5V2F0Y2hlcnM8U3RhdGUgZXh0ZW5kcyBvYmplY3Q+KFxuICBzdGF0ZVNvdXJjZTogU3RhdGVTb3VyY2U8U3RhdGU+XG4pOiB2b2lkIHtcbiAgY29uc3Qgd2F0Y2hlcnMgPSBnZXRXYXRjaGVycyhzdGF0ZVNvdXJjZSk7XG5cbiAgZm9yIChjb25zdCB3YXRjaGVyIG9mIHdhdGNoZXJzKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB1bnRyYWNrZWQoKCkgPT4gZ2V0U3RhdGUoc3RhdGVTb3VyY2UpKTtcbiAgICB3YXRjaGVyKHN0YXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRXYXRjaGVyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgc3RhdGVTb3VyY2U6IFN0YXRlU291cmNlPFN0YXRlPixcbiAgd2F0Y2hlcjogU3RhdGVXYXRjaGVyPFN0YXRlPlxuKTogdm9pZCB7XG4gIGNvbnN0IHdhdGNoZXJzID0gZ2V0V2F0Y2hlcnMoc3RhdGVTb3VyY2UpO1xuICBTVEFURV9XQVRDSEVSUy5zZXQoc3RhdGVTb3VyY2VbU1RBVEVfU09VUkNFXVtTSUdOQUxdIGFzIG9iamVjdCwgW1xuICAgIC4uLndhdGNoZXJzLFxuICAgIHdhdGNoZXIsXG4gIF0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVXYXRjaGVyPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgc3RhdGVTb3VyY2U6IFN0YXRlU291cmNlPFN0YXRlPixcbiAgd2F0Y2hlcjogU3RhdGVXYXRjaGVyPFN0YXRlPlxuKTogdm9pZCB7XG4gIGNvbnN0IHdhdGNoZXJzID0gZ2V0V2F0Y2hlcnMoc3RhdGVTb3VyY2UpO1xuICBTVEFURV9XQVRDSEVSUy5zZXQoXG4gICAgc3RhdGVTb3VyY2VbU1RBVEVfU09VUkNFXVtTSUdOQUxdIGFzIG9iamVjdCxcbiAgICB3YXRjaGVycy5maWx0ZXIoKHcpID0+IHcgIT09IHdhdGNoZXIpXG4gICk7XG59XG4iXX0=
|