valtech-components 4.0.633 → 4.0.634

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.
Files changed (23) hide show
  1. package/esm2022/lib/components/organisms/mini-games/chessimals-adventure.component.mjs +3 -1
  2. package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +20 -5
  3. package/esm2022/lib/version.mjs +2 -2
  4. package/esm2022/mini-games/public-api.mjs +5 -3
  5. package/fesm2022/valtech-components-mini-games.mjs +4 -2
  6. package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
  7. package/fesm2022/valtech-components.mjs +22 -5
  8. package/fesm2022/valtech-components.mjs.map +1 -1
  9. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
  10. package/lib/components/molecules/cta-card/cta-card.component.d.ts +1 -1
  11. package/lib/components/molecules/metric-card/metric-card.component.d.ts +1 -1
  12. package/lib/components/molecules/phone-display/phone-display.component.d.ts +1 -1
  13. package/lib/components/organisms/account-view/account-view.component.d.ts +1 -1
  14. package/lib/components/organisms/article/article.component.d.ts +1 -1
  15. package/lib/components/organisms/auth-cta/auth-cta.component.d.ts +1 -1
  16. package/lib/components/organisms/member-import-modal/member-import-modal.component.d.ts +1 -1
  17. package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +4 -1
  18. package/lib/components/organisms/mini-games/memory-game.component.d.ts +1 -1
  19. package/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.d.ts +1 -1
  20. package/lib/components/organisms/organization-view/organization-view.component.d.ts +1 -1
  21. package/lib/version.d.ts +1 -1
  22. package/mini-games/public-api.d.ts +1 -0
  23. package/package.json +1 -1
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.633';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC42MzMnO1xuIl19
5
+ export const VERSION = '4.0.634';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC42MzQnO1xuIl19
@@ -262,13 +262,15 @@ export class ChessimalsGamePageComponent {
262
262
  const difficulty = (p.get('difficulty') ??
263
263
  'normal');
264
264
  const boardSize = Number(p.get('boardSize') ?? 6);
265
+ const actId = p.get('actId') ?? undefined;
265
266
  // Only create a new object when the actual values change to avoid re-firing the @Input setter.
266
267
  if (this._adventureParams?.nodeId === nodeId &&
267
268
  this._adventureParams?.profileId === profileId &&
268
269
  this._adventureParams?.difficulty === difficulty &&
269
- this._adventureParams?.boardSize === boardSize)
270
+ this._adventureParams?.boardSize === boardSize &&
271
+ this._adventureParams?.actId === actId)
270
272
  return;
271
- this._adventureParams = { nodeId, profileId, difficulty, boardSize };
273
+ this._adventureParams = { nodeId, profileId, difficulty, boardSize, actId };
272
274
  }
273
275
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
274
276
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChessimalsGamePageComponent, isStandalone: true, selector: "val-chessimals-game-page", ngImport: i0, template: `
@@ -361,4 +363,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
361
363
  `,
362
364
  }]
