@discordeno/utils 19.0.0-next.721b8a8 → 19.0.0-next.749acbc

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.
@@ -23,12 +23,13 @@ let LeakyBucket = class LeakyBucket {
23
23
  this.max = options?.max ?? 1;
24
24
  this.refillAmount = options?.refillAmount ? options.refillAmount > this.max ? this.max : options.refillAmount : 1;
25
25
  this.refillInterval = options?.refillInterval ?? 5000;
26
+ this.logger = options?.logger ?? _logger.default;
26
27
  }
27
28
  /** The amount of requests that still remain. */ get remaining() {
28
29
  return this.max < this.used ? 0 : this.max - this.used;
29
30
  }
30
31
  /** Refills the bucket as needed. */ refillBucket() {
31
- _logger.default.debug(`[LeakyBucket] Timeout for leaky bucket requests executed. Refilling bucket.`);
32
+ this.logger.debug(`[LeakyBucket] Timeout for leaky bucket requests executed. Refilling bucket.`);
32
33
  // Lower the used amount by the refill amount
33
34
  this.used = this.refillAmount > this.used ? 0 : this.used - this.refillAmount;
34
35
  // Reset the refillsAt timestamp since it just got refilled
@@ -44,21 +45,21 @@ let LeakyBucket = class LeakyBucket {
44
45
  }
45
46
  }
