valtech-components 4.0.937 → 4.0.939
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/group-picker/group-picker.component.mjs +97 -0
- package/esm2022/lib/components/organisms/group-members/group-members.component.mjs +178 -0
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +1 -381
- package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
- package/esm2022/lib/services/groups/groups.service.mjs +92 -0
- package/esm2022/lib/services/groups/types.mjs +2 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +4 -3
- package/fesm2022/valtech-components.mjs +641 -7612
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/group-picker/group-picker.component.d.ts +28 -0
- package/lib/components/organisms/group-members/group-members.component.d.ts +43 -0
- package/lib/components/organisms/mini-games/types.d.ts +0 -182
- package/lib/services/groups/groups.service.d.ts +39 -0
- package/lib/services/groups/types.d.ts +69 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -2
- package/src/lib/assets/games/README.md +8 -0
- package/esm2022/lib/components/organisms/mini-games/christianity-bot.mjs +0 -94
- package/esm2022/lib/components/organisms/mini-games/christianity-card.component.mjs +0 -503
- package/esm2022/lib/components/organisms/mini-games/christianity-catalog.mjs +0 -247
- package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +0 -4580
- package/esm2022/lib/components/organisms/mini-games/christianity-rules.mjs +0 -1383
- package/esm2022/lib/components/organisms/mini-games/christianity-tutorial.mjs +0 -152
- package/lib/components/organisms/mini-games/christianity-bot.d.ts +0 -15
- package/lib/components/organisms/mini-games/christianity-card.component.d.ts +0 -55
- package/lib/components/organisms/mini-games/christianity-catalog.d.ts +0 -18
- package/lib/components/organisms/mini-games/christianity-game.component.d.ts +0 -395
- package/lib/components/organisms/mini-games/christianity-rules.d.ts +0 -57
- package/lib/components/organisms/mini-games/christianity-tutorial.d.ts +0 -38
- package/src/lib/assets/games/christianity/card-symbol.svg +0 -51
- package/src/lib/assets/games/christianity/card-template-reference/front.html +0 -114
- package/src/lib/assets/games/christianity/card-template-reference/front.style.css +0 -352
- package/src/lib/assets/games/christianity/data/01-genesis.bible-reference-suggestions.csv +0 -191
- package/src/lib/assets/games/christianity/data/01-genesis.bible-verses.nbv-open.csv +0 -170
- package/src/lib/assets/games/christianity/data/01-genesis.cards.csv +0 -281
- package/src/lib/assets/games/christianity/data/01-genesis.cards.i18n.csv +0 -281
- package/src/lib/assets/games/christianity/data/01-genesis.cards.json +0 -16453
- package/src/lib/assets/games/christianity/data/01-genesis.unassigned-effects.csv +0 -49
- package/src/lib/assets/games/christianity/data/README.md +0 -40
- package/src/lib/assets/games/christianity/data/data-con-habilides.csv +0 -273
- package/src/lib/assets/games/christianity/data/habilidades-por-tipo.xlsx +0 -0
- package/src/lib/assets/games/christianity/data/listado-edicion.csv +0 -281
- package/src/lib/assets/games/christianity/editions/1/cards/.gitkeep +0 -1
- package/src/lib/assets/games/christianity/editions/1/cards/PLACEHOLDER.png +0 -0
- package/src/lib/assets/games/christianity/editions/README.md +0 -34
- package/src/lib/assets/games/christianity/icons/1-icon.png +0 -0
- package/src/lib/assets/games/christianity/icons/action.png +0 -0
- package/src/lib/assets/games/christianity/icons/character.png +0 -0
- package/src/lib/assets/games/christianity/icons/event.png +0 -0
- package/src/lib/assets/games/christianity/icons/leader.png +0 -0
- package/src/lib/assets/games/christianity/icons/offering.png +0 -0
- package/src/lib/assets/games/christianity/icons/place.png +0 -0
- package/src/lib/assets/games/christianity/icons/tool.png +0 -0
- package/src/lib/assets/games/christianity/icons/wisdom.png +0 -0
- package/src/lib/assets/games/christianity/sources/README.md +0 -16
- package/src/lib/assets/games/christianity/sources/spaonbv_vpl.txt +0 -29102
- package/src/lib/assets/games/christianity/sources/spaonbv_vpl.xml +0 -29104
- package/src/lib/assets/games/christianity/spaonbv.txt +0 -52
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
export const GENESIS_CATALOG_URL = 'assets/games/christianity/data/01-genesis.cards.json';
|
|
2
|
-
export const GENESIS_ICON_URL = 'assets/games/christianity/icons/1-icon.png';
|
|
3
|
-
export const SPLASH_MIN_DURATION_MS = 720;
|
|
4
|
-
export const STARTER_CARDS = {
|
|
5
|
-
o_simple: {
|
|
6
|
-
id: 'o_simple',
|
|
7
|
-
name: 'Ofrenda simple',
|
|
8
|
-
type: 'offering',
|
|
9
|
-
cost: 0,
|
|
10
|
-
attack: 0,
|
|
11
|
-
life: 1,
|
|
12
|
-
verseText: 'Una ofrenda sencilla queda lista para sostener tus siguientes jugadas.',
|
|
13
|
-
scripture: 'Genesis 4:4',
|
|
14
|
-
edition: 'GEN',
|
|
15
|
-
collectorNumber: '001/020',
|
|
16
|
-
year: '2026',
|
|
17
|
-
author: 'MVP',
|
|
18
|
-
rarity: 'normal',
|
|
19
|
-
},
|
|
20
|
-
o_forbidden: {
|
|
21
|
-
id: 'o_forbidden',
|
|
22
|
-
name: 'El fruto prohibido',
|
|
23
|
-
type: 'offering',
|
|
24
|
-
cost: 0,
|
|
25
|
-
attack: 0,
|
|
26
|
-
life: 2,
|
|
27
|
-
abilityName: 'Conocimiento del bien y del mal',
|
|
28
|
-
abilityText: 'Genera el valor de 2 ofrendas. Al usarla, inflige 1 punto de daño al líder.',
|
|
29
|
-
abilityCost: 0,
|
|
30
|
-
verseText: 'Dios el Señor puso al hombre en el jardín de Edén para que lo labrara y lo cuidara.',
|
|
31
|
-
scripture: 'Genesis 2:17 NBV',
|
|
32
|
-
edition: 'GEN',
|
|
33
|
-
collectorNumber: '012/180',
|
|
34
|
-
year: '2026',
|
|
35
|
-
author: 'MVP',
|
|
36
|
-
rarity: 'uncommon',
|
|
37
|
-
},
|
|
38
|
-
p_scout: {
|
|
39
|
-
id: 'p_scout',
|
|
40
|
-
name: 'Scout',
|
|
41
|
-
type: 'character',
|
|
42
|
-
cost: 1,
|
|
43
|
-
attack: 1,
|
|
44
|
-
life: 1,
|
|
45
|
-
verseText: 'Un explorador humilde abre camino antes de que llegue la batalla.',
|
|
46
|
-
scripture: 'Genesis 13:17',
|
|
47
|
-
edition: 'GEN',
|
|
48
|
-
collectorNumber: '002/020',
|
|
49
|
-
year: '2026',
|
|
50
|
-
author: 'MVP',
|
|
51
|
-
rarity: 'normal',
|
|
52
|
-
},
|
|
53
|
-
p_guard: {
|
|
54
|
-
id: 'p_guard',
|
|
55
|
-
name: 'Guard',
|
|
56
|
-
type: 'character',
|
|
57
|
-
cost: 2,
|
|
58
|
-
attack: 1,
|
|
59
|
-
life: 3,
|
|
60
|
-
edition: 'GEN',
|
|
61
|
-
collectorNumber: '003/020',
|
|
62
|
-
year: '2026',
|
|
63
|
-
author: 'MVP',
|
|
64
|
-
rarity: 'normal',
|
|
65
|
-
},
|
|
66
|
-
p_warrior: {
|
|
67
|
-
id: 'p_warrior',
|
|
68
|
-
name: 'Warrior',
|
|
69
|
-
type: 'character',
|
|
70
|
-
cost: 2,
|
|
71
|
-
attack: 2,
|
|
72
|
-
life: 2,
|
|
73
|
-
edition: 'GEN',
|
|
74
|
-
collectorNumber: '004/020',
|
|
75
|
-
year: '2026',
|
|
76
|
-
author: 'MVP',
|
|
77
|
-
rarity: 'normal',
|
|
78
|
-
},
|
|
79
|
-
p_elder: {
|
|
80
|
-
id: 'p_elder',
|
|
81
|
-
name: 'Elder',
|
|
82
|
-
type: 'character',
|
|
83
|
-
cost: 3,
|
|
84
|
-
attack: 2,
|
|
85
|
-
life: 4,
|
|
86
|
-
edition: 'GEN',
|
|
87
|
-
collectorNumber: '005/020',
|
|
88
|
-
year: '2026',
|
|
89
|
-
author: 'MVP',
|
|
90
|
-
rarity: 'uncommon',
|
|
91
|
-
},
|
|
92
|
-
p_champion: {
|
|
93
|
-
id: 'p_champion',
|
|
94
|
-
name: 'Champion',
|
|
95
|
-
type: 'character',
|
|
96
|
-
cost: 4,
|
|
97
|
-
attack: 4,
|
|
98
|
-
life: 4,
|
|
99
|
-
edition: 'GEN',
|
|
100
|
-
collectorNumber: '006/020',
|
|
101
|
-
year: '2026',
|
|
102
|
-
author: 'MVP',
|
|
103
|
-
rarity: 'rare',
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
const STARTING_SHARED_DECK = [
|
|
107
|
-
'o_simple',
|
|
108
|
-
'p_scout',
|
|
109
|
-
'o_forbidden',
|
|
110
|
-
'o_simple',
|
|
111
|
-
'p_guard',
|
|
112
|
-
'p_warrior',
|
|
113
|
-
'o_simple',
|
|
114
|
-
'p_elder',
|
|
115
|
-
'p_scout',
|
|
116
|
-
'o_simple',
|
|
117
|
-
'p_champion',
|
|
118
|
-
'p_guard',
|
|
119
|
-
'o_simple',
|
|
120
|
-
'p_warrior',
|
|
121
|
-
'p_scout',
|
|
122
|
-
'o_simple',
|
|
123
|
-
'p_elder',
|
|
124
|
-
'p_guard',
|
|
125
|
-
'o_simple',
|
|
126
|
-
];
|
|
127
|
-
export const STARTING_GAME = {
|
|
128
|
-
gameId: 'mock-christianity',
|
|
129
|
-
status: 'in_progress',
|
|
130
|
-
mode: 'local_pass',
|
|
131
|
-
turnOwner: 'P1',
|
|
132
|
-
revision: 0,
|
|
133
|
-
turnCount: 1,
|
|
134
|
-
matchScore: { P1: 0, P2: 0 },
|
|
135
|
-
sharedDeck: STARTING_SHARED_DECK,
|
|
136
|
-
placeZone: [],
|
|
137
|
-
historyZone: [],
|
|
138
|
-
players: {
|
|
139
|
-
P1: {
|
|
140
|
-
seat: 'P1',
|
|
141
|
-
displayName: 'Jugador',
|
|
142
|
-
avatar: 'J',
|
|
143
|
-
avatarColor: '#2563eb',
|
|
144
|
-
leaderName: 'Adam',
|
|
145
|
-
leaderHp: 15,
|
|
146
|
-
leaderMaxHp: 15,
|
|
147
|
-
offerings: [
|
|
148
|
-
{
|
|
149
|
-
instanceId: 'p1_offering_001',
|
|
150
|
-
cardId: 'o_simple',
|
|
151
|
-
name: 'Ofrenda simple',
|
|
152
|
-
owner: 'P1',
|
|
153
|
-
ready: true,
|
|
154
|
-
value: 1,
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
instanceId: 'p1_offering_002',
|
|
158
|
-
cardId: 'o_forbidden',
|
|
159
|
-
name: 'El fruto prohibido',
|
|
160
|
-
owner: 'P1',
|
|
161
|
-
ready: true,
|
|
162
|
-
value: 2,
|
|
163
|
-
abilityName: 'Conocimiento del bien y del mal',
|
|
164
|
-
abilityText: 'Genera el valor de 2 ofrendas. Al usarla, inflige 1 punto de daño al lider.',
|
|
165
|
-
abilityCost: 0,
|
|
166
|
-
},
|
|
167
|
-
],
|
|
168
|
-
offeringPlayedThisTurn: false,
|
|
169
|
-
hand: ['o_simple', 'p_scout', 'p_warrior', 'p_guard'],
|
|
170
|
-
battleZone: [],
|
|
171
|
-
},
|
|
172
|
-
P2: {
|
|
173
|
-
seat: 'P2',
|
|
174
|
-
displayName: 'Rival',
|
|
175
|
-
avatar: 'R',
|
|
176
|
-
avatarColor: '#b45309',
|
|
177
|
-
leaderName: 'Noah',
|
|
178
|
-
leaderHp: 15,
|
|
179
|
-
leaderMaxHp: 15,
|
|
180
|
-
offerings: [
|
|
181
|
-
{
|
|
182
|
-
instanceId: 'p2_offering_001',
|
|
183
|
-
cardId: 'o_simple',
|
|
184
|
-
name: 'Ofrenda simple',
|
|
185
|
-
owner: 'P2',
|
|
186
|
-
ready: true,
|
|
187
|
-
value: 1,
|
|
188
|
-
},
|
|
189
|
-
],
|
|
190
|
-
offeringPlayedThisTurn: false,
|
|
191
|
-
handCount: 4,
|
|
192
|
-
battleZone: [
|
|
193
|
-
{
|
|
194
|
-
instanceId: 'opp_001',
|
|
195
|
-
cardId: 'p_scout',
|
|
196
|
-
name: 'Scout',
|
|
197
|
-
owner: 'P2',
|
|
198
|
-
controller: 'P2',
|
|
199
|
-
slot: 0,
|
|
200
|
-
attack: 1,
|
|
201
|
-
currentHp: 1,
|
|
202
|
-
maxHp: 1,
|
|
203
|
-
canAttack: false,
|
|
204
|
-
},
|
|
205
|
-
],
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
log: ['Partida iniciada.'],
|
|
209
|
-
};
|
|
210
|
-
export function formatScripture(bible) {
|
|
211
|
-
if (!bible?.book || !bible.reference)
|
|
212
|
-
return undefined;
|
|
213
|
-
return `${bible.book} ${bible.reference}${bible.version ? ` ${bible.version}` : ''}`;
|
|
214
|
-
}
|
|
215
|
-
export function normalizeCatalogCard(card, catalog) {
|
|
216
|
-
const editionIcon = card.editionIcon ?? catalog.edition?.icon ?? GENESIS_ICON_URL;
|
|
217
|
-
const verseText = card.verseText ?? card.bible?.text;
|
|
218
|
-
const scripture = card.scripture ?? formatScripture(card.bible);
|
|
219
|
-
const offeringValue = card.type === 'offering'
|
|
220
|
-
? (card.offeringValue ?? card.life ?? card.cost ?? 1)
|
|
221
|
-
: card.offeringValue;
|
|
222
|
-
const life = card.type === 'leader'
|
|
223
|
-
? (card.leaderLife ?? card.life ?? 10)
|
|
224
|
-
: card.type === 'offering'
|
|
225
|
-
? offeringValue
|
|
226
|
-
: (card.life ?? 0);
|
|
227
|
-
return {
|
|
228
|
-
...card,
|
|
229
|
-
cost: card.type === 'offering' ? 0 : (card.cost ?? 0),
|
|
230
|
-
offeringValue,
|
|
231
|
-
life,
|
|
232
|
-
leaderLife: card.type === 'leader' ? (card.leaderLife ?? life) : card.leaderLife,
|
|
233
|
-
attack: card.type === 'character' ? (card.attack ?? 0) : card.attack,
|
|
234
|
-
abilityName: card.abilityName ?? card.abilities?.[0]?.name,
|
|
235
|
-
abilityText: card.abilityText ?? card.abilities?.[0]?.text,
|
|
236
|
-
verseText,
|
|
237
|
-
scripture,
|
|
238
|
-
edition: card.edition ?? catalog.edition?.id ?? 'GEN',
|
|
239
|
-
editionNumber: card.editionNumber ?? catalog.edition?.number,
|
|
240
|
-
editionIcon,
|
|
241
|
-
imageUrl: card.imageUrl ?? card.art?.imageUrl,
|
|
242
|
-
author: card.author ?? card.art?.artistCredit,
|
|
243
|
-
year: card.year ?? '2026',
|
|
244
|
-
frontTemplate: card.frontTemplate ?? 'genesis-classic',
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LWNhdGFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvY2hyaXN0aWFuaXR5LWNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHNEQUFzRCxDQUFDO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLDRDQUE0QyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQStDO0lBQ3ZFLFFBQVEsRUFBRTtRQUNSLEVBQUUsRUFBRSxVQUFVO1FBQ2QsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0sRUFBRSxDQUFDO1FBQ1QsSUFBSSxFQUFFLENBQUM7UUFDUCxTQUFTLEVBQUUsd0VBQXdFO1FBQ25GLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsZUFBZSxFQUFFLFNBQVM7UUFDMUIsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsS0FBSztRQUNiLE1BQU0sRUFBRSxRQUFRO0tBQ2pCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsRUFBRSxFQUFFLGFBQWE7UUFDakIsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0sRUFBRSxDQUFDO1FBQ1QsSUFBSSxFQUFFLENBQUM7UUFDUCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLFdBQVcsRUFBRSw2RUFBNkU7UUFDMUYsV0FBVyxFQUFFLENBQUM7UUFDZCxTQUFTLEVBQ1AscUZBQXFGO1FBQ3ZGLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsT0FB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1FBQ3BFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJO1FBQzFELFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJO1FBQzFELFNBQVM7UUFDVCxTQUFTO1FBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksS0FBSztRQUNyRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU07UUFDNUQsV0FBVztRQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUTtRQUM3QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLFlBQVk7UUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTTtRQUN6QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxpQkFBaUI7S0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbixcbiAgQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlLFxuICBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUVkaXRpb25DYXRhbG9nIHtcbiAgZWRpdGlvbj86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBudW1iZXI/OiBudW1iZXI7XG4gICAgc2x1Zz86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gIH07XG4gIGNhcmRzPzogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb25bXTtcbn1cblxuZXhwb3J0IGNvbnN0IEdFTkVTSVNfQ0FUQUxPR19VUkwgPSAnYXNzZXRzL2dhbWVzL2NocmlzdGlhbml0eS9kYXRhLzAxLWdlbmVzaXMuY2FyZHMuanNvbic7XG5leHBvcnQgY29uc3QgR0VORVNJU19JQ09OX1VSTCA9ICdhc3NldHMvZ2FtZXMvY2hyaXN0aWFuaXR5L2ljb25zLzEtaWNvbi5wbmcnO1xuZXhwb3J0IGNvbnN0IFNQTEFTSF9NSU5fRFVSQVRJT05fTVMgPSA3MjA7XG5cbmV4cG9ydCBjb25zdCBTVEFSVEVSX0NBUkRTOiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbj4gPSB7XG4gIG9fc2ltcGxlOiB7XG4gICAgaWQ6ICdvX3NpbXBsZScsXG4gICAgbmFtZTogJ09mcmVuZGEgc2ltcGxlJyxcbiAgICB0eXBlOiAnb2ZmZXJpbmcnLFxuICAgIGNvc3Q6IDAsXG4gICAgYXR0YWNrOiAwLFxuICAgIGxpZmU6IDEsXG4gICAgdmVyc2VUZXh0OiAnVW5hIG9mcmVuZGEgc2VuY2lsbGEgcXVlZGEgbGlzdGEgcGFyYSBzb3N0ZW5lciB0dXMgc2lndWllbnRlcyBqdWdhZGFzLicsXG4gICAgc2NyaXB0dXJlOiAnR2VuZXNpcyA0OjQnLFxuICAgIGVkaXRpb246ICdHRU4nLFxuICAgIGNvbGxlY3Rvck51bWJlcjogJzAwMS8wMjAnLFxuICAgIHllYXI6ICcyMDI2JyxcbiAgICBhdXRob3I6ICdNVlAnLFxuICAgIHJhcml0eTogJ25vcm1hbCcsXG4gIH0sXG4gIG9fZm9yYmlkZGVuOiB7XG4gICAgaWQ6ICdvX2ZvcmJpZGRlbicsXG4gICAgbmFtZTogJ0VsIGZydXRvIHByb2hpYmlkbycsXG4gICAgdHlwZTogJ29mZmVyaW5nJyxcbiAgICBjb3N0OiAwLFxuICAgIGF0dGFjazogMCxcbiAgICBsaWZlOiAyLFxuICAgIGFiaWxpdHlOYW1lOiAnQ29ub2NpbWllbnRvIGRlbCBiaWVuIHkgZGVsIG1hbCcsXG4gICAgYWJpbGl0eVRleHQ6ICdHZW5lcmEgZWwgdmFsb3IgZGUgMiBvZnJlbmRhcy4gQWwgdXNhcmxhLCBpbmZsaWdlIDEgcHVudG8gZGUgZGHDsW8gYWwgbMOtZGVyLicsXG4gICAgYWJpbGl0eUNvc3Q6IDAsXG4gICAgdmVyc2VUZXh0OlxuICAgICAgJ0Rpb3MgZWwgU2XDsW9yIHB1c28gYWwgaG9tYnJlIGVuIGVsIGphcmTDrW4gZGUgRWTDqW4gcGFyYSBxdWUgbG8gbGFicmFyYSB5IGxvIGN1aWRhcmEuJyxcbiAgICBzY3JpcHR1cmU6ICdHZW5lc2lzIDI6MTcgTkJWJyxcbiAgICBlZGl0aW9uOiAnR0VOJyxcbiAgICBjb2xsZWN0b3JOdW1iZXI6ICcwMTIvMTgwJyxcbiAgICB5ZWFyOiAnMjAyNicsXG4gICAgYXV0aG9yOiAnTVZQJyxcbiAgICByYXJpdHk6ICd1bmNvbW1vbicsXG4gIH0sXG4gIHBfc2NvdXQ6IHtcbiAgICBpZDogJ3Bfc2NvdXQnLFxuICAgIG5hbWU6ICdTY291dCcsXG4gICAgdHlwZTogJ2NoYXJhY3RlcicsXG4gICAgY29zdDogMSxcbiAgICBhdHRhY2s6IDEsXG4gICAgbGlmZTogMSxcbiAgICB2ZXJzZVRleHQ6ICdVbiBleHBsb3JhZG9yIGh1bWlsZGUgYWJyZSBjYW1pbm8gYW50ZXMgZGUgcXVlIGxsZWd1ZSBsYSBiYXRhbGxhLicsXG4gICAgc2NyaXB0dXJlOiAnR2VuZXNpcyAxMzoxNycsXG4gICAgZWRpdGlvbjogJ0dFTicsXG4gICAgY29sbGVjdG9yTnVtYmVyOiAnMDAyLzAyMCcsXG4gICAgeWVhcjogJzIwMjYnLFxuICAgIGF1dGhvcjogJ01WUCcsXG4gICAgcmFyaXR5OiAnbm9ybWFsJyxcbiAgfSxcbiAgcF9ndWFyZDoge1xuICAgIGlkOiAncF9ndWFyZCcsXG4gICAgbmFtZTogJ0d1YXJkJyxcbiAgICB0eXBlOiAnY2hhcmFjdGVyJyxcbiAgICBjb3N0OiAyLFxuICAgIGF0dGFjazogMSxcbiAgICBsaWZlOiAzLFxuICAgIGVkaXRpb246ICdHRU4nLFxuICAgIGNvbGxlY3Rvck51bWJlcjogJzAwMy8wMjAnLFxuICAgIHllYXI6ICcyMDI2JyxcbiAgICBhdXRob3I6ICdNVlAnLFxuICAgIHJhcml0eTogJ25vcm1hbCcsXG4gIH0sXG4gIHBfd2Fycmlvcjoge1xuICAgIGlkOiAncF93YXJyaW9yJyxcbiAgICBuYW1lOiAnV2FycmlvcicsXG4gICAgdHlwZTogJ2NoYXJhY3RlcicsXG4gICAgY29zdDogMixcbiAgICBhdHRhY2s6IDIsXG4gICAgbGlmZTogMixcbiAgICBlZGl0aW9uOiAnR0VOJyxcbiAgICBjb2xsZWN0b3JOdW1iZXI6ICcwMDQvMDIwJyxcbiAgICB5ZWFyOiAnMjAyNicsXG4gICAgYXV0aG9yOiAnTVZQJyxcbiAgICByYXJpdHk6ICdub3JtYWwnLFxuICB9LFxuICBwX2VsZGVyOiB7XG4gICAgaWQ6ICdwX2VsZGVyJyxcbiAgICBuYW1lOiAnRWxkZXInLFxuICAgIHR5cGU6ICdjaGFyYWN0ZXInLFxuICAgIGNvc3Q6IDMsXG4gICAgYXR0YWNrOiAyLFxuICAgIGxpZmU6IDQsXG4gICAgZWRpdGlvbjogJ0dFTicsXG4gICAgY29sbGVjdG9yTnVtYmVyOiAnMDA1LzAyMCcsXG4gICAgeWVhcjogJzIwMjYnLFxuICAgIGF1dGhvcjogJ01WUCcsXG4gICAgcmFyaXR5OiAndW5jb21tb24nLFxuICB9LFxuICBwX2NoYW1waW9uOiB7XG4gICAgaWQ6ICdwX2NoYW1waW9uJyxcbiAgICBuYW1lOiAnQ2hhbXBpb24nLFxuICAgIHR5cGU6ICdjaGFyYWN0ZXInLFxuICAgIGNvc3Q6IDQsXG4gICAgYXR0YWNrOiA0LFxuICAgIGxpZmU6IDQsXG4gICAgZWRpdGlvbjogJ0dFTicsXG4gICAgY29sbGVjdG9yTnVtYmVyOiAnMDA2LzAyMCcsXG4gICAgeWVhcjogJzIwMjYnLFxuICAgIGF1dGhvcjogJ01WUCcsXG4gICAgcmFyaXR5OiAncmFyZScsXG4gIH0sXG59O1xuXG5jb25zdCBTVEFSVElOR19TSEFSRURfREVDSyA9IFtcbiAgJ29fc2ltcGxlJyxcbiAgJ3Bfc2NvdXQnLFxuICAnb19mb3JiaWRkZW4nLFxuICAnb19zaW1wbGUnLFxuICAncF9ndWFyZCcsXG4gICdwX3dhcnJpb3InLFxuICAnb19zaW1wbGUnLFxuICAncF9lbGRlcicsXG4gICdwX3Njb3V0JyxcbiAgJ29fc2ltcGxlJyxcbiAgJ3BfY2hhbXBpb24nLFxuICAncF9ndWFyZCcsXG4gICdvX3NpbXBsZScsXG4gICdwX3dhcnJpb3InLFxuICAncF9zY291dCcsXG4gICdvX3NpbXBsZScsXG4gICdwX2VsZGVyJyxcbiAgJ3BfZ3VhcmQnLFxuICAnb19zaW1wbGUnLFxuXTtcblxuZXhwb3J0IGNvbnN0IFNUQVJUSU5HX0dBTUU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSA9IHtcbiAgZ2FtZUlkOiAnbW9jay1jaHJpc3RpYW5pdHknLFxuICBzdGF0dXM6ICdpbl9wcm9ncmVzcycsXG4gIG1vZGU6ICdsb2NhbF9wYXNzJyxcbiAgdHVybk93bmVyOiAnUDEnLFxuICByZXZpc2lvbjogMCxcbiAgdHVybkNvdW50OiAxLFxuICBtYXRjaFNjb3JlOiB7IFAxOiAwLCBQMjogMCB9LFxuICBzaGFyZWREZWNrOiBTVEFSVElOR19TSEFSRURfREVDSyxcbiAgcGxhY2Vab25lOiBbXSxcbiAgaGlzdG9yeVpvbmU6IFtdLFxuICBwbGF5ZXJzOiB7XG4gICAgUDE6IHtcbiAgICAgIHNlYXQ6ICdQMScsXG4gICAgICBkaXNwbGF5TmFtZTogJ0p1Z2Fkb3InLFxuICAgICAgYXZhdGFyOiAnSicsXG4gICAgICBhdmF0YXJDb2xvcjogJyMyNTYzZWInLFxuICAgICAgbGVhZGVyTmFtZTogJ0FkYW0nLFxuICAgICAgbGVhZGVySHA6IDE1LFxuICAgICAgbGVhZGVyTWF4SHA6IDE1LFxuICAgICAgb2ZmZXJpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpbnN0YW5jZUlkOiAncDFfb2ZmZXJpbmdfMDAxJyxcbiAgICAgICAgICBjYXJkSWQ6ICdvX3NpbXBsZScsXG4gICAgICAgICAgbmFtZTogJ09mcmVuZGEgc2ltcGxlJyxcbiAgICAgICAgICBvd25lcjogJ1AxJyxcbiAgICAgICAgICByZWFkeTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGluc3RhbmNlSWQ6ICdwMV9vZmZlcmluZ18wMDInLFxuICAgICAgICAgIGNhcmRJZDogJ29fZm9yYmlkZGVuJyxcbiAgICAgICAgICBuYW1lOiAnRWwgZnJ1dG8gcHJvaGliaWRvJyxcbiAgICAgICAgICBvd25lcjogJ1AxJyxcbiAgICAgICAgICByZWFkeTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogMixcbiAgICAgICAgICBhYmlsaXR5TmFtZTogJ0Nvbm9jaW1pZW50byBkZWwgYmllbiB5IGRlbCBtYWwnLFxuICAgICAgICAgIGFiaWxpdHlUZXh0OlxuICAgICAgICAgICAgJ0dlbmVyYSBlbCB2YWxvciBkZSAyIG9mcmVuZGFzLiBBbCB1c2FybGEsIGluZmxpZ2UgMSBwdW50byBkZSBkYcOxbyBhbCBsaWRlci4nLFxuICAgICAgICAgIGFiaWxpdHlDb3N0OiAwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIG9mZmVyaW5nUGxheWVkVGhpc1R1cm46IGZhbHNlLFxuICAgICAgaGFuZDogWydvX3NpbXBsZScsICdwX3Njb3V0JywgJ3Bfd2FycmlvcicsICdwX2d1YXJkJ10sXG4gICAgICBiYXR0bGVab25lOiBbXSxcbiAgICB9LFxuICAgIFAyOiB7XG4gICAgICBzZWF0OiAnUDInLFxuICAgICAgZGlzcGxheU5hbWU6ICdSaXZhbCcsXG4gICAgICBhdmF0YXI6ICdSJyxcbiAgICAgIGF2YXRhckNvbG9yOiAnI2I0NTMwOScsXG4gICAgICBsZWFkZXJOYW1lOiAnTm9haCcsXG4gICAgICBsZWFkZXJIcDogMTUsXG4gICAgICBsZWFkZXJNYXhIcDogMTUsXG4gICAgICBvZmZlcmluZ3M6IFtcbiAgICAgICAge1xuICAgICAgICAgIGluc3RhbmNlSWQ6ICdwMl9vZmZlcmluZ18wMDEnLFxuICAgICAgICAgIGNhcmRJZDogJ29fc2ltcGxlJyxcbiAgICAgICAgICBuYW1lOiAnT2ZyZW5kYSBzaW1wbGUnLFxuICAgICAgICAgIG93bmVyOiAnUDInLFxuICAgICAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIG9mZmVyaW5nUGxheWVkVGhpc1R1cm46IGZhbHNlLFxuICAgICAgaGFuZENvdW50OiA0LFxuICAgICAgYmF0dGxlWm9uZTogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5zdGFuY2VJZDogJ29wcF8wMDEnLFxuICAgICAgICAgIGNhcmRJZDogJ3Bfc2NvdXQnLFxuICAgICAgICAgIG5hbWU6ICdTY291dCcsXG4gICAgICAgICAgb3duZXI6ICdQMicsXG4gICAgICAgICAgY29udHJvbGxlcjogJ1AyJyxcbiAgICAgICAgICBzbG90OiAwLFxuICAgICAgICAgIGF0dGFjazogMSxcbiAgICAgICAgICBjdXJyZW50SHA6IDEsXG4gICAgICAgICAgbWF4SHA6IDEsXG4gICAgICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgbG9nOiBbJ1BhcnRpZGEgaW5pY2lhZGEuJ10sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0U2NyaXB0dXJlKGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFiaWJsZT8uYm9vayB8fCAhYmlibGUucmVmZXJlbmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gYCR7YmlibGUuYm9va30gJHtiaWJsZS5yZWZlcmVuY2V9JHtiaWJsZS52ZXJzaW9uID8gYCAke2JpYmxlLnZlcnNpb259YCA6ICcnfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVDYXRhbG9nQ2FyZChcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIGNhdGFsb2c6IENocmlzdGlhbml0eUVkaXRpb25DYXRhbG9nXG4pOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiB7XG4gIGNvbnN0IGVkaXRpb25JY29uID0gY2FyZC5lZGl0aW9uSWNvbiA/PyBjYXRhbG9nLmVkaXRpb24/Lmljb24gPz8gR0VORVNJU19JQ09OX1VSTDtcbiAgY29uc3QgdmVyc2VUZXh0ID0gY2FyZC52ZXJzZVRleHQgPz8gY2FyZC5iaWJsZT8udGV4dDtcbiAgY29uc3Qgc2NyaXB0dXJlID0gY2FyZC5zY3JpcHR1cmUgPz8gZm9ybWF0U2NyaXB0dXJlKGNhcmQuYmlibGUpO1xuICBjb25zdCBvZmZlcmluZ1ZhbHVlID1cbiAgICBjYXJkLnR5cGUgPT09ICdvZmZlcmluZydcbiAgICAgID8gKGNhcmQub2ZmZXJpbmdWYWx1ZSA/PyBjYXJkLmxpZmUgPz8gY2FyZC5jb3N0ID8/IDEpXG4gICAgICA6IGNhcmQub2ZmZXJpbmdWYWx1ZTtcbiAgY29uc3QgbGlmZSA9XG4gICAgY2FyZC50eXBlID09PSAnbGVhZGVyJ1xuICAgICAgPyAoY2FyZC5sZWFkZXJMaWZlID8/IGNhcmQubGlmZSA/PyAxMClcbiAgICAgIDogY2FyZC50eXBlID09PSAnb2ZmZXJpbmcnXG4gICAgICAgID8gb2ZmZXJpbmdWYWx1ZVxuICAgICAgICA6IChjYXJkLmxpZmUgPz8gMCk7XG4gIHJldHVybiB7XG4gICAgLi4uY2FyZCxcbiAgICBjb3N0OiBjYXJkLnR5cGUgPT09ICdvZmZlcmluZycgPyAwIDogKGNhcmQuY29zdCA/PyAwKSxcbiAgICBvZmZlcmluZ1ZhbHVlLFxuICAgIGxpZmUsXG4gICAgbGVhZGVyTGlmZTogY2FyZC50eXBlID09PSAnbGVhZGVyJyA/IChjYXJkLmxlYWRlckxpZmUgPz8gbGlmZSkgOiBjYXJkLmxlYWRlckxpZmUsXG4gICAgYXR0YWNrOiBjYXJkLnR5cGUgPT09ICdjaGFyYWN0ZXInID8gKGNhcmQuYXR0YWNrID8/IDApIDogY2FyZC5hdHRhY2ssXG4gICAgYWJpbGl0eU5hbWU6IGNhcmQuYWJpbGl0eU5hbWUgPz8gY2FyZC5hYmlsaXRpZXM/LlswXT8ubmFtZSxcbiAgICBhYmlsaXR5VGV4dDogY2FyZC5hYmlsaXR5VGV4dCA/PyBjYXJkLmFiaWxpdGllcz8uWzBdPy50ZXh0LFxuICAgIHZlcnNlVGV4dCxcbiAgICBzY3JpcHR1cmUsXG4gICAgZWRpdGlvbjogY2FyZC5lZGl0aW9uID8/IGNhdGFsb2cuZWRpdGlvbj8uaWQgPz8gJ0dFTicsXG4gICAgZWRpdGlvbk51bWJlcjogY2FyZC5lZGl0aW9uTnVtYmVyID8/IGNhdGFsb2cuZWRpdGlvbj8ubnVtYmVyLFxuICAgIGVkaXRpb25JY29uLFxuICAgIGltYWdlVXJsOiBjYXJkLmltYWdlVXJsID8/IGNhcmQuYXJ0Py5pbWFnZVVybCxcbiAgICBhdXRob3I6IGNhcmQuYXV0aG9yID8/IGNhcmQuYXJ0Py5hcnRpc3RDcmVkaXQsXG4gICAgeWVhcjogY2FyZC55ZWFyID8/ICcyMDI2JyxcbiAgICBmcm9udFRlbXBsYXRlOiBjYXJkLmZyb250VGVtcGxhdGUgPz8gJ2dlbmVzaXMtY2xhc3NpYycsXG4gIH07XG59XG4iXX0=
|