363
365
  }] });
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFNUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHL0QsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFZNUMsTUFBTSxVQUFVLDZCQUE2QixDQUFDLE9BQXNDLEVBQUU7SUFDcEYsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNwRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBRTFCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsSUFBSTtZQUNKLFdBQVc7WUFDWCxTQUFTLEVBQUUsc0JBQXNCO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxDQUFDLElB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bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLDBCQUEwQixDQUFDO29CQUM5RCxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRjs7QUFnQkQsTUFBTSxPQUFPLHFDQUFxQztJQVZsRDtRQVdtQixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUNwRTsrR0FIWSxxQ0FBcUM7bUdBQXJDLHFDQUFxQywrRkFOdEM7Ozs7R0FJVCw0REFMUyx1QkFBdUIsK0lBekg3QiwwQkFBMEI7OzRGQWdJbkIscUNBQXFDO2tCQVZqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDOUQsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7O0FBZ0JELE1BQU0sT0FBTyxnQ0FBZ0M7K0dBQWhDLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlGQU5qQzs7OztHQUlULDREQUxTLDRCQUE0QixxRUF4SWxDLDBCQUEwQjs7NEZBK0luQixnQ0FBZ0M7a0JBVjVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixFQUFFLDBCQUEwQixDQUFDO29CQUNuRSxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBhdXRoR3VhcmQsXG4gIEJ1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCxcbiAgQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsXG4gIEkxOG5TZXJ2aWNlLFxuICBNZW1vcnlHYW1lQ29tcG9uZW50LFxuICBNaW5pR2FtZURlZmluaXRpb24sXG4gIE1pbmlHYW1lc01lbnVDb21wb25lbnQsXG4gIFBhZ2VDb250ZW50Q29tcG9uZW50LFxuICBQYWdlQ29udGVudE1ldGFkYXRhLFxuICBTaW1vbkdhbWVDb21wb25lbnQsXG59IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5cbmV4cG9ydCB7IE1pbmlHYW1lQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5leHBvcnQgdHlwZSB7IE1pbmlHYW1lQ2FsbG91dE1ldGFkYXRhLCBNaW5pR2FtZUNhbGxvdXRWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbmV4cG9ydCB7IE1pbmlHYW1lU2NvcmVQb3BDb21wb25lbnQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuZXhwb3J0IHR5cGUgeyBNaW5pR2FtZVNjb3JlUG9wTWV0YWRhdGEsIE1pbmlHYW1lU2NvcmVQb3BWYXJpYW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcblxuY29uc3QgTUlOSV9HQU1FU19CQVNFX1JPVVRFID0gJy9taW5pLWdhbWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoTWluaUdhbWVzUm91dGVzT3B0aW9ucyB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNhbkFjdGl2YXRlPzogUm91dGVbJ2NhbkFjdGl2YXRlJ107XG4gIGluY2x1ZGVNZW51PzogYm9vbGVhbjtcbiAgaW5jbHVkZU1lbW9yeT86IGJvb2xlYW47XG4gIGluY2x1ZGVTaW1vbj86IGJvb2xlYW47XG4gIGluY2x1ZGVCdWJibGVCbGl0ej86IGJvb2xlYW47XG4gIGluY2x1ZGVDaGVzc2ltYWxzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoTWluaUdhbWVzUm91dGVzKG9wdHM6IFZhbHRlY2hNaW5pR2FtZXNSb3V0ZXNPcHRpb25zID0ge30pOiBSb3V0ZXMge1xuICBjb25zdCBwYXRoID0gbm9ybWFsaXplTWluaUdhbWVzUm91dGVQYXRoKG9wdHMucGF0aCA/PyAnbWluaS1nYW1lcycpO1xuICBjb25zdCBjYW5BY3RpdmF0ZSA9IG9wdHMuY2FuQWN0aXZhdGUgPz8gW2F1dGhHdWFyZF07XG4gIGNvbnN0IHJvdXRlczogUm91dGVzID0gW107XG5cbiAgaWYgKG9wdHMuaW5jbHVkZU1lbnUgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGgsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWluaUdhbWVzUGFnZUNvbXBvbmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLmluY2x1ZGVNZW1vcnkgPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L21lbW9yeWAsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogTWVtb3J5R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlU2ltb24gPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L3NpbW9uYCxcbiAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgY29tcG9uZW50OiBTaW1vbkdhbWVQYWdlQ29tcG9uZW50LFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMuaW5jbHVkZUJ1YmJsZUJsaXR6ID8/IHRydWUpIHtcbiAgICByb3V0ZXMucHVzaCh7XG4gICAgICBwYXRoOiBgJHtwYXRofS9idWJibGUtYmxpdHpgLFxuICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICBjb21wb25lbnQ6IEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlQ2hlc3NpbWFscyA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHMvYWR2ZW50dXJlYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0FkdmVudHVyZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWQvcHJvamVjdGlvbmAsXG4gICAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgICBjb21wb25lbnQ6IENoZXNzaW1hbHNQcm9qZWN0aW9uR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzLzpnYW1lSWRgLFxuICAgICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgICAgY29tcG9uZW50OiBDaGVzc2ltYWxzT25saW5lR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtwYXRofS9jaGVzc2ltYWxzYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc0dhbWVQYWdlQ29tcG9uZW50LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcm91dGVzO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVNaW5pR2FtZXNSb3V0ZVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgJycpIHx8ICdtaW5pLWdhbWVzJztcbn1cblxuY29uc3QgTUlOSV9HQU1FU19QQUdFX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMgY29uIG11c2ljYSB5IGVmZWN0b3MgcmV0cm8uJyxcbiAgICBzaW1vblRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG1hcyBsYXJnb3MuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1cmJ1amEgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUmV2aWVudGEgZ3J1cG9zIGRlIGJ1cmJ1amFzIHkgZW5jYWRlbmEgY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnQ2FycmVyYSBkZSBwZW9uZXMgY29uIGNhcnRhcyBkZSBhbmltYWxlcy4nLFxuICB9LFxuICBlbjoge1xuICAgIG1lbW9yeVRpdGxlOiAnUmV0cm8gTWVtb3J5JyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0ZpbmQgbWF0Y2hpbmcgcGFpcnMgd2l0aCByZXRybyBtdXNpYyBhbmQgZWZmZWN0cy4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGVhdCBsaWdodHMgYW5kIHNvdW5kcyBpbiBsb25nZXIgc2VxdWVuY2VzLicsXG4gICAgYnViYmxlVGl0bGU6ICdCdWJibGUgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUG9wIGJ1YmJsZSBncm91cHMgYW5kIGNoYWluIGNvbWJvcy4nLFxuICAgIGNoZXNzaW1hbHNUaXRsZTogJ0NoZXNzaW1hbHMnLFxuICAgIGNoZXNzaW1hbHNEZXNjcmlwdGlvbjogJ1Bhd24gcmFjZSB3aXRoIGFuaW1hbCBwb3dlciBjYXJkcy4nLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZXMtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNaW5pR2FtZXNNZW51Q29tcG9uZW50LCBQYWdlQ29udGVudENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1wYWdlLWNvbnRlbnQgW3Byb3BzXT1cInBhZ2VDb250ZW50UHJvcHNcIj5cbiAgICAgIDxzZWN0aW9uIGNvbnRlbnQgY2xhc3M9XCJtaW5pLWdhbWVzLXBhZ2VcIj5cbiAgICAgICAgPHZhbC1taW5pLWdhbWVzLW1lbnUgW2dhbWVzXT1cImdhbWVzXCIgW2FzTW9kYWxdPVwiZmFsc2VcIiAoc2VsZWN0ZWQpPVwib3BlbkdhbWUoJGV2ZW50KVwiIC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lcy1wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDMycHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUdhbWVzUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgcGFnZUNvbnRlbnRQcm9wczogUGFnZUNvbnRlbnRNZXRhZGF0YSA9IHtcbiAgICBob21lUm91dGU6ICcvJyxcbiAgICBjb250ZW50TWF4V2lkdGg6ICdtZCcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfUEFHRV9JMThOKTtcbiAgfVxuXG4gIGdldCBnYW1lcygpOiBNaW5pR2FtZURlZmluaXRpb25bXSB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ2NoZXNzaW1hbHMnLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdjaGVzc2ltYWxzVGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnY2hlc3NpbWFsc0Rlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfimZ/vuI8nLFxuICAgICAgICBpbWFnZVNyYzogJ2Fzc2V0cy9nYW1lcy9jaGVzc2ltYWxzL2JyYW5kL2NoZXNzaW1hbHMtZW1ibGVtLnBuZycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2NoZXNzaW1hbHNgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdidWJibGUtYmxpdHonLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdidWJibGVUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdidWJibGVEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+rpycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2J1YmJsZS1ibGl0emAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21lbW9yeScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ21lbW9yeVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ21lbW9yeURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6egJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vbWVtb3J5YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2ltb24nLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdzaW1vblRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ3NpbW9uRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/CfjpvvuI8nLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9zaW1vbmAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvcGVuR2FtZShnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoZ2FtZS5yb3V0ZSkgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGdhbWUucm91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZS1wYWdlLXNoZWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lLXBhZ2Utc2hlbGwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnQge1xuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogTUlOSV9HQU1FU19CQVNFX1JPVVRFLFxuICAgIGNvbnRlbnRNYXhXaWR0aDogJ21kJyxcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1lbW9yeS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWVtb3J5R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLW1lbW9yeS1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE1lbW9yeUdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zaW1vbi1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2ltb25HYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtc2ltb24tZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1vbkdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idWJibGUtYmxpdHotZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0J1YmJsZUJsaXR6R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWJ1YmJsZS1ibGl0ei1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEJ1YmJsZUJsaXR6R2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFthZHZlbnR1cmVOb2RlXT1cImFkdmVudHVyZVBhcmFtc1wiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNHYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gIC8vIFN0YWJsZSByZWZlcmVuY2U6IG9ubHkgY3JlYXRlcyBhIG5ldyBvYmplY3Qgd2hlbiBwYXJhbXMgYWN0dWFsbHkgY2hhbmdlLlxuICAvLyBBIGdldHRlciByZXR1cm5pbmcgYSBuZXcgb2JqZWN0IGV2ZXJ5IENEIGN5Y2xlIHdvdWxkIHJlLWZpcmUgc3RhcnRBZHZlbnR1cmVCYXR0bGUuXG4gIC8vIElvbmljUm91dGVTdHJhdGVneSBjYWNoZXMgdGhpcyBjb21wb25lbnQsIHNvIHdlIHN1YnNjcmliZSB0byBxdWVyeVBhcmFtTWFwXG4gIC8vIHRvIHBpY2sgdXAgcGFyYW1zIG9uIHJlLW5hdmlnYXRpb24gd2l0aG91dCByZWx5aW5nIG9uIHRoZSBjb25zdHJ1Y3RvciBzbmFwc2hvdC5cbiAgcHJpdmF0ZSBfYWR2ZW50dXJlUGFyYW1zOlxuICAgIHwge1xuICAgICAgICBub2RlSWQ6IHN0cmluZztcbiAgICAgICAgcHJvZmlsZUlkOiBpbXBvcnQoJ3ZhbHRlY2gtY29tcG9uZW50cycpLkNoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gICAgICAgIGRpZmZpY3VsdHk6IGltcG9ydCgndmFsdGVjaC1jb21wb25lbnRzJykuQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gICAgICAgIGJvYXJkU2l6ZTogaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm9hcmRTaXplO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBhZHZlbnR1cmVQYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkdmVudHVyZVBhcmFtcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3N5bmNGcm9tUGFyYW1zKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcCk7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwID0+IHRoaXMuX3N5bmNGcm9tUGFyYW1zKHApKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNGcm9tUGFyYW1zKHA6IFBhcmFtTWFwKTogdm9pZCB7XG4gICAgY29uc3Qgbm9kZUlkID0gcC5nZXQoJ2FkdmVudHVyZU5vZGUnKSA/PyAnJztcbiAgICBpZiAoIW5vZGVJZCkge1xuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwcm9maWxlSWQgPSAocC5nZXQoJ3Byb2ZpbGVJZCcpID8/XG4gICAgICAnZXhwbG9yZXInKSBhcyBpbXBvcnQoJ3ZhbHRlY2gtY29tcG9uZW50cycpLkNoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gICAgY29uc3QgZGlmZmljdWx0eSA9IChwLmdldCgnZGlmZmljdWx0eScpID8/XG4gICAgICAnbm9ybWFsJykgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgICBjb25zdCBib2FyZFNpemUgPSBOdW1iZXIoXG4gICAgICBwLmdldCgnYm9hcmRTaXplJykgPz8gNlxuICAgICkgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm9hcmRTaXplO1xuICAgIC8vIE9ubHkgY3JlYXRlIGEgbmV3IG9iamVjdCB3aGVuIHRoZSBhY3R1YWwgdmFsdWVzIGNoYW5nZSB0byBhdm9pZCByZS1maXJpbmcgdGhlIEBJbnB1dCBzZXR0ZXIuXG4gICAgaWYgKFxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5ub2RlSWQgPT09IG5vZGVJZCAmJlxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5wcm9maWxlSWQgPT09IHByb2ZpbGVJZCAmJlxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5kaWZmaWN1bHR5ID09PSBkaWZmaWN1bHR5ICYmXG4gICAgICB0aGlzLl9hZHZlbnR1cmVQYXJhbXM/LmJvYXJkU2l6ZSA9PT0gYm9hcmRTaXplXG4gICAgKVxuICAgICAgcmV0dXJuO1xuICAgIHRoaXMuX2FkdmVudHVyZVBhcmFtcyA9IHsgbm9kZUlkLCBwcm9maWxlSWQsIGRpZmZpY3VsdHksIGJvYXJkU2l6ZSB9O1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLW9ubGluZS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1jaGVzc2ltYWxzLWdhbWUgW29ubGluZUdhbWVJZF09XCJnYW1lSWRcIiAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzT25saW5lR2FtZVBhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgZ2FtZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2dhbWVJZCcpID8/ICcnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hlc3NpbWFscy1wcm9qZWN0aW9uLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSBbb25saW5lR2FtZUlkXT1cImdhbWVJZFwiIFtwcm9qZWN0aW9uTW9kZV09XCJ0cnVlXCIgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc1Byb2plY3Rpb25HYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBnYW1lSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ2FtZUlkJykgPz8gJyc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLWFkdmVudHVyZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNBZHZlbnR1cmVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1jaGVzc2ltYWxzLWFkdmVudHVyZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzQWR2ZW50dXJlUGFnZUNvbXBvbmVudCB7fVxuIl19
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFNUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHL0QsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFZNUMsTUFBTSxVQUFVLDZCQUE2QixDQUFDLE9BQXNDLEVBQUU7SUFDcEYsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNwRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBRTFCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsSUFBSTtZQUNKLFdBQVc7WUFDWCxTQUFTLEVBQUUsc0JBQXNCO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxDQUFDLElB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGUsIFJvdXRlciwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGF1dGhHdWFyZCxcbiAgQnViYmxlQmxpdHpHYW1lQ29tcG9uZW50LFxuICBDaGVzc2ltYWxzQWR2ZW50dXJlQ29tcG9uZW50LFxuICBDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCxcbiAgSTE4blNlcnZpY2UsXG4gIE1lbW9yeUdhbWVDb21wb25lbnQsXG4gIE1pbmlHYW1lRGVmaW5pdGlvbixcbiAgTWluaUdhbWVzTWVudUNvbXBvbmVudCxcbiAgUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gIFBhZ2VDb250ZW50TWV0YWRhdGEsXG4gIFNpbW9uR2FtZUNvbXBvbmVudCxcbn0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcblxuZXhwb3J0IHsgTWluaUdhbWVDYWxsb3V0Q29tcG9uZW50IH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbmV4cG9ydCB0eXBlIHsgTWluaUdhbWVDYWxsb3V0TWV0YWRhdGEsIE1pbmlHYW1lQ2FsbG91dFZhcmlhbnQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuZXhwb3J0IHsgTWluaUdhbWVTY29yZVBvcENvbXBvbmVudCB9IGZyb20gJ3ZhbHRlY2gtY29tcG9uZW50cyc7XG5leHBvcnQgdHlwZSB7IE1pbmlHYW1lU2NvcmVQb3BNZXRhZGF0YSwgTWluaUdhbWVTY29yZVBvcFZhcmlhbnQgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuXG5jb25zdCBNSU5JX0dBTUVTX0JBU0VfUk9VVEUgPSAnL21pbmktZ2FtZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hNaW5pR2FtZXNSb3V0ZXNPcHRpb25zIHtcbiAgcGF0aD86IHN0cmluZztcbiAgY2FuQWN0aXZhdGU/OiBSb3V0ZVsnY2FuQWN0aXZhdGUnXTtcbiAgaW5jbHVkZU1lbnU/OiBib29sZWFuO1xuICBpbmNsdWRlTWVtb3J5PzogYm9vbGVhbjtcbiAgaW5jbHVkZVNpbW9uPzogYm9vbGVhbjtcbiAgaW5jbHVkZUJ1YmJsZUJsaXR6PzogYm9vbGVhbjtcbiAgaW5jbHVkZUNoZXNzaW1hbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hNaW5pR2FtZXNSb3V0ZXMob3B0czogVmFsdGVjaE1pbmlHYW1lc1JvdXRlc09wdGlvbnMgPSB7fSk6IFJvdXRlcyB7XG4gIGNvbnN0IHBhdGggPSBub3JtYWxpemVNaW5pR2FtZXNSb3V0ZVBhdGgob3B0cy5wYXRoID8/ICdtaW5pLWdhbWVzJyk7XG4gIGNvbnN0IGNhbkFjdGl2YXRlID0gb3B0cy5jYW5BY3RpdmF0ZSA/PyBbYXV0aEd1YXJkXTtcbiAgY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXTtcblxuICBpZiAob3B0cy5pbmNsdWRlTWVudSA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goe1xuICAgICAgcGF0aCxcbiAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgY29tcG9uZW50OiBNaW5pR2FtZXNQYWdlQ29tcG9uZW50LFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9wdHMuaW5jbHVkZU1lbW9yeSA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goe1xuICAgICAgcGF0aDogYCR7cGF0aH0vbWVtb3J5YCxcbiAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgY29tcG9uZW50OiBNZW1vcnlHYW1lUGFnZUNvbXBvbmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLmluY2x1ZGVTaW1vbiA/PyB0cnVlKSB7XG4gICAgcm91dGVzLnB1c2goe1xuICAgICAgcGF0aDogYCR7cGF0aH0vc2ltb25gLFxuICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICBjb21wb25lbnQ6IFNpbW9uR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5pbmNsdWRlQnViYmxlQmxpdHogPz8gdHJ1ZSkge1xuICAgIHJvdXRlcy5wdXNoKHtcbiAgICAgIHBhdGg6IGAke3BhdGh9L2J1YmJsZS1ibGl0emAsXG4gICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgIGNvbXBvbmVudDogQnViYmxlQmxpdHpHYW1lUGFnZUNvbXBvbmVudCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLmluY2x1ZGVDaGVzc2ltYWxzID8/IHRydWUpIHtcbiAgICByb3V0ZXMucHVzaChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7cGF0aH0vY2hlc3NpbWFscy9hZHZlbnR1cmVgLFxuICAgICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgICAgY29tcG9uZW50OiBDaGVzc2ltYWxzQWR2ZW50dXJlUGFnZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHMvOmdhbWVJZC9wcm9qZWN0aW9uYCxcbiAgICAgICAgY2FuQWN0aXZhdGUsXG4gICAgICAgIGNvbXBvbmVudDogQ2hlc3NpbWFsc1Byb2plY3Rpb25HYW1lUGFnZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHMvOmdhbWVJZGAsXG4gICAgICAgIGNhbkFjdGl2YXRlLFxuICAgICAgICBjb21wb25lbnQ6IENoZXNzaW1hbHNPbmxpbmVHYW1lUGFnZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IGAke3BhdGh9L2NoZXNzaW1hbHNgLFxuICAgICAgICBjYW5BY3RpdmF0ZSxcbiAgICAgICAgY29tcG9uZW50OiBDaGVzc2ltYWxzR2FtZVBhZ2VDb21wb25lbnQsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZXM7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZU1pbmlHYW1lc1JvdXRlUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCAnJykgfHwgJ21pbmktZ2FtZXMnO1xufVxuXG5jb25zdCBNSU5JX0dBTUVTX1BBR0VfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICBtZW1vcnlUaXRsZTogJ01lbW9yaWNlIFJldHJvJyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0VuY3VlbnRyYSBwYXJlcyBjb24gbXVzaWNhIHkgZWZlY3RvcyByZXRyby4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGl0ZSBsdWNlcyB5IHNvbmlkb3MgY2FkYSB2ZXogbWFzIGxhcmdvcy4nLFxuICAgIGJ1YmJsZVRpdGxlOiAnQnVyYnVqYSBCbGl0eicsXG4gICAgYnViYmxlRGVzY3JpcHRpb246ICdSZXZpZW50YSBncnVwb3MgZGUgYnVyYnVqYXMgeSBlbmNhZGVuYSBjb21ib3MuJyxcbiAgICBjaGVzc2ltYWxzVGl0bGU6ICdDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzRGVzY3JpcHRpb246ICdDYXJyZXJhIGRlIHBlb25lcyBjb24gY2FydGFzIGRlIGFuaW1hbGVzLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdSZXRybyBNZW1vcnknLFxuICAgIG1lbW9yeURlc2NyaXB0aW9uOiAnRmluZCBtYXRjaGluZyBwYWlycyB3aXRoIHJldHJvIG11c2ljIGFuZCBlZmZlY3RzLicsXG4gICAgc2ltb25UaXRsZTogJ1NpbW9uJyxcbiAgICBzaW1vbkRlc2NyaXB0aW9uOiAnUmVwZWF0IGxpZ2h0cyBhbmQgc291bmRzIGluIGxvbmdlciBzZXF1ZW5jZXMuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1YmJsZSBCbGl0eicsXG4gICAgYnViYmxlRGVzY3JpcHRpb246ICdQb3AgYnViYmxlIGdyb3VwcyBhbmQgY2hhaW4gY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnUGF3biByYWNlIHdpdGggYW5pbWFsIHBvd2VyIGNhcmRzLicsXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWluaS1nYW1lcy1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01pbmlHYW1lc01lbnVDb21wb25lbnQsIFBhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZXMtcGFnZVwiPlxuICAgICAgICA8dmFsLW1pbmktZ2FtZXMtbWVudSBbZ2FtZXNdPVwiZ2FtZXNcIiBbYXNNb2RhbF09XCJmYWxzZVwiIChzZWxlY3RlZCk9XCJvcGVuR2FtZSgkZXZlbnQpXCIgLz5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3ZhbC1wYWdlLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5taW5pLWdhbWVzLXBhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMzJweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNaW5pR2FtZXNQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogJy8nLFxuICAgIGNvbnRlbnRNYXhXaWR0aDogJ21kJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cygnTWluaUdhbWVzJywgTUlOSV9HQU1FU19QQUdFX0kxOE4pO1xuICB9XG5cbiAgZ2V0IGdhbWVzKCk6IE1pbmlHYW1lRGVmaW5pdGlvbltdIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnY2hlc3NpbWFscycsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ2NoZXNzaW1hbHNUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdjaGVzc2ltYWxzRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ+KZn++4jycsXG4gICAgICAgIGltYWdlU3JjOiAnYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvYnJhbmQvY2hlc3NpbWFscy1lbWJsZW0ucG5nJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vY2hlc3NpbWFsc2AsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2J1YmJsZS1ibGl0eicsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ2J1YmJsZVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2J1YmJsZURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6unJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vYnViYmxlLWJsaXR6YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWVtb3J5JyxcbiAgICAgICAgdGl0bGU6IHRoaXMudCgnbWVtb3J5VGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnbWVtb3J5RGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/Cfp6AnLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9tZW1vcnlgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdzaW1vbicsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ3NpbW9uVGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnc2ltb25EZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+Om++4jycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L3NpbW9uYCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG9wZW5HYW1lKGdhbWU6IE1pbmlHYW1lRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGlmIChnYW1lLnJvdXRlKSB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoZ2FtZS5yb3V0ZSk7XG4gIH1cblxuICBwcml2YXRlIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdNaW5pR2FtZXMnKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUGFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtcGFnZS1jb250ZW50IFtwcm9wc109XCJwYWdlQ29udGVudFByb3BzXCI+XG4gICAgICA8c2VjdGlvbiBjb250ZW50IGNsYXNzPVwibWluaS1nYW1lLXBhZ2Utc2hlbGxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3ZhbC1wYWdlLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5taW5pLWdhbWUtcGFnZS1zaGVsbCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDMycHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5jbGFzcyBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHBhZ2VDb250ZW50UHJvcHM6IFBhZ2VDb250ZW50TWV0YWRhdGEgPSB7XG4gICAgaG9tZVJvdXRlOiBNSU5JX0dBTUVTX0JBU0VfUk9VVEUsXG4gICAgY29udGVudE1heFdpZHRoOiAnbWQnLFxuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWVtb3J5LWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNZW1vcnlHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtbWVtb3J5LWdhbWUgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWVtb3J5R2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNpbW9uLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTaW1vbkdhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1zaW1vbi1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNpbW9uR2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1YmJsZS1ibGl0ei1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnViYmxlQmxpdHpHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtYnViYmxlLWJsaXR6LWdhbWUgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnViYmxlQmxpdHpHYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hlc3NpbWFscy1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1jaGVzc2ltYWxzLWdhbWUgW2FkdmVudHVyZU5vZGVdPVwiYWR2ZW50dXJlUGFyYW1zXCIgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0dhbWVQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgLy8gU3RhYmxlIHJlZmVyZW5jZTogb25seSBjcmVhdGVzIGEgbmV3IG9iamVjdCB3aGVuIHBhcmFtcyBhY3R1YWxseSBjaGFuZ2UuXG4gIC8vIEEgZ2V0dGVyIHJldHVybmluZyBhIG5ldyBvYmplY3QgZXZlcnkgQ0QgY3ljbGUgd291bGQgcmUtZmlyZSBzdGFydEFkdmVudHVyZUJhdHRsZS5cbiAgLy8gSW9uaWNSb3V0ZVN0cmF0ZWd5IGNhY2hlcyB0aGlzIGNvbXBvbmVudCwgc28gd2Ugc3Vic2NyaWJlIHRvIHF1ZXJ5UGFyYW1NYXBcbiAgLy8gdG8gcGljayB1cCBwYXJhbXMgb24gcmUtbmF2aWdhdGlvbiB3aXRob3V0IHJlbHlpbmcgb24gdGhlIGNvbnN0cnVjdG9yIHNuYXBzaG90LlxuICBwcml2YXRlIF9hZHZlbnR1cmVQYXJhbXM6XG4gICAgfCB7XG4gICAgICAgIG5vZGVJZDogc3RyaW5nO1xuICAgICAgICBwcm9maWxlSWQ6IGltcG9ydCgndmFsdGVjaC1jb21wb25lbnRzJykuQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgICAgICAgZGlmZmljdWx0eTogaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgICAgICAgYm9hcmRTaXplOiBpbXBvcnQoJ3ZhbHRlY2gtY29tcG9uZW50cycpLkNoZXNzaW1hbHNCb2FyZFNpemU7XG4gICAgICAgIGFjdElkPzogc3RyaW5nO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBhZHZlbnR1cmVQYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkdmVudHVyZVBhcmFtcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3N5bmNGcm9tUGFyYW1zKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcCk7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwID0+IHRoaXMuX3N5bmNGcm9tUGFyYW1zKHApKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNGcm9tUGFyYW1zKHA6IFBhcmFtTWFwKTogdm9pZCB7XG4gICAgY29uc3Qgbm9kZUlkID0gcC5nZXQoJ2FkdmVudHVyZU5vZGUnKSA/PyAnJztcbiAgICBpZiAoIW5vZGVJZCkge1xuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwcm9maWxlSWQgPSAocC5nZXQoJ3Byb2ZpbGVJZCcpID8/XG4gICAgICAnZXhwbG9yZXInKSBhcyBpbXBvcnQoJ3ZhbHRlY2gtY29tcG9uZW50cycpLkNoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gICAgY29uc3QgZGlmZmljdWx0eSA9IChwLmdldCgnZGlmZmljdWx0eScpID8/XG4gICAgICAnbm9ybWFsJykgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgICBjb25zdCBib2FyZFNpemUgPSBOdW1iZXIoXG4gICAgICBwLmdldCgnYm9hcmRTaXplJykgPz8gNlxuICAgICkgYXMgaW1wb3J0KCd2YWx0ZWNoLWNvbXBvbmVudHMnKS5DaGVzc2ltYWxzQm9hcmRTaXplO1xuICAgIGNvbnN0IGFjdElkID0gcC5nZXQoJ2FjdElkJykgPz8gdW5kZWZpbmVkO1xuICAgIC8vIE9ubHkgY3JlYXRlIGEgbmV3IG9iamVjdCB3aGVuIHRoZSBhY3R1YWwgdmFsdWVzIGNoYW5nZSB0byBhdm9pZCByZS1maXJpbmcgdGhlIEBJbnB1dCBzZXR0ZXIuXG4gICAgaWYgKFxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5ub2RlSWQgPT09IG5vZGVJZCAmJlxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5wcm9maWxlSWQgPT09IHByb2ZpbGVJZCAmJlxuICAgICAgdGhpcy5fYWR2ZW50dXJlUGFyYW1zPy5kaWZmaWN1bHR5ID09PSBkaWZmaWN1bHR5ICYmXG4gICAgICB0aGlzLl9hZHZlbnR1cmVQYXJhbXM/LmJvYXJkU2l6ZSA9PT0gYm9hcmRTaXplICYmXG4gICAgICB0aGlzLl9hZHZlbnR1cmVQYXJhbXM/LmFjdElkID09PSBhY3RJZFxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICB0aGlzLl9hZHZlbnR1cmVQYXJhbXMgPSB7IG5vZGVJZCwgcHJvZmlsZUlkLCBkaWZmaWN1bHR5LCBib2FyZFNpemUsIGFjdElkIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtb25saW5lLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSBbb25saW5lR2FtZUlkXT1cImdhbWVJZFwiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNPbmxpbmVHYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBnYW1lSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ2FtZUlkJykgPz8gJyc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLXByb2plY3Rpb24tZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFtvbmxpbmVHYW1lSWRdPVwiZ2FtZUlkXCIgW3Byb2plY3Rpb25Nb2RlXT1cInRydWVcIiAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzUHJvamVjdGlvbkdhbWVQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJlYWRvbmx5IGdhbWVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdnYW1lSWQnKSA/PyAnJztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNBZHZlbnR1cmVQYWdlQ29tcG9uZW50IHt9XG4iXX0=
@@ -262,13 +262,15 @@ class ChessimalsGamePageComponent {
262
262
  const difficulty = (p.get('difficulty') ??
263
263
  'normal');
264
264
  const boardSize = Number(p.get('boardSize') ?? 6);
265
+ const actId = p.get('actId') ?? undefined;
265
266
  // Only create a new object when the actual values change to avoid re-firing the @Input setter.
266
267
  if (this._adventureParams?.nodeId === nodeId &&
267
268
  this._adventureParams?.profileId === profileId &&
268
269
  this._adventureParams?.difficulty === difficulty &&
269
- this._adventureParams?.boardSize === boardSize)
270
+ this._adventureParams?.boardSize === boardSize &&
271
+ this._adventureParams?.actId === actId)
270
272
  return;