46
47
  /** Begin processing the queue. */ async processQueue() {
47
- _logger.default.debug('[LeakyBucket] Processing queue');
48
+ this.logger.debug('[LeakyBucket] Processing queue');
48
49
  // There is already a queue that is processing
49
- if (this.processing) return _logger.default.debug('[LeakyBucket] Queue is already processing.');
50
+ if (this.processing) return this.logger.debug('[LeakyBucket] Queue is already processing.');
50
51
  this.processing = true;
51
52
  // Begin going through the queue.
52
53
  while(this.queue.length){
53
54
  if (this.remaining) {
54
- _logger.default.debug(`[LeakyBucket] Processing queue. Remaining: ${this.remaining} Length: ${this.queue.length}`);
55
+ this.logger.debug(`[LeakyBucket] Processing queue. Remaining: ${this.remaining} Length: ${this.queue.length}`);
55
56
  // Resolves the promise allowing the paused execution of this request to resolve and continue.
56
57
  this.queue.shift()?.();
57
58
  // A request can be made
58
59
  this.used++;
59
60
  // Create a new timeout for this request if none exists.
60
61
  if (!this.timeoutId) {
61
- _logger.default.debug(`[LeakyBucket] Creating new timeout for leaky bucket requests.`);
62
+ this.logger.debug(`[LeakyBucket] Creating new timeout for leaky bucket requests.`);
62
63
  this.timeoutId = setTimeout(()=>{
63
64
  this.refillBucket();
64
65
  }, this.refillInterval);
@@ -69,11 +70,11 @@ let LeakyBucket = class LeakyBucket {
69
70
  const now = Date.now();
70
71
  // If there is time left until next refill, just delay execution.
71
72
  if (this.refillsAt > now) {
72
- _logger.default.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for ${this.refillsAt - now}ms`);
73
+ this.logger.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for ${this.refillsAt - now}ms`);
73
74
  await (0, _utils.delay)(this.refillsAt - now);
74
- _logger.default.debug(`[LeakyBucket] Resuming execution`);
75
+ this.logger.debug(`[LeakyBucket] Resuming execution`);
75
76
  } else {
76
- _logger.default.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for 1000ms`);
77
+ this.logger.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for 1000ms`);
77
78
  await (0, _utils.delay)(1000);
78
79
  }
79
80
  }
@@ -92,4 +93,4 @@ let LeakyBucket = class LeakyBucket {
92
93
  }
93
94
  };
94
95
 
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlci5qcydcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAnLi91dGlscy5qcydcblxuZXhwb3J0IGNsYXNzIExlYWt5QnVja2V0IGltcGxlbWVudHMgTGVha3lCdWNrZXRPcHRpb25zIHtcbiAgbWF4OiBudW1iZXJcbiAgcmVmaWxsSW50ZXJ2YWw6IG51bWJlclxuICByZWZpbGxBbW91bnQ6IG51bWJlclxuXG4gIC8qKiBUaGUgYW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgaGF2ZSBiZWVuIHVzZWQgdXAgYWxyZWFkeS4gKi9cbiAgdXNlZDogbnVtYmVyID0gMFxuICAvKiogVGhlIHF1ZXVlIG9mIHJlcXVlc3RzIHRvIGFjcXVpcmUgYW4gYXZhaWxhYmxlIHJlcXVlc3QuIE1hcHBlZCBieSA8c2hhcmRJZCwgcmVzb2x2ZSgpPiAqL1xuICBxdWV1ZTogQXJyYXk8KHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ+ID0gW11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZVxuICAvKiogVGhlIHRpbWVvdXQgaWQgZm9yIHRoZSB0aW1lciB0byByZWR1Y2UgdGhlIHVzZWQgYW1vdW50IGJ5IHRoZSByZWZpbGwgYW1vdW50LiAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dFxuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGUgbmV4dCByZWZpbGwgaXMgc2NoZWR1bGVkLiAqL1xuICByZWZpbGxzQXQ/OiBudW1iZXJcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogTGVha3lCdWNrZXRPcHRpb25zKSB7XG4gICAgdGhpcy5tYXggPSBvcHRpb25zPy5tYXggPz8gMVxuICAgIHRoaXMucmVmaWxsQW1vdW50ID0gb3B0aW9ucz8ucmVmaWxsQW1vdW50ID8gKG9wdGlvbnMucmVmaWxsQW1vdW50ID4gdGhpcy5tYXggPyB0aGlzLm1heCA6IG9wdGlvbnMucmVmaWxsQW1vdW50KSA6IDFcbiAgICB0aGlzLnJlZmlsbEludGVydmFsID0gb3B0aW9ucz8ucmVmaWxsSW50ZXJ2YWwgPz8gNTAwMFxuICB9XG5cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCBzdGlsbCByZW1haW4uICovXG4gIGdldCByZW1haW5pbmcoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tYXggPCB0aGlzLnVzZWQgPyAwIDogdGhpcy5tYXggLSB0aGlzLnVzZWRcbiAgfVxuXG4gIC8qKiBSZWZpbGxzIHRoZSBidWNrZXQgYXMgbmVlZGVkLiAqL1xuICByZWZpbGxCdWNrZXQoKTogdm9pZCB7XG4gICAgbG9nZ2VyLmRlYnVnKGBbTGVha3lCdWNrZXRdIFRpbWVvdXQgZm9yIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBleGVjdXRlZC4gUmVmaWxsaW5nIGJ1Y2tldC5gKVxuICAgIC8vIExvd2VyIHRoZSB1c2VkIGFtb3VudCBieSB0aGUgcmVmaWxsIGFtb3VudFxuICAgIHRoaXMudXNlZCA9IHRoaXMucmVmaWxsQW1vdW50ID4gdGhpcy51c2VkID8gMCA6IHRoaXMudXNlZCAtIHRoaXMucmVmaWxsQW1vdW50XG4gICAgLy8gUmVzZXQgdGhlIHJlZmlsbHNBdCB0aW1lc3RhbXAgc2luY2UgaXQganVzdCBnb3QgcmVmaWxsZWRcbiAgICB0aGlzLnJlZmlsbHNBdCA9IHVuZGVmaW5lZFxuICAgIC8vIFJlc2V0IHRoZSB0aW1lb3V0SWRcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SWQpXG4gICAgdGhpcy50aW1lb3V0SWQgPSB1bmRlZmluZWRcblxuICAgIGlmICh0aGlzLnVzZWQgPiAwKSB7XG4gICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlZmlsbEJ1Y2tldCgpXG4gICAgICB9LCB0aGlzLnJlZmlsbEludGVydmFsKVxuICAgICAgdGhpcy5yZWZpbGxzQXQgPSBEYXRlLm5vdygpICsgdGhpcy5yZWZpbGxJbnRlcnZhbFxuICAgIH1cbiAgfVxuXG4gIC8qKiBCZWdpbiBwcm9jZXNzaW5nIHRoZSBxdWV1ZS4gKi9cbiAgYXN5bmMgcHJvY2Vzc1F1ZXVlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxvZ2dlci5kZWJ1ZygnW0xlYWt5QnVja2V0XSBQcm9jZXNzaW5nIHF1ZXVlJylcblxuICAgIC8vIFRoZXJlIGlzIGFscmVhZHkgYSBxdWV1ZSB0aGF0IGlzIHByb2Nlc3NpbmdcbiAgICBpZiAodGhpcy5wcm9jZXNzaW5nKSByZXR1cm4gbG9nZ2VyLmRlYnVnKCdbTGVha3lCdWNrZXRdIFF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4nKVxuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgLy8gQmVnaW4gZ29pbmcgdGhyb3VnaCB0aGUgcXVldWUuXG4gICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5yZW1haW5pbmcpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKGBbTGVha3lCdWNrZXRdIFByb2Nlc3NpbmcgcXVldWUuIFJlbWFpbmluZzogJHt0aGlzLnJlbWFpbmluZ30gTGVuZ3RoOiAke3RoaXMucXVldWUubGVuZ3RofWApXG4gICAgICAgIC8vIFJlc29sdmVzIHRoZSBwcm9taXNlIGFsbG93aW5nIHRoZSBwYXVzZWQgZXhlY3V0aW9uIG9mIHRoaXMgcmVxdWVzdCB0byByZXNvbHZlIGFuZCBjb250aW51ZS5cbiAgICAgICAgdGhpcy5xdWV1ZS5zaGlmdCgpPy4oKVxuICAgICAgICAvLyBBIHJlcXVlc3QgY2FuIGJlIG1hZGVcbiAgICAgICAgdGhpcy51c2VkKytcblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgdGltZW91dCBmb3IgdGhpcyByZXF1ZXN0IGlmIG5vbmUgZXhpc3RzLlxuICAgICAgICBpZiAoIXRoaXMudGltZW91dElkKSB7XG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKGBbTGVha3lCdWNrZXRdIENyZWF0aW5nIG5ldyB0aW1lb3V0IGZvciBsZWFreSBidWNrZXQgcmVxdWVzdHMuYClcblxuICAgICAgICAgIHRoaXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZmlsbEJ1Y2tldCgpXG4gICAgICAgICAgfSwgdGhpcy5yZWZpbGxJbnRlcnZhbClcbiAgICAgICAgICAvLyBTZXQgdGhlIHRpbWUgZm9yIHdoZW4gdGhpcyByZWZpbGwgd2lsbCBvY2N1ci5cbiAgICAgICAgICB0aGlzLnJlZmlsbHNBdCA9IERhdGUubm93KCkgKyB0aGlzLnJlZmlsbEludGVydmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgYSByZWZpbGwgaXMgc2NoZWR1bGVkLCBzaW5jZSB3ZSBoYXZlIHVzZWQgdXAgYWxsIGF2YWlsYWJsZSByZXF1ZXN0c1xuICAgICAgZWxzZSBpZiAodGhpcy5yZWZpbGxzQXQpIHtcbiAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuICAgICAgICAvLyBJZiB0aGVyZSBpcyB0aW1lIGxlZnQgdW50aWwgbmV4dCByZWZpbGwsIGp1c3QgZGVsYXkgZXhlY3V0aW9uLlxuICAgICAgICBpZiAodGhpcy5yZWZpbGxzQXQgPiBub3cpIHtcbiAgICAgICAgICBsb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gRGVsYXlpbmcgZXhlY3V0aW9uIG9mIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBmb3IgJHt0aGlzLnJlZmlsbHNBdCAtIG5vd31tc2ApXG4gICAgICAgICAgYXdhaXQgZGVsYXkodGhpcy5yZWZpbGxzQXQgLSBub3cpXG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKGBbTGVha3lCdWNrZXRdIFJlc3VtaW5nIGV4ZWN1dGlvbmApXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgcmVmaWxsc0F0IGhhcyBwYXNzZWQgYnV0IHRoZSB0aW1lb3V0IGRpZG4ndCB5ZXQgZXhlY3V0ZSBkZWxheSB0aGUgZXhlY3V0aW9uXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhgW0xlYWt5QnVja2V0XSBEZWxheWluZyBleGVjdXRpb24gb2YgbGVha3kgYnVja2V0IHJlcXVlc3RzIGZvciAxMDAwbXNgKVxuICAgICAgICAgIGF3YWl0IGRlbGF5KDEwMDApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMb29wIGhhcyBlbmRlZCBtYXJrIGZhbHNlIHNvIGl0IGNhbiByZXN0YXJ0IGxhdGVyIHdoZW4gbmVlZGVkXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2VcbiAgfVxuXG4gIC8qKiBQYXVzZXMgdGhlIGV4ZWN1dGlvbiB1bnRpbCB0aGUgcmVxdWVzdCBpcyBhdmFpbGFibGUgdG8gYmUgbWFkZS4gKi9cbiAgYXN5bmMgYWNxdWlyZShoaWdoUHJpb3JpdHk/OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAvLyBIaWdoIHByaW9yaXR5IHJlcXVlc3RzIGdldCBhZGRlZCB0byB0aGUgc3RhcnQgb2YgdGhlIHF1ZXVlXG4gICAgICBpZiAoaGlnaFByaW9yaXR5KSB0aGlzLnF1ZXVlLnVuc2hpZnQocmVzb2x2ZSlcbiAgICAgIC8vIEFsbCBvdGhlciByZXF1ZXN0cyBnZXQgcHVzaGVkIHRvIHRoZSBlbmQuXG4gICAgICBlbHNlIHRoaXMucXVldWUucHVzaChyZXNvbHZlKVxuXG4gICAgICAvLyBFYWNoIHJlcXVlc3Qgc2hvdWxkIHRyaWdnZXIgdGhlIHF1ZXVlIHRvIGJlIHByb2Nlc3NlZC5cbiAgICAgIHZvaWQgdGhpcy5wcm9jZXNzUXVldWUoKVxuICAgIH0pXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWFreUJ1Y2tldE9wdGlvbnMge1xuICAvKipcbiAgICogTWF4IHJlcXVlc3RzIGFsbG93ZWQgYXQgb25jZS5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiByZWZpbGxzLlxuICAgKiBAZGVmYXVsdCA1MDAwXG4gICAqL1xuICByZWZpbGxJbnRlcnZhbD86IG51bWJlclxuICAvKipcbiAgICogQW1vdW50IG9mIHJlcXVlc3RzIHRvIHJlZmlsbCBhdCBlYWNoIGludGVydmFsLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWZpbGxBbW91bnQ/OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJMZWFreUJ1Y2tldCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsInVzZWQiLCJxdWV1ZSIsInByb2Nlc3NpbmciLCJtYXgiLCJyZWZpbGxBbW91bnQiLCJyZWZpbGxJbnRlcnZhbCIsInJlbWFpbmluZyIsInJlZmlsbEJ1Y2tldCIsImxvZ2dlciIsImRlYnVnIiwicmVmaWxsc0F0IiwidW5kZWZpbmVkIiwiY2xlYXJUaW1lb3V0IiwidGltZW91dElkIiwic2V0VGltZW91dCIsIkRhdGUiLCJub3ciLCJwcm9jZXNzUXVldWUiLCJsZW5ndGgiLCJzaGlmdCIsImRlbGF5IiwiYWNxdWlyZSIsImhpZ2hQcmlvcml0eSIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5zaGlmdCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OzsrREFITTt1QkFDRzs7Ozs7O0FBRWYsSUFBQSxBQUFNQSxjQUFOLE1BQU1BO0lBZ0JYQyxZQUFZQyxPQUE0QixDQUFFO1FBWDFDLDJEQUEyRCxRQUMzREMsT0FBZTtRQUNmLDBGQUEwRixRQUMxRkMsUUFBMEQsRUFBRTtRQUM1RCxvREFBb0QsUUFDcERDLGFBQXNCO1FBT3BCLElBQUksQ0FBQ0MsR0FBRyxHQUFHSixTQUFTSSxPQUFPO1FBQzNCLElBQUksQ0FBQ0MsWUFBWSxHQUFHTCxTQUFTSyxlQUFn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
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlci5qcydcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAnLi91dGlscy5qcydcblxuZXhwb3J0IGNsYXNzIExlYWt5QnVja2V0IGltcGxlbWVudHMgTGVha3lCdWNrZXRPcHRpb25zIHtcbiAgbWF4OiBudW1iZXJcbiAgcmVmaWxsSW50ZXJ2YWw6IG51bWJlclxuICByZWZpbGxBbW91bnQ6IG51bWJlclxuXG4gIC8qKiBUaGUgYW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgaGF2ZSBiZWVuIHVzZWQgdXAgYWxyZWFkeS4gKi9cbiAgdXNlZDogbnVtYmVyID0gMFxuICAvKiogVGhlIHF1ZXVlIG9mIHJlcXVlc3RzIHRvIGFjcXVpcmUgYW4gYXZhaWxhYmxlIHJlcXVlc3QuIE1hcHBlZCBieSA8c2hhcmRJZCwgcmVzb2x2ZSgpPiAqL1xuICBxdWV1ZTogQXJyYXk8KHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ+ID0gW11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZVxuICAvKiogVGhlIHRpbWVvdXQgaWQgZm9yIHRoZSB0aW1lciB0byByZWR1Y2UgdGhlIHVzZWQgYW1vdW50IGJ5IHRoZSByZWZpbGwgYW1vdW50LiAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dFxuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGUgbmV4dCByZWZpbGwgaXMgc2NoZWR1bGVkLiAqL1xuICByZWZpbGxzQXQ/OiBudW1iZXJcbiAgLyoqIExvZ2dlciB1c2VkIGluIHRoZSBsZWFreSBidWNrZXQgKi9cbiAgbG9nZ2VyOiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogTGVha3lCdWNrZXRPcHRpb25zKSB7XG4gICAgdGhpcy5tYXggPSBvcHRpb25zPy5tYXggPz8gMVxuICAgIHRoaXMucmVmaWxsQW1vdW50ID0gb3B0aW9ucz8ucmVmaWxsQW1vdW50ID8gKG9wdGlvbnMucmVmaWxsQW1vdW50ID4gdGhpcy5tYXggPyB0aGlzLm1heCA6IG9wdGlvbnMucmVmaWxsQW1vdW50KSA6IDFcbiAgICB0aGlzLnJlZmlsbEludGVydmFsID0gb3B0aW9ucz8ucmVmaWxsSW50ZXJ2YWwgPz8gNTAwMFxuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucz8ubG9nZ2VyID8/IGxvZ2dlclxuICB9XG5cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCBzdGlsbCByZW1haW4uICovXG4gIGdldCByZW1haW5pbmcoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tYXggPCB0aGlzLnVzZWQgPyAwIDogdGhpcy5tYXggLSB0aGlzLnVzZWRcbiAgfVxuXG4gIC8qKiBSZWZpbGxzIHRoZSBidWNrZXQgYXMgbmVlZGVkLiAqL1xuICByZWZpbGxCdWNrZXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gVGltZW91dCBmb3IgbGVha3kgYnVja2V0IHJlcXVlc3RzIGV4ZWN1dGVkLiBSZWZpbGxpbmcgYnVja2V0LmApXG4gICAgLy8gTG93ZXIgdGhlIHVzZWQgYW1vdW50IGJ5IHRoZSByZWZpbGwgYW1vdW50XG4gICAgdGhpcy51c2VkID0gdGhpcy5yZWZpbGxBbW91bnQgPiB0aGlzLnVzZWQgPyAwIDogdGhpcy51c2VkIC0gdGhpcy5yZWZpbGxBbW91bnRcbiAgICAvLyBSZXNldCB0aGUgcmVmaWxsc0F0IHRpbWVzdGFtcCBzaW5jZSBpdCBqdXN0IGdvdCByZWZpbGxlZFxuICAgIHRoaXMucmVmaWxsc0F0ID0gdW5kZWZpbmVkXG4gICAgLy8gUmVzZXQgdGhlIHRpbWVvdXRJZFxuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJZClcbiAgICB0aGlzLnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuXG4gICAgaWYgKHRoaXMudXNlZCA+IDApIHtcbiAgICAgIHRoaXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmaWxsQnVja2V0KClcbiAgICAgIH0sIHRoaXMucmVmaWxsSW50ZXJ2YWwpXG4gICAgICB0aGlzLnJlZmlsbHNBdCA9IERhdGUubm93KCkgKyB0aGlzLnJlZmlsbEludGVydmFsXG4gICAgfVxuICB9XG5cbiAgLyoqIEJlZ2luIHByb2Nlc3NpbmcgdGhlIHF1ZXVlLiAqL1xuICBhc3luYyBwcm9jZXNzUXVldWUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1tMZWFreUJ1Y2tldF0gUHJvY2Vzc2luZyBxdWV1ZScpXG5cbiAgICAvLyBUaGVyZSBpcyBhbHJlYWR5IGEgcXVldWUgdGhhdCBpcyBwcm9jZXNzaW5nXG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuIHRoaXMubG9nZ2VyLmRlYnVnKCdbTGVha3lCdWNrZXRdIFF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4nKVxuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgLy8gQmVnaW4gZ29pbmcgdGhyb3VnaCB0aGUgcXVldWUuXG4gICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5yZW1haW5pbmcpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gUHJvY2Vzc2luZyBxdWV1ZS4gUmVtYWluaW5nOiAke3RoaXMucmVtYWluaW5nfSBMZW5ndGg6ICR7dGhpcy5xdWV1ZS5sZW5ndGh9YClcbiAgICAgICAgLy8gUmVzb2x2ZXMgdGhlIHByb21pc2UgYWxsb3dpbmcgdGhlIHBhdXNlZCBleGVjdXRpb24gb2YgdGhpcyByZXF1ZXN0IHRvIHJlc29sdmUgYW5kIGNvbnRpbnVlLlxuICAgICAgICB0aGlzLnF1ZXVlLnNoaWZ0KCk/LigpXG4gICAgICAgIC8vIEEgcmVxdWVzdCBjYW4gYmUgbWFkZVxuICAgICAgICB0aGlzLnVzZWQrK1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyB0aW1lb3V0IGZvciB0aGlzIHJlcXVlc3QgaWYgbm9uZSBleGlzdHMuXG4gICAgICAgIGlmICghdGhpcy50aW1lb3V0SWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgW0xlYWt5QnVja2V0XSBDcmVhdGluZyBuZXcgdGltZW91dCBmb3IgbGVha3kgYnVja2V0IHJlcXVlc3RzLmApXG5cbiAgICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWZpbGxCdWNrZXQoKVxuICAgICAgICAgIH0sIHRoaXMucmVmaWxsSW50ZXJ2YWwpXG4gICAgICAgICAgLy8gU2V0IHRoZSB0aW1lIGZvciB3aGVuIHRoaXMgcmVmaWxsIHdpbGwgb2NjdXIuXG4gICAgICAgICAgdGhpcy5yZWZpbGxzQXQgPSBEYXRlLm5vdygpICsgdGhpcy5yZWZpbGxJbnRlcnZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGEgcmVmaWxsIGlzIHNjaGVkdWxlZCwgc2luY2Ugd2UgaGF2ZSB1c2VkIHVwIGFsbCBhdmFpbGFibGUgcmVxdWVzdHNcbiAgICAgIGVsc2UgaWYgKHRoaXMucmVmaWxsc0F0KSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgdGltZSBsZWZ0IHVudGlsIG5leHQgcmVmaWxsLCBqdXN0IGRlbGF5IGV4ZWN1dGlvbi5cbiAgICAgICAgaWYgKHRoaXMucmVmaWxsc0F0ID4gbm93KSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gRGVsYXlpbmcgZXhlY3V0aW9uIG9mIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBmb3IgJHt0aGlzLnJlZmlsbHNBdCAtIG5vd31tc2ApXG4gICAgICAgICAgYXdhaXQgZGVsYXkodGhpcy5yZWZpbGxzQXQgLSBub3cpXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gUmVzdW1pbmcgZXhlY3V0aW9uYClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSByZWZpbGxzQXQgaGFzIHBhc3NlZCBidXQgdGhlIHRpbWVvdXQgZGlkbid0IHlldCBleGVjdXRlIGRlbGF5IHRoZSBleGVjdXRpb25cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gRGVsYXlpbmcgZXhlY3V0aW9uIG9mIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBmb3IgMTAwMG1zYClcbiAgICAgICAgICBhd2FpdCBkZWxheSgxMDAwKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTG9vcCBoYXMgZW5kZWQgbWFyayBmYWxzZSBzbyBpdCBjYW4gcmVzdGFydCBsYXRlciB3aGVuIG5lZWRlZFxuICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlXG4gIH1cblxuICAvKiogUGF1c2VzIHRoZSBleGVjdXRpb24gdW50aWwgdGhlIHJlcXVlc3QgaXMgYXZhaWxhYmxlIHRvIGJlIG1hZGUuICovXG4gIGFzeW5jIGFjcXVpcmUoaGlnaFByaW9yaXR5PzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgLy8gSGlnaCBwcmlvcml0eSByZXF1ZXN0cyBnZXQgYWRkZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBxdWV1ZVxuICAgICAgaWYgKGhpZ2hQcmlvcml0eSkgdGhpcy5xdWV1ZS51bnNoaWZ0KHJlc29sdmUpXG4gICAgICAvLyBBbGwgb3RoZXIgcmVxdWVzdHMgZ2V0IHB1c2hlZCB0byB0aGUgZW5kLlxuICAgICAgZWxzZSB0aGlzLnF1ZXVlLnB1c2gocmVzb2x2ZSlcblxuICAgICAgLy8gRWFjaCByZXF1ZXN0IHNob3VsZCB0cmlnZ2VyIHRoZSBxdWV1ZSB0byBiZSBwcm9jZXNzZWQuXG4gICAgICB2b2lkIHRoaXMucHJvY2Vzc1F1ZXVlKClcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVha3lCdWNrZXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1heCByZXF1ZXN0cyBhbGxvd2VkIGF0IG9uY2UuXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1heD86IG51bWJlclxuICAvKipcbiAgICogSW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIGJldHdlZW4gcmVmaWxscy5cbiAgICogQGRlZmF1bHQgNTAwMFxuICAgKi9cbiAgcmVmaWxsSW50ZXJ2YWw/OiBudW1iZXJcbiAgLyoqXG4gICAqIEFtb3VudCBvZiByZXF1ZXN0cyB0byByZWZpbGwgYXQgZWFjaCBpbnRlcnZhbC5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVmaWxsQW1vdW50PzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbG9nZ2VyIHRoYXQgdGhlIGxlYWt5IGJ1Y2tldCB3aWxsIHVzZVxuICAgKiBAZGVmYXVsdCBsb2dnZXIgLy8gVGhlIGxvZ2dlciBleHBvcnRlZCBieSBgQGRpc2NvcmRlbm8vdXRpbHNgXG4gICAqL1xuICBsb2dnZXI/OiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cbn1cbiJdLCJuYW1lcyI6WyJMZWFreUJ1Y2tldCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsInVzZWQiLCJxdWV1ZSIsInByb2Nlc3NpbmciLCJtYXgiLCJyZWZpbGxBbW91bnQiLCJyZWZpbGxJbnRlcnZhbCIsImxvZ2dlciIsInJlbWFpbmluZyIsInJlZmlsbEJ1Y2tldCIsImRlYnVnIiwicmVmaWxsc0F0IiwidW5kZWZpbmVkIiwiY2xlYXJUaW1lb3V0IiwidGltZW91dElkIiwic2V0VGltZW91dCIsIkRhdGUiLCJub3ciLCJwcm9jZXNzUXVldWUiLCJsZW5ndGgiLCJzaGlmdCIsImRlbGF5IiwiYWNxdWlyZSIsImhpZ2hQcmlvcml0eSIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5zaGlmdCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OzsrREFITTt1QkFDRzs7Ozs7O0FBRWYsSUFBQSxBQUFNQSxjQUFOLE1BQU1BO0lBa0JYQyxZQUFZQyxPQUE0QixDQUFFO1FBYjFDLDJEQUEyRCxRQUMzREMsT0FBZTtRQUNmLDBGQUEwRixRQUMxRkMsUUFBMEQsRUFBRTtRQUM1RCxvREFBb0QsUUFDcERDLGFBQXNCO1FBU3BCLElBQUksQ0FBQ0MsR0FBRyxHQUFHSixTQUFTSSxPQUFPO1FBQzNCLElBQUksQ0FBQ0MsWUFBWSxHQUFHTCxTQUFTSyxlQUFnQkwsUUFBUUssWUFBWSxHQUFHLElBQUksQ0FBQ0QsR0FBRyxHQUFHLElBQUksQ0FBQ0EsR0FBRyxHQUFHSixRQUFRSyxZQUFZLEdBQUk7UUFDbEgsSUFBSSxDQUFDQyxjQUFjLEdBQUdOLFNBQVNNLGtCQUFrQjtRQUNqRCxJQUFJLENBQUNDLE1BQU0sR0FBR1AsU0FBU08sVUFBVUEsZUFBTTtJQUN6QztJQUVBLDhDQUE4QyxHQUM5QyxJQUFJQyxZQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQ0osR0FBRyxHQUFHLElBQUksQ0FBQ0gsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDRyxHQUFHLEdBQUcsSUFBSSxDQUFDSCxJQUFJO0lBQ3hEO0lBRUEsa0NBQWtDLEdBQ2xDUSxlQUFxQjtRQUNuQixJQUFJLENBQUNGLE1BQU0sQ0FBQ0csS0FBSyxDQUFDLENBQUMsMkVBQTJFLENBQUM7UUFDL0YsNkNBQTZDO1FBQzdDLElBQUksQ0FBQ1QsSUFBSSxHQUFHLElBQUksQ0FBQ0ksWUFBWSxHQUFHLElBQUksQ0FBQ0osSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDQSxJQUFJLEdB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
@@ -289,4 +289,4 @@ let EmbedsBuilder = class EmbedsBuilder extends Array {
289
289
  }
290
290
  };
