@pipeline-builder/pipeline-core 4.4.6 → 4.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/cdk.js +1 -1
  2. package/lib/config/app-config.js +1 -1
  3. package/lib/config/aws-config-cdk.js +1 -1
  4. package/lib/config/config-types.d.ts +24 -14
  5. package/lib/config/config-types.js +1 -1
  6. package/lib/config/handler-constants.js +1 -1
  7. package/lib/config/infrastructure-config.js +8 -5
  8. package/lib/config/server-config.js +1 -1
  9. package/lib/config/service-client.js +1 -1
  10. package/lib/core/artifact-manager.js +1 -1
  11. package/lib/core/audit-correlation.js +1 -1
  12. package/lib/core/id-generator.js +1 -1
  13. package/lib/core/metadata-builder.js +1 -1
  14. package/lib/core/metadata-helpers.js +1 -1
  15. package/lib/core/network-types.js +1 -1
  16. package/lib/core/network.js +1 -1
  17. package/lib/core/pipeline-helpers.js +1 -1
  18. package/lib/core/pipeline-registration.js +1 -1
  19. package/lib/core/pipeline-types.js +1 -1
  20. package/lib/core/platform-tls.js +1 -1
  21. package/lib/core/plugin-contract.js +1 -1
  22. package/lib/core/plugin-lookup-envelope.js +1 -1
  23. package/lib/core/quota-exceeded.js +1 -1
  24. package/lib/core/role-types.js +1 -1
  25. package/lib/core/role.js +1 -1
  26. package/lib/core/runtime-check.js +1 -1
  27. package/lib/core/security-group-types.js +1 -1
  28. package/lib/core/security-group.js +1 -1
  29. package/lib/core/security-reports.js +1 -1
  30. package/lib/core/step-manifest.js +1 -1
  31. package/lib/core/synth-failure.js +1 -1
  32. package/lib/handlers/bundle/index.mjs +43 -0
  33. package/lib/handlers/platform-credential.js +1 -1
  34. package/lib/handlers/plugin-lookup-handler.js +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/pipeline/deploy-attribution.js +1 -1
  37. package/lib/pipeline/pipeline-builder.js +1 -1
  38. package/lib/pipeline/pipeline-configuration.js +1 -1
  39. package/lib/pipeline/plugin-lookup.js +18 -26
  40. package/lib/pipeline/plugin-spec.js +1 -1
  41. package/lib/pipeline/runtime-vuln-check-step.js +1 -1
  42. package/lib/pipeline/source-builder.js +1 -1
  43. package/lib/pipeline/source-types.js +1 -1
  44. package/lib/pipeline/stage-builder.js +1 -1
  45. package/lib/pipeline/step-manifest-recorder.js +1 -1
  46. package/lib/pipeline/step-types.js +1 -1
  47. package/lib/pipeline/structure-preview.js +1 -1
  48. package/lib/template/draft.js +1 -1
  49. package/lib/template/evaluator.js +1 -1
  50. package/lib/template/index.js +1 -1
  51. package/lib/template/plugin-resolver.js +1 -1
  52. package/lib/template/tokenizer.js +1 -1
  53. package/lib/template/topo-sort.js +1 -1
  54. package/lib/template/validate.js +1 -1
  55. package/lib/template/walker.js +1 -1
  56. package/package.json +8 -8
package/lib/cdk.js CHANGED
@@ -42,4 +42,4 @@ export * from './pipeline/pipeline-builder.js';
42
42
  export * from './pipeline/plugin-lookup.js';
43
43
  export * from './pipeline/step-manifest-recorder.js';
44
44
  export { PipelineConfiguration } from './pipeline/pipeline-configuration.js';
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFFSCw2REFBNkQ7QUFDN0QsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxpREFBaUQ7QUFDakQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsMkJBQTJCLEdBQzVCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsOENBQThDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQG1vZHVsZSBAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlL2Nka1xuICpcbiAqIFRoZSBBV1MgQ0RLIHN1cmZhY2U6IHRoZSBjb25zdHJ1Y3RzIHRoYXQgYXNzZW1ibGUgYSBwaXBlbGluZSBpbnRvIGFcbiAqIENvZGVQaXBlbGluZSBzdGFjaywgdGhlIHN5bnRoLXRpbWUgYXV0aG9yaW5nIHR5cGVzIHRoZXkgdGFrZSwgYW5kIHRoZSBhZGFwdGVyc1xuICogdGhhdCB0dXJuIHBsYWluIGBBV1NDb25maWdgIGRhdGEgaW50byBDREsgdmFsdWUgb2JqZWN0cy5cbiAqXG4gKiBFdmVyeXRoaW5nIHJlYWNoYWJsZSBmcm9tIGhlcmUgcHVsbHMgaW4gYGF3cy1jZGstbGliYCwgd2hpY2ggaXMgd2h5IGl0IGlzIGFcbiAqIHNlcGFyYXRlIGVudHJ5IHBvaW50IGZyb20gdGhlIHBhY2thZ2Ugcm9vdC4gSW1wb3J0IGZyb20gaGVyZSBvbmx5IGluIGNvZGUgdGhhdFxuICogYWN0dWFsbHkgc3ludGhlc2l6ZXMgc3RhY2tzIOKAlCB0aGUgQ0xJJ3MgQ0RLIGFwcC4gU2VydmljZXMgdGhhdCBqdXN0IG5lZWQgY29uZmlnXG4gKiBvciBkb21haW4gdHlwZXMgaW1wb3J0IGBAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlYCBpbnN0ZWFkIGFuZCBuZXZlciBsb2FkXG4gKiB0aGUgQ0RLLiBgYXdzLWNkay1saWJgIGFuZCBgY29uc3RydWN0c2AgYXJlIHBlZXIgZGVwZW5kZW5jaWVzOyB0aGUgY29uc3VtaW5nIGFwcFxuICogc3VwcGxpZXMgdGhlbSwgc28gdGhlcmUgaXMgZXhhY3RseSBvbmUgY29weSBvZiBlYWNoIG9uIHRoZSByZXNvbHV0aW9uIGdyYXBoLlxuICpcbiAqICoqQ29uc3RydWN0cyoqXG4gKiAtIFBpcGVsaW5lQnVpbGRlciDigJQgdG9wLWxldmVsIENESyBwaXBlbGluZSBjb25zdHJ1Y3RcbiAqIC0gU3RhZ2VCdWlsZGVyIOKAlCBwaXBlbGluZSBzdGFnZSBjb21wb3NpdGlvblxuICogLSBQbHVnaW5Mb29rdXAg4oCUIHBsdWdpbiByZXNvbHV0aW9uIGN1c3RvbSByZXNvdXJjZVxuICogLSBBcnRpZmFjdE1hbmFnZXIg4oCUIGJ1aWxkIGFydGlmYWN0IG1hbmFnZW1lbnRcbiAqIC0gUGlwZWxpbmVDb25maWd1cmF0aW9uIOKAlCBwaXBlbGluZSBjb25maWcgcmVzb2x1dGlvblxuICpcbiAqICoqQXV0aG9yaW5nIHR5cGVzKipcbiAqIC0gU291cmNlVHlwZXMsIFN0ZXBUeXBlcyDigJQgcGlwZWxpbmUgc291cmNlIGFuZCBzdGVwIGNvbmZpZ3VyYXRpb25cbiAqIC0gTmV0d29ya1R5cGVzIOKAlCBWUEMvc3VibmV0L3NlY3VyaXR5LWdyb3VwIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiAqKkNvbmZpZyBhZGFwdGVycyoqXG4gKiAtIGxhbWJkYVJ1bnRpbWUsIGxhbWJkYVRpbWVvdXQsIGxhbWJkYUFyY2hpdGVjdHVyZSDigJQgYEFXU0NvbmZpZ2Ag4oaSIENESyB2YWx1ZXNcbiAqL1xuXG4vLyBDb25maWcgYWRhcHRlcnMgKHBsYWluIEFXU0NvbmZpZyBkYXRhIOKGkiBDREsgdmFsdWUgb2JqZWN0cylcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnL2F3cy1jb25maWctY2RrLmpzJztcblxuLy8gSW5mcmFzdHJ1Y3R1cmUgdHlwZXMgdGhhdCByZWZlcmVuY2UgQ0RLIHZhbHVlc1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL25ldHdvcmstdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2FydGlmYWN0LW1hbmFnZXIuanMnO1xuZXhwb3J0IHtcbiAgYnVpbGRDb25maWdGcm9tTWV0YWRhdGEsXG4gIG1ldGFkYXRhRm9yQ29kZVBpcGVsaW5lLFxuICBtZXRhZGF0YUZvckNvZGVCdWlsZFN0ZXAsXG4gIG1ldGFkYXRhRm9yU2hlbGxTdGVwLFxuICBtZXRhZGF0YUZvckJ1aWxkRW52aXJvbm1lbnQsXG59IGZyb20gJy4vY29yZS9tZXRhZGF0YS1idWlsZGVyLmpzJztcblxuLy8gUGlwZWxpbmUgYXV0aG9yaW5nIHR5cGVzIGFuZCBDREsgY29uc3RydWN0c1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9zb3VyY2UtdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9zdGVwLXR5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvc3RhZ2UtYnVpbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3BpcGVsaW5lLWJ1aWxkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9wbHVnaW4tbG9va3VwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvc3RlcC1tYW5pZmVzdC1yZWNvcmRlci5qcyc7XG5leHBvcnQgeyBQaXBlbGluZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3BpcGVsaW5lL3BpcGVsaW5lLWNvbmZpZ3VyYXRpb24uanMnO1xuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUVILDZEQUE2RDtBQUM3RCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGlEQUFpRDtBQUNqRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyw4Q0FBOEM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBAbW9kdWxlIEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUvY2RrXG4gKlxuICogVGhlIEFXUyBDREsgc3VyZmFjZTogdGhlIGNvbnN0cnVjdHMgdGhhdCBhc3NlbWJsZSBhIHBpcGVsaW5lIGludG8gYVxuICogQ29kZVBpcGVsaW5lIHN0YWNrLCB0aGUgc3ludGgtdGltZSBhdXRob3JpbmcgdHlwZXMgdGhleSB0YWtlLCBhbmQgdGhlIGFkYXB0ZXJzXG4gKiB0aGF0IHR1cm4gcGxhaW4gYEFXU0NvbmZpZ2AgZGF0YSBpbnRvIENESyB2YWx1ZSBvYmplY3RzLlxuICpcbiAqIEV2ZXJ5dGhpbmcgcmVhY2hhYmxlIGZyb20gaGVyZSBwdWxscyBpbiBgYXdzLWNkay1saWJgLCB3aGljaCBpcyB3aHkgaXQgaXMgYVxuICogc2VwYXJhdGUgZW50cnkgcG9pbnQgZnJvbSB0aGUgcGFja2FnZSByb290LiBJbXBvcnQgZnJvbSBoZXJlIG9ubHkgaW4gY29kZSB0aGF0XG4gKiBhY3R1YWxseSBzeW50aGVzaXplcyBzdGFja3Mg4oCUIHRoZSBDTEkncyBDREsgYXBwLiBTZXJ2aWNlcyB0aGF0IGp1c3QgbmVlZCBjb25maWdcbiAqIG9yIGRvbWFpbiB0eXBlcyBpbXBvcnQgYEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmVgIGluc3RlYWQgYW5kIG5ldmVyIGxvYWRcbiAqIHRoZSBDREsuIGBhd3MtY2RrLWxpYmAgYW5kIGBjb25zdHJ1Y3RzYCBhcmUgcGVlciBkZXBlbmRlbmNpZXM7IHRoZSBjb25zdW1pbmcgYXBwXG4gKiBzdXBwbGllcyB0aGVtLCBzbyB0aGVyZSBpcyBleGFjdGx5IG9uZSBjb3B5IG9mIGVhY2ggb24gdGhlIHJlc29sdXRpb24gZ3JhcGguXG4gKlxuICogKipDb25zdHJ1Y3RzKipcbiAqIC0gUGlwZWxpbmVCdWlsZGVyIOKAlCB0b3AtbGV2ZWwgQ0RLIHBpcGVsaW5lIGNvbnN0cnVjdFxuICogLSBTdGFnZUJ1aWxkZXIg4oCUIHBpcGVsaW5lIHN0YWdlIGNvbXBvc2l0aW9uXG4gKiAtIFBsdWdpbkxvb2t1cCDigJQgcGx1Z2luIHJlc29sdXRpb24gY3VzdG9tIHJlc291cmNlXG4gKiAtIEFydGlmYWN0TWFuYWdlciDigJQgYnVpbGQgYXJ0aWZhY3QgbWFuYWdlbWVudFxuICogLSBQaXBlbGluZUNvbmZpZ3VyYXRpb24g4oCUIHBpcGVsaW5lIGNvbmZpZyByZXNvbHV0aW9uXG4gKlxuICogKipBdXRob3JpbmcgdHlwZXMqKlxuICogLSBTb3VyY2VUeXBlcywgU3RlcFR5cGVzIOKAlCBwaXBlbGluZSBzb3VyY2UgYW5kIHN0ZXAgY29uZmlndXJhdGlvblxuICogLSBOZXR3b3JrVHlwZXMg4oCUIFZQQy9zdWJuZXQvc2VjdXJpdHktZ3JvdXAgY29uZmlndXJhdGlvblxuICpcbiAqICoqQ29uZmlnIGFkYXB0ZXJzKipcbiAqIC0gbGFtYmRhUnVudGltZSwgbGFtYmRhVGltZW91dCwgbGFtYmRhQXJjaGl0ZWN0dXJlIOKAlCBgQVdTQ29uZmlnYCDihpIgQ0RLIHZhbHVlc1xuICovXG5cbi8vIENvbmZpZyBhZGFwdGVycyAocGxhaW4gQVdTQ29uZmlnIGRhdGEg4oaSIENESyB2YWx1ZSBvYmplY3RzKVxuZXhwb3J0ICogZnJvbSAnLi9jb25maWcvYXdzLWNvbmZpZy1jZGsuanMnO1xuXG4vLyBJbmZyYXN0cnVjdHVyZSB0eXBlcyB0aGF0IHJlZmVyZW5jZSBDREsgdmFsdWVzXG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbmV0d29yay10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvYXJ0aWZhY3QtbWFuYWdlci5qcyc7XG5leHBvcnQge1xuICBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YSxcbiAgbWV0YWRhdGFGb3JDb2RlUGlwZWxpbmUsXG4gIG1ldGFkYXRhRm9yQ29kZUJ1aWxkU3RlcCxcbiAgbWV0YWRhdGFGb3JTaGVsbFN0ZXAsXG4gIG1ldGFkYXRhRm9yQnVpbGRFbnZpcm9ubWVudCxcbn0gZnJvbSAnLi9jb3JlL21ldGFkYXRhLWJ1aWxkZXIuanMnO1xuXG4vLyBQaXBlbGluZSBhdXRob3JpbmcgdHlwZXMgYW5kIENESyBjb25zdHJ1Y3RzXG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3NvdXJjZS10eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3N0ZXAtdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9zdGFnZS1idWlsZGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcGlwZWxpbmUtYnVpbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3BsdWdpbi1sb29rdXAuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9zdGVwLW1hbmlmZXN0LXJlY29yZGVyLmpzJztcbmV4cG9ydCB7IFBpcGVsaW5lQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vcGlwZWxpbmUvcGlwZWxpbmUtY29uZmlndXJhdGlvbi5qcyc7XG4iXX0=
@@ -200,4 +200,4 @@ export class Config {
200
200
  return this.get(section);
201
201
  }