271
- this._adventureParams = { nodeId, profileId, difficulty, boardSize };
273
+ this._adventureParams = { nodeId, profileId, difficulty, boardSize, actId };
272
274
  }
273
275
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
274
276
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChessimalsGamePageComponent, isStandalone: true, selector: "val-chessimals-game-page", ngImport: i0, template: `
@@ -1 +1 @@
1
- {"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, ParamMap, Route, Router, Routes } from '@angular/router';\nimport {\n authGuard,\n BubbleBlitzGameComponent,\n ChessimalsAdventureComponent,\n ChessimalsGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nexport { MiniGameCalloutComponent } from 'valtech-components';\nexport type { MiniGameCalloutMetadata, MiniGameCalloutVariant } from 'valtech-components';\nexport { MiniGameScorePopComponent } from 'valtech-components';\nexport type { MiniGameScorePopMetadata, MiniGameScorePopVariant } from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nexport interface ValtechMiniGamesRoutesOptions {\n path?: string;\n canActivate?: Route['canActivate'];\n includeMenu?: boolean;\n includeMemory?: boolean;\n includeSimon?: boolean;\n includeBubbleBlitz?: boolean;\n includeChessimals?: boolean;\n}\n\nexport function provideValtechMiniGamesRoutes(opts: ValtechMiniGamesRoutesOptions = {}): Routes {\n const path = normalizeMiniGamesRoutePath(opts.path ?? 'mini-games');\n const canActivate = opts.canActivate ?? [authGuard];\n const routes: Routes = [];\n\n if (opts.includeMenu ?? true) {\n routes.push({\n path,\n canActivate,\n component: MiniGamesPageComponent,\n });\n }\n\n if (opts.includeMemory ?? true) {\n routes.push({\n path: `${path}/memory`,\n canActivate,\n component: MemoryGamePageComponent,\n });\n }\n\n if (opts.includeSimon ?? true) {\n routes.push({\n path: `${path}/simon`,\n canActivate,\n component: SimonGamePageComponent,\n });\n }\n\n if (opts.includeBubbleBlitz ?? true) {\n routes.push({\n path: `${path}/bubble-blitz`,\n canActivate,\n component: BubbleBlitzGamePageComponent,\n });\n }\n\n if (opts.includeChessimals ?? true) {\n routes.push(\n {\n path: `${path}/chessimals/adventure`,\n canActivate,\n component: ChessimalsAdventurePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId/projection`,\n canActivate,\n component: ChessimalsProjectionGamePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId`,\n canActivate,\n component: ChessimalsOnlineGamePageComponent,\n },\n {\n path: `${path}/chessimals`,\n canActivate,\n component: ChessimalsGamePageComponent,\n }\n );\n }\n\n return routes;\n}\n\nfunction normalizeMiniGamesRoutePath(path: string): string {\n return path.replace(/^\\/+|\\/+$/g, '') || 'mini-games';\n}\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/brand/chessimals-emblem.png',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [adventureNode]=\"adventureParams\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n\n // Stable reference: only creates a new object when params actually change.\n // A getter returning a new object every CD cycle would re-fire startAdventureBattle.\n // IonicRouteStrategy caches this component, so we subscribe to queryParamMap\n // to pick up params on re-navigation without relying on the constructor snapshot.\n private _adventureParams:\n | {\n nodeId: string;\n profileId: import('valtech-components').ChessimalsBotProfileId;\n difficulty: import('valtech-components').ChessimalsBotDifficulty;\n boardSize: import('valtech-components').ChessimalsBoardSize;\n }\n | undefined;\n\n get adventureParams() {\n return this._adventureParams;\n }\n\n constructor() {\n this._syncFromParams(this.route.snapshot.queryParamMap);\n this.route.queryParamMap.subscribe(p => this._syncFromParams(p));\n }\n\n private _syncFromParams(p: ParamMap): void {\n const nodeId = p.get('adventureNode') ?? '';\n if (!nodeId) {\n this._adventureParams = undefined;\n return;\n }\n const profileId = (p.get('profileId') ??\n 'explorer') as import('valtech-components').ChessimalsBotProfileId;\n const difficulty = (p.get('difficulty') ??\n 'normal') as import('valtech-components').ChessimalsBotDifficulty;\n const boardSize = Number(\n p.get('boardSize') ?? 6\n ) as import('valtech-components').ChessimalsBoardSize;\n // Only create a new object when the actual values change to avoid re-firing the @Input setter.\n if (\n this._adventureParams?.nodeId === nodeId &&\n this._adventureParams?.profileId === profileId &&\n this._adventureParams?.difficulty === difficulty &&\n this._adventureParams?.boardSize === boardSize\n )\n return;\n this._adventureParams = { nodeId, profileId, difficulty, boardSize };\n }\n}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-adventure-page',\n standalone: true,\n imports: [ChessimalsAdventureComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-adventure />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsAdventurePageComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, ParamMap, Route, Router, Routes } from '@angular/router';\nimport {\n authGuard,\n BubbleBlitzGameComponent,\n ChessimalsAdventureComponent,\n ChessimalsGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nexport { MiniGameCalloutComponent } from 'valtech-components';\nexport type { MiniGameCalloutMetadata, MiniGameCalloutVariant } from 'valtech-components';\nexport { MiniGameScorePopComponent } from 'valtech-components';\nexport type { MiniGameScorePopMetadata, MiniGameScorePopVariant } from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nexport interface ValtechMiniGamesRoutesOptions {\n path?: string;\n canActivate?: Route['canActivate'];\n includeMenu?: boolean;\n includeMemory?: boolean;\n includeSimon?: boolean;\n includeBubbleBlitz?: boolean;\n includeChessimals?: boolean;\n}\n\nexport function provideValtechMiniGamesRoutes(opts: ValtechMiniGamesRoutesOptions = {}): Routes {\n const path = normalizeMiniGamesRoutePath(opts.path ?? 'mini-games');\n const canActivate = opts.canActivate ?? [authGuard];\n const routes: Routes = [];\n\n if (opts.includeMenu ?? true) {\n routes.push({\n path,\n canActivate,\n component: MiniGamesPageComponent,\n });\n }\n\n if (opts.includeMemory ?? true) {\n routes.push({\n path: `${path}/memory`,\n canActivate,\n component: MemoryGamePageComponent,\n });\n }\n\n if (opts.includeSimon ?? true) {\n routes.push({\n path: `${path}/simon`,\n canActivate,\n component: SimonGamePageComponent,\n });\n }\n\n if (opts.includeBubbleBlitz ?? true) {\n routes.push({\n path: `${path}/bubble-blitz`,\n canActivate,\n component: BubbleBlitzGamePageComponent,\n });\n }\n\n if (opts.includeChessimals ?? true) {\n routes.push(\n {\n path: `${path}/chessimals/adventure`,\n canActivate,\n component: ChessimalsAdventurePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId/projection`,\n canActivate,\n component: ChessimalsProjectionGamePageComponent,\n },\n {\n path: `${path}/chessimals/:gameId`,\n canActivate,\n component: ChessimalsOnlineGamePageComponent,\n },\n {\n path: `${path}/chessimals`,\n canActivate,\n component: ChessimalsGamePageComponent,\n }\n );\n }\n\n return routes;\n}\n\nfunction normalizeMiniGamesRoutePath(path: string): string {\n return path.replace(/^\\/+|\\/+$/g, '') || 'mini-games';\n}\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/brand/chessimals-emblem.png',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [adventureNode]=\"adventureParams\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n\n // Stable reference: only creates a new object when params actually change.\n // A getter returning a new object every CD cycle would re-fire startAdventureBattle.\n // IonicRouteStrategy caches this component, so we subscribe to queryParamMap\n // to pick up params on re-navigation without relying on the constructor snapshot.\n private _adventureParams:\n | {\n nodeId: string;\n profileId: import('valtech-components').ChessimalsBotProfileId;\n difficulty: import('valtech-components').ChessimalsBotDifficulty;\n boardSize: import('valtech-components').ChessimalsBoardSize;\n actId?: string;\n }\n | undefined;\n\n get adventureParams() {\n return this._adventureParams;\n }\n\n constructor() {\n this._syncFromParams(this.route.snapshot.queryParamMap);\n this.route.queryParamMap.subscribe(p => this._syncFromParams(p));\n }\n\n private _syncFromParams(p: ParamMap): void {\n const nodeId = p.get('adventureNode') ?? '';\n if (!nodeId) {\n this._adventureParams = undefined;\n return;\n }\n const profileId = (p.get('profileId') ??\n 'explorer') as import('valtech-components').ChessimalsBotProfileId;\n const difficulty = (p.get('difficulty') ??\n 'normal') as import('valtech-components').ChessimalsBotDifficulty;\n const boardSize = Number(\n p.get('boardSize') ?? 6\n ) as import('valtech-components').ChessimalsBoardSize;\n const actId = p.get('actId') ?? undefined;\n // Only create a new object when the actual values change to avoid re-firing the @Input setter.\n if (\n this._adventureParams?.nodeId === nodeId &&\n this._adventureParams?.profileId === profileId &&\n this._adventureParams?.difficulty === difficulty &&\n this._adventureParams?.boardSize === boardSize &&\n this._adventureParams?.actId === actId\n )\n return;\n this._adventureParams = { nodeId, profileId, difficulty, boardSize, actId };\n }\n}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-adventure-page',\n standalone: true,\n imports: [ChessimalsAdventureComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-adventure />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsAdventurePageComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}