291
291
 
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW1iZWRzQnVpbGRlclxuICogQHR5cGVkZWYge0VtYmVkc0J1aWxkZXJ9XG4gKiBAZXh0ZW5kcyB7QXJyYXk8RGlzY29yZEVtYmVkPn1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBlbWJlZHMgPSBuZXcgRW1iZWRCdWlsZGVyKClcbiAqICAuc2V0VGl0bGUoJ015IEVtYmVkJylcbiAqICAuc2V0RGVzY3JpcHRpb24oJ1RoaXMgaXMgbXkgbmV3IGVtYmVkJylcbiAqICAubmV3RW1iZWQoKVxuICogIC5zZXRUaXRsZSgnTXkgU2Vjb25kIEVtYmVkJylcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkc0J1aWxkZXIgZXh0ZW5kcyBBcnJheTxEaXNjb3JkRW1iZWQ+IHtcbiAgI2N1cnJlbnRFbWJlZEluZGV4OiBudW1iZXIgPSAwXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZmllbGQgdG8gdGhlIGVtYmVkIGZpZWxkcyBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogRW1iZWRzQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmxhbmsgZW1iZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgbmV3RW1iZWQoKTogRW1iZWRzQnVpbGRlciB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID49IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gZW1iZWQgY291bnQgZXhjZWVkZWQuIFlvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcy4nKVxuICAgIH1cblxuICAgIHRoaXMucHVzaCh7fSlcbiAgICB0aGlzLnNldEN1cnJlbnRFbWJlZCgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCBhdXRob3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiB0aGUgYXV0aG9yXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkQXV0aG9yLCAnbmFtZSc+fSBbb3B0aW9uc10gLSBFeHRyYSBhdXRob3Igb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEF1dGhvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPik6IEVtYmVkc0J1aWxkZXIge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5hdXRob3IgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBjb2xvciAtIFRoZSBjb2xvciwgaW4gYmFzZTE2IG9yIGhleCBjb2xvciBjb2RlXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IHN0cmluZyk6IEVtYmVkc0J1aWxkZXIge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlSW50KGNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KVxuICAgICAgY29sb3IgPSBOdW1iZXIuaXNOYU4oY29udmVydGVkVmFsdWUpID8gMCA6IGNvbnZlcnRlZFZhbHVlXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmNvbG9yID0gY29sb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgZGlmZmVyZW50IGluZGV4LlxuICAgKlxuICAgKiBXQVJOSU5HOiBPbmx5IHVzZSB0aGlzIG1ldGhvZCBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4gTWFrZSBzdXJlIHRvIHNldCBpdCBiYWNrIHRvIHRoZSBsYXRlc3Qgd2hlbiB5b3UncmUgZG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHs/bnVtYmVyfSBbaW5kZXhdIC0gVGhlIGluZGV4IG9mIHRoZSBlbWJlZCBpbiB0aGUgRW1iZWRzQnVpbGRlciBhcnJheVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEN1cnJlbnRFbWJlZChpbmRleD86IG51bWJlcik6IEVtYmVkc0J1aWxkZXIge1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RW1iZWRJbmRleCA9IHRoaXMubGVuZ3RoIC0gMVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSB0aGlzLmxlbmd0aCB8fCBpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG5vdCBzZXQgdGhlIGN1cnJlbnQgZW1iZWQgdG8gYSBpbmRleCBvdXQgb2YgYm91bmRzLicpXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSBpbmRleFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvblxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBFbWJlZHNCdWlsZGVyIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVyd3JpdGUgYWxsIGZpZWxkcyBvbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNjb3JkRW1iZWRGaWVsZFtdfSBmaWVsZHNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogRW1iZWRzQnVpbGRlciB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IGZpZWxkc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZvb3RlciBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXJcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEZvb3Rlcih0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEZvb3RlciwgJ3RleHQnPik6IEVtYmVkc0J1aWxkZXIge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5mb290ZXIgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRleHQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGltYWdlIGluIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gVVJMIG9mIHRoZSBpbWFnZVxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEltYWdlLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+KTogRW1iZWRzQnVpbGRlciB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmltYWdlID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmltYWdlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcHJvdmlkZXIgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IEVtYmVkc0J1aWxkZXIge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5wcm92aWRlciA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgcmFuZG9tIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFJhbmRvbUNvbG9yKCk6IEVtYmVkc0J1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLnNldENvbG9yKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgweGZmZmZmZiArIDEpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHs/c3RyaW5nfSBbdXJsXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IEVtYmVkc0J1aWxkZXIge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aXRsZSA9IHRpdGxlXG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLnNldFVybCh1cmwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHs/KHN0cmluZyB8IG51bWJlciB8IERhdGUpfSBbdGltZXN0YW1wXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpbWVzdGFtcCh0aW1lc3RhbXA/OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogRW1iZWRzQnVpbGRlciB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnRpbWVzdGFtcCA9IG5ldyBEYXRlKHRpbWVzdGFtcCEpLnRvSVNPU3RyaW5nKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aHVtYm5haWwgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBVUkwgb2YgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRodW1ibmFpbCh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz4pOiBFbWJlZHNCdWlsZGVyIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnRodW1ibmFpbCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBlbWJlZCB0aXRsZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IEVtYmVkc0J1aWxkZXIge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC51cmwgPSB1cmxcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2aWRlbyBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFZpZGVvKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRWaWRlbywgJ3VybCc+KTogRW1iZWRzQnVpbGRlciB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnZpZGVvID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnZpZGVvLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGFsbCBlbWJlZHMgYXZhaWxhYmxlIGFnYWluc3QgY3VycmVudCBrbm93biBEaXNjb3JkIGxpbWl0cyB0byBoZWxwIHByZXZlbnQgYmFkIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHZhbGlkYXRlKCk6IEVtYmVkc0J1aWxkZXIge1xuICAgIGxldCB0b3RhbENoYXJhY3RlcnMgPSAwXG5cbiAgICBpZiAodGhpcy5sZW5ndGggPiAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMgb24gYSBzaW5nbGUgbWVzc2FnZS4nKVxuICAgIH1cblxuICAgIHRoaXMuZm9yRWFjaCgoeyBhdXRob3IsIGRlc2NyaXB0aW9uLCBmaWVsZHMsIGZvb3RlciwgdGl0bGUgfSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVGl0bGUgPSB0aXRsZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZFRpdGxlLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGl0bGUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRUaXRsZS5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWREZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoID4gNDA5Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRpb24gb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAyNSBmaWVsZHMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKCh7IG5hbWUsIHZhbHVlIH0sIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCB0cmltbWVkTmFtZSA9IG5hbWUudHJpbSgpXG4gICAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG5cbiAgICAgICAgICBpZiAodHJpbW1lZE5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGZpZWxkICR7ZmllbGRJbmRleH0gb24gZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZE5hbWUubGVuZ3RoXG4gICAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRWYWx1ZS5sZW5ndGhcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGZvb3Rlcikge1xuICAgICAgICBjb25zdCB0cmltbWVkRm9vdGVyVGV4dCA9IGZvb3Rlci50ZXh0LnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRm9vdGVyVGV4dC5sZW5ndGggPiAyMDQ4KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb290ZXIgdGV4dCBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDIwNDggY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoYXV0aG9yKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRBdXRob3JOYW1lID0gYXV0aG9yLm5hbWUudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aG9yIG5hbWUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodG90YWxDaGFyYWN0ZXJzID4gNjAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb3RhbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGFsbCBlbWJlZHMgY2FuIG5vdCBleGNlZWQgNjAwMCBjaGFyYWN0ZXJzLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0Rpc2NvcmRFbWJlZH1cbiAgICovXG4gIGdldCAjY3VycmVudEVtYmVkKCk6IERpc2NvcmRFbWJlZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm5ld0VtYmVkKClcbiAgICAgIHRoaXMuc2V0Q3VycmVudEVtYmVkKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1t0aGlzLiNjdXJyZW50RW1iZWRJbmRleF1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVtYmVkc0J1aWxkZXIiLCJBcnJheSIsImN1cnJlbnRFbWJlZEluZGV4IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJjdXJyZW50RW1iZWQiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmFBOzs7ZUFBQUE7OztBQUFOLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUEsc0JBQXNCQztJQUNqQyxDQUFDQyxpQkFBaUIsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFpQjtRQUNyRSxJQUFJLElBQUksQ0FBQyxDQUFDQyxZQUFZLENBQUNDLE1BQU0sS0FBS0MsV0FBVztZQUMzQyxJQUFJLENBQUMsQ0FBQ0YsWUFBWSxDQUFDQyxNQUFNLEdBQUcsRUFBRTtRQUNoQztRQUVBLElBQUksQ0FBQyxDQUFDRCxZQUFZLENBQUNDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDO1lBQzdCTjtZQUNBQztZQUNBQztRQUNGO1FBRUEsT0FBTyxJQUFJO0lBQ2I7SUFFQTs7OztHQUlDLEdBQ0RLLFdBQTBCO1FBQ3hCLElBQUksSUFBSSxDQUFDQyxNQUFNLElBQUksSUFBSTtZQUNyQixNQUFNLElBQUlDLE1BQU07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
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW1iZWRzQnVpbGRlclxuICogQHR5cGVkZWYge0VtYmVkc0J1aWxkZXJ9XG4gKiBAZXh0ZW5kcyB7QXJyYXk8RGlzY29yZEVtYmVkPn1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBlbWJlZHMgPSBuZXcgRW1iZWRCdWlsZGVyKClcbiAqICAuc2V0VGl0bGUoJ015IEVtYmVkJylcbiAqICAuc2V0RGVzY3JpcHRpb24oJ1RoaXMgaXMgbXkgbmV3IGVtYmVkJylcbiAqICAubmV3RW1iZWQoKVxuICogIC5zZXRUaXRsZSgnTXkgU2Vjb25kIEVtYmVkJylcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkc0J1aWxkZXIgZXh0ZW5kcyBBcnJheTxEaXNjb3JkRW1iZWQ+IHtcbiAgI2N1cnJlbnRFbWJlZEluZGV4OiBudW1iZXIgPSAwXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZmllbGQgdG8gdGhlIGVtYmVkIGZpZWxkcyBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmxhbmsgZW1iZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgbmV3RW1iZWQoKTogdGhpcyB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID49IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gZW1iZWQgY291bnQgZXhjZWVkZWQuIFlvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcy4nKVxuICAgIH1cblxuICAgIHRoaXMucHVzaCh7fSlcbiAgICB0aGlzLnNldEN1cnJlbnRFbWJlZCgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCBhdXRob3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiB0aGUgYXV0aG9yXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkQXV0aG9yLCAnbmFtZSc+fSBbb3B0aW9uc10gLSBFeHRyYSBhdXRob3Igb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEF1dGhvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5hdXRob3IgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBjb2xvciAtIFRoZSBjb2xvciwgaW4gYmFzZTE2IG9yIGhleCBjb2xvciBjb2RlXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlSW50KGNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KVxuICAgICAgY29sb3IgPSBOdW1iZXIuaXNOYU4oY29udmVydGVkVmFsdWUpID8gMCA6IGNvbnZlcnRlZFZhbHVlXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmNvbG9yID0gY29sb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgZGlmZmVyZW50IGluZGV4LlxuICAgKlxuICAgKiBXQVJOSU5HOiBPbmx5IHVzZSB0aGlzIG1ldGhvZCBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4gTWFrZSBzdXJlIHRvIHNldCBpdCBiYWNrIHRvIHRoZSBsYXRlc3Qgd2hlbiB5b3UncmUgZG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHs/bnVtYmVyfSBbaW5kZXhdIC0gVGhlIGluZGV4IG9mIHRoZSBlbWJlZCBpbiB0aGUgRW1iZWRzQnVpbGRlciBhcnJheVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEN1cnJlbnRFbWJlZChpbmRleD86IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RW1iZWRJbmRleCA9IHRoaXMubGVuZ3RoIC0gMVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSB0aGlzLmxlbmd0aCB8fCBpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG5vdCBzZXQgdGhlIGN1cnJlbnQgZW1iZWQgdG8gYSBpbmRleCBvdXQgb2YgYm91bmRzLicpXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSBpbmRleFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvblxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVyd3JpdGUgYWxsIGZpZWxkcyBvbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNjb3JkRW1iZWRGaWVsZFtdfSBmaWVsZHNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IGZpZWxkc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZvb3RlciBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXJcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEZvb3Rlcih0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEZvb3RlciwgJ3RleHQnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5mb290ZXIgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRleHQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGltYWdlIGluIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gVVJMIG9mIHRoZSBpbWFnZVxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEltYWdlLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmltYWdlID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmltYWdlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcHJvdmlkZXIgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5wcm92aWRlciA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgcmFuZG9tIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFJhbmRvbUNvbG9yKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLnNldENvbG9yKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgweGZmZmZmZiArIDEpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHs/c3RyaW5nfSBbdXJsXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aXRsZSA9IHRpdGxlXG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLnNldFVybCh1cmwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHs/KHN0cmluZyB8IG51bWJlciB8IERhdGUpfSBbdGltZXN0YW1wXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpbWVzdGFtcCh0aW1lc3RhbXA/OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnRpbWVzdGFtcCA9IG5ldyBEYXRlKHRpbWVzdGFtcCEpLnRvSVNPU3RyaW5nKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aHVtYm5haWwgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBVUkwgb2YgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRodW1ibmFpbCh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnRodW1ibmFpbCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBlbWJlZCB0aXRsZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC51cmwgPSB1cmxcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2aWRlbyBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFZpZGVvKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRWaWRlbywgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnZpZGVvID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnZpZGVvLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGFsbCBlbWJlZHMgYXZhaWxhYmxlIGFnYWluc3QgY3VycmVudCBrbm93biBEaXNjb3JkIGxpbWl0cyB0byBoZWxwIHByZXZlbnQgYmFkIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHZhbGlkYXRlKCk6IHRoaXMge1xuICAgIGxldCB0b3RhbENoYXJhY3RlcnMgPSAwXG5cbiAgICBpZiAodGhpcy5sZW5ndGggPiAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMgb24gYSBzaW5nbGUgbWVzc2FnZS4nKVxuICAgIH1cblxuICAgIHRoaXMuZm9yRWFjaCgoeyBhdXRob3IsIGRlc2NyaXB0aW9uLCBmaWVsZHMsIGZvb3RlciwgdGl0bGUgfSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVGl0bGUgPSB0aXRsZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZFRpdGxlLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGl0bGUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRUaXRsZS5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWREZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoID4gNDA5Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRpb24gb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAyNSBmaWVsZHMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKCh7IG5hbWUsIHZhbHVlIH0sIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCB0cmltbWVkTmFtZSA9IG5hbWUudHJpbSgpXG4gICAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG5cbiAgICAgICAgICBpZiAodHJpbW1lZE5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGZpZWxkICR7ZmllbGRJbmRleH0gb24gZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZE5hbWUubGVuZ3RoXG4gICAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRWYWx1ZS5sZW5ndGhcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGZvb3Rlcikge1xuICAgICAgICBjb25zdCB0cmltbWVkRm9vdGVyVGV4dCA9IGZvb3Rlci50ZXh0LnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRm9vdGVyVGV4dC5sZW5ndGggPiAyMDQ4KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb290ZXIgdGV4dCBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDIwNDggY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoYXV0aG9yKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRBdXRob3JOYW1lID0gYXV0aG9yLm5hbWUudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aG9yIG5hbWUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodG90YWxDaGFyYWN0ZXJzID4gNjAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb3RhbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGFsbCBlbWJlZHMgY2FuIG5vdCBleGNlZWQgNjAwMCBjaGFyYWN0ZXJzLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0Rpc2NvcmRFbWJlZH1cbiAgICovXG4gIGdldCAjY3VycmVudEVtYmVkKCk6IERpc2NvcmRFbWJlZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm5ld0VtYmVkKClcbiAgICAgIHRoaXMuc2V0Q3VycmVudEVtYmVkKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1t0aGlzLiNjdXJyZW50RW1iZWRJbmRleF1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVtYmVkc0J1aWxkZXIiLCJBcnJheSIsImN1cnJlbnRFbWJlZEluZGV4IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJjdXJyZW50RW1iZWQiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmFBOzs7ZUFBQUE7OztBQUFOLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUEsc0JBQXNCQztJQUNqQyxDQUFDQyxpQkFBaUIsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFRO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUNDLFlBQVksQ0FBQ0MsTUFBTSxLQUFLQyxXQUFXO1lBQzNDLElBQUksQ0FBQyxDQUFDRixZQUFZLENBQUNDLE1BQU0sR0FBRyxFQUFFO1FBQ2hDO1FBRUEsSUFBSSxDQUFDLENBQUNELFlBQVksQ0FBQ0MsTUFBTSxDQUFDRSxJQUFJLENBQUM7WUFDN0JOO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFFQSxPQUFPLElBQUk7SUFDYjtJQUVBOzs7O0dBSUMsR0FDREssV0FBaUI7UUFDZixJQUFJLElBQUksQ0FBQ0MsTUFBTSxJQUFJLElBQUk7WUFDckIsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDSCxJQUFJLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQ0ksZUFBZTtRQUVwQixPQUFPLElBQUk7SUFDYjtJQUVBOzs7Ozs7R0FNQyxHQUNEQyxVQUFVWCxJQUFZLEVBQUVZLE9BQTBDLEVBQVE7UUFDeEUsSUFBSSxDQUFDLENBQUNULFlBQVks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
@@ -67,6 +67,7 @@ _export(exports, {
67
67
  return teamIconUrl;
68
68
  }
69
69
  });