202
202
  }
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxrQkFBa0IsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRKLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1Qjs7R0FFRztBQUNIOzs7R0FHRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhHLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBVSxZQUFZLEdBQUcsY0FBYyxDQUFDO0lBRTlDLDhHQUE4RztJQUM5Ryx3R0FBd0c7SUFDeEcsc0dBQXNHO0lBQ3RHLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN6RSx1RUFBdUU7SUFDdkUsTUFBTSxDQUFVLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0lBRTdFLE1BQU0sQ0FBVSx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQztJQUNyRixNQUFNLENBQVUsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsbUJB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UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWTtRQUNqQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBlbnZJbnQsIGVudlN0ciwgTUFYX1BBR0VfTElNSVQgYXMgU0hBUkVEX01BWF9QQUdFX0xJTUlULCBERUZBVUxUX1BBR0VfTElNSVQgYXMgU0hBUkVEX0RFRkFVTFRfUEFHRV9MSU1JVCB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB0eXBlIHsgQXBwQ29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuaW1wb3J0ICogYXMgSGFuZGxlckNvbnN0YW50cyBmcm9tICcuL2hhbmRsZXItY29uc3RhbnRzLmpzJztcbmltcG9ydCB7XG4gIGxvYWRSZWdpc3RyeUNvbmZpZyxcbiAgbG9hZFBsdWdpbkJ1aWxkQ29uZmlnLFxuICBsb2FkRG9ja2VyQ29uZmlnLFxuICBsb2FkRGF0YWJhc2VDb25maWcsXG4gIGxvYWRPYnNlcnZhYmlsaXR5Q29uZmlnLFxuICBsb2FkQ29tcGxpYW5jZUNvbmZpZyxcbiAgbG9hZEFXU0NvbmZpZyxcbn0gZnJvbSAnLi9pbmZyYXN0cnVjdHVyZS1jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgbG9hZFNlcnZlckNvbmZpZyxcbiAgbG9hZEF1dGhDb25maWcsXG4gIGxvYWRSYXRlTGltaXRDb25maWcsXG4gIHZhbGlkYXRlU2VydmVyQ29uZmlnLFxuICB2YWxpZGF0ZUF1dGhDb25maWcsXG59IGZyb20gJy4vc2VydmVyLWNvbmZpZy5qcyc7XG5cbi8qKlxuICogQ29yZSBjb25zdGFudHMg4oCUIGNvbmZpZ3VyYWJsZSB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggc2Vuc2libGUgZGVmYXVsdHMuXG4gKi9cbi8qKlxuICogUmUtZXhwb3J0ZWQgZnJvbSBhcGktY29yZSBzbyB0aGUgQVBJIHNjaGVtYSBhbmQge0BsaW5rIFBpcGVsaW5lQnVpbGRlcn0gcmVmdXNlXG4gKiB0aGUgU0FNRSB0YWcga2V5czsgc2VlIGB0eXBlcy9yZXNlcnZlZC10YWdzLnRzYCBmb3Igd2h5IGJvdGggY2hlY2tzIGV4aXN0LlxuICovXG5leHBvcnQgeyBSRVNFUlZFRF9UQUdfS0VZUywgUkVTRVJWRURfVEFHX1BSRUZJWEVTLCBpc1Jlc2VydmVkVGFnS2V5IH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgQ29yZUNvbnN0YW50cyB7XG4gIHN0YXRpYyByZWFkb25seSBOQU1FX1BBVFRFUk4gPSAvXlthLXowLTktXSskLztcblxuICAvLyBDdXN0b20gUmVzb3VyY2UgSGFuZGxlciBjb25maWd1cmF0aW9uIChtdXN0IGJlIGxlc3MgdGhhbiBMYW1iZGEgdGltZW91dCBvZiAzMHMgdG8gYWxsb3cgcmVzcG9uc2UgaGFuZGxpbmcpLlxuICAvLyBTb3VyY2VkIGZyb20gdGhlIGRlcGVuZGVuY3ktZnJlZSBgaGFuZGxlci1jb25zdGFudHMudHNgIGxlYWYg4oCUIHRoZSBMYW1iZGEgaGFuZGxlciBpbXBvcnRzIHRoYXQgbW9kdWxlXG4gIC8vIGRpcmVjdGx5IChub3QgdGhpcyBvbmUpIHNvIGl0cyBlc2J1aWxkIGJ1bmRsZSBuZXZlciBwdWxscyBpbiBhd3MtY2RrLWxpYiB2aWEgaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLlxuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9USU1FT1VUX01TID0gSGFuZGxlckNvbnN0YW50cy5IQU5ETEVSX1RJTUVPVVRfTVM7XG4gIC8qKiBEZWZhdWx0IHBsYXRmb3JtIFVSTCBmYWxsYmFjayB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIG5vdCBzZXQuICovXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BMQVRGT1JNX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuREVGQVVMVF9QTEFURk9STV9VUkw7XG5cbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfREVGQVVMVF9CQVNFX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMO1xuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9NQVhfUkVUUklFUyA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9NQVhfUkVUUklFUztcbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfUkVUUllfREVMQVlfTVMgPSBIYW5kbGVyQ29uc3RhbnRzLkhBTkRMRVJfUkVUUllfREVMQVlfTVM7XG5cbiAgLy8gUGx1Z2luIGJ1aWxkIHF1ZXVlIGNvbmZpZ3VyYXRpb24uXG4gIC8vIE5PVEU6IG1heEF0dGVtcHRzIC8gYmFja29mZkRlbGF5TXMgLyB3b3JrZXJUaW1lb3V0TXMgYXJlIE5PVCBkdXBsaWNhdGVkIGhlcmUg4oCUXG4gIC8vIGBsb2FkUGx1Z2luQnVpbGRDb25maWdgIChpbmZyYXN0cnVjdHVyZS1jb25maWcudHMpIGlzIHRoZWlyIHNpbmdsZSBzb3VyY2Ugb2ZcbiAgLy8gdHJ1dGgsIHJlYWQgdmlhIGBDb25maWcuZ2V0KCdwbHVnaW5CdWlsZCcpYC5cbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9RVUVVRV9OQU1FID0gZW52U3RyKCdQTFVHSU5fQlVJTERfUVVFVUVfTkFNRScsICdwbHVnaW4tYnVpbGQnKTtcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MnLCAzXzYwMCk7IC8vIDEgaHJcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MnLCA4Nl80MDApOyAvLyAyNCBoclxuXG4gIC8vIFBhZ2luYXRpb24gYW5kIGxpbWl0cyDigJQgc2luZ2xlIHNvdXJjZSBpbiBhcGktY29yZSAodmFsaWRhdGlvbi9jb21tb24tc2NoZW1hcylcbiAgLy8gc28gdGhlIHZhbGlkYXRpb24gbGF5ZXIsIHRoaXMgY29uZmlnLCBhbmQgcGlwZWxpbmUtZGF0YSdzIENydWRTZXJ2aWNlIG5ldmVyIGRyaWZ0LlxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BBR0VfTElNSVQgPSBTSEFSRURfTUFYX1BBR0VfTElNSVQ7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBR0VfTElNSVQgPSBTSEFSRURfREVGQVVMVF9QQUdFX0xJTUlUO1xuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BST01QVF9MRU5HVEggPSBlbnZJbnQoJ01BWF9QUk9NUFRfTEVOR1RIJywgNV8wMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX01BWF9VUExPQURfTUIgPSBlbnZJbnQoJ1BMVUdJTl9NQVhfVVBMT0FEX01CJywgNF8wOTYpO1xuICBzdGF0aWMgcmVhZG9ubHkgUElQRUxJTkVfTkFNRV9NQVhfTEVOR1RIID0gZW52SW50KCdQSVBFTElORV9OQU1FX01BWF9MRU5HVEgnLCAxMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QTFVHSU5fVkVSU0lPTiA9IGVudlN0cignREVGQVVMVF9QTFVHSU5fVkVSU0lPTicsICcxLjAuMCcpO1xuXG4gIC8vIFNTRSBzdHJlYW0gdGltZW91dCBmb3IgQUkgZ2VuZXJhdGlvbiBlbmRwb2ludHNcbiAgc3RhdGljIHJlYWRvbmx5IFNTRV9TVFJFQU1fVElNRU9VVF9NUyA9IGVudkludCgnU1NFX1NUUkVBTV9USU1FT1VUX01TJywgMzAwXzAwMCk7IC8vIDUgbWluXG5cbiAgLy8gR2l0IHByb3ZpZGVyIEFQSSBiYXNlIFVSTHMgKGNvbmZpZ3VyYWJsZSBmb3IgZW50ZXJwcmlzZSBpbnN0YW5jZXMpXG4gIHN0YXRpYyByZWFkb25seSBHSVRIVUJfQVBJX0JBU0VfVVJMID0gZW52U3RyKCdHSVRIVUJfQVBJX0JBU0VfVVJMJywgJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20nKTtcbiAgc3RhdGljIHJlYWRvbmx5IEJJVEJVQ0tFVF9BUElfQkFTRV9VUkwgPSBlbnZTdHIoJ0JJVEJVQ0tFVF9BUElfQkFTRV9VUkwnLCAnaHR0cHM6Ly9hcGkuYml0YnVja2V0Lm9yZy8yLjAnKTtcbiAgLy8gUGlubmVkIGxpa2UgaXRzIHNpYmxpbmdzLCBhbmQgZm9yIHRoZSBzYW1lIHJlYXNvbjogdGhlIHJlcG9zaXRvcnkgVVJMIGJlaW5nXG4gIC8vIGFuYWx5emVkIGlzIFJFUVVFU1QgZGF0YSAoYW55IGBwaXBlbGluZXM6d3JpdGVgIGhvbGRlciBjYW4gcG9zdCBvbmUgdG9cbiAgLy8gYC9waXBlbGluZXMvYW5hbHl6ZS9mcm9tLXVybGApLCBzbyB0aGUgaG9zdCBpdCByZXNvbHZlcyBtdXN0IG5ldmVyIGNvbWUgZnJvbVxuICAvLyBpdC4gUG9pbnQgdGhpcyBhdCBhIHNlbGYtbWFuYWdlZCBHaXRMYWIgdG8gYW5hbHl6ZSBvbmUg4oCUIHRoZSBvcGVyYXRvclxuICAvLyBjaG9vc2VzIHRoZSBpbnN0YW5jZSwgbm90IHRoZSBjYWxsZXIuXG4gIHN0YXRpYyByZWFkb25seSBHSVRMQUJfQVBJX0JBU0VfVVJMID0gZW52U3RyKCdHSVRMQUJfQVBJX0JBU0VfVVJMJywgJ2h0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjQnKTtcblxuICAvLyBCdWxrIG9wZXJhdGlvbnMgYW5kIGV2ZW50IGluZ2VzdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX0JVTEtfSVRFTVMgPSBlbnZJbnQoJ01BWF9CVUxLX0lURU1TJywgMTAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IE1BWF9FVkVOVFNfUEVSX0JBVENIID0gZW52SW50KCdNQVhfRVZFTlRTX1BFUl9CQVRDSCcsIDEwMCk7XG5cbiAgLy8gU2VjcmV0cyBNYW5hZ2VyIHBhdGggcHJlZml4IGZvciBvcmctc2NvcGVkIHNlY3JldHNcbiAgc3RhdGljIHJlYWRvbmx5IFNFQ1JFVFNfUEFUSF9QUkVGSVggPSBlbnZTdHIoJ1NFQ1JFVFNfUEFUSF9QUkVGSVgnLCAncGlwZWxpbmUtYnVpbGRlcicpO1xuXG4gIC8qKiBCdWlsZCBhIFNlY3JldHMgTWFuYWdlciBwYXRoOiB7cHJlZml4fS97b3JnSWR9L3tuYW1lfSAqL1xuICBzdGF0aWMgc2VjcmV0UGF0aChvcmdJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtDb3JlQ29uc3RhbnRzLlNFQ1JFVFNfUEFUSF9QUkVGSVh9LyR7b3JnSWR9LyR7bmFtZX1gO1xuICB9XG5cbiAgLy8gRGF0YWJhc2UgY29ubmVjdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgREJfTUFYX1JFVFJJRVMgPSBlbnZJbnQoJ0RCX01BWF9SRVRSSUVTJywgMyk7XG4gIHN0YXRpYyByZWFkb25seSBEQl9SRVRSWV9ERUxBWV9NUyA9IGVudkludCgnREJfUkVUUllfREVMQVlfTVMnLCAxXzAwMCk7IC8vIDFzXG5cbiAgLy8gUmVzcG9uc2UgY29tcHJlc3Npb25cbiAgc3RhdGljIHJlYWRvbmx5IENPTVBSRVNTSU9OX1RIUkVTSE9MRF9CWVRFUyA9IGVudkludCgnQ09NUFJFU1NJT05fVEhSRVNIT0xEX0JZVEVTJywgMV8wMjQpO1xuXG4gIC8vIElkZW1wb3RlbmN5XG4gIHN0YXRpYyByZWFkb25seSBJREVNUE9URU5DWV9UVExfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX1RUTF9NUycsIDMwMF8wMDApOyAvLyA1IG1pblxuICAvLyBMaWZldGltZSBvZiBhbiBJTi1GTElHSFQgcmVzZXJ2YXRpb24gKG5vIHJlc3BvbnNlIHlldCkuIEJvdW5kcyBob3cgbG9uZyBhXG4gIC8vIGtleSBzdGF5cyBsb2NrZWQgKDQwOSkgd2hlbiB0aGUgcHJvY2VzcyBkaWVzIG1pZC1oYW5kbGVyOyBtdXN0IGV4Y2VlZCB0aGVcbiAgLy8gbG9uZ2VzdCBsZWdpdGltYXRlIGhhbmRsZXIgcnVuLCBzaW5jZSBhbiBleHBpcmVkIHJlc2VydmF0aW9uIGxldHMgYVxuICAvLyBkdXBsaWNhdGUgdGhyb3VnaC5cbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX1BFTkRJTkdfVFRMX01TID0gZW52SW50KCdJREVNUE9URU5DWV9QRU5ESU5HX1RUTF9NUycsIDEyMF8wMDApOyAvLyAyIG1pblxuICBzdGF0aWMgcmVhZG9ubHkgSURFTVBPVEVOQ1lfTUFYX1NUT1JFX1NJWkUgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX01BWF9TVE9SRV9TSVpFJywgMTBfMDAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMnLCA2MF8wMDApOyAvLyAxIG1pblxuXG5cbiAgLy8gU2VydmVyLXNpZGUgY2FjaGUgVFRMcyAoc2Vjb25kcylcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9FTlRJVFkgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9FTlRJVFknLCA2MCk7IC8vIHBsdWdpbi9waXBlbGluZSBmaW5kQnlJZFxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX01FU1NBR0UgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9NRVNTQUdFJywgMzAwKTsgLy8gYW5ub3VuY2VtZW50cy9jb252ZXJzYXRpb25zICg1IG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9SRVBPUlRfSU5WRU5UT1JZID0gZW52SW50KCdDQUNIRV9UVExfUkVQT1JUX0lOVkVOVE9SWScsIDMwMCk7IC8vIHBsdWdpbiBzdW1tYXJ5L2Rpc3RyaWJ1dGlvbiAoNSBtaW4pXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9UVExfUkVQT1JUX1RJTUVTRVJJRVMgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9SRVBPUlRfVElNRVNFUklFUycsIDEyMCk7IC8vIGV4ZWN1dGlvbi9idWlsZCBtZXRyaWNzICgyIG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9DT01QTElBTkNFX1JVTEVTID0gZW52SW50KCdDQUNIRV9UVExfQ09NUExJQU5DRV9SVUxFUycsIDYwKTsgLy8gYWN0aXZlIGNvbXBsaWFuY2UgcnVsZXNcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9CSUxMSU5HX1BMQU5TID0gZW52SW50KCdDQUNIRV9UVExfQklMTElOR19QTEFOUycsIDE0XzQwMCk7IC8vIGJpbGxpbmcgcGxhbnMgKDQgaG91cnMpXG5cbiAgLy8gU1NFIGJhY2twcmVzc3VyZVxuICBzdGF0aWMgcmVhZG9ubHkgU1NFX0JBQ0tQUkVTU1VSRV9USFJFU0hPTEQgPSBlbnZJbnQoJ1NTRV9CQUNLUFJFU1NVUkVfVEhSRVNIT0xEJywgMTApO1xuXG4gIC8vIEhUVFAgQ2FjaGUtQ29udHJvbCBoZWFkZXJzXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0xJU1QgPSBlbnZTdHIoJ0NBQ0hFX0NPTlRST0xfTElTVCcsICdwcml2YXRlLCBtYXgtYWdlPTMwLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwJyk7XG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0RFVEFJTCA9IGVudlN0cignQ0FDSEVfQ09OVFJPTF9ERVRBSUwnLCAncHJpdmF0ZSwgbWF4LWFnZT02MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT0xMjAnKTtcbn1cblxuLyoqXG4gKiBQZXItc2VjdGlvbiBsb2FkZXIgbWFwIOKAlCBlYWNoIHNlY3Rpb24gaXMgbG9hZGVkIGxhemlseSBvbiBmaXJzdCBhY2Nlc3MuXG4gKiBUaGlzIGF2b2lkcyBsb2FkaW5nIGFsbCBjb25maWcgc2VjdGlvbnMgKGFuZCB0aGVpciByZXF1aXJlZCBlbnYgdmFycylcbiAqIHdoZW4gb25seSBvbmUgc2VjdGlvbiBpcyBuZWVkZWQgKGUuZy4gQ0RLIHN5bnRoZXNpcyBvbmx5IG5lZWRzICdhd3MnKS5cbiAqL1xuY29uc3Qgc2VjdGlvbkxvYWRlcnM6IHsgW0sgaW4ga2V5b2YgQXBwQ29uZmlnXTogKCkgPT4gQXBwQ29uZmlnW0tdIH0gPSB7XG4gIHNlcnZlcjogbG9hZFNlcnZlckNvbmZpZyxcbiAgYXV0aDogbG9hZEF1dGhDb25maWcsXG4gIGRhdGFiYXNlOiBsb2FkRGF0YWJhc2VDb25maWcsXG4gIHJlZ2lzdHJ5OiBsb2FkUmVnaXN0cnlDb25maWcsXG4gIHBsdWdpbkJ1aWxkOiBsb2FkUGx1Z2luQnVpbGRDb25maWcsXG4gIGRvY2tlckNvbmZpZzogbG9hZERvY2tlckNvbmZpZyxcbiAgb2JzZXJ2YWJpbGl0eTogbG9hZE9ic2VydmFiaWxpdHlDb25maWcsXG4gIGNvbXBsaWFuY2U6IGxvYWRDb21wbGlhbmNlQ29uZmlnLFxuICBhd3M6IGxvYWRBV1NDb25maWcsXG4gIHJhdGVMaW1pdDogbG9hZFJhdGVMaW1pdENvbmZpZyxcbn07XG5cbi8qKiBQZXItc2VjdGlvbiB2YWxpZGF0b3JzIOKAlCBvbmx5IHJ1biBmb3Igc2VjdGlvbnMgdGhhdCBoYXZlIHZhbGlkYXRpb24gbG9naWMuICovXG5jb25zdCBzZWN0aW9uVmFsaWRhdG9yczogUGFydGlhbDx7IFtLIGluIGtleW9mIEFwcENvbmZpZ106IChjb25maWc6IEFwcENvbmZpZ1tLXSkgPT4gdm9pZCB9PiA9IHtcbiAgc2VydmVyOiB2YWxpZGF0ZVNlcnZlckNvbmZpZyxcbn07XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmYWNhZGUgd2l0aCBsYXp5IHBlci1zZWN0aW9uIGxvYWRpbmcuXG4gKlxuICogRWFjaCBzZWN0aW9uIGlzIGxvYWRlZCBhbmQgdmFsaWRhdGVkIGluZGVwZW5kZW50bHkgb24gZmlyc3QgYWNjZXNzLFxuICogc28gcmVxdWVzdGluZyBgQ29uZmlnLmdldCgnYXdzJylgIGRvZXMgbm90IHRyaWdnZXIgbG9hZGluZyBvZlxuICogc2VydmVyIG9yIGF1dGggY29uZmlnIChhbmQgdGhlaXIgZW52IHZhciByZXF1aXJlbWVudHMpLlxuICpcbiAqIFVzYWdlOiBgQ29uZmlnLmdldCgnc2VydmVyJylgLCBgQ29uZmlnLmdldCgnYXV0aCcpYCwgZXRjLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgY2FjaGUgPSBuZXcgTWFwPGtleW9mIEFwcENvbmZpZywgdW5rbm93bj4oKTtcblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBzZWN0aW9uIChsb2FkZWQgbGF6aWx5IG9uIGZpcnN0IGFjY2VzcykuXG4gICAqL1xuICBzdGF0aWMgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBBcHBDb25maWc+KHNlY3Rpb246IEspOiBBcHBDb25maWdbS10ge1xuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoc2VjdGlvbikpIHtcbiAgICAgIGNvbnN0IGxvYWRlciA9IHNlY3Rpb25Mb2FkZXJzW3NlY3Rpb25dO1xuICAgICAgY29uc3QgdmFsdWUgPSBsb2FkZXIoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHNlY3Rpb25WYWxpZGF0b3JzW3NlY3Rpb25dO1xuICAgICAgaWYgKHZhbGlkYXRvcikgKHZhbGlkYXRvciBhcyAodjogQXBwQ29uZmlnW0tdKSA9PiB2b2lkKSh2YWx1ZSk7XG4gICAgICB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSBhcyBBcHBDb25maWdbS107XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYSBwYXJ0aWFsIG92ZXJyaWRlIGludG8gYSBjb25maWcgc2VjdGlvbiwgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciB0aGVcbiAgICogZW52LWxvYWRlZCB2YWx1ZXMgZm9yIGFsbCBzdWJzZXF1ZW50IGBDb25maWcuZ2V0KHNlY3Rpb24pYCBjYWxscy5cbiAgICpcbiAgICogVXNlZCBhdCBDREsgc3ludGggc3RhcnQgdG8gaW5qZWN0IHBsYXRmb3JtLXNvdXJjZWQgaW5mcmFzdHJ1Y3R1cmUgY29uZmlnXG4gICAqIChlLmcuIHRoZSByZWdpc3RyeSBwdWxsIGhvc3QgZGVyaXZlZCBmcm9tIHRoZSBwbGF0Zm9ybSdzIHB1YmxpYyBVUkwpIHNvIHRoZVxuICAgKiBzeW50aCBkb2VzIG5vdCBzaWxlbnRseSBkZXBlbmQgb24gdGhlIG9wZXJhdG9yJ3MgbG9jYWwgYHByb2Nlc3MuZW52YC5cbiAgICogYHVuZGVmaW5lZGAgZmllbGRzIGluIGBwYXJ0aWFsYCBhcmUgaWdub3JlZCBzbyB0aGV5IG5ldmVyIGNsb2JiZXIgYSBsb2FkZWRcbiAgICogdmFsdWUuIExvYWRzIChhbmQgdmFsaWRhdGVzKSB0aGUgc2VjdGlvbiBmaXJzdCBzbyB0aGUgb3ZlcnJpZGUgbWVyZ2VzIG9udG9cbiAgICogdGhlIHJlYWwgZGVmYXVsdHMuXG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGU8SyBleHRlbmRzIGtleW9mIEFwcENvbmZpZz4oc2VjdGlvbjogSywgcGFydGlhbDogUGFydGlhbDxBcHBDb25maWdbS10+KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0KHNlY3Rpb24pO1xuICAgIGNvbnN0IGRlZmluZWQgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhwYXJ0aWFsKS5maWx0ZXIoKFssIHZdKSA9PiB2ICE9PSB1bmRlZmluZWQpLFxuICAgICkgYXMgUGFydGlhbDxBcHBDb25maWdbS10+O1xuICAgIHRoaXMuY2FjaGUuc2V0KHNlY3Rpb24sIHsgLi4uY3VycmVudCwgLi4uZGVmaW5lZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBvdmVycmlkZX0sIGJ1dCBzY29wZWQ6IHNuYXBzaG90cyB0aGUgY3VycmVudCBjYWNoZSBzdGF0ZSBmb3JcbiAgICogYHNlY3Rpb25gIGFuZCByZXR1cm5zIGEgcmVzdG9yZSBmdW5jdGlvbiB0aGF0IHJldmVydHMgaXQuIFVzZSBhcm91bmQgYVxuICAgKiBzaW5nbGUgdW5pdCBvZiB3b3JrIChlLmcuIG9uZSBDREsgUGlwZWxpbmVCdWlsZGVyJ3Mgc3ludGgpIHNvIGEgcGVyLWJ1aWxkZXJcbiAgICogb3ZlcnJpZGUgZG9lcyBOT1QgbGVhayBpbnRvIHRoZSBwcm9jZXNzLXdpZGUgY2FjaGUgYW5kIGJsZWVkIGludG8gc2libGluZ1xuICAgKiBidWlsZGVycyBpbiBhIG11bHRpLXBpcGVsaW5lIENESyBhcHAuIENhbGxpbmcgdGhlIHJldHVybmVkIGZ1bmN0aW9uIHJlc3RvcmVzXG4gICAqIHRoZSBleGFjdCBwcmlvciBzdGF0ZSDigJQgdGhlIHByZXZpb3VzbHkgY2FjaGVkIHZhbHVlLCBvciBhbiB1bmxvYWRlZCBzZWN0aW9uXG4gICAqIGlmIGl0IGhhZCBub3QgYmVlbiBjYWNoZWQgeWV0IChzbyB0aGUgbmV4dCBgZ2V0KClgIHJlLWxvYWRzIGZyb20gZW52KS5cbiAgICovXG4gIHN0YXRpYyBvdmVycmlkZVNjb3BlZDxLIGV4dGVuZHMga2V5b2YgQXBwQ29uZmlnPihcbiAgICBzZWN0aW9uOiBLLFxuICAgIHBhcnRpYWw6IFBhcnRpYWw8QXBwQ29uZmlnW0tdPixcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgaGFkQ2FjaGVkID0gdGhpcy5jYWNoZS5oYXMoc2VjdGlvbik7XG4gICAgY29uc3QgcHJldmlvdXMgPSBoYWRDYWNoZWQgPyB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJyaWRlKHNlY3Rpb24sIHBhcnRpYWwpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoaGFkQ2FjaGVkKSB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCBwcmV2aW91cyk7XG4gICAgICBlbHNlIHRoaXMuY2FjaGUuZGVsZXRlKHNlY3Rpb24pO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGNhY2hlZCBjb25maWcgc2VjdGlvbnMgc28gdGhlIG5leHQgYENvbmZpZy5nZXQoKWAgcmUtcmVhZHMgdGhlbVxuICAgKiBmcm9tIHRoZSBjdXJyZW50IGBwcm9jZXNzLmVudmAgKHJlLXJ1bm5pbmcgZWFjaCBzZWN0aW9uJ3MgbG9hZGVyICsgdmFsaWRhdG9yKS5cbiAgICpcbiAgICogVXNlIHdoZW4gZW52IGhhcyBiZWVuIG11dGF0ZWQgaW4tcHJvY2VzcyBhbmQgdGhlIGNhY2hlIGlzIG5vdyBzdGFsZSDigJQgZS5nLiBhXG4gICAqIGxvbmctcnVubmluZyBDTEkgdGhhdCByZWNvbmZpZ3VyZXMgYmV0d2VlbiBvcGVyYXRpb25zLiBDREsgc3ludGggcnVucyBpbiBhXG4gICAqIGZyZXNoIHN1YnByb2Nlc3MgdGhhdCBhbHJlYWR5IHJlYWRzIGVudiBvbiBmaXJzdCBhY2Nlc3MsIHNvIGl0IGRvZXMgbm90IG5lZWRcbiAgICogdGhpcy4gTm90ZTogdGhpcyBhbHNvIGRyb3BzIGFueSB2YWx1ZXMgc2V0IHZpYSB7QGxpbmsgb3ZlcnJpZGV9LlxuICAgKi9cbiAgc3RhdGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFJlc2V0IGNvbmZpZ3VyYXRpb24gKGZvciB0ZXN0aW5nIG9ubHkpLiBBbGlhcyBmb3Ige0BsaW5rIHJlbG9hZH0uXG4gICAqL1xuICBzdGF0aWMgX3Jlc2V0Rm9yVGVzdGluZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGF1dGggY29uZmlndXJhdGlvbiAoSldUIHNlY3JldHMsIGFsZ29yaXRobXMsIGV4cGlyYXRpb24pLlxuICAgKiBDYWxsIHRoaXMgYXQgc2VydmVyIHN0YXJ0dXAsIG5vdCBkdXJpbmcgQ0RLIHN5bnRoZXNpcy5cbiAgICovXG4gIHN0YXRpYyB2YWxpZGF0ZUF1dGgoKTogdm9pZCB7XG4gICAgdmFsaWRhdGVBdXRoQ29uZmlnKHRoaXMuZ2V0KCdhdXRoJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVudHlwZWQgY29uZmlnIGFjY2VzcyDigJQgdXNlIHdoZW4gdGhlIHB1Ymxpc2hlZCBwYWNrYWdlIHR5cGVzIGRvbid0IGluY2x1ZGUgYSBuZXcgc2VjdGlvbiB5ZXQuXG4gICAqIEF2b2lkcyB0aGUgYChDb25maWcgYXMgdW5rbm93biBhcyAuLi4pLmdldCguLi4pYCBjYXN0IHBhdHRlcm4gaW4gY29uc3VtZXJzLlxuICAgKi9cbiAgc3RhdGljIGdldEFueShzZWN0aW9uOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoc2VjdGlvbiBhcyBrZXlvZiBBcHBDb25maWcpO1xuICB9XG59XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9hcHAtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxJQUFJLHFCQUFxQixFQUFFLGtCQUFrQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEosT0FBTyxLQUFLLGdCQUFnQixNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixhQUFhLEdBQ2QsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCOztHQUVHO0FBQ0g7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFeEcsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFVLFlBQVksR0FBRyxjQUFjLENBQUM7SUFFOUMsOEdBQThHO0lBQzlHLHdHQUF3RztJQUN4RyxzR0FBc0c7SUFDdEcsTUFBTSxDQUFVLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDO0lBQ3pFLHVFQUF1RTtJQUN2RSxNQUFNLENBQVUsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7SUFFN0UsTUFBTSxDQUFVLHdCQUF3QixHQUFHLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDO0lBQ3JGLE1BQU0sQ0FBVSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztJQUMzRSxN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TUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUEwQixDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGVudkludCwgZW52U3RyLCBNQVhfUEFHRV9MSU1JVCBhcyBTSEFSRURfTUFYX1BBR0VfTElNSVQsIERFRkFVTFRfUEFHRV9MSU1JVCBhcyBTSEFSRURfREVGQVVMVF9QQUdFX0xJTUlUIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBBcHBDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5pbXBvcnQgKiBhcyBIYW5kbGVyQ29uc3RhbnRzIGZyb20gJy4vaGFuZGxlci1jb25zdGFudHMuanMnO1xuaW1wb3J0IHtcbiAgbG9hZFJlZ2lzdHJ5Q29uZmlnLFxuICBsb2FkUGx1Z2luQnVpbGRDb25maWcsXG4gIGxvYWREb2NrZXJDb25maWcsXG4gIGxvYWREYXRhYmFzZUNvbmZpZyxcbiAgbG9hZE9ic2VydmFiaWxpdHlDb25maWcsXG4gIGxvYWRDb21wbGlhbmNlQ29uZmlnLFxuICBsb2FkQVdTQ29uZmlnLFxufSBmcm9tICcuL2luZnJhc3RydWN0dXJlLWNvbmZpZy5qcyc7XG5pbXBvcnQge1xuICBsb2FkU2VydmVyQ29uZmlnLFxuICBsb2FkQXV0aENvbmZpZyxcbiAgbG9hZFJhdGVMaW1pdENvbmZpZyxcbiAgdmFsaWRhdGVTZXJ2ZXJDb25maWcsXG4gIHZhbGlkYXRlQXV0aENvbmZpZyxcbn0gZnJvbSAnLi9zZXJ2ZXItY29uZmlnLmpzJztcblxuLyoqXG4gKiBDb3JlIGNvbnN0YW50cyDigJQgY29uZmlndXJhYmxlIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCBzZW5zaWJsZSBkZWZhdWx0cy5cbiAqL1xuLyoqXG4gKiBSZS1leHBvcnRlZCBmcm9tIGFwaS1jb3JlIHNvIHRoZSBBUEkgc2NoZW1hIGFuZCB7QGxpbmsgUGlwZWxpbmVCdWlsZGVyfSByZWZ1c2VcbiAqIHRoZSBTQU1FIHRhZyBrZXlzOyBzZWUgYHR5cGVzL3Jlc2VydmVkLXRhZ3MudHNgIGZvciB3aHkgYm90aCBjaGVja3MgZXhpc3QuXG4gKi9cbmV4cG9ydCB7IFJFU0VSVkVEX1RBR19LRVlTLCBSRVNFUlZFRF9UQUdfUFJFRklYRVMsIGlzUmVzZXJ2ZWRUYWdLZXkgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBDb3JlQ29uc3RhbnRzIHtcbiAgc3RhdGljIHJlYWRvbmx5IE5BTUVfUEFUVEVSTiA9IC9eW2EtejAtOS1dKyQvO1xuXG4gIC8vIEN1c3RvbSBSZXNvdXJjZSBIYW5kbGVyIGNvbmZpZ3VyYXRpb24gKG11c3QgYmUgbGVzcyB0aGFuIExhbWJkYSB0aW1lb3V0IG9mIDMwcyB0byBhbGxvdyByZXNwb25zZSBoYW5kbGluZykuXG4gIC8vIFNvdXJjZWQgZnJvbSB0aGUgZGVwZW5kZW5jeS1mcmVlIGBoYW5kbGVyLWNvbnN0YW50cy50c2AgbGVhZiDigJQgdGhlIExhbWJkYSBoYW5kbGVyIGltcG9ydHMgdGhhdCBtb2R1bGVcbiAgLy8gZGlyZWN0bHkgKG5vdCB0aGlzIG9uZSkgc28gaXRzIGVzYnVpbGQgYnVuZGxlIG5ldmVyIHB1bGxzIGluIGF3cy1jZGstbGliIHZpYSBpbmZyYXN0cnVjdHVyZS1jb25maWcuXG4gIHN0YXRpYyByZWFkb25seSBIQU5ETEVSX1RJTUVPVVRfTVMgPSBIYW5kbGVyQ29uc3RhbnRzLkhBTkRMRVJfVElNRU9VVF9NUztcbiAgLyoqIERlZmF1bHQgcGxhdGZvcm0gVVJMIGZhbGxiYWNrIHdoZW4gUExBVEZPUk1fQkFTRV9VUkwgaXMgbm90IHNldC4gKi9cbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfUExBVEZPUk1fVVJMID0gSGFuZGxlckNvbnN0YW50cy5ERUZBVUxUX1BMQVRGT1JNX1VSTDtcblxuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMID0gSGFuZGxlckNvbnN0YW50cy5IQU5ETEVSX0RFRkFVTFRfQkFTRV9VUkw7XG4gIHN0YXRpYyByZWFkb25seSBIQU5ETEVSX01BWF9SRVRSSUVTID0gSGFuZGxlckNvbnN0YW50cy5IQU5ETEVSX01BWF9SRVRSSUVTO1xuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9SRVRSWV9ERUxBWV9NUyA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9SRVRSWV9ERUxBWV9NUztcblxuICAvLyBQbHVnaW4gYnVpbGQgcXVldWUgY29uZmlndXJhdGlvbi5cbiAgLy8gTk9URTogbWF4QXR0ZW1wdHMgLyBiYWNrb2ZmRGVsYXlNcyAvIHdvcmtlclRpbWVvdXRNcyBhcmUgTk9UIGR1cGxpY2F0ZWQgaGVyZSDigJRcbiAgLy8gYGxvYWRQbHVnaW5CdWlsZENvbmZpZ2AgKGluZnJhc3RydWN0dXJlLWNvbmZpZy50cykgaXMgdGhlaXIgc2luZ2xlIHNvdXJjZSBvZlxuICAvLyB0cnV0aCwgcmVhZCB2aWEgYENvbmZpZy5nZXQoJ3BsdWdpbkJ1aWxkJylgLlxuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX0JVSUxEX1FVRVVFX05BTUUgPSBlbnZTdHIoJ1BMVUdJTl9CVUlMRF9RVUVVRV9OQU1FJywgJ3BsdWdpbi1idWlsZCcpO1xuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX0JVSUxEX0NPTVBMRVRFRF9SRVRFTlRJT05fU0VDUyA9IGVudkludCgnUExVR0lOX0JVSUxEX0NPTVBMRVRFRF9SRVRFTlRJT05fU0VDUycsIDNfNjAwKTsgLy8gMSBoclxuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX0JVSUxEX0ZBSUxFRF9SRVRFTlRJT05fU0VDUyA9IGVudkludCgnUExVR0lOX0JVSUxEX0ZBSUxFRF9SRVRFTlRJT05fU0VDUycsIDg2XzQwMCk7IC8vIDI0IGhyXG5cbiAgLy8gUGFnaW5hdGlvbiBhbmQgbGltaXRzIOKAlCBzaW5nbGUgc291cmNlIGluIGFwaS1jb3JlICh2YWxpZGF0aW9uL2NvbW1vbi1zY2hlbWFzKVxuICAvLyBzbyB0aGUgdmFsaWRhdGlvbiBsYXllciwgdGhpcyBjb25maWcsIGFuZCBwaXBlbGluZS1kYXRhJ3MgQ3J1ZFNlcnZpY2UgbmV2ZXIgZHJpZnQuXG4gIHN0YXRpYyByZWFkb25seSBNQVhfUEFHRV9MSU1JVCA9IFNIQVJFRF9NQVhfUEFHRV9MSU1JVDtcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfUEFHRV9MSU1JVCA9IFNIQVJFRF9ERUZBVUxUX1BBR0VfTElNSVQ7XG4gIHN0YXRpYyByZWFkb25seSBNQVhfUFJPTVBUX0xFTkdUSCA9IGVudkludCgnTUFYX1BST01QVF9MRU5HVEgnLCA1XzAwMCk7XG4gIHN0YXRpYyByZWFkb25seSBQTFVHSU5fTUFYX1VQTE9BRF9NQiA9IGVudkludCgnUExVR0lOX01BWF9VUExPQURfTUInLCA0XzA5Nik7XG4gIHN0YXRpYyByZWFkb25seSBQSVBFTElORV9OQU1FX01BWF9MRU5HVEggPSBlbnZJbnQoJ1BJUEVMSU5FX05BTUVfTUFYX0xFTkdUSCcsIDEwMCk7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BMVUdJTl9WRVJTSU9OID0gZW52U3RyKCdERUZBVUxUX1BMVUdJTl9WRVJTSU9OJywgJzEuMC4wJyk7XG5cbiAgLy8gU1NFIHN0cmVhbSB0aW1lb3V0IGZvciBBSSBnZW5lcmF0aW9uIGVuZHBvaW50c1xuICBzdGF0aWMgcmVhZG9ubHkgU1NFX1NUUkVBTV9USU1FT1VUX01TID0gZW52SW50KCdTU0VfU1RSRUFNX1RJTUVPVVRfTVMnLCAzMDBfMDAwKTsgLy8gNSBtaW5cblxuICAvLyBHaXQgcHJvdmlkZXIgQVBJIGJhc2UgVVJMcyAoY29uZmlndXJhYmxlIGZvciBlbnRlcnByaXNlIGluc3RhbmNlcylcbiAgc3RhdGljIHJlYWRvbmx5IEdJVEhVQl9BUElfQkFTRV9VUkwgPSBlbnZTdHIoJ0dJVEhVQl9BUElfQkFTRV9VUkwnLCAnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbScpO1xuICBzdGF0aWMgcmVhZG9ubHkgQklUQlVDS0VUX0FQSV9CQVNFX1VSTCA9IGVudlN0cignQklUQlVDS0VUX0FQSV9CQVNFX1VSTCcsICdodHRwczovL2FwaS5iaXRidWNrZXQub3JnLzIuMCcpO1xuICAvLyBQaW5uZWQgbGlrZSBpdHMgc2libGluZ3MsIGFuZCBmb3IgdGhlIHNhbWUgcmVhc29uOiB0aGUgcmVwb3NpdG9yeSBVUkwgYmVpbmdcbiAgLy8gYW5hbHl6ZWQgaXMgUkVRVUVTVCBkYXRhIChhbnkgYHBpcGVsaW5lczp3cml0ZWAgaG9sZGVyIGNhbiBwb3N0IG9uZSB0b1xuICAvLyBgL3BpcGVsaW5lcy9hbmFseXplL2Zyb20tdXJsYCksIHNvIHRoZSBob3N0IGl0IHJlc29sdmVzIG11c3QgbmV2ZXIgY29tZSBmcm9tXG4gIC8vIGl0LiBQb2ludCB0aGlzIGF0IGEgc2VsZi1tYW5hZ2VkIEdpdExhYiB0byBhbmFseXplIG9uZSDigJQgdGhlIG9wZXJhdG9yXG4gIC8vIGNob29zZXMgdGhlIGluc3RhbmNlLCBub3QgdGhlIGNhbGxlci5cbiAgc3RhdGljIHJlYWRvbmx5IEdJVExBQl9BUElfQkFTRV9VUkwgPSBlbnZTdHIoJ0dJVExBQl9BUElfQkFTRV9VUkwnLCAnaHR0cHM6Ly9naXRsYWIuY29tL2FwaS92NCcpO1xuXG4gIC8vIEJ1bGsgb3BlcmF0aW9ucyBhbmQgZXZlbnQgaW5nZXN0aW9uXG4gIHN0YXRpYyByZWFkb25seSBNQVhfQlVMS19JVEVNUyA9IGVudkludCgnTUFYX0JVTEtfSVRFTVMnLCAxMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgTUFYX0VWRU5UU19QRVJfQkFUQ0ggPSBlbnZJbnQoJ01BWF9FVkVOVFNfUEVSX0JBVENIJywgMTAwKTtcblxuICAvLyBTZWNyZXRzIE1hbmFnZXIgcGF0aCBwcmVmaXggZm9yIG9yZy1zY29wZWQgc2VjcmV0c1xuICBzdGF0aWMgcmVhZG9ubHkgU0VDUkVUU19QQVRIX1BSRUZJWCA9IGVudlN0cignU0VDUkVUU19QQVRIX1BSRUZJWCcsICdwaXBlbGluZS1idWlsZGVyJyk7XG5cbiAgLyoqIEJ1aWxkIGEgU2VjcmV0cyBNYW5hZ2VyIHBhdGg6IHtwcmVmaXh9L3tvcmdJZH0ve25hbWV9ICovXG4gIHN0YXRpYyBzZWNyZXRQYXRoKG9yZ0lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke0NvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWH0vJHtvcmdJZH0vJHtuYW1lfWA7XG4gIH1cblxuICAvLyBEYXRhYmFzZSBjb25uZWN0aW9uXG4gIHN0YXRpYyByZWFkb25seSBEQl9NQVhfUkVUUklFUyA9IGVudkludCgnREJfTUFYX1JFVFJJRVMnLCAzKTtcbiAgc3RhdGljIHJlYWRvbmx5IERCX1JFVFJZX0RFTEFZX01TID0gZW52SW50KCdEQl9SRVRSWV9ERUxBWV9NUycsIDFfMDAwKTsgLy8gMXNcblxuICAvLyBSZXNwb25zZSBjb21wcmVzc2lvblxuICBzdGF0aWMgcmVhZG9ubHkgQ09NUFJFU1NJT05fVEhSRVNIT0xEX0JZVEVTID0gZW52SW50KCdDT01QUkVTU0lPTl9USFJFU0hPTERfQllURVMnLCAxXzAyNCk7XG5cbiAgLy8gSWRlbXBvdGVuY3lcbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX1RUTF9NUyA9IGVudkludCgnSURFTVBPVEVOQ1lfVFRMX01TJywgMzAwXzAwMCk7IC8vIDUgbWluXG4gIC8vIExpZmV0aW1lIG9mIGFuIElOLUZMSUdIVCByZXNlcnZhdGlvbiAobm8gcmVzcG9uc2UgeWV0KS4gQm91bmRzIGhvdyBsb25nIGFcbiAgLy8ga2V5IHN0YXlzIGxvY2tlZCAoNDA5KSB3aGVuIHRoZSBwcm9jZXNzIGRpZXMgbWlkLWhhbmRsZXI7IG11c3QgZXhjZWVkIHRoZVxuICAvLyBsb25nZXN0IGxlZ2l0aW1hdGUgaGFuZGxlciBydW4sIHNpbmNlIGFuIGV4cGlyZWQgcmVzZXJ2YXRpb24gbGV0cyBhXG4gIC8vIGR1cGxpY2F0ZSB0aHJvdWdoLlxuICBzdGF0aWMgcmVhZG9ubHkgSURFTVBPVEVOQ1lfUEVORElOR19UVExfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX1BFTkRJTkdfVFRMX01TJywgMTIwXzAwMCk7IC8vIDIgbWluXG4gIHN0YXRpYyByZWFkb25seSBJREVNUE9URU5DWV9NQVhfU1RPUkVfU0laRSA9IGVudkludCgnSURFTVBPVEVOQ1lfTUFYX1NUT1JFX1NJWkUnLCAxMF8wMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgSURFTVBPVEVOQ1lfQ0xFQU5VUF9JTlRFUlZBTF9NUyA9IGVudkludCgnSURFTVBPVEVOQ1lfQ0xFQU5VUF9JTlRFUlZBTF9NUycsIDYwXzAwMCk7IC8vIDEgbWluXG5cblxuICAvLyBTZXJ2ZXItc2lkZSBjYWNoZSBUVExzIChzZWNvbmRzKVxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX0VOVElUWSA9IGVudkludCgnQ0FDSEVfVFRMX0VOVElUWScsIDYwKTsgLy8gcGx1Z2luL3BpcGVsaW5lIGZpbmRCeUlkXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9UVExfTUVTU0FHRSA9IGVudkludCgnQ0FDSEVfVFRMX01FU1NBR0UnLCAzMDApOyAvLyBhbm5vdW5jZW1lbnRzL2NvbnZlcnNhdGlvbnMgKDUgbWluKVxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX1JFUE9SVF9JTlZFTlRPUlkgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9SRVBPUlRfSU5WRU5UT1JZJywgMzAwKTsgLy8gcGx1Z2luIHN1bW1hcnkvZGlzdHJpYnV0aW9uICg1IG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9SRVBPUlRfVElNRVNFUklFUyA9IGVudkludCgnQ0FDSEVfVFRMX1JFUE9SVF9USU1FU0VSSUVTJywgMTIwKTsgLy8gZXhlY3V0aW9uL2J1aWxkIG1ldHJpY3MgKDIgbWluKVxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX0NPTVBMSUFOQ0VfUlVMRVMgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9DT01QTElBTkNFX1JVTEVTJywgNjApOyAvLyBhY3RpdmUgY29tcGxpYW5jZSBydWxlc1xuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX0JJTExJTkdfUExBTlMgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9CSUxMSU5HX1BMQU5TJywgMTRfNDAwKTsgLy8gYmlsbGluZyBwbGFucyAoNCBob3VycylcblxuICAvLyBTU0UgYmFja3ByZXNzdXJlXG4gIHN0YXRpYyByZWFkb25seSBTU0VfQkFDS1BSRVNTVVJFX1RIUkVTSE9MRCA9IGVudkludCgnU1NFX0JBQ0tQUkVTU1VSRV9USFJFU0hPTEQnLCAxMCk7XG5cbiAgLy8gSFRUUCBDYWNoZS1Db250cm9sIGhlYWRlcnNcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX0NPTlRST0xfTElTVCA9IGVudlN0cignQ0FDSEVfQ09OVFJPTF9MSVNUJywgJ3ByaXZhdGUsIG1heC1hZ2U9MzAsIHN0YWxlLXdoaWxlLXJldmFsaWRhdGU9NjAnKTtcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX0NPTlRST0xfREVUQUlMID0gZW52U3RyKCdDQUNIRV9DT05UUk9MX0RFVEFJTCcsICdwcml2YXRlLCBtYXgtYWdlPTYwLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTEyMCcpO1xufVxuXG4vKipcbiAqIFBlci1zZWN0aW9uIGxvYWRlciBtYXAg4oCUIGVhY2ggc2VjdGlvbiBpcyBsb2FkZWQgbGF6aWx5IG9uIGZpcnN0IGFjY2Vzcy5cbiAqIFRoaXMgYXZvaWRzIGxvYWRpbmcgYWxsIGNvbmZpZyBzZWN0aW9ucyAoYW5kIHRoZWlyIHJlcXVpcmVkIGVudiB2YXJzKVxuICogd2hlbiBvbmx5IG9uZSBzZWN0aW9uIGlzIG5lZWRlZCAoZS5nLiBDREsgc3ludGhlc2lzIG9ubHkgbmVlZHMgJ2F3cycpLlxuICovXG5jb25zdCBzZWN0aW9uTG9hZGVyczogeyBbSyBpbiBrZXlvZiBBcHBDb25maWddOiAoKSA9PiBBcHBDb25maWdbS10gfSA9IHtcbiAgc2VydmVyOiBsb2FkU2VydmVyQ29uZmlnLFxuICBhdXRoOiBsb2FkQXV0aENvbmZpZyxcbiAgZGF0YWJhc2U6IGxvYWREYXRhYmFzZUNvbmZpZyxcbiAgcmVnaXN0cnk6IGxvYWRSZWdpc3RyeUNvbmZpZyxcbiAgcGx1Z2luQnVpbGQ6IGxvYWRQbHVnaW5CdWlsZENvbmZpZyxcbiAgZG9ja2VyQ29uZmlnOiBsb2FkRG9ja2VyQ29uZmlnLFxuICBvYnNlcnZhYmlsaXR5OiBsb2FkT2JzZXJ2YWJpbGl0eUNvbmZpZyxcbiAgY29tcGxpYW5jZTogbG9hZENvbXBsaWFuY2VDb25maWcsXG4gIGF3czogbG9hZEFXU0NvbmZpZyxcbiAgcmF0ZUxpbWl0OiBsb2FkUmF0ZUxpbWl0Q29uZmlnLFxufTtcblxuLyoqIFBlci1zZWN0aW9uIHZhbGlkYXRvcnMg4oCUIG9ubHkgcnVuIGZvciBzZWN0aW9ucyB0aGF0IGhhdmUgdmFsaWRhdGlvbiBsb2dpYy4gKi9cbmNvbnN0IHNlY3Rpb25WYWxpZGF0b3JzOiBQYXJ0aWFsPHsgW0sgaW4ga2V5b2YgQXBwQ29uZmlnXTogKGNvbmZpZzogQXBwQ29uZmlnW0tdKSA9PiB2b2lkIH0+ID0ge1xuICBzZXJ2ZXI6IHZhbGlkYXRlU2VydmVyQ29uZmlnLFxufTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZhY2FkZSB3aXRoIGxhenkgcGVyLXNlY3Rpb24gbG9hZGluZy5cbiAqXG4gKiBFYWNoIHNlY3Rpb24gaXMgbG9hZGVkIGFuZCB2YWxpZGF0ZWQgaW5kZXBlbmRlbnRseSBvbiBmaXJzdCBhY2Nlc3MsXG4gKiBzbyByZXF1ZXN0aW5nIGBDb25maWcuZ2V0KCdhd3MnKWAgZG9lcyBub3QgdHJpZ2dlciBsb2FkaW5nIG9mXG4gKiBzZXJ2ZXIgb3IgYXV0aCBjb25maWcgKGFuZCB0aGVpciBlbnYgdmFyIHJlcXVpcmVtZW50cykuXG4gKlxuICogVXNhZ2U6IGBDb25maWcuZ2V0KCdzZXJ2ZXInKWAsIGBDb25maWcuZ2V0KCdhdXRoJylgLCBldGMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICBwcml2YXRlIHN0YXRpYyBjYWNoZSA9IG5ldyBNYXA8a2V5b2YgQXBwQ29uZmlnLCB1bmtub3duPigpO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIHNlY3Rpb24gKGxvYWRlZCBsYXppbHkgb24gZmlyc3QgYWNjZXNzKS5cbiAgICovXG4gIHN0YXRpYyBnZXQ8SyBleHRlbmRzIGtleW9mIEFwcENvbmZpZz4oc2VjdGlvbjogSyk6IEFwcENvbmZpZ1tLXSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhzZWN0aW9uKSkge1xuICAgICAgY29uc3QgbG9hZGVyID0gc2VjdGlvbkxvYWRlcnNbc2VjdGlvbl07XG4gICAgICBjb25zdCB2YWx1ZSA9IGxvYWRlcigpO1xuICAgICAgY29uc3QgdmFsaWRhdG9yID0gc2VjdGlvblZhbGlkYXRvcnNbc2VjdGlvbl07XG4gICAgICBpZiAodmFsaWRhdG9yKSAodmFsaWRhdG9yIGFzICh2OiBBcHBDb25maWdbS10pID0+IHZvaWQpKHZhbHVlKTtcbiAgICAgIHRoaXMuY2FjaGUuc2V0KHNlY3Rpb24sIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHNlY3Rpb24pIGFzIEFwcENvbmZpZ1tLXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBhIHBhcnRpYWwgb3ZlcnJpZGUgaW50byBhIGNvbmZpZyBzZWN0aW9uLCB0YWtpbmcgcHJlY2VkZW5jZSBvdmVyIHRoZVxuICAgKiBlbnYtbG9hZGVkIHZhbHVlcyBmb3IgYWxsIHN1YnNlcXVlbnQgYENvbmZpZy5nZXQoc2VjdGlvbilgIGNhbGxzLlxuICAgKlxuICAgKiBVc2VkIGF0IENESyBzeW50aCBzdGFydCB0byBpbmplY3QgcGxhdGZvcm0tc291cmNlZCBpbmZyYXN0cnVjdHVyZSBjb25maWdcbiAgICogKGUuZy4gdGhlIHJlZ2lzdHJ5IHB1bGwgaG9zdCBkZXJpdmVkIGZyb20gdGhlIHBsYXRmb3JtJ3MgcHVibGljIFVSTCkgc28gdGhlXG4gICAqIHN5bnRoIGRvZXMgbm90IHNpbGVudGx5IGRlcGVuZCBvbiB0aGUgb3BlcmF0b3IncyBsb2NhbCBgcHJvY2Vzcy5lbnZgLlxuICAgKiBgdW5kZWZpbmVkYCBmaWVsZHMgaW4gYHBhcnRpYWxgIGFyZSBpZ25vcmVkIHNvIHRoZXkgbmV2ZXIgY2xvYmJlciBhIGxvYWRlZFxuICAgKiB2YWx1ZS4gTG9hZHMgKGFuZCB2YWxpZGF0ZXMpIHRoZSBzZWN0aW9uIGZpcnN0IHNvIHRoZSBvdmVycmlkZSBtZXJnZXMgb250b1xuICAgKiB0aGUgcmVhbCBkZWZhdWx0cy5cbiAgICovXG4gIHN0YXRpYyBvdmVycmlkZTxLIGV4dGVuZHMga2V5b2YgQXBwQ29uZmlnPihzZWN0aW9uOiBLLCBwYXJ0aWFsOiBQYXJ0aWFsPEFwcENvbmZpZ1tLXT4pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXQoc2VjdGlvbik7XG4gICAgY29uc3QgZGVmaW5lZCA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBhcnRpYWwpLmZpbHRlcigoWywgdl0pID0+IHYgIT09IHVuZGVmaW5lZCksXG4gICAgKSBhcyBQYXJ0aWFsPEFwcENvbmZpZ1tLXT47XG4gICAgdGhpcy5jYWNoZS5zZXQoc2VjdGlvbiwgeyAuLi5jdXJyZW50LCAuLi5kZWZpbmVkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpa2Uge0BsaW5rIG92ZXJyaWRlfSwgYnV0IHNjb3BlZDogc25hcHNob3RzIHRoZSBjdXJyZW50IGNhY2hlIHN0YXRlIGZvclxuICAgKiBgc2VjdGlvbmAgYW5kIHJldHVybnMgYSByZXN0b3JlIGZ1bmN0aW9uIHRoYXQgcmV2ZXJ0cyBpdC4gVXNlIGFyb3VuZCBhXG4gICAqIHNpbmdsZSB1bml0IG9mIHdvcmsgKGUuZy4gb25lIENESyBQaXBlbGluZUJ1aWxkZXIncyBzeW50aCkgc28gYSBwZXItYnVpbGRlclxuICAgKiBvdmVycmlkZSBkb2VzIE5PVCBsZWFrIGludG8gdGhlIHByb2Nlc3Mtd2lkZSBjYWNoZSBhbmQgYmxlZWQgaW50byBzaWJsaW5nXG4gICAqIGJ1aWxkZXJzIGluIGEgbXVsdGktcGlwZWxpbmUgQ0RLIGFwcC4gQ2FsbGluZyB0aGUgcmV0dXJuZWQgZnVuY3Rpb24gcmVzdG9yZXNcbiAgICogdGhlIGV4YWN0IHByaW9yIHN0YXRlIOKAlCB0aGUgcHJldmlvdXNseSBjYWNoZWQgdmFsdWUsIG9yIGFuIHVubG9hZGVkIHNlY3Rpb25cbiAgICogaWYgaXQgaGFkIG5vdCBiZWVuIGNhY2hlZCB5ZXQgKHNvIHRoZSBuZXh0IGBnZXQoKWAgcmUtbG9hZHMgZnJvbSBlbnYpLlxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlU2NvcGVkPEsgZXh0ZW5kcyBrZXlvZiBBcHBDb25maWc+KFxuICAgIHNlY3Rpb246IEssXG4gICAgcGFydGlhbDogUGFydGlhbDxBcHBDb25maWdbS10+LFxuICApOiAoKSA9PiB2b2lkIHtcbiAgICBjb25zdCBoYWRDYWNoZWQgPSB0aGlzLmNhY2hlLmhhcyhzZWN0aW9uKTtcbiAgICBjb25zdCBwcmV2aW91cyA9IGhhZENhY2hlZCA/IHRoaXMuY2FjaGUuZ2V0KHNlY3Rpb24pIDogdW5kZWZpbmVkO1xuICAgIHRoaXMub3ZlcnJpZGUoc2VjdGlvbiwgcGFydGlhbCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChoYWRDYWNoZWQpIHRoaXMuY2FjaGUuc2V0KHNlY3Rpb24sIHByZXZpb3VzKTtcbiAgICAgIGVsc2UgdGhpcy5jYWNoZS5kZWxldGUoc2VjdGlvbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBhbGwgY2FjaGVkIGNvbmZpZyBzZWN0aW9ucyBzbyB0aGUgbmV4dCBgQ29uZmlnLmdldCgpYCByZS1yZWFkcyB0aGVtXG4gICAqIGZyb20gdGhlIGN1cnJlbnQgYHByb2Nlc3MuZW52YCAocmUtcnVubmluZyBlYWNoIHNlY3Rpb24ncyBsb2FkZXIgKyB2YWxpZGF0b3IpLlxuICAgKlxuICAgKiBVc2Ugd2hlbiBlbnYgaGFzIGJlZW4gbXV0YXRlZCBpbi1wcm9jZXNzIGFuZCB0aGUgY2FjaGUgaXMgbm93IHN0YWxlIOKAlCBlLmcuIGFcbiAgICogbG9uZy1ydW5uaW5nIENMSSB0aGF0IHJlY29uZmlndXJlcyBiZXR3ZWVuIG9wZXJhdGlvbnMuIENESyBzeW50aCBydW5zIGluIGFcbiAgICogZnJlc2ggc3VicHJvY2VzcyB0aGF0IGFscmVhZHkgcmVhZHMgZW52IG9uIGZpcnN0IGFjY2Vzcywgc28gaXQgZG9lcyBub3QgbmVlZFxuICAgKiB0aGlzLiBOb3RlOiB0aGlzIGFsc28gZHJvcHMgYW55IHZhbHVlcyBzZXQgdmlhIHtAbGluayBvdmVycmlkZX0uXG4gICAqL1xuICBzdGF0aWMgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgUmVzZXQgY29uZmlndXJhdGlvbiAoZm9yIHRlc3Rpbmcgb25seSkuIEFsaWFzIGZvciB7QGxpbmsgcmVsb2FkfS5cbiAgICovXG4gIHN0YXRpYyBfcmVzZXRGb3JUZXN0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYXV0aCBjb25maWd1cmF0aW9uIChKV1Qgc2VjcmV0cywgYWxnb3JpdGhtcywgZXhwaXJhdGlvbikuXG4gICAqIENhbGwgdGhpcyBhdCBzZXJ2ZXIgc3RhcnR1cCwgbm90IGR1cmluZyBDREsgc3ludGhlc2lzLlxuICAgKi9cbiAgc3RhdGljIHZhbGlkYXRlQXV0aCgpOiB2b2lkIHtcbiAgICB2YWxpZGF0ZUF1dGhDb25maWcodGhpcy5nZXQoJ2F1dGgnKSk7XG4gIH1cblxuICAvKipcbiAgICogVW50eXBlZCBjb25maWcgYWNjZXNzIOKAlCB1c2Ugd2hlbiB0aGUgcHVibGlzaGVkIHBhY2thZ2UgdHlwZXMgZG9uJ3QgaW5jbHVkZSBhIG5ldyBzZWN0aW9uIHlldC5cbiAgICogQXZvaWRzIHRoZSBgKENvbmZpZyBhcyB1bmtub3duIGFzIC4uLikuZ2V0KC4uLilgIGNhc3QgcGF0dGVybiBpbiBjb25zdW1lcnMuXG4gICAqL1xuICBzdGF0aWMgZ2V0QW55KHNlY3Rpb246IHN0cmluZyk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLmdldChzZWN0aW9uIGFzIGtleW9mIEFwcENvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
@@ -66,4 +66,4 @@ export function lambdaTimeout(seconds) {
66
66
  export function lambdaArchitecture(architecture) {
67
67
  return architecture === 'x86_64' ? Architecture.X86_64 : Architecture.ARM_64;
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbmZpZy1jZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2F3cy1jb25maWctY2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7OztHQVNHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc5RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsSUFBSSxjQUFtQyxDQUFDO0FBQ3hDLE1BQU0sZUFBZSxHQUFHLEdBQVksRUFBRSxDQUFDLENBQUMsY0FBYyxLQUFLLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTFJOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUF1QztJQUNuRSxJQUFJLE9BQU8sS0FBSyxZQUFZO1FBQUUsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3pELE9BQU8sZUFBZSxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQThDO0lBQzFFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxZQUFpRDtJQUNsRixPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIENESyBhZGFwdGVycyBmb3Ige0BsaW5rIEFXU0NvbmZpZ30uXG4gKlxuICogYEFXU0NvbmZpZ2AgaXMgZGVsaWJlcmF0ZWx5IHBsYWluIGRhdGEgKHNlZSBpdHMgZG9jIGNvbW1lbnQpOiBlbnYtbG9hZGVkXG4gKiBudW1iZXJzIGFuZCBzdHJpbmdzLCBubyBgYXdzLWNkay1saWJgIG9uIHRoZSBpbXBvcnQgZ3JhcGguIFRoYXQga2VlcHMgYENvbmZpZ2BcbiAqIOKAlCB3aGljaCBldmVyeSBBUEkgc2VydmljZSByZWFkcyDigJQgZnJlZSBvZiBDREsuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgdGhlIHNpbmdsZVxuICogY29udmVyc2lvbiBwb2ludCBmcm9tIHRoYXQgcGxhaW4gZGF0YSBpbnRvIENESyB2YWx1ZSBvYmplY3RzLCBhbmQgdGhleSBsaXZlXG4gKiBiZWhpbmQgdGhlIGBAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlL2Nka2AgZW50cnkgcG9pbnQsIHNvIG9ubHkgY29kZSB0aGF0XG4gKiBhY3R1YWxseSBzeW50aGVzaXplcyBzdGFja3MgcGF5cyBmb3IgYGF3cy1jZGstbGliYC5cbiAqL1xuXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFyY2hpdGVjdHVyZSwgUnVudGltZSwgUnVudGltZUZhbWlseSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHR5cGUgeyBBV1NDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5cbi8qKlxuICogTm9kZS5qcyAyNiwgQ09OU1RSVUNURUQgcmF0aGVyIHRoYW4gdGFrZW4gZnJvbSB0aGUgYFJ1bnRpbWVgIGVudW0uXG4gKlxuICogYG5vZGVqczI2LnhgIGlzIGEgTGFtYmRhIFBVQkxJQyBQUkVWSUVXIHJ1bnRpbWUgKGFubm91bmNlZCAyMDI2LTA4KS4gVGhlXG4gKiBzZXJ2aWNlIGFjY2VwdHMgdGhlIGlkZW50aWZpZXIgZnJvbSB0aGUgQ0xJLCBDbG91ZEZvcm1hdGlvbiwgU0FNIGFuZCBDREssIGJ1dFxuICogYGF3cy1jZGstbGliYCBoYXMgbm8gYE5PREVKU18yNl9YYCBtZW1iZXIg4oCUIG5vdCBpbiAyLjI3MC4wLCBhbmQgbm90IG9uIENESydzXG4gKiBgbWFpbmAgZWl0aGVyLCBiZWNhdXNlIHRoZSBlbnVtIHRyYWNrcyBHQSBydW50aW1lcy4gYFJ1bnRpbWVgJ3MgcHVibGljXG4gKiBjb25zdHJ1Y3RvciBpcyB0aGUgc3VwcG9ydGVkIHdheSB0byBuYW1lIG9uZSB0aGUgZW51bSBoYXMgbm90IGNhdWdodCB1cCB3aXRoLFxuICogYW5kIHRoZSBpZGVudGlmaWVyIGRvZXMgbm90IGNoYW5nZSBhdCBHQTogYG5vZGVqczI2LnhgIGluIHByZXZpZXcgaXNcbiAqIGBub2RlanMyNi54YCBhdCBHQSwgc28gdGhpcyBkb2VzIG5vdCBiZWNvbWUgd3Jvbmcgd2hlbiB0aGUgZW51bSBsYW5kcyDigJQgaXRcbiAqIGp1c3QgYmVjb21lcyByZWR1bmRhbnQsIGFuZCBzaG91bGQgYmUgc3dhcHBlZCBmb3IgYFJ1bnRpbWUuTk9ERUpTXzI2X1hgIHRoZW4uXG4gKlxuICogYHN1cHBvcnRzSW5saW5lQ29kZWAgbWF0Y2hlcyBldmVyeSBvdGhlciBOb2RlIHJ1bnRpbWUgaW4gdGhlIGVudW0uXG4gKlxuICogUFJFVklFVyBDQVZFQVQsIHN0YXRlZCB3aGVyZSBzb21lb25lIHdpbGwgcmVhZCBpdDogQVdTIGRvZXMgbm90IGNvdmVyIHByZXZpZXdcbiAqIHJ1bnRpbWVzIHVuZGVyIHRoZSBMYW1iZGEgU0xBIG9yIFN1cHBvcnQgcGxhbnMgYW5kIGFkdmlzZXMgYWdhaW5zdCBwcm9kdWN0aW9uXG4gKiB3b3JrbG9hZHMgb24gdGhlbS4gTGFtYmRhIHdpbGwgbm90IEdBIE5vZGUuanMgMjYgdW50aWwgaXQgcmVhY2hlcyBBY3RpdmUgTFRTLlxuICpcbiAqIENPTlNUUlVDVEVEIExBWklMWSwgbm90IGF0IG1vZHVsZSBzY29wZS4gYG5ldyBSdW50aW1lKC4uLilgIG9uIGltcG9ydCBtZWFuc1xuICogZXZlcnkgc3VpdGUgdGhhdCBtb2NrcyBgYXdzLWNkay1saWIvYXdzLWxhbWJkYWAgaGFzIHRvIHN1cHBseSBhIENPTlNUUlVDVElCTEVcbiAqIFJ1bnRpbWUganVzdCB0byBpbXBvcnQgYW55dGhpbmcgZG93bnN0cmVhbSBvZiB0aGlzIGZpbGUg4oCUIGFuZCBhIHBhcnRpYWwgbW9ja1xuICogdGhhdCByZXR1cm5zIGEgcGxhaW4gb2JqZWN0IGZhaWxzIHdpdGggYFJ1bnRpbWUgaXMgbm90IGEgY29uc3RydWN0b3JgIGJlZm9yZVxuICogYSBzaW5nbGUgYXNzZXJ0aW9uIHJ1bnMuIEJ1aWxkaW5nIGl0IG9uIGZpcnN0IHVzZSBrZWVwcyB0aGUgaW1wb3J0IHNpZGUtZWZmZWN0XG4gKiBmcmVlLCBzbyBvbmx5IGNvZGUgdGhhdCBhY3R1YWxseSByZXNvbHZlcyBhIHJ1bnRpbWUgcGF5cyBmb3IgaXQuXG4gKi9cbmxldCBwcmV2aWV3UnVudGltZTogUnVudGltZSB8IHVuZGVmaW5lZDtcbmNvbnN0IG5vZGVqczI2UHJldmlldyA9ICgpOiBSdW50aW1lID0+IChwcmV2aWV3UnVudGltZSA/Pz0gbmV3IFJ1bnRpbWUoJ25vZGVqczI2LngnLCBSdW50aW1lRmFtaWx5Lk5PREVKUywgeyBzdXBwb3J0c0lubGluZUNvZGU6IHRydWUgfSkpO1xuXG4vKipcbiAqIFJlc29sdmUgYSBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyIChlLmcuIGAnbm9kZWpzMjYueCdgKSB0byBhIENESyBgUnVudGltZWAuXG4gKlxuICogQHBhcmFtIHJ1bnRpbWUgLSBydW50aW1lIGlkZW50aWZpZXIgZnJvbSBgQ29uZmlnLmdldCgnYXdzJykubGFtYmRhLnJ1bnRpbWVgXG4gKiBAcmV0dXJucyB0aGUgQ0RLIHJ1bnRpbWU7IGZhbGxzIGJhY2sgdG8gTm9kZS5qcyAyNiBmb3IgdW5rbm93biB2YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhbWJkYVJ1bnRpbWUocnVudGltZTogQVdTQ29uZmlnWydsYW1iZGEnXVsncnVudGltZSddKTogUnVudGltZSB7XG4gIGlmIChydW50aW1lID09PSAnbm9kZWpzMjQueCcpIHJldHVybiBSdW50aW1lLk5PREVKU18yNF9YO1xuICByZXR1cm4gbm9kZWpzMjZQcmV2aWV3KCk7XG59XG5cbi8qKlxuICogQ29udmVydCBhIExhbWJkYSB0aW1lb3V0IGluIHNlY29uZHMgdG8gYSBDREsgYER1cmF0aW9uYC5cbiAqXG4gKiBAcGFyYW0gc2Vjb25kcyAtIHRpbWVvdXQgZnJvbSBgQ29uZmlnLmdldCgnYXdzJykubGFtYmRhLnRpbWVvdXRTZWNvbmRzYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGFtYmRhVGltZW91dChzZWNvbmRzOiBBV1NDb25maWdbJ2xhbWJkYSddWyd0aW1lb3V0U2Vjb25kcyddKTogRHVyYXRpb24ge1xuICByZXR1cm4gRHVyYXRpb24uc2Vjb25kcyhzZWNvbmRzKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBjb25maWd1cmVkIExhbWJkYSBhcmNoaXRlY3R1cmUgdG8gYSBDREsgYEFyY2hpdGVjdHVyZWAuXG4gKlxuICogQHBhcmFtIGFyY2hpdGVjdHVyZSAtIHZhbHVlIGZyb20gYENvbmZpZy5nZXQoJ2F3cycpLmxhbWJkYS5hcmNoaXRlY3R1cmVgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYW1iZGFBcmNoaXRlY3R1cmUoYXJjaGl0ZWN0dXJlOiBBV1NDb25maWdbJ2xhbWJkYSddWydhcmNoaXRlY3R1cmUnXSk6IEFyY2hpdGVjdHVyZSB7XG4gIHJldHVybiBhcmNoaXRlY3R1cmUgPT09ICd4ODZfNjQnID8gQXJjaGl0ZWN0dXJlLlg4Nl82NCA6IEFyY2hpdGVjdHVyZS5BUk1fNjQ7XG59XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbmZpZy1jZGsuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYXdzLWNvbmZpZy1jZGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7O0dBU0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxJQUFJLGNBQW1DLENBQUM7QUFDeEMsTUFBTSxlQUFlLEdBQUcsR0FBWSxFQUFFLENBQUMsQ0FBQyxjQUFjLEtBQUssSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFMUk7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXVDO0lBQ25FLElBQUksT0FBTyxLQUFLLFlBQVk7UUFBRSxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDekQsT0FBTyxlQUFlLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBOEM7SUFDMUUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFlBQWlEO0lBQ2xGLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQ0RLIGFkYXB0ZXJzIGZvciB7QGxpbmsgQVdTQ29uZmlnfS5cbiAqXG4gKiBgQVdTQ29uZmlnYCBpcyBkZWxpYmVyYXRlbHkgcGxhaW4gZGF0YSAoc2VlIGl0cyBkb2MgY29tbWVudCk6IGVudi1sb2FkZWRcbiAqIG51bWJlcnMgYW5kIHN0cmluZ3MsIG5vIGBhd3MtY2RrLWxpYmAgb24gdGhlIGltcG9ydCBncmFwaC4gVGhhdCBrZWVwcyBgQ29uZmlnYFxuICog4oCUIHdoaWNoIGV2ZXJ5IEFQSSBzZXJ2aWNlIHJlYWRzIOKAlCBmcmVlIG9mIENESy4gVGhlc2UgZnVuY3Rpb25zIGFyZSB0aGUgc2luZ2xlXG4gKiBjb252ZXJzaW9uIHBvaW50IGZyb20gdGhhdCBwbGFpbiBkYXRhIGludG8gQ0RLIHZhbHVlIG9iamVjdHMsIGFuZCB0aGV5IGxpdmVcbiAqIGJlaGluZCB0aGUgYEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUvY2RrYCBlbnRyeSBwb2ludCwgc28gb25seSBjb2RlIHRoYXRcbiAqIGFjdHVhbGx5IHN5bnRoZXNpemVzIHN0YWNrcyBwYXlzIGZvciBgYXdzLWNkay1saWJgLlxuICovXG5cbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXJjaGl0ZWN0dXJlLCBSdW50aW1lLCBSdW50aW1lRmFtaWx5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgdHlwZSB7IEFXU0NvbmZpZyB9IGZyb20gJy4vY29uZmlnLXR5cGVzLmpzJztcblxuLyoqXG4gKiBOb2RlLmpzIDI2LCBDT05TVFJVQ1RFRCByYXRoZXIgdGhhbiB0YWtlbiBmcm9tIHRoZSBgUnVudGltZWAgZW51bS5cbiAqXG4gKiBgbm9kZWpzMjYueGAgaXMgYSBMYW1iZGEgUFVCTElDIFBSRVZJRVcgcnVudGltZSAoYW5ub3VuY2VkIDIwMjYtMDgpLiBUaGVcbiAqIHNlcnZpY2UgYWNjZXB0cyB0aGUgaWRlbnRpZmllciBmcm9tIHRoZSBDTEksIENsb3VkRm9ybWF0aW9uLCBTQU0gYW5kIENESywgYnV0XG4gKiBgYXdzLWNkay1saWJgIGhhcyBubyBgTk9ERUpTXzI2X1hgIG1lbWJlciDigJQgbm90IGluIDIuMjcwLjAsIGFuZCBub3Qgb24gQ0RLJ3NcbiAqIGBtYWluYCBlaXRoZXIsIGJlY2F1c2UgdGhlIGVudW0gdHJhY2tzIEdBIHJ1bnRpbWVzLiBgUnVudGltZWAncyBwdWJsaWNcbiAqIGNvbnN0cnVjdG9yIGlzIHRoZSBzdXBwb3J0ZWQgd2F5IHRvIG5hbWUgb25lIHRoZSBlbnVtIGhhcyBub3QgY2F1Z2h0IHVwIHdpdGgsXG4gKiBhbmQgdGhlIGlkZW50aWZpZXIgZG9lcyBub3QgY2hhbmdlIGF0IEdBOiBgbm9kZWpzMjYueGAgaW4gcHJldmlldyBpc1xuICogYG5vZGVqczI2LnhgIGF0IEdBLCBzbyB0aGlzIGRvZXMgbm90IGJlY29tZSB3cm9uZyB3aGVuIHRoZSBlbnVtIGxhbmRzIOKAlCBpdFxuICoganVzdCBiZWNvbWVzIHJlZHVuZGFudCwgYW5kIHNob3VsZCBiZSBzd2FwcGVkIGZvciBgUnVudGltZS5OT0RFSlNfMjZfWGAgdGhlbi5cbiAqXG4gKiBgc3VwcG9ydHNJbmxpbmVDb2RlYCBtYXRjaGVzIGV2ZXJ5IG90aGVyIE5vZGUgcnVudGltZSBpbiB0aGUgZW51bS5cbiAqXG4gKiBQUkVWSUVXIENBVkVBVCwgc3RhdGVkIHdoZXJlIHNvbWVvbmUgd2lsbCByZWFkIGl0OiBBV1MgZG9lcyBub3QgY292ZXIgcHJldmlld1xuICogcnVudGltZXMgdW5kZXIgdGhlIExhbWJkYSBTTEEgb3IgU3VwcG9ydCBwbGFucyBhbmQgYWR2aXNlcyBhZ2FpbnN0IHByb2R1Y3Rpb25cbiAqIHdvcmtsb2FkcyBvbiB0aGVtLiBMYW1iZGEgd2lsbCBub3QgR0EgTm9kZS5qcyAyNiB1bnRpbCBpdCByZWFjaGVzIEFjdGl2ZSBMVFMuXG4gKlxuICogQ09OU1RSVUNURUQgTEFaSUxZLCBub3QgYXQgbW9kdWxlIHNjb3BlLiBgbmV3IFJ1bnRpbWUoLi4uKWAgb24gaW1wb3J0IG1lYW5zXG4gKiBldmVyeSBzdWl0ZSB0aGF0IG1vY2tzIGBhd3MtY2RrLWxpYi9hd3MtbGFtYmRhYCBoYXMgdG8gc3VwcGx5IGEgQ09OU1RSVUNUSUJMRVxuICogUnVudGltZSBqdXN0IHRvIGltcG9ydCBhbnl0aGluZyBkb3duc3RyZWFtIG9mIHRoaXMgZmlsZSDigJQgYW5kIGEgcGFydGlhbCBtb2NrXG4gKiB0aGF0IHJldHVybnMgYSBwbGFpbiBvYmplY3QgZmFpbHMgd2l0aCBgUnVudGltZSBpcyBub3QgYSBjb25zdHJ1Y3RvcmAgYmVmb3JlXG4gKiBhIHNpbmdsZSBhc3NlcnRpb24gcnVucy4gQnVpbGRpbmcgaXQgb24gZmlyc3QgdXNlIGtlZXBzIHRoZSBpbXBvcnQgc2lkZS1lZmZlY3RcbiAqIGZyZWUsIHNvIG9ubHkgY29kZSB0aGF0IGFjdHVhbGx5IHJlc29sdmVzIGEgcnVudGltZSBwYXlzIGZvciBpdC5cbiAqL1xubGV0IHByZXZpZXdSdW50aW1lOiBSdW50aW1lIHwgdW5kZWZpbmVkO1xuY29uc3Qgbm9kZWpzMjZQcmV2aWV3ID0gKCk6IFJ1bnRpbWUgPT4gKHByZXZpZXdSdW50aW1lID8/PSBuZXcgUnVudGltZSgnbm9kZWpzMjYueCcsIFJ1bnRpbWVGYW1pbHkuTk9ERUpTLCB7IHN1cHBvcnRzSW5saW5lQ29kZTogdHJ1ZSB9KSk7XG5cbi8qKlxuICogUmVzb2x2ZSBhIExhbWJkYSBydW50aW1lIGlkZW50aWZpZXIgKGUuZy4gYCdub2RlanMyNi54J2ApIHRvIGEgQ0RLIGBSdW50aW1lYC5cbiAqXG4gKiBAcGFyYW0gcnVudGltZSAtIHJ1bnRpbWUgaWRlbnRpZmllciBmcm9tIGBDb25maWcuZ2V0KCdhd3MnKS5sYW1iZGEucnVudGltZWBcbiAqIEByZXR1cm5zIHRoZSBDREsgcnVudGltZTsgZmFsbHMgYmFjayB0byBOb2RlLmpzIDI2IGZvciB1bmtub3duIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbGFtYmRhUnVudGltZShydW50aW1lOiBBV1NDb25maWdbJ2xhbWJkYSddWydydW50aW1lJ10pOiBSdW50aW1lIHtcbiAgaWYgKHJ1bnRpbWUgPT09ICdub2RlanMyNC54JykgcmV0dXJuIFJ1bnRpbWUuTk9ERUpTXzI0X1g7XG4gIHJldHVybiBub2RlanMyNlByZXZpZXcoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgTGFtYmRhIHRpbWVvdXQgaW4gc2Vjb25kcyB0byBhIENESyBgRHVyYXRpb25gLlxuICpcbiAqIEBwYXJhbSBzZWNvbmRzIC0gdGltZW91dCBmcm9tIGBDb25maWcuZ2V0KCdhd3MnKS5sYW1iZGEudGltZW91dFNlY29uZHNgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYW1iZGFUaW1lb3V0KHNlY29uZHM6IEFXU0NvbmZpZ1snbGFtYmRhJ11bJ3RpbWVvdXRTZWNvbmRzJ10pOiBEdXJhdGlvbiB7XG4gIHJldHVybiBEdXJhdGlvbi5zZWNvbmRzKHNlY29uZHMpO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIGNvbmZpZ3VyZWQgTGFtYmRhIGFyY2hpdGVjdHVyZSB0byBhIENESyBgQXJjaGl0ZWN0dXJlYC5cbiAqXG4gKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIC0gdmFsdWUgZnJvbSBgQ29uZmlnLmdldCgnYXdzJykubGFtYmRhLmFyY2hpdGVjdHVyZWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhbWJkYUFyY2hpdGVjdHVyZShhcmNoaXRlY3R1cmU6IEFXU0NvbmZpZ1snbGFtYmRhJ11bJ2FyY2hpdGVjdHVyZSddKTogQXJjaGl0ZWN0dXJlIHtcbiAgcmV0dXJuIGFyY2hpdGVjdHVyZSA9PT0gJ3g4Nl82NCcgPyBBcmNoaXRlY3R1cmUuWDg2XzY0IDogQXJjaGl0ZWN0dXJlLkFSTV82NDtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import type { BuildClass } from '@pipeline-builder/api-core';
1
2
  /**
2
3
  * Type-safe configuration interface
3
4
  */
@@ -142,19 +143,25 @@ export interface RegistryConfig {
142
143
  readonly http: boolean;
143
144
  }
144
145
  export interface PluginBuildConfig {
145
- readonly concurrency: number;
146
146
  /**
147
- * BASELINE maximum in-flight builds one organization may hold
148
- * (`PLUGIN_MAX_BUILDS_PER_ORG`, default 5).
147
+ * BASELINE in-flight build slots one organization gets, PER SCHEDULING CLASS
148
+ * (`PLUGIN_ORG_BUILD_SLOTS_STANDARD` 5, `PLUGIN_ORG_BUILD_SLOTS_FLEXIBLE` 8).
149
149
  *
150
150
  * Every org gets at least this many; the tier ladder in `BUILD_CLASS_CATALOG`
151
- * only ever RAISES it (enterprise and unlimited sit at 8 on the standard
152
- * class), so the effective cap is `max(this, ladder)`.
151
+ * only ever RAISES it, so the effective cap is `max(this[class], ladder)`.
153
152
  *
154
- * It is 5 because the ladder's lower rows were too tight for a real working
155
- * set: at three in flight an org pushing a batch of plugins spends most of its
156
- * time queued, and past `PLUGIN_ORG_SLOT_MAX_WAIT_MS` the waiting builds fail
157
- * TERMINALLY rather than merely late.
153
+ * Five and eight rather than the ladder's lower rows (standard 1/2/3, flexible
154
+ * 3/4/6) because three in flight is too tight for a real working set: an org
155
+ * pushing a batch of plugins spends most of its time queued, and past
156
+ * `PLUGIN_ORG_SLOT_MAX_WAIT_MS` the waiting builds fail TERMINALLY rather than
157
+ * merely late.
158
+ *
159
+ * **PER CLASS, and that is the point.** A single baseline across both classes
160
+ * flattened them below it — developer, pro and team all landed on the same
161
+ * figure for standard and flexible alike, so choosing the cheap class bought
162
+ * the later start and no extra slots. Keying the baseline on the class keeps
163
+ * "flexible always has more headroom" true on EVERY tier by construction
164
+ * rather than by assertion.
158
165
  *
159
166
  * A DEFAULT, not a ceiling: an explicit `PLUGIN_MAX_BUILDS_<TIER>_<CLASS>`
160
167
  * wins outright, including a value below this, so an operator who deliberately
@@ -162,12 +169,15 @@ export interface PluginBuildConfig {
162
169
  * itself — it is browser-importable, so it cannot see an env var — which is
163
170
  * why the overlay lives in the plugin service.
164
171
  *
165
- * The name is reused from the flat cap this replaced. That is deliberate but
166
- * worth knowing: a deployment whose `.env` still carries the old
167
- * `PLUGIN_MAX_BUILDS_PER_ORG=3` is back to three, which is the figure that
168
- * starved the catalogue load in the first place.
172
+ * Keyed on `BuildClass` rather than a loose pair so a third scheduling class
173
+ * cannot be added without giving it a baseline.
174
+ *
175
+ * These are DELIBERATELY not named `PLUGIN_MAX_BUILDS_PER_ORG`. That name was
176
+ * dead for a while and left behind in three deploy targets' `.env.example`, so
177
+ * reviving it would have silently applied a stale `=3` — the very figure that
178
+ * starved the catalogue load. A fresh name can only have been set on purpose.
169
179
  */
170
- readonly maxBuildsPerOrg: number;
180
+ readonly orgBuildSlots: Readonly<Record<BuildClass, number>>;
171
181
  readonly maxAttempts: number;
172
182
  readonly backoffDelayMs: number;
173
183
  readonly workerTimeoutMs: number;
@@ -1,4 +1,4 @@
1
1
  // Copyright 2026 Pipeline Builder Contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export {};
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWctdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5cbi8qKlxuICogVHlwZS1zYWZlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnIHtcbiAgcmVhZG9ubHkgc2VydmVyOiBTZXJ2ZXJDb25maWc7XG4gIHJlYWRvbmx5IGF1dGg6IEF1dGhDb25maWc7XG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBEYXRhYmFzZUNvbmZpZztcbiAgcmVhZG9ubHkgcmVnaXN0cnk6IFJlZ2lzdHJ5Q29uZmlnO1xuICByZWFkb25seSBwbHVnaW5CdWlsZDogUGx1Z2luQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IGRvY2tlckNvbmZpZzogQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IG9ic2VydmFiaWxpdHk6IE9ic2VydmFiaWxpdHlDb25maWc7XG4gIHJlYWRvbmx5IGNvbXBsaWFuY2U6IENvbXBsaWFuY2VDb25maWc7XG4gIHJlYWRvbmx5IGF3czogQVdTQ29uZmlnO1xuICByZWFkb25seSByYXRlTGltaXQ6IFJhdGVMaW1pdENvbmZpZztcbn1cblxuLyoqIEV4cHJlc3Mgc2VydmVyIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckNvbmZpZyB7XG4gIC8qKiBIVFRQIGxpc3RlbiBwb3J0IChlbnY6IGBQT1JUYCkuICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29yczoge1xuICAgIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY3JlZGVudGlhbHMgaW4gQ09SUyByZXNwb25zZXMgKGVudjogYENPUlNfQ1JFREVOVElBTFNgKS4gKi9cbiAgICByZWFkb25seSBjcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICAvKiogQWxsb3dlZCBvcmlnaW4ocykg4oCUIHNpbmdsZSBzdHJpbmcsIGFycmF5LCBvciBgJyonYCAoZW52OiBgQ09SU19PUklHSU5gKS4gKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICAvKiogTnVtYmVyIG9mIHJldmVyc2UgcHJveHkgaG9wcyB0byB0cnVzdCAoZW52OiBgVFJVU1RfUFJPWFlgKS4gKi9cbiAgcmVhZG9ubHkgdHJ1c3RQcm94eTogbnVtYmVyO1xuICAvKiogRnJvbnRlbmQgYmFzZSBVUkwsIHVzZWQgYXMgQ09SUyBmYWxsYmFjayAoZW52OiBgUExBVEZPUk1fQkFTRV9VUkxgKS4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cENsaWVudDoge1xuICAgIC8qKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCB0aW1lb3V0IGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9USU1FT1VUYCkuICovXG4gICAgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBNYXhpbXVtIHJldHJ5IGF0dGVtcHRzIGZvciBmYWlsZWQgcmVxdWVzdHMgKGVudjogYEhUVFBfQ0xJRU5UX01BWF9SRVRSSUVTYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UmV0cmllczogbnVtYmVyO1xuICAgIC8qKiBCYXNlIGRlbGF5IGJldHdlZW4gcmV0cmllcyBpbiBtcyAoZW52OiBgSFRUUF9DTElFTlRfUkVUUllfREVMQVlfTVNgKS4gKi9cbiAgICByZWFkb25seSByZXRyeURlbGF5TXM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc3NlOiB7XG4gICAgLyoqIE1heCBTU0UgY2xpZW50cyBwZXIgcmVxdWVzdCAoZW52OiBgU1NFX01BWF9DTElFTlRTX1BFUl9SRVFVRVNUYCkuICovXG4gICAgcmVhZG9ubHkgbWF4Q2xpZW50c1BlclJlcXVlc3Q6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsaWVudCB0aW1lb3V0IGluIG1zIChlbnY6IGBTU0VfQ0xJRU5UX1RJTUVPVVRfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGllbnRUaW1lb3V0TXM6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsZWFudXAgaW50ZXJ2YWwgaW4gbXMgKGVudjogYFNTRV9DTEVBTlVQX0lOVEVSVkFMX01TYCkuICovXG4gICAgcmVhZG9ubHkgY2xlYW51cEludGVydmFsTXM6IG51bWJlcjtcbiAgfTtcbiAgLyoqIFNpYmxpbmctc2VydmljZSBhZGRyZXNzZXMsIHJlc29sdmVkIGJ5IGFwaS1jb3JlJ3MgYHNlcnZpY2VFbmRwb2ludGBcbiAgICogIChgPE5BTUU+X1NFUlZJQ0VfSE9TVGAgLyBgPE5BTUU+X1NFUlZJQ0VfUE9SVGApLiAqL1xuICByZWFkb25seSBzZXJ2aWNlczoge1xuICAgIHJlYWRvbmx5IHBsdWdpbkhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwbHVnaW5Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVzc2FnZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBtZXNzYWdlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGNvbXBsaWFuY2VIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1RpbWVvdXQ6IG51bWJlcjtcbiAgICAvKiogaW1hZ2UtcmVnaXN0cnkgc2VydmljZSDigJQgdGhlIHBsdWdpbiB3b3JrZXIgYXNrcyBpdCB0byBzaWduIHB1c2hlZCBpbWFnZXMgKGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlIb3N0OiBzdHJpbmc7XG4gICAgLyoqIGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfUE9SVGAgKi9cbiAgICByZWFkb25seSBpbWFnZVJlZ2lzdHJ5UG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHF1b3RhSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHF1b3RhUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ0hvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSByZXBvcnRpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYXNrSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFza1BvcnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIEF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnZW5lcmljIHNlcnZpY2Ugc2NhZmZvbGQuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICByZWFkb25seSBqd3Q6IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBKV1RfRVhQSVJFU19JTmApLlxuICAgICAqXG4gICAgICogVGhlcmUgaXMgbm8gSldUIFNFQ1JFVCBoZXJlIGFueSBtb3JlLiBFdmVyeSB0b2tlbiBpcyBhc3ltbWV0cmljOiBhIHVzZXJcbiAgICAgKiB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgcGxhdGZvcm0gYWxvbmUgKGBzZXJ2aWNlcy90b2tlbi1zaWduaW5nYCksIGFuZCBhblxuICAgICAqIGludGVybmFsIHNlcnZpY2UgdG9rZW4gaXMgRVMyNTYgc2lnbmVkIGJ5IHRoZSBDQUxMSU5HIHNlcnZpY2Ugd2l0aCBpdHMgb3duXG4gICAgICoga2V5ICgjMTQsIGBTRVJWSUNFX1NJR05JTkdfS0VZX0ZJTEVgIC8gYFNFUlZJQ0VfS0VZX0JVTkRMRV9GSUxFYCkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gICAgLyoqIGJjcnlwdCBzYWx0IHJvdW5kcyBmb3IgcGFzc3dvcmQgaGFzaGluZyAoZW52OiBgQkNSWVBUX1NBTFRfUk9VTkRTYCkuICovXG4gICAgcmVhZG9ubHkgc2FsdFJvdW5kczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSByZWZyZXNoVG9rZW46IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBSRUZSRVNIX1RPS0VOX0VYUElSRVNfSU5gKS4gVGhlcmUgaXMgbm9cbiAgICAgKiByZWZyZXNoLXRva2VuIFNFQ1JFVCBhbnkgbW9yZTogYSByZWZyZXNoIHRva2VuIGlzIGEgdXNlciB0b2tlbiwgc2lnbmVkXG4gICAgICogd2l0aCBwbGF0Zm9ybSdzIEVTMjU2IGtleSBsaWtlIGV2ZXJ5IG90aGVyIGNyZWRlbnRpYWwgYSBwZXJzb24gaG9sZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gIH07XG59XG5cbi8qKiBQb3N0Z3JlU1FMIGFuZCBEcml6emxlIE9STSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHBvc3RncmVzOiB7XG4gICAgLyoqIFBvc3RncmVTUUwgaG9zdCAoZW52OiBgREJfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgICAvKiogUG9zdGdyZVNRTCBwb3J0IChlbnY6IGBEQl9QT1JUYCkuICovXG4gICAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIC8qKiBEYXRhYmFzZSBuYW1lIChlbnY6IGBEQVRBQkFTRWApLiAqL1xuICAgIHJlYWRvbmx5IGRhdGFiYXNlOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHVzZXIgKGVudjogYERCX1VTRVJgKS4gKi9cbiAgICByZWFkb25seSB1c2VyOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHBhc3N3b3JkIChlbnY6IGBEQl9QQVNTV09SRGApLiAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGRyaXp6bGU6IHtcbiAgICAvKiogTWF4aW11bSBjb25uZWN0aW9uIHBvb2wgc2l6ZSAoZW52OiBgRFJJWlpMRV9NQVhfUE9PTF9TSVpFYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UG9vbFNpemU6IG51bWJlcjtcbiAgICAvKiogSWRsZSBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfSURMRV9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGlkbGVUaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gICAgLyoqIE5ldyBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlDb25maWcge1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvc3QvcG9ydCBhbiBPVVQtT0YtQ0xVU1RFUiBjbGllbnQgKG5vdGFibHkgQVdTIENvZGVCdWlsZCkgdXNlcyB0byBwdWxsXG4gICAqIHBsdWdpbiBpbWFnZXMsIHdoZW4gaXQgZGlmZmVycyBmcm9tIHRoZSBpbi1jbHVzdGVyIGBob3N0YC9gcG9ydGAuIFRoZVxuICAgKiBpbi1jbHVzdGVyIGByZWdpc3RyeTo1MDAwYCBDbHVzdGVySVAgaXNuJ3QgcmVzb2x2YWJsZSBmcm9tIHRoZSBWUEMsIHNvIHRoZVxuICAgKiBzeW50aGVzaXplZCBDb2RlQnVpbGQgaW1hZ2UgVVJJIG11c3QgcG9pbnQgYXQgdGhlIHB1YmxpYyBnYXRld2F5IGluc3RlYWQuXG4gICAqIEVudjogYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAgLyBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYC4gT3B0aW9uYWw7XG4gICAqIGNvbnN1bWVycyBmYWxsIGJhY2sgdG8gYGhvc3RgL2Bwb3J0YCB3aGVuIHVuc2V0IChzaW5nbGUtaG9zdCAvXG4gICAqIGluLWNsdXN0ZXItb25seSBkZXBsb3lzKS4gYGxvYWRSZWdpc3RyeUNvbmZpZ2AgYWx3YXlzIHBvcHVsYXRlcyB0aGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbEhvc3Q/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHB1bGxQb3J0PzogbnVtYmVyO1xuICAvKiogRG9ja2VyIG5ldHdvcmsgZm9yIGJ1aWxkL3B1c2ggKGVtcHR5IHN0cmluZyA9IGRlZmF1bHQpLiAqL1xuICByZWFkb25seSBuZXR3b3JrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZEtpdCB0YWxrcyB0byB0aGUgcmVnaXN0cnkgb3ZlciBwbGFpbiBIVFRQIHdoZW4gdHJ1ZTsgSFRUUFMgd2l0aCB0aGVcbiAgICogc3lzdGVtIENBIGJ1bmRsZSBvdGhlcndpc2UuIEVudjogYElNQUdFX1JFR0lTVFJZX0hUVFBgIChkZWZhdWx0cyB0cnVlIOKAlFxuICAgKiB0aGUgaW4tY2x1c3RlciByZWdpc3RyeSBoYXMgbm8gVExTKS5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGRDb25maWcge1xuICByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyO1xuICAvKipcbiAgICogQkFTRUxJTkUgbWF4aW11bSBpbi1mbGlnaHQgYnVpbGRzIG9uZSBvcmdhbml6YXRpb24gbWF5IGhvbGRcbiAgICogKGBQTFVHSU5fTUFYX0JVSUxEU19QRVJfT1JHYCwgZGVmYXVsdCA1KS5cbiAgICpcbiAgICogRXZlcnkgb3JnIGdldHMgYXQgbGVhc3QgdGhpcyBtYW55OyB0aGUgdGllciBsYWRkZXIgaW4gYEJVSUxEX0NMQVNTX0NBVEFMT0dgXG4gICAqIG9ubHkgZXZlciBSQUlTRVMgaXQgKGVudGVycHJpc2UgYW5kIHVubGltaXRlZCBzaXQgYXQgOCBvbiB0aGUgc3RhbmRhcmRcbiAgICogY2xhc3MpLCBzbyB0aGUgZWZmZWN0aXZlIGNhcCBpcyBgbWF4KHRoaXMsIGxhZGRlcilgLlxuICAgKlxuICAgKiBJdCBpcyA1IGJlY2F1c2UgdGhlIGxhZGRlcidzIGxvd2VyIHJvd3Mgd2VyZSB0b28gdGlnaHQgZm9yIGEgcmVhbCB3b3JraW5nXG4gICAqIHNldDogYXQgdGhyZWUgaW4gZmxpZ2h0IGFuIG9yZyBwdXNoaW5nIGEgYmF0Y2ggb2YgcGx1Z2lucyBzcGVuZHMgbW9zdCBvZiBpdHNcbiAgICogdGltZSBxdWV1ZWQsIGFuZCBwYXN0IGBQTFVHSU5fT1JHX1NMT1RfTUFYX1dBSVRfTVNgIHRoZSB3YWl0aW5nIGJ1aWxkcyBmYWlsXG4gICAqIFRFUk1JTkFMTFkgcmF0aGVyIHRoYW4gbWVyZWx5IGxhdGUuXG4gICAqXG4gICAqIEEgREVGQVVMVCwgbm90IGEgY2VpbGluZzogYW4gZXhwbGljaXQgYFBMVUdJTl9NQVhfQlVJTERTXzxUSUVSPl88Q0xBU1M+YFxuICAgKiB3aW5zIG91dHJpZ2h0LCBpbmNsdWRpbmcgYSB2YWx1ZSBiZWxvdyB0aGlzLCBzbyBhbiBvcGVyYXRvciB3aG8gZGVsaWJlcmF0ZWx5XG4gICAqIHdhbnRzIG9uZSB0aWVyIGF0IGEgc2luZ2xlIGJ1aWxkIHN0aWxsIGdldHMgaXQuIFRoZSBjYXRhbG9nIGNhbm5vdCByZWFkIHRoaXNcbiAgICogaXRzZWxmIOKAlCBpdCBpcyBicm93c2VyLWltcG9ydGFibGUsIHNvIGl0IGNhbm5vdCBzZWUgYW4gZW52IHZhciDigJQgd2hpY2ggaXNcbiAgICogd2h5IHRoZSBvdmVybGF5IGxpdmVzIGluIHRoZSBwbHVnaW4gc2VydmljZS5cbiAgICpcbiAgICogVGhlIG5hbWUgaXMgcmV1c2VkIGZyb20gdGhlIGZsYXQgY2FwIHRoaXMgcmVwbGFjZWQuIFRoYXQgaXMgZGVsaWJlcmF0ZSBidXRcbiAgICogd29ydGgga25vd2luZzogYSBkZXBsb3ltZW50IHdob3NlIGAuZW52YCBzdGlsbCBjYXJyaWVzIHRoZSBvbGRcbiAgICogYFBMVUdJTl9NQVhfQlVJTERTX1BFUl9PUkc9M2AgaXMgYmFjayB0byB0aHJlZSwgd2hpY2ggaXMgdGhlIGZpZ3VyZSB0aGF0XG4gICAqIHN0YXJ2ZWQgdGhlIGNhdGFsb2d1ZSBsb2FkIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heEJ1aWxkc1Blck9yZzogbnVtYmVyO1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJbWFnZSB1c2VkIGZvciBDb2RlQnVpbGQgc3RlcHMgdGhhdCBkb24ndCBoYXZlIGEgcGx1Z2luLWJha2VkIGltYWdlXG4gICAgICogKGNvbGQtc3RhcnQgc3ludGggYm9vdHN0cmFwLCBTaGVsbFN0ZXBzIHdpdGggbm8gcmVnaXN0cnksIGFuZFxuICAgICAqIGBtZXRhZGF0YV9vbmx5YCBwbHVnaW5zKS4gZW52OiBgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VgLiBEZWZhdWx0XG4gICAgICogYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgIOKAlCB0aGUgbG9jYWwgdGFnIGJ1aWx0IGJ5XG4gICAgICogYGRlcGxveS9jb2RlYnVpbGQvYm9vdHN0cmFwL0RvY2tlcmZpbGVgLCB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgICAqIGJha2VkIGluLlxuICAgICAqXG4gICAgICogQ29udHJhY3Q6IHRoZSBpbWFnZSBNVVNUIGhhdmUgYHBpcGVsaW5lLW1hbmFnZXJgIG9uIFBBVEguIFRoZVxuICAgICAqIGJvb3RzdHJhcCBzeW50aCBwYXRoIGRvZXMgbm90IHNlbGYtaGVhbCB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZWdpc3RyeSBtYW5pZmVzdCBkaWdlc3QgKGBzaGEyNTY6PDY0IGhleD5gKSBvZiB7QGxpbmsgZGVmYXVsdEltYWdlfSxcbiAgICAgKiBwcmludGVkIGJ5IGBkZXBsb3kvYmluL2J1aWxkLWNvZGVidWlsZC1ib290c3RyYXAuc2hgIGFmdGVyIGl0IHB1Ymxpc2hlcy5cbiAgICAgKiBlbnY6IGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRV9ESUdFU1RgLiBXaGVuIHNldCwgYSBiYXJlLXRhZyBpbWFnZSBpc1xuICAgICAqIHB1bGxlZCBhcyBgPHJlZ2lzdHJ5Pi9saWJyYXJ5LzxyZXBvPkA8ZGlnZXN0PmAg4oCUIGJ5IHRoZSBhcnRpZmFjdCB0aGF0XG4gICAgICogd2FzIGJ1aWx0IGFuZCBzY2FubmVkLCBuZXZlciBieSB0aGUgbXV0YWJsZSB0YWcuIEVtcHR5IOKGkiB0aGUgdGFnIGlzIHVzZWRcbiAgICAgKiBhbmQgc3ludGggd2FybnMgbG91ZGx5OyBtYWxmb3JtZWQg4oaSIHN5bnRoIGZhaWxzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICB9O1xufVxuXG4vKiogRXhwcmVzcyByYXRlIGxpbWl0aW5nIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVMaW1pdENvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHJlcXVlc3RzIHBlciB3aW5kb3cgKGVudjogYExJTUlURVJfTUFYYCkuICovXG4gIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAvKiogUmF0ZSBsaW1pdCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIChlbnY6IGBMSU1JVEVSX1dJTkRPV01TYCkuICovXG4gIHJlYWRvbmx5IHdpbmRvd01zOiBudW1iZXI7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQnVpbGRDbGFzcyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcblxuLyoqXG4gKiBUeXBlLXNhZmUgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBzZXJ2ZXI6IFNlcnZlckNvbmZpZztcbiAgcmVhZG9ubHkgYXV0aDogQXV0aENvbmZpZztcbiAgcmVhZG9ubHkgZGF0YWJhc2U6IERhdGFiYXNlQ29uZmlnO1xuICByZWFkb25seSByZWdpc3RyeTogUmVnaXN0cnlDb25maWc7XG4gIHJlYWRvbmx5IHBsdWdpbkJ1aWxkOiBQbHVnaW5CdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgZG9ja2VyQ29uZmlnOiBCdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgb2JzZXJ2YWJpbGl0eTogT2JzZXJ2YWJpbGl0eUNvbmZpZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogQ29tcGxpYW5jZUNvbmZpZztcbiAgcmVhZG9ubHkgYXdzOiBBV1NDb25maWc7XG4gIHJlYWRvbmx5IHJhdGVMaW1pdDogUmF0ZUxpbWl0Q29uZmlnO1xufVxuXG4vKiogRXhwcmVzcyBzZXJ2ZXIgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnIHtcbiAgLyoqIEhUVFAgbGlzdGVuIHBvcnQgKGVudjogYFBPUlRgKS4gKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBjb3JzOiB7XG4gICAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjcmVkZW50aWFscyBpbiBDT1JTIHJlc3BvbnNlcyAoZW52OiBgQ09SU19DUkVERU5USUFMU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNyZWRlbnRpYWxzOiBib29sZWFuO1xuICAgIC8qKiBBbGxvd2VkIG9yaWdpbihzKSDigJQgc2luZ2xlIHN0cmluZywgYXJyYXksIG9yIGAnKidgIChlbnY6IGBDT1JTX09SSUdJTmApLiAqL1xuICAgIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIC8qKiBOdW1iZXIgb2YgcmV2ZXJzZSBwcm94eSBob3BzIHRvIHRydXN0IChlbnY6IGBUUlVTVF9QUk9YWWApLiAqL1xuICByZWFkb25seSB0cnVzdFByb3h5OiBudW1iZXI7XG4gIC8qKiBGcm9udGVuZCBiYXNlIFVSTCwgdXNlZCBhcyBDT1JTIGZhbGxiYWNrIChlbnY6IGBQTEFURk9STV9CQVNFX1VSTGApLiAqL1xuICByZWFkb25seSBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICByZWFkb25seSBodHRwQ2xpZW50OiB7XG4gICAgLyoqIERlZmF1bHQgSFRUUCByZXF1ZXN0IHRpbWVvdXQgaW4gbXMgKGVudjogYEhUVFBfQ0xJRU5UX1RJTUVPVVRgKS4gKi9cbiAgICByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gICAgLyoqIE1heGltdW0gcmV0cnkgYXR0ZW1wdHMgZm9yIGZhaWxlZCByZXF1ZXN0cyAoZW52OiBgSFRUUF9DTElFTlRfTUFYX1JFVFJJRVNgKS4gKi9cbiAgICByZWFkb25seSBtYXhSZXRyaWVzOiBudW1iZXI7XG4gICAgLyoqIEJhc2UgZGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9SRVRSWV9ERUxBWV9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IHJldHJ5RGVsYXlNczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBzc2U6IHtcbiAgICAvKiogTWF4IFNTRSBjbGllbnRzIHBlciByZXF1ZXN0IChlbnY6IGBTU0VfTUFYX0NMSUVOVFNfUEVSX1JFUVVFU1RgKS4gKi9cbiAgICByZWFkb25seSBtYXhDbGllbnRzUGVyUmVxdWVzdDogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xpZW50IHRpbWVvdXQgaW4gbXMgKGVudjogYFNTRV9DTElFTlRfVElNRU9VVF9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFRpbWVvdXRNczogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xlYW51cCBpbnRlcnZhbCBpbiBtcyAoZW52OiBgU1NFX0NMRUFOVVBfSU5URVJWQUxfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGVhbnVwSW50ZXJ2YWxNczogbnVtYmVyO1xuICB9O1xuICAvKiogU2libGluZy1zZXJ2aWNlIGFkZHJlc3NlcywgcmVzb2x2ZWQgYnkgYXBpLWNvcmUncyBgc2VydmljZUVuZHBvaW50YFxuICAgKiAgKGA8TkFNRT5fU0VSVklDRV9IT1NUYCAvIGA8TkFNRT5fU0VSVklDRV9QT1JUYCkuICovXG4gIHJlYWRvbmx5IHNlcnZpY2VzOiB7XG4gICAgcmVhZG9ubHkgcGx1Z2luSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsdWdpblBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBwaXBlbGluZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwaXBlbGluZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBtZXNzYWdlSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1lc3NhZ2VQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Ib3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBjb21wbGlhbmNlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nVGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBpbWFnZS1yZWdpc3RyeSBzZXJ2aWNlIOKAlCB0aGUgcGx1Z2luIHdvcmtlciBhc2tzIGl0IHRvIHNpZ24gcHVzaGVkIGltYWdlcyAoZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaW1hZ2VSZWdpc3RyeUhvc3Q6IHN0cmluZztcbiAgICAvKiogZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9QT1JUYCAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcXVvdGFIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcXVvdGFQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcmVwb3J0aW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBhc2tIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXNrUG9ydDogbnVtYmVyO1xuICB9O1xufVxuXG4vKiogQXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhlIGdlbmVyaWMgc2VydmljZSBzY2FmZm9sZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIHJlYWRvbmx5IGp3dDoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYEpXVF9FWFBJUkVTX0lOYCkuXG4gICAgICpcbiAgICAgKiBUaGVyZSBpcyBubyBKV1QgU0VDUkVUIGhlcmUgYW55IG1vcmUuIEV2ZXJ5IHRva2VuIGlzIGFzeW1tZXRyaWM6IGEgdXNlclxuICAgICAqIHRva2VuIGlzIEVTMjU2IHNpZ25lZCBieSBwbGF0Zm9ybSBhbG9uZSAoYHNlcnZpY2VzL3Rva2VuLXNpZ25pbmdgKSwgYW5kIGFuXG4gICAgICogaW50ZXJuYWwgc2VydmljZSB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgdGhlIENBTExJTkcgc2VydmljZSB3aXRoIGl0cyBvd25cbiAgICAgKiBrZXkgKCMxNCwgYFNFUlZJQ0VfU0lHTklOR19LRVlfRklMRWAgLyBgU0VSVklDRV9LRVlfQlVORExFX0ZJTEVgKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgICAvKiogYmNyeXB0IHNhbHQgcm91bmRzIGZvciBwYXNzd29yZCBoYXNoaW5nIChlbnY6IGBCQ1JZUFRfU0FMVF9ST1VORFNgKS4gKi9cbiAgICByZWFkb25seSBzYWx0Um91bmRzOiBudW1iZXI7XG4gIH07XG4gIHJlYWRvbmx5IHJlZnJlc2hUb2tlbjoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYFJFRlJFU0hfVE9LRU5fRVhQSVJFU19JTmApLiBUaGVyZSBpcyBub1xuICAgICAqIHJlZnJlc2gtdG9rZW4gU0VDUkVUIGFueSBtb3JlOiBhIHJlZnJlc2ggdG9rZW4gaXMgYSB1c2VyIHRva2VuLCBzaWduZWRcbiAgICAgKiB3aXRoIHBsYXRmb3JtJ3MgRVMyNTYga2V5IGxpa2UgZXZlcnkgb3RoZXIgY3JlZGVudGlhbCBhIHBlcnNvbiBob2xkcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIFBvc3RncmVTUUwgYW5kIERyaXp6bGUgT1JNIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgcG9zdGdyZXM6IHtcbiAgICAvKiogUG9zdGdyZVNRTCBob3N0IChlbnY6IGBEQl9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICAgIC8qKiBQb3N0Z3JlU1FMIHBvcnQgKGVudjogYERCX1BPUlRgKS4gKi9cbiAgICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgLyoqIERhdGFiYXNlIG5hbWUgKGVudjogYERBVEFCQVNFYCkuICovXG4gICAgcmVhZG9ubHkgZGF0YWJhc2U6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgdXNlciAoZW52OiBgREJfVVNFUmApLiAqL1xuICAgIHJlYWRvbmx5IHVzZXI6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgcGFzc3dvcmQgKGVudjogYERCX1BBU1NXT1JEYCkuICovXG4gICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgcmVhZG9ubHkgZHJpenpsZToge1xuICAgIC8qKiBNYXhpbXVtIGNvbm5lY3Rpb24gcG9vbCBzaXplIChlbnY6IGBEUklaWkxFX01BWF9QT09MX1NJWkVgKS4gKi9cbiAgICByZWFkb25seSBtYXhQb29sU2l6ZTogbnVtYmVyO1xuICAgIC8qKiBJZGxlIGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9JRExFX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgaWRsZVRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgICAvKiogTmV3IGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUNvbmZpZyB7XG4gIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogSG9zdC9wb3J0IGFuIE9VVC1PRi1DTFVTVEVSIGNsaWVudCAobm90YWJseSBBV1MgQ29kZUJ1aWxkKSB1c2VzIHRvIHB1bGxcbiAgICogcGx1Z2luIGltYWdlcywgd2hlbiBpdCBkaWZmZXJzIGZyb20gdGhlIGluLWNsdXN0ZXIgYGhvc3RgL2Bwb3J0YC4gVGhlXG4gICAqIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5OjUwMDBgIENsdXN0ZXJJUCBpc24ndCByZXNvbHZhYmxlIGZyb20gdGhlIFZQQywgc28gdGhlXG4gICAqIHN5bnRoZXNpemVkIENvZGVCdWlsZCBpbWFnZSBVUkkgbXVzdCBwb2ludCBhdCB0aGUgcHVibGljIGdhdGV3YXkgaW5zdGVhZC5cbiAgICogRW52OiBgSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUYCAvIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgLiBPcHRpb25hbDtcbiAgICogY29uc3VtZXJzIGZhbGwgYmFjayB0byBgaG9zdGAvYHBvcnRgIHdoZW4gdW5zZXQgKHNpbmdsZS1ob3N0IC9cbiAgICogaW4tY2x1c3Rlci1vbmx5IGRlcGxveXMpLiBgbG9hZFJlZ2lzdHJ5Q29uZmlnYCBhbHdheXMgcG9wdWxhdGVzIHRoZW0uXG4gICAqL1xuICByZWFkb25seSBwdWxsSG9zdD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHVsbFBvcnQ/OiBudW1iZXI7XG4gIC8qKiBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZW1wdHkgc3RyaW5nID0gZGVmYXVsdCkuICovXG4gIHJlYWRvbmx5IG5ldHdvcms6IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1aWxkS2l0IHRhbGtzIHRvIHRoZSByZWdpc3RyeSBvdmVyIHBsYWluIEhUVFAgd2hlbiB0cnVlOyBIVFRQUyB3aXRoIHRoZVxuICAgKiBzeXN0ZW0gQ0EgYnVuZGxlIG90aGVyd2lzZS4gRW52OiBgSU1BR0VfUkVHSVNUUllfSFRUUGAgKGRlZmF1bHRzIHRydWUg4oCUXG4gICAqIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIC8qKlxuICAgKiBCQVNFTElORSBpbi1mbGlnaHQgYnVpbGQgc2xvdHMgb25lIG9yZ2FuaXphdGlvbiBnZXRzLCBQRVIgU0NIRURVTElORyBDTEFTU1xuICAgKiAoYFBMVUdJTl9PUkdfQlVJTERfU0xPVFNfU1RBTkRBUkRgIDUsIGBQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX0ZMRVhJQkxFYCA4KS5cbiAgICpcbiAgICogRXZlcnkgb3JnIGdldHMgYXQgbGVhc3QgdGhpcyBtYW55OyB0aGUgdGllciBsYWRkZXIgaW4gYEJVSUxEX0NMQVNTX0NBVEFMT0dgXG4gICAqIG9ubHkgZXZlciBSQUlTRVMgaXQsIHNvIHRoZSBlZmZlY3RpdmUgY2FwIGlzIGBtYXgodGhpc1tjbGFzc10sIGxhZGRlcilgLlxuICAgKlxuICAgKiBGaXZlIGFuZCBlaWdodCByYXRoZXIgdGhhbiB0aGUgbGFkZGVyJ3MgbG93ZXIgcm93cyAoc3RhbmRhcmQgMS8yLzMsIGZsZXhpYmxlXG4gICAqIDMvNC82KSBiZWNhdXNlIHRocmVlIGluIGZsaWdodCBpcyB0b28gdGlnaHQgZm9yIGEgcmVhbCB3b3JraW5nIHNldDogYW4gb3JnXG4gICAqIHB1c2hpbmcgYSBiYXRjaCBvZiBwbHVnaW5zIHNwZW5kcyBtb3N0IG9mIGl0cyB0aW1lIHF1ZXVlZCwgYW5kIHBhc3RcbiAgICogYFBMVUdJTl9PUkdfU0xPVF9NQVhfV0FJVF9NU2AgdGhlIHdhaXRpbmcgYnVpbGRzIGZhaWwgVEVSTUlOQUxMWSByYXRoZXIgdGhhblxuICAgKiBtZXJlbHkgbGF0ZS5cbiAgICpcbiAgICogKipQRVIgQ0xBU1MsIGFuZCB0aGF0IGlzIHRoZSBwb2ludC4qKiBBIHNpbmdsZSBiYXNlbGluZSBhY3Jvc3MgYm90aCBjbGFzc2VzXG4gICAqIGZsYXR0ZW5lZCB0aGVtIGJlbG93IGl0IOKAlCBkZXZlbG9wZXIsIHBybyBhbmQgdGVhbSBhbGwgbGFuZGVkIG9uIHRoZSBzYW1lXG4gICAqIGZpZ3VyZSBmb3Igc3RhbmRhcmQgYW5kIGZsZXhpYmxlIGFsaWtlLCBzbyBjaG9vc2luZyB0aGUgY2hlYXAgY2xhc3MgYm91Z2h0XG4gICAqIHRoZSBsYXRlciBzdGFydCBhbmQgbm8gZXh0cmEgc2xvdHMuIEtleWluZyB0aGUgYmFzZWxpbmUgb24gdGhlIGNsYXNzIGtlZXBzXG4gICAqIFwiZmxleGlibGUgYWx3YXlzIGhhcyBtb3JlIGhlYWRyb29tXCIgdHJ1ZSBvbiBFVkVSWSB0aWVyIGJ5IGNvbnN0cnVjdGlvblxuICAgKiByYXRoZXIgdGhhbiBieSBhc3NlcnRpb24uXG4gICAqXG4gICAqIEEgREVGQVVMVCwgbm90IGEgY2VpbGluZzogYW4gZXhwbGljaXQgYFBMVUdJTl9NQVhfQlVJTERTXzxUSUVSPl88Q0xBU1M+YFxuICAgKiB3aW5zIG91dHJpZ2h0LCBpbmNsdWRpbmcgYSB2YWx1ZSBiZWxvdyB0aGlzLCBzbyBhbiBvcGVyYXRvciB3aG8gZGVsaWJlcmF0ZWx5XG4gICAqIHdhbnRzIG9uZSB0aWVyIGF0IGEgc2luZ2xlIGJ1aWxkIHN0aWxsIGdldHMgaXQuIFRoZSBjYXRhbG9nIGNhbm5vdCByZWFkIHRoaXNcbiAgICogaXRzZWxmIOKAlCBpdCBpcyBicm93c2VyLWltcG9ydGFibGUsIHNvIGl0IGNhbm5vdCBzZWUgYW4gZW52IHZhciDigJQgd2hpY2ggaXNcbiAgICogd2h5IHRoZSBvdmVybGF5IGxpdmVzIGluIHRoZSBwbHVnaW4gc2VydmljZS5cbiAgICpcbiAgICogS2V5ZWQgb24gYEJ1aWxkQ2xhc3NgIHJhdGhlciB0aGFuIGEgbG9vc2UgcGFpciBzbyBhIHRoaXJkIHNjaGVkdWxpbmcgY2xhc3NcbiAgICogY2Fubm90IGJlIGFkZGVkIHdpdGhvdXQgZ2l2aW5nIGl0IGEgYmFzZWxpbmUuXG4gICAqXG4gICAqIFRoZXNlIGFyZSBERUxJQkVSQVRFTFkgbm90IG5hbWVkIGBQTFVHSU5fTUFYX0JVSUxEU19QRVJfT1JHYC4gVGhhdCBuYW1lIHdhc1xuICAgKiBkZWFkIGZvciBhIHdoaWxlIGFuZCBsZWZ0IGJlaGluZCBpbiB0aHJlZSBkZXBsb3kgdGFyZ2V0cycgYC5lbnYuZXhhbXBsZWAsIHNvXG4gICAqIHJldml2aW5nIGl0IHdvdWxkIGhhdmUgc2lsZW50bHkgYXBwbGllZCBhIHN0YWxlIGA9M2Ag4oCUIHRoZSB2ZXJ5IGZpZ3VyZSB0aGF0XG4gICAqIHN0YXJ2ZWQgdGhlIGNhdGFsb2d1ZSBsb2FkLiBBIGZyZXNoIG5hbWUgY2FuIG9ubHkgaGF2ZSBiZWVuIHNldCBvbiBwdXJwb3NlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JnQnVpbGRTbG90czogUmVhZG9ubHk8UmVjb3JkPEJ1aWxkQ2xhc3MsIG51bWJlcj4+O1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJbWFnZSB1c2VkIGZvciBDb2RlQnVpbGQgc3RlcHMgdGhhdCBkb24ndCBoYXZlIGEgcGx1Z2luLWJha2VkIGltYWdlXG4gICAgICogKGNvbGQtc3RhcnQgc3ludGggYm9vdHN0cmFwLCBTaGVsbFN0ZXBzIHdpdGggbm8gcmVnaXN0cnksIGFuZFxuICAgICAqIGBtZXRhZGF0YV9vbmx5YCBwbHVnaW5zKS4gZW52OiBgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VgLiBEZWZhdWx0XG4gICAgICogYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgIOKAlCB0aGUgbG9jYWwgdGFnIGJ1aWx0IGJ5XG4gICAgICogYGRlcGxveS9jb2RlYnVpbGQvYm9vdHN0cmFwL0RvY2tlcmZpbGVgLCB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgICAqIGJha2VkIGluLlxuICAgICAqXG4gICAgICogQ29udHJhY3Q6IHRoZSBpbWFnZSBNVVNUIGhhdmUgYHBpcGVsaW5lLW1hbmFnZXJgIG9uIFBBVEguIFRoZVxuICAgICAqIGJvb3RzdHJhcCBzeW50aCBwYXRoIGRvZXMgbm90IHNlbGYtaGVhbCB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZWdpc3RyeSBtYW5pZmVzdCBkaWdlc3QgKGBzaGEyNTY6PDY0IGhleD5gKSBvZiB7QGxpbmsgZGVmYXVsdEltYWdlfSxcbiAgICAgKiBwcmludGVkIGJ5IGBkZXBsb3kvYmluL2J1aWxkLWNvZGVidWlsZC1ib290c3RyYXAuc2hgIGFmdGVyIGl0IHB1Ymxpc2hlcy5cbiAgICAgKiBlbnY6IGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRV9ESUdFU1RgLiBXaGVuIHNldCwgYSBiYXJlLXRhZyBpbWFnZSBpc1xuICAgICAqIHB1bGxlZCBhcyBgPHJlZ2lzdHJ5Pi9saWJyYXJ5LzxyZXBvPkA8ZGlnZXN0PmAg4oCUIGJ5IHRoZSBhcnRpZmFjdCB0aGF0XG4gICAgICogd2FzIGJ1aWx0IGFuZCBzY2FubmVkLCBuZXZlciBieSB0aGUgbXV0YWJsZSB0YWcuIEVtcHR5IOKGkiB0aGUgdGFnIGlzIHVzZWRcbiAgICAgKiBhbmQgc3ludGggd2FybnMgbG91ZGx5OyBtYWxmb3JtZWQg4oaSIHN5bnRoIGZhaWxzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICB9O1xufVxuXG4vKiogRXhwcmVzcyByYXRlIGxpbWl0aW5nIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVMaW1pdENvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHJlcXVlc3RzIHBlciB3aW5kb3cgKGVudjogYExJTUlURVJfTUFYYCkuICovXG4gIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAvKiogUmF0ZSBsaW1pdCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIChlbnY6IGBMSU1JVEVSX1dJTkRPV01TYCkuICovXG4gIHJlYWRvbmx5IHdpbmRvd01zOiBudW1iZXI7XG59XG4iXX0=
@@ -26,4 +26,4 @@ export const HANDLER_RETRY_DELAY_MS = 1000;
26
26
  * stack reports the rate limit) rather than letting the Lambda time out silently.
27
27
  */
28
28
  export const HANDLER_RETRY_AFTER_MAX_MS = 10_000;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2hhbmRsZXItY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7O0dBUUc7QUFFSCx1RUFBdUU7QUFDdkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFFN0QsK0ZBQStGO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUV6QyxtR0FBbUc7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxvQkFBb0IsQ0FBQztBQUU5Rix1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBRXJDLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFFM0M7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBMZWFmIGNvbnN0YW50cyBmb3IgdGhlIFBsdWdpbkxvb2t1cCBMYW1iZGEgaGFuZGxlci5cbiAqXG4gKiBEZXBlbmRlbmN5LWZyZWUgc28gdGhlIGhhbmRsZXIncyBlc2J1aWxkIGJ1bmRsZSBzdGF5cyBzbWFsbCDigJQgaXQgZG9lcyBub3QgZHJhZ1xuICogaW4gdGhlIGNvbmZpZyBtYWNoaW5lcnkgdmlhIGBhcHAtY29uZmlnLnRzYC4gVGhlIGhhbmRsZXIgaW1wb3J0cyBUSElTIG1vZHVsZTtcbiAqIGBDb3JlQ29uc3RhbnRzYCByZS1leHBvcnRzIHRoZSB2YWx1ZXMgZm9yIHN5bnRoLXNpZGUgY29uc3VtZXJzLiBUaGUgTGFtYmRhJ3NcbiAqIGVudmlyb25tZW50IGNhcnJpZXMgb25seSBgUExBVEZPUk1fU0VDUkVUX05BTUVgLCBzbyB0aGVzZSBhcmUgZml4ZWQgdmFsdWVzLFxuICogbm90IGVudiBrbm9icy5cbiAqL1xuXG4vKiogRGVmYXVsdCBwbGF0Zm9ybSBVUkwgZmFsbGJhY2sgd2hlbiBQTEFURk9STV9CQVNFX1VSTCBpcyBub3Qgc2V0LiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExBVEZPUk1fVVJMID0gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnO1xuXG4vKiogQ3VzdG9tLXJlc291cmNlIGhhbmRsZXIgdGltZW91dCAobXVzdCBiZSA8IHRoZSBMYW1iZGEncyAzMHMgdG8gYWxsb3cgcmVzcG9uc2UgaGFuZGxpbmcpLiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfVElNRU9VVF9NUyA9IDI1XzAwMDtcblxuLyoqIFBsYXRmb3JtIGJhc2UgVVJMIHRoZSBoYW5kbGVyIGNhbGxzOyBvdmVycmlkYWJsZSBwZXItcmVxdWVzdCB2aWEgUmVzb3VyY2VQcm9wZXJ0aWVzLmJhc2VVUkwuICovXG5leHBvcnQgY29uc3QgSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMID0gcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwgfHwgREVGQVVMVF9QTEFURk9STV9VUkw7XG5cbi8qKiBNYXggcmV0cmllcyBvbiB0cmFuc2llbnQgcGx1Z2luLWxvb2t1cCBmYWlsdXJlcy4gKi9cbmV4cG9ydCBjb25zdCBIQU5ETEVSX01BWF9SRVRSSUVTID0gMjtcblxuLyoqIEJhc2UgYmFja29mZiBiZXR3ZWVuIGhhbmRsZXIgcmV0cmllcyAoZXhwb25lbnRpYWwpLiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfUkVUUllfREVMQVlfTVMgPSAxMDAwO1xuXG4vKipcbiAqIENlaWxpbmcgb24gYSBwbGFpbiA0MjkncyBgUmV0cnktQWZ0ZXJgIHRoZSBoYW5kbGVyIHdpbGwgaG9ub3VyIGJlZm9yZSBpdHMgbmV4dFxuICogYXR0ZW1wdC4gVGhlIHdob2xlIGludm9jYXRpb24gbXVzdCBhbnN3ZXIgQ2xvdWRGb3JtYXRpb24gaW5zaWRlIHRoZSBMYW1iZGEnc1xuICogMzBzLCBzbyBhIGxvbmdlciB3YWl0IGlzIGNsaXBwZWQgKHRoZSByZXRyeSB0aGVuIG1vc3QgbGlrZWx5IGZhaWxzIGFuZCB0aGVcbiAqIHN0YWNrIHJlcG9ydHMgdGhlIHJhdGUgbGltaXQpIHJhdGhlciB0aGFuIGxldHRpbmcgdGhlIExhbWJkYSB0aW1lIG91dCBzaWxlbnRseS5cbiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfUkVUUllfQUZURVJfTUFYX01TID0gMTBfMDAwO1xuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1jb25zdGFudHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaGFuZGxlci1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7R0FRRztBQUVILHVFQUF1RTtBQUN2RSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyx3QkFBd0IsQ0FBQztBQUU3RCwrRkFBK0Y7QUFDL0YsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBRXpDLG1HQUFtRztBQUNuRyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLG9CQUFvQixDQUFDO0FBRTlGLHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7QUFFckMsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIExlYWYgY29uc3RhbnRzIGZvciB0aGUgUGx1Z2luTG9va3VwIExhbWJkYSBoYW5kbGVyLlxuICpcbiAqIERlcGVuZGVuY3ktZnJlZSBzbyB0aGUgaGFuZGxlcidzIGVzYnVpbGQgYnVuZGxlIHN0YXlzIHNtYWxsIOKAlCBpdCBkb2VzIG5vdCBkcmFnXG4gKiBpbiB0aGUgY29uZmlnIG1hY2hpbmVyeSB2aWEgYGFwcC1jb25maWcudHNgLiBUaGUgaGFuZGxlciBpbXBvcnRzIFRISVMgbW9kdWxlO1xuICogYENvcmVDb25zdGFudHNgIHJlLWV4cG9ydHMgdGhlIHZhbHVlcyBmb3Igc3ludGgtc2lkZSBjb25zdW1lcnMuIFRoZSBMYW1iZGEnc1xuICogZW52aXJvbm1lbnQgY2FycmllcyBvbmx5IGBQTEFURk9STV9TRUNSRVRfTkFNRWAsIHNvIHRoZXNlIGFyZSBmaXhlZCB2YWx1ZXMsXG4gKiBub3QgZW52IGtub2JzLlxuICovXG5cbi8qKiBEZWZhdWx0IHBsYXRmb3JtIFVSTCBmYWxsYmFjayB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIG5vdCBzZXQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTEFURk9STV9VUkwgPSAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Myc7XG5cbi8qKiBDdXN0b20tcmVzb3VyY2UgaGFuZGxlciB0aW1lb3V0IChtdXN0IGJlIDwgdGhlIExhbWJkYSdzIDMwcyB0byBhbGxvdyByZXNwb25zZSBoYW5kbGluZykuICovXG5leHBvcnQgY29uc3QgSEFORExFUl9USU1FT1VUX01TID0gMjVfMDAwO1xuXG4vKiogUGxhdGZvcm0gYmFzZSBVUkwgdGhlIGhhbmRsZXIgY2FsbHM7IG92ZXJyaWRhYmxlIHBlci1yZXF1ZXN0IHZpYSBSZXNvdXJjZVByb3BlcnRpZXMuYmFzZVVSTC4gKi9cbmV4cG9ydCBjb25zdCBIQU5ETEVSX0RFRkFVTFRfQkFTRV9VUkwgPSBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCB8fCBERUZBVUxUX1BMQVRGT1JNX1VSTDtcblxuLyoqIE1heCByZXRyaWVzIG9uIHRyYW5zaWVudCBwbHVnaW4tbG9va3VwIGZhaWx1cmVzLiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfTUFYX1JFVFJJRVMgPSAyO1xuXG4vKiogQmFzZSBiYWNrb2ZmIGJldHdlZW4gaGFuZGxlciByZXRyaWVzIChleHBvbmVudGlhbCkuICovXG5leHBvcnQgY29uc3QgSEFORExFUl9SRVRSWV9ERUxBWV9NUyA9IDEwMDA7XG5cbi8qKlxuICogQ2VpbGluZyBvbiBhIHBsYWluIDQyOSdzIGBSZXRyeS1BZnRlcmAgdGhlIGhhbmRsZXIgd2lsbCBob25vdXIgYmVmb3JlIGl0cyBuZXh0XG4gKiBhdHRlbXB0LiBUaGUgd2hvbGUgaW52b2NhdGlvbiBtdXN0IGFuc3dlciBDbG91ZEZvcm1hdGlvbiBpbnNpZGUgdGhlIExhbWJkYSdzXG4gKiAzMHMsIHNvIGEgbG9uZ2VyIHdhaXQgaXMgY2xpcHBlZCAodGhlIHJldHJ5IHRoZW4gbW9zdCBsaWtlbHkgZmFpbHMgYW5kIHRoZVxuICogc3RhY2sgcmVwb3J0cyB0aGUgcmF0ZSBsaW1pdCkgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgTGFtYmRhIHRpbWUgb3V0IHNpbGVudGx5LlxuICovXG5leHBvcnQgY29uc3QgSEFORExFUl9SRVRSWV9BRlRFUl9NQVhfTVMgPSAxMF8wMDA7XG4iXX0=
@@ -67,10 +67,13 @@ export function parsePlatformBaseUrl(raw) {
67
67
  */
68
68
  export function loadPluginBuildConfig() {
69
69
  return {
70
- concurrency: envInt('PLUGIN_BUILD_CONCURRENCY', 1),
71
- // 5, raised from the ladder's lowest rows (developer 1 / pro 2 / team 3).
72
- // See PluginBuildConfig: a baseline the ladder raises, not a ceiling.
73
- maxBuildsPerOrg: envInt('PLUGIN_MAX_BUILDS_PER_ORG', 5, { min: 1 }),
70
+ // Baselines the tier ladder raises, never a ceiling (see PluginBuildConfig).
71
+ // Flexible sits ABOVE standard so the cheap class keeps real headroom on
72
+ // every tier; one shared figure made the two identical below it.
73
+ orgBuildSlots: {
74
+ standard: envInt('PLUGIN_ORG_BUILD_SLOTS_STANDARD', 5, { min: 1 }),
75
+ flexible: envInt('PLUGIN_ORG_BUILD_SLOTS_FLEXIBLE', 8, { min: 1 }),
76
+ },
74
77
  maxAttempts: envInt('PLUGIN_BUILD_MAX_ATTEMPTS', 2),
75
78
  backoffDelayMs: envInt('PLUGIN_BUILD_BACKOFF_DELAY_MS', 5_000),
76
79
  workerTimeoutMs: envInt('PLUGIN_BUILD_WORKER_TIMEOUT_MS', 10_000),
@@ -174,4 +177,4 @@ export function loadAWSConfig() {
174
177
  },
175
178
  };
176
179
  }
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFHeEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsNEVBQTRFO0lBQzVFLHdFQUF3RTtJQUN4RSw4RUFBOEU7SUFDOUUsNEVBQTRFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDeEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO1FBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDO0tBQzNDLENBQUM7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LENBQUM7WUFDL0MsY0FBYyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7WUFDN0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUM7WUFDN0MsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDL0UsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkI7Z0JBQ25FLENBQUMsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsU0FBUztTQUNkO1FBRUQsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQztTQUM5RDtRQUVELFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUN0RSxZQUFZLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLHdCQUF3QixDQUFDO1lBQ3pFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUM7U0FDakU7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBlbnZCb29sLCBlbnZJbnQsIGVudlN0ciB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHR5cGUgeyBBV1NDb25maWcsIEJ1aWxkQ29uZmlnLCBDb21wbGlhbmNlQ29uZmlnLCBEYXRhYmFzZUNvbmZpZywgT2JzZXJ2YWJpbGl0eUNvbmZpZywgUGx1Z2luQnVpbGRDb25maWcsIFJlZ2lzdHJ5Q29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuXG4vKipcbiAqIExvYWQgRG9ja2VyIHJlZ2lzdHJ5IGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgSU1BR0VfUkVHSVNUUllfSE9TVGAg4oCUIFJlZ2lzdHJ5IGhvc3RuYW1lIChkZWZhdWx0OiBgJ3JlZ2lzdHJ5J2ApXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QT1JUYCDigJQgUmVnaXN0cnkgcG9ydCAoZGVmYXVsdDogYDUwMDBgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUYCDigJQgSG9zdCBhbiBvdXQtb2YtY2x1c3RlciBjbGllbnQgKENvZGVCdWlsZClcbiAqICAgdXNlcyB0byBwdWxsIHBsdWdpbiBpbWFnZXMuIFdoZW4gdW5zZXQsIGRlcml2ZWQgZnJvbSBgUExBVEZPUk1fQkFTRV9VUkxgJ3NcbiAqICAgaG9zdCAodGhlIHB1YmxpYyBlbmRwb2ludCBDb2RlQnVpbGQgY2FuIHJlc29sdmUpLCB0aGVuIGBJTUFHRV9SRUdJU1RSWV9IT1NUYC5cbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BVTExfUE9SVGAg4oCUIFBvcnQgZm9yIHRoZSBhYm92ZS4gV2hlbiB1bnNldCwgZGVyaXZlZCBmcm9tXG4gKiAgIGBQTEFURk9STV9CQVNFX1VSTGAncyBwb3J0LCB0aGVuIGBJTUFHRV9SRUdJU1RSWV9QT1JUYC5cbiAqIC0gYERPQ0tFUl9ORVRXT1JLYCDigJQgRG9ja2VyIG5ldHdvcmsgZm9yIGJ1aWxkL3B1c2ggKGRlZmF1bHQ6IGAnJ2ApXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9IVFRQYCDigJQgVXNlIHBsYWluIEhUVFAgaW5zdGVhZCBvZiBIVFRQUyAoZGVmYXVsdDogYHRydWVgLFxuICogICB0aGUgaW4tY2x1c3RlciByZWdpc3RyeSBoYXMgbm8gVExTKS5cbiAqXG4gKiBAcmV0dXJucyBSZWdpc3RyeSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVnaXN0cnlDb25maWcoKTogUmVnaXN0cnlDb25maWcge1xuICBjb25zdCBob3N0ID0gZW52U3RyKCdJTUFHRV9SRUdJU1RSWV9IT1NUJywgJ3JlZ2lzdHJ5Jyk7XG4gIGNvbnN0IHBvcnQgPSBlbnZJbnQoJ0lNQUdFX1JFR0lTVFJZX1BPUlQnLCA1XzAwMCk7XG4gIC8vIFdoZW4gbm8gZXhwbGljaXQgcHVsbCBob3N0IGlzIHNldCwgZGVyaXZlIGl0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwg4oCUIHRoZVxuICAvLyBwdWJsaWMgcGxhdGZvcm0gZW5kcG9pbnQgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChBV1MgQ29kZUJ1aWxkKSBjYW5cbiAgLy8gcmVzb2x2ZSwgdW5saWtlIHRoZSBpbi1jbHVzdGVyIGByZWdpc3RyeWAgQ2x1c3RlcklQLiBPbmx5IGZhbGxzIGJhY2sgdG8gdGhlXG4gIC8vIGluLWNsdXN0ZXIgaG9zdCB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIHVuc2V0L3VucGFyc2VhYmxlIChlLmcuIGxvY2FsKS5cbiAgY29uc3QgcGxhdGZvcm0gPSBwYXJzZVBsYXRmb3JtQmFzZVVybChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCk7XG4gIHJldHVybiB7XG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHB1bGxIb3N0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1QgfHwgcGxhdGZvcm0/Lmhvc3QgfHwgaG9zdCxcbiAgICBwdWxsUG9ydDogcHJvY2Vzcy5lbnYuSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUXG4gICAgICA/IGVudkludCgnSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUJywgcG9ydClcbiAgICAgIDogKHBsYXRmb3JtPy5wb3J0ID8/IHBvcnQpLFxuICAgIG5ldHdvcms6IGVudlN0cignRE9DS0VSX05FVFdPUksnLCAnJyksXG4gICAgaHR0cDogZW52Qm9vbCgnSU1BR0VfUkVHSVNUUllfSFRUUCcsIHRydWUpLFxuICB9O1xufVxuXG4vKiogRXh0cmFjdCBob3N0ICsgcG9ydCBmcm9tIFBMQVRGT1JNX0JBU0VfVVJMIChlLmcuIGBodHRwczovL3BpcGVsaW5lLWJ1aWxkZXIuY29tYFxuICogIOKGkiBgeyBob3N0OiAncGlwZWxpbmUtYnVpbGRlci5jb20nLCBwb3J0OiA0NDMgfWApLiBSZXR1cm5zIG51bGwgd2hlbiB0aGUgdmFsdWVcbiAqICBpcyB1bnNldCBvciBub3QgYSB2YWxpZCBVUkwuIEV4cG9ydGVkIHNvIHRoZSBDTEkgKHBpcGVsaW5lLW1hbmFnZXIpIGRlcml2ZXNcbiAqICB0aGUgcmVnaXN0cnkgcHVsbCB0YXJnZXQgd2l0aCB0aGUgU0FNRSBwYXJzaW5nLCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGxhdGZvcm1CYXNlVXJsKHJhdz86IHN0cmluZyk6IHsgaG9zdDogc3RyaW5nOyBwb3J0OiBudW1iZXIgfSB8IG51bGwge1xuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG4gIHRyeSB7XG4gICAgY29uc3QgdSA9IG5ldyBVUkwocmF3KTtcbiAgICAvLyBBIHNjaGVtZS1sZXNzIHZhbHVlIGxpa2UgYGhvc3Q6ODQ0M2AgcGFyc2VzIHdpdGggYSBjdXN0b20gcHJvdG9jb2wgYW5kIGFuXG4gICAgLy8gRU1QVFkgaG9zdG5hbWUg4oCUIHJlamVjdCBpdCBzbyBjYWxsZXJzIGZhbGwgYmFjayByYXRoZXIgdGhhbiBkZXJpdmUgYVxuICAgIC8vIGhvc3QtbGVzcyBlbmRwb2ludC5cbiAgICBpZiAoIXUuaG9zdG5hbWUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHBvcnQgPSB1LnBvcnQgPyBwYXJzZUludCh1LnBvcnQsIDEwKSA6ICh1LnByb3RvY29sID09PSAnaHR0cHM6JyA/IDQ0MyA6IDgwKTtcbiAgICByZXR1cm4geyBob3N0OiB1Lmhvc3RuYW1lLCBwb3J0IH07XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBwbHVnaW4gYnVpbGQgcXVldWUgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBQTFVHSU5fQlVJTERfQ09OQ1VSUkVOQ1lgIOKAlCBNYXggY29uY3VycmVudCBwbHVnaW4gYnVpbGRzIChkZWZhdWx0OiBgMWApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUGx1Z2luQnVpbGRDb25maWcoKTogUGx1Z2luQnVpbGRDb25maWcge1xuICByZXR1cm4ge1xuICAgIGNvbmN1cnJlbmN5OiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9DT05DVVJSRU5DWScsIDEpLFxuICAgIC8vIDUsIHJhaXNlZCBmcm9tIHRoZSBsYWRkZXIncyBsb3dlc3Qgcm93cyAoZGV2ZWxvcGVyIDEgLyBwcm8gMiAvIHRlYW0gMykuXG4gICAgLy8gU2VlIFBsdWdpbkJ1aWxkQ29uZmlnOiBhIGJhc2VsaW5lIHRoZSBsYWRkZXIgcmFpc2VzLCBub3QgYSBjZWlsaW5nLlxuICAgIG1heEJ1aWxkc1Blck9yZzogZW52SW50KCdQTFVHSU5fTUFYX0JVSUxEU19QRVJfT1JHJywgNSwgeyBtaW46IDEgfSksXG4gICAgbWF4QXR0ZW1wdHM6IGVudkludCgnUExVR0lOX0JVSUxEX01BWF9BVFRFTVBUUycsIDIpLFxuICAgIGJhY2tvZmZEZWxheU1zOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9CQUNLT0ZGX0RFTEFZX01TJywgNV8wMDApLFxuICAgIHdvcmtlclRpbWVvdXRNczogZW52SW50KCdQTFVHSU5fQlVJTERfV09SS0VSX1RJTUVPVVRfTVMnLCAxMF8wMDApLFxuICAgIHRlbXBEaXJNYXhBZ2VNczogZW52SW50KCdURU1QX0RJUl9NQVhfQUdFX01TJywgMTRfNDAwXzAwMCksXG4gICAgZGxxTWF4QXR0ZW1wdHM6IGVudkludCgnUExVR0lOX0RMUV9NQVhfQVRURU1QVFMnLCAzKSxcbiAgICBkbHFCYWNrb2ZmQmFzZU1zOiBlbnZJbnQoJ1BMVUdJTl9ETFFfQkFDS09GRl9CQVNFX01TJywgMzAwXzAwMCksXG4gICAgZGxxTWF4U2l6ZTogZW52SW50KCdQTFVHSU5fRExRX01BWF9TSVpFJywgMjApLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZERhdGFiYXNlQ29uZmlnKCk6IERhdGFiYXNlQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBwb3N0Z3Jlczoge1xuICAgICAgaG9zdDogZW52U3RyKCdEQl9IT1NUJywgJ3Bvc3RncmVzJyksXG4gICAgICBwb3J0OiBlbnZJbnQoJ0RCX1BPUlQnLCA1XzQzMiksXG4gICAgICBkYXRhYmFzZTogZW52U3RyKCdEQVRBQkFTRScsICdwaXBlbGluZV9idWlsZGVyJyksXG4gICAgICB1c2VyOiBlbnZTdHIoJ0RCX1VTRVInLCAncG9zdGdyZXMnKSxcbiAgICAgIHBhc3N3b3JkOiBlbnZTdHIoJ0RCX1BBU1NXT1JEJywgJycpLFxuICAgIH0sXG4gICAgZHJpenpsZToge1xuICAgICAgbWF4UG9vbFNpemU6IGVudkludCgnRFJJWlpMRV9NQVhfUE9PTF9TSVpFJywgMjApLFxuICAgICAgaWRsZVRpbWVvdXRNaWxsaXM6IGVudkludCgnRFJJWlpMRV9JRExFX1RJTUVPVVRfTUlMTElTJywgMzBfMDAwKSxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBlbnZJbnQoJ0RSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJUycsIDEwXzAwMCksXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRPYnNlcnZhYmlsaXR5Q29uZmlnKCk6IE9ic2VydmFiaWxpdHlDb25maWcge1xuICByZXR1cm4ge1xuICAgIGxvZ0xldmVsOiBlbnZTdHIoJ0xPR19MRVZFTCcsICdpbmZvJyksXG4gICAgbG9nRm9ybWF0OiBlbnZTdHIoJ0xPR19GT1JNQVQnLCAnanNvbicpLFxuICAgIHNlcnZpY2VOYW1lOiBlbnZTdHIoJ1NFUlZJQ0VfTkFNRScsICdhcGknKSxcbiAgICB0cmFjaW5nOiB7XG4gICAgICBlbmFibGVkOiBlbnZCb29sKCdPVEVMX1RSQUNJTkdfRU5BQkxFRCcsIGZhbHNlKSxcbiAgICAgIGVuZHBvaW50OiBlbnZTdHIoJ09URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVCcsICdodHRwOi8vbG9jYWxob3N0OjQzMTgvdjEvdHJhY2VzJyksXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDb21wbGlhbmNlQ29uZmlnKCk6IENvbXBsaWFuY2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBlbnZJbnQoJ1NDQU5fU0NIRURVTEVSX0lOVEVSVkFMX01TJywgNjBfMDAwKSxcbiAgICBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGVudkJvb2woJ1NZU1RFTV9PUkdfU0NBTlNfRU5BQkxFRCcsIGZhbHNlKSxcbiAgICAvLyBDcmFzaC1yZWNvdmVyeSB3aW5kb3csIG5vdCBhIHJ1bi1kdXJhdGlvbiBjb3ZlcjogdGhlIGxvY2sgaGVhcnRiZWF0cy5cbiAgICBzY2FuTG9ja1R0bE1zOiBlbnZJbnQoJ1NDQU5fTE9DS19UVExfTVMnLCAxMjBfMDAwKSxcbiAgICBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBlbnZJbnQoJ0RJR0VTVF9TQ0hFRFVMRVJfSU5URVJWQUxfTVMnLCAzXzYwMF8wMDApLFxuICAgIGRpZ2VzdExvY2tUdGxNczogZW52SW50KCdESUdFU1RfTE9DS19UVExfTVMnLCAxMjBfMDAwKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBjb25maWd1cmF0aW9uLiBCdWlsZHMgcnVuIGFnYWluc3QgYSByb290bGVzcyBgbW9ieS9idWlsZGtpdGBcbiAqIHNpZGVjYXIg4oCUIHNlZSBgQlVJTERLSVRfSE9TVGAuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgRE9DS0VSX0JVSUxEX1RFTVBfUk9PVGAg4oCUIFRlbXAgZGlyZWN0b3J5IGZvciBidWlsZCBjb250ZXh0cyAoZGVmYXVsdDogYDxjd2Q+L3RtcGApXG4gKiAtIGBET0NLRVJfQlVJTERfVElNRU9VVF9NU2Ag4oCUIEJ1aWxkIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0OiBgOTAwMDAwYCAvIDE1IG1pbilcbiAqIC0gYERPQ0tFUl9QVVNIX1RJTUVPVVRfTVNgIOKAlCBQdXNoIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0OiBgMzAwMDAwYCAvIDUgbWluKVxuICogLSBgQlVJTERLSVRfSE9TVGAg4oCUIGJ1aWxkY3RsIGAtLWFkZHJgIHZhbHVlIGZvciB0aGUgYnVpbGRraXRkIHNpZGVjYXJcbiAqICAgKGRlZmF1bHQ6IGB1bml4Oi8vL3J1bi9idWlsZGtpdC9idWlsZGtpdGQuc29ja2ApXG4gKiAtIGBQTFVHSU5fU0lHTklOR19QVUJMSUNfS0VZX0ZJTEVgIOKAlCBQRU0gcHVibGljIGtleSBwbHVnaW4gaW1hZ2VzIGFyZSB2ZXJpZmllZFxuICogICBhZ2FpbnN0IChkZWZhdWx0OiBgL2V0Yy9waXBlbGluZS1idWlsZGVyL3BsdWdpbi1zaWduaW5nL3BsdWdpbi1zaWduaW5nLnB1YmApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRG9ja2VyQ29uZmlnKCk6IEJ1aWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICB0ZW1wUm9vdDogcHJvY2Vzcy5lbnYuRE9DS0VSX0JVSUxEX1RFTVBfUk9PVCB8fCBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3RtcCcpLFxuICAgIHRpbWVvdXRNczogZW52SW50KCdET0NLRVJfQlVJTERfVElNRU9VVF9NUycsIDkwMF8wMDApLFxuICAgIHB1c2hUaW1lb3V0TXM6IGVudkludCgnRE9DS0VSX1BVU0hfVElNRU9VVF9NUycsIDMwMF8wMDApLFxuICAgIGJ1aWxka2l0QWRkcjogZW52U3RyKCdCVUlMREtJVF9IT1NUJywgJ3VuaXg6Ly8vcnVuL2J1aWxka2l0L2J1aWxka2l0ZC5zb2NrJyksXG4gICAgc2lnbmluZ1B1YmxpY0tleUZpbGU6IGVudlN0cignUExVR0lOX1NJR05JTkdfUFVCTElDX0tFWV9GSUxFJywgJy9ldGMvcGlwZWxpbmUtYnVpbGRlci9wbHVnaW4tc2lnbmluZy9wbHVnaW4tc2lnbmluZy5wdWInKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYExBTUJEQV9SVU5USU1FYCDigJQgTGFtYmRhIHJ1bnRpbWUgKGRlZmF1bHQ6IGAnbm9kZWpzMjYueCdgLCBhIFBVQkxJQyBQUkVWSUVXXG4gKiAgIHJ1bnRpbWU7IHVua25vd24gdmFsdWVzIGZhbGwgYmFjayB0byBpdCkuIFNldCBgbm9kZWpzMjQueGAgdG8gc3RheSBvbiBHQS5cbiAqIC0gYExBTUJEQV9USU1FT1VUYCDigJQgTGFtYmRhIHRpbWVvdXQgaW4gc2Vjb25kcyAoZGVmYXVsdDogYDkwMGApXG4gKiAtIGBMQU1CREFfTUVNT1JZX1NJWkVgIOKAlCBMYW1iZGEgbWVtb3J5IGluIE1CIChkZWZhdWx0OiBgNTEyYClcbiAqIC0gYExBTUJEQV9BUkNISVRFQ1RVUkVgIOKAlCBgJ3g4Nl82NCdgIG9yIEFSTSAoZGVmYXVsdDogQVJNXzY0KVxuICogLSBgTE9HX0dST1VQX05BTUVgIOKAlCBDbG91ZFdhdGNoIGxvZyBncm91cCAoZGVmYXVsdDogYCcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJ2ApXG4gKiAtIGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCDigJQgQ29kZUJ1aWxkIGNvbXB1dGUgdHlwZSAoZGVmYXVsdDogYCdTTUFMTCdgKVxuICpcbiAqIEByZXR1cm5zIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQVdTQ29uZmlnKCk6IEFXU0NvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbGFtYmRhOiB7XG4gICAgICBydW50aW1lOiBlbnZTdHIoJ0xBTUJEQV9SVU5USU1FJywgJ25vZGVqczI2LngnKSxcbiAgICAgIHRpbWVvdXRTZWNvbmRzOiBlbnZJbnQoJ0xBTUJEQV9USU1FT1VUJywgOTAwKSxcbiAgICAgIG1lbW9yeVNpemU6IGVudkludCgnTEFNQkRBX01FTU9SWV9TSVpFJywgNTEyKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogcHJvY2Vzcy5lbnYuTEFNQkRBX0FSQ0hJVEVDVFVSRSA9PT0gJ3g4Nl82NCcgPyAneDg2XzY0JyA6ICdhcm02NCcsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBwcm9jZXNzLmVudi5MQU1CREFfUkVTRVJWRURfQ09OQ1VSUkVOQ1lcbiAgICAgICAgPyBlbnZJbnQoJ0xBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWScsIDApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG5cbiAgICBsb2dnaW5nOiB7XG4gICAgICBncm91cE5hbWU6IGVudlN0cignTE9HX0dST1VQX05BTUUnLCAnL3BpcGVsaW5lLWJ1aWxkZXIvbG9ncycpLFxuICAgIH0sXG5cbiAgICBjb2RlQnVpbGQ6IHtcbiAgICAgIGNvbXB1dGVUeXBlOiAoZW52U3RyKCdDT0RFQlVJTERfQ09NUFVURV9UWVBFJywgJ1NNQUxMJykpLnRvVXBwZXJDYXNlKCksXG4gICAgICBkZWZhdWx0SW1hZ2U6IGVudlN0cignQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0UnLCAncGlwZWxpbmUtYm9vdHN0cmFwOjEuMCcpLFxuICAgICAgZGVmYXVsdEltYWdlRGlnZXN0OiBlbnZTdHIoJ0NPREVCVUlMRF9ERUZBVUxUX0lNQUdFX0RJR0VTVCcsICcnKSxcbiAgICB9LFxuICB9O1xufVxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZnJhc3RydWN0dXJlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUd4Qjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSw0RUFBNEU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JFLE9BQU87UUFDTCxJQUFJO1FBQ0osSUFBSTtRQUNKLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixJQUFJLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSTtRQUN4RSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0I7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7UUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUM7S0FDM0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7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LEVBQUU7WUFDTixPQUFPLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztZQUMvQyxjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxVQUFVLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUMvRSw0QkFBNEIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQjtnQkFDbkUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFFRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDO1NBQzlEO1FBRUQsU0FBUyxFQUFFO1lBQ1QsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3RFLFlBQVksRUFBRSxNQUFNLENBQUMseUJBQXlCLEVBQUUsd0JBQXdCLENBQUM7WUFDekUsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQztTQUNqRTtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGVudkJvb2wsIGVudkludCwgZW52U3RyIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IEFXU0NvbmZpZywgQnVpbGRDb25maWcsIENvbXBsaWFuY2VDb25maWcsIERhdGFiYXNlQ29uZmlnLCBPYnNlcnZhYmlsaXR5Q29uZmlnLCBQbHVnaW5CdWlsZENvbmZpZywgUmVnaXN0cnlDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5cbi8qKlxuICogTG9hZCBEb2NrZXIgcmVnaXN0cnkgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9IT1NUYCDigJQgUmVnaXN0cnkgaG9zdG5hbWUgKGRlZmF1bHQ6IGAncmVnaXN0cnknYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BPUlRgIOKAlCBSZWdpc3RyeSBwb3J0IChkZWZhdWx0OiBgNTAwMGApXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1RgIOKAlCBIb3N0IGFuIG91dC1vZi1jbHVzdGVyIGNsaWVudCAoQ29kZUJ1aWxkKVxuICogICB1c2VzIHRvIHB1bGwgcGx1Z2luIGltYWdlcy4gV2hlbiB1bnNldCwgZGVyaXZlZCBmcm9tIGBQTEFURk9STV9CQVNFX1VSTGAnc1xuICogICBob3N0ICh0aGUgcHVibGljIGVuZHBvaW50IENvZGVCdWlsZCBjYW4gcmVzb2x2ZSksIHRoZW4gYElNQUdFX1JFR0lTVFJZX0hPU1RgLlxuICogLSBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYCDigJQgUG9ydCBmb3IgdGhlIGFib3ZlLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb21cbiAqICAgYFBMQVRGT1JNX0JBU0VfVVJMYCdzIHBvcnQsIHRoZW4gYElNQUdFX1JFR0lTVFJZX1BPUlRgLlxuICogLSBgRE9DS0VSX05FVFdPUktgIOKAlCBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZGVmYXVsdDogYCcnYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hUVFBgIOKAlCBVc2UgcGxhaW4gSFRUUCBpbnN0ZWFkIG9mIEhUVFBTIChkZWZhdWx0OiBgdHJ1ZWAsXG4gKiAgIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICpcbiAqIEByZXR1cm5zIFJlZ2lzdHJ5IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZWdpc3RyeUNvbmZpZygpOiBSZWdpc3RyeUNvbmZpZyB7XG4gIGNvbnN0IGhvc3QgPSBlbnZTdHIoJ0lNQUdFX1JFR0lTVFJZX0hPU1QnLCAncmVnaXN0cnknKTtcbiAgY29uc3QgcG9ydCA9IGVudkludCgnSU1BR0VfUkVHSVNUUllfUE9SVCcsIDVfMDAwKTtcbiAgLy8gV2hlbiBubyBleHBsaWNpdCBwdWxsIGhvc3QgaXMgc2V0LCBkZXJpdmUgaXQgZnJvbSBQTEFURk9STV9CQVNFX1VSTCDigJQgdGhlXG4gIC8vIHB1YmxpYyBwbGF0Zm9ybSBlbmRwb2ludCBhbiBvdXQtb2YtY2x1c3RlciBjbGllbnQgKEFXUyBDb2RlQnVpbGQpIGNhblxuICAvLyByZXNvbHZlLCB1bmxpa2UgdGhlIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5YCBDbHVzdGVySVAuIE9ubHkgZmFsbHMgYmFjayB0byB0aGVcbiAgLy8gaW4tY2x1c3RlciBob3N0IHdoZW4gUExBVEZPUk1fQkFTRV9VUkwgaXMgdW5zZXQvdW5wYXJzZWFibGUgKGUuZy4gbG9jYWwpLlxuICBjb25zdCBwbGF0Zm9ybSA9IHBhcnNlUGxhdGZvcm1CYXNlVXJsKHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMKTtcbiAgcmV0dXJuIHtcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcHVsbEhvc3Q6IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfSE9TVCB8fCBwbGF0Zm9ybT8uaG9zdCB8fCBob3N0LFxuICAgIHB1bGxQb3J0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRcbiAgICAgID8gZW52SW50KCdJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlQnLCBwb3J0KVxuICAgICAgOiAocGxhdGZvcm0/LnBvcnQgPz8gcG9ydCksXG4gICAgbmV0d29yazogZW52U3RyKCdET0NLRVJfTkVUV09SSycsICcnKSxcbiAgICBodHRwOiBlbnZCb29sKCdJTUFHRV9SRUdJU1RSWV9IVFRQJywgdHJ1ZSksXG4gIH07XG59XG5cbi8qKiBFeHRyYWN0IGhvc3QgKyBwb3J0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwgKGUuZy4gYGh0dHBzOi8vcGlwZWxpbmUtYnVpbGRlci5jb21gXG4gKiAg4oaSIGB7IGhvc3Q6ICdwaXBlbGluZS1idWlsZGVyLmNvbScsIHBvcnQ6IDQ0MyB9YCkuIFJldHVybnMgbnVsbCB3aGVuIHRoZSB2YWx1ZVxuICogIGlzIHVuc2V0IG9yIG5vdCBhIHZhbGlkIFVSTC4gRXhwb3J0ZWQgc28gdGhlIENMSSAocGlwZWxpbmUtbWFuYWdlcikgZGVyaXZlc1xuICogIHRoZSByZWdpc3RyeSBwdWxsIHRhcmdldCB3aXRoIHRoZSBTQU1FIHBhcnNpbmcsIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgaXQuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQbGF0Zm9ybUJhc2VVcmwocmF3Pzogc3RyaW5nKTogeyBob3N0OiBzdHJpbmc7IHBvcnQ6IG51bWJlciB9IHwgbnVsbCB7XG4gIGlmICghcmF3KSByZXR1cm4gbnVsbDtcbiAgdHJ5IHtcbiAgICBjb25zdCB1ID0gbmV3IFVSTChyYXcpO1xuICAgIC8vIEEgc2NoZW1lLWxlc3MgdmFsdWUgbGlrZSBgaG9zdDo4NDQzYCBwYXJzZXMgd2l0aCBhIGN1c3RvbSBwcm90b2NvbCBhbmQgYW5cbiAgICAvLyBFTVBUWSBob3N0bmFtZSDigJQgcmVqZWN0IGl0IHNvIGNhbGxlcnMgZmFsbCBiYWNrIHJhdGhlciB0aGFuIGRlcml2ZSBhXG4gICAgLy8gaG9zdC1sZXNzIGVuZHBvaW50LlxuICAgIGlmICghdS5ob3N0bmFtZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgcG9ydCA9IHUucG9ydCA/IHBhcnNlSW50KHUucG9ydCwgMTApIDogKHUucHJvdG9jb2wgPT09ICdodHRwczonID8gNDQzIDogODApO1xuICAgIHJldHVybiB7IGhvc3Q6IHUuaG9zdG5hbWUsIHBvcnQgfTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBxdWV1ZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWWAg4oCUIE1heCBjb25jdXJyZW50IHBsdWdpbiBidWlsZHMgKGRlZmF1bHQ6IGAxYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQbHVnaW5CdWlsZENvbmZpZygpOiBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgLy8gQmFzZWxpbmVzIHRoZSB0aWVyIGxhZGRlciByYWlzZXMsIG5ldmVyIGEgY2VpbGluZyAoc2VlIFBsdWdpbkJ1aWxkQ29uZmlnKS5cbiAgICAvLyBGbGV4aWJsZSBzaXRzIEFCT1ZFIHN0YW5kYXJkIHNvIHRoZSBjaGVhcCBjbGFzcyBrZWVwcyByZWFsIGhlYWRyb29tIG9uXG4gICAgLy8gZXZlcnkgdGllcjsgb25lIHNoYXJlZCBmaWd1cmUgbWFkZSB0aGUgdHdvIGlkZW50aWNhbCBiZWxvdyBpdC5cbiAgICBvcmdCdWlsZFNsb3RzOiB7XG4gICAgICBzdGFuZGFyZDogZW52SW50KCdQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX1NUQU5EQVJEJywgNSwgeyBtaW46IDEgfSksXG4gICAgICBmbGV4aWJsZTogZW52SW50KCdQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX0ZMRVhJQkxFJywgOCwgeyBtaW46IDEgfSksXG4gICAgfSxcbiAgICBtYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fQlVJTERfTUFYX0FUVEVNUFRTJywgMiksXG4gICAgYmFja29mZkRlbGF5TXM6IGVudkludCgnUExVR0lOX0JVSUxEX0JBQ0tPRkZfREVMQVlfTVMnLCA1XzAwMCksXG4gICAgd29ya2VyVGltZW91dE1zOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9XT1JLRVJfVElNRU9VVF9NUycsIDEwXzAwMCksXG4gICAgdGVtcERpck1heEFnZU1zOiBlbnZJbnQoJ1RFTVBfRElSX01BWF9BR0VfTVMnLCAxNF80MDBfMDAwKSxcbiAgICBkbHFNYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fRExRX01BWF9BVFRFTVBUUycsIDMpLFxuICAgIGRscUJhY2tvZmZCYXNlTXM6IGVudkludCgnUExVR0lOX0RMUV9CQUNLT0ZGX0JBU0VfTVMnLCAzMDBfMDAwKSxcbiAgICBkbHFNYXhTaXplOiBlbnZJbnQoJ1BMVUdJTl9ETFFfTUFYX1NJWkUnLCAyMCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGF0YWJhc2VDb25maWcoKTogRGF0YWJhc2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvc3RncmVzOiB7XG4gICAgICBob3N0OiBlbnZTdHIoJ0RCX0hPU1QnLCAncG9zdGdyZXMnKSxcbiAgICAgIHBvcnQ6IGVudkludCgnREJfUE9SVCcsIDVfNDMyKSxcbiAgICAgIGRhdGFiYXNlOiBlbnZTdHIoJ0RBVEFCQVNFJywgJ3BpcGVsaW5lX2J1aWxkZXInKSxcbiAgICAgIHVzZXI6IGVudlN0cignREJfVVNFUicsICdwb3N0Z3JlcycpLFxuICAgICAgcGFzc3dvcmQ6IGVudlN0cignREJfUEFTU1dPUkQnLCAnJyksXG4gICAgfSxcbiAgICBkcml6emxlOiB7XG4gICAgICBtYXhQb29sU2l6ZTogZW52SW50KCdEUklaWkxFX01BWF9QT09MX1NJWkUnLCAyMCksXG4gICAgICBpZGxlVGltZW91dE1pbGxpczogZW52SW50KCdEUklaWkxFX0lETEVfVElNRU9VVF9NSUxMSVMnLCAzMF8wMDApLFxuICAgICAgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IGVudkludCgnRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTJywgMTBfMDAwKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZE9ic2VydmFiaWxpdHlDb25maWcoKTogT2JzZXJ2YWJpbGl0eUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbG9nTGV2ZWw6IGVudlN0cignTE9HX0xFVkVMJywgJ2luZm8nKSxcbiAgICBsb2dGb3JtYXQ6IGVudlN0cignTE9HX0ZPUk1BVCcsICdqc29uJyksXG4gICAgc2VydmljZU5hbWU6IGVudlN0cignU0VSVklDRV9OQU1FJywgJ2FwaScpLFxuICAgIHRyYWNpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IGVudkJvb2woJ09URUxfVFJBQ0lOR19FTkFCTEVEJywgZmFsc2UpLFxuICAgICAgZW5kcG9pbnQ6IGVudlN0cignT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6NDMxOC92MS90cmFjZXMnKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbXBsaWFuY2VDb25maWcoKTogQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgc2NhblNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnU0NBTl9TQ0hFRFVMRVJfSU5URVJWQUxfTVMnLCA2MF8wMDApLFxuICAgIHN5c3RlbU9yZ1NjYW5zRW5hYmxlZDogZW52Qm9vbCgnU1lTVEVNX09SR19TQ0FOU19FTkFCTEVEJywgZmFsc2UpLFxuICAgIC8vIENyYXNoLXJlY292ZXJ5IHdpbmRvdywgbm90IGEgcnVuLWR1cmF0aW9uIGNvdmVyOiB0aGUgbG9jayBoZWFydGJlYXRzLlxuICAgIHNjYW5Mb2NrVHRsTXM6IGVudkludCgnU0NBTl9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICAgIGRpZ2VzdFNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnRElHRVNUX1NDSEVEVUxFUl9JTlRFUlZBTF9NUycsIDNfNjAwXzAwMCksXG4gICAgZGlnZXN0TG9ja1R0bE1zOiBlbnZJbnQoJ0RJR0VTVF9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgcGx1Z2luIGJ1aWxkIGNvbmZpZ3VyYXRpb24uIEJ1aWxkcyBydW4gYWdhaW5zdCBhIHJvb3RsZXNzIGBtb2J5L2J1aWxka2l0YFxuICogc2lkZWNhciDigJQgc2VlIGBCVUlMREtJVF9IT1NUYC5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBET0NLRVJfQlVJTERfVEVNUF9ST09UYCDigJQgVGVtcCBkaXJlY3RvcnkgZm9yIGJ1aWxkIGNvbnRleHRzIChkZWZhdWx0OiBgPGN3ZD4vdG1wYClcbiAqIC0gYERPQ0tFUl9CVUlMRF9USU1FT1VUX01TYCDigJQgQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGA5MDAwMDBgIC8gMTUgbWluKVxuICogLSBgRE9DS0VSX1BVU0hfVElNRU9VVF9NU2Ag4oCUIFB1c2ggdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGAzMDAwMDBgIC8gNSBtaW4pXG4gKiAtIGBCVUlMREtJVF9IT1NUYCDigJQgYnVpbGRjdGwgYC0tYWRkcmAgdmFsdWUgZm9yIHRoZSBidWlsZGtpdGQgc2lkZWNhclxuICogICAoZGVmYXVsdDogYHVuaXg6Ly8vcnVuL2J1aWxka2l0L2J1aWxka2l0ZC5zb2NrYClcbiAqIC0gYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWAg4oCUIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkXG4gKiAgIGFnYWluc3QgKGRlZmF1bHQ6IGAvZXRjL3BpcGVsaW5lLWJ1aWxkZXIvcGx1Z2luLXNpZ25pbmcvcGx1Z2luLXNpZ25pbmcucHViYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWREb2NrZXJDb25maWcoKTogQnVpbGRDb25maWcge1xuICByZXR1cm4ge1xuICAgIHRlbXBSb290OiBwcm9jZXNzLmVudi5ET0NLRVJfQlVJTERfVEVNUF9ST09UIHx8IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAndG1wJyksXG4gICAgdGltZW91dE1zOiBlbnZJbnQoJ0RPQ0tFUl9CVUlMRF9USU1FT1VUX01TJywgOTAwXzAwMCksXG4gICAgcHVzaFRpbWVvdXRNczogZW52SW50KCdET0NLRVJfUFVTSF9USU1FT1VUX01TJywgMzAwXzAwMCksXG4gICAgYnVpbGRraXRBZGRyOiBlbnZTdHIoJ0JVSUxES0lUX0hPU1QnLCAndW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2snKSxcbiAgICBzaWduaW5nUHVibGljS2V5RmlsZTogZW52U3RyKCdQTFVHSU5fU0lHTklOR19QVUJMSUNfS0VZX0ZJTEUnLCAnL2V0Yy9waXBlbGluZS1idWlsZGVyL3BsdWdpbi1zaWduaW5nL3BsdWdpbi1zaWduaW5nLnB1YicpLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgTEFNQkRBX1JVTlRJTUVgIOKAlCBMYW1iZGEgcnVudGltZSAoZGVmYXVsdDogYCdub2RlanMyNi54J2AsIGEgUFVCTElDIFBSRVZJRVdcbiAqICAgcnVudGltZTsgdW5rbm93biB2YWx1ZXMgZmFsbCBiYWNrIHRvIGl0KS4gU2V0IGBub2RlanMyNC54YCB0byBzdGF5IG9uIEdBLlxuICogLSBgTEFNQkRBX1RJTUVPVVRgIOKAlCBMYW1iZGEgdGltZW91dCBpbiBzZWNvbmRzIChkZWZhdWx0OiBgOTAwYClcbiAqIC0gYExBTUJEQV9NRU1PUllfU0laRWAg4oCUIExhbWJkYSBtZW1vcnkgaW4gTUIgKGRlZmF1bHQ6IGA1MTJgKVxuICogLSBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAg4oCUIGAneDg2XzY0J2Agb3IgQVJNIChkZWZhdWx0OiBBUk1fNjQpXG4gKiAtIGBMT0dfR1JPVVBfTkFNRWAg4oCUIENsb3VkV2F0Y2ggbG9nIGdyb3VwIChkZWZhdWx0OiBgJy9waXBlbGluZS1idWlsZGVyL2xvZ3MnYClcbiAqIC0gYENPREVCVUlMRF9DT01QVVRFX1RZUEVgIOKAlCBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIChkZWZhdWx0OiBgJ1NNQUxMJ2ApXG4gKlxuICogQHJldHVybnMgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBV1NDb25maWcoKTogQVdTQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBsYW1iZGE6IHtcbiAgICAgIHJ1bnRpbWU6IGVudlN0cignTEFNQkRBX1JVTlRJTUUnLCAnbm9kZWpzMjYueCcpLFxuICAgICAgdGltZW91dFNlY29uZHM6IGVudkludCgnTEFNQkRBX1RJTUVPVVQnLCA5MDApLFxuICAgICAgbWVtb3J5U2l6ZTogZW52SW50KCdMQU1CREFfTUVNT1JZX1NJWkUnLCA1MTIpLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBwcm9jZXNzLmVudi5MQU1CREFfQVJDSElURUNUVVJFID09PSAneDg2XzY0JyA/ICd4ODZfNjQnIDogJ2FybTY0JyxcbiAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IHByb2Nlc3MuZW52LkxBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWVxuICAgICAgICA/IGVudkludCgnTEFNQkRBX1JFU0VSVkVEX0NPTkNVUlJFTkNZJywgMClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcblxuICAgIGxvZ2dpbmc6IHtcbiAgICAgIGdyb3VwTmFtZTogZW52U3RyKCdMT0dfR1JPVVBfTkFNRScsICcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJyksXG4gICAgfSxcblxuICAgIGNvZGVCdWlsZDoge1xuICAgICAgY29tcHV0ZVR5cGU6IChlbnZTdHIoJ0NPREVCVUlMRF9DT01QVVRFX1RZUEUnLCAnU01BTEwnKSkudG9VcHBlckNhc2UoKSxcbiAgICAgIGRlZmF1bHRJbWFnZTogZW52U3RyKCdDT0RFQlVJTERfREVGQVVMVF9JTUFHRScsICdwaXBlbGluZS1ib290c3RyYXA6MS4wJyksXG4gICAgICBkZWZhdWx0SW1hZ2VEaWdlc3Q6IGVudlN0cignQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VfRElHRVNUJywgJycpLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -154,4 +154,4 @@ export function validateAuthConfig(config) {
154
154
  throw new Error(`Auth configuration validation failed:\n${errors.map(e => ` - ${e}`).join('\n')}`);
155
155
  }
156
156
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc2VydmVyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQXdCLE1BQU0sNEJBQTRCLENBQUM7QUFDbEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUxQyxvRkFBb0Y7QUFDcEYsU0FBUyxRQUFRLENBQW1CLE9BQXdCLEVBQUUsR0FBTTtJQUNsRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBNkQsQ0FBQztBQUNuSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDM0IsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUM7WUFDOUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVztnQkFDN0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxDQUFDLE9BQU8s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QU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWU7SUFDZixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FDYiwwQ0FBMEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbkYsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgZW52Qm9vbCwgZW52SW50LCBzZXJ2aWNlRW5kcG9pbnQsIHR5cGUgSW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50cyB9IGZyb20gJy4vYXBwLWNvbmZpZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlckNvbmZpZywgQXV0aENvbmZpZywgUmF0ZUxpbWl0Q29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuXG5jb25zdCBsb2cgPSBjcmVhdGVMb2dnZXIoJ3NlcnZlci1jb25maWcnKTtcblxuLyoqIGB7IDxrZXk+SG9zdCwgPGtleT5Qb3J0IH1gIGZvciBvbmUgc2libGluZyBzZXJ2aWNlLCBmcm9tIHRoZSBzaGFyZWQgcmVnaXN0cnkuICovXG5mdW5jdGlvbiBlbmRwb2ludDxLIGV4dGVuZHMgc3RyaW5nPihzZXJ2aWNlOiBJbnRlcm5hbFNlcnZpY2UsIGtleTogSyk6IFJlY29yZDxgJHtLfUhvc3RgLCBzdHJpbmc+ICYgUmVjb3JkPGAke0t9UG9ydGAsIG51bWJlcj4ge1xuICBjb25zdCB7IGhvc3QsIHBvcnQgfSA9IHNlcnZpY2VFbmRwb2ludChzZXJ2aWNlKTtcbiAgcmV0dXJuIHsgW2Ake2tleX1Ib3N0YF06IGhvc3QsIFtgJHtrZXl9UG9ydGBdOiBwb3J0IH0gYXMgUmVjb3JkPGAke0t9SG9zdGAsIHN0cmluZz4gJiBSZWNvcmQ8YCR7S31Qb3J0YCwgbnVtYmVyPjtcbn1cblxuLyoqXG4gKiBMb2FkIHNlcnZlciBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBPUlRgIOKAlCBIVFRQIGxpc3RlbiBwb3J0IChkZWZhdWx0OiBgMzAwMGApXG4gKiAtIGBDT1JTX09SSUdJTmAg4oCUIENvbW1hLXNlcGFyYXRlZCBhbGxvd2VkIG9yaWdpbnMgKGRlZmF1bHQ6IGBQTEFURk9STV9CQVNFX1VSTGApXG4gKiAtIGBDT1JTX0NSRURFTlRJQUxTYCDigJQgQWxsb3cgY3JlZGVudGlhbHM7IHNldCB0byBgJ2ZhbHNlJ2AgdG8gZGlzYWJsZSAoZGVmYXVsdDogYHRydWVgKVxuICogLSBgVFJVU1RfUFJPWFlgIOKAlCBFeHByZXNzIHRydXN0IHByb3h5IGhvcHMgKGRlZmF1bHQ6IGAxYClcbiAqIC0gYFBMQVRGT1JNX0JBU0VfVVJMYCDigJQgRnJvbnRlbmQgVVJMIHVzZWQgYXMgQ09SUyBmYWxsYmFjayAoZGVmYXVsdDogYCdodHRwczovL2xvY2FsaG9zdDo4NDQzJ2ApXG4gKlxuICogQHJldHVybnMgU2VydmVyIGNvbmZpZ3VyYXRpb24gd2l0aCBwb3J0LCBDT1JTLCB0cnVzdCBwcm94eSwgYW5kIHBsYXRmb3JtIFVSTFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFNlcnZlckNvbmZpZygpOiBTZXJ2ZXJDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvcnQ6IGVudkludCgnUE9SVCcsIDNfMDAwKSxcbiAgICBjb3JzOiB7XG4gICAgICBjcmVkZW50aWFsczogZW52Qm9vbCgnQ09SU19DUkVERU5USUFMUycsIHRydWUpLFxuICAgICAgb3JpZ2luOiBwcm9jZXNzLmVudi5DT1JTX09SSUdJTlxuICAgICAgICA/IHByb2Nlc3MuZW52LkNPUlNfT1JJR0lOLnNwbGl0KCcsJykubWFwKG8gPT4gby50cmltKCkpXG4gICAgICAgIDogW3Byb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMIHx8IENvcmVDb25zdGFudHMuREVGQVVMVF9QTEFURk9STV9VUkxdLFxuICAgIH0sXG4gICAgdHJ1c3RQcm94eTogZW52SW50KCdUUlVTVF9QUk9YWScsIDEpLFxuICAgIHBsYXRmb3JtVXJsOiBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCB8fCBDb3JlQ29uc3RhbnRzLkRFRkFVTFRfUExBVEZPUk1fVVJMLFxuXG4gICAgaHR0cENsaWVudDoge1xuICAgICAgdGltZW91dDogZW52SW50KCdIVFRQX0NMSUVOVF9USU1FT1VUJywgNV8wMDApLFxuICAgICAgbWF4UmV0cmllczogZW52SW50KCdIVFRQX0NMSUVOVF9NQVhfUkVUUklFUycsIDIpLFxuICAgICAgcmV0cnlEZWxheU1zOiBlbnZJbnQoJ0hUVFBfQ0xJRU5UX1JFVFJZX0RFTEFZX01TJywgMjAwKSxcbiAgICB9LFxuXG4gICAgc3NlOiB7XG4gICAgICBtYXhDbGllbnRzUGVyUmVxdWVzdDogZW52SW50KCdTU0VfTUFYX0NMSUVOVFNfUEVSX1JFUVVFU1QnLCAxMCksXG4gICAgICBjbGllbnRUaW1lb3V0TXM6IGVudkludCgnU1NFX0NMSUVOVF9USU1FT1VUX01TJywgMV84MDBfMDAwKSxcbiAgICAgIGNsZWFudXBJbnRlcnZhbE1zOiBlbnZJbnQoJ1NTRV9DTEVBTlVQX0lOVEVSVkFMX01TJywgMzAwXzAwMCksXG4gICAgfSxcblxuICAgIHNlcnZpY2VzOiB7XG4gICAgICAuLi5lbmRwb2ludCgncGx1Z2luJywgJ3BsdWdpbicpLFxuICAgICAgLi4uZW5kcG9pbnQoJ3BpcGVsaW5lJywgJ3BpcGVsaW5lJyksXG4gICAgICAuLi5lbmRwb2ludCgnbWVzc2FnZScsICdtZXNzYWdlJyksXG4gICAgICAuLi5lbmRwb2ludCgncGxhdGZvcm0nLCAncGxhdGZvcm0nKSxcbiAgICAgIC4uLmVuZHBvaW50KCdjb21wbGlhbmNlJywgJ2NvbXBsaWFuY2UnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdiaWxsaW5nJywgJ2JpbGxpbmcnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdpbWFnZS1yZWdpc3RyeScsICdpbWFnZVJlZ2lzdHJ5JyksXG4gICAgICAuLi5lbmRwb2ludCgncXVvdGEnLCAncXVvdGEnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdyZXBvcnRpbmcnLCAncmVwb3J0aW5nJyksXG4gICAgICAuLi5lbmRwb2ludCgnYXNrJywgJ2FzaycpLFxuICAgICAgYmlsbGluZ1RpbWVvdXQ6IGVudkludCgnQklMTElOR19TRVJWSUNFX1RJTUVPVVQnLCA1MDAwLCB7IG1pbjogMSB9KSxcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBKV1RfRVhQSVJFU19JTmAg4oCUIEpXVCBsaWZldGltZSBpbiBzZWNvbmRzIChkZWZhdWx0OiBgNzIwMGAgPSAyIGhvdXJzKVxuICogLSBgQkNSWVBUX1NBTFRfUk9VTkRTYCDigJQgYmNyeXB0IHNhbHQgcm91bmRzIGZvciBwYXNzd29yZCBoYXNoaW5nIChkZWZhdWx0OiBgMTJgKVxuICogLSBgUkVGUkVTSF9UT0tFTl9FWFBJUkVTX0lOYCDigJQgUmVmcmVzaCB0b2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChkZWZhdWx0OiBgMjU5MjAwMGAgPSAzMCBkYXlzKVxuICpcbiAqIEByZXR1cm5zIEF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gd2l0aCBzYWZlIGRlZmF1bHRzIChlbXB0eSBzdHJpbmdzIHdoZW4gZW52IHZhcnMgYXJlIHVuc2V0KS5cbiAqIENhbGwge0BsaW5rIHZhbGlkYXRlQXV0aENvbmZpZ30gYXQgc2VydmVyIHN0YXJ0dXAgdG8gZW5mb3JjZSByZXF1aXJlZCBzZWNyZXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZEF1dGhDb25maWcoKTogQXV0aENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgand0OiB7XG4gICAgICBleHBpcmVzSW46IGVudkludCgnSldUX0VYUElSRVNfSU4nLCA3XzIwMCksXG4gICAgICBzYWx0Um91bmRzOiBlbnZJbnQoJ0JDUllQVF9TQUxUX1JPVU5EUycsIDEyKSxcbiAgICB9LFxuICAgIHJlZnJlc2hUb2tlbjoge1xuICAgICAgZXhwaXJlc0luOiBlbnZJbnQoJ1JFRlJFU0hfVE9LRU5fRVhQSVJFU19JTicsIDJfNTkyXzAwMCksXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIHJhdGUgbGltaXRpbmcgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBMSU1JVEVSX01BWGAg4oCUIE1heCByZXF1ZXN0cyBwZXIgd2luZG93IChkZWZhdWx0OiBgMTAwYClcbiAqIC0gYExJTUlURVJfV0lORE9XTVNgIOKAlCBSYXRlIGxpbWl0IHdpbmRvdyBpbiBtcyAoZGVmYXVsdDogYDkwMDAwMGAgPSAxNSBtaW51dGVzKVxuICpcbiAqIEByZXR1cm5zIFJhdGUgbGltaXQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJhdGVMaW1pdENvbmZpZygpOiBSYXRlTGltaXRDb25maWcge1xuICByZXR1cm4ge1xuICAgIG1heDogZW52SW50KCdMSU1JVEVSX01BWCcsIDEwMCksXG4gICAgd2luZG93TXM6IGVudkludCgnTElNSVRFUl9XSU5ET1dNUycsIDkwMF8wMDApLFxuICB9O1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHNlcnZlciBjb25maWd1cmF0aW9uIGFuZCBsb2cgd2FybmluZ3MgZm9yIGluc2VjdXJlIHNldHRpbmdzLlxuICpcbiAqIEBwYXJhbSBjb25maWcgLSBTZXJ2ZXIgY29uZmlndXJhdGlvbiB0byB2YWxpZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXJ2ZXJDb25maWcoY29uZmlnOiBTZXJ2ZXJDb25maWcpOiB2b2lkIHtcbiAgY29uc3Qgd2FybmluZ3M6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gQ2hlY2sgQ09SUyBjb25maWd1cmF0aW9uXG4gIGNvbnN0IG9yaWdpbiA9IGNvbmZpZy5jb3JzLm9yaWdpbjtcbiAgY29uc3QgaXNXaWxkY2FyZCA9IG9yaWdpbiA9PT0gJyonIHx8IChBcnJheS5pc0FycmF5KG9yaWdpbikgJiYgb3JpZ2luLmluY2x1ZGVzKCcqJykpO1xuICBpZiAoaXNXaWxkY2FyZCkge1xuICAgIHdhcm5pbmdzLnB1c2goJ0NPUlMgb3JpZ2luIHNldCB0byB3aWxkY2FyZCAoKikgLSBjb25zaWRlciByZXN0cmljdGluZyB0byBzcGVjaWZpYyBkb21haW5zJyk7XG4gIH1cbiAgaWYgKGlzV2lsZGNhcmQgJiYgY29uZmlnLmNvcnMuY3JlZGVudGlhbHMpIHtcbiAgICAvLyBCcm93c2VycyByZWplY3QgdGhpcyBjb21iaW5hdGlvbiwgYnV0IGl0IGluZGljYXRlcyBhIG1pc2NvbmZpZ3VyYXRpb25cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnU0VDVVJJVFkgRVJST1I6IENPUlNfT1JJR0lOPSogd2l0aCBDT1JTX0NSRURFTlRJQUxTPXRydWUgaXMgYW4gaW52YWxpZCBhbmQgaW5zZWN1cmUgY29uZmlndXJhdGlvbi4gJyArXG4gICAgICAnU2V0IENPUlNfT1JJR0lOIHRvIHNwZWNpZmljIGRvbWFpbnMgb3IgZGlzYWJsZSBDT1JTX0NSRURFTlRJQUxTLicsXG4gICAgKTtcbiAgfVxuXG4gIC8vIENoZWNrIHBsYXRmb3JtIFVSTCB1c2VzIEhUVFBTXG4gIGlmIChjb25maWcucGxhdGZvcm1Vcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpICYmXG4gICAgIWNvbmZpZy5wbGF0Zm9ybVVybC5pbmNsdWRlcygnbG9jYWxob3N0JykpIHtcbiAgICB3YXJuaW5ncy5wdXNoKCdQbGF0Zm9ybSBVUkwgdXNlcyBIVFRQIGluc3RlYWQgb2YgSFRUUFMgLSBpbnNlY3VyZSBmb3IgcHJvZHVjdGlvbicpO1xuICB9XG5cbiAgLy8gRGlzcGxheSB3YXJuaW5nc1xuICBpZiAod2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgIGxvZy53YXJuKCdTZXJ2ZXIgY29uZmlndXJhdGlvbiB3YXJuaW5nczonKTtcbiAgICB3YXJuaW5ncy5mb3JFYWNoKHdhcm5pbmcgPT4gbG9nLndhcm4oYCAgLSAke3dhcm5pbmd9YCkpO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiAodG9rZW4gbGlmZXRpbWVzKS5cbiAqIENhbGwgdGhpcyBhdCBzZXJ2ZXIgc3RhcnR1cCwgbm90IGR1cmluZyBDREsgc3ludGhlc2lzLlxuICpcbiAqIE5vIFNFQ1JFVCBpcyB2YWxpZGF0ZWQgYW55IG1vcmU6IHRoZXJlIGlzIG5vbmUgbGVmdC4gVXNlciB0b2tlbnMgYXJlIEVTMjU2XG4gKiBzaWduZWQgYnkgcGxhdGZvcm0gKHdob3NlIHNpZ25pbmcga2V5IGlzIHZhbGlkYXRlZCBhdCBwbGF0Zm9ybSdzIGJvb3QsIHdoZXJlXG4gKiBpdCBpcyBsb2FkZWQpIGFuZCBpbnRlcm5hbCBzZXJ2aWNlIHRva2VucyBhcmUgRVMyNTYgc2lnbmVkIHBlciBzZXJ2aWNlLFxuICogd2hvc2Uga2V5IGFuZCBidW5kbGUgYGNyZWF0ZUFwcGAgcmVxdWlyZXMgYXQgc3RhcnR1cC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gQXV0aCBjb25maWd1cmF0aW9uIHRvIHZhbGlkYXRlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdG9rZW4gbGlmZXRpbWVzIGFyZSBvdXQgb2YgcmFuZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQXV0aENvbmZpZyhjb25maWc6IEF1dGhDb25maWcpOiB2b2lkIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCB3YXJuaW5nczogc3RyaW5nW10gPSBbXTtcblxuICAvLyBDaGVjayBKV1QgZXhwaXJhdGlvbiB0aW1lc1xuICBpZiAoY29uZmlnLmp3dC5leHBpcmVzSW4gPiA4NjQwMCkge1xuICAgIGVycm9ycy5wdXNoKCdKV1QgZXhwaXJhdGlvbiBtdXN0IG5vdCBleGNlZWQgMjQgaG91cnMgKDg2NDAwIHNlY29uZHMpJyk7XG4gIH0gZWxzZSBpZiAoY29uZmlnLmp3dC5leHBpcmVzSW4gPiA3MjAwKSB7XG4gICAgd2FybmluZ3MucHVzaCgnSldUIGV4cGlyYXRpb24gdGltZSBpcyBncmVhdGVyIHRoYW4gMiBob3VycyAtIHNob3J0ZXIgZXhwaXJhdGlvbiByZWNvbW1lbmRlZCcpO1xuICB9XG5cbiAgLy8gRGlzcGxheSB3YXJuaW5nc1xuICBpZiAod2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgIGxvZy53YXJuKCdBdXRoIGNvbmZpZ3VyYXRpb24gd2FybmluZ3M6Jyk7XG4gICAgd2FybmluZ3MuZm9yRWFjaCh3YXJuaW5nID0+IGxvZy53YXJuKGAgIC0gJHt3YXJuaW5nfWApKTtcbiAgfVxuXG4gIC8vIFRocm93IGVycm9yc1xuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQXV0aCBjb25maWd1cmF0aW9uIHZhbGlkYXRpb24gZmFpbGVkOlxcbiR7ZXJyb3JzLm1hcChlID0+IGAgIC0gJHtlfWApLmpvaW4oJ1xcbicpfWAsXG4gICAgKTtcbiAgfVxufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbmZpZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXJ2ZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBd0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHaEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTFDLG9GQUFvRjtBQUNwRixTQUFTLFFBQVEsQ0FBbUIsT0FBd0IsRUFBRSxHQUFNO0lBQ2xFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELE9BQU8sRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUE2RCxDQUFDO0FBQ25ILENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUMzQixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztZQUM5QyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXO2dCQUM3QixDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxhQUFhLENBQUMsb0JBQW9CLENBQUM7U0FDMUU7UUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDcEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksYUFBYSxDQUFDLG9CQUFvQjtRQUVoRixVQUFVLEVBQUU7WUFDVixPQUFPLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQztZQUM3QyxVQUFVLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztZQUNoRCxZQUFZLEVBQUUsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsQ0FBQztTQUN4RDtRQUVELEdBQUcsRUFBRTtZQUNILG9CQUFvQixFQUFFLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLENBQUM7WUFDL0QsZUFBZSxFQUFFLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxTQUFTLENBQUM7WUFDM0QsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLE9BQU8sQ0FBQztTQUM5RDtRQUVELFFBQVEsRUFBRTtZQUNSLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDL0IsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUNuQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQ2pDLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7WUFDbkMsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztZQUN2QyxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQ2pDLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztZQUM5QyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQzdCLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDckMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUN6QixjQUFjLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNwRTtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxjQUFjO0lBQzVCLE9BQU87UUFDTCxHQUFHLEVBQUU7WUFDSCxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQztZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztTQUM3QztRQUNELFlBQVksRUFBRTtZQUNaLFNBQVMsRUFBRSxNQUFNLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxDQUFDO1NBQ3pEO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTztRQUNMLEdBQUcsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQztRQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztLQUM5QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBb0I7SUFDdkQsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO0lBRTlCLDJCQUEyQjtJQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckYsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsNEVBQTRFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0QsSUFBSSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyx3RUFBd0U7UUFDeEUsTUFBTSxJQUFJLEtBQUssQ0FDYixxR0FBcUc7WUFDckcsa0VBQWtFLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQzFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLG1FQUFtRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBa0I7SUFDbkQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUU5Qiw2QkFBNkI7SUFDN0IsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDekUsQ0FBQztTQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLElBQUksQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZUFBZTtJQUNmLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUNiLDBDQUEwQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNuRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBlbnZCb29sLCBlbnZJbnQsIHNlcnZpY2VFbmRwb2ludCwgdHlwZSBJbnRlcm5hbFNlcnZpY2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzIH0gZnJvbSAnLi9hcHAtY29uZmlnLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyQ29uZmlnLCBBdXRoQ29uZmlnLCBSYXRlTGltaXRDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcignc2VydmVyLWNvbmZpZycpO1xuXG4vKiogYHsgPGtleT5Ib3N0LCA8a2V5PlBvcnQgfWAgZm9yIG9uZSBzaWJsaW5nIHNlcnZpY2UsIGZyb20gdGhlIHNoYXJlZCByZWdpc3RyeS4gKi9cbmZ1bmN0aW9uIGVuZHBvaW50PEsgZXh0ZW5kcyBzdHJpbmc+KHNlcnZpY2U6IEludGVybmFsU2VydmljZSwga2V5OiBLKTogUmVjb3JkPGAke0t9SG9zdGAsIHN0cmluZz4gJiBSZWNvcmQ8YCR7S31Qb3J0YCwgbnVtYmVyPiB7XG4gIGNvbnN0IHsgaG9zdCwgcG9ydCB9ID0gc2VydmljZUVuZHBvaW50KHNlcnZpY2UpO1xuICByZXR1cm4geyBbYCR7a2V5fUhvc3RgXTogaG9zdCwgW2Ake2tleX1Qb3J0YF06IHBvcnQgfSBhcyBSZWNvcmQ8YCR7S31Ib3N0YCwgc3RyaW5nPiAmIFJlY29yZDxgJHtLfVBvcnRgLCBudW1iZXI+O1xufVxuXG4vKipcbiAqIExvYWQgc2VydmVyIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgUE9SVGAg4oCUIEhUVFAgbGlzdGVuIHBvcnQgKGRlZmF1bHQ6IGAzMDAwYClcbiAqIC0gYENPUlNfT1JJR0lOYCDigJQgQ29tbWEtc2VwYXJhdGVkIGFsbG93ZWQgb3JpZ2lucyAoZGVmYXVsdDogYFBMQVRGT1JNX0JBU0VfVVJMYClcbiAqIC0gYENPUlNfQ1JFREVOVElBTFNgIOKAlCBBbGxvdyBjcmVkZW50aWFsczsgc2V0IHRvIGAnZmFsc2UnYCB0byBkaXNhYmxlIChkZWZhdWx0OiBgdHJ1ZWApXG4gKiAtIGBUUlVTVF9QUk9YWWAg4oCUIEV4cHJlc3MgdHJ1c3QgcHJveHkgaG9wcyAoZGVmYXVsdDogYDFgKVxuICogLSBgUExBVEZPUk1fQkFTRV9VUkxgIOKAlCBGcm9udGVuZCBVUkwgdXNlZCBhcyBDT1JTIGZhbGxiYWNrIChkZWZhdWx0OiBgJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnYClcbiAqXG4gKiBAcmV0dXJucyBTZXJ2ZXIgY29uZmlndXJhdGlvbiB3aXRoIHBvcnQsIENPUlMsIHRydXN0IHByb3h5LCBhbmQgcGxhdGZvcm0gVVJMXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkU2VydmVyQ29uZmlnKCk6IFNlcnZlckNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgcG9ydDogZW52SW50KCdQT1JUJywgM18wMDApLFxuICAgIGNvcnM6IHtcbiAgICAgIGNyZWRlbnRpYWxzOiBlbnZCb29sKCdDT1JTX0NSRURFTlRJQUxTJywgdHJ1ZSksXG4gICAgICBvcmlnaW46IHByb2Nlc3MuZW52LkNPUlNfT1JJR0lOXG4gICAgICAgID8gcHJvY2Vzcy5lbnYuQ09SU19PUklHSU4uc3BsaXQoJywnKS5tYXAobyA9PiBvLnRyaW0oKSlcbiAgICAgICAgOiBbcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwgfHwgQ29yZUNvbnN0YW50cy5ERUZBVUxUX1BMQVRGT1JNX1VSTF0sXG4gICAgfSxcbiAgICB0cnVzdFByb3h5OiBlbnZJbnQoJ1RSVVNUX1BST1hZJywgMSksXG4gICAgcGxhdGZvcm1Vcmw6IHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMIHx8IENvcmVDb25zdGFudHMuREVGQVVMVF9QTEFURk9STV9VUkwsXG5cbiAgICBodHRwQ2xpZW50OiB7XG4gICAgICB0aW1lb3V0OiBlbnZJbnQoJ0hUVFBfQ0xJRU5UX1RJTUVPVVQnLCA1XzAwMCksXG4gICAgICBtYXhSZXRyaWVzOiBlbnZJbnQoJ0hUVFBfQ0xJRU5UX01BWF9SRVRSSUVTJywgMiksXG4gICAgICByZXRyeURlbGF5TXM6IGVudkludCgnSFRUUF9DTElFTlRfUkVUUllfREVMQVlfTVMnLCAyMDApLFxuICAgIH0sXG5cbiAgICBzc2U6IHtcbiAgICAgIG1heENsaWVudHNQZXJSZXF1ZXN0OiBlbnZJbnQoJ1NTRV9NQVhfQ0xJRU5UU19QRVJfUkVRVUVTVCcsIDEwKSxcbiAgICAgIGNsaWVudFRpbWVvdXRNczogZW52SW50KCdTU0VfQ0xJRU5UX1RJTUVPVVRfTVMnLCAxXzgwMF8wMDApLFxuICAgICAgY2xlYW51cEludGVydmFsTXM6IGVudkludCgnU1NFX0NMRUFOVVBfSU5URVJWQUxfTVMnLCAzMDBfMDAwKSxcbiAgICB9LFxuXG4gICAgc2VydmljZXM6IHtcbiAgICAgIC4uLmVuZHBvaW50KCdwbHVnaW4nLCAncGx1Z2luJyksXG4gICAgICAuLi5lbmRwb2ludCgncGlwZWxpbmUnLCAncGlwZWxpbmUnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdtZXNzYWdlJywgJ21lc3NhZ2UnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdwbGF0Zm9ybScsICdwbGF0Zm9ybScpLFxuICAgICAgLi4uZW5kcG9pbnQoJ2NvbXBsaWFuY2UnLCAnY29tcGxpYW5jZScpLFxuICAgICAgLi4uZW5kcG9pbnQoJ2JpbGxpbmcnLCAnYmlsbGluZycpLFxuICAgICAgLi4uZW5kcG9pbnQoJ2ltYWdlLXJlZ2lzdHJ5JywgJ2ltYWdlUmVnaXN0cnknKSxcbiAgICAgIC4uLmVuZHBvaW50KCdxdW90YScsICdxdW90YScpLFxuICAgICAgLi4uZW5kcG9pbnQoJ3JlcG9ydGluZycsICdyZXBvcnRpbmcnKSxcbiAgICAgIC4uLmVuZHBvaW50KCdhc2snLCAnYXNrJyksXG4gICAgICBiaWxsaW5nVGltZW91dDogZW52SW50KCdCSUxMSU5HX1NFUlZJQ0VfVElNRU9VVCcsIDUwMDAsIHsgbWluOiAxIH0pLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYEpXVF9FWFBJUkVTX0lOYCDigJQgSldUIGxpZmV0aW1lIGluIHNlY29uZHMgKGRlZmF1bHQ6IGA3MjAwYCA9IDIgaG91cnMpXG4gKiAtIGBCQ1JZUFRfU0FMVF9ST1VORFNgIOKAlCBiY3J5cHQgc2FsdCByb3VuZHMgZm9yIHBhc3N3b3JkIGhhc2hpbmcgKGRlZmF1bHQ6IGAxMmApXG4gKiAtIGBSRUZSRVNIX1RPS0VOX0VYUElSRVNfSU5gIOKAlCBSZWZyZXNoIHRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGRlZmF1bHQ6IGAyNTkyMDAwYCA9IDMwIGRheXMpXG4gKlxuICogQHJldHVybnMgQXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiB3aXRoIHNhZmUgZGVmYXVsdHMgKGVtcHR5IHN0cmluZ3Mgd2hlbiBlbnYgdmFycyBhcmUgdW5zZXQpLlxuICogQ2FsbCB7QGxpbmsgdmFsaWRhdGVBdXRoQ29uZmlnfSBhdCBzZXJ2ZXIgc3RhcnR1cCB0byBlbmZvcmNlIHJlcXVpcmVkIHNlY3JldHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXV0aENvbmZpZygpOiBBdXRoQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBqd3Q6IHtcbiAgICAgIGV4cGlyZXNJbjogZW52SW50KCdKV1RfRVhQSVJFU19JTicsIDdfMjAwKSxcbiAgICAgIHNhbHRSb3VuZHM6IGVudkludCgnQkNSWVBUX1NBTFRfUk9VTkRTJywgMTIpLFxuICAgIH0sXG4gICAgcmVmcmVzaFRva2VuOiB7XG4gICAgICBleHBpcmVzSW46IGVudkludCgnUkVGUkVTSF9UT0tFTl9FWFBJUkVTX0lOJywgMl81OTJfMDAwKSxcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgcmF0ZSBsaW1pdGluZyBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYExJTUlURVJfTUFYYCDigJQgTWF4IHJlcXVlc3RzIHBlciB3aW5kb3cgKGRlZmF1bHQ6IGAxMDBgKVxuICogLSBgTElNSVRFUl9XSU5ET1dNU2Ag4oCUIFJhdGUgbGltaXQgd2luZG93IGluIG1zIChkZWZhdWx0OiBgOTAwMDAwYCA9IDE1IG1pbnV0ZXMpXG4gKlxuICogQHJldHVybnMgUmF0ZSBsaW1pdCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmF0ZUxpbWl0Q29uZmlnKCk6IFJhdGVMaW1pdENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbWF4OiBlbnZJbnQoJ0xJTUlURVJfTUFYJywgMTAwKSxcbiAgICB3aW5kb3dNczogZW52SW50KCdMSU1JVEVSX1dJTkRPV01TJywgOTAwXzAwMCksXG4gIH07XG59XG5cbi8qKlxuICogVmFsaWRhdGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gYW5kIGxvZyB3YXJuaW5ncyBmb3IgaW5zZWN1cmUgc2V0dGluZ3MuXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIFNlcnZlciBjb25maWd1cmF0aW9uIHRvIHZhbGlkYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNlcnZlckNvbmZpZyhjb25maWc6IFNlcnZlckNvbmZpZyk6IHZvaWQge1xuICBjb25zdCB3YXJuaW5nczogc3RyaW5nW10gPSBbXTtcblxuICAvLyBDaGVjayBDT1JTIGNvbmZpZ3VyYXRpb25cbiAgY29uc3Qgb3JpZ2luID0gY29uZmlnLmNvcnMub3JpZ2luO1xuICBjb25zdCBpc1dpbGRjYXJkID0gb3JpZ2luID09PSAnKicgfHwgKEFycmF5LmlzQXJyYXkob3JpZ2luKSAmJiBvcmlnaW4uaW5jbHVkZXMoJyonKSk7XG4gIGlmIChpc1dpbGRjYXJkKSB7XG4gICAgd2FybmluZ3MucHVzaCgnQ09SUyBvcmlnaW4gc2V0IHRvIHdpbGRjYXJkICgqKSAtIGNvbnNpZGVyIHJlc3RyaWN0aW5nIHRvIHNwZWNpZmljIGRvbWFpbnMnKTtcbiAgfVxuICBpZiAoaXNXaWxkY2FyZCAmJiBjb25maWcuY29ycy5jcmVkZW50aWFscykge1xuICAgIC8vIEJyb3dzZXJzIHJlamVjdCB0aGlzIGNvbWJpbmF0aW9uLCBidXQgaXQgaW5kaWNhdGVzIGEgbWlzY29uZmlndXJhdGlvblxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdTRUNVUklUWSBFUlJPUjogQ09SU19PUklHSU49KiB3aXRoIENPUlNfQ1JFREVOVElBTFM9dHJ1ZSBpcyBhbiBpbnZhbGlkIGFuZCBpbnNlY3VyZSBjb25maWd1cmF0aW9uLiAnICtcbiAgICAgICdTZXQgQ09SU19PUklHSU4gdG8gc3BlY2lmaWMgZG9tYWlucyBvciBkaXNhYmxlIENPUlNfQ1JFREVOVElBTFMuJyxcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgcGxhdGZvcm0gVVJMIHVzZXMgSFRUUFNcbiAgaWYgKGNvbmZpZy5wbGF0Zm9ybVVybC5zdGFydHNXaXRoKCdodHRwOi8vJykgJiZcbiAgICAhY29uZmlnLnBsYXRmb3JtVXJsLmluY2x1ZGVzKCdsb2NhbGhvc3QnKSkge1xuICAgIHdhcm5pbmdzLnB1c2goJ1BsYXRmb3JtIFVSTCB1c2VzIEhUVFAgaW5zdGVhZCBvZiBIVFRQUyAtIGluc2VjdXJlIGZvciBwcm9kdWN0aW9uJyk7XG4gIH1cblxuICAvLyBEaXNwbGF5IHdhcm5pbmdzXG4gIGlmICh3YXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgbG9nLndhcm4oJ1NlcnZlciBjb25maWd1cmF0aW9uIHdhcm5pbmdzOicpO1xuICAgIHdhcm5pbmdzLmZvckVhY2god2FybmluZyA9PiBsb2cud2FybihgICAtICR7d2FybmluZ31gKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uICh0b2tlbiBsaWZldGltZXMpLlxuICogQ2FsbCB0aGlzIGF0IHNlcnZlciBzdGFydHVwLCBub3QgZHVyaW5nIENESyBzeW50aGVzaXMuXG4gKlxuICogTm8gU0VDUkVUIGlzIHZhbGlkYXRlZCBhbnkgbW9yZTogdGhlcmUgaXMgbm9uZSBsZWZ0LiBVc2VyIHRva2VucyBhcmUgRVMyNTZcbiAqIHNpZ25lZCBieSBwbGF0Zm9ybSAod2hvc2Ugc2lnbmluZyBrZXkgaXMgdmFsaWRhdGVkIGF0IHBsYXRmb3JtJ3MgYm9vdCwgd2hlcmVcbiAqIGl0IGlzIGxvYWRlZCkgYW5kIGludGVybmFsIHNlcnZpY2UgdG9rZW5zIGFyZSBFUzI1NiBzaWduZWQgcGVyIHNlcnZpY2UsXG4gKiB3aG9zZSBrZXkgYW5kIGJ1bmRsZSBgY3JlYXRlQXBwYCByZXF1aXJlcyBhdCBzdGFydHVwLlxuICpcbiAqIEBwYXJhbSBjb25maWcgLSBBdXRoIGNvbmZpZ3VyYXRpb24gdG8gdmFsaWRhdGVcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0b2tlbiBsaWZldGltZXMgYXJlIG91dCBvZiByYW5nZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBdXRoQ29uZmlnKGNvbmZpZzogQXV0aENvbmZpZyk6IHZvaWQge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHdhcm5pbmdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIENoZWNrIEpXVCBleHBpcmF0aW9uIHRpbWVzXG4gIGlmIChjb25maWcuand0LmV4cGlyZXNJbiA+IDg2NDAwKSB7XG4gICAgZXJyb3JzLnB1c2goJ0pXVCBleHBpcmF0aW9uIG11c3Qgbm90IGV4Y2VlZCAyNCBob3VycyAoODY0MDAgc2Vjb25kcyknKTtcbiAgfSBlbHNlIGlmIChjb25maWcuand0LmV4cGlyZXNJbiA+IDcyMDApIHtcbiAgICB3YXJuaW5ncy5wdXNoKCdKV1QgZXhwaXJhdGlvbiB0aW1lIGlzIGdyZWF0ZXIgdGhhbiAyIGhvdXJzIC0gc2hvcnRlciBleHBpcmF0aW9uIHJlY29tbWVuZGVkJyk7XG4gIH1cblxuICAvLyBEaXNwbGF5IHdhcm5pbmdzXG4gIGlmICh3YXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgbG9nLndhcm4oJ0F1dGggY29uZmlndXJhdGlvbiB3YXJuaW5nczonKTtcbiAgICB3YXJuaW5ncy5mb3JFYWNoKHdhcm5pbmcgPT4gbG9nLndhcm4oYCAgLSAke3dhcm5pbmd9YCkpO1xuICB9XG5cbiAgLy8gVGhyb3cgZXJyb3JzXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBBdXRoIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiBmYWlsZWQ6XFxuJHtlcnJvcnMubWFwKGUgPT4gYCAgLSAke2V9YCkuam9pbignXFxuJyl9YCxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -11,4 +11,4 @@ import { InternalHttpClient, serviceEndpoint } from '@pipeline-builder/api-core'
11
11
  export function createServiceClient(service) {
12
12
  return new InternalHttpClient(serviceEndpoint(service));
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3NlcnZpY2UtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBd0IsTUFBTSw0QkFBNEIsQ0FBQztBQUV2Rzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBd0I7SUFDMUQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgSW50ZXJuYWxIdHRwQ2xpZW50LCBzZXJ2aWNlRW5kcG9pbnQsIHR5cGUgSW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG4vKipcbiAqIENvbnN0cnVjdCBhbiBgSW50ZXJuYWxIdHRwQ2xpZW50YCBmb3IgYSBzaWJsaW5nIHNlcnZpY2UgYXQgaXRzIHJlZ2lzdHJ5XG4gKiBhZGRyZXNzIChgPE5BTUU+X1NFUlZJQ0VfSE9TVGAgLyBgPE5BTUU+X1NFUlZJQ0VfUE9SVGApLlxuICpcbiAqIEBleGFtcGxlXG4gKiAgIGV4cG9ydCBjb25zdCBtZXNzYWdlQ2xpZW50ID0gY3JlYXRlU2VydmljZUNsaWVudCgnbWVzc2FnZScpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VydmljZUNsaWVudChzZXJ2aWNlOiBJbnRlcm5hbFNlcnZpY2UpOiBJbnRlcm5hbEh0dHBDbGllbnQge1xuICByZXR1cm4gbmV3IEludGVybmFsSHR0cENsaWVudChzZXJ2aWNlRW5kcG9pbnQoc2VydmljZSkpO1xufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jbGllbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc2VydmljZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUF3QixNQUFNLDRCQUE0QixDQUFDO0FBRXZHOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUF3QjtJQUMxRCxPQUFPLElBQUksa0JBQWtCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBJbnRlcm5hbEh0dHBDbGllbnQsIHNlcnZpY2VFbmRwb2ludCwgdHlwZSBJbnRlcm5hbFNlcnZpY2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbi8qKlxuICogQ29uc3RydWN0IGFuIGBJbnRlcm5hbEh0dHBDbGllbnRgIGZvciBhIHNpYmxpbmcgc2VydmljZSBhdCBpdHMgcmVnaXN0cnlcbiAqIGFkZHJlc3MgKGA8TkFNRT5fU0VSVklDRV9IT1NUYCAvIGA8TkFNRT5fU0VSVklDRV9QT1JUYCkuXG4gKlxuICogQGV4YW1wbGVcbiAqICAgZXhwb3J0IGNvbnN0IG1lc3NhZ2VDbGllbnQgPSBjcmVhdGVTZXJ2aWNlQ2xpZW50KCdtZXNzYWdlJyk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZXJ2aWNlQ2xpZW50KHNlcnZpY2U6IEludGVybmFsU2VydmljZSk6IEludGVybmFsSHR0cENsaWVudCB7XG4gIHJldHVybiBuZXcgSW50ZXJuYWxIdHRwQ2xpZW50KHNlcnZpY2VFbmRwb2ludChzZXJ2aWNlKSk7XG59XG4iXX0=
@@ -80,4 +80,4 @@ export class ArtifactManager {
80
80
  return Array.from(this.artifacts.keys());
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2FydGlmYWN0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVUxRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUNULFNBQVMsR0FBMkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUUvRTs7T0FFRztJQUNLLFdBQVcsQ0FBQyxHQUFnQjtRQUNsQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBZ0IsRUFBRSxJQUErQjtRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLEdBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxHQUFnQjtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxVQUFVLHlCQUF5QixDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEdBQWdCLEVBQUUsU0FBaUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNLLE9BQU8sQ0FBQyxHQUFnQjtRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUM7WUFDakgsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQ29kZUJ1aWxkU3RlcCwgRmlsZVNldCwgU2hlbGxTdGVwIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBcnRpZmFjdEtleSB7XG4gIHJlYWRvbmx5IHN0YWdlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFnZUFsaWFzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luQWxpYXM6IHN0cmluZztcbiAgcmVhZG9ubHkgb3V0cHV0RGlyZWN0b3J5OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWFuYWdlcyBidWlsZCBzdGVwIGFydGlmYWN0cyB3aXRoIGhpZXJhcmNoaWNhbCBrZXktYmFzZWQgbG9va3VwLlxuICogS2V5cyBmb2xsb3cgdGhlIHBhdHRlcm46IHN0YWdlTmFtZTpzdGFnZUFsaWFzOnBsdWdpbk5hbWU6cGx1Z2luQWxpYXM6b3V0cHV0RGlyZWN0b3J5XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFN5bnRoIHN0ZXA6IFwibm8tc3RhZ2U6bm8tc3RhZ2UtYWxpYXM6Y2RrLXN5bnRoOmNkay1zeW50aC1hbGlhczpjZGsub3V0XCJcbiAqIC8vIEJ1aWxkIHN0ZXA6IFwiYnVpbGQ6YnVpbGQtYWxpYXM6bm9kZWpzLWJ1aWxkOm5vZGVqcy1idWlsZC1hbGlhczpkaXN0XCJcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQXJ0aWZhY3RNYW5hZ2VyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcnRpZmFjdHM6IE1hcDxzdHJpbmcsIENvZGVCdWlsZFN0ZXAgfCBTaGVsbFN0ZXA+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgZnJvbSBhcnRpZmFjdCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlS2V5KGtleTogQXJ0aWZhY3RLZXkpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtrZXkuc3RhZ2VOYW1lfToke2tleS5zdGFnZUFsaWFzfToke2tleS5wbHVnaW5OYW1lfToke2tleS5wbHVnaW5BbGlhc306JHtrZXkub3V0cHV0RGlyZWN0b3J5fWA7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBidWlsZCBzdGVwIGFydGlmYWN0XG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgaGllcmFyY2hpY2FsIGtleSBpZGVudGlmeWluZyB0aGlzIGFydGlmYWN0IChpbmNsdWRlcyBvdXRwdXQgZGlyZWN0b3J5KVxuICAgKiBAcGFyYW0gc3RlcCAtIFRoZSBDb2RlQnVpbGRTdGVwIG9yIFNoZWxsU3RlcCB0byBzdG9yZVxuICAgKi9cbiAgYWRkKGtleTogQXJ0aWZhY3RLZXksIHN0ZXA6IENvZGVCdWlsZFN0ZXAgfCBTaGVsbFN0ZXApOiB2b2lkIHtcbiAgICB0aGlzLmFydGlmYWN0cy5zZXQodGhpcy5nZW5lcmF0ZUtleShrZXkpLCBzdGVwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBidWlsZCBzdGVwIGJ5IGl0cyBhcnRpZmFjdCBrZXlcbiAgICogQHBhcmFtIGtleSAtIFRoZSBoaWVyYXJjaGljYWwga2V5IGlkZW50aWZ5aW5nIHRoZSBhcnRpZmFjdFxuICAgKiBAcmV0dXJucyBUaGUgc3RvcmVkIHN0ZXAsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmRcbiAgICovXG4gIGdldChrZXk6IEFydGlmYWN0S2V5KTogQ29kZUJ1aWxkU3RlcCB8IFNoZWxsU3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYXJ0aWZhY3RzLmdldCh0aGlzLmdlbmVyYXRlS2V5KGtleSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJpbWFyeSBvdXRwdXQgRmlsZVNldCBmcm9tIGEgcmVnaXN0ZXJlZCBzdGVwLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGFydGlmYWN0IGtleSBpZGVudGlmeWluZyB0aGUgc3RlcFxuICAgKiBAcmV0dXJucyBUaGUgcHJpbWFyeSBvdXRwdXQgRmlsZVNldFxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBzdGVwIGlzIG5vdCBmb3VuZCBvciBoYXMgbm8gcHJpbWFyeSBvdXRwdXRcbiAgICovXG4gIGdldE91dHB1dChrZXk6IEFydGlmYWN0S2V5KTogRmlsZVNldCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMucmVxdWlyZShrZXkpO1xuICAgIGNvbnN0IG91dHB1dCA9IHN0ZXAucHJpbWFyeU91dHB1dDtcbiAgICBpZiAoIW91dHB1dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGVwICcke2tleS5wbHVnaW5OYW1lfScgaGFzIG5vIHByaW1hcnkgb3V0cHV0YCk7XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYW4gYWRkaXRpb25hbCBvdXRwdXQgZGlyZWN0b3J5IG9uIGEgc3RvcmVkIHN0ZXAgYW5kIHJldHVybiBpdHMgRmlsZVNldC5cbiAgICogQ2FsbHMgQ0RLJ3MgYWRkT3V0cHV0RGlyZWN0b3J5KCkgdG8gY3JlYXRlIGEgbmFtZWQgb3V0cHV0IGJleW9uZCB0aGUgcHJpbWFyeS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBhcnRpZmFjdCBrZXkgaWRlbnRpZnlpbmcgdGhlIHN0ZXBcbiAgICogQHBhcmFtIGRpcmVjdG9yeSAtIFRoZSBhZGRpdGlvbmFsIG91dHB1dCBkaXJlY3RvcnkgcGF0aCB0byByZWdpc3RlclxuICAgKiBAcmV0dXJucyBUaGUgRmlsZVNldCBmb3IgdGhlIGFkZGl0aW9uYWwgb3V0cHV0IGRpcmVjdG9yeVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBzdGVwIGlzIG5vdCBmb3VuZFxuICAgKi9cbiAgYWRkT3V0cHV0KGtleTogQXJ0aWZhY3RLZXksIGRpcmVjdG9yeTogc3RyaW5nKTogRmlsZVNldCB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZShrZXkpLmFkZE91dHB1dERpcmVjdG9yeShkaXJlY3RvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHN0ZXAgYnkga2V5IG9yIHRocm93IHdpdGggYSBoZWxwZnVsIGVycm9yIGxpc3RpbmcgYXZhaWxhYmxlIGFydGlmYWN0cy5cbiAgICovXG4gIHByaXZhdGUgcmVxdWlyZShrZXk6IEFydGlmYWN0S2V5KTogQ29kZUJ1aWxkU3RlcCB8IFNoZWxsU3RlcCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuZ2V0KGtleSk7XG4gICAgaWYgKCFzdGVwKSB7XG4gICAgICBjb25zdCByZWdpc3RlcmVkID0gdGhpcy5saXN0KCk7XG4gICAgICBjb25zdCBhdmFpbGFibGUgPSByZWdpc3RlcmVkLmxlbmd0aCA+IDAgPyBgIEF2YWlsYWJsZTogWyR7cmVnaXN0ZXJlZC5qb2luKCcsICcpfV1gIDogJyBObyBhcnRpZmFjdHMgcmVnaXN0ZXJlZC4nO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBhcnRpZmFjdCByZWdpc3RlcmVkIGZvciBcIiR7dGhpcy5nZW5lcmF0ZUtleShrZXkpfVwiLiR7YXZhaWxhYmxlfWApO1xuICAgIH1cbiAgICByZXR1cm4gc3RlcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IGFsbCBhcnRpZmFjdCBrZXlzXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCBzdG9yZWQgYXJ0aWZhY3Qga2V5IHN0cmluZ3NcbiAgICovXG4gIGxpc3QoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYXJ0aWZhY3RzLmtleXMoKSk7XG4gIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QtbWFuYWdlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvYXJ0aWZhY3QtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBVTFFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ1QsU0FBUyxHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRS9FOztPQUVHO0lBQ0ssV0FBVyxDQUFDLEdBQWdCO1FBQ2xDLE9BQU8sR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxHQUFnQixFQUFFLElBQStCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEdBQWdCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLFVBQVUseUJBQXlCLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxTQUFTLENBQUMsR0FBZ0IsRUFBRSxTQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssT0FBTyxDQUFDLEdBQWdCO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9CLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztZQUNqSCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBDb2RlQnVpbGRTdGVwLCBGaWxlU2V0LCBTaGVsbFN0ZXAgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFydGlmYWN0S2V5IHtcbiAgcmVhZG9ubHkgc3RhZ2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWdlQWxpYXM6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5BbGlhczogc3RyaW5nO1xuICByZWFkb25seSBvdXRwdXREaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYW5hZ2VzIGJ1aWxkIHN0ZXAgYXJ0aWZhY3RzIHdpdGggaGllcmFyY2hpY2FsIGtleS1iYXNlZCBsb29rdXAuXG4gKiBLZXlzIGZvbGxvdyB0aGUgcGF0dGVybjogc3RhZ2VOYW1lOnN0YWdlQWxpYXM6cGx1Z2luTmFtZTpwbHVnaW5BbGlhczpvdXRwdXREaXJlY3RvcnlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gU3ludGggc3RlcDogXCJuby1zdGFnZTpuby1zdGFnZS1hbGlhczpjZGstc3ludGg6Y2RrLXN5bnRoLWFsaWFzOmNkay5vdXRcIlxuICogLy8gQnVpbGQgc3RlcDogXCJidWlsZDpidWlsZC1hbGlhczpub2RlanMtYnVpbGQ6bm9kZWpzLWJ1aWxkLWFsaWFzOmRpc3RcIlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRpZmFjdE1hbmFnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGFydGlmYWN0czogTWFwPHN0cmluZywgQ29kZUJ1aWxkU3RlcCB8IFNoZWxsU3RlcD4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEga2V5IHN0cmluZyBmcm9tIGFydGlmYWN0IHBhcmFtZXRlcnNcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVLZXkoa2V5OiBBcnRpZmFjdEtleSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2tleS5zdGFnZU5hbWV9OiR7a2V5LnN0YWdlQWxpYXN9OiR7a2V5LnBsdWdpbk5hbWV9OiR7a2V5LnBsdWdpbkFsaWFzfToke2tleS5vdXRwdXREaXJlY3Rvcnl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIGJ1aWxkIHN0ZXAgYXJ0aWZhY3RcbiAgICogQHBhcmFtIGtleSAtIFRoZSBoaWVyYXJjaGljYWwga2V5IGlkZW50aWZ5aW5nIHRoaXMgYXJ0aWZhY3QgKGluY2x1ZGVzIG91dHB1dCBkaXJlY3RvcnkpXG4gICAqIEBwYXJhbSBzdGVwIC0gVGhlIENvZGVCdWlsZFN0ZXAgb3IgU2hlbGxTdGVwIHRvIHN0b3JlXG4gICAqL1xuICBhZGQoa2V5OiBBcnRpZmFjdEtleSwgc3RlcDogQ29kZUJ1aWxkU3RlcCB8IFNoZWxsU3RlcCk6IHZvaWQge1xuICAgIHRoaXMuYXJ0aWZhY3RzLnNldCh0aGlzLmdlbmVyYXRlS2V5KGtleSksIHN0ZXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGJ1aWxkIHN0ZXAgYnkgaXRzIGFydGlmYWN0IGtleVxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGhpZXJhcmNoaWNhbCBrZXkgaWRlbnRpZnlpbmcgdGhlIGFydGlmYWN0XG4gICAqIEByZXR1cm5zIFRoZSBzdG9yZWQgc3RlcCwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZFxuICAgKi9cbiAgZ2V0KGtleTogQXJ0aWZhY3RLZXkpOiBDb2RlQnVpbGRTdGVwIHwgU2hlbGxTdGVwIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hcnRpZmFjdHMuZ2V0KHRoaXMuZ2VuZXJhdGVLZXkoa2V5KSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcmltYXJ5IG91dHB1dCBGaWxlU2V0IGZyb20gYSByZWdpc3RlcmVkIHN0ZXAuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgYXJ0aWZhY3Qga2V5IGlkZW50aWZ5aW5nIHRoZSBzdGVwXG4gICAqIEByZXR1cm5zIFRoZSBwcmltYXJ5IG91dHB1dCBGaWxlU2V0XG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHN0ZXAgaXMgbm90IGZvdW5kIG9yIGhhcyBubyBwcmltYXJ5IG91dHB1dFxuICAgKi9cbiAgZ2V0T3V0cHV0KGtleTogQXJ0aWZhY3RLZXkpOiBGaWxlU2V0IHtcbiAgICBjb25zdCBzdGVwID0gdGhpcy5yZXF1aXJlKGtleSk7XG4gICAgY29uc3Qgb3V0cHV0ID0gc3RlcC5wcmltYXJ5T3V0cHV0O1xuICAgIGlmICghb3V0cHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0ZXAgJyR7a2V5LnBsdWdpbk5hbWV9JyBoYXMgbm8gcHJpbWFyeSBvdXRwdXRgKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBhZGRpdGlvbmFsIG91dHB1dCBkaXJlY3Rvcnkgb24gYSBzdG9yZWQgc3RlcCBhbmQgcmV0dXJuIGl0cyBGaWxlU2V0LlxuICAgKiBDYWxscyBDREsncyBhZGRPdXRwdXREaXJlY3RvcnkoKSB0byBjcmVhdGUgYSBuYW1lZCBvdXRwdXQgYmV5b25kIHRoZSBwcmltYXJ5LlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGFydGlmYWN0IGtleSBpZGVudGlmeWluZyB0aGUgc3RlcFxuICAgKiBAcGFyYW0gZGlyZWN0b3J5IC0gVGhlIGFkZGl0aW9uYWwgb3V0cHV0IGRpcmVjdG9yeSBwYXRoIHRvIHJlZ2lzdGVyXG4gICAqIEByZXR1cm5zIFRoZSBGaWxlU2V0IGZvciB0aGUgYWRkaXRpb25hbCBvdXRwdXQgZGlyZWN0b3J5XG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHN0ZXAgaXMgbm90IGZvdW5kXG4gICAqL1xuICBhZGRPdXRwdXQoa2V5OiBBcnRpZmFjdEtleSwgZGlyZWN0b3J5OiBzdHJpbmcpOiBGaWxlU2V0IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlKGtleSkuYWRkT3V0cHV0RGlyZWN0b3J5KGRpcmVjdG9yeSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3RlcCBieSBrZXkgb3IgdGhyb3cgd2l0aCBhIGhlbHBmdWwgZXJyb3IgbGlzdGluZyBhdmFpbGFibGUgYXJ0aWZhY3RzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXF1aXJlKGtleTogQXJ0aWZhY3RLZXkpOiBDb2RlQnVpbGRTdGVwIHwgU2hlbGxTdGVwIHtcbiAgICBjb25zdCBzdGVwID0gdGhpcy5nZXQoa2V5KTtcbiAgICBpZiAoIXN0ZXApIHtcbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWQgPSB0aGlzLmxpc3QoKTtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IHJlZ2lzdGVyZWQubGVuZ3RoID4gMCA/IGAgQXZhaWxhYmxlOiBbJHtyZWdpc3RlcmVkLmpvaW4oJywgJyl9XWAgOiAnIE5vIGFydGlmYWN0cyByZWdpc3RlcmVkLic7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGFydGlmYWN0IHJlZ2lzdGVyZWQgZm9yIFwiJHt0aGlzLmdlbmVyYXRlS2V5KGtleSl9XCIuJHthdmFpbGFibGV9YCk7XG4gICAgfVxuICAgIHJldHVybiBzdGVwO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgYWxsIGFydGlmYWN0IGtleXNcbiAgICogQHJldHVybnMgQXJyYXkgb2YgYWxsIHN0b3JlZCBhcnRpZmFjdCBrZXkgc3RyaW5nc1xuICAgKi9cbiAgbGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hcnRpZmFjdHMua2V5cygpKTtcbiAgfVxufVxuIl19
@@ -47,4 +47,4 @@ export function correlationHeaders(ids) {
47
47
  headers[CODEBUILD_BUILD_ID_HEADER] = buildId;
48
48
  return headers;
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtY29ycmVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9hdWRpdC1jb3JyZWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQztBQUVoRSw2RUFBNkU7QUFDN0UsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBRXpDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBYztJQUNyRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDakYsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FJbEM7SUFDQyxNQUFNLE9BQU8sR0FBMkIsRUFBRSxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RSxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxJQUFJLFNBQVM7UUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdEQsSUFBSSxXQUFXO1FBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3JFLElBQUksT0FBTztRQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUMxRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQXVkaXQtY29ycmVsYXRpb24gaGVhZGVycyB0aGUgcGxhdGZvcm0ncyBjbGllbnRzIHNlbmQgc28gYSBzZXJ2ZXItc2lkZSBhdWRpdFxuICogcm93IGNhbiBiZSBqb2luZWQgYmFjayB0byB0aGUgcnVuIHRoYXQgY2F1c2VkIGl0IOKAlCB0aGUgQ0xJIGludm9jYXRpb24sIHRoZVxuICogQ29kZUJ1aWxkIGJ1aWxkLCB0aGUgQ29kZVBpcGVsaW5lIGV4ZWN1dGlvbiwgdGhlIExhbWJkYSByZXF1ZXN0LCB0aGVcbiAqIEV2ZW50QnJpZGdlIGV2ZW50LiBhcGktY29yZSByZWFkcyBleGFjdGx5IHRoZXNlIG5hbWVzIGludG8gYXVkaXQgY29udGV4dC5cbiAqXG4gKiBOb25lIG9mIHRoZW0gbWF5IGNhcnJ5IGFuIEFXUyBhY2NvdW50IGlkOiBhIENvZGVCdWlsZCBidWlsZCBpZCBpc1xuICogYDxwcm9qZWN0Pjo8dXVpZD5gLCBhbiBleGVjdXRpb24gaWQgaXMgYSB1dWlkLCBhIExhbWJkYSByZXF1ZXN0IGlkIGlzIGEgdXVpZC5cbiAqIEFuIEFSTiBpcyBORVZFUiBzZW50IGhlcmUg4oCUIGNhbGxlcnMgbXVzdCBub3QgcGFzcyBvbmUuXG4gKlxuICogRGVwZW5kZW5jeS1mcmVlIHNvIHRoZSBwbHVnaW4tbG9va3VwLCB0b2tlbi1yZW5ldyBhbmQgZXZlbnQtaW5nZXN0IExhbWJkYXNcbiAqIChlYWNoIGEgc2luZ2xlIGJ1bmRsZWQgZmlsZSkgY2FuIGltcG9ydCBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVFU1RfSURfSEVBREVSID0gJ1gtUmVxdWVzdC1JZCc7XG5leHBvcnQgY29uc3QgUElQRUxJTkVfRVhFQ1VUSU9OX0lEX0hFQURFUiA9ICdYLVBpcGVsaW5lLUV4ZWN1dGlvbi1JZCc7XG5leHBvcnQgY29uc3QgQ09ERUJVSUxEX0JVSUxEX0lEX0hFQURFUiA9ICdYLUNvZGVCdWlsZC1CdWlsZC1JZCc7XG5cbi8qKiBUaGUgbG9uZ2VzdCBjb3JyZWxhdGlvbiB2YWx1ZSBzZW50OyB0aGUgc2VydmVyIGNhcHMgYXQgdGhlIHNhbWUgYm91bmQuICovXG5leHBvcnQgY29uc3QgTUFYX0NPUlJFTEFUSU9OX1ZBTFVFID0gMTI4O1xuXG4vKipcbiAqIEEgaGVhZGVyLXNhZmUgY29ycmVsYXRpb24gdmFsdWUsIG9yIHVuZGVmaW5lZCB3aGVuIG5vdGhpbmcgdXNhYmxlIGlzIGxlZnQuXG4gKiBLZWVwcyBwcmludGFibGUgQVNDSUkgb25seSDigJQgQ1IvTEYgKGhlYWRlciBpbmplY3Rpb24pIGFuZCBvdGhlciBjb250cm9sIG9yXG4gKiBub24tQVNDSUkgYnl0ZXMgYXJlIGRyb3BwZWQg4oCUIGFuZCBjYXBzIHRoZSBsZW5ndGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUNvcnJlbGF0aW9uVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgY2xlYW4gPSB2YWx1ZS5yZXBsYWNlKC9bXlxceDIxLVxceDdlXS9nLCAnJykuc2xpY2UoMCwgTUFYX0NPUlJFTEFUSU9OX1ZBTFVFKTtcbiAgcmV0dXJuIGNsZWFuLmxlbmd0aCA+IDAgPyBjbGVhbiA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUaGUgY29ycmVsYXRpb24gaGVhZGVycyBmb3IgYSBydW4sIGVhY2ggaW5jbHVkZWQgb25seSB3aGVuIGl0cyB2YWx1ZVxuICogc3Vydml2ZXMgc2FuaXRpemluZy4gYHJlcXVlc3RJZGAgaXMgcmVxdWlyZWQgaW4gc3Bpcml0IChldmVyeSBjYWxsZXIgaGFzIG9uZSk7XG4gKiB0aGUgYnVpbGQgKyBleGVjdXRpb24gaWRzIG9ubHkgd2hlbiBnZW51aW5lbHkga25vd24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3JyZWxhdGlvbkhlYWRlcnMoaWRzOiB7XG4gIHJlcXVlc3RJZD86IHN0cmluZztcbiAgcGlwZWxpbmVFeGVjdXRpb25JZD86IHN0cmluZztcbiAgY29kZUJ1aWxkQnVpbGRJZD86IHN0cmluZztcbn0pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCByZXF1ZXN0SWQgPSBzYW5pdGl6ZUNvcnJlbGF0aW9uVmFsdWUoaWRzLnJlcXVlc3RJZCk7XG4gIGNvbnN0IGV4ZWN1dGlvbklkID0gc2FuaXRpemVDb3JyZWxhdGlvblZhbHVlKGlkcy5waXBlbGluZUV4ZWN1dGlvbklkKTtcbiAgY29uc3QgYnVpbGRJZCA9IHNhbml0aXplQ29ycmVsYXRpb25WYWx1ZShpZHMuY29kZUJ1aWxkQnVpbGRJZCk7XG4gIGlmIChyZXF1ZXN0SWQpIGhlYWRlcnNbUkVRVUVTVF9JRF9IRUFERVJdID0gcmVxdWVzdElkO1xuICBpZiAoZXhlY3V0aW9uSWQpIGhlYWRlcnNbUElQRUxJTkVfRVhFQ1VUSU9OX0lEX0hFQURFUl0gPSBleGVjdXRpb25JZDtcbiAgaWYgKGJ1aWxkSWQpIGhlYWRlcnNbQ09ERUJVSUxEX0JVSUxEX0lEX0hFQURFUl0gPSBidWlsZElkO1xuICByZXR1cm4gaGVhZGVycztcbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtY29ycmVsYXRpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2F1ZGl0LWNvcnJlbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHlCQUF5QixDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHNCQUFzQixDQUFDO0FBRWhFLDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ2hELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUNqRixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUlsQztJQUNDLE1BQU0sT0FBTyxHQUEyQixFQUFFLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELE1BQU0sV0FBVyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELElBQUksU0FBUztRQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN0RCxJQUFJLFdBQVc7UUFBRSxPQUFPLENBQUMsNEJBQTRCLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDckUsSUFBSSxPQUFPO1FBQUUsT0FBTyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQzFELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBBdWRpdC1jb3JyZWxhdGlvbiBoZWFkZXJzIHRoZSBwbGF0Zm9ybSdzIGNsaWVudHMgc2VuZCBzbyBhIHNlcnZlci1zaWRlIGF1ZGl0XG4gKiByb3cgY2FuIGJlIGpvaW5lZCBiYWNrIHRvIHRoZSBydW4gdGhhdCBjYXVzZWQgaXQg4oCUIHRoZSBDTEkgaW52b2NhdGlvbiwgdGhlXG4gKiBDb2RlQnVpbGQgYnVpbGQsIHRoZSBDb2RlUGlwZWxpbmUgZXhlY3V0aW9uLCB0aGUgTGFtYmRhIHJlcXVlc3QsIHRoZVxuICogRXZlbnRCcmlkZ2UgZXZlbnQuIGFwaS1jb3JlIHJlYWRzIGV4YWN0bHkgdGhlc2UgbmFtZXMgaW50byBhdWRpdCBjb250ZXh0LlxuICpcbiAqIE5vbmUgb2YgdGhlbSBtYXkgY2FycnkgYW4gQVdTIGFjY291bnQgaWQ6IGEgQ29kZUJ1aWxkIGJ1aWxkIGlkIGlzXG4gKiBgPHByb2plY3Q+Ojx1dWlkPmAsIGFuIGV4ZWN1dGlvbiBpZCBpcyBhIHV1aWQsIGEgTGFtYmRhIHJlcXVlc3QgaWQgaXMgYSB1dWlkLlxuICogQW4gQVJOIGlzIE5FVkVSIHNlbnQgaGVyZSDigJQgY2FsbGVycyBtdXN0IG5vdCBwYXNzIG9uZS5cbiAqXG4gKiBEZXBlbmRlbmN5LWZyZWUgc28gdGhlIHBsdWdpbi1sb29rdXAsIHRva2VuLXJlbmV3IGFuZCBldmVudC1pbmdlc3QgTGFtYmRhc1xuICogKGVhY2ggYSBzaW5nbGUgYnVuZGxlZCBmaWxlKSBjYW4gaW1wb3J0IGl0LlxuICovXG5leHBvcnQgY29uc3QgUkVRVUVTVF9JRF9IRUFERVIgPSAnWC1SZXF1ZXN0LUlkJztcbmV4cG9ydCBjb25zdCBQSVBFTElORV9FWEVDVVRJT05fSURfSEVBREVSID0gJ1gtUGlwZWxpbmUtRXhlY3V0aW9uLUlkJztcbmV4cG9ydCBjb25zdCBDT0RFQlVJTERfQlVJTERfSURfSEVBREVSID0gJ1gtQ29kZUJ1aWxkLUJ1aWxkLUlkJztcblxuLyoqIFRoZSBsb25nZXN0IGNvcnJlbGF0aW9uIHZhbHVlIHNlbnQ7IHRoZSBzZXJ2ZXIgY2FwcyBhdCB0aGUgc2FtZSBib3VuZC4gKi9cbmV4cG9ydCBjb25zdCBNQVhfQ09SUkVMQVRJT05fVkFMVUUgPSAxMjg7XG5cbi8qKlxuICogQSBoZWFkZXItc2FmZSBjb3JyZWxhdGlvbiB2YWx1ZSwgb3IgdW5kZWZpbmVkIHdoZW4gbm90aGluZyB1c2FibGUgaXMgbGVmdC5cbiAqIEtlZXBzIHByaW50YWJsZSBBU0NJSSBvbmx5IOKAlCBDUi9MRiAoaGVhZGVyIGluamVjdGlvbikgYW5kIG90aGVyIGNvbnRyb2wgb3JcbiAqIG5vbi1BU0NJSSBieXRlcyBhcmUgZHJvcHBlZCDigJQgYW5kIGNhcHMgdGhlIGxlbmd0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQ29ycmVsYXRpb25WYWx1ZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBjbGVhbiA9IHZhbHVlLnJlcGxhY2UoL1teXFx4MjEtXFx4N2VdL2csICcnKS5zbGljZSgwLCBNQVhfQ09SUkVMQVRJT05fVkFMVUUpO1xuICByZXR1cm4gY2xlYW4ubGVuZ3RoID4gMCA/IGNsZWFuIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRoZSBjb3JyZWxhdGlvbiBoZWFkZXJzIGZvciBhIHJ1biwgZWFjaCBpbmNsdWRlZCBvbmx5IHdoZW4gaXRzIHZhbHVlXG4gKiBzdXJ2aXZlcyBzYW5pdGl6aW5nLiBgcmVxdWVzdElkYCBpcyByZXF1aXJlZCBpbiBzcGlyaXQgKGV2ZXJ5IGNhbGxlciBoYXMgb25lKTtcbiAqIHRoZSBidWlsZCArIGV4ZWN1dGlvbiBpZHMgb25seSB3aGVuIGdlbnVpbmVseSBrbm93bi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvcnJlbGF0aW9uSGVhZGVycyhpZHM6IHtcbiAgcmVxdWVzdElkPzogc3RyaW5nO1xuICBwaXBlbGluZUV4ZWN1dGlvbklkPzogc3RyaW5nO1xuICBjb2RlQnVpbGRCdWlsZElkPzogc3RyaW5nO1xufSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIGNvbnN0IHJlcXVlc3RJZCA9IHNhbml0aXplQ29ycmVsYXRpb25WYWx1ZShpZHMucmVxdWVzdElkKTtcbiAgY29uc3QgZXhlY3V0aW9uSWQgPSBzYW5pdGl6ZUNvcnJlbGF0aW9uVmFsdWUoaWRzLnBpcGVsaW5lRXhlY3V0aW9uSWQpO1xuICBjb25zdCBidWlsZElkID0gc2FuaXRpemVDb3JyZWxhdGlvblZhbHVlKGlkcy5jb2RlQnVpbGRCdWlsZElkKTtcbiAgaWYgKHJlcXVlc3RJZCkgaGVhZGVyc1tSRVFVRVNUX0lEX0hFQURFUl0gPSByZXF1ZXN0SWQ7XG4gIGlmIChleGVjdXRpb25JZCkgaGVhZGVyc1tQSVBFTElORV9FWEVDVVRJT05fSURfSEVBREVSXSA9IGV4ZWN1dGlvbklkO1xuICBpZiAoYnVpbGRJZCkgaGVhZGVyc1tDT0RFQlVJTERfQlVJTERfSURfSEVBREVSXSA9IGJ1aWxkSWQ7XG4gIHJldHVybiBoZWFkZXJzO1xufVxuIl19