valtech-components 4.0.507 → 4.0.509

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.
@@ -1,6 +1,6 @@
1
1
  export const CHRISTIANITY_BATTLE_SLOTS = 4;
2
2
  export function readyOfferings(player) {
3
- return player.offerings.reduce((total, offering) => total + (offering.ready ? offering.value : 0), 0);
3
+ return player.offerings.reduce((total, offering) => total + (offering.ready ? offering.value : 0), player.temporaryOfferingReserve ?? 0);
4
4
  }
5
5
  export function totalOfferings(player) {
6
6
  return player.offerings.reduce((total, offering) => total + offering.value, 0);
@@ -93,17 +93,19 @@ export function canUseOfferingAbility(game, seat, offeringInstanceId) {
93
93
  }
94
94
  export function resolveOfferingAbility(game, seat, offeringInstanceId) {
95
95
  if (!canUseOfferingAbility(game, seat, offeringInstanceId)) {
96
- return { game, resolved: false, leaderDamage: 0, spentOfferings: 0, log: [] };
96
+ return { game, resolved: false, leaderDamage: 0, reserveGain: 0, spentOfferings: 0, log: [] };
97
97
  }
98
98
  const next = structuredClone(game);
99
99
  const player = next.players[seat];
100
100
  const liveOffering = player.offerings.find(card => card.instanceId === offeringInstanceId);
101
101
  if (!liveOffering)
102
- return { game, resolved: false, leaderDamage: 0, spentOfferings: 0, log: [] };
102
+ return { game, resolved: false, leaderDamage: 0, reserveGain: 0, spentOfferings: 0, log: [] };
103
103
  const spentOfferings = liveOffering.abilityCost ?? 0;
104
104
  if (spentOfferings > 0) {
105
105
  spendOfferings(player, spentOfferings);
106
106
  }
107
+ const reserveGain = offeringAbilityReserveGain(liveOffering.abilityText, liveOffering.value);
108
+ player.temporaryOfferingReserve = (player.temporaryOfferingReserve ?? 0) + reserveGain;
107
109
  player.offerings = player.offerings.map(card => (card.instanceId === offeringInstanceId
108
110
  ? { ...card, abilityUsedThisTurn: true }
109
111
  : card));
@@ -111,7 +113,7 @@ export function resolveOfferingAbility(game, seat, offeringInstanceId) {
111
113
  next.revision++;
112
114
  const log = [`${liveOffering.name}: ${liveOffering.abilityName}.`];
113
115
  next.log = [...log, ...next.log].slice(0, 4);
114
- return { game: next, resolved: true, leaderDamage: 1, spentOfferings, log };
116
+ return { game: next, resolved: true, leaderDamage: 1, reserveGain, spentOfferings, log };
115
117
  }
116
118
  function playCardLog(card, displayName) {
117
119
  if (card.type === 'offering')
@@ -160,6 +162,7 @@ export function resolveAttackCharacter(game, attackerSeat, attackerInstanceId, t
160
162
  return { game: next, attacked: true, attackerDamage: target.attack, targetDamage: attacker.attack, log };
161
163
  }
162
164
  export function advanceTurn(game, messages) {
165
+ game.players[game.turnOwner].temporaryOfferingReserve = 0;
163
166
  game.turnOwner = opponentSeat(game.turnOwner);
164
167
  game.turnCount++;
165
168
  const current = game.players[game.turnOwner];
@@ -197,6 +200,12 @@ export function cleanupDestroyed(player, game) {
197
200
  }
198
201
  export function spendOfferings(player, cost) {
199
202
  let remaining = cost;
203
+ const temporaryReserve = player.temporaryOfferingReserve ?? 0;
204
+ if (temporaryReserve > 0) {
205
+ const spentTemporaryReserve = Math.min(temporaryReserve, remaining);
206
+ player.temporaryOfferingReserve = temporaryReserve - spentTemporaryReserve;
207
+ remaining -= spentTemporaryReserve;
208
+ }
200
209
  player.offerings = player.offerings.map(offering => {
201
210
  if (remaining <= 0 || !offering.ready)
202
211
  return offering;
@@ -204,7 +213,12 @@ export function spendOfferings(player, cost) {
204
213
  return { ...offering, ready: false };
205
214
  });
206
215
  }
216
+ function offeringAbilityReserveGain(abilityText, fallbackValue) {
217
+ const match = abilityText?.match(/valor de (\d+) ofrendas?/i);
218
+ const parsed = match ? Number(match[1]) : Number.NaN;
219
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : Math.max(1, fallbackValue);
220
+ }
207
221
  export function opponentSeat(seat) {
208
222
  return seat === 'P1' ? 'P2' : 'P1';
209
223
  }
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFxQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hHLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQStCO0lBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0M7SUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztJQUNwRSxJQUFJLElBQUksQ0FB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QUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1FBQUUsT0FBTztJQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUErQixFQUFFLElBQVk7SUFDMUUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakQsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUN2RCxTQUFTLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixPQUFPLEVBQUUsR0FBRyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBc0I7SUFDakQsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlLFxuICBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIENocmlzdGlhbml0eVBsYXllclN0YXRlLFxuICBDaHJpc3RpYW5pdHlTZWF0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFMgPSA0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyB7XG4gIGF0dGFja3NPcHBvbmVudExlYWRlcjogc3RyaW5nO1xuICBhdHRhY2tzWW91ckxlYWRlcjogc3RyaW5nO1xuICBjb21iYXRzQWdhaW5zdDogc3RyaW5nO1xuICBkcmF3c0NhcmQ6IHN0cmluZztcbiAgZGVja0lzRW1wdHk6IHN0cmluZztcbiAgdHVybk9mOiBzdHJpbmc7XG4gIHlvdVdpbjogc3RyaW5nO1xuICBvcHBvbmVudFdpbnM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgcGxheWVkOiBib29sZWFuO1xuICBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5QXR0YWNrUmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICBhdHRhY2tlZDogYm9vbGVhbjtcbiAgYXR0YWNrZXJEYW1hZ2U6IG51bWJlcjtcbiAgdGFyZ2V0RGFtYWdlOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdBYmlsaXR5UmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICByZXNvbHZlZDogYm9vbGVhbjtcbiAgbGVhZGVyRGFtYWdlOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkeU9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgKG9mZmVyaW5nLnJlYWR5ID8gb2ZmZXJpbmcudmFsdWUgOiAwKSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3RhbE9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgb2ZmZXJpbmcudmFsdWUsIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuUGxheUNhcmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICFwbGF5ZXIub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmIHBsYXllci5iYXR0bGVab25lLmxlbmd0aCA8IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFM7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsYXlDYXJkRnJvbUhhbmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIG9wdGlvbnM6IHsgc2xvdEluZGV4PzogbnVtYmVyOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9ID0ge30sXG4pOiBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGlmICghY2FuUGxheUNhcmQoZ2FtZSwgc2VhdCwgY2FyZCkpIHtcbiAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBoYW5kSW5kZXggPSBwbGF5ZXIuaGFuZD8uaW5kZXhPZihjYXJkLmlkKSA/PyAtMTtcbiAgaWYgKGhhbmRJbmRleCA8IDAgfHwgIXBsYXllci5oYW5kKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gb3B0aW9ucy5kaXNwbGF5TmFtZSA/PyBjYXJkLm5hbWU7XG4gIGxldCBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gMDtcbiAgbGV0IHNwZW50T2ZmZXJpbmdzID0gMDtcblxuICBwbGF5ZXIuaGFuZC5zcGxpY2UoaGFuZEluZGV4LCAxKTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgIHBsYXllZE9mZmVyaW5nVmFsdWUgPSBjYXJkLm9mZmVyaW5nVmFsdWUgPz8gY2FyZC5saWZlID8/IDE7XG4gICAgcGxheWVyLm9mZmVyaW5ncy5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fb2ZmZXJpbmdfJHtuZXh0LnJldmlzaW9uICsgMX1gLFxuICAgICAgY2FyZElkOiBjYXJkLmlkLFxuICAgICAgbmFtZTogZGlzcGxheU5hbWUsXG4gICAgICBvd25lcjogc2VhdCxcbiAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgdmFsdWU6IHBsYXllZE9mZmVyaW5nVmFsdWUsXG4gICAgICBhYmlsaXR5TmFtZTogY2FyZC5hYmlsaXR5TmFtZSxcbiAgICAgIGFiaWxpdHlUZXh0OiBjYXJkLmFiaWxpdHlUZXh0LFxuICAgICAgYWJpbGl0eUNvc3Q6IGNhcmQuYWJpbGl0eUNvc3QsXG4gICAgfSk7XG4gICAgcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSB0cnVlO1xuICB9IGVsc2UgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICBjb25zdCBvY2N1cGllZFNsb3RzID0gbmV3IFNldChwbGF5ZXIuYmF0dGxlWm9uZS5tYXAoKGNoYXJhY3RlciwgaW5kZXgpID0+IE51bWJlci5pc0ludGVnZXIoY2hhcmFjdGVyLnNsb3QpID8gY2hhcmFjdGVyLnNsb3QgPz8gaW5kZXggOiBpbmRleCkpO1xuICAgIGNvbnN0IHRhcmdldFNsb3QgPSBvcHRpb25zLnNsb3RJbmRleCA/PyBbMCwgMSwgMiwgM10uZmluZChpbmRleCA9PiAhb2NjdXBpZWRTbG90cy5oYXMoaW5kZXgpKTtcbiAgICBpZiAodGFyZ2V0U2xvdCA9PT0gdW5kZWZpbmVkIHx8IG9jY3VwaWVkU2xvdHMuaGFzKHRhcmdldFNsb3QpKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBzcGVudE9mZmVyaW5ncyA9IGNhcmQuY29zdCA/PyAwO1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICAgIGNvbnN0IGxpZmUgPSBjYXJkLmxpZmUgPz8gMTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fJHtuZXh0LnJldmlzaW9uICsgMX1fJHtwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGh9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICBjb250cm9sbGVyOiBzZWF0LFxuICAgICAgc2xvdDogdGFyZ2V0U2xvdCxcbiAgICAgIGF0dGFjazogY2FyZC5hdHRhY2sgPz8gMCxcbiAgICAgIGN1cnJlbnRIcDogbGlmZSxcbiAgICAgIG1heEhwOiBsaWZlLFxuICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHtcbiAgICBjb25zdCBwcmV2aW91c1BsYWNlID0gbmV4dC5wbGFjZVpvbmVbMF07XG4gICAgaWYgKHByZXZpb3VzUGxhY2UpIHtcbiAgICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChwcmV2aW91c1BsYWNlKTtcbiAgICB9XG4gICAgbmV4dC5wbGFjZVpvbmUgPSBbY2FyZC5pZF07XG4gIH1cblxuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtwbGF5Q2FyZExvZyhjYXJkLCBkaXNwbGF5TmFtZSldO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcGxheWVkOiB0cnVlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5Vc2VPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHNwZW50T2ZmZXJpbmdzOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBwbGF5ZXIgPSBuZXh0LnBsYXllcnNbc2VhdF07XG4gIGNvbnN0IGxpdmVPZmZlcmluZyA9IHBsYXllci5vZmZlcmluZ3MuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkKTtcbiAgaWYgKCFsaXZlT2ZmZXJpbmcpIHJldHVybiB7IGdhbWUsIHJlc29sdmVkOiBmYWxzZSwgbGVhZGVyRGFtYWdlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IHNwZW50T2ZmZXJpbmdzID0gbGl2ZU9mZmVyaW5nLmFiaWxpdHlDb3N0ID8/IDA7XG4gIGlmIChzcGVudE9mZmVyaW5ncyA+IDApIHtcbiAgICBzcGVuZE9mZmVyaW5ncyhwbGF5ZXIsIHNwZW50T2ZmZXJpbmdzKTtcbiAgfVxuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAoY2FyZCA9PiAoXG4gICAgY2FyZC5pbnN0YW5jZUlkID09PSBvZmZlcmluZ0luc3RhbmNlSWRcbiAgICAgID8geyAuLi5jYXJkLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiB0cnVlIH1cbiAgICAgIDogY2FyZFxuICApKTtcbiAgcGxheWVyLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgcGxheWVyLmxlYWRlckhwIC0gMSk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgY29uc3QgbG9nID0gW2Ake2xpdmVPZmZlcmluZy5uYW1lfTogJHtsaXZlT2ZmZXJpbmcuYWJpbGl0eU5hbWV9LmBdO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcmVzb2x2ZWQ6IHRydWUsIGxlYWRlckRhbWFnZTogMSwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5mdW5jdGlvbiBwbGF5Q2FyZExvZyhjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiwgZGlzcGxheU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgbGlzdGEgY29tbyBvZnJlbmRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgY29tbyBsdWdhciBhY3Rpdm8uYDtcbiAgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBlbnRyYSBlbiBiYXRhbGxhLmA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrTGVhZGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMsXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUucGxheWVyc1tkZWZlbmRlclNlYXRdLmJhdHRsZVpvbmUubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgYXR0YWNrZXIgPSBuZXh0LnBsYXllcnNbYXR0YWNrZXJTZWF0XS5iYXR0bGVab25lLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IGF0dGFja2VySW5zdGFuY2VJZCk7XG4gIGlmICghYXR0YWNrZXIgfHwgIWF0dGFja2VyLmNhbkF0dGFjaykgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG5cbiAgY29uc3QgZGFtYWdlID0gYXR0YWNrZXIuYXR0YWNrO1xuICBuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XS5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLmxlYWRlckhwIC0gZGFtYWdlKTtcbiAgYXR0YWNrZXIuY2FuQXR0YWNrID0gZmFsc2U7XG4gIGNvbnN0IGxvZyA9IFtgJHthdHRhY2tlci5uYW1lfSAke2F0dGFja2VyU2VhdCA9PT0gJ1AxJyA/IG1lc3NhZ2VzLmF0dGFja3NPcHBvbmVudExlYWRlciA6IG1lc3NhZ2VzLmF0dGFja3NZb3VyTGVhZGVyfWBdO1xuICBldmFsdWF0ZVZpY3RvcnkobmV4dCwgbG9nLCBtZXNzYWdlcyk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIGF0dGFja2VkOiB0cnVlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiBkYW1hZ2UsIGxvZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUF0dGFja0NoYXJhY3RlcihcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBhdHRhY2tlclNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIGF0dGFja2VySW5zdGFuY2VJZDogc3RyaW5nLFxuICB0YXJnZXRJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMsXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKSByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkKTtcbiAgY29uc3QgdGFyZ2V0ID0gbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5maW5kKGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSB0YXJnZXRJbnN0YW5jZUlkKTtcbiAgaWYgKCFhdHRhY2tlciB8fCAhdGFyZ2V0IHx8ICFhdHRhY2tlci5jYW5BdHRhY2spIHtcbiAgICByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIHRhcmdldC5jdXJyZW50SHAgLT0gYXR0YWNrZXIuYXR0YWNrO1xuICBhdHRhY2tlci5jdXJyZW50SHAgLT0gdGFyZ2V0LmF0dGFjaztcbiAgYXR0YWNrZXIuY2FuQXR0YWNrID0gZmFsc2U7XG4gIGNsZWFudXBEZXN0cm95ZWQobmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0sIG5leHQpO1xuICBjbGVhbnVwRGVzdHJveWVkKG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLCBuZXh0KTtcbiAgY29uc3QgbG9nID0gW2Ake2F0dGFja2VyLm5hbWV9ICR7bWVzc2FnZXMuY29tYmF0c0FnYWluc3R9ICR7dGFyZ2V0Lm5hbWV9LmBdO1xuICBldmFsdWF0ZVZpY3RvcnkobmV4dCwgbG9nLCBtZXNzYWdlcyk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG5cbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgYXR0YWNrZWQ6IHRydWUsIGF0dGFja2VyRGFtYWdlOiB0YXJnZXQuYXR0YWNrLCB0YXJnZXREYW1hZ2U6IGF0dGFja2VyLmF0dGFjaywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZHZhbmNlVHVybihnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMpOiBzdHJpbmdbXSB7XG4gIGdhbWUudHVybk93bmVyID0gb3Bwb25lbnRTZWF0KGdhbWUudHVybk93bmVyKTtcbiAgZ2FtZS50dXJuQ291bnQrKztcbiAgY29uc3QgY3VycmVudCA9IGdhbWUucGxheWVyc1tnYW1lLnR1cm5Pd25lcl07XG4gIGN1cnJlbnQub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybiA9IGZhbHNlO1xuICBjdXJyZW50Lm9mZmVyaW5ncyA9IGN1cnJlbnQub2ZmZXJpbmdzLm1hcChvZmZlcmluZyA9PiAoeyAuLi5vZmZlcmluZywgcmVhZHk6IHRydWUsIGFiaWxpdHlVc2VkVGhpc1R1cm46IGZhbHNlIH0pKTtcbiAgY3VycmVudC5iYXR0bGVab25lID0gY3VycmVudC5iYXR0bGVab25lLm1hcChjYXJkID0+ICh7IC4uLmNhcmQsIGNhbkF0dGFjazogdHJ1ZSB9KSk7XG4gIGNvbnN0IGRyYXduQ2FyZCA9IGdhbWUuc2hhcmVkRGVjay5zaGlmdCgpO1xuICBpZiAoZHJhd25DYXJkKSB7XG4gICAgaWYgKGN1cnJlbnQuaGFuZCkge1xuICAgICAgY3VycmVudC5oYW5kLnB1c2goZHJhd25DYXJkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudC5oYW5kQ291bnQgPSAoY3VycmVudC5oYW5kQ291bnQgPz8gMCkgKyAxO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW1xuICAgIGRyYXduQ2FyZCA/IGAke2N1cnJlbnQuZGlzcGxheU5hbWV9ICR7bWVzc2FnZXMuZHJhd3NDYXJkfWAgOiBtZXNzYWdlcy5kZWNrSXNFbXB0eSxcbiAgICBgJHttZXNzYWdlcy50dXJuT2Z9ICR7Y3VycmVudC5kaXNwbGF5TmFtZX0uYCxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2YWx1YXRlVmljdG9yeShnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsIGxvZzogc3RyaW5nW10sIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMpOiB2b2lkIHtcbiAgaWYgKGdhbWUucGxheWVycy5QMS5sZWFkZXJIcCA+IDAgJiYgZ2FtZS5wbGF5ZXJzLlAyLmxlYWRlckhwID4gMCkgcmV0dXJuO1xuICBnYW1lLnN0YXR1cyA9ICdmaW5pc2hlZCc7XG4gIGNvbnN0IHdpbm5lcjogQ2hyaXN0aWFuaXR5U2VhdCA9IGdhbWUucGxheWVycy5QMS5sZWFkZXJIcCA8PSAwID8gJ1AyJyA6ICdQMSc7XG4gIGdhbWUubWF0Y2hTY29yZVt3aW5uZXJdICs9IDE7XG4gIGxvZy5wdXNoKHdpbm5lciA9PT0gJ1AxJyA/IG1lc3NhZ2VzLnlvdVdpbiA6IG1lc3NhZ2VzLm9wcG9uZW50V2lucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwRGVzdHJveWVkKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSk6IHZvaWQge1xuICBjb25zdCBkZXN0cm95ZWQgPSBwbGF5ZXIuYmF0dGxlWm9uZS5maWx0ZXIoY2FyZCA9PiBjYXJkLmN1cnJlbnRIcCA8PSAwKTtcbiAgaWYgKCFkZXN0cm95ZWQubGVuZ3RoKSByZXR1cm47XG4gIGdhbWUuaGlzdG9yeVpvbmUucHVzaCguLi5kZXN0cm95ZWQubWFwKGNhcmQgPT4gY2FyZC5jYXJkSWQpKTtcbiAgcGxheWVyLmJhdHRsZVpvbmUgPSBwbGF5ZXIuYmF0dGxlWm9uZS5maWx0ZXIoY2FyZCA9PiBjYXJkLmN1cnJlbnRIcCA+IDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BlbmRPZmZlcmluZ3MocGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSwgY29zdDogbnVtYmVyKTogdm9pZCB7XG4gIGxldCByZW1haW5pbmcgPSBjb3N0O1xuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAob2ZmZXJpbmcgPT4ge1xuICAgIGlmIChyZW1haW5pbmcgPD0gMCB8fCAhb2ZmZXJpbmcucmVhZHkpIHJldHVybiBvZmZlcmluZztcbiAgICByZW1haW5pbmcgLT0gb2ZmZXJpbmcudmFsdWU7XG4gICAgcmV0dXJuIHsgLi4ub2ZmZXJpbmcsIHJlYWR5OiBmYWxzZSB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wcG9uZW50U2VhdChzZWF0OiBDaHJpc3RpYW5pdHlTZWF0KTogQ2hyaXN0aWFuaXR5U2VhdCB7XG4gIHJldHVybiBzZWF0ID09PSAnUDEnID8gJ1AyJyA6ICdQMSc7XG59XG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFzQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMzSSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUErQjtJQUM1RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQTJCLEVBQzNCLElBQXNCLEVBQ3RCLElBQWdDO0lBRWhDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVTtRQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENB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LENBQUMsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDM0UsU0FBUyxJQUFJLHFCQUFxQixDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pELElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFDdkQsU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLFdBQStCLEVBQUUsYUFBcUI7SUFDeEYsTUFBTSxLQUFLLEdBQUcsV0FBVyxFQUFFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3JELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQXNCO0lBQ2pELE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSxcbiAgQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSxcbiAgQ2hyaXN0aWFuaXR5U2VhdCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDSFJJU1RJQU5JVFlfQkFUVExFX1NMT1RTID0gNDtcblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMge1xuICBhdHRhY2tzT3Bwb25lbnRMZWFkZXI6IHN0cmluZztcbiAgYXR0YWNrc1lvdXJMZWFkZXI6IHN0cmluZztcbiAgY29tYmF0c0FnYWluc3Q6IHN0cmluZztcbiAgZHJhd3NDYXJkOiBzdHJpbmc7XG4gIGRlY2tJc0VtcHR5OiBzdHJpbmc7XG4gIHR1cm5PZjogc3RyaW5nO1xuICB5b3VXaW46IHN0cmluZztcbiAgb3Bwb25lbnRXaW5zOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5UGxheUNhcmRSZXN1bHQge1xuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGU7XG4gIHBsYXllZDogYm9vbGVhbjtcbiAgcGxheWVkT2ZmZXJpbmdWYWx1ZTogbnVtYmVyO1xuICBzcGVudE9mZmVyaW5nczogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgYXR0YWNrZWQ6IGJvb2xlYW47XG4gIGF0dGFja2VyRGFtYWdlOiBudW1iZXI7XG4gIHRhcmdldERhbWFnZTogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eU9mZmVyaW5nQWJpbGl0eVJlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgcmVzb2x2ZWQ6IGJvb2xlYW47XG4gIGxlYWRlckRhbWFnZTogbnVtYmVyO1xuICByZXNlcnZlR2FpbjogbnVtYmVyO1xuICBzcGVudE9mZmVyaW5nczogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZHlPZmZlcmluZ3MocGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSk6IG51bWJlciB7XG4gIHJldHVybiBwbGF5ZXIub2ZmZXJpbmdzLnJlZHVjZSgodG90YWwsIG9mZmVyaW5nKSA9PiB0b3RhbCArIChvZmZlcmluZy5yZWFkeSA/IG9mZmVyaW5nLnZhbHVlIDogMCksIHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3RhbE9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgb2ZmZXJpbmcudmFsdWUsIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuUGxheUNhcmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICFwbGF5ZXIub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmIHBsYXllci5iYXR0bGVab25lLmxlbmd0aCA8IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFM7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsYXlDYXJkRnJvbUhhbmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIG9wdGlvbnM6IHsgc2xvdEluZGV4PzogbnVtYmVyOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9ID0ge30sXG4pOiBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGlmICghY2FuUGxheUNhcmQoZ2FtZSwgc2VhdCwgY2FyZCkpIHtcbiAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBoYW5kSW5kZXggPSBwbGF5ZXIuaGFuZD8uaW5kZXhPZihjYXJkLmlkKSA/PyAtMTtcbiAgaWYgKGhhbmRJbmRleCA8IDAgfHwgIXBsYXllci5oYW5kKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gb3B0aW9ucy5kaXNwbGF5TmFtZSA/PyBjYXJkLm5hbWU7XG4gIGxldCBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gMDtcbiAgbGV0IHNwZW50T2ZmZXJpbmdzID0gMDtcblxuICBwbGF5ZXIuaGFuZC5zcGxpY2UoaGFuZEluZGV4LCAxKTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgIHBsYXllZE9mZmVyaW5nVmFsdWUgPSBjYXJkLm9mZmVyaW5nVmFsdWUgPz8gY2FyZC5saWZlID8/IDE7XG4gICAgcGxheWVyLm9mZmVyaW5ncy5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fb2ZmZXJpbmdfJHtuZXh0LnJldmlzaW9uICsgMX1gLFxuICAgICAgY2FyZElkOiBjYXJkLmlkLFxuICAgICAgbmFtZTogZGlzcGxheU5hbWUsXG4gICAgICBvd25lcjogc2VhdCxcbiAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgdmFsdWU6IHBsYXllZE9mZmVyaW5nVmFsdWUsXG4gICAgICBhYmlsaXR5TmFtZTogY2FyZC5hYmlsaXR5TmFtZSxcbiAgICAgIGFiaWxpdHlUZXh0OiBjYXJkLmFiaWxpdHlUZXh0LFxuICAgICAgYWJpbGl0eUNvc3Q6IGNhcmQuYWJpbGl0eUNvc3QsXG4gICAgfSk7XG4gICAgcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSB0cnVlO1xuICB9IGVsc2UgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICBjb25zdCBvY2N1cGllZFNsb3RzID0gbmV3IFNldChwbGF5ZXIuYmF0dGxlWm9uZS5tYXAoKGNoYXJhY3RlciwgaW5kZXgpID0+IE51bWJlci5pc0ludGVnZXIoY2hhcmFjdGVyLnNsb3QpID8gY2hhcmFjdGVyLnNsb3QgPz8gaW5kZXggOiBpbmRleCkpO1xuICAgIGNvbnN0IHRhcmdldFNsb3QgPSBvcHRpb25zLnNsb3RJbmRleCA/PyBbMCwgMSwgMiwgM10uZmluZChpbmRleCA9PiAhb2NjdXBpZWRTbG90cy5oYXMoaW5kZXgpKTtcbiAgICBpZiAodGFyZ2V0U2xvdCA9PT0gdW5kZWZpbmVkIHx8IG9jY3VwaWVkU2xvdHMuaGFzKHRhcmdldFNsb3QpKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBzcGVudE9mZmVyaW5ncyA9IGNhcmQuY29zdCA/PyAwO1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICAgIGNvbnN0IGxpZmUgPSBjYXJkLmxpZmUgPz8gMTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fJHtuZXh0LnJldmlzaW9uICsgMX1fJHtwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGh9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICBjb250cm9sbGVyOiBzZWF0LFxuICAgICAgc2xvdDogdGFyZ2V0U2xvdCxcbiAgICAgIGF0dGFjazogY2FyZC5hdHRhY2sgPz8gMCxcbiAgICAgIGN1cnJlbnRIcDogbGlmZSxcbiAgICAgIG1heEhwOiBsaWZlLFxuICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHtcbiAgICBjb25zdCBwcmV2aW91c1BsYWNlID0gbmV4dC5wbGFjZVpvbmVbMF07XG4gICAgaWYgKHByZXZpb3VzUGxhY2UpIHtcbiAgICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChwcmV2aW91c1BsYWNlKTtcbiAgICB9XG4gICAgbmV4dC5wbGFjZVpvbmUgPSBbY2FyZC5pZF07XG4gIH1cblxuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtwbGF5Q2FyZExvZyhjYXJkLCBkaXNwbGF5TmFtZSldO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcGxheWVkOiB0cnVlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5Vc2VPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHJlc2VydmVHYWluOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBsaXZlT2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghbGl2ZU9mZmVyaW5nKSByZXR1cm4geyBnYW1lLCByZXNvbHZlZDogZmFsc2UsIGxlYWRlckRhbWFnZTogMCwgcmVzZXJ2ZUdhaW46IDAsIHNwZW50T2ZmZXJpbmdzOiAwLCBsb2c6IFtdIH07XG5cbiAgY29uc3Qgc3BlbnRPZmZlcmluZ3MgPSBsaXZlT2ZmZXJpbmcuYWJpbGl0eUNvc3QgPz8gMDtcbiAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICB9XG4gIGNvbnN0IHJlc2VydmVHYWluID0gb2ZmZXJpbmdBYmlsaXR5UmVzZXJ2ZUdhaW4obGl2ZU9mZmVyaW5nLmFiaWxpdHlUZXh0LCBsaXZlT2ZmZXJpbmcudmFsdWUpO1xuICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gKHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMCkgKyByZXNlcnZlR2FpbjtcbiAgcGxheWVyLm9mZmVyaW5ncyA9IHBsYXllci5vZmZlcmluZ3MubWFwKGNhcmQgPT4gKFxuICAgIGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkXG4gICAgICA/IHsgLi4uY2FyZCwgYWJpbGl0eVVzZWRUaGlzVHVybjogdHJ1ZSB9XG4gICAgICA6IGNhcmRcbiAgKSk7XG4gIHBsYXllci5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIHBsYXllci5sZWFkZXJIcCAtIDEpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtgJHtsaXZlT2ZmZXJpbmcubmFtZX06ICR7bGl2ZU9mZmVyaW5nLmFiaWxpdHlOYW1lfS5gXTtcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIHJlc29sdmVkOiB0cnVlLCBsZWFkZXJEYW1hZ2U6IDEsIHJlc2VydmVHYWluLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmZ1bmN0aW9uIHBsYXlDYXJkTG9nKGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLCBkaXNwbGF5TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBxdWVkYSBsaXN0YSBjb21vIG9mcmVuZGEuYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBxdWVkYSBjb21vIGx1Z2FyIGFjdGl2by5gO1xuICByZXR1cm4gYCR7ZGlzcGxheU5hbWV9IGVudHJhIGVuIGJhdGFsbGEuYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdHRhY2tMZWFkZXIoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgYXR0YWNrZXJTZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBhdHRhY2tlckluc3RhbmNlSWQ6IHN0cmluZyxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyxcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycgfHwgZ2FtZS5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkKTtcbiAgaWYgKCFhdHRhY2tlciB8fCAhYXR0YWNrZXIuY2FuQXR0YWNrKSByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBkYW1hZ2UgPSBhdHRhY2tlci5hdHRhY2s7XG4gIG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0ubGVhZGVySHAgLSBkYW1hZ2UpO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY29uc3QgbG9nID0gW2Ake2F0dGFja2VyLm5hbWV9ICR7YXR0YWNrZXJTZWF0ID09PSAnUDEnID8gbWVzc2FnZXMuYXR0YWNrc09wcG9uZW50TGVhZGVyIDogbWVzc2FnZXMuYXR0YWNrc1lvdXJMZWFkZXJ9YF07XG4gIGV2YWx1YXRlVmljdG9yeShuZXh0LCBsb2csIG1lc3NhZ2VzKTtcbiAgbmV4dC5yZXZpc2lvbisrO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgYXR0YWNrZWQ6IHRydWUsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IGRhbWFnZSwgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrQ2hhcmFjdGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIHRhcmdldEluc3RhbmNlSWQ6IHN0cmluZyxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyxcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycpIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IG5leHQgPSBzdHJ1Y3R1cmVkQ2xvbmUoZ2FtZSk7XG4gIGNvbnN0IGF0dGFja2VyID0gbmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0uYmF0dGxlWm9uZS5maW5kKGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSBhdHRhY2tlckluc3RhbmNlSWQpO1xuICBjb25zdCB0YXJnZXQgPSBuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XS5iYXR0bGVab25lLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IHRhcmdldEluc3RhbmNlSWQpO1xuICBpZiAoIWF0dGFja2VyIHx8ICF0YXJnZXQgfHwgIWF0dGFja2VyLmNhbkF0dGFjaykge1xuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgdGFyZ2V0LmN1cnJlbnRIcCAtPSBhdHRhY2tlci5hdHRhY2s7XG4gIGF0dGFja2VyLmN1cnJlbnRIcCAtPSB0YXJnZXQuYXR0YWNrO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY2xlYW51cERlc3Ryb3llZChuZXh0LnBsYXllcnNbYXR0YWNrZXJTZWF0XSwgbmV4dCk7XG4gIGNsZWFudXBEZXN0cm95ZWQobmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0sIG5leHQpO1xuICBjb25zdCBsb2cgPSBbYCR7YXR0YWNrZXIubmFtZX0gJHttZXNzYWdlcy5jb21iYXRzQWdhaW5zdH0gJHt0YXJnZXQubmFtZX0uYF07XG4gIGV2YWx1YXRlVmljdG9yeShuZXh0LCBsb2csIG1lc3NhZ2VzKTtcbiAgbmV4dC5yZXZpc2lvbisrO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcblxuICByZXR1cm4geyBnYW1lOiBuZXh0LCBhdHRhY2tlZDogdHJ1ZSwgYXR0YWNrZXJEYW1hZ2U6IHRhcmdldC5hdHRhY2ssIHRhcmdldERhbWFnZTogYXR0YWNrZXIuYXR0YWNrLCBsb2cgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkdmFuY2VUdXJuKGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSwgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyk6IHN0cmluZ1tdIHtcbiAgZ2FtZS5wbGF5ZXJzW2dhbWUudHVybk93bmVyXS50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPSAwO1xuICBnYW1lLnR1cm5Pd25lciA9IG9wcG9uZW50U2VhdChnYW1lLnR1cm5Pd25lcik7XG4gIGdhbWUudHVybkNvdW50Kys7XG4gIGNvbnN0IGN1cnJlbnQgPSBnYW1lLnBsYXllcnNbZ2FtZS50dXJuT3duZXJdO1xuICBjdXJyZW50Lm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSBmYWxzZTtcbiAgY3VycmVudC5vZmZlcmluZ3MgPSBjdXJyZW50Lm9mZmVyaW5ncy5tYXAob2ZmZXJpbmcgPT4gKHsgLi4ub2ZmZXJpbmcsIHJlYWR5OiB0cnVlLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiBmYWxzZSB9KSk7XG4gIGN1cnJlbnQuYmF0dGxlWm9uZSA9IGN1cnJlbnQuYmF0dGxlWm9uZS5tYXAoY2FyZCA9PiAoeyAuLi5jYXJkLCBjYW5BdHRhY2s6IHRydWUgfSkpO1xuICBjb25zdCBkcmF3bkNhcmQgPSBnYW1lLnNoYXJlZERlY2suc2hpZnQoKTtcbiAgaWYgKGRyYXduQ2FyZCkge1xuICAgIGlmIChjdXJyZW50LmhhbmQpIHtcbiAgICAgIGN1cnJlbnQuaGFuZC5wdXNoKGRyYXduQ2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnQuaGFuZENvdW50ID0gKGN1cnJlbnQuaGFuZENvdW50ID8/IDApICsgMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtcbiAgICBkcmF3bkNhcmQgPyBgJHtjdXJyZW50LmRpc3BsYXlOYW1lfSAke21lc3NhZ2VzLmRyYXdzQ2FyZH1gIDogbWVzc2FnZXMuZGVja0lzRW1wdHksXG4gICAgYCR7bWVzc2FnZXMudHVybk9mfSAke2N1cnJlbnQuZGlzcGxheU5hbWV9LmAsXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldmFsdWF0ZVZpY3RvcnkoZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLCBsb2c6IHN0cmluZ1tdLCBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzKTogdm9pZCB7XG4gIGlmIChnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPiAwICYmIGdhbWUucGxheWVycy5QMi5sZWFkZXJIcCA+IDApIHJldHVybjtcbiAgZ2FtZS5zdGF0dXMgPSAnZmluaXNoZWQnO1xuICBjb25zdCB3aW5uZXI6IENocmlzdGlhbml0eVNlYXQgPSBnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPD0gMCA/ICdQMicgOiAnUDEnO1xuICBnYW1lLm1hdGNoU2NvcmVbd2lubmVyXSArPSAxO1xuICBsb2cucHVzaCh3aW5uZXIgPT09ICdQMScgPyBtZXNzYWdlcy55b3VXaW4gOiBtZXNzYWdlcy5vcHBvbmVudFdpbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cERlc3Ryb3llZChwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlLCBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUpOiB2b2lkIHtcbiAgY29uc3QgZGVzdHJveWVkID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPD0gMCk7XG4gIGlmICghZGVzdHJveWVkLmxlbmd0aCkgcmV0dXJuO1xuICBnYW1lLmhpc3Rvcnlab25lLnB1c2goLi4uZGVzdHJveWVkLm1hcChjYXJkID0+IGNhcmQuY2FyZElkKSk7XG4gIHBsYXllci5iYXR0bGVab25lID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPiAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwZW5kT2ZmZXJpbmdzKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsIGNvc3Q6IG51bWJlcik6IHZvaWQge1xuICBsZXQgcmVtYWluaW5nID0gY29zdDtcbiAgY29uc3QgdGVtcG9yYXJ5UmVzZXJ2ZSA9IHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMDtcbiAgaWYgKHRlbXBvcmFyeVJlc2VydmUgPiAwKSB7XG4gICAgY29uc3Qgc3BlbnRUZW1wb3JhcnlSZXNlcnZlID0gTWF0aC5taW4odGVtcG9yYXJ5UmVzZXJ2ZSwgcmVtYWluaW5nKTtcbiAgICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gdGVtcG9yYXJ5UmVzZXJ2ZSAtIHNwZW50VGVtcG9yYXJ5UmVzZXJ2ZTtcbiAgICByZW1haW5pbmcgLT0gc3BlbnRUZW1wb3JhcnlSZXNlcnZlO1xuICB9XG4gIHBsYXllci5vZmZlcmluZ3MgPSBwbGF5ZXIub2ZmZXJpbmdzLm1hcChvZmZlcmluZyA9PiB7XG4gICAgaWYgKHJlbWFpbmluZyA8PSAwIHx8ICFvZmZlcmluZy5yZWFkeSkgcmV0dXJuIG9mZmVyaW5nO1xuICAgIHJlbWFpbmluZyAtPSBvZmZlcmluZy52YWx1ZTtcbiAgICByZXR1cm4geyAuLi5vZmZlcmluZywgcmVhZHk6IGZhbHNlIH07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvZmZlcmluZ0FiaWxpdHlSZXNlcnZlR2FpbihhYmlsaXR5VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLCBmYWxsYmFja1ZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBtYXRjaCA9IGFiaWxpdHlUZXh0Py5tYXRjaCgvdmFsb3IgZGUgKFxcZCspIG9mcmVuZGFzPy9pKTtcbiAgY29uc3QgcGFyc2VkID0gbWF0Y2ggPyBOdW1iZXIobWF0Y2hbMV0pIDogTnVtYmVyLk5hTjtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpICYmIHBhcnNlZCA+IDAgPyBwYXJzZWQgOiBNYXRoLm1heCgxLCBmYWxsYmFja1ZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wcG9uZW50U2VhdChzZWF0OiBDaHJpc3RpYW5pdHlTZWF0KTogQ2hyaXN0aWFuaXR5U2VhdCB7XG4gIHJldHVybiBzZWF0ID09PSAnUDEnID8gJ1AyJyA6ICdQMSc7XG59XG4iXX0=
@@ -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/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgb2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjogYm9vbGVhbjtcbiAgaGFuZD86IHN0cmluZ1tdO1xuICBoYW5kQ291bnQ/OiBudW1iZXI7XG4gIGJhdHRsZVpvbmU6IENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5R2FtZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIHN0YXR1czogQ2hyaXN0aWFuaXR5R2FtZVN0YXR1cztcbiAgbW9kZTogQ2hyaXN0aWFuaXR5R2FtZU1vZGU7XG4gIHR1cm5Pd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgcmV2aXNpb246IG51bWJlcjtcbiAgdHVybkNvdW50OiBudW1iZXI7XG4gIG1hdGNoU2NvcmU6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBudW1iZXI+O1xuICBzaGFyZWREZWNrOiBzdHJpbmdbXTtcbiAgcGxhY2Vab25lOiBzdHJpbmdbXTtcbiAgaGlzdG9yeVpvbmU6IHN0cmluZ1tdO1xuICBwbGF5ZXJzOiBSZWNvcmQ8Q2hyaXN0aWFuaXR5U2VhdCwgQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGU+O1xuICBsb2c6IHN0cmluZ1tdO1xufVxuIl19
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,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.507';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41MDcnO1xuIl19
5
+ export const VERSION = '4.0.509';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41MDknO1xuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, inject } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
- import { BubbleBlitzGameComponent, ChessimalsGameComponent, ChristianityGameComponent, I18nService, MemoryGameComponent, MiniGamesMenuComponent, PageContentComponent, SimonGameComponent, } from 'valtech-components';
3
+ import { BubbleBlitzGameComponent, ChessimalsGameComponent, I18nService, MemoryGameComponent, MiniGamesMenuComponent, PageContentComponent, SimonGameComponent, } from 'valtech-components';
4
4
  import * as i0 from "@angular/core";
5
5
  const MINI_GAMES_BASE_ROUTE = '/mini-games';
6
6
  const MINI_GAMES_PAGE_I18N = {
@@ -13,8 +13,6 @@ const MINI_GAMES_PAGE_I18N = {
13
13
  bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',
14
14
  chessimalsTitle: 'Chessimals',
15
15
  chessimalsDescription: 'Carrera de peones con cartas de animales.',
16
- christianityTitle: 'Christianity',
17
- christianityDescription: 'Mesa MVP de cartas con lideres, ofrendas y batalla.',
18
16
  },
19
17
  en: {
20
18
  memoryTitle: 'Retro Memory',
@@ -25,8 +23,6 @@ const MINI_GAMES_PAGE_I18N = {
25
23
  bubbleDescription: 'Pop bubble groups and chain combos.',
26
24
  chessimalsTitle: 'Chessimals',
27
25
  chessimalsDescription: 'Pawn race with animal power cards.',
28
- christianityTitle: 'Christianity',
29
- christianityDescription: 'Card table MVP with leaders, offerings, and battle.',
30
26
  },
31
27
  };
32
28
  export class MiniGamesPageComponent {
@@ -53,13 +49,6 @@ export class MiniGamesPageComponent {
53
49
  imageSrc: 'assets/games/chessimals/menu-logo.jpg',
54
50
  route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,
55
51
  },
56
- {
57
- id: 'christianity',
58
- title: this.t('christianityTitle'),
59
- description: this.t('christianityDescription'),
60
- icon: '✦',
61
- route: `${MINI_GAMES_BASE_ROUTE}/christianity`,
62
- },
63
52
  {
64
53
  id: 'bubble-blitz',
65
54
  title: this.t('bubbleTitle'),
@@ -222,27 +211,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
222
211
  `,
223
212
  }]
224
213
  }] });
225
- export class ChristianityGamePageComponent {
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChristianityGamePageComponent, isStandalone: true, selector: "val-christianity-game-page", ngImport: i0, template: `
228
- <val-mini-game-page-shell>
229
- <val-christianity-game />
230
- </val-mini-game-page-shell>
231
- `, isInline: true, dependencies: [{ kind: "component", type: ChristianityGameComponent, selector: "val-christianity-game" }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
232
- }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityGamePageComponent, decorators: [{
234
- type: Component,
235
- args: [{
236
- selector: 'val-christianity-game-page',
237
- standalone: true,
238
- imports: [ChristianityGameComponent, MiniGamePageShellComponent],
239
- template: `
240
- <val-mini-game-page-shell>
241
- <val-christianity-game />
242
- </val-mini-game-page-shell>
243
- `,
244
- }]
245
- }] });
246
214
  export class ChessimalsOnlineGamePageComponent {
247
215
  constructor() {
248
216
  this.route = inject(ActivatedRoute);
@@ -293,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
293
261
  `,
294
262
  }]
295
263
  }] });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixXQUFXLEVBQ1gsbUJBQW1CLEVBRW5CLHNCQUFzQixFQUN0QixvQkFBb0IsRUFFcEIsa0JBQWtCLEdBQ25CLE1BQU0sb0JBQW9CLENBQUM7O0FBRTVCLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBRTVDLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsRUFBRSxFQUFFO1FBQ0YsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixpQkFBaUIsRUFBRSw2Q0FBNkM7UUFDaEUsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUsNkNBQTZDO1FBQy9ELFdBQVcsRUFBRSxlQUFlO1FBQzVCLGlCQUFpQixFQUFFLGdEQUFnRDtRQUNuRSxlQUFlLEVBQUUsWUFBWTtRQUM3QixxQkFBcUIsRUFBRSwyQ0FBMkM7UUFDbEUsaUJBQWlCLEVBQUUsY0FBYztRQUNqQyx1QkFBdUIsRUFBRSxxREFBcUQ7S0FDL0U7SUFDRCxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsY0FBYztRQUMzQixpQkFBaUIsRUFBRSxtREFBbUQ7UUFDdEUsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUsK0NBQStDO1FBQ2pFLFdBQVcsRUFBRSxjQUFjO1FBQzNCLGlCQUFpQixFQUFFLHFDQUFxQztRQUN4RCxlQUFlLEVBQUUsWUFBWTtRQUM3QixxQkFBcUIsRUFBRSxvQ0FBb0M7UUFDM0QsaUJBQWlCLEVBQUUsY0FBYztRQUNq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aUNBQWlDO2tCQVY3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDOUQsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7O0FBZ0JELE1BQU0sT0FBTyxxQ0FBcUM7SUFWbEQ7UUFXbUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEU7K0dBSFkscUNBQXFDO21HQUFyQyxxQ0FBcUMsK0ZBTnRDOzs7O0dBSVQsNERBTFMsdUJBQXVCLDhIQXhGN0IsMEJBQTBCOzs0RkErRm5CLHFDQUFxQztrQkFWakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsMEJBQTBCLENBQUM7b0JBQzlELFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQnViYmxlQmxpdHpHYW1lQ29tcG9uZW50LFxuICBDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCxcbiAgQ2hyaXN0aWFuaXR5R2FtZUNvbXBvbmVudCxcbiAgSTE4blNlcnZpY2UsXG4gIE1lbW9yeUdhbWVDb21wb25lbnQsXG4gIE1pbmlHYW1lRGVmaW5pdGlvbixcbiAgTWluaUdhbWVzTWVudUNvbXBvbmVudCxcbiAgUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gIFBhZ2VDb250ZW50TWV0YWRhdGEsXG4gIFNpbW9uR2FtZUNvbXBvbmVudCxcbn0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcblxuY29uc3QgTUlOSV9HQU1FU19CQVNFX1JPVVRFID0gJy9taW5pLWdhbWVzJztcblxuY29uc3QgTUlOSV9HQU1FU19QQUdFX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMgY29uIG11c2ljYSB5IGVmZWN0b3MgcmV0cm8uJyxcbiAgICBzaW1vblRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG1hcyBsYXJnb3MuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1cmJ1amEgQmxpdHonLFxuICAgIGJ1YmJsZURlc2NyaXB0aW9uOiAnUmV2aWVudGEgZ3J1cG9zIGRlIGJ1cmJ1amFzIHkgZW5jYWRlbmEgY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnQ2FycmVyYSBkZSBwZW9uZXMgY29uIGNhcnRhcyBkZSBhbmltYWxlcy4nLFxuICAgIGNocmlzdGlhbml0eVRpdGxlOiAnQ2hyaXN0aWFuaXR5JyxcbiAgICBjaHJpc3RpYW5pdHlEZXNjcmlwdGlvbjogJ01lc2EgTVZQIGRlIGNhcnRhcyBjb24gbGlkZXJlcywgb2ZyZW5kYXMgeSBiYXRhbGxhLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdSZXRybyBNZW1vcnknLFxuICAgIG1lbW9yeURlc2NyaXB0aW9uOiAnRmluZCBtYXRjaGluZyBwYWlycyB3aXRoIHJldHJvIG11c2ljIGFuZCBlZmZlY3RzLicsXG4gICAgc2ltb25UaXRsZTogJ1NpbW9uJyxcbiAgICBzaW1vbkRlc2NyaXB0aW9uOiAnUmVwZWF0IGxpZ2h0cyBhbmQgc291bmRzIGluIGxvbmdlciBzZXF1ZW5jZXMuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1YmJsZSBCbGl0eicsXG4gICAgYnViYmxlRGVzY3JpcHRpb246ICdQb3AgYnViYmxlIGdyb3VwcyBhbmQgY2hhaW4gY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnUGF3biByYWNlIHdpdGggYW5pbWFsIHBvd2VyIGNhcmRzLicsXG4gICAgY2hyaXN0aWFuaXR5VGl0bGU6ICdDaHJpc3RpYW5pdHknLFxuICAgIGNocmlzdGlhbml0eURlc2NyaXB0aW9uOiAnQ2FyZCB0YWJsZSBNVlAgd2l0aCBsZWFkZXJzLCBvZmZlcmluZ3MsIGFuZCBiYXR0bGUuJyxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1taW5pLWdhbWVzLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWluaUdhbWVzTWVudUNvbXBvbmVudCwgUGFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtcGFnZS1jb250ZW50IFtwcm9wc109XCJwYWdlQ29udGVudFByb3BzXCI+XG4gICAgICA8c2VjdGlvbiBjb250ZW50IGNsYXNzPVwibWluaS1nYW1lcy1wYWdlXCI+XG4gICAgICAgIDx2YWwtbWluaS1nYW1lcy1tZW51IFtnYW1lc109XCJnYW1lc1wiIFthc01vZGFsXT1cImZhbHNlXCIgKHNlbGVjdGVkKT1cIm9wZW5HYW1lKCRldmVudClcIiAvPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvdmFsLXBhZ2UtY29udGVudD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLm1pbmktZ2FtZXMtcGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1pbmlHYW1lc1BhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IHBhZ2VDb250ZW50UHJvcHM6IFBhZ2VDb250ZW50TWV0YWRhdGEgPSB7XG4gICAgaG9tZVJvdXRlOiAnLycsXG4gICAgbGFuZ3VhZ2VTZWxlY3Rvcjoge30sXG4gICAgZm9udFNpemVTZWxlY3Rvcjoge30sXG4gICAgc2hvd0JhY2tCdXR0b246IHRydWUsXG4gICAgY29udGVudE1heFdpZHRoOiAnbWQnLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdNaW5pR2FtZXMnLCBNSU5JX0dBTUVTX1BBR0VfSTE4Tik7XG4gIH1cblxuICBnZXQgZ2FtZXMoKTogTWluaUdhbWVEZWZpbml0aW9uW10ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdjaGVzc2ltYWxzJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudCgnY2hlc3NpbWFsc1RpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2NoZXNzaW1hbHNEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn4pmf77iPJyxcbiAgICAgICAgaW1hZ2VTcmM6ICdhc3NldHMvZ2FtZXMvY2hlc3NpbWFscy9tZW51LWxvZ28uanBnJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vY2hlc3NpbWFsc2AsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2NocmlzdGlhbml0eScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ2NocmlzdGlhbml0eVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2NocmlzdGlhbml0eURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfinKYnLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9jaHJpc3RpYW5pdHlgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdidWJibGUtYmxpdHonLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdidWJibGVUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdidWJibGVEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+rpycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2J1YmJsZS1ibGl0emAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21lbW9yeScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ21lbW9yeVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ21lbW9yeURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6egJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vbWVtb3J5YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2ltb24nLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdzaW1vblRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ3NpbW9uRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/CfjpvvuI8nLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9zaW1vbmAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvcGVuR2FtZShnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoZ2FtZS5yb3V0ZSkgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGdhbWUucm91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZS1wYWdlLXNoZWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lLXBhZ2Utc2hlbGwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnQge1xuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogTUlOSV9HQU1FU19CQVNFX1JPVVRFLFxuICAgIGxhbmd1YWdlU2VsZWN0b3I6IHt9LFxuICAgIGZvbnRTaXplU2VsZWN0b3I6IHt9LFxuICAgIHNob3dCYWNrQnV0dG9uOiBmYWxzZSxcbiAgICBjb250ZW50TWF4V2lkdGg6ICdtZCcsXG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1tZW1vcnktZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01lbW9yeUdhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1tZW1vcnktZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1vcnlHYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2ltb24tZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1NpbW9uR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLXNpbW9uLWdhbWUgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltb25HYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYnViYmxlLWJsaXR6LWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdWJibGVCbGl0ekdhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1idWJibGUtYmxpdHotZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCdWJibGVCbGl0ekdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzR2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNocmlzdGlhbml0eS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hyaXN0aWFuaXR5R2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNocmlzdGlhbml0eS1nYW1lIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENocmlzdGlhbml0eUdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLW9ubGluZS1nYW1lLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2hlc3NpbWFsc0dhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1jaGVzc2ltYWxzLWdhbWUgW29ubGluZUdhbWVJZF09XCJnYW1lSWRcIiAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzT25saW5lR2FtZVBhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgZ2FtZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2dhbWVJZCcpID8/ICcnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY2hlc3NpbWFscy1wcm9qZWN0aW9uLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSBbb25saW5lR2FtZUlkXT1cImdhbWVJZFwiIFtwcm9qZWN0aW9uTW9kZV09XCJ0cnVlXCIgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc1Byb2plY3Rpb25HYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBnYW1lSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ2FtZUlkJykgPz8gJyc7XG59XG4iXX0=
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21pbmktZ2FtZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFNUIsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUM7QUFFNUMsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLGlCQUFpQixFQUFFLDZDQUE2QztRQUNoRSxVQUFVLEVBQUUsT0FBTztRQUNuQixnQkFBZ0IsRUFBRSw2Q0FBNkM7UUFDL0QsV0FBVyxFQUFFLGVBQWU7UUFDNUIsaUJBQWlCLEVBQUUsZ0RBQWdEO1FBQ25FLGVBQWUsRUFBRSxZQUFZO1FBQzdCLHFCQUFxQixFQUFFLDJDQUEyQztLQUNuRTtJQUNELEVBQUUsRUFBRTtRQUNGLFdBQVcsRUFBRSxjQUFjO1FBQzNCLGlCQUFpQixFQUFFLG1EQUFtRDtRQUN0RSxVQUFVLEVBQUUsT0FBTztRQUNuQixnQkFBZ0IsRUFBRSwrQ0FBK0M7UUFDakUsV0FBVyxFQUFFLGNBQWM7UUFDM0IsaUJBQWlCLEVBQUUscUNBQXFDO1FBQ3hELGVBQWUsRUFBRSxZQUFZO1FBQzdCLHFCQUFxQixFQUFFLG9DQUFvQztLQUM1RDtDQUNGLENBQUM7QUFxQkYsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQztRQVhpQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCdWJibGVCbGl0ekdhbWVDb21wb25lbnQsXG4gIENoZXNzaW1hbHNHYW1lQ29tcG9uZW50LFxuICBJMThuU2VydmljZSxcbiAgTWVtb3J5R2FtZUNvbXBvbmVudCxcbiAgTWluaUdhbWVEZWZpbml0aW9uLFxuICBNaW5pR2FtZXNNZW51Q29tcG9uZW50LFxuICBQYWdlQ29udGVudENvbXBvbmVudCxcbiAgUGFnZUNvbnRlbnRNZXRhZGF0YSxcbiAgU2ltb25HYW1lQ29tcG9uZW50LFxufSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuXG5jb25zdCBNSU5JX0dBTUVTX0JBU0VfUk9VVEUgPSAnL21pbmktZ2FtZXMnO1xuXG5jb25zdCBNSU5JX0dBTUVTX1BBR0VfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICBtZW1vcnlUaXRsZTogJ01lbW9yaWNlIFJldHJvJyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0VuY3VlbnRyYSBwYXJlcyBjb24gbXVzaWNhIHkgZWZlY3RvcyByZXRyby4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGl0ZSBsdWNlcyB5IHNvbmlkb3MgY2FkYSB2ZXogbWFzIGxhcmdvcy4nLFxuICAgIGJ1YmJsZVRpdGxlOiAnQnVyYnVqYSBCbGl0eicsXG4gICAgYnViYmxlRGVzY3JpcHRpb246ICdSZXZpZW50YSBncnVwb3MgZGUgYnVyYnVqYXMgeSBlbmNhZGVuYSBjb21ib3MuJyxcbiAgICBjaGVzc2ltYWxzVGl0bGU6ICdDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzRGVzY3JpcHRpb246ICdDYXJyZXJhIGRlIHBlb25lcyBjb24gY2FydGFzIGRlIGFuaW1hbGVzLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgbWVtb3J5VGl0bGU6ICdSZXRybyBNZW1vcnknLFxuICAgIG1lbW9yeURlc2NyaXB0aW9uOiAnRmluZCBtYXRjaGluZyBwYWlycyB3aXRoIHJldHJvIG11c2ljIGFuZCBlZmZlY3RzLicsXG4gICAgc2ltb25UaXRsZTogJ1NpbW9uJyxcbiAgICBzaW1vbkRlc2NyaXB0aW9uOiAnUmVwZWF0IGxpZ2h0cyBhbmQgc291bmRzIGluIGxvbmdlciBzZXF1ZW5jZXMuJyxcbiAgICBidWJibGVUaXRsZTogJ0J1YmJsZSBCbGl0eicsXG4gICAgYnViYmxlRGVzY3JpcHRpb246ICdQb3AgYnViYmxlIGdyb3VwcyBhbmQgY2hhaW4gY29tYm9zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnUGF3biByYWNlIHdpdGggYW5pbWFsIHBvd2VyIGNhcmRzLicsXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWluaS1nYW1lcy1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01pbmlHYW1lc01lbnVDb21wb25lbnQsIFBhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZXMtcGFnZVwiPlxuICAgICAgICA8dmFsLW1pbmktZ2FtZXMtbWVudSBbZ2FtZXNdPVwiZ2FtZXNcIiBbYXNNb2RhbF09XCJmYWxzZVwiIChzZWxlY3RlZCk9XCJvcGVuR2FtZSgkZXZlbnQpXCIgLz5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3ZhbC1wYWdlLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5taW5pLWdhbWVzLXBhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMzJweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNaW5pR2FtZXNQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogJy8nLFxuICAgIGxhbmd1YWdlU2VsZWN0b3I6IHt9LFxuICAgIGZvbnRTaXplU2VsZWN0b3I6IHt9LFxuICAgIHNob3dCYWNrQnV0dG9uOiB0cnVlLFxuICAgIGNvbnRlbnRNYXhXaWR0aDogJ21kJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cygnTWluaUdhbWVzJywgTUlOSV9HQU1FU19QQUdFX0kxOE4pO1xuICB9XG5cbiAgZ2V0IGdhbWVzKCk6IE1pbmlHYW1lRGVmaW5pdGlvbltdIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnY2hlc3NpbWFscycsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ2NoZXNzaW1hbHNUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdjaGVzc2ltYWxzRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ+KZn++4jycsXG4gICAgICAgIGltYWdlU3JjOiAnYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvbWVudS1sb2dvLmpwZycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2NoZXNzaW1hbHNgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdidWJibGUtYmxpdHonLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdidWJibGVUaXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdidWJibGVEZXNjcmlwdGlvbicpLFxuICAgICAgICBpY29uOiAn8J+rpycsXG4gICAgICAgIHJvdXRlOiBgJHtNSU5JX0dBTUVTX0JBU0VfUk9VVEV9L2J1YmJsZS1ibGl0emAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21lbW9yeScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnQoJ21lbW9yeVRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ21lbW9yeURlc2NyaXB0aW9uJyksXG4gICAgICAgIGljb246ICfwn6egJyxcbiAgICAgICAgcm91dGU6IGAke01JTklfR0FNRVNfQkFTRV9ST1VURX0vbWVtb3J5YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2ltb24nLFxuICAgICAgICB0aXRsZTogdGhpcy50KCdzaW1vblRpdGxlJyksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ3NpbW9uRGVzY3JpcHRpb24nKSxcbiAgICAgICAgaWNvbjogJ/CfjpvvuI8nLFxuICAgICAgICByb3V0ZTogYCR7TUlOSV9HQU1FU19CQVNFX1JPVVRFfS9zaW1vbmAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvcGVuR2FtZShnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoZ2FtZS5yb3V0ZSkgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGdhbWUucm91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1BhZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLXBhZ2UtY29udGVudCBbcHJvcHNdPVwicGFnZUNvbnRlbnRQcm9wc1wiPlxuICAgICAgPHNlY3Rpb24gY29udGVudCBjbGFzcz1cIm1pbmktZ2FtZS1wYWdlLXNoZWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC92YWwtcGFnZS1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAubWluaS1nYW1lLXBhZ2Utc2hlbGwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAzMnB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnQge1xuICByZWFkb25seSBwYWdlQ29udGVudFByb3BzOiBQYWdlQ29udGVudE1ldGFkYXRhID0ge1xuICAgIGhvbWVSb3V0ZTogTUlOSV9HQU1FU19CQVNFX1JPVVRFLFxuICAgIGxhbmd1YWdlU2VsZWN0b3I6IHt9LFxuICAgIGZvbnRTaXplU2VsZWN0b3I6IHt9LFxuICAgIHNob3dCYWNrQnV0dG9uOiBmYWxzZSxcbiAgICBjb250ZW50TWF4V2lkdGg6ICdtZCcsXG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1tZW1vcnktZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01lbW9yeUdhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1tZW1vcnktZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1vcnlHYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2ltb24tZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1NpbW9uR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLXNpbW9uLWdhbWUgLz5cbiAgICA8L3ZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltb25HYW1lUGFnZUNvbXBvbmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYnViYmxlLWJsaXR6LWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdWJibGVCbGl0ekdhbWVDb21wb25lbnQsIE1pbmlHYW1lUGFnZVNoZWxsQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICAgICAgPHZhbC1idWJibGUtYmxpdHotZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCdWJibGVCbGl0ekdhbWVQYWdlQ29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzR2FtZVBhZ2VDb21wb25lbnQge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtb25saW5lLWdhbWUtcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGVzc2ltYWxzR2FtZUNvbXBvbmVudCwgTWluaUdhbWVQYWdlU2hlbGxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx2YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gICAgICA8dmFsLWNoZXNzaW1hbHMtZ2FtZSBbb25saW5lR2FtZUlkXT1cImdhbWVJZFwiIC8+XG4gICAgPC92YWwtbWluaS1nYW1lLXBhZ2Utc2hlbGw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNPbmxpbmVHYW1lUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZWFkb25seSBnYW1lSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ2FtZUlkJykgPz8gJyc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jaGVzc2ltYWxzLXByb2plY3Rpb24tZ2FtZS1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NoZXNzaW1hbHNHYW1lQ29tcG9uZW50LCBNaW5pR2FtZVBhZ2VTaGVsbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHZhbC1taW5pLWdhbWUtcGFnZS1zaGVsbD5cbiAgICAgIDx2YWwtY2hlc3NpbWFscy1nYW1lIFtvbmxpbmVHYW1lSWRdPVwiZ2FtZUlkXCIgW3Byb2plY3Rpb25Nb2RlXT1cInRydWVcIiAvPlxuICAgIDwvdmFsLW1pbmktZ2FtZS1wYWdlLXNoZWxsPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVzc2ltYWxzUHJvamVjdGlvbkdhbWVQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJlYWRvbmx5IGdhbWVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdnYW1lSWQnKSA/PyAnJztcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component } from '@angular/core';
3
3
  import { Router, ActivatedRoute } from '@angular/router';