70
+ const _types = require("@discordeno/types");
70
71
  const _hash = require("./hash.cjs");
71
72
  function formatImageUrl(url, size = 128, format) {
72
73
  return `${url}.${format ?? (url.includes('/a_') ? 'gif' : 'jpg')}?size=${size}`;
@@ -77,8 +78,8 @@ function emojiUrl(emojiId, animated = false) {
77
78
  function avatarUrl(userId, discriminator, options) {
78
79
  return options?.avatar ? formatImageUrl(`https://cdn.discordapp.com/avatars/${userId}/${typeof options.avatar === 'string' ? options.avatar : (0, _hash.iconBigintToHash)(options.avatar)}`, options?.size ?? 128, options?.format) : `https://cdn.discordapp.com/embed/avatars/${discriminator === '0' ? (BigInt(userId) >> BigInt(22)) % BigInt(6) : Number(discriminator) % 5}.png`;
79
80
  }
80
- function avatarDecorationUrl(userId, avatarDecoration) {
81
- return `https://cdn.discordapp.com/avatar-decorations/${userId}/${typeof avatarDecoration === 'string' ? avatarDecoration : (0, _hash.iconBigintToHash)(avatarDecoration)}.png`;
81
+ function avatarDecorationUrl(avatarDecoration) {
82
+ return `https://cdn.discordapp.com/avatar-decoration-presets/${typeof avatarDecoration === 'string' ? avatarDecoration : (0, _hash.iconBigintToHash)(avatarDecoration)}.png`;
82
83
  }
83
84
  function bannerUrl(userId, options) {
84
85
  return options?.banner ? formatImageUrl(`https://cdn.discordapp.com/banners/${userId}/${typeof options.banner === 'string' ? options.banner : (0, _hash.iconBigintToHash)(options.banner)}`, options?.size ?? 128, options?.format) : undefined;
@@ -121,7 +122,9 @@ function stickerPackBannerUrl(bannerAssetId, options) {
121
122
  return bannerAssetId ? formatImageUrl(`https://cdn.discordapp.com/app-assets/710982414301790216/store/${typeof bannerAssetId === 'string' ? bannerAssetId : (0, _hash.iconBigintToHash)(bannerAssetId)}`, options?.size ?? 128, options?.format) : undefined;
122
123
  }
123
124
  function stickerUrl(stickerId, options) {
124
- return stickerId ? formatImageUrl(`https://cdn.discordapp.com/stickers/${stickerId}`, options?.size ?? 128, options?.format) : undefined;
125
+ if (!stickerId) return;
126
+ const url = options?.type === _types.StickerFormatTypes.Gif ? `https://media.discordapp.net/stickers/${stickerId}` : `https://cdn.discordapp.com/stickers/${stickerId}`;
127
+ return formatImageUrl(url, options?.size ?? 128, options?.format);
125
128
  }
126
129
  function teamIconUrl(teamId, iconHash, options) {
127
130
  return iconHash ? formatImageUrl(`https://cdn.discordapp.com/team-icons/${teamId}/store/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
@@ -130,4 +133,4 @@ function roleIconUrl(roleId, iconHash, options) {
130
133
  return iconHash ? formatImageUrl(`https://cdn.discordapp.com/role-icons/${roleId}/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
131
134
  }
132
135
 
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zICovXG5pbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCBJbWFnZUZvcm1hdCwgSW1hZ2VTaXplIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uQmlnaW50VG9IYXNoIH0gZnJvbSAnLi9oYXNoLmpzJ1xuXG4vKiogSGVscCBmb3JtYXQgYW4gaW1hZ2UgdXJsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEltYWdlVXJsKHVybDogc3RyaW5nLCBzaXplOiBJbWFnZVNpemUgPSAxMjgsIGZvcm1hdD86IEltYWdlRm9ybWF0KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3VybH0uJHtmb3JtYXQgPz8gKHVybC5pbmNsdWRlcygnL2FfJykgPyAnZ2lmJyA6ICdqcGcnKX0/c2l6ZT0ke3NpemV9YFxufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLyR7ZW1vamlJZH0uJHthbmltYXRlZCA/ICdnaWYnIDogJ3BuZyd9YFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZFxuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2Rpc2NyaW1pbmF0b3IgPT09ICcwJyA/IChCaWdJbnQodXNlcklkKSA+PiBCaWdJbnQoMjIpKSAlIEJpZ0ludCg2KSA6IE51bWJlcihkaXNjcmltaW5hdG9yKSAlIDV9LnBuZ2Bcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhckRlY29yYXRpb25VcmwodXNlcklkOiBCaWdTdHJpbmcsIGF2YXRhckRlY29yYXRpb246IEJpZ1N0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXZhdGFyLWRlY29yYXRpb25zLyR7dXNlcklkfS8ke1xuICAgIHR5cGVvZiBhdmF0YXJEZWNvcmF0aW9uID09PSAnc3RyaW5nJyA/IGF2YXRhckRlY29yYXRpb24gOiBpY29uQmlnaW50VG9IYXNoKGF2YXRhckRlY29yYXRpb24pXG4gIH0ucG5nYFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYmFubmVyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBub3QgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYW5uZXJVcmwoXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGJhbm5lcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9iYW5uZXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIGJhbm5lciBmb3IuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRCYW5uZXJVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIGJhbm5lcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHtndWlsZElkfS8ke3R5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpfWAsXG4gICAgICAgIG9wdGlvbnMuc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEljb25VcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgZGlzY292ZXJ5IHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZGlzY292ZXJ5IHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNjaGVkdWxlZCBldmVudCBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBldmVudElkIC0gVGhlIElEIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZXZlbnQgY292ZXIgaW1hZ2UuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU2NoZWR1bGVkRXZlbnRDb3ZlclVybChcbiAgZXZlbnRJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgY292ZXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zLmNvdmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkLWV2ZW50cy8ke2V2ZW50SWR9LyR7dHlwZW9mIG9wdGlvbnMuY292ZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5jb3ZlciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5jb3Zlcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIHdpZGdldCBpbWFnZSBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIHdpZGdldCBpbWFnZSBmb3IuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFdpZGdldEltYWdlVXJsKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkV2lkZ2V0SW1hZ2VRdWVyeSk6IHN0cmluZyB7XG4gIGxldCB1cmwgPSBgaHR0cHM6Ly9kaXNjb3JkYXBwLmNvbS9hcGkvZ3VpbGRzLyR7Z3VpbGRJZH0vd2lkZ2V0LnBuZ2BcblxuICBpZiAob3B0aW9ucz8uc3R5bGUpIHtcbiAgICB1cmwgKz0gYD9zdHlsZT0ke29wdGlvbnMuc3R5bGV9YFxuICB9XG5cbiAgcmV0dXJuIHVybFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIG1lbWJlcidzIGF2YXRhciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB3aGVyZSB0aGUgbWVtYmVyIGlzXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbWJlckF2YXRhclVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zPy5hdmF0YXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGRzLyR7Z3VpbGRJZH0vdXNlcnMvJHt1c2VySWR9L2F2YXRhcnMvJHtcbiAgICAgICAgICB0eXBlb2Ygb3B0aW9ucy5hdmF0YXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5hdmF0YXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYXZhdGFyKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBpY29uIG9mLlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25JY29uVXJsKFxuICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gY292ZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBjb3Zlckhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gY292ZXIuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uQ292ZXJVcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgY292ZXJIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gY292ZXJIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGNvdmVySGFzaCA9PT0gJ3N0cmluZycgPyBjb3Zlckhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGNvdmVySGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGFzc2V0IHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgYXNzZXQgb2YuXG4gKiBAcGFyYW0gYXNzZXRJZCAtIFRoZSBpZCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gYXNzZXQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uQXNzZXRVcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgYXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgYXNzZXRJZCA9PT0gJ3N0cmluZycgPyBhc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChhc3NldElkKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBzdGlja2VyIHBhY2sgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGJhbm5lckFzc2V0SWQgLSBUaGUgSUQgb2YgdGhlIGJhbm5lciBhc3NldCBmb3IgdGhlIHN0aWNrZXIgcGFjay5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RpY2tlclBhY2tCYW5uZXJVcmwoXG4gIGJhbm5lckFzc2V0SWQ6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBiYW5uZXJBc3NldElkXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1hc3NldHMvNzEwOTgyNDE0MzAxNzkwMjE2L3N0b3JlLyR7XG4gICAgICAgICAgdHlwZW9mIGJhbm5lckFzc2V0SWQgPT09ICdzdHJpbmcnID8gYmFubmVyQXNzZXRJZCA6IGljb25CaWdpbnRUb0hhc2goYmFubmVyQXNzZXRJZClcbiAgICAgICAgfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gc3RpY2tlcklkIC0gVGhlIElEIG9mIHRoZSBzdGlja2VyIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyVXJsKFxuICBzdGlja2VySWQ6IEJpZ1N0cmluZyB8IG51bWJlcixcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBzdGlja2VySWQgPyBmb3JtYXRJbWFnZVVybChgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YCwgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsIG9wdGlvbnM/LmZvcm1hdCkgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHRlYW0gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB0ZWFtSWQgLSBUaGUgSUQgb2YgdGhlIHRlYW0gdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBvZiB0aGUgdGVhbSBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZWFtSWNvblVybChcbiAgdGVhbUlkOiBCaWdTdHJpbmcsXG4gIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vdGVhbS1pY29ucy8ke3RlYW1JZH0vc3RvcmUvJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSByb2xlIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gcm9sZUlkIC0gVGhlIElEIG9mIHRoZSByb2xlIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHJvbGUgaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUljb25VcmwoXG4gIHJvbGVJZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3JvbGUtaWNvbnMvJHtyb2xlSWR9LyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuIl0sIm5hbWVzIjpbImFwcGxpY2F0aW9uQXNzZXRVcmwiLCJhcHBsaWNhdGlvbkNvdmVyVXJsIiwiYXBwbGljYXRpb25JY29uVXJsIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhclVybCIsImJhbm5lclVybCIsImVtb2ppVXJsIiwiZm9ybWF0SW1hZ2VVcmwiLCJnZXRXaWRnZXRJbWFnZVVybCIsImd1aWxkQmFubmVyVXJsIiwiZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwiLCJndWlsZEljb25VcmwiLCJndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwiLCJndWlsZFNwbGFzaFVybCIsIm1lbWJlckF2YXRhclVybCIsInJvbGVJY29uVXJsIiwic3RpY2tlclBhY2tCYW5uZXJVcmwiLCJzdGlja2VyVXJsIiwidGVhbUljb25VcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaUlkIiwiYW5pbWF0ZWQiLCJ1c2VySWQiLCJkaXNjcmltaW5hdG9yIiwib3B0aW9ucyIsImF2YXRhciIsImljb25CaWdpbnRUb0hhc2giLCJCaWdJbnQiLCJOdW1iZXIiLCJhdmF0YXJEZWNvcmF0aW9uIiwiYmFubmVyIiwidW5kZWZpbmVkIiwiZ3VpbGRJZCIsImltYWdlSGFzaCIsImV2ZW50SWQiLCJjb3ZlciIsInN0eWxlIiwiYXBwbGljYXRpb25JZCIsImljb25IYXNoIiwiY292ZXJIYXNoIiwiYXNzZXRJZCIsImJhbm5lckFzc2V0SWQiLCJzdGlja2VySWQiLCJ0ZWFtSWQiLCJyb2xlSWQiXSwibWFwcGluZ3MiOiJBQUFBLG1FQUFtRTs7Ozs7Ozs7Ozs7SUE4U25EQSxtQkFBbUI7ZUFBbkJBOztJQXpCQUMsbUJBQW1CO2VBQW5CQTs7SUF6QkFDLGtCQUFrQjtlQUFsQkE7O0lBOU1BQyxtQkFBbUI7ZUFBbkJBOztJQWxCQUMsU0FBUztlQUFUQTs7SUErQkFDLFNBQVM7ZUFBVEE7O0lBM0NBQyxRQUFRO2VBQVJBOztJQVhBQyxjQUFjO2VBQWRBOztJQXlNQUMsaUJBQWlCO2VBQWpCQTs7SUEzSEFDLGNBQWM7ZUFBZEE7O0lBMEVBQyx1QkFBdUI7ZUFBdkJBOztJQWxEQUMsWUFBWTtlQUFaQTs7SUEyRUFDLDJC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
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zICovXG5pbXBvcnQgeyB0eXBlIEJpZ1N0cmluZywgdHlwZSBHZXRHdWlsZFdpZGdldEltYWdlUXVlcnksIHR5cGUgSW1hZ2VGb3JtYXQsIHR5cGUgSW1hZ2VTaXplLCBTdGlja2VyRm9ybWF0VHlwZXMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGljb25CaWdpbnRUb0hhc2ggfSBmcm9tICcuL2hhc2guanMnXG5cbi8qKiBIZWxwIGZvcm1hdCBhbiBpbWFnZSB1cmwuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SW1hZ2VVcmwodXJsOiBzdHJpbmcsIHNpemU6IEltYWdlU2l6ZSA9IDEyOCwgZm9ybWF0PzogSW1hZ2VGb3JtYXQpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7dXJsfS4ke2Zvcm1hdCA/PyAodXJsLmluY2x1ZGVzKCcvYV8nKSA/ICdnaWYnIDogJ2pwZycpfT9zaXplPSR7c2l6ZX1gXG59XG5cbi8qKlxuICogR2V0IHRoZSB1cmwgZm9yIGFuIGVtb2ppLlxuICpcbiAqIEBwYXJhbSBlbW9qaUlkIFRoZSBpZCBvZiB0aGUgZW1vamlcbiAqIEBwYXJhbSBhbmltYXRlZCBXaGV0aGVyIG9yIG5vdCB0aGUgZW1vamkgaXMgYW5pbWF0ZWRcbiAqIEByZXR1cm5zIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZW1vamlVcmwoZW1vamlJZDogQmlnU3RyaW5nLCBhbmltYXRlZCA9IGZhbHNlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbW9qaXMvJHtlbW9qaUlkfS4ke2FuaW1hdGVkID8gJ2dpZicgOiAncG5nJ31gXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGF2YXRhciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gZGlzY3JpbWluYXRvciAtIFRoZSB1c2VyJ3MgZGlzY3JpbWluYXRvci4gKDQtZGlnaXQgdGFnIGFmdGVyIHRoZSBoYXNodGFnLilcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXZhdGFyVXJsKFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgZGlzY3JpbWluYXRvcjogc3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcjogQmlnU3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcge1xuICByZXR1cm4gb3B0aW9ucz8uYXZhdGFyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYXZhdGFyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmF2YXRhcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbWJlZC9hdmF0YXJzLyR7ZGlzY3JpbWluYXRvciA9PT0gJzAnID8gKEJpZ0ludCh1c2VySWQpID4+IEJpZ0ludCgyMikpICUgQmlnSW50KDYpIDogTnVtYmVyKGRpc2NyaW1pbmF0b3IpICUgNX0ucG5nYFxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXZhdGFyRGVjb3JhdGlvblVybChhdmF0YXJEZWNvcmF0aW9uOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2F2YXRhci1kZWNvcmF0aW9uLXByZXNldHMvJHtcbiAgICB0eXBlb2YgYXZhdGFyRGVjb3JhdGlvbiA9PT0gJ3N0cmluZycgPyBhdmF0YXJEZWNvcmF0aW9uIDogaWNvbkJpZ2ludFRvSGFzaChhdmF0YXJEZWNvcmF0aW9uKVxuICB9LnBuZ2Bcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSB1c2VyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGJhbm5lciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgbm90IGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFubmVyVXJsKFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBiYW5uZXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zPy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke3VzZXJJZH0vJHt0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkQmFubmVyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBiYW5uZXI/OiBCaWdTdHJpbmdcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvcHRpb25zLmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9iYW5uZXJzLyR7Z3VpbGRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5iYW5uZXIgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5iYW5uZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuYmFubmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIGxpbmsgdG8gdGhlIGJhbm5lciBmb3IuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGV2ZW50IGNvdmVyIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgbm8gYmFubmVyIGhhcyBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkSWNvblVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBpbWFnZUhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpbWFnZUhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vaWNvbnMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTcGxhc2hVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3NwbGFzaGVzLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBkaXNjb3Zlcnkgc3BsYXNoIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgc3BsYXNoIG9mLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBkaXNjb3Zlcnkgc3BsYXNoIGltYWdlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGd1aWxkIGRvZXMgbm90IGhhdmUgYSBzcGxhc2ggaW1hZ2Ugc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Rpc2NvdmVyeS1zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGV2ZW50SWQgLSBUaGUgSUQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwoXG4gIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIGNvdmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5jb3ZlclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZC1ldmVudHMvJHtldmVudElkfS8ke3R5cGVvZiBvcHRpb25zLmNvdmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuY292ZXIgOiBpY29uQmlnaW50VG9IYXNoKG9wdGlvbnMuY292ZXIpfWAsXG4gICAgICAgIG9wdGlvbnMuc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIHRoZSBndWlsZCB3aWRnZXQgaW1hZ2Ugc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSB3aWRnZXQgaW1hZ2UgZm9yLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRXaWRnZXRJbWFnZVVybChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFdpZGdldEltYWdlUXVlcnkpOiBzdHJpbmcge1xuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZGFwcC5jb20vYXBpL2d1aWxkcy8ke2d1aWxkSWR9L3dpZGdldC5wbmdgXG5cbiAgaWYgKG9wdGlvbnM/LnN0eWxlKSB7XG4gICAgdXJsICs9IGA/c3R5bGU9JHtvcHRpb25zLnN0eWxlfWBcbiAgfVxuXG4gIHJldHVybiB1cmxcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gYSBtZW1iZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgd2hlcmUgdGhlIG1lbWJlciBpc1xuICogQHBhcmFtIHVzZXJJZCAtIFRoZSBJRCBvZiB0aGUgdXNlciB0byBnZXQgdGhlIGF2YXRhciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1iZXJBdmF0YXJVcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYXZhdGFyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYXZhdGFyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2d1aWxkcy8ke2d1aWxkSWR9L3VzZXJzLyR7dXNlcklkfS9hdmF0YXJzLyR7XG4gICAgICAgICAgdHlwZW9mIG9wdGlvbnMuYXZhdGFyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYXZhdGFyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmF2YXRhcilcbiAgICAgICAgfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgaWNvbiBvZi5cbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGxpY2F0aW9uSWNvblVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGFuIGFwcGxpY2F0aW9uIGNvdmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGFwcGxpY2F0aW9uSWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgY292ZXIgb2YuXG4gKiBAcGFyYW0gY292ZXJIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGNvdmVyLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkNvdmVyVXJsKFxuICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gIGNvdmVySGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGNvdmVySGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBjb3Zlckhhc2ggPT09ICdzdHJpbmcnID8gY292ZXJIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChjb3Zlckhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBhc3NldCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGFzc2V0IG9mLlxuICogQHBhcmFtIGFzc2V0SWQgLSBUaGUgaWQgaWRlbnRpZnlpbmcgdGhlIGFwcGxpY2F0aW9uIGFzc2V0LlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkFzc2V0VXJsKFxuICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gIGFzc2V0SWQ6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBhc3NldElkXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2FwcC1pY29ucy8ke2FwcGxpY2F0aW9uSWR9LyR7dHlwZW9mIGFzc2V0SWQgPT09ICdzdHJpbmcnID8gYXNzZXRJZCA6IGljb25CaWdpbnRUb0hhc2goYXNzZXRJZCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBwYWNrIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBiYW5uZXJBc3NldElkIC0gVGhlIElEIG9mIHRoZSBiYW5uZXIgYXNzZXQgZm9yIHRoZSBzdGlja2VyIHBhY2suXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJQYWNrQmFubmVyVXJsKFxuICBiYW5uZXJBc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYmFubmVyQXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtYXNzZXRzLzcxMDk4MjQxNDMwMTc5MDIxNi9zdG9yZS8ke1xuICAgICAgICAgIHR5cGVvZiBiYW5uZXJBc3NldElkID09PSAnc3RyaW5nJyA/IGJhbm5lckFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGJhbm5lckFzc2V0SWQpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBzdGlja2VyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHN0aWNrZXJJZCAtIFRoZSBJRCBvZiB0aGUgc3RpY2tlciB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RpY2tlclVybChcbiAgc3RpY2tlcklkOiBCaWdTdHJpbmcgfCBudW1iZXIsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gICAgdHlwZT86IFN0aWNrZXJGb3JtYXRUeXBlc1xuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFzdGlja2VySWQpIHJldHVyblxuXG4gIGNvbnN0IHVybCA9XG4gICAgb3B0aW9ucz8udHlwZSA9PT0gU3RpY2tlckZvcm1hdFR5cGVzLkdpZlxuICAgICAgPyBgaHR0cHM6Ly9tZWRpYS5kaXNjb3JkYXBwLm5ldC9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgICA6IGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG5cbiAgcmV0dXJuIGZvcm1hdEltYWdlVXJsKHVybCwgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsIG9wdGlvbnM/LmZvcm1hdClcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHRlYW0gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB0ZWFtSWQgLSBUaGUgSUQgb2YgdGhlIHRlYW0gdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBvZiB0aGUgdGVhbSBpY29uLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZWFtSWNvblVybChcbiAgdGVhbUlkOiBCaWdTdHJpbmcsXG4gIGljb25IYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaWNvbkhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vdGVhbS1pY29ucy8ke3RlYW1JZH0vc3RvcmUvJHt0eXBlb2YgaWNvbkhhc2ggPT09ICdzdHJpbmcnID8gaWNvbkhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGljb25IYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSByb2xlIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gcm9sZUlkIC0gVGhlIElEIG9mIHRoZSByb2xlIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHJvbGUgaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUljb25VcmwoXG4gIHJvbGVJZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3JvbGUtaWNvbnMvJHtyb2xlSWR9LyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuIl0sIm5hbWVzIjpbImFwcGxpY2F0aW9uQXNzZXRVcmwiLCJhcHBsaWNhdGlvbkNvdmVyVXJsIiwiYXBwbGljYXRpb25JY29uVXJsIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhclVybCIsImJhbm5lclVybCIsImVtb2ppVXJsIiwiZm9ybWF0SW1hZ2VVcmwiLCJnZXRXaWRnZXRJbWFnZVVybCIsImd1aWxkQmFubmVyVXJsIiwiZ3VpbGREaXNjb3ZlcnlTcGxhc2hVcmwiLCJndWlsZEljb25VcmwiLCJndWlsZFNjaGVkdWxlZEV2ZW50Q292ZXJVcmwiLCJndWlsZFNwbGFzaFVybCIsIm1lbWJlckF2YXRhclVybCIsInJvbGVJY29uVXJsIiwic3RpY2tlclBhY2tCYW5uZXJVcmwiLCJzdGlja2VyVXJsIiwidGVhbUljb25VcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaUlkIiwiYW5pbWF0ZWQiLCJ1c2VySWQiLCJkaXNjcmltaW5hdG9yIiwib3B0aW9ucyIsImF2YXRhciIsImljb25CaWdpbnRUb0hhc2giLCJCaWdJbnQiLCJOdW1iZXIiLCJhdmF0YXJEZWNvcmF0aW9uIiwiYmFubmVyIiwidW5kZWZpbmVkIiwiZ3VpbGRJZCIsImltYWdlSGFzaCIsImV2ZW50SWQiLCJjb3ZlciIsInN0eWxlIiwiYXBwbGljYXRpb25JZCIsImljb25IYXNoIiwiY292ZXJIYXNoIiwiYXNzZXRJZCIsImJhbm5lckFzc2V0SWQiLCJzdGlja2VySWQiLCJ0eXBlIiwiU3RpY2tlckZvcm1hdFR5cGVzIiwiR2lmIiwidGVhbUlkIiwicm9sZUlkIl0sIm1hcHBpbmdzIjoiQUFBQSxtRUFBbUU7Ozs7Ozs7Ozs7O0lBOFNuREEsbUJBQW1CO2VBQW5CQTs7SUF6QkFDLG1CQUFt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
@@ -17,6 +17,7 @@ _export_star(require("./reactions.cjs"), exports);
17
17
  _export_star(require("./token.cjs"), exports);
18
18
  _export_star(require("./typeguards.cjs"), exports);
19
19
  _export_star(require("./urlToBase64.cjs"), exports);
20
+ _export_star(require("./urls.cjs"), exports);
20
21
  _export_star(require("./utils.cjs"), exports);
21
22
  function _export_star(from, to) {
22
23
  Object.keys(from).forEach(function(k) {
@@ -32,4 +33,4 @@ function _export_star(from, to) {
32
33
  return from;
33
34
  }
34
35
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0NvbGxlY3Rpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYnVja2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZGVycy5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2FzaW5nLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvcnMuanMnXG5leHBvcnQgKiBmcm9tICcuL2hhc2guanMnXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlcy5qcydcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9vYXV0aDIuanMnXG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb25zLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGlvbnMuanMnXG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlZ3VhcmRzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi91cmxUb0Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMuanMnXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0NvbGxlY3Rpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYnVja2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZGVycy5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2FzaW5nLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvcnMuanMnXG5leHBvcnQgKiBmcm9tICcuL2hhc2guanMnXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlcy5qcydcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9vYXV0aDIuanMnXG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb25zLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGlvbnMuanMnXG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlZ3VhcmRzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi91cmxUb0Jhc2U2NC5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXJscy5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMuanMnXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ "use strict";
1
+ /* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/no-unsafe-argument */ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
@@ -154,4 +154,4 @@ const logger = createLogger({
154
154
  });
155
155
  const _default = logger;
156
156
 
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFLEdBQ2xFLG1FQUFtRTs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQ25EQSxZQUFZO2VBQVpBOztJQXFGaEIsT0FBcUI7ZUFBckI7O0lBRGFDLE1BQU07ZUFBTkE7Ozt3QkFwSGlFOztVQUVsRUM7Ozs7OztHQUFBQSxjQUFBQTs7VUFRQUM7OztHQUFBQSxhQUFBQTtBQUtaLE1BQU1DLFdBQVcsSUFBSUMs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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFLEdBQ2xFLG1FQUFtRSxHQUNuRSx3REFBd0Q7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUN4Q0EsWUFBWTtlQUFaQTs7SUFxRmhCLE9BQXFCO2VBQXJCOztJQURhQyxNQUFNO2VBQU5BOzs7d0JB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
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "createOAuth2Link", {
10
10
  });
11
11
  const _permissions = require("./permissions.cjs");
12
12
  function createOAuth2Link(options) {
13
- const joinedScopeString = options.scope.join(' ');
13
+ const joinedScopeString = options.scope.join('%20');
14
14
  let url = `https://discord.com/oauth2/authorize?client_id=${options.clientId}&scope=${joinedScopeString}`;
15
15
  if (options.responseType) url += `&response_type=${options.responseType}`;
16
16
  if (options.state) url += `&state=${encodeURIComponent(options.state)}`;
@@ -18,9 +18,9 @@ function createOAuth2Link(options) {
18
18
  if (options.prompt) url += `&prompt=${options.prompt}`;
19
19
  if (options.permissions) url += `&permissions=${Array.isArray(options.permissions) ? (0, _permissions.calculateBits)(options.permissions) : options.permissions}`;
20
20
  if (options.guildId) url += `&guild_id=${options.guildId}`;
21
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
22
21
  if (options.disableGuildSelect !== undefined) url += `&disable_guild_select=${options.disableGuildSelect}`;
22
+ if (options.integrationType) url += `&integration_type=${options.integrationType}`;
23
23
  return url;
24
24
  }
25
25
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIE9BdXRoMlNjb3BlLCBQZXJtaXNzaW9uU3RyaW5ncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY2FsY3VsYXRlQml0cyB9IGZyb20gJy4vcGVybWlzc2lvbnMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPQXV0aDJMaW5rKG9wdGlvbnM6IENyZWF0ZU9BdXRoMkxpbmtPcHRpb25zKTogc3RyaW5nIHtcbiAgY29uc3Qgam9pbmVkU2NvcGVTdHJpbmcgPSBvcHRpb25zLnNjb3BlLmpvaW4oJyAnKVxuXG4gIGxldCB1cmwgPSBgaHR0cHM6Ly9kaXNjb3JkLmNvbS9vYXV0aDIvYXV0aG9yaXplP2NsaWVudF9pZD0ke29wdGlvbnMuY2xpZW50SWR9JnNjb3BlPSR7am9pbmVkU2NvcGVTdHJpbmd9YFxuXG4gIGlmIChvcHRpb25zLnJlc3BvbnNlVHlwZSkgdXJsICs9IGAmcmVzcG9uc2VfdHlwZT0ke29wdGlvbnMucmVzcG9uc2VUeXBlfWBcbiAgaWYgKG9wdGlvbnMuc3RhdGUpIHVybCArPSBgJnN0YXRlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc3RhdGUpfWBcbiAgaWYgKG9wdGlvbnMucmVkaXJlY3RVcmkpIHVybCArPSBgJnJlZGlyZWN0X3VyaT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnJlZGlyZWN0VXJpKX1gXG4gIGlmIChvcHRpb25zLnByb21wdCkgdXJsICs9IGAmcHJvbXB0PSR7b3B0aW9ucy5wcm9tcHR9YFxuICBpZiAob3B0aW9ucy5wZXJtaXNzaW9ucykgdXJsICs9IGAmcGVybWlzc2lvbnM9JHtBcnJheS5pc0FycmF5KG9wdGlvbnMucGVybWlzc2lvbnMpID8gY2FsY3VsYXRlQml0cyhvcHRpb25zLnBlcm1pc3Npb25zKSA6IG9wdGlvbnMucGVybWlzc2lvbnN9YFxuICBpZiAob3B0aW9ucy5ndWlsZElkKSB1cmwgKz0gYCZndWlsZF9pZD0ke29wdGlvbnMuZ3VpbGRJZH1gXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YFxuXG4gIHJldHVybiB1cmxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVPQXV0aDJMaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByZXNwb25zZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZXNwb25zZVR5cGU/OiAnY29kZScgfCAndG9rZW4nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIGNsaWVudElkOiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBzY29wZTogT0F1dGgyU2NvcGVbXVxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHN0YXRlIGZvciBzZWN1cml0eVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc3RhdGUtYW5kLXNlY3VyaXR5XG4gICAqL1xuICBzdGF0ZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHJlZGlyZWN0IHVyaSBmb3IgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaWYgdXNpbmcgZWl0aGVyIE9BdXRoMiBhdXRob3JpemF0aW9uLCBpbXBsaWNpdCBvciBub3QsIG9yIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbilcbiAgICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcm9tcHQgdG8gZ2l2ZSB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBzZXQgdG8gYG5vbmVgLCBpdCB3aWxsIHNraXAgdGhlIGF1dGhvcml6YXRpb24gc2NyZWVuIGFuZCByZWRpcmVjdCB0aGVtIGJhY2sgdG8geW91ciByZWRpcmVjdCBVUkkgd2l0aG91dCByZXF1ZXN0aW5nIHRoZWlyIGF1dGhvcml6YXRpb24uXG4gICAqIEZvciBwYXNzdGhyb3VnaCBzY29wZXMsIGxpa2UgYm90IGFuZCB3ZWJob29rLmluY29taW5nLCBhdXRob3JpemF0aW9uIGlzIGFsd2F5cyByZXF1aXJlZC5cbiAgICovXG4gIHByb21wdD86ICdjb25zZW50JyB8ICdub25lJ1xuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIG9mIHRoZSBpbnZpdGVkIGJvdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICBwZXJtaXNzaW9ucz86IEJpZ1N0cmluZyB8IFBlcm1pc3Npb25TdHJpbmdzW11cbiAgLyoqXG4gICAqIFByZS1maWxscyB0aGUgZHJvcGRvd24gcGlja2VyIHdpdGggYSBndWlsZCBmb3IgdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGd1aWxkSWQ/OiBCaWdTdHJpbmdcbiAgLyoqXG4gICAqIERpc2FsbG93cyB0aGUgdXNlciBmcm9tIGNoYW5naW5nIHRoZSBndWlsZCBkcm9wZG93biBpZiBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdyksIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGRpc2FibGVHdWlsZFNlbGVjdD86IGJvb2xlYW5cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVPQXV0aDJMaW5rIiwib3B0aW9ucyIsImpvaW5lZFNjb3BlU3RyaW5nIiwic2NvcGUiLCJqb2luIiwidXJsIiwiY2xpZW50SWQiLCJyZXNwb25zZVR5cGUiLCJzdGF0ZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlZGlyZWN0VXJpIiwicHJvbXB0IiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxjdWxhdGVCaXRzIiwiZ3VpbGRJZCIsImRpc2FibGVHdWlsZFNlbGVjdCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7Ozs2QkFGYztBQUV2QixTQUFTQSxpQkFBaUJDLE9BQWdDO0lBQy9ELE1BQU1DLG9CQUFvQkQsUUFBUUUsS0FBSyxDQUFDQyxJQUFJLENBQUM7SUFFN0MsSUFBSUMsTUFBTSxDQUFDLCtDQUErQyxFQUFFSixRQUFRSyxRQUFRLENBQUMsT0FBTyxFQUFFSixrQkFBa0IsQ0FBQztJQUV6RyxJQUFJRCxRQUFRTSxZQUFZLEVBQUVGLE9BQU8sQ0FBQyxlQUFlLEVBQUVKLFFBQVFNLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLElBQUlOLFFBQVFPLEtBQUssRUFBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRUksbUJBQW1CUixRQUFRTyxLQUFLLEVBQUUsQ0FBQztJQUN2RSxJQUFJUCxRQUFRUyxXQUFXLEVBQUVMLE9BQU8sQ0FBQyxjQUFjLEVBQUVJLG1CQUFtQlIsUUFBUVMsV0FBVyxFQUFFLENBQUM7SUFDMUYsSUFBSVQsUUFBUVUsTUFBTSxFQUFFTixPQUFPLENBQUMsUUFBUSxFQUFFSixRQUFRVSxNQUFNLENBQUMsQ0FBQztJQUN0RCxJQUFJVixRQUFRVyxXQUFXLEVBQUVQLE9BQU8sQ0FBQyxhQUFhLEVBQUVRLE1BQU1DLE9BQU8sQ0FBQ2IsUUFBUVcsV0FBVyxJQUFJRyxJQUFBQSwwQkFBYSxFQUFDZCxRQUFRVyxXQUFXLElBQUlYLFFBQVFXLFdBQVcsQ0FBQyxDQUFDO0lBQy9JLElBQUlYLFFBQVFlLE9BQU8sRUFBRVgsT0FBTyxDQUFDLFVBQVUsRUFBRUosUUFBUWUsT0FBTyxDQUFDLENBQUM7SUFDMUQsNEVBQTRFO0lBQzVFLElBQUlmLFFBQVFnQixrQkFBa0IsS0FBS0MsV0FBV2IsT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZ0Isa0JBQWtCLENBQUMsQ0FBQztJQUUxRyxPQUFPWjtBQUNUIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgT0F1dGgyU2NvcGUsIFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBjYWxjdWxhdGVCaXRzIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9BdXRoMkxpbmsob3B0aW9uczogQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMpOiBzdHJpbmcge1xuICBjb25zdCBqb2luZWRTY29wZVN0cmluZyA9IG9wdGlvbnMuc2NvcGUuam9pbignJTIwJylcblxuICBsZXQgdXJsID0gYGh0dHBzOi8vZGlzY29yZC5jb20vb2F1dGgyL2F1dGhvcml6ZT9jbGllbnRfaWQ9JHtvcHRpb25zLmNsaWVudElkfSZzY29wZT0ke2pvaW5lZFNjb3BlU3RyaW5nfWBcblxuICBpZiAob3B0aW9ucy5yZXNwb25zZVR5cGUpIHVybCArPSBgJnJlc3BvbnNlX3R5cGU9JHtvcHRpb25zLnJlc3BvbnNlVHlwZX1gXG4gIGlmIChvcHRpb25zLnN0YXRlKSB1cmwgKz0gYCZzdGF0ZT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnN0YXRlKX1gXG4gIGlmIChvcHRpb25zLnJlZGlyZWN0VXJpKSB1cmwgKz0gYCZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5yZWRpcmVjdFVyaSl9YFxuICBpZiAob3B0aW9ucy5wcm9tcHQpIHVybCArPSBgJnByb21wdD0ke29wdGlvbnMucHJvbXB0fWBcbiAgaWYgKG9wdGlvbnMucGVybWlzc2lvbnMpIHVybCArPSBgJnBlcm1pc3Npb25zPSR7QXJyYXkuaXNBcnJheShvcHRpb25zLnBlcm1pc3Npb25zKSA/IGNhbGN1bGF0ZUJpdHMob3B0aW9ucy5wZXJtaXNzaW9ucykgOiBvcHRpb25zLnBlcm1pc3Npb25zfWBcbiAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICBpZiAob3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3QgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmZGlzYWJsZV9ndWlsZF9zZWxlY3Q9JHtvcHRpb25zLmRpc2FibGVHdWlsZFNlbGVjdH1gXG4gIGlmIChvcHRpb25zLmludGVncmF0aW9uVHlwZSkgdXJsICs9IGAmaW50ZWdyYXRpb25fdHlwZT0ke29wdGlvbnMuaW50ZWdyYXRpb25UeXBlfWBcblxuICByZXR1cm4gdXJsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT0F1dGgyTGlua09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcmVzcG9uc2VcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpZiB1c2luZyBlaXRoZXIgT0F1dGgyIGF1dGhvcml6YXRpb24sIGltcGxpY2l0IG9yIG5vdCwgb3IgW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlPzogJ2NvZGUnIHwgJ3Rva2VuJ1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBjbGllbnRJZDogQmlnU3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYXBwbGljYXRpb24gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBzdGF0ZSBmb3Igc2VjdXJpdHlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI3N0YXRlLWFuZC1zZWN1cml0eVxuICAgKi9cbiAgc3RhdGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByZWRpcmVjdCB1cmkgZm9yIGFmdGVyIHRoZSBhdXRoZW50aWNhdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZWRpcmVjdFVyaT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcHJvbXB0IHRvIGdpdmUgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSWYgc2V0IHRvIGBub25lYCwgaXQgd2lsbCBza2lwIHRoZSBhdXRob3JpemF0aW9uIHNjcmVlbiBhbmQgcmVkaXJlY3QgdGhlbSBiYWNrIHRvIHlvdXIgcmVkaXJlY3QgVVJJIHdpdGhvdXQgcmVxdWVzdGluZyB0aGVpciBhdXRob3JpemF0aW9uLlxuICAgKiBGb3IgcGFzc3Rocm91Z2ggc2NvcGVzLCBsaWtlIGJvdCBhbmQgd2ViaG9vay5pbmNvbWluZywgYXV0aG9yaXphdGlvbiBpcyBhbHdheXMgcmVxdWlyZWQuXG4gICAqL1xuICBwcm9tcHQ/OiAnY29uc2VudCcgfCAnbm9uZSdcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgaW52aXRlZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKVxuICAgKi9cbiAgcGVybWlzc2lvbnM/OiBCaWdTdHJpbmcgfCBQZXJtaXNzaW9uU3RyaW5nc1tdXG4gIC8qKlxuICAgKiBQcmUtZmlsbHMgdGhlIGRyb3Bkb3duIHBpY2tlciB3aXRoIGEgZ3VpbGQgZm9yIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaW4gYSBbYm90IGF1dGhvcml6YXRpb24gZmxvd10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNib3QtYXV0aG9yaXphdGlvbi1mbG93KSBvciB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBndWlsZElkPzogQmlnU3RyaW5nXG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgdGhlIHVzZXIgZnJvbSBjaGFuZ2luZyB0aGUgZ3VpbGQgZHJvcGRvd24gaWYgc2V0IHRvIHRydWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpLCB3aXRoIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbikgb3Igd2l0aCB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlXG4gICAqL1xuICBkaXNhYmxlR3VpbGRTZWxlY3Q/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBjb250ZXh0IGZvciB0aGUgYXV0aG9yaXphdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IHdoZW4ge0BsaW5rIHNjb3BlfSBpbmNsdWRlcyB7QGxpbmsgT0F1dGgyU2NvcGUuQXBwbGljYXRpb25zQ29tbWFuZHN9LlxuICAgKlxuICAgKiBXaGVuIHNldCB0byBHdWlsZEluc3RhbGwgKDApIHRoZSBhcHBsaWNhdGlvbiB3aWxsIGJlIGF1dGhvcml6ZWQgZm9yIGluc3RhbGxhdGlvbiB0byBhIHNlcnZlciwgYW5kIHdoZW4gc2V0IHRvIFVzZXJJbnN0YWxsICgxKSB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSBhdXRob3JpemVkIGZvciBpbnN0YWxsYXRpb24gdG8gYSB1c2VyLlxuICAgKlxuICAgKiBUaGUgYXBwbGljYXRpb24gbXVzdCBiZSBjb25maWd1cmVkIGluIHRoZSBEZXZlbG9wZXIgUG9ydGFsIHRvIHN1cHBvcnQgdGhlIHByb3ZpZGVkIGBpbnRlZ3JhdGlvblR5cGVgLlxuICAgKi9cbiAgaW50ZWdyYXRpb25UeXBlPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlT0F1dGgyTGluayIsIm9wdGlvbnMiLCJqb2luZWRTY29wZVN0cmluZyIsInNjb3BlIiwiam9pbiIsInVybCIsImNsaWVudElkIiwicmVzcG9uc2VUeXBlIiwic3RhdGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWRpcmVjdFVyaSIsInByb21wdCIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2FsY3VsYXRlQml0cyIsImd1aWxkSWQiLCJkaXNhYmxlR3VpbGRTZWxlY3QiLCJ1bmRlZmluZWQiLCJpbnRlZ3JhdGlvblR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7NkJBRmM7QUFFdkIsU0FBU0EsaUJBQWlCQyxPQUFnQztJQUMvRCxNQUFNQyxvQkFBb0JELFFBQVFFLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO0lBRTdDLElBQUlDLE1BQU0sQ0FBQywrQ0FBK0MsRUFBRUosUUFBUUssUUFBUSxDQUFDLE9BQU8sRUFBRUosa0JBQWtCLENBQUM7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLENBQUMsQ0FBQztJQUN6RSxJQUFJTixRQUFRTyxLQUFLLEVBQUVILE9BQU8sQ0FBQyxPQUFPLEVBQUVJLG1CQUFtQlIsUUFBUU8sS0FBSyxFQUFFLENBQUM7SUFDdkUsSUFBSVAsUUFBUVMsV0FBVyxFQUFFTCxPQUFPLENBQUMsY0FBYyxFQUFFSSxtQkFBbUJSLFFBQVFTLFdBQVcsRUFBRSxDQUFDO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxDQUFDLENBQUM7SUFDdEQsSUFBSVYsUUFBUVcsV0FBVyxFQUFFUCxPQUFPLENBQUMsYUFBYSxFQUFFUSxNQUFNQyxPQUFPLENBQUNiLFFBQVFXLFdBQVcsSUFBSUcsSUFBQUEsMEJBQWEsRUFBQ2QsUUFBUVcsV0FBVyxJQUFJWCxRQUFRVyxXQUFXLENBQUMsQ0FBQztJQUMvSSxJQUFJWCxRQUFRZSxPQUFPLEVBQUVYLE9BQU8sQ0FBQyxVQUFVLEVBQUVKLFFBQVFlLE9BQU8sQ0FBQyxDQUFDO0lBQzFELElBQUlmLFFBQVFnQixrQkFBa0IsS0FBS0MsV0FBV2IsT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZ0Isa0JBQWtCLENBQUMsQ0FBQztJQUMxRyxJQUFJaEIsUUFBUWtCLGVBQWUsRUFBRWQsT0FBTyxDQUFDLGtCQUFrQixFQUFFSixRQUFRa0IsZUFBZSxDQUFDLENBQUM7SUFFbEYsT0FBT2Q7QUFDVCJ9
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ skuLink: function() {
13
+ return skuLink;
14
+ },
15
+ storeLink: function() {
16
+ return storeLink;
17
+ }
18
+ });
19
+ function skuLink(appId, skuId) {
20
+ return `https://discord.com/application-directory/${appId}/store/${skuId}`;
21
+ }
22
+ function storeLink(appId) {
23
+ return `https://discord.com/application-directory/${appId}/store`;
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBza3VMaW5rKGFwcElkOiBCaWdTdHJpbmcsIHNrdUlkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlLyR7c2t1SWR9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVMaW5rKGFwcElkOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYGh0dHBzOi8vZGlzY29yZC5jb20vYXBwbGljYXRpb24tZGlyZWN0b3J5LyR7YXBwSWR9L3N0b3JlYFxufVxuIl0sIm5hbWVzIjpbInNrdUxpbmsiLCJzdG9yZUxpbmsiLCJhcHBJZCIsInNrdUlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVnQkEsT0FBTztlQUFQQTs7SUFJQUMsU0FBUztlQUFUQTs7O0FBSlQsU0FBU0QsUUFBUUUsS0FBZ0IsRUFBRUMsS0FBZ0I7SUFDeEQsT0FBTyxDQUFDLDBDQUEwQyxFQUFFRCxNQUFNLE9BQU8sRUFBRUMsTUFBTSxDQUFDO0FBQzVFO0FBRU8sU0FBU0YsVUFBVUMsS0FBZ0I7SUFDeEMsT0FBTyxDQUFDLDBDQUEwQyxFQUFFQSxNQUFNLE1BQU0sQ0FBQztBQUNuRSJ9