valtech-components 4.0.537 → 4.0.539
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/esm2022/lib/components/molecules/picker-v2/picker-v2.component.mjs +8 -4
- package/esm2022/lib/components/organisms/bottom-nav/side-nav-adapter.mjs +11 -0
- package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/chessimals-challenge-progress.service.mjs +45 -6
- package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +18 -1
- package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +804 -801
- package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +5 -3
- package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/mini-games-menu.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +97 -9
- package/esm2022/lib/components/organisms/mini-games/retro-audio.service.mjs +27 -1
- package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +3 -3
- package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
- package/esm2022/lib/services/forms/form-schema-builder.service.mjs +84 -1
- package/esm2022/lib/services/forms/types.mjs +8 -2
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/mini-games/public-api.mjs +2 -8
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/valtech-components-mini-games.mjs +1 -7
- package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
- package/fesm2022/valtech-components.mjs +1107 -827
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/media-object/media-object.component.d.ts +1 -1
- package/lib/components/molecules/phone-display/phone-display.component.d.ts +1 -1
- package/lib/components/molecules/picker-v2/picker-v2.component.d.ts +2 -2
- package/lib/components/organisms/bottom-nav/side-nav-adapter.d.ts +7 -0
- package/lib/components/organisms/mini-games/chessimals-challenge-progress.service.d.ts +4 -0
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +32 -1
- package/lib/components/organisms/mini-games/retro-audio.service.d.ts +2 -0
- package/lib/components/organisms/mini-games/types.d.ts +2 -0
- package/lib/services/forms/form-schema-builder.service.d.ts +15 -1
- package/lib/services/forms/types.d.ts +4 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/lib/assets/games/README.md +149 -0
- package/src/lib/assets/games/chessimals/brand/README.md +23 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-app-icon-192.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-app-icon-512.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-app-icon-capacitor.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-app-icon.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-emblem.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-favicon.png +0 -0
- package/src/lib/assets/games/chessimals/brand/chessimals-wordmark.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/ambusher.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/endgame.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/explorer.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/guardian.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/hunter.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/impulsive.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/jumper.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/locksmith.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/matriarch.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/oracle.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/predator.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/runner.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/sentinel.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/sprinter.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/storm.png +0 -0
- package/src/lib/assets/games/chessimals/challenge-avatars/strategist.png +0 -0
- package/src/lib/assets/games/chessimals/powers/README.md +12 -0
- package/src/lib/assets/games/chessimals/powers/bull-power.png +0 -0
- package/src/lib/assets/games/chessimals/powers/eagle-power.png +0 -0
- package/src/lib/assets/games/chessimals/powers/kangaroo-power.png +0 -0
- package/src/lib/assets/games/chessimals/powers/lion-power.png +0 -0
|
@@ -423,7 +423,7 @@ export class SimonGameComponent {
|
|
|
423
423
|
/>
|
|
424
424
|
</ng-template>
|
|
425
425
|
</ion-modal>
|
|
426
|
-
`, isInline: true, styles: [":host{display:block}.simon-shell{--simon-panel: var(--ion-card-background, #ffffff);--simon-border: var(--ion-border-color, #e7e4ea);--simon-text: var(--ion-color-dark, #2f2a3a);--simon-muted: var(--ion-color-medium, #6f6a7a);--simon-soft: rgba(var(--ion-color-primary-rgb, 255, 0, 178), .08);--simon-primary: var(--ion-color-primary, #ff00b2);--simon-secondary: var(--ion-color-tertiary, #6a2de2);display:grid;gap:18px;max-width:760px;margin:0 auto;color:var(--simon-text)}:host-context(html.ion-palette-dark) .simon-shell,:host-context([data-theme=\"dark\"]) .simon-shell{--simon-panel: #231f2d;--simon-border: rgba(255, 255, 255, .13);--simon-text: #fff8ff;--simon-muted: rgba(255, 248, 255, .68);--simon-soft: rgba(255, 255, 255, .07)}.simon-hero{display:grid;gap:10px;overflow:hidden;border-radius:28px;padding:clamp(28px,7vw,54px);background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.55),transparent 18%),linear-gradient(135deg,var(--simon-primary),var(--simon-secondary));color:#fff;text-align:center}.simon-hero__spark{font-size:1.8rem;letter-spacing:.2em}.simon-hero h1{margin:0;font-size:clamp(48px,14vw,86px);line-height:.9;font-weight:950}.simon-hero p,.simon-howto p,.simon-callout p,.simon-leaderboard p{margin:0;color:inherit;line-height:1.45}.simon-panel,.simon-game,.simon-leaderboard{display:grid;gap:16px;border:1px solid var(--simon-border);border-radius:26px;padding:clamp(16px,4vw,24px);background:var(--simon-panel)}.simon-howto{display:grid;gap:6px;padding:16px;border-radius:20px;background:var(--simon-soft)}.simon-howto h2,.simon-leaderboard h2{margin:0;color:var(--simon-text)}.simon-howto p,.simon-leaderboard p{color:var(--simon-muted)}.simon-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-modes button{display:grid;gap:6px;min-height:126px;padding:14px;border:1px solid var(--simon-border);border-radius:22px;background:var(--simon-panel);color:var(--simon-text);font:inherit;text-align:left}.simon-modes button.is-selected{border-color:var(--simon-primary);box-shadow:0 0 0 2px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.16)}.simon-modes strong{font-size:1rem;font-weight:950}.simon-modes small,.simon-status small,.simon-leaderboard small{color:var(--simon-muted)}.simon-primary,.simon-secondary{min-height:58px;border-radius:999px;font:inherit;font-weight:950}.simon-primary{border:0;background:var(--simon-primary);color:var(--ion-color-primary-contrast, #fff);box-shadow:0 18px 45px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.28)}.simon-secondary{border:1px solid var(--simon-border);background:transparent;color:var(--simon-text)}.simon-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-status div{display:grid;gap:2px;padding:14px;border-radius:18px;background:var(--simon-soft)}.simon-status strong{font-size:2rem;line-height:1}.simon-callout{display:grid;gap:4px;min-height:76px;align-content:center;padding:16px;border-radius:20px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);color:var(--simon-text);text-align:center}.simon-callout.is-failed{background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12)}.simon-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,480px);margin:0 auto}.simon-pad{aspect-ratio:1;border:0;border-radius:34px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.7),transparent 28%),var(--pad-color);color:#fff;font:inherit;font-size:clamp(28px,9vw,56px);font-weight:950;box-shadow:inset 0 -12px 22px #00000029,0 18px 42px color-mix(in srgb,var(--pad-color),transparent 68%);opacity:.82;transform:scale(.98);transition:opacity .14s ease,transform .14s ease,filter .14s ease}.simon-pad.is-active{opacity:1;filter:brightness(1.3) saturate(1.2);transform:scale(1.035)}.simon-board.is-locked .simon-pad:not(.is-active){opacity:.48}.simon-actions{position:sticky;bottom:10px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;padding-top:12px;background:linear-gradient(to bottom,transparent,var(--simon-panel) 28%)}.simon-menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:10px}.simon-leaderboard__title{display:flex;align-items:center;gap:10px}.simon-leaderboard__title ion-icon{color:var(--simon-primary);font-size:1.4rem}.simon-leaderboard ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.simon-leaderboard li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--simon-soft)}.simon-leaderboard li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(var(--ion-color-primary-rgb, 255, 0, 178),.18);color:var(--simon-primary);font-weight:950}@media (max-width: 560px){.simon-modes,.simon-status,.simon-actions,.simon-menu-actions{grid-template-columns:1fr}.simon-board{gap:10px}.simon-pad{border-radius:26px}}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }] }); }
|
|
426
|
+
`, isInline: true, styles: [":host{display:block;font-size:var(--val-mini-games-font-size, 1rem)}:host-context(body.font-small){--val-mini-games-font-size: .875rem}:host-context(body.font-large){--val-mini-games-font-size: 1.1875rem}.simon-shell{--simon-panel: var(--ion-card-background, #ffffff);--simon-border: var(--ion-border-color, #e7e4ea);--simon-text: var(--ion-color-dark, #2f2a3a);--simon-muted: var(--ion-color-medium, #6f6a7a);--simon-soft: rgba(var(--ion-color-primary-rgb, 255, 0, 178), .08);--simon-primary: var(--ion-color-primary, #ff00b2);--simon-secondary: var(--ion-color-tertiary, #6a2de2);display:grid;gap:18px;max-width:760px;margin:0 auto;color:var(--simon-text)}:host-context(html.ion-palette-dark) .simon-shell,:host-context([data-theme=\"dark\"]) .simon-shell{--simon-panel: #231f2d;--simon-border: rgba(255, 255, 255, .13);--simon-text: #fff8ff;--simon-muted: rgba(255, 248, 255, .68);--simon-soft: rgba(255, 255, 255, .07)}.simon-hero{display:grid;gap:10px;overflow:hidden;border-radius:28px;padding:clamp(28px,7vw,54px);background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.55),transparent 18%),linear-gradient(135deg,var(--simon-primary),var(--simon-secondary));color:#fff;text-align:center}.simon-hero__spark{font-size:1.8rem;letter-spacing:.2em}.simon-hero h1{margin:0;font-size:clamp(48px,14vw,86px);line-height:.9;font-weight:950}.simon-hero p,.simon-howto p,.simon-callout p,.simon-leaderboard p{margin:0;color:inherit;line-height:1.45}.simon-panel,.simon-game,.simon-leaderboard{display:grid;gap:16px;border:1px solid var(--simon-border);border-radius:26px;padding:clamp(16px,4vw,24px);background:var(--simon-panel)}.simon-howto{display:grid;gap:6px;padding:16px;border-radius:20px;background:var(--simon-soft)}.simon-howto h2,.simon-leaderboard h2{margin:0;color:var(--simon-text)}.simon-howto p,.simon-leaderboard p{color:var(--simon-muted)}.simon-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-modes button{display:grid;gap:6px;min-height:126px;padding:14px;border:1px solid var(--simon-border);border-radius:22px;background:var(--simon-panel);color:var(--simon-text);font:inherit;text-align:left}.simon-modes button.is-selected{border-color:var(--simon-primary);box-shadow:0 0 0 2px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.16)}.simon-modes strong{font-size:1rem;font-weight:950}.simon-modes small,.simon-status small,.simon-leaderboard small{color:var(--simon-muted)}.simon-primary,.simon-secondary{min-height:58px;border-radius:999px;font:inherit;font-weight:950}.simon-primary{border:0;background:var(--simon-primary);color:var(--ion-color-primary-contrast, #fff);box-shadow:0 18px 45px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.28)}.simon-secondary{border:1px solid var(--simon-border);background:transparent;color:var(--simon-text)}.simon-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-status div{display:grid;gap:2px;padding:14px;border-radius:18px;background:var(--simon-soft)}.simon-status strong{font-size:2rem;line-height:1}.simon-callout{display:grid;gap:4px;min-height:76px;align-content:center;padding:16px;border-radius:20px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);color:var(--simon-text);text-align:center}.simon-callout.is-failed{background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12)}.simon-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,480px);margin:0 auto}.simon-pad{aspect-ratio:1;border:0;border-radius:34px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.7),transparent 28%),var(--pad-color);color:#fff;font:inherit;font-size:clamp(28px,9vw,56px);font-weight:950;box-shadow:inset 0 -12px 22px #00000029,0 18px 42px color-mix(in srgb,var(--pad-color),transparent 68%);opacity:.82;transform:scale(.98);transition:opacity .14s ease,transform .14s ease,filter .14s ease}.simon-pad.is-active{opacity:1;filter:brightness(1.3) saturate(1.2);transform:scale(1.035)}.simon-board.is-locked .simon-pad:not(.is-active){opacity:.48}.simon-actions{position:sticky;bottom:10px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;padding-top:12px;background:linear-gradient(to bottom,transparent,var(--simon-panel) 28%)}.simon-menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:10px}.simon-leaderboard__title{display:flex;align-items:center;gap:10px}.simon-leaderboard__title ion-icon{color:var(--simon-primary);font-size:1.4rem}.simon-leaderboard ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.simon-leaderboard li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--simon-soft)}.simon-leaderboard li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(var(--ion-color-primary-rgb, 255, 0, 178),.18);color:var(--simon-primary);font-weight:950}@media (max-width: 560px){.simon-modes,.simon-status,.simon-actions,.simon-menu-actions{grid-template-columns:1fr}.simon-board{gap:10px}.simon-pad{border-radius:26px}}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }] }); }
|
|
427
427
|
}
|
|
428
428
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SimonGameComponent, decorators: [{
|
|
429
429
|
type: Component,
|
|
@@ -553,8 +553,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
553
553
|
/>
|
|
554
554
|
</ng-template>
|
|
555
555
|
</ion-modal>
|
|
556
|
-
`, styles: [":host{display:block}.simon-shell{--simon-panel: var(--ion-card-background, #ffffff);--simon-border: var(--ion-border-color, #e7e4ea);--simon-text: var(--ion-color-dark, #2f2a3a);--simon-muted: var(--ion-color-medium, #6f6a7a);--simon-soft: rgba(var(--ion-color-primary-rgb, 255, 0, 178), .08);--simon-primary: var(--ion-color-primary, #ff00b2);--simon-secondary: var(--ion-color-tertiary, #6a2de2);display:grid;gap:18px;max-width:760px;margin:0 auto;color:var(--simon-text)}:host-context(html.ion-palette-dark) .simon-shell,:host-context([data-theme=\"dark\"]) .simon-shell{--simon-panel: #231f2d;--simon-border: rgba(255, 255, 255, .13);--simon-text: #fff8ff;--simon-muted: rgba(255, 248, 255, .68);--simon-soft: rgba(255, 255, 255, .07)}.simon-hero{display:grid;gap:10px;overflow:hidden;border-radius:28px;padding:clamp(28px,7vw,54px);background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.55),transparent 18%),linear-gradient(135deg,var(--simon-primary),var(--simon-secondary));color:#fff;text-align:center}.simon-hero__spark{font-size:1.8rem;letter-spacing:.2em}.simon-hero h1{margin:0;font-size:clamp(48px,14vw,86px);line-height:.9;font-weight:950}.simon-hero p,.simon-howto p,.simon-callout p,.simon-leaderboard p{margin:0;color:inherit;line-height:1.45}.simon-panel,.simon-game,.simon-leaderboard{display:grid;gap:16px;border:1px solid var(--simon-border);border-radius:26px;padding:clamp(16px,4vw,24px);background:var(--simon-panel)}.simon-howto{display:grid;gap:6px;padding:16px;border-radius:20px;background:var(--simon-soft)}.simon-howto h2,.simon-leaderboard h2{margin:0;color:var(--simon-text)}.simon-howto p,.simon-leaderboard p{color:var(--simon-muted)}.simon-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-modes button{display:grid;gap:6px;min-height:126px;padding:14px;border:1px solid var(--simon-border);border-radius:22px;background:var(--simon-panel);color:var(--simon-text);font:inherit;text-align:left}.simon-modes button.is-selected{border-color:var(--simon-primary);box-shadow:0 0 0 2px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.16)}.simon-modes strong{font-size:1rem;font-weight:950}.simon-modes small,.simon-status small,.simon-leaderboard small{color:var(--simon-muted)}.simon-primary,.simon-secondary{min-height:58px;border-radius:999px;font:inherit;font-weight:950}.simon-primary{border:0;background:var(--simon-primary);color:var(--ion-color-primary-contrast, #fff);box-shadow:0 18px 45px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.28)}.simon-secondary{border:1px solid var(--simon-border);background:transparent;color:var(--simon-text)}.simon-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-status div{display:grid;gap:2px;padding:14px;border-radius:18px;background:var(--simon-soft)}.simon-status strong{font-size:2rem;line-height:1}.simon-callout{display:grid;gap:4px;min-height:76px;align-content:center;padding:16px;border-radius:20px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);color:var(--simon-text);text-align:center}.simon-callout.is-failed{background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12)}.simon-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,480px);margin:0 auto}.simon-pad{aspect-ratio:1;border:0;border-radius:34px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.7),transparent 28%),var(--pad-color);color:#fff;font:inherit;font-size:clamp(28px,9vw,56px);font-weight:950;box-shadow:inset 0 -12px 22px #00000029,0 18px 42px color-mix(in srgb,var(--pad-color),transparent 68%);opacity:.82;transform:scale(.98);transition:opacity .14s ease,transform .14s ease,filter .14s ease}.simon-pad.is-active{opacity:1;filter:brightness(1.3) saturate(1.2);transform:scale(1.035)}.simon-board.is-locked .simon-pad:not(.is-active){opacity:.48}.simon-actions{position:sticky;bottom:10px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;padding-top:12px;background:linear-gradient(to bottom,transparent,var(--simon-panel) 28%)}.simon-menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:10px}.simon-leaderboard__title{display:flex;align-items:center;gap:10px}.simon-leaderboard__title ion-icon{color:var(--simon-primary);font-size:1.4rem}.simon-leaderboard ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.simon-leaderboard li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--simon-soft)}.simon-leaderboard li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(var(--ion-color-primary-rgb, 255, 0, 178),.18);color:var(--simon-primary);font-weight:950}@media (max-width: 560px){.simon-modes,.simon-status,.simon-actions,.simon-menu-actions{grid-template-columns:1fr}.simon-board{gap:10px}.simon-pad{border-radius:26px}}\n"] }]
|
|
556
|
+
`, styles: [":host{display:block;font-size:var(--val-mini-games-font-size, 1rem)}:host-context(body.font-small){--val-mini-games-font-size: .875rem}:host-context(body.font-large){--val-mini-games-font-size: 1.1875rem}.simon-shell{--simon-panel: var(--ion-card-background, #ffffff);--simon-border: var(--ion-border-color, #e7e4ea);--simon-text: var(--ion-color-dark, #2f2a3a);--simon-muted: var(--ion-color-medium, #6f6a7a);--simon-soft: rgba(var(--ion-color-primary-rgb, 255, 0, 178), .08);--simon-primary: var(--ion-color-primary, #ff00b2);--simon-secondary: var(--ion-color-tertiary, #6a2de2);display:grid;gap:18px;max-width:760px;margin:0 auto;color:var(--simon-text)}:host-context(html.ion-palette-dark) .simon-shell,:host-context([data-theme=\"dark\"]) .simon-shell{--simon-panel: #231f2d;--simon-border: rgba(255, 255, 255, .13);--simon-text: #fff8ff;--simon-muted: rgba(255, 248, 255, .68);--simon-soft: rgba(255, 255, 255, .07)}.simon-hero{display:grid;gap:10px;overflow:hidden;border-radius:28px;padding:clamp(28px,7vw,54px);background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.55),transparent 18%),linear-gradient(135deg,var(--simon-primary),var(--simon-secondary));color:#fff;text-align:center}.simon-hero__spark{font-size:1.8rem;letter-spacing:.2em}.simon-hero h1{margin:0;font-size:clamp(48px,14vw,86px);line-height:.9;font-weight:950}.simon-hero p,.simon-howto p,.simon-callout p,.simon-leaderboard p{margin:0;color:inherit;line-height:1.45}.simon-panel,.simon-game,.simon-leaderboard{display:grid;gap:16px;border:1px solid var(--simon-border);border-radius:26px;padding:clamp(16px,4vw,24px);background:var(--simon-panel)}.simon-howto{display:grid;gap:6px;padding:16px;border-radius:20px;background:var(--simon-soft)}.simon-howto h2,.simon-leaderboard h2{margin:0;color:var(--simon-text)}.simon-howto p,.simon-leaderboard p{color:var(--simon-muted)}.simon-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-modes button{display:grid;gap:6px;min-height:126px;padding:14px;border:1px solid var(--simon-border);border-radius:22px;background:var(--simon-panel);color:var(--simon-text);font:inherit;text-align:left}.simon-modes button.is-selected{border-color:var(--simon-primary);box-shadow:0 0 0 2px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.16)}.simon-modes strong{font-size:1rem;font-weight:950}.simon-modes small,.simon-status small,.simon-leaderboard small{color:var(--simon-muted)}.simon-primary,.simon-secondary{min-height:58px;border-radius:999px;font:inherit;font-weight:950}.simon-primary{border:0;background:var(--simon-primary);color:var(--ion-color-primary-contrast, #fff);box-shadow:0 18px 45px rgba(var(--ion-color-primary-rgb, 255, 0, 178),.28)}.simon-secondary{border:1px solid var(--simon-border);background:transparent;color:var(--simon-text)}.simon-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simon-status div{display:grid;gap:2px;padding:14px;border-radius:18px;background:var(--simon-soft)}.simon-status strong{font-size:2rem;line-height:1}.simon-callout{display:grid;gap:4px;min-height:76px;align-content:center;padding:16px;border-radius:20px;background:rgba(var(--ion-color-success-rgb, 45, 211, 111),.12);color:var(--simon-text);text-align:center}.simon-callout.is-failed{background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12)}.simon-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,480px);margin:0 auto}.simon-pad{aspect-ratio:1;border:0;border-radius:34px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.7),transparent 28%),var(--pad-color);color:#fff;font:inherit;font-size:clamp(28px,9vw,56px);font-weight:950;box-shadow:inset 0 -12px 22px #00000029,0 18px 42px color-mix(in srgb,var(--pad-color),transparent 68%);opacity:.82;transform:scale(.98);transition:opacity .14s ease,transform .14s ease,filter .14s ease}.simon-pad.is-active{opacity:1;filter:brightness(1.3) saturate(1.2);transform:scale(1.035)}.simon-board.is-locked .simon-pad:not(.is-active){opacity:.48}.simon-actions{position:sticky;bottom:10px;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;padding-top:12px;background:linear-gradient(to bottom,transparent,var(--simon-panel) 28%)}.simon-menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:10px}.simon-leaderboard__title{display:flex;align-items:center;gap:10px}.simon-leaderboard__title ion-icon{color:var(--simon-primary);font-size:1.4rem}.simon-leaderboard ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.simon-leaderboard li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--simon-soft)}.simon-leaderboard li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(var(--ion-color-primary-rgb, 255, 0, 178),.18);color:var(--simon-primary);font-weight:950}@media (max-width: 560px){.simon-modes,.simon-status,.simon-actions,.simon-menu-actions{grid-template-columns:1fr}.simon-board{gap:10px}.simon-pad{border-radius:26px}}\n"] }]
|
|
557
557
|
}], ctorParameters: () => [], propDecorators: { miniGamesRoute: [{
|
|
558
558
|
type: Input
|
|
559
559
|
}] } });
|
|
560
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltb24tZ2FtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvc2ltb24tZ2FtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFHM0YsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQWdCNUIsTUFBTSxXQUFXLEdBQTJDO0lBQzFELEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUU7SUFDNUQsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRTtJQUNwRSxLQUFLLEVB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QUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsQ0FBQzsrR0FoVFUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0hBN2FuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEhULGc1SkEvSFMsT0FBTywySkFBRSxRQUFRLHNEQUFFLG9CQUFvQjs7NEZBOGF0QyxrQkFBa0I7a0JBamI5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsWUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThIVDt3REFzVFEsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uTW9kYWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgdHJvcGh5T3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7IFJldHJvQXVkaW9TZXJ2aWNlIH0gZnJvbSAnLi9yZXRyby1hdWRpby5zZXJ2aWNlJztcbmltcG9ydCB7IFNpbW9uR2FtZU1vZGUsIFNpbW9uR2FtZVBoYXNlLCBTaW1vblBhZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgTW9kYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbW9kYWwtbGF5b3V0L21vZGFsLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmFkZEljb25zKHsgdHJvcGh5T3V0bGluZSB9KTtcblxuaW50ZXJmYWNlIFNpbW9uTW9kZUNvbmZpZyB7XG4gIG1vZGU6IFNpbW9uR2FtZU1vZGU7XG4gIHNob3dNczogbnVtYmVyO1xuICBnYXBNczogbnVtYmVyO1xuICBzdGFydFN0ZXBzOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTaW1vbkxlYWRlcmJvYXJkRW50cnkge1xuICBtb2RlOiBTaW1vbkdhbWVNb2RlO1xuICByb3VuZDogbnVtYmVyO1xuICBzdGVwczogbnVtYmVyO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuY29uc3QgU0lNT05fTU9ERVM6IFJlY29yZDxTaW1vbkdhbWVNb2RlLCBTaW1vbk1vZGVDb25maWc+ID0ge1xuICBraWQ6IHsgbW9kZTogJ2tpZCcsIHNob3dNczogNzIwLCBnYXBNczogMjgwLCBzdGFydFN0ZXBzOiAxIH0sXG4gIGNsYXNzaWM6IHsgbW9kZTogJ2NsYXNzaWMnLCBzaG93TXM6IDUyMCwgZ2FwTXM6IDIxMCwgc3RhcnRTdGVwczogMSB9LFxuICBuaW5qYTogeyBtb2RlOiAnbmluamEnLCBzaG93TXM6IDM0MCwgZ2FwTXM6IDE1MCwgc3RhcnRTdGVwczogMiB9LFxufTtcblxuY29uc3QgU0lNT05fUEFEUzogU2ltb25QYWRbXSA9IFtcbiAgeyBpZDogJ3BpbmsnLCBsYWJlbDogJzEnLCBjb2xvcjogJyNmZjAwYjInLCB0b25lOiAzMjkuNjMgfSxcbiAgeyBpZDogJ2N5YW4nLCBsYWJlbDogJzInLCBjb2xvcjogJyMwMGJjZDQnLCB0b25lOiAzOTIgfSxcbiAgeyBpZDogJ3llbGxvdycsIGxhYmVsOiAnMycsIGNvbG9yOiAnI2ZmYzQwOScsIHRvbmU6IDQ5My44OCB9LFxuICB7IGlkOiAncHVycGxlJywgbGFiZWw6ICc0JywgY29sb3I6ICcjNmEyZGUyJywgdG9uZTogNjU5LjI1IH0sXG5dO1xuXG5jb25zdCBMRUFERVJCT0FSRF9LRVkgPSAndmFsLW1pbmktZ2FtZXMtc2ltb24tbGVhZGVyYm9hcmQ6djEnO1xudHlwZSBTaW1vbkNvbmZpcm1BY3Rpb24gPSAncmVzdGFydCcgfCAnbW9kZScgfCAnZ2FtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2ltb24tZ2FtZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25JY29uLCBJb25Nb2RhbCwgTW9kYWxMYXlvdXRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYWluIGNsYXNzPVwic2ltb24tc2hlbGxcIj5cbiAgICAgIEBpZiAocGhhc2UoKSA9PT0gJ2hvbWUnKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2ltb24taGVyb1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2ltb24taGVyb19fc3BhcmtcIj7il48g4pePIOKXjyDil488L3NwYW4+XG4gICAgICAgICAgPGgxPnt7IHQoJ3NpbW9uSG9tZVRpdGxlJykgfX08L2gxPlxuICAgICAgICAgIDxwPnt7IHQoJ3NpbW9uSG9tZVN1YnRpdGxlJykgfX08L3A+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInNpbW9uLXBhbmVsXCI+XG4gICAgICAgICAgPGFydGljbGUgY2xhc3M9XCJzaW1vbi1ob3d0b1wiPlxuICAgICAgICAgICAgPGgyPnt7IHQoJ3NpbW9uSG93VG9UaXRsZScpIH19PC9oMj5cbiAgICAgICAgICAgIDxwPnt7IHQoJ3NpbW9uSG93VG9Cb2R5JykgfX08L3A+XG4gICAgICAgICAgPC9hcnRpY2xlPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLW1vZGVzXCIgcm9sZT1cInJhZGlvZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ21vZGVUaXRsZScpXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1vZGVzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwibW9kZSgpID09PSBpdGVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9kZShpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IG1vZGVUaXRsZShpdGVtKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzbWFsbD57eyBtb2RlRGVzY3JpcHRpb24oaXRlbSkgfX08L3NtYWxsPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzaW1vbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdGFydCgpXCI+e3sgdCgnc2ltb25TdGFydCcpIH19PC9idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLW1lbnUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVxdWVzdENoYW5nZUdhbWUoKVwiPlxuICAgICAgICAgICAgICB7eyB0KCdjaGFuZ2VHYW1lJykgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzaW1vbi1nYW1lXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHNtYWxsPnt7IHQoJ3NpbW9uUm91bmQnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgcm91bmQoKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgnc2ltb25TdGVwcycpIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBzZXF1ZW5jZSgpLmxlbmd0aCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgnc2ltb25CZXN0Um91bmQnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYmVzdFJvdW5kKCkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLWNhbGxvdXRcIiBbY2xhc3MuaXMtZmFpbGVkXT1cInBoYXNlKCkgPT09ICdmYWlsZWQnXCI+XG4gICAgICAgICAgICBAaWYgKHBoYXNlKCkgPT09ICdzaG93aW5nJykge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ3NpbW9uV2F0Y2gnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAocGhhc2UoKSA9PT0gJ3dhaXRpbmcnKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnc2ltb25SZXBlYXQnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAocGhhc2UoKSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnc2ltb25Hb29kJykgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ3NpbW9uRmFpbGVkJykgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPHA+e3sgZmFpbEJvZHkoKSB9fTwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1vbi1ib2FyZFwiIFtjbGFzcy5pcy1sb2NrZWRdPVwicGhhc2UoKSAhPT0gJ3dhaXRpbmcnXCI+XG4gICAgICAgICAgICBAZm9yIChwYWQgb2YgcGFkczsgdHJhY2sgcGFkLmlkKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpbW9uLXBhZFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLi0tcGFkLWNvbG9yXT1cInBhZC5jb2xvclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWFjdGl2ZV09XCJhY3RpdmVQYWQoKSA9PT0gcGFkLmlkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGhhc2UoKSAhPT0gJ3dhaXRpbmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGFwKHBhZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgcGFkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1vbi1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2ltb24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXF1ZXN0Q2hhbmdlTW9kZSgpXCI+e3sgdCgnYmFja1RvU2V0dXAnKSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVxdWVzdENoYW5nZUdhbWUoKVwiPnt7IHQoJ2NoYW5nZUdhbWUnKSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlcXVlc3RSZXN0YXJ0R2FtZSgpXCI+e3sgdCgncmVzdGFydCcpIH19PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzaW1vbi1sZWFkZXJib2FyZFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2ltb24tbGVhZGVyYm9hcmRfX3RpdGxlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cm9waHktb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGgyPnt7IGxlYWRlcmJvYXJkSGVhZGluZygpIH19PC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAobW9kZUxlYWRlcmJvYXJkKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPHA+e3sgdCgnc2ltb25MZWFkZXJib2FyZEVtcHR5JykgfX08L3A+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG1vZGVMZWFkZXJib2FyZCgpOyB0cmFjayBlbnRyeS5jcmVhdGVkQXQpIHtcbiAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICRpbmRleCArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBzY29yZVRleHQoZW50cnkpIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPHNtYWxsPnt7IGRhdGVUZXh0KGVudHJ5LmNyZWF0ZWRBdCkgfX08L3NtYWxsPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvb2w+XG4gICAgICAgIH1cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L21haW4+XG5cbiAgICA8aW9uLW1vZGFsXG4gICAgICBbaXNPcGVuXT1cIiEhY29uZmlybUFjdGlvbigpXCJcbiAgICAgIGNzc0NsYXNzPVwidmFsLW1vZGFsLWFkYXB0aXZlXCJcbiAgICAgIChkaWREaXNtaXNzKT1cImhhbmRsZUNvbmZpcm1Nb2RhbERpc21pc3NlZCgpXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDx2YWwtbW9kYWwtbGF5b3V0XG4gICAgICAgICAgW3RpdGxlXT1cImNvbmZpcm1UaXRsZSgpXCJcbiAgICAgICAgICBbc3VidGl0bGVdPVwiY29uZmlybUJvZHkoKVwiXG4gICAgICAgICAgW2Nsb3NlTGFiZWxdPVwidCgnY2xvc2UnKVwiXG4gICAgICAgICAgW2FjdGlvbnNdPVwiY29uZmlybUFjdGlvbnMoKVwiXG4gICAgICAgICAgYWN0aW9uc0FsaWduPVwiZW5kXCJcbiAgICAgICAgICAoY2xvc2UpPVwiY2xvc2VDb25maXJtTW9kYWwoKVwiXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNvbmZpcm1QZW5kaW5nQWN0aW9uKCRldmVudC5hY3Rpb24/LnRva2VuKVwiXG4gICAgICAgIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLW1vZGFsPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tc2hlbGwge1xuICAgICAgICAtLXNpbW9uLXBhbmVsOiB2YXIoLS1pb24tY2FyZC1iYWNrZ3JvdW5kLCAjZmZmZmZmKTtcbiAgICAgICAgLS1zaW1vbi1ib3JkZXI6IHZhcigtLWlvbi1ib3JkZXItY29sb3IsICNlN2U0ZWEpO1xuICAgICAgICAtLXNpbW9uLXRleHQ6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjMmYyYTNhKTtcbiAgICAgICAgLS1zaW1vbi1tdXRlZDogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzZmNmE3YSk7XG4gICAgICAgIC0tc2ltb24tc29mdDogcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4wOCk7XG4gICAgICAgIC0tc2ltb24tcHJpbWFyeTogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICNmZjAwYjIpO1xuICAgICAgICAtLXNpbW9uLXNlY29uZGFyeTogdmFyKC0taW9uLWNvbG9yLXRlcnRpYXJ5LCAjNmEyZGUyKTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxOHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgY29sb3I6IHZhcigtLXNpbW9uLXRleHQpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLnNpbW9uLXNoZWxsLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuc2ltb24tc2hlbGwge1xuICAgICAgICAtLXNpbW9uLXBhbmVsOiAjMjMxZjJkO1xuICAgICAgICAtLXNpbW9uLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKTtcbiAgICAgICAgLS1zaW1vbi10ZXh0OiAjZmZmOGZmO1xuICAgICAgICAtLXNpbW9uLW11dGVkOiByZ2JhKDI1NSwgMjQ4LCAyNTUsIDAuNjgpO1xuICAgICAgICAtLXNpbW9uLXNvZnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNyk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1oZXJvIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgyOHB4LCA3dncsIDU0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjAlIDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSwgdHJhbnNwYXJlbnQgMTglKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zaW1vbi1wcmltYXJ5KSwgdmFyKC0tc2ltb24tc2Vjb25kYXJ5KSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1oZXJvX19zcGFyayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1oZXJvIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDQ4cHgsIDE0dncsIDg2cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24taGVybyBwLFxuICAgICAgLnNpbW9uLWhvd3RvIHAsXG4gICAgICAuc2ltb24tY2FsbG91dCBwLFxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXBhbmVsLFxuICAgICAgLnNpbW9uLWdhbWUsXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpbW9uLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDR2dywgMjRweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpbW9uLXBhbmVsKTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWhvd3RvIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpbW9uLXNvZnQpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24taG93dG8gaDIsXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmQgaDIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWhvd3RvIHAsXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmQgcCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi1tdXRlZCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1tb2RlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbW9kZXMgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zaW1vbi1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaW1vbi1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi10ZXh0KTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLW1vZGVzIGJ1dHRvbi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2ltb24tcHJpbWFyeSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LXJnYiwgMjU1LCAwLCAxNzgpLCAwLjE2KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLW1vZGVzIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLW1vZGVzIHNtYWxsLFxuICAgICAgLnNpbW9uLXN0YXR1cyBzbWFsbCxcbiAgICAgIC5zaW1vbi1sZWFkZXJib2FyZCBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi1tdXRlZCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1wcmltYXJ5LFxuICAgICAgLnNpbW9uLXNlY29uZGFyeSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDU4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tcHJpbWFyeSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2ltb24tcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1jb250cmFzdCwgI2ZmZik7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMThweCA0NXB4IHJnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiLCAyNTUsIDAsIDE3OCksIDAuMjgpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2ltb24tYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXN0YXR1cyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tc3RhdHVzIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaW1vbi1zb2Z0KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXN0YXR1cyBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tY2FsbG91dCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtcmdiLCA0NSwgMjExLCAxMTEpLCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNpbW9uLXRleHQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1jYWxsb3V0LmlzLWZhaWxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLWRhbmdlci1yZ2IsIDIzNSwgNjgsIDkwKSwgMC4xMik7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1ib2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgICB3aWR0aDogbWluKDEwMCUsIDQ4MHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1wYWQge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzRweDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSwgdHJhbnNwYXJlbnQgMjglKSxcbiAgICAgICAgICB2YXIoLS1wYWQtY29sb3IpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA5dncsIDU2cHgpO1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgLTEycHggMjJweCByZ2JhKDAsIDAsIDAsIDAuMTYpLFxuICAgICAgICAgIDAgMThweCA0MnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wYWQtY29sb3IpLCB0cmFuc3BhcmVudCA2OCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjgyO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgMTQwbXMgZWFzZSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMTQwbXMgZWFzZSxcbiAgICAgICAgICBmaWx0ZXIgMTQwbXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXBhZC5pcy1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4zKSBzYXR1cmF0ZSgxLjIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDM1KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWJvYXJkLmlzLWxvY2tlZCAuc2ltb24tcGFkOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDg7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1hY3Rpb25zIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsIHZhcigtLXNpbW9uLXBhbmVsKSAyOCUpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbWVudS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg5cmVtLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmRfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmRfX3RpdGxlIGlvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNpbW9uLXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIG9sIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIGxpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzOHB4IDFmciBhdXRvO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpbW9uLXNvZnQpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmQgbGkgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiLCAyNTUsIDAsIDE3OCksIDAuMTgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgICAgICAuc2ltb24tbW9kZXMsXG4gICAgICAgIC5zaW1vbi1zdGF0dXMsXG4gICAgICAgIC5zaW1vbi1hY3Rpb25zLFxuICAgICAgICAuc2ltb24tbWVudS1hY3Rpb25zIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1vbi1ib2FyZCB7XG4gICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpbW9uLXBhZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpbW9uR2FtZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXVkaW8gPSBpbmplY3QoUmV0cm9BdWRpb1NlcnZpY2UpO1xuICBwcml2YXRlIHRpbWVyczogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSBhY2NlcHRpbmdJbnB1dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG1pbmlHYW1lc1JvdXRlID0gJy9taW5pLWdhbWVzJztcblxuICByZWFkb25seSBtb2RlczogU2ltb25HYW1lTW9kZVtdID0gWydraWQnLCAnY2xhc3NpYycsICduaW5qYSddO1xuICByZWFkb25seSBwYWRzID0gU0lNT05fUEFEUztcbiAgcmVhZG9ubHkgcGhhc2UgPSBzaWduYWw8U2ltb25HYW1lUGhhc2U+KCdob21lJyk7XG4gIHJlYWRvbmx5IG1vZGUgPSBzaWduYWw8U2ltb25HYW1lTW9kZT4oJ2tpZCcpO1xuICByZWFkb25seSByb3VuZCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgc2VxdWVuY2UgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcbiAgcmVhZG9ubHkgaW5wdXRJbmRleCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgYWN0aXZlUGFkID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbGVhZGVyYm9hcmQgPSBzaWduYWw8U2ltb25MZWFkZXJib2FyZEVudHJ5W10+KHRoaXMucmVhZExlYWRlcmJvYXJkKCkpO1xuICByZWFkb25seSBjb25maXJtQWN0aW9uID0gc2lnbmFsPFNpbW9uQ29uZmlybUFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtZWRBY3Rpb24gPSBzaWduYWw8U2ltb25Db25maXJtQWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IG1vZGVDb25maWcgPSBjb21wdXRlZCgoKSA9PiBTSU1PTl9NT0RFU1t0aGlzLm1vZGUoKV0pO1xuICByZWFkb25seSBiZXN0Um91bmQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1vZGVMZWFkZXJib2FyZCgpWzBdPy5yb3VuZCA/PyAwKTtcbiAgcmVhZG9ubHkgbW9kZUxlYWRlcmJvYXJkID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmxlYWRlcmJvYXJkKClcbiAgICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5tb2RlID09PSB0aGlzLm1vZGUoKSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBiLnJvdW5kIC0gYS5yb3VuZCB8fCBiLnN0ZXBzIC0gYS5zdGVwcylcbiAgICAgIC5zbGljZSgwLCA1KVxuICApO1xuICByZWFkb25seSBsZWFkZXJib2FyZEhlYWRpbmcgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMudCgnc2ltb25MZWFkZXJib2FyZE1vZGVUaXRsZScpLnJlcGxhY2UoJ3ttb2RlfScsIHRoaXMubW9kZVRpdGxlKHRoaXMubW9kZSgpKSlcbiAgKTtcbiAgcmVhZG9ubHkgZmFpbEJvZHkgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMudCgnc2ltb25GYWlsZWRCb2R5JykucmVwbGFjZSgne3JvdW5kfScsIFN0cmluZyhNYXRoLm1heCgwLCB0aGlzLnJvdW5kKCkgLSAxKSkpXG4gICk7XG4gIHJlYWRvbmx5IGNvbmZpcm1UaXRsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmNvbmZpcm1BY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uID09PSAncmVzdGFydCcpIHJldHVybiB0aGlzLnQoJ2NvbmZpcm1SZXN0YXJ0VGl0bGUnKTtcbiAgICBpZiAoYWN0aW9uID09PSAnZ2FtZXMnKSByZXR1cm4gdGhpcy50KCdjb25maXJtR2FtZXNUaXRsZScpO1xuICAgIHJldHVybiB0aGlzLnQoJ2NvbmZpcm1Nb2RlVGl0bGUnKTtcbiAgfSk7XG4gIHJlYWRvbmx5IGNvbmZpcm1Cb2R5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlybUFjdGlvbigpO1xuICAgIGlmIChhY3Rpb24gPT09ICdyZXN0YXJ0JykgcmV0dXJuIHRoaXMudCgnY29uZmlybVJlc3RhcnRCb2R5Jyk7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2dhbWVzJykgcmV0dXJuIHRoaXMudCgnY29uZmlybUdhbWVzQm9keScpO1xuICAgIHJldHVybiB0aGlzLnQoJ2NvbmZpcm1Nb2RlQm9keScpO1xuICB9KTtcbiAgcmVhZG9ubHkgY29uZmlybUFjdGlvbnMgPSBjb21wdXRlZDxCdXR0b25NZXRhZGF0YVtdPigoKSA9PiBbXG4gICAge1xuICAgICAgdGV4dDogdGhpcy50KCdjYW5jZWwnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBzdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgIHRva2VuOiAnY2FuY2VsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRleHQ6XG4gICAgICAgIHRoaXMuY29uZmlybUFjdGlvbigpID09PSAncmVzdGFydCdcbiAgICAgICAgICA/IHRoaXMudCgncmVzdGFydCcpXG4gICAgICAgICAgOiB0aGlzLmNvbmZpcm1BY3Rpb24oKSA9PT0gJ2dhbWVzJ1xuICAgICAgICAgICAgPyB0aGlzLnQoJ2NoYW5nZUdhbWUnKVxuICAgICAgICAgICAgOiB0aGlzLnQoJ2JhY2tUb1NldHVwJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICAgIHNoYXBlOiAncm91bmQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICB0b2tlbjogJ2NvbmZpcm0nLFxuICAgIH0sXG4gIF0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdNaW5pR2FtZXMnLCBNSU5JX0dBTUVTX0kxOE4pO1xuICAgIHRoaXMuYXVkaW8uc3RvcE11c2ljKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZXJzKCk7XG4gICAgdGhpcy5hdWRpby5zdG9wTXVzaWMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdNaW5pR2FtZXMnKTtcbiAgfVxuXG4gIHNlbGVjdE1vZGUobW9kZTogU2ltb25HYW1lTW9kZSk6IHZvaWQge1xuICAgIHRoaXMubW9kZS5zZXQobW9kZSk7XG4gIH1cblxuICBtb2RlVGl0bGUobW9kZTogU2ltb25HYW1lTW9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudChgc2ltb25Nb2RlJHt0aGlzLmNhcGl0YWxpemUobW9kZSl9YCk7XG4gIH1cblxuICBtb2RlRGVzY3JpcHRpb24obW9kZTogU2ltb25HYW1lTW9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudChgc2ltb25Nb2RlJHt0aGlzLmNhcGl0YWxpemUobW9kZSl9RGVzY3JpcHRpb25gKTtcbiAgfVxuXG4gIHN0YXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJUaW1lcnMoKTtcbiAgICB0aGlzLnBoYXNlLnNldCgnc2hvd2luZycpO1xuICAgIHRoaXMucm91bmQuc2V0KDEpO1xuICAgIHRoaXMuaW5wdXRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5zZXF1ZW5jZS5zZXQodGhpcy5jcmVhdGVJbml0aWFsU2VxdWVuY2UoKSk7XG4gICAgdGhpcy5zaG93U2VxdWVuY2UoKTtcbiAgfVxuXG4gIHJlc2V0VG9TZXR1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZXJzKCk7XG4gICAgdGhpcy5waGFzZS5zZXQoJ2hvbWUnKTtcbiAgICB0aGlzLnJvdW5kLnNldCgwKTtcbiAgICB0aGlzLnNlcXVlbmNlLnNldChbXSk7XG4gICAgdGhpcy5pbnB1dEluZGV4LnNldCgwKTtcbiAgICB0aGlzLmFjdGl2ZVBhZC5zZXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHJlcXVlc3RSZXN0YXJ0R2FtZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1BY3Rpb24uc2V0KCdyZXN0YXJ0Jyk7XG4gICAgdGhpcy5hdWRpby5mbGlwKCk7XG4gIH1cblxuICByZXF1ZXN0Q2hhbmdlTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1BY3Rpb24uc2V0KCdtb2RlJyk7XG4gICAgdGhpcy5hdWRpby5mbGlwKCk7XG4gIH1cblxuICByZXF1ZXN0Q2hhbmdlR2FtZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1BY3Rpb24uc2V0KCdnYW1lcycpO1xuICAgIHRoaXMuYXVkaW8uZmxpcCgpO1xuICB9XG5cbiAgY2xvc2VDb25maXJtTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtQWN0aW9uLnNldCh1bmRlZmluZWQpO1xuICB9XG5cbiAgaGFuZGxlQ29uZmlybU1vZGFsRGlzbWlzc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybUFjdGlvbi5zZXQodW5kZWZpbmVkKTtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmNvbmZpcm1lZEFjdGlvbigpO1xuICAgIHRoaXMuY29uZmlybWVkQWN0aW9uLnNldCh1bmRlZmluZWQpO1xuICAgIGlmICghYWN0aW9uKSByZXR1cm47XG5cbiAgICBpZiAoYWN0aW9uID09PSAncmVzdGFydCcpIHtcbiAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFjdGlvbiA9PT0gJ21vZGUnKSB7XG4gICAgICB0aGlzLnJlc2V0VG9TZXR1cCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYWN0aW9uID09PSAnZ2FtZXMnKSB7XG4gICAgICB0aGlzLnJlc2V0VG9HYW1lc01lbnUoKTtcbiAgICB9XG4gIH1cblxuICBjb25maXJtUGVuZGluZ0FjdGlvbih0b2tlbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0b2tlbiAhPT0gJ2NvbmZpcm0nKSB7XG4gICAgICB0aGlzLmNsb3NlQ29uZmlybU1vZGFsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlybUFjdGlvbigpO1xuICAgIHRoaXMuY29uZmlybWVkQWN0aW9uLnNldChhY3Rpb24pO1xuICAgIHRoaXMuY29uZmlybUFjdGlvbi5zZXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHRhcChwYWQ6IFNpbW9uUGFkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGhhc2UoKSAhPT0gJ3dhaXRpbmcnIHx8ICF0aGlzLmFjY2VwdGluZ0lucHV0KSByZXR1cm47XG4gICAgdGhpcy5mbGFzaFBhZChwYWQuaWQsIDE4MCk7XG4gICAgdGhpcy5hdWRpby5zaW1vblBhZChwYWQudG9uZSk7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSB0aGlzLnNlcXVlbmNlKClbdGhpcy5pbnB1dEluZGV4KCldO1xuICAgIGlmIChwYWQuaWQgIT09IGV4cGVjdGVkKSB7XG4gICAgICB0aGlzLmZhaWwoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV4dEluZGV4ID0gdGhpcy5pbnB1dEluZGV4KCkgKyAxO1xuICAgIHRoaXMuaW5wdXRJbmRleC5zZXQobmV4dEluZGV4KTtcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5zZXF1ZW5jZSgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5hdWRpby5zaW1vblN0ZXBPaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbXBsZXRlUm91bmQoKTtcbiAgfVxuXG4gIHNjb3JlVGV4dChlbnRyeTogU2ltb25MZWFkZXJib2FyZEVudHJ5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50KCdzaW1vblNjb3JlJylcbiAgICAgIC5yZXBsYWNlKCd7cm91bmR9JywgU3RyaW5nKGVudHJ5LnJvdW5kKSlcbiAgICAgIC5yZXBsYWNlKCd7c3RlcHN9JywgU3RyaW5nKGVudHJ5LnN0ZXBzKSk7XG4gIH1cblxuICBkYXRlVGV4dCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUuc2xpY2UoMCwgMTApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVJvdW5kKCk6IHZvaWQge1xuICAgIHRoaXMuYWNjZXB0aW5nSW5wdXQgPSBmYWxzZTtcbiAgICB0aGlzLnBoYXNlLnNldCgnc3VjY2VzcycpO1xuICAgIHRoaXMuYXVkaW8uc2ltb25Sb3VuZE9rKCk7XG4gICAgdGhpcy5zYXZlU2NvcmUodGhpcy5yb3VuZCgpLCB0aGlzLnNlcXVlbmNlKCkubGVuZ3RoKTtcbiAgICB0aGlzLnNldFRpbWVyKCgpID0+IHtcbiAgICAgIHRoaXMucm91bmQuc2V0KHRoaXMucm91bmQoKSArIDEpO1xuICAgICAgdGhpcy5zZXF1ZW5jZS51cGRhdGUoKGN1cnJlbnQpID0+IFsuLi5jdXJyZW50LCB0aGlzLnJhbmRvbVBhZElkKCldKTtcbiAgICAgIHRoaXMuc2hvd1NlcXVlbmNlKCk7XG4gICAgfSwgdGhpcy5tb2RlKCkgPT09ICduaW5qYScgPyA1MjAgOiA3NjApO1xuICB9XG5cbiAgcHJpdmF0ZSBmYWlsKCk6IHZvaWQge1xuICAgIHRoaXMuYWNjZXB0aW5nSW5wdXQgPSBmYWxzZTtcbiAgICB0aGlzLnBoYXNlLnNldCgnZmFpbGVkJyk7XG4gICAgdGhpcy5hY3RpdmVQYWQuc2V0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5hdWRpby5zaW1vbkZhaWwoKTtcbiAgICB0aGlzLnNhdmVTY29yZShNYXRoLm1heCgwLCB0aGlzLnJvdW5kKCkgLSAxKSwgTWF0aC5tYXgoMCwgdGhpcy5zZXF1ZW5jZSgpLmxlbmd0aCAtIDEpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJUaW1lcnMoKTtcbiAgICB0aGlzLmFjY2VwdGluZ0lucHV0ID0gZmFsc2U7XG4gICAgdGhpcy5pbnB1dEluZGV4LnNldCgwKTtcbiAgICB0aGlzLnBoYXNlLnNldCgnc2hvd2luZycpO1xuICAgIGNvbnN0IHsgc2hvd01zLCBnYXBNcyB9ID0gdGhpcy5tb2RlQ29uZmlnKCk7XG4gICAgbGV0IGRlbGF5ID0gMjgwO1xuICAgIHRoaXMuc2VxdWVuY2UoKS5mb3JFYWNoKChwYWRJZCkgPT4ge1xuICAgICAgdGhpcy5zZXRUaW1lcigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZCA9IHRoaXMucGFkcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBwYWRJZCk7XG4gICAgICAgIGlmIChwYWQpIHRoaXMuYXVkaW8uc2ltb25QYWQocGFkLnRvbmUpO1xuICAgICAgICB0aGlzLmFjdGl2ZVBhZC5zZXQocGFkSWQpO1xuICAgICAgfSwgZGVsYXkpO1xuICAgICAgdGhpcy5zZXRUaW1lcigoKSA9PiB0aGlzLmFjdGl2ZVBhZC5zZXQodW5kZWZpbmVkKSwgZGVsYXkgKyBzaG93TXMpO1xuICAgICAgZGVsYXkgKz0gc2hvd01zICsgZ2FwTXM7XG4gICAgfSk7XG4gICAgdGhpcy5zZXRUaW1lcigoKSA9PiB7XG4gICAgICB0aGlzLnBoYXNlLnNldCgnd2FpdGluZycpO1xuICAgICAgdGhpcy5hY2NlcHRpbmdJbnB1dCA9IHRydWU7XG4gICAgfSwgZGVsYXkgKyAxMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBmbGFzaFBhZChwYWRJZDogc3RyaW5nLCBtczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVQYWQuc2V0KHBhZElkKTtcbiAgICB0aGlzLnNldFRpbWVyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVBhZCgpID09PSBwYWRJZCkgdGhpcy5hY3RpdmVQYWQuc2V0KHVuZGVmaW5lZCk7XG4gICAgfSwgbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbml0aWFsU2VxdWVuY2UoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLm1vZGVDb25maWcoKS5zdGFydFN0ZXBzIH0sICgpID0+IHRoaXMucmFuZG9tUGFkSWQoKSk7XG4gIH1cblxuICBwcml2YXRlIHJhbmRvbVBhZElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFkc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLnBhZHMubGVuZ3RoKV0uaWQ7XG4gIH1cblxuICBwcml2YXRlIHNhdmVTY29yZShyb3VuZDogbnVtYmVyLCBzdGVwczogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHJvdW5kIDw9IDApIHJldHVybjtcbiAgICBjb25zdCBlbnRyeTogU2ltb25MZWFkZXJib2FyZEVudHJ5ID0ge1xuICAgICAgbW9kZTogdGhpcy5tb2RlKCksXG4gICAgICByb3VuZCxcbiAgICAgIHN0ZXBzLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgfTtcbiAgICBjb25zdCB1cGRhdGVkID0gW2VudHJ5LCAuLi50aGlzLmxlYWRlcmJvYXJkKCldXG4gICAgICAuc29ydCgoYSwgYikgPT4gYi5yb3VuZCAtIGEucm91bmQgfHwgYi5zdGVwcyAtIGEuc3RlcHMpXG4gICAgICAuc2xpY2UoMCwgNDApO1xuICAgIHRoaXMubGVhZGVyYm9hcmQuc2V0KHVwZGF0ZWQpO1xuICAgIHRyeSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMRUFERVJCT0FSRF9LRVksIEpTT04uc3RyaW5naWZ5KHVwZGF0ZWQpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEVsIHJhbmtpbmcgbG9jYWwgbm8gZXMgY3LDrXRpY28gc2kgc3RvcmFnZSBubyBlc3TDoSBkaXNwb25pYmxlLlxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRUb0dhbWVzTWVudSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0VG9TZXR1cCgpO1xuICAgIHZvaWQgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm1pbmlHYW1lc0Jhc2VSb3V0ZSgpKS5jYXRjaCgoKSA9PiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtaW5pR2FtZXNCYXNlUm91dGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCByb3V0ZSA9ICh0aGlzLm1pbmlHYW1lc1JvdXRlIHx8ICcvbWluaS1nYW1lcycpLnRyaW0oKTtcbiAgICByZXR1cm4gYC8ke3JvdXRlLnJlcGxhY2UoL15cXC8rfFxcLyskL2csICcnKSB8fCAnbWluaS1nYW1lcyd9YDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZExlYWRlcmJvYXJkKCk6IFNpbW9uTGVhZGVyYm9hcmRFbnRyeVtdIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oTEVBREVSQk9BUkRfS0VZKTtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHJhdyA/IChKU09OLnBhcnNlKHJhdykgYXMgU2ltb25MZWFkZXJib2FyZEVudHJ5W10pIDogW107XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShwYXJzZWQpID8gcGFyc2VkIDogW107XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRUaW1lcihjYWxsYmFjazogKCkgPT4gdm9pZCwgbXM6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGlkID0gd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2ssIG1zKTtcbiAgICB0aGlzLnRpbWVycy5wdXNoKGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJUaW1lcnMoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lcnMuZm9yRWFjaCgoaWQpID0+IHdpbmRvdy5jbGVhclRpbWVvdXQoaWQpKTtcbiAgICB0aGlzLnRpbWVycyA9IFtdO1xuICAgIHRoaXMuYWNjZXB0aW5nSW5wdXQgPSBmYWxzZTtcbiAgICB0aGlzLmFjdGl2ZVBhZC5zZXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt2YWx1ZS5zbGljZSgxKX1gO1xuICB9XG59XG4iXX0=
|
|
560
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltb24tZ2FtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvc2ltb24tZ2FtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFHM0YsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQWdCNUIsTUFBTSxXQUFXLEdBQTJDO0lBQzFELEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUU7SUFDNUQsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRTtJQUNwRSxLQUFLLEVB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QUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsQ0FBQzsrR0FoVFUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0hBdGJuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEhULHdrS0EvSFMsT0FBTywySkFBRSxRQUFRLHNEQUFFLG9CQUFvQjs7NEZBdWJ0QyxrQkFBa0I7a0JBMWI5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsWUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThIVDt3REErVFEsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uTW9kYWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgdHJvcGh5T3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7IFJldHJvQXVkaW9TZXJ2aWNlIH0gZnJvbSAnLi9yZXRyby1hdWRpby5zZXJ2aWNlJztcbmltcG9ydCB7IFNpbW9uR2FtZU1vZGUsIFNpbW9uR2FtZVBoYXNlLCBTaW1vblBhZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgTW9kYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbW9kYWwtbGF5b3V0L21vZGFsLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmFkZEljb25zKHsgdHJvcGh5T3V0bGluZSB9KTtcblxuaW50ZXJmYWNlIFNpbW9uTW9kZUNvbmZpZyB7XG4gIG1vZGU6IFNpbW9uR2FtZU1vZGU7XG4gIHNob3dNczogbnVtYmVyO1xuICBnYXBNczogbnVtYmVyO1xuICBzdGFydFN0ZXBzOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTaW1vbkxlYWRlcmJvYXJkRW50cnkge1xuICBtb2RlOiBTaW1vbkdhbWVNb2RlO1xuICByb3VuZDogbnVtYmVyO1xuICBzdGVwczogbnVtYmVyO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuY29uc3QgU0lNT05fTU9ERVM6IFJlY29yZDxTaW1vbkdhbWVNb2RlLCBTaW1vbk1vZGVDb25maWc+ID0ge1xuICBraWQ6IHsgbW9kZTogJ2tpZCcsIHNob3dNczogNzIwLCBnYXBNczogMjgwLCBzdGFydFN0ZXBzOiAxIH0sXG4gIGNsYXNzaWM6IHsgbW9kZTogJ2NsYXNzaWMnLCBzaG93TXM6IDUyMCwgZ2FwTXM6IDIxMCwgc3RhcnRTdGVwczogMSB9LFxuICBuaW5qYTogeyBtb2RlOiAnbmluamEnLCBzaG93TXM6IDM0MCwgZ2FwTXM6IDE1MCwgc3RhcnRTdGVwczogMiB9LFxufTtcblxuY29uc3QgU0lNT05fUEFEUzogU2ltb25QYWRbXSA9IFtcbiAgeyBpZDogJ3BpbmsnLCBsYWJlbDogJzEnLCBjb2xvcjogJyNmZjAwYjInLCB0b25lOiAzMjkuNjMgfSxcbiAgeyBpZDogJ2N5YW4nLCBsYWJlbDogJzInLCBjb2xvcjogJyMwMGJjZDQnLCB0b25lOiAzOTIgfSxcbiAgeyBpZDogJ3llbGxvdycsIGxhYmVsOiAnMycsIGNvbG9yOiAnI2ZmYzQwOScsIHRvbmU6IDQ5My44OCB9LFxuICB7IGlkOiAncHVycGxlJywgbGFiZWw6ICc0JywgY29sb3I6ICcjNmEyZGUyJywgdG9uZTogNjU5LjI1IH0sXG5dO1xuXG5jb25zdCBMRUFERVJCT0FSRF9LRVkgPSAndmFsLW1pbmktZ2FtZXMtc2ltb24tbGVhZGVyYm9hcmQ6djEnO1xudHlwZSBTaW1vbkNvbmZpcm1BY3Rpb24gPSAncmVzdGFydCcgfCAnbW9kZScgfCAnZ2FtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2ltb24tZ2FtZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25JY29uLCBJb25Nb2RhbCwgTW9kYWxMYXlvdXRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYWluIGNsYXNzPVwic2ltb24tc2hlbGxcIj5cbiAgICAgIEBpZiAocGhhc2UoKSA9PT0gJ2hvbWUnKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2ltb24taGVyb1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2ltb24taGVyb19fc3BhcmtcIj7il48g4pePIOKXjyDil488L3NwYW4+XG4gICAgICAgICAgPGgxPnt7IHQoJ3NpbW9uSG9tZVRpdGxlJykgfX08L2gxPlxuICAgICAgICAgIDxwPnt7IHQoJ3NpbW9uSG9tZVN1YnRpdGxlJykgfX08L3A+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInNpbW9uLXBhbmVsXCI+XG4gICAgICAgICAgPGFydGljbGUgY2xhc3M9XCJzaW1vbi1ob3d0b1wiPlxuICAgICAgICAgICAgPGgyPnt7IHQoJ3NpbW9uSG93VG9UaXRsZScpIH19PC9oMj5cbiAgICAgICAgICAgIDxwPnt7IHQoJ3NpbW9uSG93VG9Cb2R5JykgfX08L3A+XG4gICAgICAgICAgPC9hcnRpY2xlPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLW1vZGVzXCIgcm9sZT1cInJhZGlvZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ21vZGVUaXRsZScpXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1vZGVzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwibW9kZSgpID09PSBpdGVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9kZShpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IG1vZGVUaXRsZShpdGVtKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzbWFsbD57eyBtb2RlRGVzY3JpcHRpb24oaXRlbSkgfX08L3NtYWxsPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzaW1vbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdGFydCgpXCI+e3sgdCgnc2ltb25TdGFydCcpIH19PC9idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLW1lbnUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVxdWVzdENoYW5nZUdhbWUoKVwiPlxuICAgICAgICAgICAgICB7eyB0KCdjaGFuZ2VHYW1lJykgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzaW1vbi1nYW1lXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHNtYWxsPnt7IHQoJ3NpbW9uUm91bmQnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgcm91bmQoKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgnc2ltb25TdGVwcycpIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBzZXF1ZW5jZSgpLmxlbmd0aCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgnc2ltb25CZXN0Um91bmQnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYmVzdFJvdW5kKCkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbW9uLWNhbGxvdXRcIiBbY2xhc3MuaXMtZmFpbGVkXT1cInBoYXNlKCkgPT09ICdmYWlsZWQnXCI+XG4gICAgICAgICAgICBAaWYgKHBoYXNlKCkgPT09ICdzaG93aW5nJykge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ3NpbW9uV2F0Y2gnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAocGhhc2UoKSA9PT0gJ3dhaXRpbmcnKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnc2ltb25SZXBlYXQnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAocGhhc2UoKSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnc2ltb25Hb29kJykgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ3NpbW9uRmFpbGVkJykgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPHA+e3sgZmFpbEJvZHkoKSB9fTwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1vbi1ib2FyZFwiIFtjbGFzcy5pcy1sb2NrZWRdPVwicGhhc2UoKSAhPT0gJ3dhaXRpbmcnXCI+XG4gICAgICAgICAgICBAZm9yIChwYWQgb2YgcGFkczsgdHJhY2sgcGFkLmlkKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpbW9uLXBhZFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLi0tcGFkLWNvbG9yXT1cInBhZC5jb2xvclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWFjdGl2ZV09XCJhY3RpdmVQYWQoKSA9PT0gcGFkLmlkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGhhc2UoKSAhPT0gJ3dhaXRpbmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGFwKHBhZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgcGFkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1vbi1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2ltb24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXF1ZXN0Q2hhbmdlTW9kZSgpXCI+e3sgdCgnYmFja1RvU2V0dXAnKSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVxdWVzdENoYW5nZUdhbWUoKVwiPnt7IHQoJ2NoYW5nZUdhbWUnKSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNpbW9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlcXVlc3RSZXN0YXJ0R2FtZSgpXCI+e3sgdCgncmVzdGFydCcpIH19PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzaW1vbi1sZWFkZXJib2FyZFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2ltb24tbGVhZGVyYm9hcmRfX3RpdGxlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cm9waHktb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGgyPnt7IGxlYWRlcmJvYXJkSGVhZGluZygpIH19PC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAobW9kZUxlYWRlcmJvYXJkKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPHA+e3sgdCgnc2ltb25MZWFkZXJib2FyZEVtcHR5JykgfX08L3A+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIG1vZGVMZWFkZXJib2FyZCgpOyB0cmFjayBlbnRyeS5jcmVhdGVkQXQpIHtcbiAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICRpbmRleCArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBzY29yZVRleHQoZW50cnkpIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPHNtYWxsPnt7IGRhdGVUZXh0KGVudHJ5LmNyZWF0ZWRBdCkgfX08L3NtYWxsPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvb2w+XG4gICAgICAgIH1cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L21haW4+XG5cbiAgICA8aW9uLW1vZGFsXG4gICAgICBbaXNPcGVuXT1cIiEhY29uZmlybUFjdGlvbigpXCJcbiAgICAgIGNzc0NsYXNzPVwidmFsLW1vZGFsLWFkYXB0aXZlXCJcbiAgICAgIChkaWREaXNtaXNzKT1cImhhbmRsZUNvbmZpcm1Nb2RhbERpc21pc3NlZCgpXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDx2YWwtbW9kYWwtbGF5b3V0XG4gICAgICAgICAgW3RpdGxlXT1cImNvbmZpcm1UaXRsZSgpXCJcbiAgICAgICAgICBbc3VidGl0bGVdPVwiY29uZmlybUJvZHkoKVwiXG4gICAgICAgICAgW2Nsb3NlTGFiZWxdPVwidCgnY2xvc2UnKVwiXG4gICAgICAgICAgW2FjdGlvbnNdPVwiY29uZmlybUFjdGlvbnMoKVwiXG4gICAgICAgICAgYWN0aW9uc0FsaWduPVwiZW5kXCJcbiAgICAgICAgICAoY2xvc2UpPVwiY2xvc2VDb25maXJtTW9kYWwoKVwiXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNvbmZpcm1QZW5kaW5nQWN0aW9uKCRldmVudC5hY3Rpb24/LnRva2VuKVwiXG4gICAgICAgIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLW1vZGFsPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbC1taW5pLWdhbWVzLWZvbnQtc2l6ZSwgMXJlbSk7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5mb250LXNtYWxsKSB7XG4gICAgICAgIC0tdmFsLW1pbmktZ2FtZXMtZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmZvbnQtbGFyZ2UpIHtcbiAgICAgICAgLS12YWwtbWluaS1nYW1lcy1mb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXNoZWxsIHtcbiAgICAgICAgLS1zaW1vbi1wYW5lbDogdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgI2ZmZmZmZik7XG4gICAgICAgIC0tc2ltb24tYm9yZGVyOiB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCAjZTdlNGVhKTtcbiAgICAgICAgLS1zaW1vbi10ZXh0OiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzJmMmEzYSk7XG4gICAgICAgIC0tc2ltb24tbXV0ZWQ6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2ZjZhN2EpO1xuICAgICAgICAtLXNpbW9uLXNvZnQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiLCAyNTUsIDAsIDE3OCksIDAuMDgpO1xuICAgICAgICAtLXNpbW9uLXByaW1hcnk6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjZmYwMGIyKTtcbiAgICAgICAgLS1zaW1vbi1zZWNvbmRhcnk6IHZhcigtLWlvbi1jb2xvci10ZXJ0aWFyeSwgIzZhMmRlMik7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMThweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5zaW1vbi1zaGVsbCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLnNpbW9uLXNoZWxsIHtcbiAgICAgICAgLS1zaW1vbi1wYW5lbDogIzIzMWYyZDtcbiAgICAgICAgLS1zaW1vbi1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gICAgICAgIC0tc2ltb24tdGV4dDogI2ZmZjhmZjtcbiAgICAgICAgLS1zaW1vbi1tdXRlZDogcmdiYSgyNTUsIDI0OCwgMjU1LCAwLjY4KTtcbiAgICAgICAgLS1zaW1vbi1zb2Z0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24taGVybyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMjhweCwgN3Z3LCA1NHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAxOCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDE4JSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2ltb24tcHJpbWFyeSksIHZhcigtLXNpbW9uLXNlY29uZGFyeSkpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24taGVyb19fc3Bhcmsge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24taGVybyBoMSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCg0OHB4LCAxNHZ3LCA4NnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWhlcm8gcCxcbiAgICAgIC5zaW1vbi1ob3d0byBwLFxuICAgICAgLnNpbW9uLWNhbGxvdXQgcCxcbiAgICAgIC5zaW1vbi1sZWFkZXJib2FyZCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1wYW5lbCxcbiAgICAgIC5zaW1vbi1nYW1lLFxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zaW1vbi1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxNnB4LCA0dncsIDI0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaW1vbi1wYW5lbCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1ob3d0byB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaW1vbi1zb2Z0KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWhvd3RvIGgyLFxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIGgyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1ob3d0byBwLFxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIHAge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tbXV0ZWQpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tbW9kZXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLW1vZGVzIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjZweDtcbiAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2ltb24tYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2ltb24tcGFuZWwpO1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tdGV4dCk7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1tb2RlcyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpbW9uLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4xNik7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1tb2RlcyBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTA7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1tb2RlcyBzbWFsbCxcbiAgICAgIC5zaW1vbi1zdGF0dXMgc21hbGwsXG4gICAgICAuc2ltb24tbGVhZGVyYm9hcmQgc21hbGwge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tbXV0ZWQpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tcHJpbWFyeSxcbiAgICAgIC5zaW1vbi1zZWNvbmRhcnkge1xuICAgICAgICBtaW4taGVpZ2h0OiA1OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXByaW1hcnkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpbW9uLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnktY29udHJhc3QsICNmZmYpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDVweCByZ2JhKHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LXJnYiwgMjU1LCAwLCAxNzgpLCAwLjI4KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXNlY29uZGFyeSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpbW9uLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tc2ltb24tdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1zdGF0dXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLXN0YXR1cyBkaXYge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2ltb24tc29mdCk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1zdGF0dXMgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWNhbGxvdXQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNzZweDtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXJnYiwgNDUsIDIxMSwgMTExKSwgMC4xMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi10ZXh0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tY2FsbG91dC5pcy1mYWlsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci1kYW5nZXItcmdiLCAyMzUsIDY4LCA5MCksIDAuMTIpO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tYm9hcmQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlLCA0ODBweCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tcGFkIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHRyYW5zcGFyZW50IDI4JSksXG4gICAgICAgICAgdmFyKC0tcGFkLWNvbG9yKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgOXZ3LCA1NnB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICBpbnNldCAwIC0xMnB4IDIycHggcmdiYSgwLCAwLCAwLCAwLjE2KSxcbiAgICAgICAgICAwIDE4cHggNDJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGFkLWNvbG9yKSwgdHJhbnNwYXJlbnQgNjglKTtcbiAgICAgICAgb3BhY2l0eTogMC44MjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBvcGFjaXR5IDE0MG1zIGVhc2UsXG4gICAgICAgICAgdHJhbnNmb3JtIDE0MG1zIGVhc2UsXG4gICAgICAgICAgZmlsdGVyIDE0MG1zIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1wYWQuaXMtYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMykgc2F0dXJhdGUoMS4yKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzNSk7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1ib2FyZC5pcy1sb2NrZWQgLnNpbW9uLXBhZDpub3QoLmlzLWFjdGl2ZSkge1xuICAgICAgICBvcGFjaXR5OiAwLjQ4O1xuICAgICAgfVxuXG4gICAgICAuc2ltb24tYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCB2YXIoLS1zaW1vbi1wYW5lbCkgMjglKTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLW1lbnUtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoOXJlbSwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkX190aXRsZSBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zaW1vbi1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1sZWFkZXJib2FyZCBvbCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5zaW1vbi1sZWFkZXJib2FyZCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzhweCAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaW1vbi1zb2Z0KTtcbiAgICAgIH1cblxuICAgICAgLnNpbW9uLWxlYWRlcmJvYXJkIGxpID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LXJnYiwgMjU1LCAwLCAxNzgpLCAwLjE4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNpbW9uLXByaW1hcnkpO1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgLnNpbW9uLW1vZGVzLFxuICAgICAgICAuc2ltb24tc3RhdHVzLFxuICAgICAgICAuc2ltb24tYWN0aW9ucyxcbiAgICAgICAgLnNpbW9uLW1lbnUtYWN0aW9ucyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAuc2ltb24tYm9hcmQge1xuICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1vbi1wYWQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1vbkdhbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1ZGlvID0gaW5qZWN0KFJldHJvQXVkaW9TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aW1lcnM6IG51bWJlcltdID0gW107XG4gIHByaXZhdGUgYWNjZXB0aW5nSW5wdXQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBtaW5pR2FtZXNSb3V0ZSA9ICcvbWluaS1nYW1lcyc7XG5cbiAgcmVhZG9ubHkgbW9kZXM6IFNpbW9uR2FtZU1vZGVbXSA9IFsna2lkJywgJ2NsYXNzaWMnLCAnbmluamEnXTtcbiAgcmVhZG9ubHkgcGFkcyA9IFNJTU9OX1BBRFM7XG4gIHJlYWRvbmx5IHBoYXNlID0gc2lnbmFsPFNpbW9uR2FtZVBoYXNlPignaG9tZScpO1xuICByZWFkb25seSBtb2RlID0gc2lnbmFsPFNpbW9uR2FtZU1vZGU+KCdraWQnKTtcbiAgcmVhZG9ubHkgcm91bmQgPSBzaWduYWwoMCk7XG4gIHJlYWRvbmx5IHNlcXVlbmNlID0gc2lnbmFsPHN0cmluZ1tdPihbXSk7XG4gIHJlYWRvbmx5IGlucHV0SW5kZXggPSBzaWduYWwoMCk7XG4gIHJlYWRvbmx5IGFjdGl2ZVBhZCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGxlYWRlcmJvYXJkID0gc2lnbmFsPFNpbW9uTGVhZGVyYm9hcmRFbnRyeVtdPih0aGlzLnJlYWRMZWFkZXJib2FyZCgpKTtcbiAgcmVhZG9ubHkgY29uZmlybUFjdGlvbiA9IHNpZ25hbDxTaW1vbkNvbmZpcm1BY3Rpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWVkQWN0aW9uID0gc2lnbmFsPFNpbW9uQ29uZmlybUFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBtb2RlQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4gU0lNT05fTU9ERVNbdGhpcy5tb2RlKCldKTtcbiAgcmVhZG9ubHkgYmVzdFJvdW5kID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tb2RlTGVhZGVyYm9hcmQoKVswXT8ucm91bmQgPz8gMCk7XG4gIHJlYWRvbmx5IG1vZGVMZWFkZXJib2FyZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5sZWFkZXJib2FyZCgpXG4gICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkubW9kZSA9PT0gdGhpcy5tb2RlKCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYi5yb3VuZCAtIGEucm91bmQgfHwgYi5zdGVwcyAtIGEuc3RlcHMpXG4gICAgICAuc2xpY2UoMCwgNSlcbiAgKTtcbiAgcmVhZG9ubHkgbGVhZGVyYm9hcmRIZWFkaW5nID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnQoJ3NpbW9uTGVhZGVyYm9hcmRNb2RlVGl0bGUnKS5yZXBsYWNlKCd7bW9kZX0nLCB0aGlzLm1vZGVUaXRsZSh0aGlzLm1vZGUoKSkpXG4gICk7XG4gIHJlYWRvbmx5IGZhaWxCb2R5ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnQoJ3NpbW9uRmFpbGVkQm9keScpLnJlcGxhY2UoJ3tyb3VuZH0nLCBTdHJpbmcoTWF0aC5tYXgoMCwgdGhpcy5yb3VuZCgpIC0gMSkpKVxuICApO1xuICByZWFkb25seSBjb25maXJtVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5jb25maXJtQWN0aW9uKCk7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ3Jlc3RhcnQnKSByZXR1cm4gdGhpcy50KCdjb25maXJtUmVzdGFydFRpdGxlJyk7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2dhbWVzJykgcmV0dXJuIHRoaXMudCgnY29uZmlybUdhbWVzVGl0bGUnKTtcbiAgICByZXR1cm4gdGhpcy50KCdjb25maXJtTW9kZVRpdGxlJyk7XG4gIH0pO1xuICByZWFkb25seSBjb25maXJtQm9keSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmNvbmZpcm1BY3Rpb24oKTtcbiAgICBpZiAoYWN0aW9uID09PSAncmVzdGFydCcpIHJldHVybiB0aGlzLnQoJ2NvbmZpcm1SZXN0YXJ0Qm9keScpO1xuICAgIGlmIChhY3Rpb24gPT09ICdnYW1lcycpIHJldHVybiB0aGlzLnQoJ2NvbmZpcm1HYW1lc0JvZHknKTtcbiAgICByZXR1cm4gdGhpcy50KCdjb25maXJtTW9kZUJvZHknKTtcbiAgfSk7XG4gIHJlYWRvbmx5IGNvbmZpcm1BY3Rpb25zID0gY29tcHV0ZWQ8QnV0dG9uTWV0YWRhdGFbXT4oKCkgPT4gW1xuICAgIHtcbiAgICAgIHRleHQ6IHRoaXMudCgnY2FuY2VsJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICAgIHNoYXBlOiAncm91bmQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICB0b2tlbjogJ2NhbmNlbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICB0ZXh0OlxuICAgICAgICB0aGlzLmNvbmZpcm1BY3Rpb24oKSA9PT0gJ3Jlc3RhcnQnXG4gICAgICAgICAgPyB0aGlzLnQoJ3Jlc3RhcnQnKVxuICAgICAgICAgIDogdGhpcy5jb25maXJtQWN0aW9uKCkgPT09ICdnYW1lcydcbiAgICAgICAgICAgID8gdGhpcy50KCdjaGFuZ2VHYW1lJylcbiAgICAgICAgICAgIDogdGhpcy50KCdiYWNrVG9TZXR1cCcpLFxuICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgdG9rZW46ICdjb25maXJtJyxcbiAgICB9LFxuICBdKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cygnTWluaUdhbWVzJywgTUlOSV9HQU1FU19JMThOKTtcbiAgICB0aGlzLmF1ZGlvLnN0b3BNdXNpYygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclRpbWVycygpO1xuICAgIHRoaXMuYXVkaW8uc3RvcE11c2ljKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cblxuICBzZWxlY3RNb2RlKG1vZGU6IFNpbW9uR2FtZU1vZGUpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGUuc2V0KG1vZGUpO1xuICB9XG5cbiAgbW9kZVRpdGxlKG1vZGU6IFNpbW9uR2FtZU1vZGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnQoYHNpbW9uTW9kZSR7dGhpcy5jYXBpdGFsaXplKG1vZGUpfWApO1xuICB9XG5cbiAgbW9kZURlc2NyaXB0aW9uKG1vZGU6IFNpbW9uR2FtZU1vZGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnQoYHNpbW9uTW9kZSR7dGhpcy5jYXBpdGFsaXplKG1vZGUpfURlc2NyaXB0aW9uYCk7XG4gIH1cblxuICBzdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZXJzKCk7XG4gICAgdGhpcy5waGFzZS5zZXQoJ3Nob3dpbmcnKTtcbiAgICB0aGlzLnJvdW5kLnNldCgxKTtcbiAgICB0aGlzLmlucHV0SW5kZXguc2V0KDApO1xuICAgIHRoaXMuc2VxdWVuY2Uuc2V0KHRoaXMuY3JlYXRlSW5pdGlhbFNlcXVlbmNlKCkpO1xuICAgIHRoaXMuc2hvd1NlcXVlbmNlKCk7XG4gIH1cblxuICByZXNldFRvU2V0dXAoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclRpbWVycygpO1xuICAgIHRoaXMucGhhc2Uuc2V0KCdob21lJyk7XG4gICAgdGhpcy5yb3VuZC5zZXQoMCk7XG4gICAgdGhpcy5zZXF1ZW5jZS5zZXQoW10pO1xuICAgIHRoaXMuaW5wdXRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5hY3RpdmVQYWQuc2V0KHVuZGVmaW5lZCk7XG4gIH1cblxuICByZXF1ZXN0UmVzdGFydEdhbWUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtQWN0aW9uLnNldCgncmVzdGFydCcpO1xuICAgIHRoaXMuYXVkaW8uZmxpcCgpO1xuICB9XG5cbiAgcmVxdWVzdENoYW5nZU1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtQWN0aW9uLnNldCgnbW9kZScpO1xuICAgIHRoaXMuYXVkaW8uZmxpcCgpO1xuICB9XG5cbiAgcmVxdWVzdENoYW5nZUdhbWUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtQWN0aW9uLnNldCgnZ2FtZXMnKTtcbiAgICB0aGlzLmF1ZGlvLmZsaXAoKTtcbiAgfVxuXG4gIGNsb3NlQ29uZmlybU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybUFjdGlvbi5zZXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIGhhbmRsZUNvbmZpcm1Nb2RhbERpc21pc3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1BY3Rpb24uc2V0KHVuZGVmaW5lZCk7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5jb25maXJtZWRBY3Rpb24oKTtcbiAgICB0aGlzLmNvbmZpcm1lZEFjdGlvbi5zZXQodW5kZWZpbmVkKTtcbiAgICBpZiAoIWFjdGlvbikgcmV0dXJuO1xuXG4gICAgaWYgKGFjdGlvbiA9PT0gJ3Jlc3RhcnQnKSB7XG4gICAgICB0aGlzLnN0YXJ0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChhY3Rpb24gPT09ICdtb2RlJykge1xuICAgICAgdGhpcy5yZXNldFRvU2V0dXAoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2dhbWVzJykge1xuICAgICAgdGhpcy5yZXNldFRvR2FtZXNNZW51KCk7XG4gICAgfVxuICB9XG5cbiAgY29uZmlybVBlbmRpbmdBY3Rpb24odG9rZW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodG9rZW4gIT09ICdjb25maXJtJykge1xuICAgICAgdGhpcy5jbG9zZUNvbmZpcm1Nb2RhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmNvbmZpcm1BY3Rpb24oKTtcbiAgICB0aGlzLmNvbmZpcm1lZEFjdGlvbi5zZXQoYWN0aW9uKTtcbiAgICB0aGlzLmNvbmZpcm1BY3Rpb24uc2V0KHVuZGVmaW5lZCk7XG4gIH1cblxuICB0YXAocGFkOiBTaW1vblBhZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBoYXNlKCkgIT09ICd3YWl0aW5nJyB8fCAhdGhpcy5hY2NlcHRpbmdJbnB1dCkgcmV0dXJuO1xuICAgIHRoaXMuZmxhc2hQYWQocGFkLmlkLCAxODApO1xuICAgIHRoaXMuYXVkaW8uc2ltb25QYWQocGFkLnRvbmUpO1xuICAgIGNvbnN0IGV4cGVjdGVkID0gdGhpcy5zZXF1ZW5jZSgpW3RoaXMuaW5wdXRJbmRleCgpXTtcbiAgICBpZiAocGFkLmlkICE9PSBleHBlY3RlZCkge1xuICAgICAgdGhpcy5mYWlsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRJbmRleCA9IHRoaXMuaW5wdXRJbmRleCgpICsgMTtcbiAgICB0aGlzLmlucHV0SW5kZXguc2V0KG5leHRJbmRleCk7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuc2VxdWVuY2UoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYXVkaW8uc2ltb25TdGVwT2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZVJvdW5kKCk7XG4gIH1cblxuICBzY29yZVRleHQoZW50cnk6IFNpbW9uTGVhZGVyYm9hcmRFbnRyeSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudCgnc2ltb25TY29yZScpXG4gICAgICAucmVwbGFjZSgne3JvdW5kfScsIFN0cmluZyhlbnRyeS5yb3VuZCkpXG4gICAgICAucmVwbGFjZSgne3N0ZXBzfScsIFN0cmluZyhlbnRyeS5zdGVwcykpO1xuICB9XG5cbiAgZGF0ZVRleHQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGxldGVSb3VuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjY2VwdGluZ0lucHV0ID0gZmFsc2U7XG4gICAgdGhpcy5waGFzZS5zZXQoJ3N1Y2Nlc3MnKTtcbiAgICB0aGlzLmF1ZGlvLnNpbW9uUm91bmRPaygpO1xuICAgIHRoaXMuc2F2ZVNjb3JlKHRoaXMucm91bmQoKSwgdGhpcy5zZXF1ZW5jZSgpLmxlbmd0aCk7XG4gICAgdGhpcy5zZXRUaW1lcigoKSA9PiB7XG4gICAgICB0aGlzLnJvdW5kLnNldCh0aGlzLnJvdW5kKCkgKyAxKTtcbiAgICAgIHRoaXMuc2VxdWVuY2UudXBkYXRlKChjdXJyZW50KSA9PiBbLi4uY3VycmVudCwgdGhpcy5yYW5kb21QYWRJZCgpXSk7XG4gICAgICB0aGlzLnNob3dTZXF1ZW5jZSgpO1xuICAgIH0sIHRoaXMubW9kZSgpID09PSAnbmluamEnID8gNTIwIDogNzYwKTtcbiAgfVxuXG4gIHByaXZhdGUgZmFpbCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjY2VwdGluZ0lucHV0ID0gZmFsc2U7XG4gICAgdGhpcy5waGFzZS5zZXQoJ2ZhaWxlZCcpO1xuICAgIHRoaXMuYWN0aXZlUGFkLnNldCh1bmRlZmluZWQpO1xuICAgIHRoaXMuYXVkaW8uc2ltb25GYWlsKCk7XG4gICAgdGhpcy5zYXZlU2NvcmUoTWF0aC5tYXgoMCwgdGhpcy5yb3VuZCgpIC0gMSksIE1hdGgubWF4KDAsIHRoaXMuc2VxdWVuY2UoKS5sZW5ndGggLSAxKSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZXJzKCk7XG4gICAgdGhpcy5hY2NlcHRpbmdJbnB1dCA9IGZhbHNlO1xuICAgIHRoaXMuaW5wdXRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5waGFzZS5zZXQoJ3Nob3dpbmcnKTtcbiAgICBjb25zdCB7IHNob3dNcywgZ2FwTXMgfSA9IHRoaXMubW9kZUNvbmZpZygpO1xuICAgIGxldCBkZWxheSA9IDI4MDtcbiAgICB0aGlzLnNlcXVlbmNlKCkuZm9yRWFjaCgocGFkSWQpID0+IHtcbiAgICAgIHRoaXMuc2V0VGltZXIoKCkgPT4ge1xuICAgICAgICBjb25zdCBwYWQgPSB0aGlzLnBhZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gcGFkSWQpO1xuICAgICAgICBpZiAocGFkKSB0aGlzLmF1ZGlvLnNpbW9uUGFkKHBhZC50b25lKTtcbiAgICAgICAgdGhpcy5hY3RpdmVQYWQuc2V0KHBhZElkKTtcbiAgICAgIH0sIGRlbGF5KTtcbiAgICAgIHRoaXMuc2V0VGltZXIoKCkgPT4gdGhpcy5hY3RpdmVQYWQuc2V0KHVuZGVmaW5lZCksIGRlbGF5ICsgc2hvd01zKTtcbiAgICAgIGRlbGF5ICs9IHNob3dNcyArIGdhcE1zO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0VGltZXIoKCkgPT4ge1xuICAgICAgdGhpcy5waGFzZS5zZXQoJ3dhaXRpbmcnKTtcbiAgICAgIHRoaXMuYWNjZXB0aW5nSW5wdXQgPSB0cnVlO1xuICAgIH0sIGRlbGF5ICsgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZmxhc2hQYWQocGFkSWQ6IHN0cmluZywgbXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlUGFkLnNldChwYWRJZCk7XG4gICAgdGhpcy5zZXRUaW1lcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVQYWQoKSA9PT0gcGFkSWQpIHRoaXMuYWN0aXZlUGFkLnNldCh1bmRlZmluZWQpO1xuICAgIH0sIG1zKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5pdGlhbFNlcXVlbmNlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5tb2RlQ29uZmlnKCkuc3RhcnRTdGVwcyB9LCAoKSA9PiB0aGlzLnJhbmRvbVBhZElkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByYW5kb21QYWRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZHNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdGhpcy5wYWRzLmxlbmd0aCldLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlU2NvcmUocm91bmQ6IG51bWJlciwgc3RlcHM6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChyb3VuZCA8PSAwKSByZXR1cm47XG4gICAgY29uc3QgZW50cnk6IFNpbW9uTGVhZGVyYm9hcmRFbnRyeSA9IHtcbiAgICAgIG1vZGU6IHRoaXMubW9kZSgpLFxuICAgICAgcm91bmQsXG4gICAgICBzdGVwcyxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIH07XG4gICAgY29uc3QgdXBkYXRlZCA9IFtlbnRyeSwgLi4udGhpcy5sZWFkZXJib2FyZCgpXVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGIucm91bmQgLSBhLnJvdW5kIHx8IGIuc3RlcHMgLSBhLnN0ZXBzKVxuICAgICAgLnNsaWNlKDAsIDQwKTtcbiAgICB0aGlzLmxlYWRlcmJvYXJkLnNldCh1cGRhdGVkKTtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTEVBREVSQk9BUkRfS0VZLCBKU09OLnN0cmluZ2lmeSh1cGRhdGVkKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBFbCByYW5raW5nIGxvY2FsIG5vIGVzIGNyw610aWNvIHNpIHN0b3JhZ2Ugbm8gZXN0w6EgZGlzcG9uaWJsZS5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0VG9HYW1lc01lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFRvU2V0dXAoKTtcbiAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5taW5pR2FtZXNCYXNlUm91dGUoKSkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgbWluaUdhbWVzQmFzZVJvdXRlKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGUgPSAodGhpcy5taW5pR2FtZXNSb3V0ZSB8fCAnL21pbmktZ2FtZXMnKS50cmltKCk7XG4gICAgcmV0dXJuIGAvJHtyb3V0ZS5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCAnJykgfHwgJ21pbmktZ2FtZXMnfWA7XG4gIH1cblxuICBwcml2YXRlIHJlYWRMZWFkZXJib2FyZCgpOiBTaW1vbkxlYWRlcmJvYXJkRW50cnlbXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKExFQURFUkJPQVJEX0tFWSk7XG4gICAgICBjb25zdCBwYXJzZWQgPSByYXcgPyAoSlNPTi5wYXJzZShyYXcpIGFzIFNpbW9uTGVhZGVyYm9hcmRFbnRyeVtdKSA6IFtdO1xuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGFyc2VkKSA/IHBhcnNlZCA6IFtdO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VGltZXIoY2FsbGJhY2s6ICgpID0+IHZvaWQsIG1zOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCBtcyk7XG4gICAgdGhpcy50aW1lcnMucHVzaChpZCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyVGltZXJzKCk6IHZvaWQge1xuICAgIHRoaXMudGltZXJzLmZvckVhY2goKGlkKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKSk7XG4gICAgdGhpcy50aW1lcnMgPSBbXTtcbiAgICB0aGlzLmFjY2VwdGluZ0lucHV0ID0gZmFsc2U7XG4gICAgdGhpcy5hY3RpdmVQYWQuc2V0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIGNhcGl0YWxpemUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7dmFsdWUuc2xpY2UoMSl9YDtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNCb3RQcm9maWxlSWQgPVxuICB8ICdleHBsb3JlcidcbiAgfCAnaW1wdWxzaXZlJ1xuICB8ICdydW5uZXInXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ3NwcmludGVyJ1xuICB8ICdzZW50aW5lbCdcbiAgfCAnb3JhY2xlJ1xuICB8ICdhbWJ1c2hlcidcbiAgfCAnbG9ja3NtaXRoJ1xuICB8ICdzdG9ybSdcbiAgfCAnbWF0cmlhcmNoJ1xuICB8ICdlbmRnYW1lJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNHYW1lU3RhdHVzID0gJ3dhaXRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCcgfCAnZXhwaXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0JvdFByb2ZpbGUge1xuICBpZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBsYWJlbEtleTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHVzID0gJ2FjdGl2ZScgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2FiYW5kb25lZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZUJvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHJvdW5kOiBudW1iZXI7XG4gIHByb2ZpbGVJZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZTtcbiAgaW50cm9LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cyB7XG4gIHBvd2Vyc1VzZWQ6IFJlY29yZDxDaGVzc2ltYWxzQW5pbWFsVHlwZSwgbnVtYmVyPjtcbiAgcG93ZXJDYXB0dXJlczogbnVtYmVyO1xuICBwcm9tb3Rpb25zOiBudW1iZXI7XG4gIGNhcHR1cmVzOiBudW1iZXI7XG4gIG1vdmVzOiBudW1iZXI7XG4gIHNjb3JlOiBudW1iZXI7XG4gIGJlc3RNb3ZlU2NvcmU6IG51bWJlcjtcbiAgYmVzdENvbWJvOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0IHtcbiAgcm91bmQ6IG51bWJlcjtcbiAgYm90SWQ6IHN0cmluZztcbiAgcHJvZmlsZUlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICB3b246IGJvb2xlYW47XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHN0YXRzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cztcbiAgZmluaXNoZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSdW4ge1xuICBpZDogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHNjaGVtYVZlcnNpb24/OiAyO1xuICBzdGF0dXM6IENoZXNzaW1hbHNDaGFsbGVuZ2VTdGF0dXM7XG4gIGxpdmVzU3RhcnQ6IDM7XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHJvdW5kSW5kZXg/OiBudW1iZXI7XG4gIGN1cnJlbnRSb3VuZDogbnVtYmVyO1xuICByb3VuZHNXb24/OiBudW1iZXI7XG4gIGhpZ2hlc3RSb3VuZFJlYWNoZWQ/OiBudW1iZXI7XG4gIGFjdGl2ZVJvdW5kSWQ/OiBzdHJpbmc7XG4gIHdpbnM6IG51bWJlcjtcbiAgbG9zc2VzOiBudW1iZXI7XG4gIGJlc3RTdHJlYWtJblJ1bjogbnVtYmVyO1xuICBjdXJyZW50U3RyZWFrOiBudW1iZXI7XG4gIGJvdExhZGRlcjogc3RyaW5nW107XG4gIHJvdW5kUmVzdWx0czogQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0W107XG4gIHN0YXJ0ZWRBdDogc3RyaW5nO1xuICBsYXN0RXZlbnRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXRzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaGFsbGVuZ2VzUGxheWVkOiBudW1iZXI7XG4gIGNoYWxsZW5nZXNDb21wbGV0ZWQ6IG51bWJlcjtcbiAgYmVzdFdpblN0cmVhazogbnVtYmVyO1xuICBiZXN0Um91bmRSZWFjaGVkOiBudW1iZXI7XG4gIHRvdGFsV2luczogbnVtYmVyO1xuICB0b3RhbExvc3NlczogbnVtYmVyO1xuICBib3RzRGVmZWF0ZWQ6IG51bWJlcjtcbiAgcG93ZXJzVXNlZDogUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCBudW1iZXI+O1xuICBwb3dlckNhcHR1cmVzOiBudW1iZXI7XG4gIHByb21vdGlvbnM6IG51bWJlcjtcbiAgdG90YWxTY29yZTogbnVtYmVyO1xuICBiZXN0Um91bmRTY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xuICBtb2RlU3RhdHM6IFJlY29yZDxDaGVzc2ltYWxzU3RhdHNNb2RlLCBDaGVzc2ltYWxzTW9kZVN0YXRzPjtcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzU3RhdHNNb2RlID0gJ2NoYWxsZW5nZScgfCAnYm90JyB8ICdvbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb2RlU3RhdHMge1xuICBwbGF5ZWQ6IG51bWJlcjtcbiAgd2luczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG9zaXRpb24ge1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BpZWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgY2FwdHVyZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1Bvd2VyQ2FyZCB7XG4gIHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlO1xuICB1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZSB7XG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBvd2VyVW5sb2NrZWQ6IGJvb2xlYW47XG4gIGNhcmRzOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIENoZXNzaW1hbHNQb3dlckNhcmQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlIHtcbiAgcGllY2VJZDogc3RyaW5nO1xuICBmcm9tOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIHRvOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIGtpbmQ6IENoZXNzaW1hbHNNb3ZlS2luZDtcbiAgYW5pbWFsPzogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIGNhcHR1cmVzUGllY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUhpc3RvcnlFbnRyeSB7XG4gIG1vdmVOdW1iZXI6IG51bWJlcjtcbiAgcGllY2VzOiBDaGVzc2ltYWxzUGllY2VbXTtcbiAgY3VycmVudFR1cm46IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgbW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNNb3ZlTG9nU3RhdHVzID0gJ2FjY2VwdGVkJyB8ICdyZWplY3RlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmVMb2dFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGF0OiBzdHJpbmc7XG4gIHVpZDogc3RyaW5nO1xuICBwcm9maWxlSWQ/OiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHN0YXR1czogQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXM7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlQ291bnRCZWZvcmU6IG51bWJlcjtcbiAgbW92ZUNvdW50QWZ0ZXI/OiBudW1iZXI7XG4gIGN1cnJlbnRUdXJuQmVmb3JlOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50IHtcbiAgdWlkOiBzdHJpbmc7XG4gIGFjY291bnRVc2VySWQ/OiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogc3RyaW5nO1xuICBzZWF0S2V5Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGhhbmRsZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIGpvaW5lZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIGhvc3RVaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBleHBpcmVzQXQ6IHN0cmluZztcbiAgZXhwaXJlc0F0TXM6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgcmVtYXRjaE9mPzogc3RyaW5nO1xuICBsb2JieT86IENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudDtcbiAgcGVuZGluZ0d1ZXN0PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWFsPFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudD4+O1xuICByZW1hdGNoUmVxdWVzdHM/OiBzdHJpbmdbXTtcbiAgbW92ZUxvZz86IENoZXNzaW1hbHNNb3ZlTG9nRW50cnlbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0hpc3RvcnlPdXRjb21lID0gJ3dhaXRpbmcnIHwgJ3BlbmRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICd3b24nIHwgJ2xvc3QnIHwgJ2RlY2xpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzSGlzdG9yeUVudHJ5IHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIG1vZGU6ICdvbmxpbmUnO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIG91dGNvbWU6IENoZXNzaW1hbHNIaXN0b3J5T3V0Y29tZTtcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgb3Bwb25lbnRVaWQ/OiBzdHJpbmc7XG4gIG9wcG9uZW50TmFtZT86IHN0cmluZztcbiAgd2lubmVyPzogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICB3aW5uZXJSZWFzb24/OiBDaGVzc2ltYWxzV2luUmVhc29uO1xuICBtb3ZlQ291bnQ6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBmaW5pc2hlZEF0Pzogc3RyaW5nO1xuICBleHBpcmVzQXQ/OiBzdHJpbmc7XG4gIHJlbWF0Y2hPZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbW9kZTogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIGN1cnJlbnRUdXJuOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW107XG4gIHBsYXllcnM6IFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZT47XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIGxhc3RNb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVIaXN0b3J5PzogQ2hlc3NpbWFsc01vdmVIaXN0b3J5RW50cnlbXTtcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9ICdhY3Rpb24nIHwgJ2NoYXJhY3RlcicgfCAnZXZlbnQnIHwgJ2xlYWRlcicgfCAnb2ZmZXJpbmcnIHwgJ3BsYWNlJyB8ICd0b29sJyB8ICd3aXNkb20nO1xuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5Q2FyZFJhcml0eSA9ICdub3JtYWwnIHwgJ3VuY29tbW9uJyB8ICdyYXJlJyB8ICdsZWdlbmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRBYmlsaXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0aWVzPzogQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQmlibGVSZWZlcmVuY2Uge1xuICBib29rPzogc3RyaW5nO1xuICBjaGFwdGVyPzogbnVtYmVyO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFydCB7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbiAgcG9zaXRpb25YPzogbnVtYmVyO1xuICBwb3NpdGlvblk/OiBudW1iZXI7XG4gIGltYWdlUGF0aD86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBhcnRpc3RDcmVkaXQ/OiBzdHJpbmc7XG4gIHByb21wdElkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VJZD86IG51bWJlcjtcbiAgZWRpdGlvbk51bWJlcj86IG51bWJlcjtcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRUeXBlO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGxlYWRlckxpZmU/OiBudW1iZXI7XG4gIGxlZ2FjeVJlc3RyaWN0aW9uPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xuICBzdHJhdGVneT86IHN0cmluZztcbiAgcG93ZXI/OiBzdHJpbmc7XG4gIGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlO1xuICBhcnQ/OiBDaHJpc3RpYW5pdHlDYXJkQXJ0O1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvblNpemU/OiBudW1iZXI7XG4gIGNvcHlDb3VudD86IG51bWJlcjtcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICByYXJpdHk/OiBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5O1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBiYWNrVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGkxOG4/OiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24+O1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIHNvdXJjZU5vdGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlIHtcbiAgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBjYXJkSWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBvd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgY29udHJvbGxlcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgc2xvdD86IG51bWJlcjtcbiAgYXR0YWNrOiBudW1iZXI7XG4gIGN1cnJlbnRIcDogbnVtYmVyO1xuICBtYXhIcDogbnVtYmVyO1xuICBjYW5BdHRhY2s6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHJlYWR5OiBib29sZWFuO1xuICB2YWx1ZTogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXR5VXNlZFRoaXNUdXJuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSB7XG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQ7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFyQ29sb3I/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgdGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlPzogbnVtYmVyO1xuICBvZmZlcmluZ1BsYXllZFRoaXNUdXJuOiBib29sZWFuO1xuICBoYW5kPzogc3RyaW5nW107XG4gIGhhbmRDb3VudD86IG51bWJlcjtcbiAgYmF0dGxlWm9uZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlHYW1lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzO1xuICBtb2RlOiBDaHJpc3RpYW5pdHlHYW1lTW9kZTtcbiAgdHVybk93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICByZXZpc2lvbjogbnVtYmVyO1xuICB0dXJuQ291bnQ6IG51bWJlcjtcbiAgbWF0Y2hTY29yZTogUmVjb3JkPENocmlzdGlhbml0eVNlYXQsIG51bWJlcj47XG4gIHNoYXJlZERlY2s6IHN0cmluZ1tdO1xuICBwbGFjZVpvbmU6IHN0cmluZ1tdO1xuICBoaXN0b3J5Wm9uZTogc3RyaW5nW107XG4gIHBsYXllcnM6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZT47XG4gIGxvZzogc3RyaW5nW107XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNCb3RQcm9maWxlSWQgPVxuICB8ICdleHBsb3JlcidcbiAgfCAnaW1wdWxzaXZlJ1xuICB8ICdydW5uZXInXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ3NwcmludGVyJ1xuICB8ICdzZW50aW5lbCdcbiAgfCAnb3JhY2xlJ1xuICB8ICdhbWJ1c2hlcidcbiAgfCAnbG9ja3NtaXRoJ1xuICB8ICdzdG9ybSdcbiAgfCAnbWF0cmlhcmNoJ1xuICB8ICdlbmRnYW1lJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNHYW1lU3RhdHVzID0gJ3dhaXRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCcgfCAnZXhwaXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0JvdFByb2ZpbGUge1xuICBpZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBhdmF0YXJTcmM/OiBzdHJpbmc7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNDaGFsbGVuZ2VTdGF0dXMgPSAnYWN0aXZlJyB8ICdjb21wbGV0ZWQnIHwgJ2ZhaWxlZCcgfCAnYWJhbmRvbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlQm90IHtcbiAgaWQ6IHN0cmluZztcbiAgcm91bmQ6IG51bWJlcjtcbiAgcHJvZmlsZUlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eTtcbiAgYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplO1xuICBpbnRyb0tleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFN0YXRzIHtcbiAgcG93ZXJzVXNlZDogUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCBudW1iZXI+O1xuICBwb3dlckNhcHR1cmVzOiBudW1iZXI7XG4gIHByb21vdGlvbnM6IG51bWJlcjtcbiAgY2FwdHVyZXM6IG51bWJlcjtcbiAgbW92ZXM6IG51bWJlcjtcbiAgc2NvcmU6IG51bWJlcjtcbiAgYmVzdE1vdmVTY29yZTogbnVtYmVyO1xuICBiZXN0Q29tYm86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRSZXN1bHQge1xuICByb3VuZDogbnVtYmVyO1xuICBib3RJZDogc3RyaW5nO1xuICBwcm9maWxlSWQ6IENoZXNzaW1hbHNCb3RQcm9maWxlSWQ7XG4gIHdvbjogYm9vbGVhbjtcbiAgbGl2ZXNSZW1haW5pbmc6IG51bWJlcjtcbiAgc3RhdHM6IENoZXNzaW1hbHNDaGFsbGVuZ2VSb3VuZFN0YXRzO1xuICBmaW5pc2hlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJ1biB7XG4gIGlkOiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgc2NoZW1hVmVyc2lvbj86IDI7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXR1cztcbiAgbGl2ZXNTdGFydDogMztcbiAgbGl2ZXNSZW1haW5pbmc6IG51bWJlcjtcbiAgcm91bmRJbmRleD86IG51bWJlcjtcbiAgY3VycmVudFJvdW5kOiBudW1iZXI7XG4gIHJvdW5kc1dvbj86IG51bWJlcjtcbiAgaGlnaGVzdFJvdW5kUmVhY2hlZD86IG51bWJlcjtcbiAgYWN0aXZlUm91bmRJZD86IHN0cmluZztcbiAgd2luczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgYmVzdFN0cmVha0luUnVuOiBudW1iZXI7XG4gIGN1cnJlbnRTdHJlYWs6IG51bWJlcjtcbiAgYm90TGFkZGVyOiBzdHJpbmdbXTtcbiAgcm91bmRSZXN1bHRzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRSZXN1bHRbXTtcbiAgYWN0aXZlR2FtZT86IENoZXNzaW1hbHNHYW1lU3RhdGU7XG4gIHN0YXJ0ZWRBdDogc3RyaW5nO1xuICBsYXN0RXZlbnRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXRzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaGFsbGVuZ2VzUGxheWVkOiBudW1iZXI7XG4gIGNoYWxsZW5nZXNDb21wbGV0ZWQ6IG51bWJlcjtcbiAgYmVzdFdpblN0cmVhazogbnVtYmVyO1xuICBiZXN0Um91bmRSZWFjaGVkOiBudW1iZXI7XG4gIHRvdGFsV2luczogbnVtYmVyO1xuICB0b3RhbExvc3NlczogbnVtYmVyO1xuICBib3RzRGVmZWF0ZWQ6IG51bWJlcjtcbiAgcG93ZXJzVXNlZDogUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCBudW1iZXI+O1xuICBwb3dlckNhcHR1cmVzOiBudW1iZXI7XG4gIHByb21vdGlvbnM6IG51bWJlcjtcbiAgdG90YWxTY29yZTogbnVtYmVyO1xuICBiZXN0Um91bmRTY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xuICBtb2RlU3RhdHM6IFJlY29yZDxDaGVzc2ltYWxzU3RhdHNNb2RlLCBDaGVzc2ltYWxzTW9kZVN0YXRzPjtcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzU3RhdHNNb2RlID0gJ2NoYWxsZW5nZScgfCAnYm90JyB8ICdvbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb2RlU3RhdHMge1xuICBwbGF5ZWQ6IG51bWJlcjtcbiAgd2luczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG9zaXRpb24ge1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BpZWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgY2FwdHVyZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1Bvd2VyQ2FyZCB7XG4gIHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlO1xuICB1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZSB7XG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBvd2VyVW5sb2NrZWQ6IGJvb2xlYW47XG4gIGNhcmRzOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIENoZXNzaW1hbHNQb3dlckNhcmQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlIHtcbiAgcGllY2VJZDogc3RyaW5nO1xuICBmcm9tOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIHRvOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIGtpbmQ6IENoZXNzaW1hbHNNb3ZlS2luZDtcbiAgYW5pbWFsPzogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIGNhcHR1cmVzUGllY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUhpc3RvcnlFbnRyeSB7XG4gIG1vdmVOdW1iZXI6IG51bWJlcjtcbiAgcGllY2VzOiBDaGVzc2ltYWxzUGllY2VbXTtcbiAgY3VycmVudFR1cm46IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgbW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNNb3ZlTG9nU3RhdHVzID0gJ2FjY2VwdGVkJyB8ICdyZWplY3RlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmVMb2dFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGF0OiBzdHJpbmc7XG4gIHVpZDogc3RyaW5nO1xuICBwcm9maWxlSWQ/OiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHN0YXR1czogQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXM7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlQ291bnRCZWZvcmU6IG51bWJlcjtcbiAgbW92ZUNvdW50QWZ0ZXI/OiBudW1iZXI7XG4gIGN1cnJlbnRUdXJuQmVmb3JlOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50IHtcbiAgdWlkOiBzdHJpbmc7XG4gIGFjY291bnRVc2VySWQ/OiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogc3RyaW5nO1xuICBzZWF0S2V5Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGhhbmRsZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIGpvaW5lZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIGhvc3RVaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBleHBpcmVzQXQ6IHN0cmluZztcbiAgZXhwaXJlc0F0TXM6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgcmVtYXRjaE9mPzogc3RyaW5nO1xuICBsb2JieT86IENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudDtcbiAgcGVuZGluZ0d1ZXN0PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWFsPFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudD4+O1xuICByZW1hdGNoUmVxdWVzdHM/OiBzdHJpbmdbXTtcbiAgbW92ZUxvZz86IENoZXNzaW1hbHNNb3ZlTG9nRW50cnlbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0hpc3RvcnlPdXRjb21lID0gJ3dhaXRpbmcnIHwgJ3BlbmRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICd3b24nIHwgJ2xvc3QnIHwgJ2RlY2xpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzSGlzdG9yeUVudHJ5IHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIG1vZGU6ICdvbmxpbmUnO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIG91dGNvbWU6IENoZXNzaW1hbHNIaXN0b3J5T3V0Y29tZTtcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgb3Bwb25lbnRVaWQ/OiBzdHJpbmc7XG4gIG9wcG9uZW50TmFtZT86IHN0cmluZztcbiAgd2lubmVyPzogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICB3aW5uZXJSZWFzb24/OiBDaGVzc2ltYWxzV2luUmVhc29uO1xuICBtb3ZlQ291bnQ6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBmaW5pc2hlZEF0Pzogc3RyaW5nO1xuICBleHBpcmVzQXQ/OiBzdHJpbmc7XG4gIHJlbWF0Y2hPZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbW9kZTogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIGN1cnJlbnRUdXJuOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW107XG4gIHBsYXllcnM6IFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZT47XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIGxhc3RNb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVIaXN0b3J5PzogQ2hlc3NpbWFsc01vdmVIaXN0b3J5RW50cnlbXTtcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9ICdhY3Rpb24nIHwgJ2NoYXJhY3RlcicgfCAnZXZlbnQnIHwgJ2xlYWRlcicgfCAnb2ZmZXJpbmcnIHwgJ3BsYWNlJyB8ICd0b29sJyB8ICd3aXNkb20nO1xuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5Q2FyZFJhcml0eSA9ICdub3JtYWwnIHwgJ3VuY29tbW9uJyB8ICdyYXJlJyB8ICdsZWdlbmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRBYmlsaXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0aWVzPzogQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQmlibGVSZWZlcmVuY2Uge1xuICBib29rPzogc3RyaW5nO1xuICBjaGFwdGVyPzogbnVtYmVyO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFydCB7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbiAgcG9zaXRpb25YPzogbnVtYmVyO1xuICBwb3NpdGlvblk/OiBudW1iZXI7XG4gIGltYWdlUGF0aD86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBhcnRpc3RDcmVkaXQ/OiBzdHJpbmc7XG4gIHByb21wdElkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VJZD86IG51bWJlcjtcbiAgZWRpdGlvbk51bWJlcj86IG51bWJlcjtcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRUeXBlO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGxlYWRlckxpZmU/OiBudW1iZXI7XG4gIGxlZ2FjeVJlc3RyaWN0aW9uPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xuICBzdHJhdGVneT86IHN0cmluZztcbiAgcG93ZXI/OiBzdHJpbmc7XG4gIGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlO1xuICBhcnQ/OiBDaHJpc3RpYW5pdHlDYXJkQXJ0O1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvblNpemU/OiBudW1iZXI7XG4gIGNvcHlDb3VudD86IG51bWJlcjtcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICByYXJpdHk/OiBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5O1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBiYWNrVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGkxOG4/OiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24+O1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIHNvdXJjZU5vdGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlIHtcbiAgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBjYXJkSWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBvd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgY29udHJvbGxlcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgc2xvdD86IG51bWJlcjtcbiAgYXR0YWNrOiBudW1iZXI7XG4gIGN1cnJlbnRIcDogbnVtYmVyO1xuICBtYXhIcDogbnVtYmVyO1xuICBjYW5BdHRhY2s6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHJlYWR5OiBib29sZWFuO1xuICB2YWx1ZTogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXR5VXNlZFRoaXNUdXJuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSB7XG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQ7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFyQ29sb3I/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgdGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlPzogbnVtYmVyO1xuICBvZmZlcmluZ1BsYXllZFRoaXNUdXJuOiBib29sZWFuO1xuICBoYW5kPzogc3RyaW5nW107XG4gIGhhbmRDb3VudD86IG51bWJlcjtcbiAgYmF0dGxlWm9uZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlHYW1lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzO1xuICBtb2RlOiBDaHJpc3RpYW5pdHlHYW1lTW9kZTtcbiAgdHVybk93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICByZXZpc2lvbjogbnVtYmVyO1xuICB0dXJuQ291bnQ6IG51bWJlcjtcbiAgbWF0Y2hTY29yZTogUmVjb3JkPENocmlzdGlhbml0eVNlYXQsIG51bWJlcj47XG4gIHNoYXJlZERlY2s6IHN0cmluZ1tdO1xuICBwbGFjZVpvbmU6IHN0cmluZ1tdO1xuICBoaXN0b3J5Wm9uZTogc3RyaW5nW107XG4gIHBsYXllcnM6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZT47XG4gIGxvZzogc3RyaW5nW107XG59XG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { Validators } from '@angular/forms';
|
|
|
3
3
|
import { ComponentStates, InputType, } from '../../components/types';
|
|
4
4
|
import { button } from '../../components/atoms/button/factory';
|
|
5
5
|
import { I18nService } from '../i18n/i18n.service';
|
|
6
|
+
import { DEFAULT_CANONICAL_FIELD_ALIASES, } from './types';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class FormSchemaBuilderService {
|
|
8
9
|
constructor() {
|
|
@@ -60,6 +61,69 @@ export class FormSchemaBuilderService {
|
|
|
60
61
|
state,
|
|
61
62
|
};
|
|
62
63
|
}
|
|
64
|
+
createFieldSchema(field, order) {
|
|
65
|
+
const type = field.type || 'TEXT';
|
|
66
|
+
const validators = field.validators ?? this.defaultValidatorsFor(type, !!field.required);
|
|
67
|
+
return {
|
|
68
|
+
type,
|
|
69
|
+
name: this.toToken(field.name || field.label),
|
|
70
|
+
labelKey: field.labelKey || this.toToken(field.name || field.label),
|
|
71
|
+
label: field.label.trim(),
|
|
72
|
+
labelEs: field.labelEs,
|
|
73
|
+
labelEn: field.labelEn,
|
|
74
|
+
placeholder: field.placeholder,
|
|
75
|
+
placeholderText: field.placeholderText?.trim() ?? '',
|
|
76
|
+
placeholderEs: field.placeholderEs,
|
|
77
|
+
placeholderEn: field.placeholderEn,
|
|
78
|
+
hint: field.hint,
|
|
79
|
+
hintText: field.hintText?.trim() ?? '',
|
|
80
|
+
hintEs: field.hintEs,
|
|
81
|
+
hintEn: field.hintEn,
|
|
82
|
+
required: !!field.required,
|
|
83
|
+
validators,
|
|
84
|
+
options: this.normalizeOptions(field.options),
|
|
85
|
+
order,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
createFormSchemaConfig(input) {
|
|
89
|
+
return {
|
|
90
|
+
schemaId: input.schemaId,
|
|
91
|
+
schemaVersion: input.schemaVersion,
|
|
92
|
+
labelEs: input.labelEs,
|
|
93
|
+
labelEn: input.labelEn,
|
|
94
|
+
canonicalMap: this.buildCanonicalMap(input.fields, input.canonicalAliases),
|
|
95
|
+
fieldSchema: input.fields,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
buildCanonicalMap(fields, aliases = DEFAULT_CANONICAL_FIELD_ALIASES) {
|
|
99
|
+
const names = new Set(fields.map(field => field.name));
|
|
100
|
+
const map = {};
|
|
101
|
+
for (const [canonicalName, candidates] of Object.entries(aliases)) {
|
|
102
|
+
const match = candidates.find(candidate => names.has(candidate));
|
|
103
|
+
if (match)
|
|
104
|
+
map[canonicalName] = match;
|
|
105
|
+
}
|
|
106
|
+
return map;
|
|
107
|
+
}
|
|
108
|
+
toToken(value) {
|
|
109
|
+
return value
|
|
110
|
+
.normalize('NFD')
|
|
111
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
112
|
+
.replace(/[^a-zA-Z0-9_ -]/g, '')
|
|
113
|
+
.trim()
|
|
114
|
+
.replace(/[\s-]+(.)/g, (_, c) => c.toUpperCase())
|
|
115
|
+
.replace(/^[A-Z]/, c => c.toLowerCase());
|
|
116
|
+
}
|
|
117
|
+
uniqueFieldName(value, existingFields) {
|
|
118
|
+
const base = this.toToken(value) || 'field';
|
|
119
|
+
const used = new Set(existingFields.map(field => this.toToken(field.name)));
|
|
120
|
+
if (!used.has(base))
|
|
121
|
+
return base;
|
|
122
|
+
let suffix = 2;
|
|
123
|
+
while (used.has(`${base}${suffix}`))
|
|
124
|
+
suffix += 1;
|
|
125
|
+
return `${base}${suffix}`;
|
|
126
|
+
}
|
|
63
127
|
parseValidators(def) {
|
|
64
128
|
const result = [];
|
|
65
129
|
const entries = def.validators ?? [];
|
|
@@ -96,6 +160,25 @@ export class FormSchemaBuilderService {
|
|
|
96
160
|
}
|
|
97
161
|
return result;
|
|
98
162
|
}
|
|
163
|
+
defaultValidatorsFor(type, required) {
|
|
164
|
+
const validators = new Set(required ? ['required'] : []);
|
|
165
|
+
if (type === 'EMAIL')
|
|
166
|
+
validators.add('email');
|
|
167
|
+
if (type === 'TEXT' || type === 'PHONE')
|
|
168
|
+
validators.add('maxLength:200');
|
|
169
|
+
return [...validators];
|
|
170
|
+
}
|
|
171
|
+
normalizeOptions(options) {
|
|
172
|
+
if (!options?.length)
|
|
173
|
+
return undefined;
|
|
174
|
+
return [...options]
|
|
175
|
+
.map((option, index) => ({
|
|
176
|
+
id: option.id,
|
|
177
|
+
name: option.name,
|
|
178
|
+
order: option.order ?? index,
|
|
179
|
+
}))
|
|
180
|
+
.sort((a, b) => a.order - b.order);
|
|
181
|
+
}
|
|
99
182
|
parseInputType(typeStr) {
|
|
100
183
|
const map = {
|
|
101
184
|
TEXT: InputType.TEXT,
|
|
@@ -122,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
122
205
|
type: Injectable,
|
|
123
206
|
args: [{ providedIn: 'root' }]
|
|
124
207
|
}] });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUVVLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FrSXBDO0lBaElDLFNBQVMsQ0FDUCxNQUF3QixFQUN4QixhQUFxQixFQUNyQixRQUFnQixFQUNoQixpQkFBeUIsUUFBUSxFQUNqQyxRQUF3QixlQUFlLENBQUMsT0FBTztRQUUvQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQW9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RixNQUFNLE9BQU8sR0FBZ0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVB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U0FBUyxDQUFDLE1BQU07WUFDeEIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO1lBQ3BDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSztZQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtTQUM3QixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDOytHQWxJVSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQURYLE1BQU07OzRGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50U3RhdGUsXG4gIENvbXBvbmVudFN0YXRlcyxcbiAgRm9ybU1ldGFkYXRhLFxuICBGb3JtU2VjdGlvbixcbiAgSW5wdXRNZXRhZGF0YSxcbiAgSW5wdXRPcHRpb24sXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90eXBlcyc7XG5pbXBvcnQgeyBidXR0b24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRTY2hlbWFEZWYgfSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2Uge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIGJ1aWxkRm9ybShcbiAgICBzY2hlbWE6IEZpZWxkU2NoZW1hRGVmW10sXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXG4gICAgc3VibWl0TGFiZWxLZXk6IHN0cmluZyA9ICdzdWJtaXQnLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEXG4gICk6IEZvcm1NZXRhZGF0YSB7XG4gICAgY29uc3Qgc29ydGVkID0gWy4uLnNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIGNvbnN0IGZpZWxkczogSW5wdXRNZXRhZGF0YVtdID0gc29ydGVkLm1hcChkZWYgPT4gdGhpcy5idWlsZEZpZWxkKGRlZiwgaTE4bk5hbWVzcGFjZSwgc3RhdGUpKTtcbiAgICBjb25zdCBzZWN0aW9uOiBGb3JtU2VjdGlvbiA9IHsgbmFtZTogJycsIG9yZGVyOiAwLCBmaWVsZHMgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBmb3JtTmFtZSxcbiAgICAgIHNlY3Rpb25zOiBbc2VjdGlvbl0sXG4gICAgICBhY3Rpb25zOiBidXR0b24oe1xuICAgICAgICB0ZXh0OiB0aGlzLmkxOG4udChzdWJtaXRMYWJlbEtleSwgaTE4bk5hbWVzcGFjZSksXG4gICAgICAgIHR5cGU6ICdzdWJtaXQnLFxuICAgICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICB9KSxcbiAgICAgIHN0YXRlLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRGaWVsZChcbiAgICBkZWY6IEZpZWxkU2NoZW1hRGVmLFxuICAgIGkxOG5OYW1lc3BhY2U6IHN0cmluZyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVcbiAgKTogSW5wdXRNZXRhZGF0YSB7XG4gICAgY29uc3QgbGFuZyA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgKGxhbmcgPT09ICdlbicgPyBkZWYubGFiZWxFbiA6IGRlZi5sYWJlbEVzKSB8fFxuICAgICAgZGVmLmxhYmVsIHx8XG4gICAgICAoZGVmLmxhYmVsS2V5ID8gdGhpcy5pMThuLnQoZGVmLmxhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSA6IGRlZi5uYW1lKTtcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9XG4gICAgICAobGFuZyA9PT0gJ2VuJyA/IGRlZi5wbGFjZWhvbGRlckVuIDogZGVmLnBsYWNlaG9sZGVyRXMpIHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJUZXh0IHx8XG4gICAgICAoZGVmLnBsYWNlaG9sZGVyID8gdGhpcy5pMThuLnQoZGVmLnBsYWNlaG9sZGVyLCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCBoaW50ID1cbiAgICAgIChsYW5nID09PSAnZW4nID8gZGVmLmhpbnRFbiA6IGRlZi5oaW50RXMpIHx8XG4gICAgICBkZWYuaGludFRleHQgfHxcbiAgICAgIChkZWYuaGludCA/IHRoaXMuaTE4bi50KGRlZi5oaW50LCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5wYXJzZVZhbGlkYXRvcnMoZGVmKTtcbiAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGlmIChkZWYucmVxdWlyZWQgfHwgKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygncmVxdWlyZWQnKSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkUmVxdWlyZWQnLCAnX2NvbW1vbicpO1xuICAgIH1cbiAgICBpZiAoKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgZXJyb3JzWydlbWFpbCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkSW52YWxpZEVtYWlsJywgJ19jb21tb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdIHwgdW5kZWZpbmVkID0gZGVmLm9wdGlvbnNcbiAgICAgID8gZGVmLm9wdGlvbnMubWFwKG8gPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogZGVmLm5hbWUsXG4gICAgICBuYW1lOiBkZWYubmFtZSxcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBoaW50LFxuICAgICAgdHlwZTogdGhpcy5wYXJzZUlucHV0VHlwZShkZWYudHlwZSksXG4gICAgICBvcmRlcjogZGVmLm9yZGVyLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBlcnJvcnMsXG4gICAgICBzdGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVmFsaWRhdG9ycyhkZWY6IEZpZWxkU2NoZW1hRGVmKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgY29uc3QgZW50cmllcyA9IGRlZi52YWxpZGF0b3JzID8/IFtdO1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gZGVmLnJlcXVpcmVkIHx8IGVudHJpZXMuaW5jbHVkZXMoJ3JlcXVpcmVkJyk7XG5cbiAgICBpZiAoaGFzUmVxdWlyZWQpIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBpZiAoZW50cnkgPT09ICdyZXF1aXJlZCcpIGNvbnRpbnVlO1xuICAgICAgaWYgKGVudHJ5ID09PSAnZW1haWwnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbkxlbmd0aE1hdGNoID0gZW50cnkubWF0Y2goL15taW5MZW5ndGg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1pbkxlbmd0aE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKE51bWJlcihtaW5MZW5ndGhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhMZW5ndGhNYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWF4TGVuZ3RoOihcXGQrKSQvKTtcbiAgICAgIGlmIChtYXhMZW5ndGhNYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChOdW1iZXIobWF4TGVuZ3RoTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1pbjooXFxkKykkLyk7XG4gICAgICBpZiAobWluTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5taW4oTnVtYmVyKG1pbk1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heE1hdGNoID0gZW50cnkubWF0Y2goL15tYXg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1heE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWF4KE51bWJlcihtYXhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0VHlwZSh0eXBlU3RyOiBzdHJpbmcpOiBJbnB1dFR5cGUge1xuICAgIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgSW5wdXRUeXBlPiA9IHtcbiAgICAgIFRFWFQ6IElucHV0VHlwZS5URVhULFxuICAgICAgVEVYVEFSRUE6IElucHV0VHlwZS5URVhUQVJFQSxcbiAgICAgIEVNQUlMOiBJbnB1dFR5cGUuRU1BSUwsXG4gICAgICBOVU1CRVI6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBEQVRFOiBJbnB1dFR5cGUuREFURSxcbiAgICAgIFNFTEVDVDogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgIE1VTFRJX1NFTEVDVDogSW5wdXRUeXBlLk1VTFRJX1NFTEVDVCxcbiAgICAgIFJBRElPOiBJbnB1dFR5cGUuUkFESU8sXG4gICAgICBUT0dHTEU6IElucHV0VHlwZS5UT0dHTEUsXG4gICAgICBDSEVDSzogSW5wdXRUeXBlLkNIRUNLLFxuICAgICAgRklMRTogSW5wdXRUeXBlLkZJTEUsXG4gICAgICBBVFRBQ0hNRU5UOiBJbnB1dFR5cGUuQVRUQUNITUVOVCxcbiAgICAgIFBIT05FOiBJbnB1dFR5cGUuUEhPTkUsXG4gICAgICBDVVJSRU5DWTogSW5wdXRUeXBlLkNVUlJFTkNZLFxuICAgIH07XG4gICAgcmV0dXJuIG1hcFt0eXBlU3RyXSA/PyBJbnB1dFR5cGUuVEVYVDtcbiAgfVxufVxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFFTCxlQUFlLEVBS2YsU0FBUyxHQUNWLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBRUwsK0JBQStCLEdBSWhDLE1BQU0sU0FBUyxDQUFDOztBQUdqQixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWtPcEM7SUFoT0MsU0FBUyxDQUNQLE1BQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLFFBQWdCLEVBQ2hCLGlCQUF5QixRQUFRLEVBQ2pDLFFBQXdCLGVBQWUsQ0FBQyxPQUFPO1FBRS9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sT0FBTyxHQUFn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Y0FEWCxNQUFNOzs0RkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudFN0YXRlLFxuICBDb21wb25lbnRTdGF0ZXMsXG4gIEZvcm1NZXRhZGF0YSxcbiAgRm9ybVNlY3Rpb24sXG4gIElucHV0TWV0YWRhdGEsXG4gIElucHV0T3B0aW9uLFxuICBJbnB1dFR5cGUsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHlwZXMnO1xuaW1wb3J0IHsgYnV0dG9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENhbm9uaWNhbEZpZWxkQWxpYXNlcyxcbiAgREVGQVVMVF9DQU5PTklDQUxfRklFTERfQUxJQVNFUyxcbiAgRmllbGRPcHRpb24sXG4gIEZpZWxkU2NoZW1hRGVmLFxuICBGb3JtU2NoZW1hQ29uZmlnLFxufSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2Uge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIGJ1aWxkRm9ybShcbiAgICBzY2hlbWE6IEZpZWxkU2NoZW1hRGVmW10sXG4gICAgaTE4bk5hbWVzcGFjZTogc3RyaW5nLFxuICAgIGZvcm1OYW1lOiBzdHJpbmcsXG4gICAgc3VibWl0TGFiZWxLZXk6IHN0cmluZyA9ICdzdWJtaXQnLFxuICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEXG4gICk6IEZvcm1NZXRhZGF0YSB7XG4gICAgY29uc3Qgc29ydGVkID0gWy4uLnNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIGNvbnN0IGZpZWxkczogSW5wdXRNZXRhZGF0YVtdID0gc29ydGVkLm1hcChkZWYgPT4gdGhpcy5idWlsZEZpZWxkKGRlZiwgaTE4bk5hbWVzcGFjZSwgc3RhdGUpKTtcbiAgICBjb25zdCBzZWN0aW9uOiBGb3JtU2VjdGlvbiA9IHsgbmFtZTogJycsIG9yZGVyOiAwLCBmaWVsZHMgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBmb3JtTmFtZSxcbiAgICAgIHNlY3Rpb25zOiBbc2VjdGlvbl0sXG4gICAgICBhY3Rpb25zOiBidXR0b24oe1xuICAgICAgICB0ZXh0OiB0aGlzLmkxOG4udChzdWJtaXRMYWJlbEtleSwgaTE4bk5hbWVzcGFjZSksXG4gICAgICAgIHR5cGU6ICdzdWJtaXQnLFxuICAgICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICB9KSxcbiAgICAgIHN0YXRlLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRGaWVsZChcbiAgICBkZWY6IEZpZWxkU2NoZW1hRGVmLFxuICAgIGkxOG5OYW1lc3BhY2U6IHN0cmluZyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVcbiAgKTogSW5wdXRNZXRhZGF0YSB7XG4gICAgY29uc3QgbGFuZyA9IHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgKGxhbmcgPT09ICdlbicgPyBkZWYubGFiZWxFbiA6IGRlZi5sYWJlbEVzKSB8fFxuICAgICAgZGVmLmxhYmVsIHx8XG4gICAgICAoZGVmLmxhYmVsS2V5ID8gdGhpcy5pMThuLnQoZGVmLmxhYmVsS2V5LCBpMThuTmFtZXNwYWNlKSA6IGRlZi5uYW1lKTtcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9XG4gICAgICAobGFuZyA9PT0gJ2VuJyA/IGRlZi5wbGFjZWhvbGRlckVuIDogZGVmLnBsYWNlaG9sZGVyRXMpIHx8XG4gICAgICBkZWYucGxhY2Vob2xkZXJUZXh0IHx8XG4gICAgICAoZGVmLnBsYWNlaG9sZGVyID8gdGhpcy5pMThuLnQoZGVmLnBsYWNlaG9sZGVyLCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCBoaW50ID1cbiAgICAgIChsYW5nID09PSAnZW4nID8gZGVmLmhpbnRFbiA6IGRlZi5oaW50RXMpIHx8XG4gICAgICBkZWYuaGludFRleHQgfHxcbiAgICAgIChkZWYuaGludCA/IHRoaXMuaTE4bi50KGRlZi5oaW50LCBpMThuTmFtZXNwYWNlKSA6ICcnKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5wYXJzZVZhbGlkYXRvcnMoZGVmKTtcbiAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGlmIChkZWYucmVxdWlyZWQgfHwgKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygncmVxdWlyZWQnKSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkUmVxdWlyZWQnLCAnX2NvbW1vbicpO1xuICAgIH1cbiAgICBpZiAoKGRlZi52YWxpZGF0b3JzID8/IFtdKS5pbmNsdWRlcygnZW1haWwnKSkge1xuICAgICAgZXJyb3JzWydlbWFpbCddID0gdGhpcy5pMThuLnQoJ2ZpZWxkSW52YWxpZEVtYWlsJywgJ19jb21tb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdIHwgdW5kZWZpbmVkID0gZGVmLm9wdGlvbnNcbiAgICAgID8gZGVmLm9wdGlvbnMubWFwKG8gPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgfSkpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogZGVmLm5hbWUsXG4gICAgICBuYW1lOiBkZWYubmFtZSxcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICBoaW50LFxuICAgICAgdHlwZTogdGhpcy5wYXJzZUlucHV0VHlwZShkZWYudHlwZSksXG4gICAgICBvcmRlcjogZGVmLm9yZGVyLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBlcnJvcnMsXG4gICAgICBzdGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlRmllbGRTY2hlbWEoXG4gICAgZmllbGQ6IFBhcnRpYWw8RmllbGRTY2hlbWFEZWY+ICYgUGljazxGaWVsZFNjaGVtYURlZiwgJ25hbWUnIHwgJ2xhYmVsJz4sXG4gICAgb3JkZXI6IG51bWJlclxuICApOiBGaWVsZFNjaGVtYURlZiB7XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLnR5cGUgfHwgJ1RFWFQnO1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBmaWVsZC52YWxpZGF0b3JzID8/IHRoaXMuZGVmYXVsdFZhbGlkYXRvcnNGb3IodHlwZSwgISFmaWVsZC5yZXF1aXJlZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGUsXG4gICAgICBuYW1lOiB0aGlzLnRvVG9rZW4oZmllbGQubmFtZSB8fCBmaWVsZC5sYWJlbCksXG4gICAgICBsYWJlbEtleTogZmllbGQubGFiZWxLZXkgfHwgdGhpcy50b1Rva2VuKGZpZWxkLm5hbWUgfHwgZmllbGQubGFiZWwpLFxuICAgICAgbGFiZWw6IGZpZWxkLmxhYmVsLnRyaW0oKSxcbiAgICAgIGxhYmVsRXM6IGZpZWxkLmxhYmVsRXMsXG4gICAgICBsYWJlbEVuOiBmaWVsZC5sYWJlbEVuLFxuICAgICAgcGxhY2Vob2xkZXI6IGZpZWxkLnBsYWNlaG9sZGVyLFxuICAgICAgcGxhY2Vob2xkZXJUZXh0OiBmaWVsZC5wbGFjZWhvbGRlclRleHQ/LnRyaW0oKSA/PyAnJyxcbiAgICAgIHBsYWNlaG9sZGVyRXM6IGZpZWxkLnBsYWNlaG9sZGVyRXMsXG4gICAgICBwbGFjZWhvbGRlckVuOiBmaWVsZC5wbGFjZWhvbGRlckVuLFxuICAgICAgaGludDogZmllbGQuaGludCxcbiAgICAgIGhpbnRUZXh0OiBmaWVsZC5oaW50VGV4dD8udHJpbSgpID8/ICcnLFxuICAgICAgaGludEVzOiBmaWVsZC5oaW50RXMsXG4gICAgICBoaW50RW46IGZpZWxkLmhpbnRFbixcbiAgICAgIHJlcXVpcmVkOiAhIWZpZWxkLnJlcXVpcmVkLFxuICAgICAgdmFsaWRhdG9ycyxcbiAgICAgIG9wdGlvbnM6IHRoaXMubm9ybWFsaXplT3B0aW9ucyhmaWVsZC5vcHRpb25zKSxcbiAgICAgIG9yZGVyLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVGb3JtU2NoZW1hQ29uZmlnKGlucHV0OiB7XG4gICAgc2NoZW1hSWQ6IHN0cmluZztcbiAgICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nO1xuICAgIGxhYmVsRXM/OiBzdHJpbmc7XG4gICAgbGFiZWxFbj86IHN0cmluZztcbiAgICBmaWVsZHM6IEZpZWxkU2NoZW1hRGVmW107XG4gICAgY2Fub25pY2FsQWxpYXNlcz86IENhbm9uaWNhbEZpZWxkQWxpYXNlcztcbiAgfSk6IEZvcm1TY2hlbWFDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWFJZDogaW5wdXQuc2NoZW1hSWQsXG4gICAgICBzY2hlbWFWZXJzaW9uOiBpbnB1dC5zY2hlbWFWZXJzaW9uLFxuICAgICAgbGFiZWxFczogaW5wdXQubGFiZWxFcyxcbiAgICAgIGxhYmVsRW46IGlucHV0LmxhYmVsRW4sXG4gICAgICBjYW5vbmljYWxNYXA6IHRoaXMuYnVpbGRDYW5vbmljYWxNYXAoaW5wdXQuZmllbGRzLCBpbnB1dC5jYW5vbmljYWxBbGlhc2VzKSxcbiAgICAgIGZpZWxkU2NoZW1hOiBpbnB1dC5maWVsZHMsXG4gICAgfTtcbiAgfVxuXG4gIGJ1aWxkQ2Fub25pY2FsTWFwKFxuICAgIGZpZWxkczogRmllbGRTY2hlbWFEZWZbXSxcbiAgICBhbGlhc2VzOiBDYW5vbmljYWxGaWVsZEFsaWFzZXMgPSBERUZBVUxUX0NBTk9OSUNBTF9GSUVMRF9BTElBU0VTXG4gICk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IG5hbWVzID0gbmV3IFNldChmaWVsZHMubWFwKGZpZWxkID0+IGZpZWxkLm5hbWUpKTtcbiAgICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtjYW5vbmljYWxOYW1lLCBjYW5kaWRhdGVzXSBvZiBPYmplY3QuZW50cmllcyhhbGlhc2VzKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSBjYW5kaWRhdGVzLmZpbmQoY2FuZGlkYXRlID0+IG5hbWVzLmhhcyhjYW5kaWRhdGUpKTtcbiAgICAgIGlmIChtYXRjaCkgbWFwW2Nhbm9uaWNhbE5hbWVdID0gbWF0Y2g7XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICB0b1Rva2VuKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOV8gLV0vZywgJycpXG4gICAgICAudHJpbSgpXG4gICAgICAucmVwbGFjZSgvW1xccy1dKyguKS9nLCAoXywgYzogc3RyaW5nKSA9PiBjLnRvVXBwZXJDYXNlKCkpXG4gICAgICAucmVwbGFjZSgvXltBLVpdLywgYyA9PiBjLnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgdW5pcXVlRmllbGROYW1lKHZhbHVlOiBzdHJpbmcsIGV4aXN0aW5nRmllbGRzOiBBcnJheTxQaWNrPEZpZWxkU2NoZW1hRGVmLCAnbmFtZSc+Pik6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZSA9IHRoaXMudG9Ub2tlbih2YWx1ZSkgfHwgJ2ZpZWxkJztcbiAgICBjb25zdCB1c2VkID0gbmV3IFNldChleGlzdGluZ0ZpZWxkcy5tYXAoZmllbGQgPT4gdGhpcy50b1Rva2VuKGZpZWxkLm5hbWUpKSk7XG4gICAgaWYgKCF1c2VkLmhhcyhiYXNlKSkgcmV0dXJuIGJhc2U7XG4gICAgbGV0IHN1ZmZpeCA9IDI7XG4gICAgd2hpbGUgKHVzZWQuaGFzKGAke2Jhc2V9JHtzdWZmaXh9YCkpIHN1ZmZpeCArPSAxO1xuICAgIHJldHVybiBgJHtiYXNlfSR7c3VmZml4fWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VWYWxpZGF0b3JzKGRlZjogRmllbGRTY2hlbWFEZWYpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCByZXN1bHQ6IFZhbGlkYXRvckZuW10gPSBbXTtcbiAgICBjb25zdCBlbnRyaWVzID0gZGVmLnZhbGlkYXRvcnMgPz8gW107XG4gICAgY29uc3QgaGFzUmVxdWlyZWQgPSBkZWYucmVxdWlyZWQgfHwgZW50cmllcy5pbmNsdWRlcygncmVxdWlyZWQnKTtcblxuICAgIGlmIChoYXNSZXF1aXJlZCkgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmIChlbnRyeSA9PT0gJ3JlcXVpcmVkJykgY29udGludWU7XG4gICAgICBpZiAoZW50cnkgPT09ICdlbWFpbCcpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5lbWFpbCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluTGVuZ3RoTWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1pbkxlbmd0aDooXFxkKykkLyk7XG4gICAgICBpZiAobWluTGVuZ3RoTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgoTnVtYmVyKG1pbkxlbmd0aE1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heExlbmd0aE1hdGNoID0gZW50cnkubWF0Y2goL15tYXhMZW5ndGg6KFxcZCspJC8pO1xuICAgICAgaWYgKG1heExlbmd0aE1hdGNoKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKE51bWJlcihtYXhMZW5ndGhNYXRjaFsxXSkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5NYXRjaCA9IGVudHJ5Lm1hdGNoKC9ebWluOihcXGQrKSQvKTtcbiAgICAgIGlmIChtaW5NYXRjaCkge1xuICAgICAgICByZXN1bHQucHVzaChWYWxpZGF0b3JzLm1pbihOdW1iZXIobWluTWF0Y2hbMV0pKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4TWF0Y2ggPSBlbnRyeS5tYXRjaCgvXm1heDooXFxkKykkLyk7XG4gICAgICBpZiAobWF4TWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5tYXgoTnVtYmVyKG1heE1hdGNoWzFdKSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZGVmYXVsdFZhbGlkYXRvcnNGb3IodHlwZTogc3RyaW5nLCByZXF1aXJlZDogYm9vbGVhbik6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gbmV3IFNldDxzdHJpbmc+KHJlcXVpcmVkID8gWydyZXF1aXJlZCddIDogW10pO1xuICAgIGlmICh0eXBlID09PSAnRU1BSUwnKSB2YWxpZGF0b3JzLmFkZCgnZW1haWwnKTtcbiAgICBpZiAodHlwZSA9PT0gJ1RFWFQnIHx8IHR5cGUgPT09ICdQSE9ORScpIHZhbGlkYXRvcnMuYWRkKCdtYXhMZW5ndGg6MjAwJyk7XG4gICAgcmV0dXJuIFsuLi52YWxpZGF0b3JzXTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zPzogRmllbGRPcHRpb25bXSk6IEZpZWxkT3B0aW9uW10gfCB1bmRlZmluZWQge1xuICAgIGlmICghb3B0aW9ucz8ubGVuZ3RoKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBbLi4ub3B0aW9uc11cbiAgICAgIC5tYXAoKG9wdGlvbiwgaW5kZXgpID0+ICh7XG4gICAgICAgIGlkOiBvcHRpb24uaWQsXG4gICAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgICAgICBvcmRlcjogb3B0aW9uLm9yZGVyID8/IGluZGV4LFxuICAgICAgfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlSW5wdXRUeXBlKHR5cGVTdHI6IHN0cmluZyk6IElucHV0VHlwZSB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBJbnB1dFR5cGU+ID0ge1xuICAgICAgVEVYVDogSW5wdXRUeXBlLlRFWFQsXG4gICAgICBURVhUQVJFQTogSW5wdXRUeXBlLlRFWFRBUkVBLFxuICAgICAgRU1BSUw6IElucHV0VHlwZS5FTUFJTCxcbiAgICAgIE5VTUJFUjogSW5wdXRUeXBlLk5VTUJFUixcbiAgICAgIERBVEU6IElucHV0VHlwZS5EQVRFLFxuICAgICAgU0VMRUNUOiBJbnB1dFR5cGUuU0VMRUNULFxuICAgICAgTVVMVElfU0VMRUNUOiBJbnB1dFR5cGUuTVVMVElfU0VMRUNULFxuICAgICAgUkFESU86IElucHV0VHlwZS5SQURJTyxcbiAgICAgIFRPR0dMRTogSW5wdXRUeXBlLlRPR0dMRSxcbiAgICAgIENIRUNLOiBJbnB1dFR5cGUuQ0hFQ0ssXG4gICAgICBGSUxFOiBJbnB1dFR5cGUuRklMRSxcbiAgICAgIEFUVEFDSE1FTlQ6IElucHV0VHlwZS5BVFRBQ0hNRU5ULFxuICAgICAgUEhPTkU6IElucHV0VHlwZS5QSE9ORSxcbiAgICAgIENVUlJFTkNZOiBJbnB1dFR5cGUuQ1VSUkVOQ1ksXG4gICAgfTtcbiAgICByZXR1cm4gbWFwW3R5cGVTdHJdID8/IElucHV0VHlwZS5URVhUO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export const DEFAULT_CANONICAL_FIELD_ALIASES = {
|
|
2
|
+
email: ['email', 'buyerEmail', 'contactEmail'],
|
|
3
|
+
name: ['buyerName', 'name', 'fullName'],
|
|
4
|
+
firstName: ['buyerFirstName', 'firstName'],
|
|
5
|
+
lastName: ['buyerLastName', 'lastName'],
|
|
6
|
+
phone: ['buyerPhone', 'phone', 'telephone'],
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Zvcm1zL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDQSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBMEI7SUFDcEUsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7SUFDOUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDdkMsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO0lBQzFDLFFBQVEsRUFBRSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUM7SUFDdkMsS0FBSyxFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUM7Q0FDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmllbGRPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTY2hlbWFEZWYge1xuICAvKiogSW5wdXRUeXBlIGVudW0gbmFtZSBhcyBzdHJpbmc6ICdURVhUJywgJ1RFWFRBUkVBJywgJ1NFTEVDVCcsIGV0Yy4gKi9cbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhYmVsS2V5Pzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGFiZWxFcz86IHN0cmluZztcbiAgbGFiZWxFbj86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXJFcz86IHN0cmluZztcbiAgcGxhY2Vob2xkZXJFbj86IHN0cmluZztcbiAgaGludD86IHN0cmluZztcbiAgaGludFRleHQ/OiBzdHJpbmc7XG4gIGhpbnRFcz86IHN0cmluZztcbiAgaGludEVuPzogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgLyoqIGUuZy4gJ3JlcXVpcmVkJywgJ2VtYWlsJywgJ21heExlbmd0aDo1MDAnLCAnbWluTGVuZ3RoOjMnICovXG4gIHZhbGlkYXRvcnM/OiBzdHJpbmdbXTtcbiAgb3B0aW9ucz86IEZpZWxkT3B0aW9uW107XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNjaGVtYUNvbmZpZyB7XG4gIHNjaGVtYUlkOiBzdHJpbmc7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gIGxhYmVsRXM/OiBzdHJpbmc7XG4gIGxhYmVsRW4/OiBzdHJpbmc7XG4gIGNhbm9uaWNhbE1hcD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYURlZltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbm9uaWNhbEZpZWxkQWxpYXNlcyB7XG4gIFtjYW5vbmljYWxOYW1lOiBzdHJpbmddOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FOT05JQ0FMX0ZJRUxEX0FMSUFTRVM6IENhbm9uaWNhbEZpZWxkQWxpYXNlcyA9IHtcbiAgZW1haWw6IFsnZW1haWwnLCAnYnV5ZXJFbWFpbCcsICdjb250YWN0RW1haWwnXSxcbiAgbmFtZTogWydidXllck5hbWUnLCAnbmFtZScsICdmdWxsTmFtZSddLFxuICBmaXJzdE5hbWU6IFsnYnV5ZXJGaXJzdE5hbWUnLCAnZmlyc3ROYW1lJ10sXG4gIGxhc3ROYW1lOiBbJ2J1eWVyTGFzdE5hbWUnLCAnbGFzdE5hbWUnXSxcbiAgcGhvbmU6IFsnYnV5ZXJQaG9uZScsICdwaG9uZScsICd0ZWxlcGhvbmUnXSxcbn07XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -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.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.539';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41MzknO1xuIl19
|