valtech-components 4.0.472 → 4.0.474

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +9 -18
  2. package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +16 -109
  3. package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +74 -21
  4. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +9 -18
  5. package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +21 -275
  6. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +9 -18
  7. package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
  8. package/esm2022/lib/version.mjs +2 -2
  9. package/esm2022/mini-games/public-api.mjs +2 -34
  10. package/esm2022/public-api.mjs +1 -3
  11. package/fesm2022/valtech-components-mini-games.mjs +2 -34
  12. package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
  13. package/fesm2022/valtech-components.mjs +135 -3016
  14. package/fesm2022/valtech-components.mjs.map +1 -1
  15. package/lib/components/organisms/mini-games/bubble-blitz-game.component.d.ts +0 -2
  16. package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +5 -3
  17. package/lib/components/organisms/mini-games/memory-game.component.d.ts +0 -2
  18. package/lib/components/organisms/mini-games/simon-game.component.d.ts +0 -2
  19. package/lib/components/organisms/mini-games/types.d.ts +1 -131
  20. package/lib/version.d.ts +1 -1
  21. package/mini-games/public-api.d.ts +0 -4
  22. package/package.json +1 -2
  23. package/public-api.d.ts +0 -2
  24. package/esm2022/lib/components/organisms/mini-games/christianity-card.component.mjs +0 -260
  25. package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +0 -2253
  26. package/esm2022/lib/directives/light-ripple.directive.mjs +0 -57
  27. package/lib/components/organisms/mini-games/christianity-card.component.d.ts +0 -46
  28. package/lib/components/organisms/mini-games/christianity-game.component.d.ts +0 -177
  29. package/lib/directives/light-ripple.directive.d.ts +0 -8
  30. package/src/lib/assets/games/christianity/card-symbol.svg +0 -51
  31. package/src/lib/assets/games/christianity/card-template-reference/front.html +0 -114
  32. package/src/lib/assets/games/christianity/card-template-reference/front.style.css +0 -352
  33. package/src/lib/assets/games/christianity/data/01-genesis.bible-reference-suggestions.csv +0 -191
  34. package/src/lib/assets/games/christianity/data/01-genesis.bible-verses.nbv-open.csv +0 -170
  35. package/src/lib/assets/games/christianity/data/01-genesis.cards.csv +0 -281
  36. package/src/lib/assets/games/christianity/data/01-genesis.cards.i18n.csv +0 -281
  37. package/src/lib/assets/games/christianity/data/01-genesis.cards.json +0 -16453
  38. package/src/lib/assets/games/christianity/data/01-genesis.unassigned-effects.csv +0 -49
  39. package/src/lib/assets/games/christianity/data/README.md +0 -40
  40. package/src/lib/assets/games/christianity/data/data-con-habilides.csv +0 -273
  41. package/src/lib/assets/games/christianity/data/habilidades-por-tipo.xlsx +0 -0
  42. package/src/lib/assets/games/christianity/data/listado-edicion.csv +0 -281
  43. package/src/lib/assets/games/christianity/editions/1/cards/.gitkeep +0 -1
  44. package/src/lib/assets/games/christianity/editions/1/cards/PLACEHOLDER.png +0 -0
  45. package/src/lib/assets/games/christianity/editions/README.md +0 -34
  46. package/src/lib/assets/games/christianity/icons/1-icon.png +0 -0
  47. package/src/lib/assets/games/christianity/icons/action.png +0 -0
  48. package/src/lib/assets/games/christianity/icons/character.png +0 -0
  49. package/src/lib/assets/games/christianity/icons/event.png +0 -0
  50. package/src/lib/assets/games/christianity/icons/leader.png +0 -0
  51. package/src/lib/assets/games/christianity/icons/offering.png +0 -0
  52. package/src/lib/assets/games/christianity/icons/place.png +0 -0
  53. package/src/lib/assets/games/christianity/icons/tool.png +0 -0
  54. package/src/lib/assets/games/christianity/icons/wisdom.png +0 -0
  55. package/src/lib/assets/games/christianity/sources/README.md +0 -16
  56. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.txt +0 -29102
  57. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.xml +0 -29104
  58. package/src/lib/assets/games/christianity/spaonbv.txt +0 -52
