@discordeno/bot 22.0.1-next.df8cc46 → 22.0.1-next.e5063e1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bot.d.ts CHANGED
@@ -29,7 +29,7 @@ export interface CreateBotOptions<TProps extends RecursivePartial<TransformersDe
29
29
  /** The event handlers. */
30
30
  events?: Partial<EventHandlers<CompleteDesiredProperties<NoInfer<TProps>>, TBehavior>>;
31
31
  /** The functions that should transform discord objects to discordeno shaped objects. */
32
- transformers?: RecursivePartial<Transformers<CompleteDesiredProperties<NoInfer<TProps>>, TBehavior>>;
32
+ transformers?: RecursivePartial<Omit<Transformers<CompleteDesiredProperties<NoInfer<TProps>>, TBehavior>, 'desiredProperties'>>;
33
33
  /** The handler functions that should handle incoming discord payloads from gateway and call an event. */
34
34
  handlers?: Partial<Record<GatewayDispatchEventNames, BotGatewayHandler<CompleteDesiredProperties<NoInfer<TProps>>, TBehavior>>>;
35
35
  /**
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/bot.js CHANGED
@@ -6,7 +6,6 @@ import { createBotHelpers } from './helpers.js';
6
6
  import { createTransformers } from './transformers.js';
7
7
  export function createBot(options) {
8
8
  if (!options.transformers) options.transformers = {};
9
- if (!options.transformers.desiredProperties) options.transformers.desiredProperties = options.desiredProperties;
10
9
  if (!options.rest) options.rest = {
11
10
  token: options.token,
12
11
  applicationId: options.applicationId
@@ -30,6 +29,7 @@ export function createBot(options) {
30
29
  };
31
30
  }
32
31
  options.gateway.intents = options.intents;
32
+ options.transformers.desiredProperties = options.desiredProperties;
33
33
  const id = getBotIdFromToken(options.token);
34
34
  const bot = {
35
35
  id,
@@ -68,4 +68,4 @@ export function createBot(options) {
68
68
  return bot;
69
69
  }
70
70
 
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IGNyZWF0ZUdhdGV3YXlNYW5hZ2VyLCBTaGFyZFNvY2tldENsb3NlQ29kZXMgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMsIHR5cGUgR2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IGNyZWF0ZVRyYW5zZm9ybWVycywgdHlwZSBUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuXG4vLyBPdmVybG9hZHMgdG8gYXZvaWQgYWRkaW5nIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXMgaWYgd2UgYXJlIGdpdmVuIGEgY29tcGxldGUgb2JqZWN0XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb3Q8XG4gIFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+KG9wdGlvbnM6IENyZWF0ZUJvdE9wdGlvbnM8VFByb3BzLCBUQmVoYXZpb3I+KTogQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VFByb3BzPiwgVEJlaGF2aW9yPlxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPixcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz4sIFRCZWhhdmlvcj4ge1xuICB0eXBlIENvbXBsZXRlUHJvcHMgPSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz5cbiAgdHlwZSBUeXBlZEJvdCA9IEJvdDxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+XG5cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycykgb3B0aW9ucy50cmFuc2Zvcm1lcnMgPSB7fVxuICBpZiAoIW9wdGlvbnMudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzKSBvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcyA9IG9wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXNcbiAgaWYgKCFvcHRpb25zLnJlc3QpIG9wdGlvbnMucmVzdCA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4sIGFwcGxpY2F0aW9uSWQ6IG9wdGlvbnMuYXBwbGljYXRpb25JZCB9XG4gIGlmICghb3B0aW9ucy5yZXN0LnRva2VuKSBvcHRpb25zLnJlc3QudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5yZXN0LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMucmVzdC5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ1JFU1QnKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheSkgb3B0aW9ucy5nYXRld2F5ID0geyB0b2tlbjogb3B0aW9ucy50b2tlbiB9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LnRva2VuKSBvcHRpb25zLmdhdGV3YXkudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmV2ZW50cykgb3B0aW9ucy5nYXRld2F5LmV2ZW50cyA9IHt9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0dBVEVXQVknKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSkge1xuICAgIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSA9IGFzeW5jIChzaGFyZCwgZGF0YSkgPT4ge1xuICAgICAgLy8gVFJJR0dFUiBSQVcgRVZFTlRcbiAgICAgIGJvdC5ldmVudHMucmF3Py4oZGF0YSwgc2hhcmQuaWQpXG5cbiAgICAgIGlmICghZGF0YS50KSByZXR1cm5cblxuICAgICAgLy8gUlVOIERJU1BBVENIIENIRUNLXG4gICAgICBhd2FpdCBib3QuZXZlbnRzLmRpc3BhdGNoUmVxdWlyZW1lbnRzPy4oZGF0YSwgc2hhcmQuaWQpXG4gICAgICBib3QuaGFuZGxlcnNbZGF0YS50IGFzIEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXNdPy4oYm90LCBkYXRhLCBzaGFyZC5pZClcbiAgICB9XG4gIH1cblxuICBvcHRpb25zLmdhdGV3YXkuaW50ZW50cyA9IG9wdGlvbnMuaW50ZW50c1xuXG4gIGNvbnN0IGlkID0gZ2V0Qm90SWRGcm9tVG9rZW4ob3B0aW9ucy50b2tlbilcblxuICBjb25zdCBib3Q6IFR5cGVkQm90ID0ge1xuICAgIGlkLFxuICAgIGFwcGxpY2F0aW9uSWQ6IGlkLFxuICAgIHRyYW5zZm9ybWVyczogY3JlYXRlVHJhbnNmb3JtZXJzKG9wdGlvbnMudHJhbnNmb3JtZXJzKSBhcyBUeXBlZEJvdFsndHJhbnNmb3JtZXJzJ10sXG4gICAgaGFuZGxlcnM6IGNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+KG9wdGlvbnMuaGFuZGxlcnMgPz8ge30pLFxuICAgIHJlc3Q6IGNyZWF0ZVJlc3RNYW5hZ2VyKG9wdGlvbnMucmVzdCBhcyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMpLFxuICAgIGdhdGV3YXk6IGNyZWF0ZUdhdGV3YXlNYW5hZ2VyKG9wdGlvbnMuZ2F0ZXdheSBhcyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMpLFxuICAgIGV2ZW50czogb3B0aW9ucy5ldmVudHMgPz8ge30sXG4gICAgbG9nZ2VyOiBvcHRpb25zLmxvZ2dlckZhY3RvcnkgPyBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0JPVCcpIDogY3JlYXRlTG9nZ2VyKHsgbmFtZTogJ0JPVCcgfSksXG4gICAgLy8gU2V0IHVwIGhlbHBlcnMgYmVsb3cuXG4gICAgaGVscGVyczoge30gYXMgQm90SGVscGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+LFxuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYm90LmdhdGV3YXkuY29ubmVjdGlvbiA9IGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKClcblxuICAgICAgICAvLyBDaGVjayBmb3Igb3ZlcnJpZGVzIGluIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py51cmwpIGJvdC5nYXRld2F5LnVybCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24udXJsXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS50b3RhbFNoYXJkcyA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/Lmxhc3RTaGFyZElkICYmICFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS5sYXN0U2hhcmRJZCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzIC0gMVxuICAgICAgfVxuXG4gICAgICBpZiAoIWJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8pIHtcbiAgICAgICAgYm90LmdhdGV3YXkucmVzaGFyZGluZy5nZXRTZXNzaW9uSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgYm90LmdhdGV3YXkuc3Bhd25TaGFyZHMoKVxuICAgIH0sXG5cbiAgICBhc3luYyBzaHV0ZG93bigpIHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QuZ2F0ZXdheS5zaHV0ZG93bihTaGFyZFNvY2tldENsb3NlQ29kZXMuU2h1dGRvd24sICdVc2VyIHJlcXVlc3RlZCBib3Qgc3RvcCcpXG4gICAgfSxcbiAgfVxuXG4gIGJvdC5oZWxwZXJzID0gY3JlYXRlQm90SGVscGVycyhib3QpXG4gIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uSWQpIGJvdC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9ucy5hcHBsaWNhdGlvbklkKVxuXG4gIHJldHVybiBib3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiB7XG4gIC8qKiBUaGUgYm90J3MgdG9rZW4uICovXG4gIHRva2VuOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIElkIG9mIHRoZSBib3QgaW5jYXNlIGl0IGlzIGFuIG9sZCBib3QgdG9rZW4uICovXG4gIGFwcGxpY2F0aW9uSWQ/OiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBib3QncyBpbnRlbnRzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIG1ha2UgYSBjb25uZWN0aW9uIHdpdGggZGlzY29yZHMgZ2F0ZXdheS4gKi9cbiAgaW50ZW50cz86IEdhdGV3YXlJbnRlbnRzXG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSByZXN0IG1hbmFnZXIuICovXG4gIHJlc3Q/OiBPbWl0PENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIEFueSBvcHRpb25zIHlvdSB3aXNoIHRvIHByb3ZpZGUgdG8gdGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheT86IE9taXQ8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPiAmIFBhcnRpYWw8UGljazxDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsICd0b2tlbic+PlxuICAvKiogVGhlIGV2ZW50IGhhbmRsZXJzLiAqL1xuICBldmVudHM/OiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+PlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVycz86IFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBoYW5kbGVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBoYW5kbGUgaW5jb21pbmcgZGlzY29yZCBwYXlsb2FkcyBmcm9tIGdhdGV3YXkgYW5kIGNhbGwgYW4gZXZlbnQuICovXG4gIGhhbmRsZXJzPzogUGFydGlhbDxSZWNvcmQ8R2F0ZXdheURpc3BhdGNoRXZlbnROYW1lcywgQm90R2F0ZXdheUhhbmRsZXI8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+Pj5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgYm90XG4gICAqL1xuICBkZXNpcmVkUHJvcGVydGllczogVFByb3BzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2lyZWQgcHJvcGVydGllcyBiZWhhdmlvciBmb3IgdW5kZXNpcmVkIHByb3BlcnRpZXNcbiAgICpcbiAgICogQGRlZmF1bHQgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXlcbiAgICovXG4gIGRlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I/OiBUQmVoYXZpb3JcbiAgLyoqXG4gICAqIFRoaXMgZmFjdG9yeSB3aWxsIGJlIGludm9rZWQgdG8gY3JlYXRlIHRoZSBsb2dnZXIgZm9yIGdhdGV3YXksIHJlc3QgYW5kIGJvdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBub3QgcHJvdmlkZWQgdGhlIGRlZmF1bHQgbG9nZ2VyIHdpbGwgYmUgdXNlZCB3aXRoIHJlc3QgYW5kIGdhdGV3YXkgc2hhcmluZyB0aGUgc2FtZSBsb2dnZXJcbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgMyB0aW1lcywgb25lIHdpdGggdGhlIG5hbWUgb2YgYFJFU1RgLCBvbmUgd2l0aCBgR0FURVdBWWAgYW5kIHRoZSB0aGlyZCBvbmUgd2l0aCBuYW1lIGBCT1RgXG4gICAqL1xuICBsb2dnZXJGYWN0b3J5PzogKG5hbWU6ICdSRVNUJyB8ICdHQVRFV0FZJyB8ICdCT1QnKSA9PiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3Q8XG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzID0gVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IgPSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleSxcbj4ge1xuICAvKiogVGhlIGlkIG9mIHRoZSBib3QuICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFRoZSBhcHBsaWNhdGlvbiBpZCBvZiB0aGUgYm90LiBUaGlzIGlzIHVzdWFsbHkgdGhlIHNhbWUgYXMgaWQgYnV0IGluIHRoZSBjYXNlIG9mIG9sZCBib3RzIGNhbiBiZSBkaWZmZXJlbnQuICovXG4gIGFwcGxpY2F0aW9uSWQ6IGJpZ2ludFxuICAvKiogVGhlIHJlc3QgbWFuYWdlci4gKi9cbiAgcmVzdDogUmVzdE1hbmFnZXJcbiAgLyoqIFRoZSBnYXRld2F5IG1hbmFnZXIuICovXG4gIGdhdGV3YXk6IEdhdGV3YXlNYW5hZ2VyXG4gIC8qKiBUaGUgZXZlbnQgaGFuZGxlcnMuICovXG4gIGV2ZW50czogUGFydGlhbDxFdmVudEhhbmRsZXJzPFRQcm9wcywgVEJlaGF2aW9yPj5cbiAgLyoqIEEgbG9nZ2VyIHV0aWxpdHkgdG8gbWFrZSBpdCBlYXN5IHRvIGxvZyBuaWNlIGFuZCB1c2VmdWwgdGhpbmdzIGluIHRoZSBib3QgY29kZS4gKi9cbiAgbG9nZ2VyOiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cbiAgLyoqIFRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgdHJhbnNmb3JtIGRpc2NvcmQgb2JqZWN0cyB0byBkaXNjb3JkZW5vIHNoYXBlZCBvYmplY3RzLiAqL1xuICB0cmFuc2Zvcm1lcnM6IFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4gJiB7XG4gICAgJGluZmVycmVkVHlwZXM6IHtcbiAgICAgIFtLIGluIGtleW9mIFRyYW5zZm9ybWVyc09iamVjdHNdOiBTZXR1cERlc2lyZWRQcm9wczxUcmFuc2Zvcm1lcnNPYmplY3RzW0tdLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICB9XG4gIH1cbiAgLyoqIFRoZSBoYW5kbGVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBoYW5kbGUgaW5jb21pbmcgZGlzY29yZCBwYXlsb2FkcyBmcm9tIGdhdGV3YXkgYW5kIGNhbGwgYW4gZXZlbnQuICovXG4gIGhhbmRsZXJzOiBHYXRld2F5SGFuZGxlcnM8VFByb3BzLCBUQmVoYXZpb3I+XG4gIGhlbHBlcnM6IEJvdEhlbHBlcnM8VFByb3BzLCBUQmVoYXZpb3I+XG4gIC8qKiBTdGFydCB0aGUgYm90IGNvbm5lY3Rpb24gdG8gdGhlIGdhdGV3YXkuICovXG4gIHN0YXJ0OiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBTaHV0cyBkb3duIGFsbCB0aGUgYm90IGNvbm5lY3Rpb25zIHRvIHRoZSBnYXRld2F5LiAqL1xuICBzaHV0ZG93bjogKCkgPT4gUHJvbWlzZTx2b2lkPlxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUdhdGV3YXlNYW5hZ2VyIiwiU2hhcmRTb2NrZXRDbG9zZUNvZGVzIiwiY3JlYXRlUmVzdE1hbmFnZXIiLCJjcmVhdGVMb2dnZXIiLCJnZXRCb3RJZEZyb21Ub2tlbiIsImNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVycyIsImNyZWF0ZUJvdEhlbHBlcnMiLCJjcmVhdGVUcmFuc2Zvcm1lcnMiLCJjcmVhdGVCb3QiLCJvcHRpb25zIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJyZXN0IiwidG9rZW4iLCJhcHBsaWNhdGlvbklkIiwibG9nZ2VyIiwibG9nZ2VyRmFjdG9yeSIsImdhdGV3YXkiLCJldmVudHMiLCJtZXNzYWdlIiwic2hhcmQiLCJkYXRhIiwiYm90IiwicmF3IiwiaWQiLCJ0IiwiZGlzcGF0Y2hSZXF1aXJlbWVudHMiLCJoYW5kbGVycyIsImludGVudHMiLCJuYW1lIiwiaGVscGVycyIsInN0YXJ0IiwiY29ubmVjdGlvbiIsImdldFNlc3Npb25JbmZvIiwidXJsIiwidG90YWxTaGFyZHMiLCJzaGFyZHMiLCJsYXN0U2hhcmRJZCIsInJlc2hhcmRpbmciLCJnZXRHYXRld2F5Qm90Iiwic3Bhd25TaGFyZHMiLCJzaHV0ZG93biIsIlNodXRkb3duIiwic25vd2ZsYWtlIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxvQkFBb0IsRUFBRUMscUJBQXFCLFFBQVEsc0JBQXFCO0FBRWpGLFNBQVNDLGlCQUFpQixRQUFRLG1CQUFrQjtBQUVwRCxTQUFTQyxZQUFZLEVBQUVDLGlCQUFpQixRQUFxQixvQkFBbUI7QUFTaEYsU0FBaUNDLHdCQUF3QixRQUE4QixnQkFBZTtBQUN0RyxTQUEwQkMsZ0JBQWdCLFFBQVEsZUFBYztBQUNoRSxTQUFTQyxrQkFBa0IsUUFBMkIsb0JBQW1CO0FBbUJ6RSxPQUFPLFNBQVNDLFVBR2RDLE9BQTRDO0lBSTVDLElBQUksQ0FBQ0EsUUFBUUMsWUFBWSxFQUFFRCxRQUFRQyxZQUFZLEdBQUcsQ0FBQztJQUNuRCxJQUFJLENBQUNELFFBQVFDLFlBQVksQ0FBQ0MsaUJBQWlCLEVBQUVGLFFBQVFDLFlBQVksQ0FBQ0MsaUJBQWlCLEdBQUdGLFFBQVFFLGlCQUFpQjtJQUMvRyxJQUFJLENBQUNGLFFBQVFHLElBQUksRUFBRUgsUUFBUUcsSUFBSSxHQUFHO1FBQUVDLE9BQU9KLFFBQVFJLEtBQUs7UUFBRUMsZUFBZUwsUUFBUUssYUFBYTtJQUFDO0lBQy9GLElBQUksQ0FBQ0wsUUFBUUcsSUFBSSxDQUFDQyxLQUFLLEVBQUVKLFFBQVFHLElBQUksQ0FBQ0MsS0FBSyxHQUFHSixRQUFRSSxLQUFLO0lBQzNELElBQUksQ0FBQ0osUUFBUUcsSUFBSSxDQUFDRyxNQUFNLElBQUlOLFFBQVFPLGFBQWEsRUFBRVAsUUFBUUcsSUFBSSxDQUFDRyxNQUFNLEdBQUdOLFFBQVFPLGFBQWEsQ0FBQztJQUMvRixJQUFJLENBQUNQLFFBQVFRLE9BQU8sRUFBRVIsUUFBUVEsT0FBTyxHQUFHO1FBQUVKLE9B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
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IGNyZWF0ZUdhdGV3YXlNYW5hZ2VyLCBTaGFyZFNvY2tldENsb3NlQ29kZXMgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMsIHR5cGUgR2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IGNyZWF0ZVRyYW5zZm9ybWVycywgdHlwZSBUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuXG4vLyBPdmVybG9hZHMgdG8gYXZvaWQgYWRkaW5nIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXMgaWYgd2UgYXJlIGdpdmVuIGEgY29tcGxldGUgb2JqZWN0XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb3Q8XG4gIFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+KG9wdGlvbnM6IENyZWF0ZUJvdE9wdGlvbnM8VFByb3BzLCBUQmVoYXZpb3I+KTogQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VFByb3BzPiwgVEJlaGF2aW9yPlxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPixcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz4sIFRCZWhhdmlvcj4ge1xuICB0eXBlIENvbXBsZXRlUHJvcHMgPSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz5cbiAgdHlwZSBUeXBlZEJvdCA9IEJvdDxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+XG5cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycykgb3B0aW9ucy50cmFuc2Zvcm1lcnMgPSB7fVxuICBpZiAoIW9wdGlvbnMucmVzdCkgb3B0aW9ucy5yZXN0ID0geyB0b2tlbjogb3B0aW9ucy50b2tlbiwgYXBwbGljYXRpb25JZDogb3B0aW9ucy5hcHBsaWNhdGlvbklkIH1cbiAgaWYgKCFvcHRpb25zLnJlc3QudG9rZW4pIG9wdGlvbnMucmVzdC50b2tlbiA9IG9wdGlvbnMudG9rZW5cbiAgaWYgKCFvcHRpb25zLnJlc3QubG9nZ2VyICYmIG9wdGlvbnMubG9nZ2VyRmFjdG9yeSkgb3B0aW9ucy5yZXN0LmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnUkVTVCcpXG4gIGlmICghb3B0aW9ucy5nYXRld2F5KSBvcHRpb25zLmdhdGV3YXkgPSB7IHRva2VuOiBvcHRpb25zLnRva2VuIH1cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkudG9rZW4pIG9wdGlvbnMuZ2F0ZXdheS50b2tlbiA9IG9wdGlvbnMudG9rZW5cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkuZXZlbnRzKSBvcHRpb25zLmdhdGV3YXkuZXZlbnRzID0ge31cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkubG9nZ2VyICYmIG9wdGlvbnMubG9nZ2VyRmFjdG9yeSkgb3B0aW9ucy5nYXRld2F5LmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnR0FURVdBWScpXG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmV2ZW50cy5tZXNzYWdlKSB7XG4gICAgb3B0aW9ucy5nYXRld2F5LmV2ZW50cy5tZXNzYWdlID0gYXN5bmMgKHNoYXJkLCBkYXRhKSA9PiB7XG4gICAgICAvLyBUUklHR0VSIFJBVyBFVkVOVFxuICAgICAgYm90LmV2ZW50cy5yYXc/LihkYXRhLCBzaGFyZC5pZClcblxuICAgICAgaWYgKCFkYXRhLnQpIHJldHVyblxuXG4gICAgICAvLyBSVU4gRElTUEFUQ0ggQ0hFQ0tcbiAgICAgIGF3YWl0IGJvdC5ldmVudHMuZGlzcGF0Y2hSZXF1aXJlbWVudHM/LihkYXRhLCBzaGFyZC5pZClcbiAgICAgIGJvdC5oYW5kbGVyc1tkYXRhLnQgYXMgR2F0ZXdheURpc3BhdGNoRXZlbnROYW1lc10/Lihib3QsIGRhdGEsIHNoYXJkLmlkKVxuICAgIH1cbiAgfVxuXG4gIG9wdGlvbnMuZ2F0ZXdheS5pbnRlbnRzID0gb3B0aW9ucy5pbnRlbnRzXG4gIDsob3B0aW9ucy50cmFuc2Zvcm1lcnMgYXMgVHJhbnNmb3JtZXJzPENvbXBsZXRlUHJvcHMsIFRCZWhhdmlvcj4pLmRlc2lyZWRQcm9wZXJ0aWVzID0gb3B0aW9ucy5kZXNpcmVkUHJvcGVydGllcyBhcyBDb21wbGV0ZVByb3BzXG5cbiAgY29uc3QgaWQgPSBnZXRCb3RJZEZyb21Ub2tlbihvcHRpb25zLnRva2VuKVxuXG4gIGNvbnN0IGJvdDogVHlwZWRCb3QgPSB7XG4gICAgaWQsXG4gICAgYXBwbGljYXRpb25JZDogaWQsXG4gICAgdHJhbnNmb3JtZXJzOiBjcmVhdGVUcmFuc2Zvcm1lcnMob3B0aW9ucy50cmFuc2Zvcm1lcnMpIGFzIFR5cGVkQm90Wyd0cmFuc2Zvcm1lcnMnXSxcbiAgICBoYW5kbGVyczogY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzPENvbXBsZXRlUHJvcHMsIFRCZWhhdmlvcj4ob3B0aW9ucy5oYW5kbGVycyA/PyB7fSksXG4gICAgcmVzdDogY3JlYXRlUmVzdE1hbmFnZXIob3B0aW9ucy5yZXN0IGFzIENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucyksXG4gICAgZ2F0ZXdheTogY3JlYXRlR2F0ZXdheU1hbmFnZXIob3B0aW9ucy5nYXRld2F5IGFzIENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucyksXG4gICAgZXZlbnRzOiBvcHRpb25zLmV2ZW50cyA/PyB7fSxcbiAgICBsb2dnZXI6IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSA/IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnQk9UJykgOiBjcmVhdGVMb2dnZXIoeyBuYW1lOiAnQk9UJyB9KSxcbiAgICAvLyBTZXQgdXAgaGVscGVycyBiZWxvdy5cbiAgICBoZWxwZXJzOiB7fSBhcyBCb3RIZWxwZXJzPENvbXBsZXRlUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgYXN5bmMgc3RhcnQoKSB7XG4gICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8uY29ubmVjdGlvbikge1xuICAgICAgICBib3QuZ2F0ZXdheS5jb25uZWN0aW9uID0gYXdhaXQgYm90LnJlc3QuZ2V0U2Vzc2lvbkluZm8oKVxuXG4gICAgICAgIC8vIENoZWNrIGZvciBvdmVycmlkZXMgaW4gdGhlIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LnVybCkgYm90LmdhdGV3YXkudXJsID0gYm90LmdhdGV3YXkuY29ubmVjdGlvbi51cmxcblxuICAgICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8udG90YWxTaGFyZHMpIGJvdC5nYXRld2F5LnRvdGFsU2hhcmRzID0gYm90LmdhdGV3YXkuY29ubmVjdGlvbi5zaGFyZHNcblxuICAgICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8ubGFzdFNoYXJkSWQgJiYgIW9wdGlvbnMuZ2F0ZXdheT8udG90YWxTaGFyZHMpIGJvdC5nYXRld2F5Lmxhc3RTaGFyZElkID0gYm90LmdhdGV3YXkuY29ubmVjdGlvbi5zaGFyZHMgLSAxXG4gICAgICB9XG5cbiAgICAgIGlmICghYm90LmdhdGV3YXkucmVzaGFyZGluZy5nZXRTZXNzaW9uSW5mbykge1xuICAgICAgICBib3QuZ2F0ZXdheS5yZXNoYXJkaW5nLmdldFNlc3Npb25JbmZvID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRHYXRld2F5Qm90KClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBib3QuZ2F0ZXdheS5zcGF3blNoYXJkcygpXG4gICAgfSxcblxuICAgIGFzeW5jIHNodXRkb3duKCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5nYXRld2F5LnNodXRkb3duKFNoYXJkU29ja2V0Q2xvc2VDb2Rlcy5TaHV0ZG93biwgJ1VzZXIgcmVxdWVzdGVkIGJvdCBzdG9wJylcbiAgICB9LFxuICB9XG5cbiAgYm90LmhlbHBlcnMgPSBjcmVhdGVCb3RIZWxwZXJzKGJvdClcbiAgaWYgKG9wdGlvbnMuYXBwbGljYXRpb25JZCkgYm90LmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShvcHRpb25zLmFwcGxpY2F0aW9uSWQpXG5cbiAgcmV0dXJuIGJvdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUJvdE9wdGlvbnM8VFByb3BzIGV4dGVuZHMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz4sIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+IHtcbiAgLyoqIFRoZSBib3QncyB0b2tlbi4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogQXBwbGljYXRpb24gSWQgb2YgdGhlIGJvdCBpbmNhc2UgaXQgaXMgYW4gb2xkIGJvdCB0b2tlbi4gKi9cbiAgYXBwbGljYXRpb25JZD86IEJpZ1N0cmluZ1xuICAvKiogVGhlIGJvdCdzIGludGVudHMgdGhhdCB3aWxsIGJlIHVzZWQgdG8gbWFrZSBhIGNvbm5lY3Rpb24gd2l0aCBkaXNjb3JkcyBnYXRld2F5LiAqL1xuICBpbnRlbnRzPzogR2F0ZXdheUludGVudHNcbiAgLyoqIEFueSBvcHRpb25zIHlvdSB3aXNoIHRvIHByb3ZpZGUgdG8gdGhlIHJlc3QgbWFuYWdlci4gKi9cbiAgcmVzdD86IE9taXQ8Q3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zLCAndG9rZW4nPiAmIFBhcnRpYWw8UGljazxDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsICd0b2tlbic+PlxuICAvKiogQW55IG9wdGlvbnMgeW91IHdpc2ggdG8gcHJvdmlkZSB0byB0aGUgZ2F0ZXdheSBtYW5hZ2VyLiAqL1xuICBnYXRld2F5PzogT21pdDxDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsICd0b2tlbic+ICYgUGFydGlhbDxQaWNrPENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4+XG4gIC8qKiBUaGUgZXZlbnQgaGFuZGxlcnMuICovXG4gIGV2ZW50cz86IFBhcnRpYWw8RXZlbnRIYW5kbGVyczxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4+XG4gIC8qKiBUaGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIHRyYW5zZm9ybSBkaXNjb3JkIG9iamVjdHMgdG8gZGlzY29yZGVubyBzaGFwZWQgb2JqZWN0cy4gKi9cbiAgdHJhbnNmb3JtZXJzPzogUmVjdXJzaXZlUGFydGlhbDxPbWl0PFRyYW5zZm9ybWVyczxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4sICdkZXNpcmVkUHJvcGVydGllcyc+PlxuICAvKiogVGhlIGhhbmRsZXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGhhbmRsZSBpbmNvbWluZyBkaXNjb3JkIHBheWxvYWRzIGZyb20gZ2F0ZXdheSBhbmQgY2FsbCBhbiBldmVudC4gKi9cbiAgaGFuZGxlcnM/OiBQYXJ0aWFsPFJlY29yZDxHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBCb3RHYXRld2F5SGFuZGxlcjxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4+PlxuICAvKipcbiAgICogU2V0IHRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSBib3RcbiAgICovXG4gIGRlc2lyZWRQcm9wZXJ0aWVzOiBUUHJvcHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGJlaGF2aW9yIGZvciB1bmRlc2lyZWQgcHJvcGVydGllc1xuICAgKlxuICAgKiBAZGVmYXVsdCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj86IFRCZWhhdmlvclxuICAvKipcbiAgICogVGhpcyBmYWN0b3J5IHdpbGwgYmUgaW52b2tlZCB0byBjcmVhdGUgdGhlIGxvZ2dlciBmb3IgZ2F0ZXdheSwgcmVzdCBhbmQgYm90XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIElmIG5vdCBwcm92aWRlZCB0aGUgZGVmYXVsdCBsb2dnZXIgd2lsbCBiZSB1c2VkIHdpdGggcmVzdCBhbmQgZ2F0ZXdheSBzaGFyaW5nIHRoZSBzYW1lIGxvZ2dlclxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCAzIHRpbWVzLCBvbmUgd2l0aCB0aGUgbmFtZSBvZiBgUkVTVGAsIG9uZSB3aXRoIGBHQVRFV0FZYCBhbmQgdGhlIHRoaXJkIG9uZSB3aXRoIG5hbWUgYEJPVGBcbiAgICovXG4gIGxvZ2dlckZhY3Rvcnk/OiAobmFtZTogJ1JFU1QnIHwgJ0dBVEVXQVknIHwgJ0JPVCcpID0+IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdDxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgPSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdC4gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBib3QuIFRoaXMgaXMgdXN1YWxseSB0aGUgc2FtZSBhcyBpZCBidXQgaW4gdGhlIGNhc2Ugb2Ygb2xkIGJvdHMgY2FuIGJlIGRpZmZlcmVudC4gKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogVGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheTogR2F0ZXdheU1hbmFnZXJcbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzOiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8VFByb3BzLCBUQmVoYXZpb3I+PlxuICAvKiogQSBsb2dnZXIgdXRpbGl0eSB0byBtYWtlIGl0IGVhc3kgdG8gbG9nIG5pY2UgYW5kIHVzZWZ1bCB0aGluZ3MgaW4gdGhlIGJvdCBjb2RlLiAqL1xuICBsb2dnZXI6IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiAmIHtcbiAgICAkaW5mZXJyZWRUeXBlczoge1xuICAgICAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c106IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVyc09iamVjdHNbS10sIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuICAvKiogVGhlIGhhbmRsZXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGhhbmRsZSBpbmNvbWluZyBkaXNjb3JkIHBheWxvYWRzIGZyb20gZ2F0ZXdheSBhbmQgY2FsbCBhbiBldmVudC4gKi9cbiAgaGFuZGxlcnM6IEdhdGV3YXlIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaGVscGVyczogQm90SGVscGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgLyoqIFN0YXJ0IHRoZSBib3QgY29ubmVjdGlvbiB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc3RhcnQ6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIFNodXRzIGRvd24gYWxsIHRoZSBib3QgY29ubmVjdGlvbnMgdG8gdGhlIGdhdGV3YXkuICovXG4gIHNodXRkb3duOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlR2F0ZXdheU1hbmFnZXIiLCJTaGFyZFNvY2tldENsb3NlQ29kZXMiLCJjcmVhdGVSZXN0TWFuYWdlciIsImNyZWF0ZUxvZ2dlciIsImdldEJvdElkRnJvbVRva2VuIiwiY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIiwiY3JlYXRlQm90SGVscGVycyIsImNyZWF0ZVRyYW5zZm9ybWVycyIsImNyZWF0ZUJvdCIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm1lcnMiLCJyZXN0IiwidG9rZW4iLCJhcHBsaWNhdGlvbklkIiwibG9nZ2VyIiwibG9nZ2VyRmFjdG9yeSIsImdhdGV3YXkiLCJldmVudHMiLCJtZXNzYWdlIiwic2hhcmQiLCJkYXRhIiwiYm90IiwicmF3IiwiaWQiLCJ0IiwiZGlzcGF0Y2hSZXF1aXJlbWVudHMiLCJoYW5kbGVycyIsImludGVudHMiLCJkZXNpcmVkUHJvcGVydGllcyIsIm5hbWUiLCJoZWxwZXJzIiwic3RhcnQiLCJjb25uZWN0aW9uIiwiZ2V0U2Vzc2lvbkluZm8iLCJ1cmwiLCJ0b3RhbFNoYXJkcyIsInNoYXJkcyIsImxhc3RTaGFyZElkIiwicmVzaGFyZGluZyIsImdldEdhdGV3YXlCb3QiLCJzcGF3blNoYXJkcyIsInNodXRkb3duIiwiU2h1dGRvd24iLCJzbm93Zmxha2UiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLG9CQUFvQixFQUFFQyxxQkFBcUIsUUFBUSxzQkFBcUI7QUFFakYsU0FBU0MsaUJBQWlCLFFBQVEsbUJBQWtCO0FBRXBELFNBQVNDLFlBQVksRUFBRUMsaUJBQWlCLFFBQXFCLG9CQUFtQjtBQVNoRixTQUFpQ0Msd0JBQXdCLFFBQThCLGdCQUFlO0FBQ3RHLFNBQTBCQyxnQkFBZ0IsUUFBUSxlQUFjO0FBQ2hFLFNBQVNDLGtCQUFrQixRQUEyQixvQkFBbUI7QUFtQnpFLE9BQU8sU0FBU0MsVUFHZEMsT0FBNEM7SUFJNUMsSUFBSSxDQUFDQSxRQUFRQyxZQUFZLEVBQUVELFFBQVFDLFlBQVksR0FBRyxDQUFDO0lBQ25ELElBQUksQ0FBQ0QsUUFBUUUsSUFBSSxFQUFFRixRQUFRRSxJQUFJLEdBQUc7UUFBRUMsT0FBT0gsUUFBUUcsS0FBSztRQUFFQyxlQUFlSixRQUFRSSxhQUFhO0lBQUM7SUFDL0YsSUFBSSxDQUFDSixRQUFRRSxJQUFJLENBQUNDLEtBQUssRUFBRUgsUUFBUUUsSUFBSSxDQUFDQyxLQUFLLEdBQUdILFFBQVFHLEtBQUs7SUFDM0QsSUFBSSxDQUFDSCxRQUFRRSxJQUFJLENBQUNHLE1BQU0sSUFBSUwsUUFBUU0sYUFBYSxFQUFFTixRQUFRRSxJQUFJLENBQUNHLE1BQU0sR0FBR0wsUUFBUU0sYUFBYSxDQUFDO0lBQy9GLElBQUksQ0FBQ04sUUFBUU8sT0FBTyxFQUFFUCxRQUFRTyxPQUFPLEdBQUc7UUFBRUosT0FBT0gsUUFBUUcsS0FBSztJQUFDO0lBQy9ELElBQUksQ0FBQ0gsUUFBUU8sT0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/transformers/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAkC9E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAWtG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAUtG"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/transformers/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAmC9E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAWtG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAUtG"}
@@ -21,6 +21,7 @@ export function transformActivity(bot, payload) {
21
21
  largeText: payload.assets?.large_text,
22
22
  smallImage: payload.assets?.small_image,
23
23
  smallText: payload.assets?.small_text,
24
+ inviteCoverImage: payload.assets?.invite_cover_image,
24
25
  join: payload.secrets?.join,
25
26
  spectate: payload.secrets?.spectate,
26
27
  match: payload.secrets?.match,
@@ -50,4 +51,4 @@ export function transformActivityLocation(bot, payload) {
50
51
  return bot.transformers.customizers.activityLocation(bot, payload, activityLocation);
51
52
  }
52
53
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQWN0aXZpdHksIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLCBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBBY3Rpdml0eSwgQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5KTogQWN0aXZpdHkge1xuICBjb25zdCBhY3Rpdml0eSA9IHtcbiAgICBuYW1lOiBwYXlsb2FkLm5hbWUsXG4gICAgdHlwZTogcGF5bG9hZC50eXBlLFxuICAgIHVybDogcGF5bG9hZC51cmwgPz8gdW5kZWZpbmVkLFxuICAgIGNyZWF0ZWRBdDogcGF5bG9hZC5jcmVhdGVkX2F0LFxuICAgIHN0YXJ0ZWRBdDogcGF5bG9hZC50aW1lc3RhbXBzPy5zdGFydCxcbiAgICBlbmRlZEF0OiBwYXlsb2FkLnRpbWVzdGFtcHM/LmVuZCxcbiAgICBhcHBsaWNhdGlvbklkOiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgOiB1bmRlZmluZWQsXG4gICAgZGV0YWlsczogcGF5bG9hZC5kZXRhaWxzID8/IHVuZGVmaW5lZCxcbiAgICBzdGF0ZTogcGF5bG9hZC5zdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwYXJ0eUlkOiBwYXlsb2FkLnBhcnR5Py5pZCxcbiAgICBwYXJ0eUN1cnJlbnRTaXplOiBwYXlsb2FkLnBhcnR5Py5zaXplPy5bMF0sXG4gICAgcGFydHlNYXhTaXplOiBwYXlsb2FkLnBhcnR5Py5zaXplPy5bMV0sXG4gICAgbGFyZ2VJbWFnZTogcGF5bG9hZC5hc3NldHM/LmxhcmdlX2ltYWdlLFxuICAgIGxhcmdlVGV4dDogcGF5bG9hZC5hc3NldHM/LmxhcmdlX3RleHQsXG4gICAgc21hbGxJbWFnZTogcGF5bG9hZC5hc3NldHM/LnNtYWxsX2ltYWdlLFxuICAgIHNtYWxsVGV4dDogcGF5bG9hZC5hc3NldHM/LnNtYWxsX3RleHQsXG4gICAgam9pbjogcGF5bG9hZC5zZWNyZXRzPy5qb2luLFxuICAgIHNwZWN0YXRlOiBwYXlsb2FkLnNlY3JldHM/LnNwZWN0YXRlLFxuICAgIG1hdGNoOiBwYXlsb2FkLnNlY3JldHM/Lm1hdGNoLFxuICAgIGluc3RhbmNlOiBwYXlsb2FkLmluc3RhbmNlLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICAgIGJ1dHRvbnM6IHBheWxvYWQuYnV0dG9ucyxcbiAgfSBhcyBBY3Rpdml0eVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmFjdGl2aXR5KGJvdCwgcGF5bG9hZCwgYWN0aXZpdHkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSk6IEFjdGl2aXR5SW5zdGFuY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuYWN0aXZpdHlJbnN0YW5jZVxuICBjb25zdCBhY3Rpdml0eUluc3RhbmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgYWN0aXZpdHlJbnN0YW5jZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHByb3BzLmluc3RhbmNlSWQgJiYgcGF5bG9hZC5pbnN0YW5jZV9pZCkgYWN0aXZpdHlJbnN0YW5jZS5pbnN0YW5jZUlkID0gcGF5bG9hZC5pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMubGF1bmNoSWQgJiYgcGF5bG9hZC5sYXVuY2hfaWQpIGFjdGl2aXR5SW5zdGFuY2UubGF1bmNoSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmxhdW5jaF9pZClcbiAgaWYgKHByb3BzLmxvY2F0aW9uICYmIHBheWxvYWQubG9jYXRpb24pIGFjdGl2aXR5SW5zdGFuY2UubG9jYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFjdGl2aXR5TG9jYXRpb24oYm90LCBwYXlsb2FkLmxvY2F0aW9uKVxuICBpZiAocHJvcHMudXNlcnMgJiYgcGF5bG9hZC51c2VycykgYWN0aXZpdHlJbnN0YW5jZS51c2VycyA9IHBheWxvYWQudXNlcnMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eUluc3RhbmNlKGJvdCwgcGF5bG9hZCwgYWN0aXZpdHlJbnN0YW5jZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uKTogQWN0aXZpdHlMb2NhdGlvbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5hY3Rpdml0eUxvY2F0aW9uXG4gIGNvbnN0IGFjdGl2aXR5TG9jYXRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxBY3Rpdml0eUxvY2F0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aXZpdHlMb2NhdGlvbi5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmtpbmQgJiYgcGF5bG9hZC5raW5kKSBhY3Rpdml0eUxvY2F0aW9uLmtpbmQgPSBwYXlsb2FkLmtpbmRcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGFjdGl2aXR5TG9jYXRpb24uY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBhY3Rpdml0eUxvY2F0aW9uLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmFjdGl2aXR5TG9jYXRpb24oYm90LCBwYXlsb2FkLCBhY3Rpdml0eUxvY2F0aW9uKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUFjdGl2aXR5IiwiYm90IiwicGF5bG9hZCIsImFjdGl2aXR5IiwibmFtZSIsInR5cGUiLCJ1cmwiLCJ1bmRlZmluZWQiLCJjcmVhdGVkQXQiLCJjcmVhdGVkX2F0Iiwic3RhcnRlZEF0IiwidGltZXN0YW1wcyIsInN0YXJ0IiwiZW5kZWRBdCIsImVuZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImRldGFpbHMiLCJzdGF0ZSIsImVtb2ppIiwiYW5pbWF0ZWQiLCJpZCIsInBhcnR5SWQiLCJwYXJ0eSIsInBhcnR5Q3VycmVudFNpemUiLCJzaXplIiwicGFydHlNYXhTaXplIiwibGFyZ2VJbWFnZSIsImFzc2V0cyIsImxhcmdlX2ltYWdlIiwibGFyZ2VUZXh0IiwibGFyZ2VfdGV4dCIsInNtYWxsSW1hZ2UiLCJzbWFsbF9pbWFnZSIsInNtYWxsVGV4dCIsInNtYWxsX3RleHQiLCJqb2luIiwic2VjcmV0cyIsInNwZWN0YXRlIiwibWF0Y2giLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhY3Rpdml0eUluc3RhbmNlIiwiaW5zdGFuY2VJZCIsImluc3RhbmNlX2lkIiwibGF1bmNoSWQiLCJsYXVuY2hfaWQiLCJsb2NhdGlvbiIsImFjdGl2aXR5TG9jYXRpb24iLCJ1c2VycyIsIm1hcCIsIngiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwia2luZCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJndWlsZElkIiwiZ3VpbGRfaWQiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sU0FBU0Esa0JBQWtCQyxHQUFRLEVBQUVDLE9BQXdCO0lBQ2xFLE1BQU1DLFdBQVc7UUFDZkMsTUFBTUYsUUFBUUUsSUFBSTtRQUNsQkMsTUFBTUgsUUFBUUcsSUFBSTtRQUNsQkMsS0FBS0osUUFBUUksR0FBRyxJQUFJQztRQUNwQkMsV0FBV04sUUFBUU8sVUFBVTtR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
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQWN0aXZpdHksIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLCBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBBY3Rpdml0eSwgQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5KTogQWN0aXZpdHkge1xuICBjb25zdCBhY3Rpdml0eSA9IHtcbiAgICBuYW1lOiBwYXlsb2FkLm5hbWUsXG4gICAgdHlwZTogcGF5bG9hZC50eXBlLFxuICAgIHVybDogcGF5bG9hZC51cmwgPz8gdW5kZWZpbmVkLFxuICAgIGNyZWF0ZWRBdDogcGF5bG9hZC5jcmVhdGVkX2F0LFxuICAgIHN0YXJ0ZWRBdDogcGF5bG9hZC50aW1lc3RhbXBzPy5zdGFydCxcbiAgICBlbmRlZEF0OiBwYXlsb2FkLnRpbWVzdGFtcHM/LmVuZCxcbiAgICBhcHBsaWNhdGlvbklkOiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgOiB1bmRlZmluZWQsXG4gICAgZGV0YWlsczogcGF5bG9hZC5kZXRhaWxzID8/IHVuZGVmaW5lZCxcbiAgICBzdGF0ZTogcGF5bG9hZC5zdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwYXJ0eUlkOiBwYXlsb2FkLnBhcnR5Py5pZCxcbiAgICBwYXJ0eUN1cnJlbnRTaXplOiBwYXlsb2FkLnBhcnR5Py5zaXplPy5bMF0sXG4gICAgcGFydHlNYXhTaXplOiBwYXlsb2FkLnBhcnR5Py5zaXplPy5bMV0sXG4gICAgbGFyZ2VJbWFnZTogcGF5bG9hZC5hc3NldHM/LmxhcmdlX2ltYWdlLFxuICAgIGxhcmdlVGV4dDogcGF5bG9hZC5hc3NldHM/LmxhcmdlX3RleHQsXG4gICAgc21hbGxJbWFnZTogcGF5bG9hZC5hc3NldHM/LnNtYWxsX2ltYWdlLFxuICAgIHNtYWxsVGV4dDogcGF5bG9hZC5hc3NldHM/LnNtYWxsX3RleHQsXG4gICAgaW52aXRlQ292ZXJJbWFnZTogcGF5bG9hZC5hc3NldHM/Lmludml0ZV9jb3Zlcl9pbWFnZSxcbiAgICBqb2luOiBwYXlsb2FkLnNlY3JldHM/LmpvaW4sXG4gICAgc3BlY3RhdGU6IHBheWxvYWQuc2VjcmV0cz8uc3BlY3RhdGUsXG4gICAgbWF0Y2g6IHBheWxvYWQuc2VjcmV0cz8ubWF0Y2gsXG4gICAgaW5zdGFuY2U6IHBheWxvYWQuaW5zdGFuY2UsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgYnV0dG9uczogcGF5bG9hZC5idXR0b25zLFxuICB9IGFzIEFjdGl2aXR5XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuYWN0aXZpdHkoYm90LCBwYXlsb2FkLCBhY3Rpdml0eSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlKTogQWN0aXZpdHlJbnN0YW5jZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5hY3Rpdml0eUluc3RhbmNlXG4gIGNvbnN0IGFjdGl2aXR5SW5zdGFuY2UgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxBY3Rpdml0eUluc3RhbmNlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBhY3Rpdml0eUluc3RhbmNlLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMuaW5zdGFuY2VJZCAmJiBwYXlsb2FkLmluc3RhbmNlX2lkKSBhY3Rpdml0eUluc3RhbmNlLmluc3RhbmNlSWQgPSBwYXlsb2FkLmluc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5sYXVuY2hJZCAmJiBwYXlsb2FkLmxhdW5jaF9pZCkgYWN0aXZpdHlJbnN0YW5jZS5sYXVuY2hJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubGF1bmNoX2lkKVxuICBpZiAocHJvcHMubG9jYXRpb24gJiYgcGF5bG9hZC5sb2NhdGlvbikgYWN0aXZpdHlJbnN0YW5jZS5sb2NhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuYWN0aXZpdHlMb2NhdGlvbihib3QsIHBheWxvYWQubG9jYXRpb24pXG4gIGlmIChwcm9wcy51c2VycyAmJiBwYXlsb2FkLnVzZXJzKSBhY3Rpdml0eUluc3RhbmNlLnVzZXJzID0gcGF5bG9hZC51c2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmFjdGl2aXR5SW5zdGFuY2UoYm90LCBwYXlsb2FkLCBhY3Rpdml0eUluc3RhbmNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5TG9jYXRpb24pOiBBY3Rpdml0eUxvY2F0aW9uIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmFjdGl2aXR5TG9jYXRpb25cbiAgY29uc3QgYWN0aXZpdHlMb2NhdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEFjdGl2aXR5TG9jYXRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBhY3Rpdml0eUxvY2F0aW9uLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMua2luZCAmJiBwYXlsb2FkLmtpbmQpIGFjdGl2aXR5TG9jYXRpb24ua2luZCA9IHBheWxvYWQua2luZFxuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgYWN0aXZpdHlMb2NhdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGRfaWQpIGFjdGl2aXR5TG9jYXRpb24uZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuYWN0aXZpdHlMb2NhdGlvbihib3QsIHBheWxvYWQsIGFjdGl2aXR5TG9jYXRpb24pXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQWN0aXZpdHkiLCJib3QiLCJwYXlsb2FkIiwiYWN0aXZpdHkiLCJuYW1lIiwidHlwZSIsInVybCIsInVuZGVmaW5lZCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJzdGFydGVkQXQiLCJ0aW1lc3RhbXBzIiwic3RhcnQiLCJlbmRlZEF0IiwiZW5kIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiZGV0YWlscyIsInN0YXRlIiwiZW1vamkiLCJhbmltYXRlZCIsImlkIiwicGFydHlJZCIsInBhcnR5IiwicGFydHlDdXJyZW50U2l6ZSIsInNpemUiLCJwYXJ0eU1heFNpemUiLCJsYXJnZUltYWdlIiwiYXNzZXRzIiwibGFyZ2VfaW1hZ2UiLCJsYXJnZVRleHQiLCJsYXJnZV90ZXh0Iiwic21hbGxJbWFnZSIsInNtYWxsX2ltYWdlIiwic21hbGxUZXh0Iiwic21hbGxfdGV4dCIsImludml0ZUNvdmVySW1hZ2UiLCJpbnZpdGVfY292ZXJfaW1hZ2UiLCJqb2luIiwic2VjcmV0cyIsInNwZWN0YXRlIiwibWF0Y2giLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhY3Rpdml0eUluc3RhbmNlIiwiaW5zdGFuY2VJZCIsImluc3RhbmNlX2lkIiwibGF1bmNoSWQiLCJsYXVuY2hfaWQiLCJsb2NhdGlvbiIsImFjdGl2aXR5TG9jYXRpb24iLCJ1c2VycyIsIm1hcCIsIngiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwia2luZCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJndWlsZElkIiwiZ3VpbGRfaWQiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sU0FBU0Esa0JBQWtCQyxHQUFRLEVBQUVDLE9BQXdCO0lBQ2xFLE1BQU1DLFdBQVc7UUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/transformers/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EASxD,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEhF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,mDAAmD,GAAG,SAAS,CAgD9I;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAYzG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAStG"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/transformers/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAUxD,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEhF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,mDAAmD,GAAG,SAAS,CAmD9I;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAYzG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAStG"}
@@ -43,6 +43,9 @@ export function transformComponent(bot, payload) {
43
43
  case MessageComponentTypes.Label:
44
44
  component = transformLabelComponent(bot, payload);
45
45
  break;
46
+ case MessageComponentTypes.FileUpload:
47
+ component = transformFileUploadComponent(bot, payload);
48
+ break;
46
49
  }
47
50
  return bot.transformers.customizers.component(bot, payload, component);
48
51
  }
@@ -191,7 +194,10 @@ function transformTextDisplayComponent(bot, payload) {
191
194
  const textDisplay = {};
192
195
  if (props.type && payload.type) textDisplay.type = payload.type;
193
196
  if (props.id && payload.id) textDisplay.id = payload.id;
194
- if (props.content && payload.content) textDisplay.content = payload.content;
197
+ // That that this isn't a response
198
+ if ('content' in payload) {
199
+ if (props.content && payload.content) textDisplay.content = payload.content;
200
+ }
195
201
  return textDisplay;
196
202
  }
197
203
  function transformSeparatorComponent(bot, payload) {
@@ -208,10 +214,29 @@ function transformLabelComponent(bot, payload) {
208
214
  const label = {};
209
215
  if (props.type && payload.type) label.type = payload.type;
210
216
  if (props.id && payload.id) label.id = payload.id;
211
- if (props.label && payload.label) label.label = payload.label;
212
- if (props.description && payload.description) label.description = payload.description;
217
+ // Check that this isn't a response
218
+ if ('label' in payload) {
219
+ if (props.label && payload.label) label.label = payload.label;
220
+ if (props.description && payload.description) label.description = payload.description;
221
+ }
213
222
  if (props.component && payload.component) label.component = bot.transformers.component(bot, payload.component);
214
223
  return label;
215
224
  }
225
+ function transformFileUploadComponent(bot, payload) {
226
+ const props = bot.transformers.desiredProperties.component;
227
+ const fileUpload = {};
228
+ if (props.type && payload.type) fileUpload.type = payload.type;
229
+ if (props.id && payload.id) fileUpload.id = payload.id;
230
+ if (props.customId && payload.custom_id) fileUpload.customId = payload.custom_id;
231
+ // Check that this is a response
232
+ if ('values' in payload) {
233
+ if (props.values && payload.values) fileUpload.values = payload.values;
234
+ } else {
235
+ if (props.minValues && payload.min_values) fileUpload.minValues = payload.min_values;
236
+ if (props.maxValues && payload.max_values) fileUpload.maxValues = payload.max_values;
237
+ if (props.required && payload.required) fileUpload.required = payload.required;
238
+ }
239
+ return fileUpload;
240
+ }
216
241
 
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50XG5cbiAgLy8gVGhpcyBzd2l0Y2ggaXMgZXhoYXVzdGl2ZSwgc28gd2UgZG9udCBuZWVkIHRoZSBkZWZhdWx0IGNhc2UgYW5kIFRTIGRvZXMgbm90IGVycm9yIG91dCBmb3IgdGhlIHVuLWluaXRpYWxpemVkIGNvbXBvbmVudCB2YXJpYWJsZVxuICBzd2l0Y2ggKHBheWxvYWQudHlwZSkge1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdzpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWN0aW9uOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGU6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dERpc3BsYXk6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0pOiBVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy51bmZ1cmxlZE1lZGlhSXRlbVxuICBjb25zdCBtZWRpYUl0ZW0gPSB7fSBhcyBVbmZ1cmxlZE1lZGlhSXRlbVxuXG4gIGlmIChwcm9wcy51cmwgJiYgcGF5bG9hZC51cmwpIG1lZGlhSXRlbS51cmwgPSBwYXlsb2FkLnVybFxuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsXG4gIGlmIChwcm9wcy5oZWlnaHQgJiYgcGF5bG9hZC5oZWlnaHQpIG1lZGlhSXRlbS5oZWlnaHQgPSBwYXlsb2FkLmhlaWdodFxuICBpZiAocHJvcHMud2lkdGggJiYgcGF5bG9hZC53aWR0aCkgbWVkaWFJdGVtLndpZHRoID0gcGF5bG9hZC53aWR0aFxuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlXG4gIGlmIChwcm9wcy5hdHRhY2htZW50SWQgJiYgcGF5bG9hZC5hdHRhY2htZW50X2lkKSBtZWRpYUl0ZW0uYXR0YWNobWVudElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hdHRhY2htZW50X2lkKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZCwgbWVkaWFJdGVtKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW1cbiAgY29uc3QgZ2FsbGVyeUl0ZW0gPSB7fSBhcyBNZWRpYUdhbGxlcnlJdGVtXG5cbiAgaWYgKHByb3BzLm1lZGlhICYmIHBheWxvYWQubWVkaWEpIGdhbGxlcnlJdGVtLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBnYWxsZXJ5SXRlbS5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVkaWFHYWxsZXJ5SXRlbShib3QsIHBheWxvYWQsIGdhbGxlcnlJdGVtKVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpb25Sb3cpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGFjdGlvblJvdyA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgYWN0aW9uUm93LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGFjdGlvblJvdy5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBhY3Rpb25Sb3cuY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKVxuXG4gIHJldHVybiBhY3Rpb25Sb3dcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBjb250YWluZXIuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5hY2NlbnRDb2xvciAmJiBwYXlsb2FkLmFjY2VudF9jb2xvcikgY29udGFpbmVyLmFjY2VudENvbG9yID0gcGF5bG9hZC5hY2NlbnRfY29sb3JcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpXG5cbiAgcmV0dXJuIGNvbnRhaW5lclxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRCdXR0b25Db21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGJ1dHRvbiA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgYnV0dG9uLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGJ1dHRvbi5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWxcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBidXR0b24uY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZFxuICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgYnV0dG9uLnN0eWxlID0gcGF5bG9hZC5zdHlsZVxuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpXG4gIGlmIChwcm9wcy51cmwgJiYgcGF5bG9hZC51cmwpIGJ1dHRvbi51cmwgPSBwYXlsb2FkLnVybFxuICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgYnV0dG9uLmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZFxuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKVxuXG4gIHJldHVybiBidXR0b25cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50IHwgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGlucHV0ID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBpbnB1dC50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBpbnB1dC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZVxuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGlucHV0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcblxuICAvLyBDaGVjayBpZiBpdCBpcyB0aGUgY29tcG9uZW50IG9yIHRoZSByZXNwb25zZVxuICBpZiAoJ3N0eWxlJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnN0eWxlICYmIHBheWxvYWQuc3R5bGUpIGlucHV0LnN0eWxlID0gcGF5bG9hZC5zdHlsZVxuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWRcbiAgICBpZiAocHJvcHMubGFiZWwgJiYgcGF5bG9hZC5sYWJlbCkgaW5wdXQubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIGlucHV0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlclxuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGhcbiAgICBpZiAocHJvcHMubWF4TGVuZ3RoICYmIHBheWxvYWQubWF4X2xlbmd0aCkgaW5wdXQubWF4TGVuZ3RoID0gcGF5bG9hZC5tYXhfbGVuZ3RoXG4gIH1cblxuICByZXR1cm4gaW5wdXRcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkXG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgc3RyaW5nIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlc1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyXG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXNcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlc1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKVxuICAgIGlmIChwcm9wcy5jaGFubmVsVHlwZXMgJiYgcGF5bG9hZC5jaGFubmVsX3R5cGVzKSBzZWxlY3QuY2hhbm5lbFR5cGVzID0gcGF5bG9hZC5jaGFubmVsX3R5cGVzXG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSlcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZFxuICB9XG5cbiAgcmV0dXJuIHNlbGVjdFxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3Qgc2VjdGlvbiA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VjdGlvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWN0aW9uLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKVxuICBpZiAocHJvcHMuYWNjZXNzb3J5ICYmIHBheWxvYWQuYWNjZXNzb3J5KSBzZWN0aW9uLmFjY2Vzc29yeSA9IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpXG5cbiAgcmV0dXJuIHNlY3Rpb25cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCB0aHVtYm5haWwgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHRodW1ibmFpbC50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSB0aHVtYm5haWwubWVkaWEgPSBib3QudHJhbnNmb3JtZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSlcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIHRodW1ibmFpbC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuXG4gIHJldHVybiB0aHVtYm5haWxcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBtZWRpYUdhbGxlcnkgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIG1lZGlhR2FsbGVyeS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBtZWRpYUdhbGxlcnkuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpXG5cbiAgcmV0dXJuIG1lZGlhR2FsbGVyeVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRmlsZUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgZmlsZSA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgZmlsZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBmaWxlLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgZmlsZS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyXG4gIGlmIChwcm9wcy5uYW1lICYmIHBheWxvYWQubmFtZSkgZmlsZS5uYW1lID0gcGF5bG9hZC5uYW1lXG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplXG5cbiAgcmV0dXJuIGZpbGVcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgdGV4dERpc3BsYXkgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHRleHREaXNwbGF5LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnRcblxuICByZXR1cm4gdGV4dERpc3BsYXlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZXBhcmF0b3IuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5kaXZpZGVyICYmIHBheWxvYWQuZGl2aWRlcikgc2VwYXJhdG9yLmRpdmlkZXIgPSBwYXlsb2FkLmRpdmlkZXJcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZ1xuXG4gIHJldHVybiBzZXBhcmF0b3Jcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMYWJlbENvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgbGFiZWwgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGxhYmVsLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMubGFiZWwgJiYgcGF5bG9hZC5sYWJlbCkgbGFiZWwubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBsYWJlbC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLmNvbXBvbmVudCAmJiBwYXlsb2FkLmNvbXBvbmVudCkgbGFiZWwuY29tcG9uZW50ID0gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudClcblxuICByZXR1cm4gbGFiZWxcbn1cbiJdLCJuYW1lcyI6WyJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwiY29tcG9uZW50IiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIlVzZXJTZWxlY3QiLCJSb2xlU2VsZWN0IiwiTWVudGlvbmFibGVTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJ0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQiLCJUZXh0RGlzcGxheSIsInRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50IiwiTGFiZWwiLCJ0cmFuc2Zvcm1MYWJlbENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwib3B0aW9ucyIsIm9wdGlvbiIsInVuZGVmaW5lZCIsIm5hbWUiLCJhbmltYXRlZCIsImRlZmF1bHQiLCJzZWN0aW9uIiwiYWNjZXNzb3J5IiwidGh1bWJuYWlsIiwibWVkaWFHYWxsZXJ5IiwiaXRlbXMiLCJpdGVtIiwiZmlsZSIsInNpemUiLCJ0ZXh0RGlzcGxheSIsImNvbnRlbnQiLCJzZXBhcmF0b3IiLCJkaXZpZGVyIiwic3BhY2luZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FtQkVBLHFCQUFxQixRQUNoQixvQkFBbUI7QUFJMUIsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFLSCxzQkFBc0JVLFNBQVM7WUFDbENOLFlBQVlPLDRCQUE0QlQsS0FBS0M7WUFDN0M7UUFDRixLQUFLSCxzQkFBc0JZLFNBQVM7WUFDbENSLFlBQVlTLDRCQUE0QlgsS0FBS0M7WUFDN0M7UUFDRixLQUFLSCxzQkFBc0JjLFlBQVk7UUFDdkMsS0FBS2Qsc0JBQXNCZSxVQUFVO1FBQ3JDLEtBQUtmLHNCQUFzQmdCLFVBQVU7UUFDckMsS0FBS2hCLHNCQUFzQmlCLGlCQUFpQjtRQUM1QyxLQUFLakIsc0JBQXNCa0IsYUFBYTtZQUN0Q2QsWUFBWWUsNkJBQTZCakIsS0FBS0M7WUFDOUM7UUFDRixLQUFLSCxzQkFBc0JvQixPQUFPO1lBQ2hDaEIsWUFBWWlCLDBCQUEwQm5CLEtBQUtDO1lBQzNDO1FBQ0Ys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
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRMYWJlbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQsIE1lZGlhR2FsbGVyeUl0ZW0sIFVuZnVybGVkTWVkaWFJdGVtIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnRcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ29udGFpbmVyOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZXBhcmF0b3I6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTGFiZWw6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLCBjb21wb25lbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW1cbiAgY29uc3QgbWVkaWFJdGVtID0ge30gYXMgVW5mdXJsZWRNZWRpYUl0ZW1cblxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBtZWRpYUl0ZW0udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLnByb3h5VXJsICYmIHBheWxvYWQucHJveHlfdXJsKSBtZWRpYUl0ZW0ucHJveHlVcmwgPSBwYXlsb2FkLnByb3h5X3VybFxuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHRcbiAgaWYgKHByb3BzLndpZHRoICYmIHBheWxvYWQud2lkdGgpIG1lZGlhSXRlbS53aWR0aCA9IHBheWxvYWQud2lkdGhcbiAgaWYgKHByb3BzLmNvbnRlbnRUeXBlICYmIHBheWxvYWQuY29udGVudF90eXBlKSBtZWRpYUl0ZW0uY29udGVudFR5cGUgPSBwYXlsb2FkLmNvbnRlbnRfdHlwZVxuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQsIG1lZGlhSXRlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKTogTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZWRpYUdhbGxlcnlJdGVtXG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgTWVkaWFHYWxsZXJ5SXRlbVxuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKVxuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgZ2FsbGVyeUl0ZW0uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgZ2FsbGVyeUl0ZW0uc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aW9uUm93KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBhY3Rpb25Sb3cuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cykgYWN0aW9uUm93LmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcblxuICByZXR1cm4gYWN0aW9uUm93XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgY29udGFpbmVyID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjb250YWluZXIudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuYWNjZW50Q29sb3IgJiYgcGF5bG9hZC5hY2NlbnRfY29sb3IpIGNvbnRhaW5lci5hY2NlbnRDb2xvciA9IHBheWxvYWQuYWNjZW50X2NvbG9yXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgY29udGFpbmVyLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBjb250YWluZXIuY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKVxuXG4gIHJldHVybiBjb250YWluZXJcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBidXR0b24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBidXR0b24uaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBidXR0b24ubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcbiAgaWYgKHByb3BzLnN0eWxlICYmIHBheWxvYWQuc3R5bGUpIGJ1dHRvbi5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIGJ1dHRvbi5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppKVxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIGJ1dHRvbi5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgaWYgKHByb3BzLnNrdUlkICYmIHBheWxvYWQuc2t1X2lkKSBidXR0b24uc2t1SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNrdV9pZClcblxuICByZXR1cm4gYnV0dG9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBpbnB1dCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW5wdXQuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy52YWx1ZSAmJiBwYXlsb2FkLnZhbHVlKSBpbnB1dC52YWx1ZSA9IHBheWxvYWQudmFsdWVcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkXG5cbiAgLy8gQ2hlY2sgaWYgaXQgaXMgdGhlIGNvbXBvbmVudCBvciB0aGUgcmVzcG9uc2VcbiAgaWYgKCdzdHlsZScgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBpbnB1dC5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgaW5wdXQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkXG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbFxuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBpbnB1dC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXJcbiAgICBpZiAocHJvcHMubWluTGVuZ3RoICYmIHBheWxvYWQubWluX2xlbmd0aCkgaW5wdXQubWluTGVuZ3RoID0gcGF5bG9hZC5taW5fbGVuZ3RoXG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aFxuICB9XG5cbiAgcmV0dXJuIGlucHV0XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZFxuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXNcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlclxuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzXG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXNcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSlcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlc1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucylcbiAgICAgIHNlbGVjdC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgICAgfSkpXG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlY3Rpb25Db21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VjdGlvbi5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBzZWN0aW9uLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KVxuXG4gIHJldHVybiBzZWN0aW9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgdGh1bWJuYWlsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSB0aHVtYm5haWwudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGh1bWJuYWlsLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSB0aHVtYm5haWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgdGh1bWJuYWlsLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcblxuICByZXR1cm4gdGh1bWJuYWlsXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVkaWFHYWxsZXJ5LmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuaXRlbXMgJiYgcGF5bG9hZC5pdGVtcykgbWVkaWFHYWxsZXJ5Lml0ZW1zID0gcGF5bG9hZC5pdGVtcy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKVxuXG4gIHJldHVybiBtZWRpYUdhbGxlcnlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVDb21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZS5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmZpbGUgJiYgcGF5bG9hZC5maWxlKSBmaWxlLmZpbGUgPSBib3QudHJhbnNmb3JtZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5maWxlKVxuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZpbGUubmFtZSA9IHBheWxvYWQubmFtZVxuICBpZiAocHJvcHMuc2l6ZSAmJiBwYXlsb2FkLnNpemUpIGZpbGUuc2l6ZSA9IHBheWxvYWQuc2l6ZVxuXG4gIHJldHVybiBmaWxlXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQgfCBEaXNjb3JkVGV4dERpc3BsYXlJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGV4dERpc3BsYXkuaWQgPSBwYXlsb2FkLmlkXG4gIC8vIFRoYXQgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdjb250ZW50JyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSB0ZXh0RGlzcGxheS5jb250ZW50ID0gcGF5bG9hZC5jb250ZW50XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZXBhcmF0b3IuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5kaXZpZGVyICYmIHBheWxvYWQuZGl2aWRlcikgc2VwYXJhdG9yLmRpdmlkZXIgPSBwYXlsb2FkLmRpdmlkZXJcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZ1xuXG4gIHJldHVybiBzZXBhcmF0b3Jcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMYWJlbENvbXBvbmVudCB8IERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGxhYmVsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBsYWJlbC50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBsYWJlbC5pZCA9IHBheWxvYWQuaWRcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWxcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgbGFiZWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIH1cbiAgaWYgKHByb3BzLmNvbXBvbmVudCAmJiBwYXlsb2FkLmNvbXBvbmVudCkgbGFiZWwuY29tcG9uZW50ID0gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudClcblxuICByZXR1cm4gbGFiZWxcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQgfCBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZVVwbG9hZC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBmaWxlVXBsb2FkLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXNcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgZmlsZVVwbG9hZC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXNcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgZmlsZVVwbG9hZC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXNcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWRcbiAgfVxuXG4gIHJldHVybiBmaWxlVXBsb2FkXG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwidHJhbnNmb3JtQ29tcG9uZW50IiwiYm90IiwicGF5bG9hZCIsImNvbXBvbmVudCIsInR5cGUiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJDb250YWluZXIiLCJ0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQiLCJUZXh0SW5wdXQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTdHJpbmdTZWxlY3QiLCJVc2VyU2VsZWN0IiwiUm9sZVNlbGVjdCIsIk1lbnRpb25hYmxlU2VsZWN0IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQiLCJTZWN0aW9uIiwidHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIkZpbGUiLCJ0cmFuc2Zvcm1GaWxlQ29tcG9uZW50IiwiU2VwYXJhdG9yIiwidHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50IiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwib3B0aW9ucyIsIm9wdGlvbiIsInVuZGVmaW5lZCIsIm5hbWUiLCJhbmltYXRlZCIsImRlZmF1bHQiLCJzZWN0aW9uIiwiYWNjZXNzb3J5IiwidGh1bWJuYWlsIiwibWVkaWFHYWxsZXJ5IiwiaXRlbXMiLCJpdGVtIiwiZmlsZSIsInNpemUiLCJ0ZXh0RGlzcGxheSIsImNvbnRlbnQiLCJzZXBhcmF0b3IiLCJkaXZpZGVyIiwic3BhY2luZyIsImZpbGVVcGxvYWQiXSwibWFwcGluZ3MiOiJBQUFBLFNB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
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAQxD,KAAK,wBAAwB,EAG9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEjF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CAgC/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CASnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAQxD,KAAK,wBAAwB,EAG9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEjF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CAkC/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CASnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}
@@ -26,6 +26,8 @@ export function transformComponentToDiscordComponent(bot, payload) {
26
26
  return transformThumbnailComponent(bot, payload);
27
27
  case MessageComponentTypes.Label:
28
28
  return transformLabelComponent(bot, payload);
29
+ case MessageComponentTypes.FileUpload:
30
+ return transformFileUploadComponent(bot, payload);
29
31
  case MessageComponentTypes.Separator:
30
32
  case MessageComponentTypes.TextDisplay:
31
33
  // As of now they are compatible
@@ -178,5 +180,15 @@ function transformLabelComponent(bot, payload) {
178
180
  component: bot.transformers.reverse.component(bot, payload.component)
179
181
  };
180
182
  }
183
+ function transformFileUploadComponent(bot, payload) {
184
+ return {
185
+ type: MessageComponentTypes.FileUpload,
186
+ id: payload.id,
187
+ custom_id: payload.customId,
188
+ max_values: payload.maxValues,
189
+ min_values: payload.minValues,
190
+ required: payload.required
191
+ };
192
+ }
181
193
 
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgVGV4dFN0eWxlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uLy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50KFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogQ29tcG9uZW50LFxuKTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZXBhcmF0b3I6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dERpc3BsYXk6XG4gICAgICAvLyBBcyBvZiBub3cgdGhleSBhcmUgY29tcGF0aWJsZVxuICAgICAgcmV0dXJuIHBheWxvYWQgYXMgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pOiBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgcHJveHlfdXJsOiBwYXlsb2FkLnByb3h5VXJsLFxuICAgIGhlaWdodDogcGF5bG9hZC5oZWlnaHQsXG4gICAgd2lkdGg6IHBheWxvYWQud2lkdGgsXG4gICAgY29udGVudF90eXBlOiBwYXlsb2FkLmNvbnRlbnRUeXBlLFxuICAgIGF0dGFjaG1lbnRfaWQ6IHBheWxvYWQuYXR0YWNobWVudElkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmF0dGFjaG1lbnRJZCkgOiB1bmRlZmluZWQsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQWN0aW9uUm93IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIC8vIFRoZSBhY3Rpb25Sb3cuY29tcG9uZW50cyB0eXBlIGlzIGtpbmRhIGFubm95aW5nLCBzbyB3ZSBuZWVkIGEgY2FzdCBmb3IgdGhpc1xuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz8gW10pIGFzIERpc2NvcmRBY3Rpb25Sb3dbJ2NvbXBvbmVudHMnXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDb250YWluZXJDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXIsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgYWNjZW50X2NvbG9yOiBwYXlsb2FkLmFjY2VudENvbG9yLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/XG4gICAgICBbXSkgYXMgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudFsnY29tcG9uZW50cyddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoX2JvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50IHwgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBUZXh0U3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwhLFxuICAgIHZhbHVlOiBwYXlsb2FkLnZhbHVlLFxuICAgIG1heF9sZW5ndGg6IHBheWxvYWQubWF4TGVuZ3RoLFxuICAgIG1pbl9sZW5ndGg6IHBheWxvYWQubWluTGVuZ3RoLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogcGF5bG9hZC50eXBlIGFzIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50Wyd0eXBlJ10sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgICBkZWZhdWx0X3ZhbHVlczogcGF5bG9hZC5kZWZhdWx0VmFsdWVzPy5tYXAoKGRlZmF1bHRWYWx1ZSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKGRlZmF1bHRWYWx1ZS5pZCksXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICB9KSksXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogcGF5bG9hZC5vcHRpb25zPy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBpZDogb3B0aW9uLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgICBhbmltYXRlZDogb3B0aW9uLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBkZWZhdWx0OiBvcHRpb24uZGVmYXVsdCxcbiAgICB9KSksXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlY3Rpb25Db21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWN0aW9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGNvbXBvbmVudHM6IHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSBhcyBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnRbXSxcbiAgICBhY2Nlc3Nvcnk6IChwYXlsb2FkLmFjY2Vzc29yeSA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmFjY2Vzc29yeSkgOiB1bmRlZmluZWQpIGFzIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50WydhY2Nlc3NvcnknXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkRmlsZUNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGUsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgZmlsZTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5maWxlISksXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIG5hbWU6IHBheWxvYWQubmFtZSEsXG4gICAgc2l6ZTogcGF5bG9hZC5zaXplISxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhISksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkTGFiZWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgY29tcG9uZW50OiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5jb21wb25lbnQhKSBhcyBEaXNjb3JkTGFiZWxDb21wb25lbnRbJ2NvbXBvbmVudCddLFxuICB9XG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwiYm90IiwicGF5bG9hZCIsInR5cGUiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJDb250YWluZXIiLCJ0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQiLCJUZXh0SW5wdXQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTdHJpbmdTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwiUm9sZVNlbGVjdCIsIlVzZXJTZWxlY3QiLCJNZW50aW9uYWJsZVNlbGVjdCIsInRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQiLCJTZWN0aW9uIiwidHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudCIsIkZpbGUiLCJ0cmFuc2Zvcm1GaWxlQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiTGFiZWwiLCJ0cmFuc2Zvcm1MYWJlbENvbXBvbmVudCIsIlNlcGFyYXRvciIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImF0dGFjaG1lbnRfaWQiLCJhdHRhY2htZW50SWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJtZWRpYSIsInVuZnVybGVkTWVkaWFJdGVtIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwiYWNjZW50X2NvbG9yIiwiYWNjZW50Q29sb3IiLCJzdHlsZSIsImN1c3RvbV9pZCIsImN1c3RvbUlkIiwiZGlzYWJsZWQiLCJlbW9qaSIsIm5hbWUiLCJhbmltYXRlZCIsImxhYmVsIiwic2t1X2lkIiwic2t1SWQiLCJfYm90IiwidmFsdWUiLCJtYXhfbGVuZ3RoIiwibWF4TGVuZ3RoIiwibWluX2xlbmd0aCIsIm1pbkxlbmd0aCIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJ2YWx1ZXMiLCJjaGFubmVsX3R5cGVzIiwiY2hhbm5lbFR5cGVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdFZhbHVlIiwibWF4X3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1pbl92YWx1ZXMiLCJtaW5WYWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwiZGVmYXVsdCIsImFjY2Vzc29yeSIsImZpbGUiLCJzaXplIiwiaXRlbXMiLCJpdGVtIiwibWVkaWFHYWxsZXJ5SXRlbSJdLCJtYXBwaW5ncyI6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
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgVGV4dFN0eWxlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uLy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50KFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogQ29tcG9uZW50LFxuKTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIHJldHVybiB7XG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRBY3Rpb25Sb3cge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgLy8gVGhlIGFjdGlvblJvdy5jb21wb25lbnRzIHR5cGUgaXMga2luZGEgYW5ub3lpbmcsIHNvIHdlIG5lZWQgYSBjYXN0IGZvciB0aGlzXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/PyBbXSkgYXMgRGlzY29yZEFjdGlvblJvd1snY29tcG9uZW50cyddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgQnV0dG9uU3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBlbW9qaTogcGF5bG9hZC5lbW9qaVxuICAgICAgPyB7XG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogbnVsbCxcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwsXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBza3VfaWQ6IHBheWxvYWQuc2t1SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuc2t1SWQpIDogdW5kZWZpbmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChfYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIFRleHRTdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgdmFsdWU6IHBheWxvYWQudmFsdWUsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUgYXMgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnRbJ3R5cGUnXSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGNoYW5uZWxfdHlwZXM6IHBheWxvYWQuY2hhbm5lbFR5cGVzLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgIH0pKSxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpIGFzIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFtdLFxuICAgIGFjY2Vzc29yeTogKHBheWxvYWQuYWNjZXNzb3J5ID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KSA6IHVuZGVmaW5lZCkgYXMgRGlzY29yZFNlY3Rpb25Db21wb25lbnRbJ2FjY2Vzc29yeSddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBpdGVtczogcGF5bG9hZC5pdGVtcz8ubWFwKChpdGVtKSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKSA/PyBbXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWwsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIkNoYW5uZWxTZWxlY3QiLCJSb2xlU2VsZWN0IiwiVXNlclNlbGVjdCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJUZXh0RGlzcGxheSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eV91cmwiLCJwcm94eVVybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudF90eXBlIiwiY29udGVudFR5cGUiLCJhdHRhY2htZW50X2lkIiwiYXR0YWNobWVudElkIiwidHJhbnNmb3JtZXJzIiwicmV2ZXJzZSIsInNub3dmbGFrZSIsInVuZGVmaW5lZCIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIiwibWVkaWEiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsImRlc2NyaXB0aW9uIiwic3BvaWxlciIsImlkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsImFjY2VudF9jb2xvciIsImFjY2VudENvbG9yIiwic3R5bGUiLCJjdXN0b21faWQiLCJjdXN0b21JZCIsImRpc2FibGVkIiwiZW1vamkiLCJuYW1lIiwiYW5pbWF0ZWQiLCJsYWJlbCIsInNrdV9pZCIsInNrdUlkIiwiX2JvdCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwidmFsdWVzIiwiY2hhbm5lbF90eXBlcyIsImNoYW5uZWxUeXBlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBb0JFQSxxQkFBcUIsUUFFaEIsb0JBQW1CO0FBSTFCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1FBQ3ZDLEtBQUtiLHNCQUFzQmMsYUFBYTtRQUN4QyxLQUFLZCxzQkFBc0JlLFVBQVU7UUFD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
@@ -30,6 +30,7 @@ export interface Activity {
30
30
  largeText?: string;
31
31
  smallImage?: string;
32
32
  smallText?: string;
33
+ inviteCoverImage?: string;
33
34
  match?: string;
34
35
  instance?: boolean;
35
36
  buttons?: ActivityButton[];