4
- import { I18nService, MiniGamesMenuComponent, PageContentComponent, MemoryGameComponent, SimonGameComponent, BubbleBlitzGameComponent, ChessimalsGameComponent, ChristianityGameComponent } from 'valtech-components';
4
+ import { I18nService, MiniGamesMenuComponent, PageContentComponent, MemoryGameComponent, SimonGameComponent, BubbleBlitzGameComponent, ChessimalsGameComponent } from 'valtech-components';
5
5
 
6
6
  const MINI_GAMES_BASE_ROUTE = '/mini-games';
7
7
  const MINI_GAMES_PAGE_I18N = {
@@ -14,8 +14,6 @@ const MINI_GAMES_PAGE_I18N = {
14
14
  bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',
15
15
  chessimalsTitle: 'Chessimals',
16
16
  chessimalsDescription: 'Carrera de peones con cartas de animales.',
17
- christianityTitle: 'Christianity',
18
- christianityDescription: 'Mesa MVP de cartas con lideres, ofrendas y batalla.',
19
17
  },
20
18
  en: {
21
19
  memoryTitle: 'Retro Memory',
@@ -26,8 +24,6 @@ const MINI_GAMES_PAGE_I18N = {
26
24
  bubbleDescription: 'Pop bubble groups and chain combos.',
27
25
  chessimalsTitle: 'Chessimals',
28
26
  chessimalsDescription: 'Pawn race with animal power cards.',
29
- christianityTitle: 'Christianity',
30
- christianityDescription: 'Card table MVP with leaders, offerings, and battle.',
31
27
  },
32
28
  };
33
29
  class MiniGamesPageComponent {
@@ -54,13 +50,6 @@ class MiniGamesPageComponent {
54
50
  imageSrc: 'assets/games/chessimals/menu-logo.jpg',
55
51
  route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,
56
52
  },
57
- {
58
- id: 'christianity',
59
- title: this.t('christianityTitle'),
60
- description: this.t('christianityDescription'),
61
- icon: '✦',
62
- route: `${MINI_GAMES_BASE_ROUTE}/christianity`,
63
- },
64
53
  {
65
54
  id: 'bubble-blitz',
66
55
  title: this.t('bubbleTitle'),
@@ -223,27 +212,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
223
212
  `,
224
213
  }]
225
214
  }] });
226
- class ChristianityGamePageComponent {
227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityGamePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
228
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChristianityGamePageComponent, isStandalone: true, selector: "val-christianity-game-page", ngImport: i0, template: `
229
- <val-mini-game-page-shell>
230
- <val-christianity-game />
231
- </val-mini-game-page-shell>
232
- `, isInline: true, dependencies: [{ kind: "component", type: ChristianityGameComponent, selector: "val-christianity-game" }, { kind: "component", type: MiniGamePageShellComponent, selector: "val-mini-game-page-shell" }] }); }
233
- }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityGamePageComponent, decorators: [{
235
- type: Component,
236
- args: [{
237
- selector: 'val-christianity-game-page',
238
- standalone: true,
239
- imports: [ChristianityGameComponent, MiniGamePageShellComponent],
240
- template: `
241
- <val-mini-game-page-shell>
242
- <val-christianity-game />
243
- </val-mini-game-page-shell>
244
- `,
245
- }]
246
- }] });
247
215
  class ChessimalsOnlineGamePageComponent {
248
216
  constructor() {
249
217
  this.route = inject(ActivatedRoute);
@@ -299,5 +267,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
299
267
  * Generated bundle index. Do not edit.
300
268
  */
301
269
 
302
- export { BubbleBlitzGamePageComponent, ChessimalsGamePageComponent, ChessimalsOnlineGamePageComponent, ChessimalsProjectionGamePageComponent, ChristianityGamePageComponent, MemoryGamePageComponent, MiniGamesPageComponent, SimonGamePageComponent };
270
+ export { BubbleBlitzGamePageComponent, ChessimalsGamePageComponent, ChessimalsOnlineGamePageComponent, ChessimalsProjectionGamePageComponent, MemoryGamePageComponent, MiniGamesPageComponent, SimonGamePageComponent };
303
271
  //# sourceMappingURL=valtech-components-mini-games.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n BubbleBlitzGameComponent,\n ChessimalsGameComponent,\n ChristianityGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n christianityTitle: 'Christianity',\n christianityDescription: 'Mesa MVP de cartas con lideres, ofrendas y batalla.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n christianityTitle: 'Christianity',\n christianityDescription: 'Card table MVP with leaders, offerings, and battle.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n languageSelector: {},\n fontSizeSelector: {},\n showBackButton: true,\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/menu-logo.jpg',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'christianity',\n title: this.t('christianityTitle'),\n description: this.t('christianityDescription'),\n icon: '✦',\n route: `${MINI_GAMES_BASE_ROUTE}/christianity`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n languageSelector: {},\n fontSizeSelector: {},\n showBackButton: false,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {}\n\n@Component({\n selector: 'val-christianity-game-page',\n standalone: true,\n imports: [ChristianityGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-christianity-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChristianityGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valtech-components-mini-games.mjs","sources":["../../../mini-games/public-api.ts","../../../mini-games/valtech-components-mini-games.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n BubbleBlitzGameComponent,\n ChessimalsGameComponent,\n I18nService,\n MemoryGameComponent,\n MiniGameDefinition,\n MiniGamesMenuComponent,\n PageContentComponent,\n PageContentMetadata,\n SimonGameComponent,\n} from 'valtech-components';\n\nconst MINI_GAMES_BASE_ROUTE = '/mini-games';\n\nconst MINI_GAMES_PAGE_I18N = {\n es: {\n memoryTitle: 'Memorice Retro',\n memoryDescription: 'Encuentra pares con musica y efectos retro.',\n simonTitle: 'Simon',\n simonDescription: 'Repite luces y sonidos cada vez mas largos.',\n bubbleTitle: 'Burbuja Blitz',\n bubbleDescription: 'Revienta grupos de burbujas y encadena combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Carrera de peones con cartas de animales.',\n },\n en: {\n memoryTitle: 'Retro Memory',\n memoryDescription: 'Find matching pairs with retro music and effects.',\n simonTitle: 'Simon',\n simonDescription: 'Repeat lights and sounds in longer sequences.',\n bubbleTitle: 'Bubble Blitz',\n bubbleDescription: 'Pop bubble groups and chain combos.',\n chessimalsTitle: 'Chessimals',\n chessimalsDescription: 'Pawn race with animal power cards.',\n },\n};\n\n@Component({\n selector: 'val-mini-games-page',\n standalone: true,\n imports: [MiniGamesMenuComponent, PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-games-page\">\n <val-mini-games-menu [games]=\"games\" [asModal]=\"false\" (selected)=\"openGame($event)\" />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-games-page {\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nexport class MiniGamesPageComponent {\n private readonly router = inject(Router);\n private readonly i18n = inject(I18nService);\n\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: '/',\n languageSelector: {},\n fontSizeSelector: {},\n showBackButton: true,\n contentMaxWidth: 'md',\n };\n\n constructor() {\n this.i18n.registerDefaults('MiniGames', MINI_GAMES_PAGE_I18N);\n }\n\n get games(): MiniGameDefinition[] {\n this.i18n.lang();\n return [\n {\n id: 'chessimals',\n title: this.t('chessimalsTitle'),\n description: this.t('chessimalsDescription'),\n icon: '♟️',\n imageSrc: 'assets/games/chessimals/menu-logo.jpg',\n route: `${MINI_GAMES_BASE_ROUTE}/chessimals`,\n },\n {\n id: 'bubble-blitz',\n title: this.t('bubbleTitle'),\n description: this.t('bubbleDescription'),\n icon: '🫧',\n route: `${MINI_GAMES_BASE_ROUTE}/bubble-blitz`,\n },\n {\n id: 'memory',\n title: this.t('memoryTitle'),\n description: this.t('memoryDescription'),\n icon: '🧠',\n route: `${MINI_GAMES_BASE_ROUTE}/memory`,\n },\n {\n id: 'simon',\n title: this.t('simonTitle'),\n description: this.t('simonDescription'),\n icon: '🎛️',\n route: `${MINI_GAMES_BASE_ROUTE}/simon`,\n },\n ];\n }\n\n openGame(game: MiniGameDefinition): void {\n if (game.route) void this.router.navigateByUrl(game.route);\n }\n\n private t(key: string): string {\n return this.i18n.t(key, 'MiniGames');\n }\n}\n\n@Component({\n selector: 'val-mini-game-page-shell',\n standalone: true,\n imports: [PageContentComponent],\n template: `\n <val-page-content [props]=\"pageContentProps\">\n <section content class=\"mini-game-page-shell\">\n <ng-content />\n </section>\n </val-page-content>\n `,\n styles: [\n `\n .mini-game-page-shell {\n display: grid;\n gap: 14px;\n padding: 16px 0 32px;\n }\n `,\n ],\n})\nclass MiniGamePageShellComponent {\n readonly pageContentProps: PageContentMetadata = {\n homeRoute: MINI_GAMES_BASE_ROUTE,\n languageSelector: {},\n fontSizeSelector: {},\n showBackButton: false,\n contentMaxWidth: 'md',\n };\n}\n\n@Component({\n selector: 'val-memory-game-page',\n standalone: true,\n imports: [MemoryGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-memory-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class MemoryGamePageComponent {}\n\n@Component({\n selector: 'val-simon-game-page',\n standalone: true,\n imports: [SimonGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-simon-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class SimonGamePageComponent {}\n\n@Component({\n selector: 'val-bubble-blitz-game-page',\n standalone: true,\n imports: [BubbleBlitzGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-bubble-blitz-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class BubbleBlitzGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsGamePageComponent {}\n\n@Component({\n selector: 'val-chessimals-online-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsOnlineGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n\n@Component({\n selector: 'val-chessimals-projection-game-page',\n standalone: true,\n imports: [ChessimalsGameComponent, MiniGamePageShellComponent],\n template: `\n <val-mini-game-page-shell>\n <val-chessimals-game [onlineGameId]=\"gameId\" [projectionMode]=\"true\" />\n </val-mini-game-page-shell>\n `,\n})\nexport class ChessimalsProjectionGamePageComponent {\n private readonly route = inject(ActivatedRoute);\n readonly gameId = this.route.snapshot.paramMap.get('gameId') ?? '';\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}