@@ -1,260 +0,0 @@
1
- import { Component, computed, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ChristianityCardComponent {
4
- constructor() {
5
- this.card = input.required();
6
- this.variant = input('table');
7
- this.normalizedTypeLabel = computed(() => this.card().typeLabel.toUpperCase());
8
- this.frontTemplate = computed(() => this.card().frontTemplate ?? 'genesis-classic');
9
- this.isGenesisClassicTemplate = computed(() => this.frontTemplate() === 'genesis-classic' || this.frontTemplate() === 'genesis-classic-extra');
10
- this.typeIconUrl = computed(() => `assets/games/christianity/icons/${this.iconName(this.card().type)}.png`);
11
- this.headerMetric = computed(() => {
12
- const card = this.card();
13
- if (card.type === 'leader')
14
- return null;
15
- if (card.type === 'offering')
16
- return { kind: 'pips', value: card.offeringValue ?? 0 };
17
- if (typeof card.cost === 'number')
18
- return { kind: 'number', value: card.cost };
19
- return null;
20
- });
21
- this.cardStatsText = computed(() => {
22
- const card = this.card();
23
- if (card.type !== 'character')
24
- return '';
25
- return `${card.attack ?? 0} / ${card.currentHp ?? card.life ?? 0}`;
26
- });
27
- this.leaderLifeText = computed(() => {
28
- const card = this.card();
29
- const current = card.currentHp ?? card.life ?? 0;
30
- const max = card.maxHp ?? card.life ?? current;
31
- return `${current}/${max}`;
32
- });
33
- }
34
- offeringPips(value) {
35
- const count = Number(value);
36
- if (!Number.isFinite(count) || count <= 0)
37
- return [];
38
- return Array.from({ length: Math.min(Math.floor(count), 5) });
39
- }
40
- iconName(type) {
41
- if (type === 'character')
42
- return 'character';
43
- if (type === 'offering')
44
- return 'offering';
45
- if (type === 'leader')
46
- return 'leader';
47
- return type;
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChristianityCardComponent, isStandalone: true, selector: "val-christianity-card", inputs: { card: { classPropertyName: "card", publicName: "card", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
51
- @if (variant() === 'back') {
52
- <article class="christianity-card-render christianity-card-render--back" aria-hidden="true">
53
- <span></span>
54
- </article>
55
- } @else {
56
- <article
57
- class="christianity-card-render"
58
- [class.christianity-card-render--full]="variant() === 'full'"
59
- [class.christianity-card-render--table]="variant() === 'table'"
60
- [class.christianity-card-render--hand]="variant() === 'hand'"
61
- [class.christianity-card-render--list]="variant() === 'list'"
62
- [class.christianity-card-render--template-genesis-classic]="isGenesisClassicTemplate()"
63
- [class.christianity-card-render--template-genesis-full-art]="frontTemplate() === 'genesis-full-art'"
64
- [class.is-leader]="card().type === 'leader'"
65
- [class.is-offering]="card().type === 'offering'"
66
- >
67
- <header class="christianity-card-render__header">
68
- <span class="christianity-card-render__type-icon" aria-hidden="true">
69
- <img [src]="typeIconUrl()" alt="" />
70
- </span>
71
- <strong>{{ card().name }}</strong>
72
- @if (headerMetric(); as metric) {
73
- <span class="christianity-card-render__metric" [class.is-pips]="metric.kind === 'pips'">
74
- @if (metric.kind === 'pips') {
75
- @for (_ of offeringPips(metric.value); track $index) {
76
- <i aria-hidden="true"></i>
77
- }
78
- } @else {
79
- {{ metric.value }}
80
- }
81
- </span>
82
- }
83
- </header>
84
-
85
- <section class="christianity-card-render__art" [class.has-image]="card().imageUrl">
86
- @if (card().imageUrl) {
87
- <img [src]="card().imageUrl" [alt]="card().name" />
88
- } @else {
89
- <span>{{ card().name }}</span>
90
- }
91
- <small>{{ normalizedTypeLabel() }}</small>
92
- </section>
93
-
94
- @if (variant() === 'full') {
95
- <section class="christianity-card-render__verse">
96
- @if (card().verseText) {
97
- <p>{{ card().verseText }}</p>
98
- }
99
- @if (card().scripture) {
100
- <strong>{{ card().scripture }}</strong>
101
- }
102
- </section>
103
- }
104
-
105
- <section class="christianity-card-render__effect">
106
- @if (card().editionIcon) {
107
- <img class="christianity-card-render__edition-watermark" [src]="card().editionIcon" alt="" aria-hidden="true" />
108
- }
109
- <div class="christianity-card-render__stats">
110
- @if (card().type === 'offering') {
111
- <strong class="is-pips">
112
- @for (_ of offeringPips(card().offeringValue); track $index) {
113
- <i aria-hidden="true"></i>
114
- }
115
- </strong>
116
- } @else if (card().type === 'leader') {
117
- <strong>{{ leaderLifeText() }}</strong>
118
- } @else if (cardStatsText()) {
119
- <strong>{{ cardStatsText() }}</strong>
120
- }
121
- </div>
122
- @if (variant() === 'full') {
123
- <div class="christianity-card-render__text">
124
- @if (card().abilityName) {
125
- <strong>{{ card().abilityName }}</strong>
126
- }
127
- @if (card().abilityText || card().statusText) {
128
- <p>{{ card().abilityText || card().statusText }}</p>
129
- }
130
- </div>
131
- <span
132
- class="christianity-card-render__rarity"
133
- [class.is-normal]="!card().rarity || card().rarity === 'normal'"
134
- [class.is-uncommon]="card().rarity === 'uncommon'"
135
- [class.is-rare]="card().rarity === 'rare'"
136
- [class.is-legendary]="card().rarity === 'legendary'"
137
- aria-hidden="true"
138
- ></span>
139
- }
140
- </section>
141
-
142
- @if (variant() === 'full') {
143
- <footer class="christianity-card-render__footer">
144
- <span>{{ card().edition ?? 'MVP' }}</span>
145
- <span>{{ card().collectorNumber ?? card().id }}</span>
146
- <span>{{ card().year ?? '2026' }} CHRISTIANITY</span>
147
- <span>{{ card().author ?? 'MVP' }}</span>
148
- </footer>
149
- }
150
- </article>
151
- }
152
- `, isInline: true, styles: [":host{--christianity-card-aspect: 5 / 7.45;--christianity-card-back: linear-gradient(135deg, rgba(16, 42, 67, .16), rgba(16, 42, 67, .03)), repeating-linear-gradient(45deg, #dbeafe 0 .33rem, #ffffff .33rem .66rem);display:block;width:100%;min-width:0}.christianity-card-render{position:relative;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.28rem;width:100%;min-width:0;aspect-ratio:var(--christianity-card-aspect);padding:.48rem;overflow:hidden;border:1px solid rgba(36,48,68,.16);border-radius:.52rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.12),transparent 44%);color:var(--val-text-color, #1f2933);box-shadow:0 .5rem 1.25rem #2430441a,inset 0 0 0 .18rem #ffffff9e}.christianity-card-render>*{position:relative;z-index:1}.christianity-card-render--template-genesis-classic{--christianity-frame-width: .26rem;padding:calc(.48rem + var(--christianity-frame-width));border-color:#39475733;background:linear-gradient(180deg,#aab8c7f5,#8fa0b1fa),radial-gradient(circle at 18% 0%,rgba(255,255,255,.24),transparent 42%);box-shadow:0 .5rem 1.25rem #24304421,inset 0 0 0 1px #ffffff6b,inset 0 0 0 var(--christianity-frame-width) #8797a980}.christianity-card-render--template-genesis-classic:before{content:\"\";position:absolute;inset:var(--christianity-frame-width);z-index:0;border-radius:.44rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.1),transparent 44%);box-shadow:inset 0 0 0 1px #ffffffb8,0 .16rem .35rem #2430441a}.christianity-card-render--full{grid-template-rows:auto minmax(9rem,1.25fr) auto minmax(7rem,.9fr) auto;gap:.58rem;min-height:min(29rem,calc(100vh - 3.5rem));padding:.72rem;border-color:#2430442e;border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(214,162,29,.18),transparent 45%);box-shadow:0 0 0 .18rem #fff4c294,0 0 2.2rem #f5c75552,0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c}.christianity-card-render--full.christianity-card-render--template-genesis-classic{--christianity-frame-width: .46rem;padding:calc(.72rem + var(--christianity-frame-width));border-radius:.78rem;box-shadow:0 0 0 .14rem #ffffff6b,0 0 2.2rem #f5c7552e,0 2.4rem 5rem #102a4357,inset 0 0 0 1px #ffffff5c,inset 0 0 0 var(--christianity-frame-width) #8797a994}.christianity-card-render--full.christianity-card-render--template-genesis-classic:before{border-radius:.56rem}.christianity-card-render--template-genesis-full-art{border-color:#090d1594;background:#111827;color:#fff;text-shadow:0 .08rem .18rem rgba(0,0,0,.72);box-shadow:0 .7rem 1.45rem #090d1533,inset 0 0 1.2rem #ffffff1a}.christianity-card-render--template-genesis-full-art .christianity-card-render__art{border-radius:.36rem;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -2rem 2.5rem #090d154d}.christianity-card-render--template-genesis-full-art .christianity-card-render__effect{background:#090d1594;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.christianity-card-render--template-genesis-full-art .christianity-card-render__verse{color:#fff}.christianity-card-render--template-genesis-full-art .christianity-card-render__stats strong{background:#ffffffe6;color:#1f2933;text-shadow:none}.christianity-card-render--full.christianity-card-render--template-genesis-full-art{grid-template-rows:auto minmax(14rem,1fr) auto minmax(8rem,auto) auto;min-height:min(35rem,calc(100vh - 4rem));border-radius:.72rem;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.16),transparent 38%),#090d15;box-shadow:0 0 0 .12rem #ffffff1f,0 2.4rem 5rem #090d157a,inset 0 0 1.8rem #ffffff24}.christianity-card-render--back{place-items:center;padding:.55rem;background:var(--christianity-card-back);box-shadow:0 .8rem 1.55rem #24304424}.christianity-card-render--back:before{content:\"\";position:absolute;inset:.5rem;border:1px solid rgba(16,42,67,.12);border-radius:.38rem;background:linear-gradient(180deg,#ffffff2e,#ffffff0a);box-shadow:inset 0 0 0 .12rem #ffffff1f}.christianity-card-render__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.34rem;align-items:center;min-width:0}.christianity-card-render__type-icon,.christianity-card-render__metric{display:grid;place-items:center;border-radius:999px}.christianity-card-render__type-icon{width:1.2rem;height:1.2rem;background:#24304414}.christianity-card-render__type-icon img{width:.82rem;height:.82rem;object-fit:contain}.christianity-card-render__header strong{min-width:0;display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(.86rem,2.5vw,1.06rem);line-height:1.04}.christianity-card-render--full .christianity-card-render__type-icon{width:1.6rem;height:1.6rem}.christianity-card-render--full .christianity-card-render__type-icon img{width:1rem;height:1rem}.christianity-card-render--full .christianity-card-render__header strong{font-size:clamp(1.25rem,5vw,1.85rem)}.christianity-card-render__metric{min-width:1.52rem;height:1.52rem;padding:0 .24rem;background:#ffd91a;color:#243044;font-size:.86rem;font-weight:900;line-height:1;box-shadow:inset 0 -.08rem #52401c2e}.christianity-card-render--full .christianity-card-render__metric{min-width:2.1rem;height:2.1rem;padding:0 .36rem;font-size:1.1rem}.christianity-card-render__metric.is-pips,.christianity-card-render__stats .is-pips{grid-auto-flow:column;gap:.16rem;min-width:auto;padding:0 .28rem}.christianity-card-render__metric i,.christianity-card-render__stats i{display:block;width:.72rem;height:.72rem;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9) 0 .12rem,transparent .13rem),#ffd91a;box-shadow:inset 0 -.08rem #52401c2e,0 .12rem .24rem #102a431a}.christianity-card-render__art{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:.36rem;background:linear-gradient(135deg,#5f6f2a2e,#d6a21d24),radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),transparent 48%),#dbe7ef;box-shadow:inset 0 0 0 1px #24304414}.christianity-card-render__art img{width:100%;height:100%;object-fit:cover}.christianity-card-render__art>span{max-width:78%;overflow:hidden;color:#2430447a;font-size:clamp(.82rem,2.2vw,1.05rem);font-weight:900;line-height:1.02;text-align:center;text-overflow:ellipsis}.christianity-card-render--full .christianity-card-render__art>span{font-size:clamp(1.1rem,5vw,1.8rem)}.christianity-card-render__art small{position:absolute;right:0;bottom:.28rem;max-width:78%;padding:.1rem .34rem;overflow:hidden;border-radius:999px 0 0 999px;background:#ffffffe6;color:#1f2933a8;font-size:.48rem;font-style:italic;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.christianity-card-render--full .christianity-card-render__art small{bottom:.55rem;min-width:5rem;padding:.16rem .48rem;font-size:.68rem;text-align:center}.christianity-card-render__verse,.christianity-card-render__effect{display:grid;gap:.32rem}.christianity-card-render__verse{color:#171923;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,2.7vw,.86rem)}.christianity-card-render__verse p,.christianity-card-render__effect p{margin:0;line-height:1.25}.christianity-card-render__verse strong{font-family:inherit;font-size:.78rem;font-weight:900}.christianity-card-render__effect{position:relative;align-content:center;min-height:1.45rem;padding:.24rem;overflow:hidden;border-radius:.34rem;background:radial-gradient(circle at 50% 70%,rgba(36,48,68,.06),transparent 44%),#ffffffdb}.christianity-card-render__edition-watermark{position:absolute;top:50%;left:50%;z-index:0;width:min(66%,7.4rem);max-width:none;opacity:.055;pointer-events:none;transform:translate(-50%,-50%)}.christianity-card-render--full .christianity-card-render__effect{align-content:start;min-height:7rem;padding:.6rem .7rem;border-radius:.45rem}.christianity-card-render--full .christianity-card-render__edition-watermark{width:min(72%,10rem);opacity:.06}.christianity-card-render__stats{position:relative;z-index:1;display:flex;gap:.65rem;min-height:1.2rem}.christianity-card-render__stats strong{justify-self:end;align-self:end;margin-left:auto;padding:.12rem .32rem;border-radius:999px;background:#edf2f7;font-size:clamp(.66rem,2vw,.82rem);line-height:1.05}.christianity-card-render--full .christianity-card-render__stats strong{margin-left:0;padding:0;background:transparent;font-size:1rem}.christianity-card-render__text{position:relative;z-index:1;display:grid;gap:.12rem}.christianity-card-render__text strong{font-size:.82rem}.christianity-card-render__text p{font-size:clamp(.78rem,2.9vw,.92rem)}.christianity-card-render__rarity{position:absolute;top:.62rem;right:.62rem;z-index:1;width:.46rem;height:.46rem;border-radius:.12rem;transform:rotate(45deg)}.christianity-card-render__rarity.is-normal{background:#d1d5db}.christianity-card-render__rarity.is-uncommon{background:#22c55e}.christianity-card-render__rarity.is-rare{background:#3b82f6}.christianity-card-render__rarity.is-legendary{background:#eab308}.christianity-card-render__footer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.34rem;align-items:center;color:#1f2933ad;font-size:.58rem;line-height:1;text-transform:uppercase}.christianity-card-render__footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 52rem){.christianity-card-render--full{min-height:min(35rem,calc(100vh - 4rem));padding:1.05rem}}\n"] }); }
153
- }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityCardComponent, decorators: [{
155
- type: Component,
156
- args: [{ selector: 'val-christianity-card', standalone: true, template: `
157
- @if (variant() === 'back') {
158
- <article class="christianity-card-render christianity-card-render--back" aria-hidden="true">
159
- <span></span>
160
- </article>
161
- } @else {
162
- <article
163
- class="christianity-card-render"
164
- [class.christianity-card-render--full]="variant() === 'full'"
165
- [class.christianity-card-render--table]="variant() === 'table'"
166
- [class.christianity-card-render--hand]="variant() === 'hand'"
167
- [class.christianity-card-render--list]="variant() === 'list'"
168
- [class.christianity-card-render--template-genesis-classic]="isGenesisClassicTemplate()"
169
- [class.christianity-card-render--template-genesis-full-art]="frontTemplate() === 'genesis-full-art'"
170
- [class.is-leader]="card().type === 'leader'"
171
- [class.is-offering]="card().type === 'offering'"
172
- >
173
- <header class="christianity-card-render__header">
174
- <span class="christianity-card-render__type-icon" aria-hidden="true">
175
- <img [src]="typeIconUrl()" alt="" />
176
- </span>
177
- <strong>{{ card().name }}</strong>
178
- @if (headerMetric(); as metric) {
179
- <span class="christianity-card-render__metric" [class.is-pips]="metric.kind === 'pips'">
180
- @if (metric.kind === 'pips') {
181
- @for (_ of offeringPips(metric.value); track $index) {
182
- <i aria-hidden="true"></i>
183
- }
184
- } @else {
185
- {{ metric.value }}
186
- }
187
- </span>
188
- }
189
- </header>
190
-
191
- <section class="christianity-card-render__art" [class.has-image]="card().imageUrl">
192
- @if (card().imageUrl) {
193
- <img [src]="card().imageUrl" [alt]="card().name" />
194
- } @else {
195
- <span>{{ card().name }}</span>
196
- }
197
- <small>{{ normalizedTypeLabel() }}</small>
198
- </section>
199
-
200
- @if (variant() === 'full') {
201
- <section class="christianity-card-render__verse">
202
- @if (card().verseText) {
203
- <p>{{ card().verseText }}</p>
204
- }
205
- @if (card().scripture) {
206
- <strong>{{ card().scripture }}</strong>
207
- }
208
- </section>
209
- }
210
-
211
- <section class="christianity-card-render__effect">
212
- @if (card().editionIcon) {
213
- <img class="christianity-card-render__edition-watermark" [src]="card().editionIcon" alt="" aria-hidden="true" />
214
- }
215
- <div class="christianity-card-render__stats">
216
- @if (card().type === 'offering') {
217
- <strong class="is-pips">
218
- @for (_ of offeringPips(card().offeringValue); track $index) {
219
- <i aria-hidden="true"></i>
220
- }
221
- </strong>
222
- } @else if (card().type === 'leader') {
223
- <strong>{{ leaderLifeText() }}</strong>
224
- } @else if (cardStatsText()) {
225
- <strong>{{ cardStatsText() }}</strong>
226
- }
227
- </div>
228
- @if (variant() === 'full') {
229
- <div class="christianity-card-render__text">
230
- @if (card().abilityName) {
231
- <strong>{{ card().abilityName }}</strong>
232
- }
233
- @if (card().abilityText || card().statusText) {
234
- <p>{{ card().abilityText || card().statusText }}</p>
235
- }
236
- </div>
237
- <span
238
- class="christianity-card-render__rarity"
239
- [class.is-normal]="!card().rarity || card().rarity === 'normal'"
240
- [class.is-uncommon]="card().rarity === 'uncommon'"
241
- [class.is-rare]="card().rarity === 'rare'"
242
- [class.is-legendary]="card().rarity === 'legendary'"
243
- aria-hidden="true"
244
- ></span>
245
- }
246
- </section>
247
-
248
- @if (variant() === 'full') {
249
- <footer class="christianity-card-render__footer">
250
- <span>{{ card().edition ?? 'MVP' }}</span>
251
- <span>{{ card().collectorNumber ?? card().id }}</span>
252
- <span>{{ card().year ?? '2026' }} CHRISTIANITY</span>
253
- <span>{{ card().author ?? 'MVP' }}</span>
254
- </footer>
255
- }
256
- </article>
257
- }
258
- `, styles: [":host{--christianity-card-aspect: 5 / 7.45;--christianity-card-back: linear-gradient(135deg, rgba(16, 42, 67, .16), rgba(16, 42, 67, .03)), repeating-linear-gradient(45deg, #dbeafe 0 .33rem, #ffffff .33rem .66rem);display:block;width:100%;min-width:0}.christianity-card-render{position:relative;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.28rem;width:100%;min-width:0;aspect-ratio:var(--christianity-card-aspect);padding:.48rem;overflow:hidden;border:1px solid rgba(36,48,68,.16);border-radius:.52rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.12),transparent 44%);color:var(--val-text-color, #1f2933);box-shadow:0 .5rem 1.25rem #2430441a,inset 0 0 0 .18rem #ffffff9e}.christianity-card-render>*{position:relative;z-index:1}.christianity-card-render--template-genesis-classic{--christianity-frame-width: .26rem;padding:calc(.48rem + var(--christianity-frame-width));border-color:#39475733;background:linear-gradient(180deg,#aab8c7f5,#8fa0b1fa),radial-gradient(circle at 18% 0%,rgba(255,255,255,.24),transparent 42%);box-shadow:0 .5rem 1.25rem #24304421,inset 0 0 0 1px #ffffff6b,inset 0 0 0 var(--christianity-frame-width) #8797a980}.christianity-card-render--template-genesis-classic:before{content:\"\";position:absolute;inset:var(--christianity-frame-width);z-index:0;border-radius:.44rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.1),transparent 44%);box-shadow:inset 0 0 0 1px #ffffffb8,0 .16rem .35rem #2430441a}.christianity-card-render--full{grid-template-rows:auto minmax(9rem,1.25fr) auto minmax(7rem,.9fr) auto;gap:.58rem;min-height:min(29rem,calc(100vh - 3.5rem));padding:.72rem;border-color:#2430442e;border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(214,162,29,.18),transparent 45%);box-shadow:0 0 0 .18rem #fff4c294,0 0 2.2rem #f5c75552,0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c}.christianity-card-render--full.christianity-card-render--template-genesis-classic{--christianity-frame-width: .46rem;padding:calc(.72rem + var(--christianity-frame-width));border-radius:.78rem;box-shadow:0 0 0 .14rem #ffffff6b,0 0 2.2rem #f5c7552e,0 2.4rem 5rem #102a4357,inset 0 0 0 1px #ffffff5c,inset 0 0 0 var(--christianity-frame-width) #8797a994}.christianity-card-render--full.christianity-card-render--template-genesis-classic:before{border-radius:.56rem}.christianity-card-render--template-genesis-full-art{border-color:#090d1594;background:#111827;color:#fff;text-shadow:0 .08rem .18rem rgba(0,0,0,.72);box-shadow:0 .7rem 1.45rem #090d1533,inset 0 0 1.2rem #ffffff1a}.christianity-card-render--template-genesis-full-art .christianity-card-render__art{border-radius:.36rem;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -2rem 2.5rem #090d154d}.christianity-card-render--template-genesis-full-art .christianity-card-render__effect{background:#090d1594;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.christianity-card-render--template-genesis-full-art .christianity-card-render__verse{color:#fff}.christianity-card-render--template-genesis-full-art .christianity-card-render__stats strong{background:#ffffffe6;color:#1f2933;text-shadow:none}.christianity-card-render--full.christianity-card-render--template-genesis-full-art{grid-template-rows:auto minmax(14rem,1fr) auto minmax(8rem,auto) auto;min-height:min(35rem,calc(100vh - 4rem));border-radius:.72rem;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.16),transparent 38%),#090d15;box-shadow:0 0 0 .12rem #ffffff1f,0 2.4rem 5rem #090d157a,inset 0 0 1.8rem #ffffff24}.christianity-card-render--back{place-items:center;padding:.55rem;background:var(--christianity-card-back);box-shadow:0 .8rem 1.55rem #24304424}.christianity-card-render--back:before{content:\"\";position:absolute;inset:.5rem;border:1px solid rgba(16,42,67,.12);border-radius:.38rem;background:linear-gradient(180deg,#ffffff2e,#ffffff0a);box-shadow:inset 0 0 0 .12rem #ffffff1f}.christianity-card-render__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.34rem;align-items:center;min-width:0}.christianity-card-render__type-icon,.christianity-card-render__metric{display:grid;place-items:center;border-radius:999px}.christianity-card-render__type-icon{width:1.2rem;height:1.2rem;background:#24304414}.christianity-card-render__type-icon img{width:.82rem;height:.82rem;object-fit:contain}.christianity-card-render__header strong{min-width:0;display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(.86rem,2.5vw,1.06rem);line-height:1.04}.christianity-card-render--full .christianity-card-render__type-icon{width:1.6rem;height:1.6rem}.christianity-card-render--full .christianity-card-render__type-icon img{width:1rem;height:1rem}.christianity-card-render--full .christianity-card-render__header strong{font-size:clamp(1.25rem,5vw,1.85rem)}.christianity-card-render__metric{min-width:1.52rem;height:1.52rem;padding:0 .24rem;background:#ffd91a;color:#243044;font-size:.86rem;font-weight:900;line-height:1;box-shadow:inset 0 -.08rem #52401c2e}.christianity-card-render--full .christianity-card-render__metric{min-width:2.1rem;height:2.1rem;padding:0 .36rem;font-size:1.1rem}.christianity-card-render__metric.is-pips,.christianity-card-render__stats .is-pips{grid-auto-flow:column;gap:.16rem;min-width:auto;padding:0 .28rem}.christianity-card-render__metric i,.christianity-card-render__stats i{display:block;width:.72rem;height:.72rem;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9) 0 .12rem,transparent .13rem),#ffd91a;box-shadow:inset 0 -.08rem #52401c2e,0 .12rem .24rem #102a431a}.christianity-card-render__art{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:.36rem;background:linear-gradient(135deg,#5f6f2a2e,#d6a21d24),radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),transparent 48%),#dbe7ef;box-shadow:inset 0 0 0 1px #24304414}.christianity-card-render__art img{width:100%;height:100%;object-fit:cover}.christianity-card-render__art>span{max-width:78%;overflow:hidden;color:#2430447a;font-size:clamp(.82rem,2.2vw,1.05rem);font-weight:900;line-height:1.02;text-align:center;text-overflow:ellipsis}.christianity-card-render--full .christianity-card-render__art>span{font-size:clamp(1.1rem,5vw,1.8rem)}.christianity-card-render__art small{position:absolute;right:0;bottom:.28rem;max-width:78%;padding:.1rem .34rem;overflow:hidden;border-radius:999px 0 0 999px;background:#ffffffe6;color:#1f2933a8;font-size:.48rem;font-style:italic;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.christianity-card-render--full .christianity-card-render__art small{bottom:.55rem;min-width:5rem;padding:.16rem .48rem;font-size:.68rem;text-align:center}.christianity-card-render__verse,.christianity-card-render__effect{display:grid;gap:.32rem}.christianity-card-render__verse{color:#171923;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,2.7vw,.86rem)}.christianity-card-render__verse p,.christianity-card-render__effect p{margin:0;line-height:1.25}.christianity-card-render__verse strong{font-family:inherit;font-size:.78rem;font-weight:900}.christianity-card-render__effect{position:relative;align-content:center;min-height:1.45rem;padding:.24rem;overflow:hidden;border-radius:.34rem;background:radial-gradient(circle at 50% 70%,rgba(36,48,68,.06),transparent 44%),#ffffffdb}.christianity-card-render__edition-watermark{position:absolute;top:50%;left:50%;z-index:0;width:min(66%,7.4rem);max-width:none;opacity:.055;pointer-events:none;transform:translate(-50%,-50%)}.christianity-card-render--full .christianity-card-render__effect{align-content:start;min-height:7rem;padding:.6rem .7rem;border-radius:.45rem}.christianity-card-render--full .christianity-card-render__edition-watermark{width:min(72%,10rem);opacity:.06}.christianity-card-render__stats{position:relative;z-index:1;display:flex;gap:.65rem;min-height:1.2rem}.christianity-card-render__stats strong{justify-self:end;align-self:end;margin-left:auto;padding:.12rem .32rem;border-radius:999px;background:#edf2f7;font-size:clamp(.66rem,2vw,.82rem);line-height:1.05}.christianity-card-render--full .christianity-card-render__stats strong{margin-left:0;padding:0;background:transparent;font-size:1rem}.christianity-card-render__text{position:relative;z-index:1;display:grid;gap:.12rem}.christianity-card-render__text strong{font-size:.82rem}.christianity-card-render__text p{font-size:clamp(.78rem,2.9vw,.92rem)}.christianity-card-render__rarity{position:absolute;top:.62rem;right:.62rem;z-index:1;width:.46rem;height:.46rem;border-radius:.12rem;transform:rotate(45deg)}.christianity-card-render__rarity.is-normal{background:#d1d5db}.christianity-card-render__rarity.is-uncommon{background:#22c55e}.christianity-card-render__rarity.is-rare{background:#3b82f6}.christianity-card-render__rarity.is-legendary{background:#eab308}.christianity-card-render__footer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.34rem;align-items:center;color:#1f2933ad;font-size:.58rem;line-height:1;text-transform:uppercase}.christianity-card-render__footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 52rem){.christianity-card-render--full{min-height:min(35rem,calc(100vh - 4rem));padding:1.05rem}}\n"] }]
259
- }] });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBMm1CM0QsTUFBTSxPQUFPLHlCQUF5QjtJQW5rQnRDO1FBb2tCVyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBK0IsQ0FBQztRQUNyRCxZQUFPLEdBQUcsS0FBSyxDQUFnQyxPQUFPLENBQUMsQ0FBQztRQUU5Qyx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLElBQUksaUJBQWlCLENBQUMsQ0FBQztRQUMvRSw2QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLGlCQUFpQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFJLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkcsaUJBQVksR0FBRyxRQUFRLENBQW9ELEdBQUcsRUFBRTtZQUNqRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDeEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7Z0JBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEYsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtnQkFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9FLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDZ0Isa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ2dCLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO1lBQy9DLE9BQU8sR0FBRyxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7S0FjSjtJQVpXLFlBQVksQ0FBQyxLQUF5QjtRQUM5QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWdDO1FBQy9DLElBQUksSUFBSSxLQUFLLFdBQVc7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUM3QyxJQUFJLElBQUksS0FBSyxVQUFVO1lBQUUsT0FBTyxVQUFVLENBQUM7UUFDM0MsSUFBSSxJQUFJLEtBQUssUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0F0Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsK1VBaGtCMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNHVDs7NEZBMGRVLHlCQUF5QjtrQkFua0JyQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFlBQ047Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIENocmlzdGlhbml0eUNhcmRSZW5kZXJUeXBlID1cbiAgfCAnbGVhZGVyJ1xuICB8ICdjaGFyYWN0ZXInXG4gIHwgJ29mZmVyaW5nJ1xuICB8ICd3aXNkb20nXG4gIHwgJ2FjdGlvbidcbiAgfCAndG9vbCdcbiAgfCAncGxhY2UnXG4gIHwgJ2V2ZW50JztcblxuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5Q2FyZFJlbmRlclZhcmlhbnQgPSAnZnVsbCcgfCAndGFibGUnIHwgJ2hhbmQnIHwgJ2xpc3QnIHwgJ2JhY2snO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRSZW5kZXJNb2RlbCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogQ2hyaXN0aWFuaXR5Q2FyZFJlbmRlclR5cGU7XG4gIHR5cGVMYWJlbDogc3RyaW5nO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGN1cnJlbnRIcD86IG51bWJlcjtcbiAgbWF4SHA/OiBudW1iZXI7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIHllYXI/OiBzdHJpbmc7XG4gIGF1dGhvcj86IHN0cmluZztcbiAgcmFyaXR5PzogJ25vcm1hbCcgfCAndW5jb21tb24nIHwgJ3JhcmUnIHwgJ2xlZ2VuZGFyeSc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hyaXN0aWFuaXR5LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAodmFyaWFudCgpID09PSAnYmFjaycpIHtcbiAgICAgIDxhcnRpY2xlIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyIGNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8L2FydGljbGU+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8YXJ0aWNsZVxuICAgICAgICBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlclwiXG4gICAgICAgIFtjbGFzcy5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGxdPVwidmFyaWFudCgpID09PSAnZnVsbCdcIlxuICAgICAgICBbY2xhc3MuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10YWJsZV09XCJ2YXJpYW50KCkgPT09ICd0YWJsZSdcIlxuICAgICAgICBbY2xhc3MuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1oYW5kXT1cInZhcmlhbnQoKSA9PT0gJ2hhbmQnXCJcbiAgICAgICAgW2NsYXNzLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdF09XCJ2YXJpYW50KCkgPT09ICdsaXN0J1wiXG4gICAgICAgIFtjbGFzcy5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtY2xhc3NpY109XCJpc0dlbmVzaXNDbGFzc2ljVGVtcGxhdGUoKVwiXG4gICAgICAgIFtjbGFzcy5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtZnVsbC1hcnRdPVwiZnJvbnRUZW1wbGF0ZSgpID09PSAnZ2VuZXNpcy1mdWxsLWFydCdcIlxuICAgICAgICBbY2xhc3MuaXMtbGVhZGVyXT1cImNhcmQoKS50eXBlID09PSAnbGVhZGVyJ1wiXG4gICAgICAgIFtjbGFzcy5pcy1vZmZlcmluZ109XCJjYXJkKCkudHlwZSA9PT0gJ29mZmVyaW5nJ1wiXG4gICAgICA+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2hlYWRlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJ0eXBlSWNvblVybCgpXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHN0cm9uZz57eyBjYXJkKCkubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgIEBpZiAoaGVhZGVyTWV0cmljKCk7IGFzIG1ldHJpYykge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpY1wiIFtjbGFzcy5pcy1waXBzXT1cIm1ldHJpYy5raW5kID09PSAncGlwcydcIj5cbiAgICAgICAgICAgICAgQGlmIChtZXRyaWMua2luZCA9PT0gJ3BpcHMnKSB7XG4gICAgICAgICAgICAgICAgQGZvciAoXyBvZiBvZmZlcmluZ1BpcHMobWV0cmljLnZhbHVlKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB7eyBtZXRyaWMudmFsdWUgfX1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2FydFwiIFtjbGFzcy5oYXMtaW1hZ2VdPVwiY2FyZCgpLmltYWdlVXJsXCI+XG4gICAgICAgICAgQGlmIChjYXJkKCkuaW1hZ2VVcmwpIHtcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJjYXJkKCkuaW1hZ2VVcmxcIiBbYWx0XT1cImNhcmQoKS5uYW1lXCIgLz5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxzcGFuPnt7IGNhcmQoKS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8c21hbGw+e3sgbm9ybWFsaXplZFR5cGVMYWJlbCgpIH19PC9zbWFsbD5cbiAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgIEBpZiAodmFyaWFudCgpID09PSAnZnVsbCcpIHtcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdmVyc2VcIj5cbiAgICAgICAgICAgIEBpZiAoY2FyZCgpLnZlcnNlVGV4dCkge1xuICAgICAgICAgICAgICA8cD57eyBjYXJkKCkudmVyc2VUZXh0IH19PC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChjYXJkKCkuc2NyaXB0dXJlKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgY2FyZCgpLnNjcmlwdHVyZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19lZmZlY3RcIj5cbiAgICAgICAgICBAaWYgKGNhcmQoKS5lZGl0aW9uSWNvbikge1xuICAgICAgICAgICAgPGltZyBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWRpdGlvbi13YXRlcm1hcmtcIiBbc3JjXT1cImNhcmQoKS5lZGl0aW9uSWNvblwiIGFsdD1cIlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzXCI+XG4gICAgICAgICAgICBAaWYgKGNhcmQoKS50eXBlID09PSAnb2ZmZXJpbmcnKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJpcy1waXBzXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoXyBvZiBvZmZlcmluZ1BpcHMoY2FyZCgpLm9mZmVyaW5nVmFsdWUpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIDxpIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoY2FyZCgpLnR5cGUgPT09ICdsZWFkZXInKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgbGVhZGVyTGlmZVRleHQoKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoY2FyZFN0YXRzVGV4dCgpKSB7XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgY2FyZFN0YXRzVGV4dCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgQGlmICh2YXJpYW50KCkgPT09ICdmdWxsJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdGV4dFwiPlxuICAgICAgICAgICAgICBAaWYgKGNhcmQoKS5hYmlsaXR5TmFtZSkge1xuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgY2FyZCgpLmFiaWxpdHlOYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChjYXJkKCkuYWJpbGl0eVRleHQgfHwgY2FyZCgpLnN0YXR1c1RleHQpIHtcbiAgICAgICAgICAgICAgICA8cD57eyBjYXJkKCkuYWJpbGl0eVRleHQgfHwgY2FyZCgpLnN0YXR1c1RleHQgfX08L3A+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3Jhcml0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5pcy1ub3JtYWxdPVwiIWNhcmQoKS5yYXJpdHkgfHwgY2FyZCgpLnJhcml0eSA9PT0gJ25vcm1hbCdcIlxuICAgICAgICAgICAgICBbY2xhc3MuaXMtdW5jb21tb25dPVwiY2FyZCgpLnJhcml0eSA9PT0gJ3VuY29tbW9uJ1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5pcy1yYXJlXT1cImNhcmQoKS5yYXJpdHkgPT09ICdyYXJlJ1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5pcy1sZWdlbmRhcnldPVwiY2FyZCgpLnJhcml0eSA9PT0gJ2xlZ2VuZGFyeSdcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICBAaWYgKHZhcmlhbnQoKSA9PT0gJ2Z1bGwnKSB7XG4gICAgICAgICAgPGZvb3RlciBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZm9vdGVyXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBjYXJkKCkuZWRpdGlvbiA/PyAnTVZQJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGNhcmQoKS5jb2xsZWN0b3JOdW1iZXIgPz8gY2FyZCgpLmlkIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgY2FyZCgpLnllYXIgPz8gJzIwMjYnIH19IENIUklTVElBTklUWTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGNhcmQoKS5hdXRob3IgPz8gJ01WUCcgfX08L3NwYW4+XG4gICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIH1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1jaHJpc3RpYW5pdHktY2FyZC1hc3BlY3Q6IDUgLyA3LjQ1O1xuICAgICAgICAtLWNocmlzdGlhbml0eS1jYXJkLWJhY2s6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNiwgNDIsIDY3LCAwLjE2KSwgcmdiYSgxNiwgNDIsIDY3LCAwLjAzKSksXG4gICAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg0NWRlZywgI2RiZWFmZSAwIDAuMzNyZW0sICNmZmZmZmYgMC4zM3JlbSAwLjY2cmVtKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuMjhyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tY2hyaXN0aWFuaXR5LWNhcmQtYXNwZWN0KTtcbiAgICAgICAgcGFkZGluZzogMC40OHJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNiwgNDgsIDY4LCAwLjE2KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41MnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTgpKSxcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDE4JSAwJSwgcmdiYSgyMTQsIDE2MiwgMjksIDAuMTIpLCB0cmFuc3BhcmVudCA0NCUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdmFsLXRleHQtY29sb3IsICMxZjI5MzMpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMC41cmVtIDEuMjVyZW0gcmdiYSgzNiwgNDgsIDY4LCAwLjEpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIDAuMThyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYyKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlciA+ICoge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtY2xhc3NpYyB7XG4gICAgICAgIC0tY2hyaXN0aWFuaXR5LWZyYW1lLXdpZHRoOiAwLjI2cmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKDAuNDhyZW0gKyB2YXIoLS1jaHJpc3RpYW5pdHktZnJhbWUtd2lkdGgpKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU3LCA3MSwgODcsIDAuMik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNzAsIDE4NCwgMTk5LCAwLjk2KSwgcmdiYSgxNDMsIDE2MCwgMTc3LCAwLjk4KSksXG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCksIHRyYW5zcGFyZW50IDQyJSk7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwLjVyZW0gMS4yNXJlbSByZ2JhKDM2LCA0OCwgNjgsIDAuMTMpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIHZhcigtLWNocmlzdGlhbml0eS1mcmFtZS13aWR0aCkgcmdiYSgxMzUsIDE1MSwgMTY5LCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWNsYXNzaWM6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiB2YXIoLS1jaHJpc3RpYW5pdHktZnJhbWUtd2lkdGgpO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuNTJyZW0gLSAwLjA4cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTgpKSxcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDE4JSAwJSwgcmdiYSgyMTQsIDE2MiwgMjksIDAuMSksIHRyYW5zcGFyZW50IDQ0JSk7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43MiksXG4gICAgICAgICAgMCAwLjE2cmVtIDAuMzVyZW0gcmdiYSgzNiwgNDgsIDY4LCAwLjEpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIG1pbm1heCg5cmVtLCAxLjI1ZnIpIGF1dG8gbWlubWF4KDdyZW0sIDAuOWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuNThyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IG1pbigyOXJlbSwgY2FsYygxMDB2aCAtIDMuNXJlbSkpO1xuICAgICAgICBwYWRkaW5nOiAwLjcycmVtO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzYsIDQ4LCA2OCwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KSwgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk2KSksXG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMCUsIHJnYmEoMjE0LCAxNjIsIDI5LCAwLjE4KSwgdHJhbnNwYXJlbnQgNDUlKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgMCAwLjE4cmVtIHJnYmEoMjU1LCAyNDQsIDE5NCwgMC41OCksXG4gICAgICAgICAgMCAwIDIuMnJlbSByZ2JhKDI0NSwgMTk5LCA4NSwgMC4zMiksXG4gICAgICAgICAgMCAyLjRyZW0gNXJlbSByZ2JhKDE2LCA0MiwgNjcsIDAuMzQpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIDAuMzVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtY2xhc3NpYyB7XG4gICAgICAgIC0tY2hyaXN0aWFuaXR5LWZyYW1lLXdpZHRoOiAwLjQ2cmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKDAuNzJyZW0gKyB2YXIoLS1jaHJpc3RpYW5pdHktZnJhbWUtd2lkdGgpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC43OHJlbTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgMCAwLjE0cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MiksXG4gICAgICAgICAgMCAwIDIuMnJlbSByZ2JhKDI0NSwgMTk5LCA4NSwgMC4xOCksXG4gICAgICAgICAgMCAyLjRyZW0gNXJlbSByZ2JhKDE2LCA0MiwgNjcsIDAuMzQpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIHZhcigtLWNocmlzdGlhbml0eS1mcmFtZS13aWR0aCkgcmdiYSgxMzUsIDE1MSwgMTY5LCAwLjU4KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtY2xhc3NpYzo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41NnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1mdWxsLWFydCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg5LCAxMywgMjEsIDAuNTgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTExODI3O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4wOHJlbSAwLjE4cmVtIHJnYmEoMCwgMCwgMCwgMC43Mik7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwLjdyZW0gMS40NXJlbSByZ2JhKDksIDEzLCAyMSwgMC4yKSxcbiAgICAgICAgICBpbnNldCAwIDAgMS4ycmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1mdWxsLWFydCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM2cmVtO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpLFxuICAgICAgICAgIGluc2V0IDAgLTJyZW0gMi41cmVtIHJnYmEoOSwgMTMsIDIxLCAwLjMpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWZ1bGwtYXJ0IC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VmZmVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoOSwgMTMsIDIxLCAwLjU4KTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWZ1bGwtYXJ0IC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3ZlcnNlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtZnVsbC1hcnQgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fc3RhdHMgc3Ryb25nIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICBjb2xvcjogIzFmMjkzMztcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWZ1bGwtYXJ0IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIG1pbm1heCgxNHJlbSwgMWZyKSBhdXRvIG1pbm1heCg4cmVtLCBhdXRvKSBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiBtaW4oMzVyZW0sIGNhbGMoMTAwdmggLSA0cmVtKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgOCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNiksIHRyYW5zcGFyZW50IDM4JSksXG4gICAgICAgICAgIzA5MGQxNTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgMCAwLjEycmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMiksXG4gICAgICAgICAgMCAyLjRyZW0gNXJlbSByZ2JhKDksIDEzLCAyMSwgMC40OCksXG4gICAgICAgICAgaW5zZXQgMCAwIDEuOHJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1iYWNrIHtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC41NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hyaXN0aWFuaXR5LWNhcmQtYmFjayk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC44cmVtIDEuNTVyZW0gcmdiYSgzNiwgNDgsIDY4LCAwLjE0KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjazo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNiwgNDIsIDY3LCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAuMTJyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdhcDogMC4zNHJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb24sXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19tZXRyaWMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzYsIDQ4LCA2OCwgMC4wOCk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbiBpbWcge1xuICAgICAgICB3aWR0aDogMC44MnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjgycmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19oZWFkZXIgc3Ryb25nIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjg2cmVtLCAyLjV2dywgMS4wNnJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA0O1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbiBpbWcge1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2hlYWRlciBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMjVyZW0sIDV2dywgMS44NXJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpYyB7XG4gICAgICAgIG1pbi13aWR0aDogMS41MnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjUycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMjRyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmQ5MWE7XG4gICAgICAgIGNvbG9yOiAjMjQzMDQ0O1xuICAgICAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjA4cmVtIDAgcmdiYSg4MiwgNjQsIDI4LCAwLjE4KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19tZXRyaWMge1xuICAgICAgICBtaW4td2lkdGg6IDIuMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjFyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC4zNnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpYy5pcy1waXBzLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fc3RhdHMgLmlzLXBpcHMge1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMTZyZW07XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwLjI4cmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19tZXRyaWMgaSxcbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDAuNzJyZW07XG4gICAgICAgIGhlaWdodDogMC43MnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNCUgMjglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMCAwLjEycmVtLCB0cmFuc3BhcmVudCAwLjEzcmVtKSxcbiAgICAgICAgICAjZmZkOTFhO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgLTAuMDhyZW0gMCByZ2JhKDgyLCA2NCwgMjgsIDAuMTgpLFxuICAgICAgICAgIDAgMC4xMnJlbSAwLjI0cmVtIHJnYmEoMTYsIDQyLCA2NywgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM2cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoOTUsIDExMSwgNDIsIDAuMTgpLCByZ2JhKDIxNCwgMTYyLCAyOSwgMC4xNCkpLFxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNTAlIDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKSwgdHJhbnNwYXJlbnQgNDglKSxcbiAgICAgICAgICAjZGJlN2VmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgzNiwgNDgsIDY4LCAwLjA4KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnQgPiBzcGFuIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiByZ2JhKDM2LCA0OCwgNjgsIDAuNDgpO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuODJyZW0sIDIuMnZ3LCAxLjA1cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0ID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4xcmVtLCA1dncsIDEuOHJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2FydCBzbWFsbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMC4yOHJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA3OCU7XG4gICAgICAgIHBhZGRpbmc6IDAuMXJlbSAwLjM0cmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAwIDAgOTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgY29sb3I6IHJnYmEoMzEsIDQxLCA1MSwgMC42Nik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC40OHJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHNtYWxsIHtcbiAgICAgICAgYm90dG9tOiAwLjU1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMTZyZW0gMC40OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3ZlcnNlLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjMycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX192ZXJzZSB7XG4gICAgICAgIGNvbG9yOiAjMTcxOTIzO1xuICAgICAgICBmb250LWZhbWlseTogR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNzJyZW0sIDIuN3Z3LCAwLjg2cmVtKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdmVyc2UgcCxcbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VmZmVjdCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdmVyc2Ugc3Ryb25nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNDVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjRyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzRyZW07XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgNzAlLCByZ2JhKDM2LCA0OCwgNjgsIDAuMDYpLCB0cmFuc3BhcmVudCA0NCUpLFxuICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nik7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VkaXRpb24td2F0ZXJtYXJrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB3aWR0aDogbWluKDY2JSwgNy40cmVtKTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwLjA1NTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VmZmVjdCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBtaW4taGVpZ2h0OiA3cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMC43cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjQ1cmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VkaXRpb24td2F0ZXJtYXJrIHtcbiAgICAgICAgd2lkdGg6IG1pbig3MiUsIDEwcmVtKTtcbiAgICAgICAgb3BhY2l0eTogMC4wNjtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fc3RhdHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC42NXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMS4ycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBzdHJvbmcge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMC4xMnJlbSAwLjMycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2VkZjJmNztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjY2cmVtLCAydncsIDAuODJyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBzdHJvbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjEycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190ZXh0IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdGV4dCBwIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjc4cmVtLCAyLjl2dywgMC45MnJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3Jhcml0eSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjYycmVtO1xuICAgICAgICByaWdodDogMC42MnJlbTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgd2lkdGg6IDAuNDZyZW07XG4gICAgICAgIGhlaWdodDogMC40NnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4xMnJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19yYXJpdHkuaXMtbm9ybWFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2QxZDVkYjtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fcmFyaXR5LmlzLXVuY29tbW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fcmFyaXR5LmlzLXJhcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjM2I4MmY2O1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19yYXJpdHkuaXMtbGVnZW5kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2VhYjMwODtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ2FwOiAwLjM0cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogcmdiYSgzMSwgNDEsIDUxLCAwLjY4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjU4cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZm9vdGVyIHNwYW4ge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTJyZW0pIHtcbiAgICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCB7XG4gICAgICAgICAgbWluLWhlaWdodDogbWluKDM1cmVtLCBjYWxjKDEwMHZoIC0gNHJlbSkpO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMDVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDaHJpc3RpYW5pdHlDYXJkQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgY2FyZCA9IGlucHV0LnJlcXVpcmVkPENocmlzdGlhbml0eUNhcmRSZW5kZXJNb2RlbD4oKTtcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PENocmlzdGlhbml0eUNhcmRSZW5kZXJWYXJpYW50PigndGFibGUnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9ybWFsaXplZFR5cGVMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2FyZCgpLnR5cGVMYWJlbC50b1VwcGVyQ2FzZSgpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZyb250VGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNhcmQoKS5mcm9udFRlbXBsYXRlID8/ICdnZW5lc2lzLWNsYXNzaWMnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzR2VuZXNpc0NsYXNzaWNUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZnJvbnRUZW1wbGF0ZSgpID09PSAnZ2VuZXNpcy1jbGFzc2ljJyB8fCB0aGlzLmZyb250VGVtcGxhdGUoKSA9PT0gJ2dlbmVzaXMtY2xhc3NpYy1leHRyYScpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZUljb25VcmwgPSBjb21wdXRlZCgoKSA9PiBgYXNzZXRzL2dhbWVzL2NocmlzdGlhbml0eS9pY29ucy8ke3RoaXMuaWNvbk5hbWUodGhpcy5jYXJkKCkudHlwZSl9LnBuZ2ApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVhZGVyTWV0cmljID0gY29tcHV0ZWQ8eyBraW5kOiAnbnVtYmVyJyB8ICdwaXBzJzsgdmFsdWU6IG51bWJlciB9IHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IGNhcmQgPSB0aGlzLmNhcmQoKTtcbiAgICBpZiAoY2FyZC50eXBlID09PSAnbGVhZGVyJykgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuIHsga2luZDogJ3BpcHMnLCB2YWx1ZTogY2FyZC5vZmZlcmluZ1ZhbHVlID8/IDAgfTtcbiAgICBpZiAodHlwZW9mIGNhcmQuY29zdCA9PT0gJ251bWJlcicpIHJldHVybiB7IGtpbmQ6ICdudW1iZXInLCB2YWx1ZTogY2FyZC5jb3N0IH07XG4gICAgcmV0dXJuIG51bGw7XG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FyZFN0YXRzVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjYXJkID0gdGhpcy5jYXJkKCk7XG4gICAgaWYgKGNhcmQudHlwZSAhPT0gJ2NoYXJhY3RlcicpIHJldHVybiAnJztcbiAgICByZXR1cm4gYCR7Y2FyZC5hdHRhY2sgPz8gMH0gLyAke2NhcmQuY3VycmVudEhwID8/IGNhcmQubGlmZSA/PyAwfWA7XG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGVhZGVyTGlmZVRleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2FyZCA9IHRoaXMuY2FyZCgpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBjYXJkLmN1cnJlbnRIcCA/PyBjYXJkLmxpZmUgPz8gMDtcbiAgICBjb25zdCBtYXggPSBjYXJkLm1heEhwID8/IGNhcmQubGlmZSA/PyBjdXJyZW50O1xuICAgIHJldHVybiBgJHtjdXJyZW50fS8ke21heH1gO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgb2ZmZXJpbmdQaXBzKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpOiB1bmtub3duW10ge1xuICAgIGNvbnN0IGNvdW50ID0gTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShjb3VudCkgfHwgY291bnQgPD0gMCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1pbihNYXRoLmZsb29yKGNvdW50KSwgNSkgfSk7XG4gIH1cblxuICBwcml2YXRlIGljb25OYW1lKHR5cGU6IENocmlzdGlhbml0eUNhcmRSZW5kZXJUeXBlKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZSA9PT0gJ2NoYXJhY3RlcicpIHJldHVybiAnY2hhcmFjdGVyJztcbiAgICBpZiAodHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICdvZmZlcmluZyc7XG4gICAgaWYgKHR5cGUgPT09ICdsZWFkZXInKSByZXR1cm4gJ2xlYWRlcic7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn1cbiJdfQ==