@smarterplan/ngx-smarterplan-core 1.2.10 → 1.2.11

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 (161) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/csv-export/csv-export.component.mjs +3 -3
  3. package/esm2020/lib/components/loader/loader.component.mjs +3 -3
  4. package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
  5. package/esm2020/lib/components/menu-bar/menu-bar.component.mjs +3 -3
  6. package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
  7. package/esm2020/lib/components/menu-bar/range-date-picker/range-date-picker.component.mjs +1 -1
  8. package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
  9. package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
  10. package/esm2020/lib/components/support-modal/support-modal.component.mjs +3 -3
  11. package/esm2020/lib/config.mjs +1 -1
  12. package/esm2020/lib/helpers.service.mjs +1 -1
  13. package/esm2020/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
  14. package/esm2020/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
  15. package/esm2020/lib/matterport-extensions/scene-component/SceneComponent.mjs +1 -1
  16. package/esm2020/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
  17. package/esm2020/lib/mattertagData.mjs +1 -1
  18. package/esm2020/lib/ngx-smarterplan-core.module.mjs +1 -1
  19. package/esm2020/lib/ngx-smarterplan-core.service.mjs +1 -1
  20. package/esm2020/lib/pipes/duration-to-string.pipe.mjs +1 -1
  21. package/esm2020/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
  22. package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
  23. package/esm2020/lib/pipes/safe-url.pipe.mjs +1 -1
  24. package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
  25. package/esm2020/lib/pipes/username-from-id.pipe.mjs +1 -1
  26. package/esm2020/lib/services/amplify-cache.service.mjs +1 -1
  27. package/esm2020/lib/services/base-tab.service.mjs +1 -1
  28. package/esm2020/lib/services/baseVisibility.service.mjs +1 -1
  29. package/esm2020/lib/services/content.service.mjs +1 -1
  30. package/esm2020/lib/services/filter.service.mjs +1 -1
  31. package/esm2020/lib/services/intervention.service.mjs +1 -1
  32. package/esm2020/lib/services/locale.service.mjs +1 -1
  33. package/esm2020/lib/services/matterport-import.service.mjs +1 -1
  34. package/esm2020/lib/services/matterport.service.mjs +56 -1
  35. package/esm2020/lib/services/models/affectation.service.mjs +1 -1
  36. package/esm2020/lib/services/models/base-object.service.mjs +1 -1
  37. package/esm2020/lib/services/models/capture.service.mjs +1 -1
  38. package/esm2020/lib/services/models/comment.service.mjs +1 -1
  39. package/esm2020/lib/services/models/domain.service.mjs +1 -1
  40. package/esm2020/lib/services/models/equipment.service.mjs +1 -1
  41. package/esm2020/lib/services/models/event.service.mjs +1 -1
  42. package/esm2020/lib/services/models/feature.service.mjs +1 -1
  43. package/esm2020/lib/services/models/hashtag.service.mjs +1 -1
  44. package/esm2020/lib/services/models/layer.service.mjs +1 -1
  45. package/esm2020/lib/services/models/measurement.service.mjs +1 -1
  46. package/esm2020/lib/services/models/mission.service.mjs +1 -1
  47. package/esm2020/lib/services/models/navigation.service.mjs +1 -1
  48. package/esm2020/lib/services/models/node.service.mjs +1 -1
  49. package/esm2020/lib/services/models/object3D.service.mjs +1 -1
  50. package/esm2020/lib/services/models/operation.service.mjs +1 -1
  51. package/esm2020/lib/services/models/organisation.service.mjs +1 -1
  52. package/esm2020/lib/services/models/plan.service.mjs +1 -1
  53. package/esm2020/lib/services/models/poi.service.mjs +1 -1
  54. package/esm2020/lib/services/models/profile.service.mjs +1 -1
  55. package/esm2020/lib/services/models/property.service.mjs +1 -1
  56. package/esm2020/lib/services/models/space.service.mjs +1 -1
  57. package/esm2020/lib/services/models/template.service.mjs +1 -1
  58. package/esm2020/lib/services/models/ticket.service.mjs +1 -1
  59. package/esm2020/lib/services/models/visit.service.mjs +1 -1
  60. package/esm2020/lib/services/models/zone.service.mjs +1 -1
  61. package/esm2020/lib/services/navigator.service.mjs +1 -1
  62. package/esm2020/lib/services/s3.service.mjs +1 -1
  63. package/esm2020/lib/services/search.service.mjs +1 -1
  64. package/esm2020/lib/services/support.service.mjs +1 -1
  65. package/esm2020/lib/services/tag.service.mjs +18 -18
  66. package/esm2020/lib/services/user.service.mjs +1 -1
  67. package/esm2020/lib/services/validators.service.mjs +1 -1
  68. package/esm2020/lib/services/zone-drawer.service.mjs +1 -1
  69. package/esm2020/lib/services/zoneChange.service.mjs +1 -1
  70. package/esm2020/lib/validators/email.directive.mjs +1 -1
  71. package/esm2020/lib/validators/no-empty.directive.mjs +1 -1
  72. package/esm2020/lib/validators/number.directive.mjs +1 -1
  73. package/esm2020/lib/validators/text.directive.mjs +1 -1
  74. package/esm2020/public-api.mjs +1 -1
  75. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +88 -31
  76. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  77. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +86 -31
  78. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  79. package/lib/components/csv-export/csv-export.component.d.ts.map +1 -0
  80. package/lib/components/loader/loader.component.d.ts.map +1 -0
  81. package/lib/components/menu-bar/avatar/avatar.component.d.ts.map +1 -0
  82. package/lib/components/menu-bar/menu-bar.component.d.ts.map +1 -0
  83. package/lib/components/menu-bar/navigation-bar/navigation-bar.component.d.ts.map +1 -0
  84. package/lib/components/menu-bar/range-date-picker/range-date-picker.component.d.ts.map +1 -0
  85. package/lib/components/modal-switch-visit/modal-switch-visit.component.d.ts.map +1 -0
  86. package/lib/components/search-bar/search-bar.component.d.ts.map +1 -0
  87. package/lib/components/support-modal/support-modal.component.d.ts.map +1 -0
  88. package/lib/config.d.ts.map +1 -0
  89. package/lib/helpers.service.d.ts.map +1 -0
  90. package/lib/matterport-extensions/hsl-loader/HlsLoader.d.ts.map +1 -0
  91. package/lib/matterport-extensions/nest-thermostat/CanvasImage.d.ts.map +1 -0
  92. package/lib/matterport-extensions/nest-thermostat/CanvasRenderer.d.ts.map +1 -0
  93. package/lib/matterport-extensions/nest-thermostat/NestThermostat.d.ts.map +1 -0
  94. package/lib/matterport-extensions/nest-thermostat/PlaneRenderer.d.ts.map +1 -0
  95. package/lib/matterport-extensions/scene-component/SceneComponent.d.ts.map +1 -0
  96. package/lib/matterport-extensions/security-camera/SecurityCamera.d.ts.map +1 -0
  97. package/lib/matterport-extensions/tv-player/TvPlayer.d.ts.map +1 -0
  98. package/lib/matterport-extensions/video-renderer/VideoRenderer.d.ts.map +1 -0
  99. package/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.d.ts.map +1 -0
  100. package/lib/mattertagData.d.ts.map +1 -0
  101. package/lib/ngx-smarterplan-core.module.d.ts.map +1 -0
  102. package/lib/ngx-smarterplan-core.service.d.ts.map +1 -0
  103. package/lib/pipes/duration-to-string.pipe.d.ts.map +1 -0
  104. package/lib/pipes/format-date-number-to-digits.pipe.d.ts.map +1 -0
  105. package/lib/pipes/hashtag-from-id.pipe.d.ts.map +1 -0
  106. package/lib/pipes/safe-url.pipe.d.ts.map +1 -0
  107. package/lib/pipes/time-date-to-local-string.pipe.d.ts.map +1 -0
  108. package/lib/pipes/username-from-id.pipe.d.ts.map +1 -0
  109. package/lib/services/amplify-cache.service.d.ts.map +1 -0
  110. package/lib/services/base-tab.service.d.ts.map +1 -0
  111. package/lib/services/baseVisibility.service.d.ts.map +1 -0
  112. package/lib/services/content.service.d.ts.map +1 -0
  113. package/lib/services/filter.service.d.ts.map +1 -0
  114. package/lib/services/intervention.service.d.ts.map +1 -0
  115. package/lib/services/locale.service.d.ts.map +1 -0
  116. package/lib/services/matterport-import.service.d.ts.map +1 -0
  117. package/lib/services/matterport.service.d.ts.map +1 -0
  118. package/lib/services/models/affectation.service.d.ts.map +1 -0
  119. package/lib/services/models/base-object.service.d.ts.map +1 -0
  120. package/lib/services/models/capture.service.d.ts.map +1 -0
  121. package/lib/services/models/comment.service.d.ts.map +1 -0
  122. package/lib/services/models/domain.service.d.ts.map +1 -0
  123. package/lib/services/models/equipment.service.d.ts.map +1 -0
  124. package/lib/services/models/event.service.d.ts.map +1 -0
  125. package/lib/services/models/feature.service.d.ts.map +1 -0
  126. package/lib/services/models/hashtag.service.d.ts.map +1 -0
  127. package/lib/services/models/layer.service.d.ts.map +1 -0
  128. package/lib/services/models/measurement.service.d.ts.map +1 -0
  129. package/lib/services/models/mission.service.d.ts.map +1 -0
  130. package/lib/services/models/navigation.service.d.ts.map +1 -0
  131. package/lib/services/models/node.service.d.ts.map +1 -0
  132. package/lib/services/models/object3D.service.d.ts.map +1 -0
  133. package/lib/services/models/operation.service.d.ts.map +1 -0
  134. package/lib/services/models/organisation.service.d.ts.map +1 -0
  135. package/lib/services/models/plan.service.d.ts.map +1 -0
  136. package/lib/services/models/poi.service.d.ts.map +1 -0
  137. package/lib/services/models/profile.service.d.ts.map +1 -0
  138. package/lib/services/models/property.service.d.ts.map +1 -0
  139. package/lib/services/models/space.service.d.ts.map +1 -0
  140. package/lib/services/models/template.service.d.ts.map +1 -0
  141. package/lib/services/models/ticket.service.d.ts.map +1 -0
  142. package/lib/services/models/visit.service.d.ts.map +1 -0
  143. package/lib/services/models/zone.service.d.ts.map +1 -0
  144. package/lib/services/navigator.service.d.ts.map +1 -0
  145. package/lib/services/s3.service.d.ts.map +1 -0
  146. package/lib/services/search.service.d.ts.map +1 -0
  147. package/lib/services/support.service.d.ts.map +1 -0
  148. package/lib/services/tag.service.d.ts.map +1 -0
  149. package/lib/services/user.service.d.ts.map +1 -0
  150. package/lib/services/validators.service.d.ts.map +1 -0
  151. package/lib/services/viewer.service.d.ts.map +1 -0
  152. package/lib/services/zone-drawer.service.d.ts.map +1 -0
  153. package/lib/services/zoneChange.service.d.ts.map +1 -0
  154. package/lib/types.service.d.ts.map +1 -0
  155. package/lib/validators/email.directive.d.ts.map +1 -0
  156. package/lib/validators/no-empty.directive.d.ts.map +1 -0
  157. package/lib/validators/number.directive.d.ts.map +1 -0
  158. package/lib/validators/text.directive.d.ts.map +1 -0
  159. package/package.json +1 -1
  160. package/public-api.d.ts.map +1 -0
  161. package/smarterplan-ngx-smarterplan-core.d.ts.map +1 -0
@@ -1,4 +1,4 @@
1
1
  export class Config {
2
2
  constructor() { }
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLE1BQU07SUFxQmYsZ0JBQWdCLENBQUM7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGNsYXNzIENvbmZpZyB7XHJcbiAgICBteV9jb25maWc6IHtcclxuICAgICAgICBpY29uX3RpY2tldD86IHN0cmluZztcclxuICAgICAgICBpY29uX2VxdWlwbWVudD86IHN0cmluZztcclxuICAgICAgICBpY29uX21lYXN1cmU/OiBzdHJpbmc7XHJcbiAgICAgICAgaWNvbl9kYXRhPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fb2JqZWN0M2Q/OiBzdHJpbmc7XHJcbiAgICAgICAgaWNvbl9wb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIE1BWF9DSEFSQUNURVJfREVTQ1JJUFRJT05fVEFHOiBudW1iZXI7XHJcbiAgICAgICAgREVGQVVMVF9IRUlHSFRfSFRNTF9UQUc6IG51bWJlcjtcclxuICAgICAgICBERUZBVUxUX09QQUNJVFlfVEFHOiBudW1iZXI7XHJcbiAgICAgICAgQ09MRF9MSU1JVD86IG51bWJlcjtcclxuICAgICAgICBIT1RfTElNSVQ/OiBudW1iZXI7XHJcbiAgICAgICAgREVGQVVMVF9XSURUSF9IVE1MX1RBRzogbnVtYmVyO1xyXG4gICAgICAgIE1BWF9JTUFHRV9IRUlHSFRfSFRNTF9UQUc6IG51bWJlcjtcclxuICAgICAgICBpY29uX3Jvb21fYXZhaWxhYmxlPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fcm9vbV91bmF2YWlsYWJsZT86IHN0cmluZztcclxuICAgICAgICBpY29uX3Jvb21fY2hvc2VuPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fcm9vbV92aWV3ZWQ/OiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLE1BQU07SUFxQmYsZ0JBQWdCLENBQUM7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICAgIG15X2NvbmZpZzoge1xuICAgICAgICBpY29uX3RpY2tldD86IHN0cmluZztcbiAgICAgICAgaWNvbl9lcXVpcG1lbnQ/OiBzdHJpbmc7XG4gICAgICAgIGljb25fbWVhc3VyZT86IHN0cmluZztcbiAgICAgICAgaWNvbl9kYXRhPzogc3RyaW5nO1xuICAgICAgICBpY29uX29iamVjdDNkPzogc3RyaW5nO1xuICAgICAgICBpY29uX3Bvc2l0aW9uOiBzdHJpbmc7XG4gICAgICAgIE1BWF9DSEFSQUNURVJfREVTQ1JJUFRJT05fVEFHOiBudW1iZXI7XG4gICAgICAgIERFRkFVTFRfSEVJR0hUX0hUTUxfVEFHOiBudW1iZXI7XG4gICAgICAgIERFRkFVTFRfT1BBQ0lUWV9UQUc6IG51bWJlcjtcbiAgICAgICAgQ09MRF9MSU1JVD86IG51bWJlcjtcbiAgICAgICAgSE9UX0xJTUlUPzogbnVtYmVyO1xuICAgICAgICBERUZBVUxUX1dJRFRIX0hUTUxfVEFHOiBudW1iZXI7XG4gICAgICAgIE1BWF9JTUFHRV9IRUlHSFRfSFRNTF9UQUc6IG51bWJlcjtcbiAgICAgICAgaWNvbl9yb29tX2F2YWlsYWJsZT86IHN0cmluZztcbiAgICAgICAgaWNvbl9yb29tX3VuYXZhaWxhYmxlPzogc3RyaW5nO1xuICAgICAgICBpY29uX3Jvb21fY2hvc2VuPzogc3RyaW5nO1xuICAgICAgICBpY29uX3Jvb21fdmlld2VkPzogc3RyaW5nO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19
@@ -467,4 +467,4 @@ export function durationToString(duration, translate) {
467
467
  }
468
468
  return `${seconds} ${secondsString}`;
469
469
  }
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9oZWxwZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFXLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RyxNQUFNLFVBQVUsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFFBQVE7SUFDNUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQWE7SUFDekMsUUFBUSxJQUFJLEVBQUU7UUFDVixLQUFLLE9BQU8sQ0FBQyxTQUFTO1lBQ2xCLE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLEtBQUssT0FBTyxDQUFDLE1BQU07WUFDZixPQUFPLFFBQVEsQ0FBQztRQUNwQixLQUFLLE9BQU8sQ0FBQyxJ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QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFckQsSUFBSSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxHQUFHLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztLQUNsQztJQUNELElBQUksUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUU7UUFDdEIsT0FBTyxHQUFHLElBQUksSUFBSSxVQUFVLElBQUksS0FBSyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQzFEO0lBQ0QsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sR0FBRyxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7S0FDdEM7SUFDRCxJQUFJLFFBQVEsR0FBRyxJQUFJLEVBQUU7UUFDakIsSUFBSSxPQUFPLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxHQUFHLEtBQUssSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sR0FBRyxLQUFLLElBQUksV0FBVyxJQUFJLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztLQUNoRTtJQUNELElBQUksUUFBUSxJQUFJLEVBQUUsRUFBRTtRQUNoQixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLEdBQUcsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxhQUFhLElBQUksT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0tBQ3BFO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IE1vZGFsU3dpdGNoVmlzaXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL21vZGFsLXN3aXRjaC12aXNpdC9tb2RhbC1zd2l0Y2gtdmlzaXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IGRvd25sb2FkRmlsZUFzT2JqZWN0IH0gZnJvbSBcIi4vc2VydmljZXMvczMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFcXVpcG1lbnREb2N1bWVudCwgTGV2ZWxTdGF0dXMsIExvY2FsZSwgTWlzc2lvbiwgUG9pVHlwZSwgUm9sZVN0YXR1cyB9IGZyb20gXCIuL3R5cGVzLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREaXN0YW5jZUJldHdlZW5Ud29Qb2ludHMoc3RhcnRQb2ludCwgZW5kUG9pbnQpIHtcclxuICAgIGNvbnN0IGR4ID0gZW5kUG9pbnQueCAtIHN0YXJ0UG9pbnQueDtcclxuICAgIGNvbnN0IGR5ID0gZW5kUG9pbnQueSAtIHN0YXJ0UG9pbnQueTtcclxuICAgIGNvbnN0IGR6ID0gZW5kUG9pbnQueiAtIHN0YXJ0UG9pbnQuejtcclxuICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5ICsgZHogKiBkeik7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChkaXN0YW5jZSAqIDEwMCkgLyAxMDA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwb2lUeXBlVG9TdHJpbmcodHlwZTogUG9pVHlwZSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICBjYXNlIFBvaVR5cGUuRVFVSVBNRU5UOlxyXG4gICAgICAgICAgICByZXR1cm4gXCJlcXVpcG1lbnRcIjtcclxuICAgICAgICBjYXNlIFBvaVR5cGUuVElDS0VUOlxyXG4gICAgICAgICAgICByZXR1cm4gXCJ0aWNrZXRcIjtcclxuICAgICAgICBjYXNlIFBvaVR5cGUuREFUQTpcclxuICAgICAgICAgICAgcmV0dXJuIFwiZGF0YVwiO1xyXG4gICAgICAgIGNhc2UgUG9pVHlwZS5ERVNLOlxyXG4gICAgICAgICAgICByZXR1cm4gXCJkYXRhXCI7XHJcbiAgICAgICAgY2FzZSBQb2lUeXBlLklORk9STUFUSU9OOlxyXG4gICAgICAgICAgICByZXR1cm4gXCJpbmZvcm1hdGlvblwiO1xyXG4gICAgICAgIGNhc2UgUG9pVHlwZS5NRUFTVVJFOlxyXG4gICAgICAgICAgICByZXR1cm4gXCJtZWFzdXJlXCI7XHJcbiAgICAgICAgY2FzZSBQb2lUeXBlLlBFT1BMRTpcclxuICAgICAgICAgICAgcmV0dXJuIFwicGVvcGxlXCI7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIFwidGlja2V0XCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3YWl0KHRpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgdGltZW91dCA9IHRpbWVvdXQgfHwgMjAwMDtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH0sIHRpbWVvdXQpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB3YWl0VW50aWwgPSAoY29uZGl0aW9uOiAoKSA9PiBib29sZWFuKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25kaXRpb24oKSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDMwKTtcclxuICAgIH0pO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVudW1Ub0FycmF5KGVudW1lcmFibGU6IGFueSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1lcmFibGUpXHJcbiAgICAgICAgLmZpbHRlcigodmFsdWUpID0+IGlzTmFOKE51bWJlcih2YWx1ZSkpID09PSB0cnVlKVxyXG4gICAgICAgIC5tYXAoKGtleSkgPT4gZW51bWVyYWJsZVtrZXldKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExldmVsc0JlbG93KGxldmVsOiBMZXZlbFN0YXR1cyk6IExldmVsU3RhdHVzW10ge1xyXG4gICAgY29uc3QgYWxsID0gW1xyXG4gICAgICAgIExldmVsU3RhdHVzLk1JTklNVU0sXHJcbiAgICAgICAgTGV2ZWxTdGF0dXMuTE9XLFxyXG4gICAgICAgIExldmVsU3RhdHVzLk1FRElVTSxcclxuICAgICAgICBMZXZlbFN0YXR1cy5ISUdILFxyXG4gICAgICAgIExldmVsU3RhdHVzLk1BWElNVU0sXHJcbiAgICBdO1xyXG4gICAgc3dpdGNoIChsZXZlbCkge1xyXG4gICAgICAgIGNhc2UgTGV2ZWxTdGF0dXMuTUFYSU1VTTpcclxuICAgICAgICAgICAgcmV0dXJuIGFsbDtcclxuICAgICAgICBjYXNlIExldmVsU3RhdHVzLkhJR0g6XHJcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoNCwgMSk7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgY2FzZSBMZXZlbFN0YXR1cy5NRURJVU06XHJcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoMywgMik7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgY2FzZSBMZXZlbFN0YXR1cy5MT1c6XHJcbiAgICAgICAgICAgIHJldHVybiBbTGV2ZWxTdGF0dXMuTUlOSU1VTSwgTGV2ZWxTdGF0dXMuTE9XXTtcclxuICAgICAgICBjYXNlIExldmVsU3RhdHVzLk1JTklNVU06XHJcbiAgICAgICAgICAgIHJldHVybiBbTGV2ZWxTdGF0dXMuTUlOSU1VTV07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIFtMZXZlbFN0YXR1cy5NSU5JTVVNXTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhpZ2hlc3RMZXZlbEZvck1pc3Npb25zKG1pc3Npb25zOiBNaXNzaW9uW10pOiBMZXZlbFN0YXR1cyB7XHJcbiAgICBsZXQgbGF0ZXN0VmlzaWJsZUxldmVscyA9IFtMZXZlbFN0YXR1cy5NSU5JTVVNXTtcclxuICAgIGZvciAoY29uc3QgbSBvZiBtaXNzaW9ucykge1xyXG4gICAgICAgIGNvbnN0IHZpc2libGVMZXZlbHMgPSBnZXRMZXZlbHNCZWxvdyhtLmxldmVsKTtcclxuICAgICAgICBpZiAodmlzaWJsZUxldmVscy5sZW5ndGggPiBsYXRlc3RWaXNpYmxlTGV2ZWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsYXRlc3RWaXNpYmxlTGV2ZWxzID0gdmlzaWJsZUxldmVscztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKGxhdGVzdFZpc2libGVMZXZlbHMubGVuZ3RoKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgICByZXR1cm4gTGV2ZWxTdGF0dXMuTUlOSU1VTTtcclxuICAgICAgICBjYXNlIDI6XHJcbiAgICAgICAgICAgIHJldHVybiBMZXZlbFN0YXR1cy5MT1c7XHJcbiAgICAgICAgY2FzZSAzOlxyXG4gICAgICAgICAgICByZXR1cm4gTGV2ZWxTdGF0dXMuTUVESVVNO1xyXG4gICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgcmV0dXJuIExldmVsU3RhdHVzLkhJR0g7XHJcbiAgICAgICAgY2FzZSA1OlxyXG4gICAgICAgICAgICByZXR1cm4gTGV2ZWxTdGF0dXMuTUFYSU1VTTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4gTGV2ZWxTdGF0dXMuTUlOSU1VTTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhpZ2hlc3RSb2xlRm9yTWlzc2lvbnMobWlzc2lvbnM6IE1pc3Npb25bXSk6IFJvbGVTdGF0dXMge1xyXG4gICAgbGV0IGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5WSVNJVE9SO1xyXG4gICAgZm9yIChjb25zdCBtIG9mIG1pc3Npb25zKSB7XHJcbiAgICAgICAgaWYgKG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5BRE1JTikge1xyXG4gICAgICAgICAgICByZXR1cm4gUm9sZVN0YXR1cy5BRE1JTjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGhpZ2hlc3RSb2xlID09PSBSb2xlU3RhdHVzLk9XTkVSKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLk9XTkVSKSB7XHJcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5PV05FUjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5NQU5BR0VSKSB7XHJcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5NQU5BR0VSO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5TRVJWSUNFICYmXHJcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlICE9PSBSb2xlU3RhdHVzLk1BTkFHRVJcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgaGlnaGVzdFJvbGUgPSBSb2xlU3RhdHVzLlNFUlZJQ0U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgbS5yb2xlID09PSBSb2xlU3RhdHVzLk9DQ1VQQU5UICYmXHJcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1JcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgaGlnaGVzdFJvbGUgPSBSb2xlU3RhdHVzLk9DQ1VQQU5UO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTSkge1xyXG4gICAgICAgICAgICBoaWdoZXN0Um9sZSA9IFJvbGVTdGF0dXMuR1VJREVfTVVTRVVNO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1JfTVVTRVVNKSB7XHJcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGlnaGVzdFJvbGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRSb2xlc0JlbG93Rm9yTWFuYWdlcihyb2xlOiBSb2xlU3RhdHVzKTogUm9sZVN0YXR1c1tdIHtcclxuICAgIGNvbnN0IGFsbCA9IFtcclxuICAgICAgICBSb2xlU3RhdHVzLlZJU0lUT1IsXHJcbiAgICAgICAgUm9sZVN0YXR1cy5PQ0NVUEFOVCxcclxuICAgICAgICBSb2xlU3RhdHVzLlNFUlZJQ0UsXHJcbiAgICAgICAgUm9sZVN0YXR1cy5NQU5BR0VSLFxyXG4gICAgICAgIFJvbGVTdGF0dXMuT1dORVIsXHJcbiAgICAgICAgUm9sZVN0YXR1cy5BRE1JTixcclxuICAgIF07XHJcbiAgICBjb25zdCBtdXNldW0gPSBbUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTSwgUm9sZVN0YXR1cy5HVUlERV9NVVNFVU1dO1xyXG4gICAgc3dpdGNoIChyb2xlKSB7XHJcbiAgICAgICAgY2FzZSBSb2xlU3RhdHVzLkFETUlOOlxyXG4gICAgICAgICAgICByZXR1cm4gWy4uLmFsbCwgLi4ubXVzZXVtXTtcclxuICAgICAgICBjYXNlIFJvbGVTdGF0dXMuT1dORVI6XHJcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoNSwgMSk7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgY2FzZSBSb2xlU3RhdHVzLk1BTkFHRVI6XHJcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoNCwgMik7XHJcbiAgICAgICAgICAgIHJldHVybiBhbGw7XHJcbiAgICAgICAgY2FzZSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTTpcclxuICAgICAgICAgICAgcmV0dXJuIG11c2V1bTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4gYWxsLnNwbGljZSg0LCAyKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclVuaXF1ZUFycmF5QnlJRChhcnJheU9mT2JqZWN0czogYW55W10pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gYXJyYXlPZk9iamVjdHMuZmlsdGVyKFxyXG4gICAgICAgICh2LCBpbmRleCwgYSkgPT4gYS5maW5kSW5kZXgoKHQpID0+IHQuaWQgPT09IHYuaWQpID09PSBpbmRleCxcclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVOdWxsS2V5c0Zyb21PYmplY3Qob2JqZWN0OiBPYmplY3QpIHtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHtcclxuICAgICAgICBpZiAob2JqZWN0W2tleV0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgZGVsZXRlIG9iamVjdFtrZXldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRlc3QgaWYgYSBkYXRlIGhhcyBleHBpcmVkXHJcbiAqIEBwYXJhbSBkYXRlXHJcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGRhdGUgaGFzIGV4cGlyZWQsIGZhbHNlIG90aGVyd2lzZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVIYXNFeHBpcmVkKFxyXG4gICAgZGF0ZTogc3RyaW5nIHwgRGF0ZSB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsXHJcbik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGRhdGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkgPD0gbmV3IERhdGUoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ0xvY2FsZVRvRW51bShsb2NhbGU6IHN0cmluZyk6IExvY2FsZSB7XHJcbiAgICBzd2l0Y2ggKGxvY2FsZSkge1xyXG4gICAgICAgIGNhc2UgXCJlblwiOlxyXG4gICAgICAgICAgICByZXR1cm4gTG9jYWxlLkVOO1xyXG4gICAgICAgIGNhc2UgXCJmclwiOlxyXG4gICAgICAgICAgICByZXR1cm4gTG9jYWxlLkZSO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBMb2NhbGUuRU47XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YUZvckltYWdlKHVybCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG5cclxuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICByZXNvbHZlKGltZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCAoKSA9PiByZWplY3QoKSk7XHJcbiAgICAgICAgaW1nLnNyYyA9IHVybDtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc29ydEFscGhhYmV0aWNhbGx5T25OYW1lKGFycmF5OiB7IG5hbWU6IHN0cmluZzsgfVtdKTogYW55W10ge1xyXG4gICAgcmV0dXJuIGFycmF5LnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRFbWFpbChlbWFpbDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZSA9XHJcbiAgICAgICAgL14oKFteXFxzXCIoKSwuOjs8PkBbXFxcXFxcXV0rKFxcLlteXFxzXCIoKSwuOjs8PkBbXFxcXFxcXV0rKSopfChcIi4rXCIpKUAoKFxcWyg/OlxcZHsxLDN9XFwuKXszfVxcZHsxLDN9XSl8KChbXFxkQS1aYS16XFwtXStcXC4pK1tBLVphLXpdezIsfSkpJC87XHJcbiAgICByZXR1cm4gcmUudGVzdChlbWFpbCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEJsb2IoYmxvYiwgZmlsZW5hbWUpIHtcclxuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICBhLmRvd25sb2FkID0gZmlsZW5hbWUgfHwgXCJkb3dubG9hZFwiO1xyXG4gICAgY29uc3QgY2xpY2tIYW5kbGVyID0gKCkgPT4ge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XHJcbiAgICAgICAgICAgIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGNsaWNrSGFuZGxlcik7XHJcbiAgICAgICAgfSwgMTUwKTtcclxuICAgIH07XHJcbiAgICBhLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBjbGlja0hhbmRsZXIsIGZhbHNlKTtcclxuICAgIGEuY2xpY2soKTtcclxuICAgIHJldHVybiBhO1xyXG59XHJcblxyXG4vKlxyXG4gICAgT3BlbiBtb2RhbCBpZiBvbmUgaGFzIHRvIHN3aXRjaCB2aXJ0dWFsIHZpc2l0XHJcbiovXHJcbmV4cG9ydCBmdW5jdGlvbiBvcGVuTW9kYWxGb3JWaXNpdFN3aXRjaChcclxuICAgIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBtb2RlbDNEOiBzdHJpbmcsXHJcbiAgICBzcGFjZUlEOiBzdHJpbmcsXHJcbiAgICBkYXRhVG9Nb3ZlOiB7IHN3ZWVwVG9Nb3ZlOiBzdHJpbmcsIHJvdGF0aW9uOiBhbnk7IH0gfCBudWxsID0gbnVsbFxyXG4pIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmZXJlbmNlID0gbW9kYWxTZXJ2aWNlLm9wZW4oTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCk7XHJcbiAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5jb250ZW50ID1cclxuICAgICAgICBcIlRoaXMgb2JqZWN0IGJlbG9uZ3MgdG8gYW5vdGhlciAzRCB2aXNpdC4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN3aXRjaCB0aGUgdmlzaXQ/XCI7XHJcbiAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5tb2RlbDNEID0gbW9kZWwzRDtcclxuICAgIG1vZGFsUmVmZXJlbmNlLmNvbXBvbmVudEluc3RhbmNlLnNwYWNlSUQgPSBzcGFjZUlEO1xyXG4gICAgaWYgKGRhdGFUb01vdmUpIHtcclxuICAgICAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5kYXRhVG9Nb3ZlID0gZGF0YVRvTW92ZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gYSBzdHJpbmcgb2YgYSBnaXZlbiBkYXRlIHRpbWUgaW4gbG9jYWwgZm9ybWF0LlxyXG4gKiBUaGUgZm9ybWF0IGlzIGRldGVybWluZWQgYnkgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRpbWVUb0xvY2FsU3RyaW5nKFxyXG4gICAgZGF0ZTogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSxcclxuICAgIHRyYW5zbGF0ZT86IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBtb2RlPyxcclxuKTogc3RyaW5nIHtcclxuICAgIGxldCBsYW5nID0gXCJlbi1FTlwiO1xyXG4gICAgaWYgKHRyYW5zbGF0ZSkge1xyXG4gICAgICAgIC8qKiBHZXQgY3VycmVudCBsYW5ndWFnZSAqL1xyXG4gICAgICAgIGxhbmcgPSB0cmFuc2xhdGUuY3VycmVudExhbmdcclxuICAgICAgICAgICAgPyB0cmFuc2xhdGUuY3VycmVudExhbmdcclxuICAgICAgICAgICAgOiB0cmFuc2xhdGUuZGVmYXVsdExhbmc7XHJcbiAgICAgICAgLyoqIFRyYW5zZm9ybWUgJ19mcicgdG8gJ2ZyJyAqL1xyXG4gICAgICAgIGlmIChsYW5nKSB7XHJcbiAgICAgICAgICAgIGxhbmcgPSBsYW5nLnNsaWNlKDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG9wdGlvbnM6IHtcclxuICAgICAgICBtb250aD87XHJcbiAgICAgICAgeWVhcj87XHJcbiAgICAgICAgZGF5PztcclxuICAgICAgICBob3VyPztcclxuICAgICAgICBtaW51dGU/O1xyXG4gICAgICAgIHNlY29uZD87XHJcbiAgICAgICAgZGF0ZVN0eWxlPztcclxuICAgICAgICB0aW1lU3R5bGU/O1xyXG4gICAgICAgIHdlZWtkYXk/O1xyXG4gICAgICAgIHRpbWVab25lPztcclxuICAgICAgICB0aW1lWm9uZU5hbWU/O1xyXG4gICAgfTtcclxuICAgIHN3aXRjaCAobW9kZSkge1xyXG4gICAgICAgIGNhc2UgXCJkYXlfbnVtZXJpY1wiOlxyXG4gICAgICAgICAgICBvcHRpb25zID0geyBkYXk6IFwibnVtZXJpY1wiIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJkYXlcIjpcclxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgd2Vla2RheTogXCJsb25nXCIgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImRhdGVcIjpcclxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgZGF0ZVN0eWxlOiBcImxvbmdcIiB9O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFwic2hvcnRfZGF0ZV90aW1lXCI6XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICB5ZWFyOiBcIjItZGlnaXRcIixcclxuICAgICAgICAgICAgICAgIG1vbnRoOiBcIjItZGlnaXRcIixcclxuICAgICAgICAgICAgICAgIGRheTogXCIyLWRpZ2l0XCIsXHJcbiAgICAgICAgICAgICAgICBob3VyOiBcIjItZGlnaXRcIixcclxuICAgICAgICAgICAgICAgIG1pbnV0ZTogXCIyLWRpZ2l0XCIsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJ0aW1lXCI6XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhvdXI6IFwibnVtZXJpY1wiLCBtaW51dGU6IFwibnVtZXJpY1wiIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJkYXlfdGltZV96b25lXCI6XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICB3ZWVrZGF5OiBcImxvbmdcIixcclxuICAgICAgICAgICAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxyXG4gICAgICAgICAgICAgICAgbW9udGg6IFwibG9uZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGF5OiBcIm51bWVyaWNcIixcclxuICAgICAgICAgICAgICAgIGhvdXI6IFwibnVtZXJpY1wiLFxyXG4gICAgICAgICAgICAgICAgbWludXRlOiBcIm51bWVyaWNcIixcclxuICAgICAgICAgICAgICAgIHRpbWVab25lTmFtZTogXCJzaG9ydE9mZnNldFwiLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgZGF0ZVN0eWxlOiBcImxvbmdcIixcclxuICAgICAgICAgICAgICAgIHRpbWVTdHlsZTogXCJzaG9ydFwiLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpLnRvTG9jYWxlU3RyaW5nKGxhbmcsIG9wdGlvbnMpO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcGFyZXMgdHdvIHN0cmluZyBhcnJheXNcclxuICogQHBhcmFtIGFycmF5MVxyXG4gKiBAcGFyYW0gYXJyYXkyXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlzQ29udGFpblNhbWVFbGVtZW50cyhcclxuICAgIGFycmF5MTogc3RyaW5nW10sXHJcbiAgICBhcnJheTI6IHN0cmluZ1tdLFxyXG4pOiBib29sZWFuIHtcclxuICAgIGFycmF5MS5zb3J0KCk7XHJcbiAgICBhcnJheTIuc29ydCgpO1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFycmF5MSkgPT09IEpTT04uc3RyaW5naWZ5KGFycmF5Mik7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlzaXRVcmwoY3VycmVudFVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhdGggPSBjdXJyZW50VXJsLnNwbGl0KFwiL1wiKTtcclxuICAgIHBhdGguc3BsaWNlKDMsIHBhdGgubGVuZ3RoIC0gMik7XHJcbiAgICByZXR1cm4gcGF0aC5qb2luKFwiL1wiKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4dHJhY3Qgc3BhY2VJRCBmcm9tIHVybCB3aGVuIGluIHZpc2l0IDNEXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3BhY2VJREZyb21VcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmlzaXRVcmwgPSBnZXRWaXNpdFVybCh1cmwpO1xyXG4gICAgcmV0dXJuIHZpc2l0VXJsLnNwbGl0KFwiL1wiKVsyXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERvd25sb2FkIHJlbGF0ZWRcclxuICovXHJcbmltcG9ydCBGaWxlU2F2ZXIgZnJvbSBcImZpbGUtc2F2ZXJcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEZpbGUoZmlsZVVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGZpbGVVcmwgKyBmaWxlTmFtZSwgZmlsZU5hbWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb3BlbkRvY3VtZW50KGZpbGVVcmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZywgaWQ6IG51bWJlcikge1xyXG4gICAgd2luZG93Lm9wZW4oYCR7ZmlsZVVybCArIGZpbGVOYW1lfSNkb2M9JHtpZH1gLCBcIl9ibGFua1wiLCBcIlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGRvd25sb2FkRXF1aXBtZW50RG9jdW1lbnQgPSBhc3luYyAoXHJcbiAgICBkb2N1bWVudF86IEVxdWlwbWVudERvY3VtZW50LFxyXG4pOiBQcm9taXNlPE9iamVjdCB8IHZvaWQ+ID0+IHtcclxuICAgIGNvbnN0IHNpZ25lZEZpbGUgPSBhd2FpdCBkb3dubG9hZEZpbGVBc09iamVjdChkb2N1bWVudF8udXJsKTtcclxuICAgIGlmIChzaWduZWRGaWxlKSB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGRvd25sb2FkQmxvYihzaWduZWRGaWxlLkJvZHksIGRvY3VtZW50Xy5maWxlbmFtZSk7XHJcbiAgICB9XHJcbn07XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2hlY2tFbGVtZW50QnlJZChzZWxlY3Rvcikge1xyXG4gICAgbGV0IHF1ZXJ5U2VsZWN0b3IgPSBudWxsO1xyXG4gICAgd2hpbGUgKHF1ZXJ5U2VsZWN0b3IgPT09IG51bGwpIHtcclxuICAgICAgICBhd2FpdCByYWZBc3luYygpO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcXVlcnlTZWxlY3RvcjtcclxufVxyXG5cclxuZnVuY3Rpb24gcmFmQXN5bmMoKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVzb2x2ZSk7IC8vIGZhc3RlciB0aGFuIHNldCB0aW1lIG91dFxyXG4gICAgfSk7XHJcbn1cclxuXHJcbi8qIEBwYXJhbSB7QXJyYXl9IG51bWJlcnMgQW4gYXJyYXkgb2YgbnVtYmVycy5cclxuICogQHJldHVybiB7TnVtYmVyfSBUaGUgY2FsY3VsYXRlZCBhdmVyYWdlIChvciBtZWFuKSB2YWx1ZSBmcm9tIHRoZSBzcGVjaWZpZWRcclxuICogICAgIG51bWJlcnMuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVhbihudW1iZXJzOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHRvdGFsID0gMDtcclxuICAgIGZvciAoY29uc3QgbnVtYmVyIG9mIG51bWJlcnMpIHtcclxuICAgICAgICB0b3RhbCArPSBudW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG90YWwgLyBudW1iZXJzLmxlbmd0aDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUaW1lc3RhbXBUb0xvY2FsWm9uZSh0aW1lc3RhbXA6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xyXG4gICAgY29uc3QgbG9jYWxPZmZzZXQgPSAtMSAqIHNlbGVjdGVkRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDA7XHJcbiAgICBjb25zdCBzdGFtcCA9IHRpbWVzdGFtcCArIGxvY2FsT2Zmc2V0O1xyXG4gICAgcmV0dXJuIHN0YW1wO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHN0cmluZyBmb3IgcGVyaW9kIG9mIHRpbWUuIFBhcmFtZXRlcnMgYXJlIERhdGVUaW1lIG9iamVjdHMgb2YgbHV4b24gbGlicmFyeS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVEYXRlUGVyaW9kKFxyXG4gICAgdHJhbnNsYXRlU2VydmljZTogYW55LFxyXG4gICAgZGF0ZVN0YXJ0UGVyaW9kOiBhbnksXHJcbiAgICBkYXRlRW5kUGVyaW9kOiBhbnksXHJcbik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsb2NhbGUgPSBnZXRMb2NhbGVMb25nKHRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gICAgcmV0dXJuIGAke2RhdGVTdGFydFBlcmlvZC50b0xvY2FsZVN0cmluZyh7XHJcbiAgICAgICAgbG9jYWxlLFxyXG4gICAgICAgIG1vbnRoOiBcImxvbmdcIixcclxuICAgICAgICBkYXk6IFwiMi1kaWdpdFwiLFxyXG4gICAgfSl9IC0gJHtkYXRlRW5kUGVyaW9kLnRvTG9jYWxlU3RyaW5nKHtcclxuICAgICAgICBsb2NhbGUsXHJcbiAgICAgICAgbW9udGg6IFwibG9uZ1wiLFxyXG4gICAgICAgIGRheTogXCIyLWRpZ2l0XCIsXHJcbiAgICB9KX0gYDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4qIFJldHVybiBsb2NhbCBpbiB0aGUgY2Fub25pY2FsIGZvcm06IFwiZW4tR0JcIiwgXCJmci1GUlwiXHJcbiovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGVMb25nKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFuZyA9IHRyYW5zbGF0ZS5jdXJyZW50TGFuZ1xyXG4gICAgICAgID8gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXHJcbiAgICAgICAgOiB0cmFuc2xhdGUuZGVmYXVsdExhbmc7XHJcblxyXG4gICAgLyoqIFRyYW5zZm9ybSAnX2ZyJyB0byAnZnInICovXHJcbiAgICBsYW5nID0gbGFuZy5zbGljZSgxKTtcclxuICAgIGlmIChsYW5nID09PSBcImVuXCIpIHtcclxuICAgICAgICByZXR1cm4gXCJlbi1HQlwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke2xhbmd9LSR7bGFuZy50b1VwcGVyQ2FzZSgpfWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gbG9jYWwgaW4gdGhlIHNob3J0IGZvcm06IFwiZW5cIiwgXCJmclwiXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxlU2hvcnQodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogc3RyaW5nIHtcclxuICAgIGxldCBsYW5nID0gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXHJcbiAgICAgICAgPyB0cmFuc2xhdGUuY3VycmVudExhbmdcclxuICAgICAgICA6IHRyYW5zbGF0ZS5kZWZhdWx0TGFuZztcclxuXHJcbiAgICAvKiogVHJhbnNmb3JtICdfZnInIHRvICdmcicgKi9cclxuICAgIGxhbmcgPSBsYW5nLnNsaWNlKDEpO1xyXG4gICAgcmV0dXJuIGxhbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXQgc3RyaW5nIHRvIGxvd2VyY2FzZSwgbm8gc3BhY2VzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9Mb3dlcmNhc2VOb1NwYWNlcyhpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHdvcmRzID0gaW5wdXQudG9Mb3dlckNhc2UoKS5zcGxpdCgvXFxzKy8pO1xyXG4gICAgcmV0dXJuIHdvcmRzLmpvaW4oXCJcIik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZXN0IGlmIHRoZSBvYmplY3QgPT09IHt9XHJcbiAqIEBwYXJhbSBvYmogb2JqZWN0IHtrZXk6dmFsdWV9XHJcbiAqIEByZXR1cm5zIGJvb2xlYW5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5T2JqZWN0KG9iamVjdCk6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCB4IGluIG9iamVjdCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2h1ZmZsZUFycmF5KGFycmF5OiBhbnlbXSkge1xyXG4gICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uYXJyYXldO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSBhcnJheS5sZW5ndGggLSAxOyBpbmRleCA+IDA7IGluZGV4LS0pIHtcclxuICAgICAgICBjb25zdCBpbmRleE5ldyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChpbmRleCArIDEpKTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cclxuICAgICAgICBbbmV3QXJyYXlbaW5kZXhdLCBuZXdBcnJheVtpbmRleE5ld11dID0gW1xyXG4gICAgICAgICAgICBuZXdBcnJheVtpbmRleE5ld10sXHJcbiAgICAgICAgICAgIG5ld0FycmF5W2luZGV4XSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld0FycmF5O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVG9EYXRlU3RyaW5nKHRpbWVzdGFtcDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzRGF0ZSA9IG5ldyBEYXRlKHRpbWVzdGFtcCk7XHJcbiAgICByZXR1cm4ganNEYXRlLnRvTG9jYWxlU3RyaW5nKFwiZnItRlJcIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkdXJhdGlvblRvU3RyaW5nKFxyXG4gICAgZHVyYXRpb246IG51bWJlcixcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCAvIDI0KTtcclxuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcigoZHVyYXRpb24gLSBkYXlzICogMjQgKiAzNjAwKSAvIDM2MDApO1xyXG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uICUgMzYwMCkgLyA2MCk7XHJcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkdXJhdGlvbiAlIDYwKTtcclxuXHJcbiAgICBjb25zdCBkYXlzU3RyaW5nID0gdHJhbnNsYXRlLmluc3RhbnQoXCJkYXkocylcIik7XHJcbiAgICBjb25zdCBob3Vyc1N0cmluZyA9IHRyYW5zbGF0ZS5pbnN0YW50KFwiaG91cihzKVwiKTtcclxuICAgIGNvbnN0IG9uZUhvdXJTdHJpbmcgPSB0cmFuc2xhdGUuaW5zdGFudChcImhvdXJcIik7XHJcbiAgICBjb25zdCBtaW51dGVzU3RyaW5nID0gdHJhbnNsYXRlLmluc3RhbnQoXCJtaW51dGUocylcIik7XHJcbiAgICBjb25zdCBzZWNvbmRzU3RyaW5nID0gdHJhbnNsYXRlLmluc3RhbnQoXCJzZWNvbmQocylcIik7XHJcblxyXG4gICAgaWYgKGR1cmF0aW9uID4gMzYwMCAqIDI0ICogNykge1xyXG4gICAgICAgIHJldHVybiBgJHtkYXlzfSAke2RheXNTdHJpbmd9YDtcclxuICAgIH1cclxuICAgIGlmIChkdXJhdGlvbiA+IDM2MDAgKiAyNCkge1xyXG4gICAgICAgIHJldHVybiBgJHtkYXlzfSAke2RheXNTdHJpbmd9ICR7aG91cnN9ICR7aG91cnNTdHJpbmd9YDtcclxuICAgIH1cclxuICAgIGlmIChkdXJhdGlvbiA9PT0gMzYwMCkge1xyXG4gICAgICAgIHJldHVybiBgJHtob3Vyc30gJHtvbmVIb3VyU3RyaW5nfWA7XHJcbiAgICB9XHJcbiAgICBpZiAoZHVyYXRpb24gPiAzNjAwKSB7XHJcbiAgICAgICAgaWYgKG1pbnV0ZXMgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJzfSAke2hvdXJzU3RyaW5nfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBgJHtob3Vyc30gJHtob3Vyc1N0cmluZ30gJHttaW51dGVzfSAke21pbnV0ZXNTdHJpbmd9YDtcclxuICAgIH1cclxuICAgIGlmIChkdXJhdGlvbiA+PSA2MCkge1xyXG4gICAgICAgIGlmIChzZWNvbmRzID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHttaW51dGVzfSAke21pbnV0ZXNTdHJpbmd9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke21pbnV0ZXN9ICR7bWludXRlc1N0cmluZ30gJHtzZWNvbmRzfSAke3NlY29uZHNTdHJpbmd9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtzZWNvbmRzfSAke3NlY29uZHNTdHJpbmd9YDtcclxufVxyXG5cclxuXHJcbiJdfQ==
470
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9oZWxwZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFXLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RyxNQUFNLFVBQVUsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFFBQVE7SUFDNUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQWE7SUFDekMsUUFBUSxJQUFJLEVBQUU7UUFDVixLQUFLLE9BQU8sQ0FBQyxTQUFTO1lBQ2xCLE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLEtBQUssT0FBTyxDQUFDLE1BQU07WUFDZixPQUFPLFFBQVEsQ0FBQztRQUNwQixLQUFLLE9BQU8sQ0FBQyxJ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QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFckQsSUFBSSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxHQUFHLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztLQUNsQztJQUNELElBQUksUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUU7UUFDdEIsT0FBTyxHQUFHLElBQUksSUFBSSxVQUFVLElBQUksS0FBSyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQzFEO0lBQ0QsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sR0FBRyxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7S0FDdEM7SUFDRCxJQUFJLFFBQVEsR0FBRyxJQUFJLEVBQUU7UUFDakIsSUFBSSxPQUFPLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxHQUFHLEtBQUssSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sR0FBRyxLQUFLLElBQUksV0FBVyxJQUFJLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztLQUNoRTtJQUNELElBQUksUUFBUSxJQUFJLEVBQUUsRUFBRTtRQUNoQixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLEdBQUcsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxhQUFhLElBQUksT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0tBQ3BFO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvbW9kYWwtc3dpdGNoLXZpc2l0L21vZGFsLXN3aXRjaC12aXNpdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IGRvd25sb2FkRmlsZUFzT2JqZWN0IH0gZnJvbSBcIi4vc2VydmljZXMvczMuc2VydmljZVwiO1xuaW1wb3J0IHsgRXF1aXBtZW50RG9jdW1lbnQsIExldmVsU3RhdHVzLCBMb2NhbGUsIE1pc3Npb24sIFBvaVR5cGUsIFJvbGVTdGF0dXMgfSBmcm9tIFwiLi90eXBlcy5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXN0YW5jZUJldHdlZW5Ud29Qb2ludHMoc3RhcnRQb2ludCwgZW5kUG9pbnQpIHtcbiAgICBjb25zdCBkeCA9IGVuZFBvaW50LnggLSBzdGFydFBvaW50Lng7XG4gICAgY29uc3QgZHkgPSBlbmRQb2ludC55IC0gc3RhcnRQb2ludC55O1xuICAgIGNvbnN0IGR6ID0gZW5kUG9pbnQueiAtIHN0YXJ0UG9pbnQuejtcbiAgICBjb25zdCBkaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSArIGR6ICogZHopO1xuICAgIHJldHVybiBNYXRoLnJvdW5kKGRpc3RhbmNlICogMTAwKSAvIDEwMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvaVR5cGVUb1N0cmluZyh0eXBlOiBQb2lUeXBlKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDpcbiAgICAgICAgICAgIHJldHVybiBcImVxdWlwbWVudFwiO1xuICAgICAgICBjYXNlIFBvaVR5cGUuVElDS0VUOlxuICAgICAgICAgICAgcmV0dXJuIFwidGlja2V0XCI7XG4gICAgICAgIGNhc2UgUG9pVHlwZS5EQVRBOlxuICAgICAgICAgICAgcmV0dXJuIFwiZGF0YVwiO1xuICAgICAgICBjYXNlIFBvaVR5cGUuREVTSzpcbiAgICAgICAgICAgIHJldHVybiBcImRhdGFcIjtcbiAgICAgICAgY2FzZSBQb2lUeXBlLklORk9STUFUSU9OOlxuICAgICAgICAgICAgcmV0dXJuIFwiaW5mb3JtYXRpb25cIjtcbiAgICAgICAgY2FzZSBQb2lUeXBlLk1FQVNVUkU6XG4gICAgICAgICAgICByZXR1cm4gXCJtZWFzdXJlXCI7XG4gICAgICAgIGNhc2UgUG9pVHlwZS5QRU9QTEU6XG4gICAgICAgICAgICByZXR1cm4gXCJwZW9wbGVcIjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBcInRpY2tldFwiO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXQodGltZW91dDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHRpbWVvdXQgPSB0aW1lb3V0IHx8IDIwMDA7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHdhaXRVbnRpbCA9IChjb25kaXRpb246ICgpID0+IGJvb2xlYW4pID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBpbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbigpKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDMwKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtVG9BcnJheShlbnVtZXJhYmxlOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZW51bWVyYWJsZSlcbiAgICAgICAgLmZpbHRlcigodmFsdWUpID0+IGlzTmFOKE51bWJlcih2YWx1ZSkpID09PSB0cnVlKVxuICAgICAgICAubWFwKChrZXkpID0+IGVudW1lcmFibGVba2V5XSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZXZlbHNCZWxvdyhsZXZlbDogTGV2ZWxTdGF0dXMpOiBMZXZlbFN0YXR1c1tdIHtcbiAgICBjb25zdCBhbGwgPSBbXG4gICAgICAgIExldmVsU3RhdHVzLk1JTklNVU0sXG4gICAgICAgIExldmVsU3RhdHVzLkxPVyxcbiAgICAgICAgTGV2ZWxTdGF0dXMuTUVESVVNLFxuICAgICAgICBMZXZlbFN0YXR1cy5ISUdILFxuICAgICAgICBMZXZlbFN0YXR1cy5NQVhJTVVNLFxuICAgIF07XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgICBjYXNlIExldmVsU3RhdHVzLk1BWElNVU06XG4gICAgICAgICAgICByZXR1cm4gYWxsO1xuICAgICAgICBjYXNlIExldmVsU3RhdHVzLkhJR0g6XG4gICAgICAgICAgICBhbGwuc3BsaWNlKDQsIDEpO1xuICAgICAgICAgICAgcmV0dXJuIGFsbDtcbiAgICAgICAgY2FzZSBMZXZlbFN0YXR1cy5NRURJVU06XG4gICAgICAgICAgICBhbGwuc3BsaWNlKDMsIDIpO1xuICAgICAgICAgICAgcmV0dXJuIGFsbDtcbiAgICAgICAgY2FzZSBMZXZlbFN0YXR1cy5MT1c6XG4gICAgICAgICAgICByZXR1cm4gW0xldmVsU3RhdHVzLk1JTklNVU0sIExldmVsU3RhdHVzLkxPV107XG4gICAgICAgIGNhc2UgTGV2ZWxTdGF0dXMuTUlOSU1VTTpcbiAgICAgICAgICAgIHJldHVybiBbTGV2ZWxTdGF0dXMuTUlOSU1VTV07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gW0xldmVsU3RhdHVzLk1JTklNVU1dO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhpZ2hlc3RMZXZlbEZvck1pc3Npb25zKG1pc3Npb25zOiBNaXNzaW9uW10pOiBMZXZlbFN0YXR1cyB7XG4gICAgbGV0IGxhdGVzdFZpc2libGVMZXZlbHMgPSBbTGV2ZWxTdGF0dXMuTUlOSU1VTV07XG4gICAgZm9yIChjb25zdCBtIG9mIG1pc3Npb25zKSB7XG4gICAgICAgIGNvbnN0IHZpc2libGVMZXZlbHMgPSBnZXRMZXZlbHNCZWxvdyhtLmxldmVsKTtcbiAgICAgICAgaWYgKHZpc2libGVMZXZlbHMubGVuZ3RoID4gbGF0ZXN0VmlzaWJsZUxldmVscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxhdGVzdFZpc2libGVMZXZlbHMgPSB2aXNpYmxlTGV2ZWxzO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN3aXRjaCAobGF0ZXN0VmlzaWJsZUxldmVscy5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgcmV0dXJuIExldmVsU3RhdHVzLk1JTklNVU07XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIHJldHVybiBMZXZlbFN0YXR1cy5MT1c7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIHJldHVybiBMZXZlbFN0YXR1cy5NRURJVU07XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIHJldHVybiBMZXZlbFN0YXR1cy5ISUdIO1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICByZXR1cm4gTGV2ZWxTdGF0dXMuTUFYSU1VTTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBMZXZlbFN0YXR1cy5NSU5JTVVNO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhpZ2hlc3RSb2xlRm9yTWlzc2lvbnMobWlzc2lvbnM6IE1pc3Npb25bXSk6IFJvbGVTdGF0dXMge1xuICAgIGxldCBoaWdoZXN0Um9sZSA9IFJvbGVTdGF0dXMuVklTSVRPUjtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbWlzc2lvbnMpIHtcbiAgICAgICAgaWYgKG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5BRE1JTikge1xuICAgICAgICAgICAgcmV0dXJuIFJvbGVTdGF0dXMuQURNSU47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhpZ2hlc3RSb2xlID09PSBSb2xlU3RhdHVzLk9XTkVSKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLk9XTkVSKSB7XG4gICAgICAgICAgICBoaWdoZXN0Um9sZSA9IFJvbGVTdGF0dXMuT1dORVI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5NQU5BR0VSKSB7XG4gICAgICAgICAgICBoaWdoZXN0Um9sZSA9IFJvbGVTdGF0dXMuTUFOQUdFUjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtLnJvbGUgPT09IFJvbGVTdGF0dXMuU0VSVklDRSAmJlxuICAgICAgICAgICAgaGlnaGVzdFJvbGUgIT09IFJvbGVTdGF0dXMuTUFOQUdFUlxuICAgICAgICApIHtcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5TRVJWSUNFO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG0ucm9sZSA9PT0gUm9sZVN0YXR1cy5PQ0NVUEFOVCAmJlxuICAgICAgICAgICAgaGlnaGVzdFJvbGUgPT09IFJvbGVTdGF0dXMuVklTSVRPUlxuICAgICAgICApIHtcbiAgICAgICAgICAgIGhpZ2hlc3RSb2xlID0gUm9sZVN0YXR1cy5PQ0NVUEFOVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTSkge1xuICAgICAgICAgICAgaGlnaGVzdFJvbGUgPSBSb2xlU3RhdHVzLkdVSURFX01VU0VVTTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobS5yb2xlID09PSBSb2xlU3RhdHVzLlZJU0lUT1JfTVVTRVVNKSB7XG4gICAgICAgICAgICBoaWdoZXN0Um9sZSA9IFJvbGVTdGF0dXMuVklTSVRPUl9NVVNFVU07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhpZ2hlc3RSb2xlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9sZXNCZWxvd0Zvck1hbmFnZXIocm9sZTogUm9sZVN0YXR1cyk6IFJvbGVTdGF0dXNbXSB7XG4gICAgY29uc3QgYWxsID0gW1xuICAgICAgICBSb2xlU3RhdHVzLlZJU0lUT1IsXG4gICAgICAgIFJvbGVTdGF0dXMuT0NDVVBBTlQsXG4gICAgICAgIFJvbGVTdGF0dXMuU0VSVklDRSxcbiAgICAgICAgUm9sZVN0YXR1cy5NQU5BR0VSLFxuICAgICAgICBSb2xlU3RhdHVzLk9XTkVSLFxuICAgICAgICBSb2xlU3RhdHVzLkFETUlOLFxuICAgIF07XG4gICAgY29uc3QgbXVzZXVtID0gW1JvbGVTdGF0dXMuVklTSVRPUl9NVVNFVU0sIFJvbGVTdGF0dXMuR1VJREVfTVVTRVVNXTtcbiAgICBzd2l0Y2ggKHJvbGUpIHtcbiAgICAgICAgY2FzZSBSb2xlU3RhdHVzLkFETUlOOlxuICAgICAgICAgICAgcmV0dXJuIFsuLi5hbGwsIC4uLm11c2V1bV07XG4gICAgICAgIGNhc2UgUm9sZVN0YXR1cy5PV05FUjpcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoNSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gYWxsO1xuICAgICAgICBjYXNlIFJvbGVTdGF0dXMuTUFOQUdFUjpcbiAgICAgICAgICAgIGFsbC5zcGxpY2UoNCwgMik7XG4gICAgICAgICAgICByZXR1cm4gYWxsO1xuICAgICAgICBjYXNlIFJvbGVTdGF0dXMuR1VJREVfTVVTRVVNOlxuICAgICAgICAgICAgcmV0dXJuIG11c2V1bTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBhbGwuc3BsaWNlKDQsIDIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclVuaXF1ZUFycmF5QnlJRChhcnJheU9mT2JqZWN0czogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIGFycmF5T2ZPYmplY3RzLmZpbHRlcihcbiAgICAgICAgKHYsIGluZGV4LCBhKSA9PiBhLmZpbmRJbmRleCgodCkgPT4gdC5pZCA9PT0gdi5pZCkgPT09IGluZGV4LFxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVOdWxsS2V5c0Zyb21PYmplY3Qob2JqZWN0OiBPYmplY3QpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmplY3QpKSB7XG4gICAgICAgIGlmIChvYmplY3Rba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZGVsZXRlIG9iamVjdFtrZXldO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFRlc3QgaWYgYSBkYXRlIGhhcyBleHBpcmVkXG4gKiBAcGFyYW0gZGF0ZVxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZGF0ZSBoYXMgZXhwaXJlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRlSGFzRXhwaXJlZChcbiAgICBkYXRlOiBzdHJpbmcgfCBEYXRlIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKSA8PSBuZXcgRGF0ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdMb2NhbGVUb0VudW0obG9jYWxlOiBzdHJpbmcpOiBMb2NhbGUge1xuICAgIHN3aXRjaCAobG9jYWxlKSB7XG4gICAgICAgIGNhc2UgXCJlblwiOlxuICAgICAgICAgICAgcmV0dXJuIExvY2FsZS5FTjtcbiAgICAgICAgY2FzZSBcImZyXCI6XG4gICAgICAgICAgICByZXR1cm4gTG9jYWxlLkZSO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIExvY2FsZS5FTjtcbiAgICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGFGb3JJbWFnZSh1cmwpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuXG4gICAgICAgIGltZy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCAoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGltZyk7XG4gICAgICAgIH0pO1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsICgpID0+IHJlamVjdCgpKTtcbiAgICAgICAgaW1nLnNyYyA9IHVybDtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRBbHBoYWJldGljYWxseU9uTmFtZShhcnJheTogeyBuYW1lOiBzdHJpbmc7IH1bXSk6IGFueVtdIHtcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZEVtYWlsKGVtYWlsOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZSA9XG4gICAgICAgIC9eKChbXlxcc1wiKCksLjo7PD5AW1xcXFxcXF1dKyhcXC5bXlxcc1wiKCksLjo7PD5AW1xcXFxcXF1dKykqKXwoXCIuK1wiKSlAKChcXFsoPzpcXGR7MSwzfVxcLil7M31cXGR7MSwzfV0pfCgoW1xcZEEtWmEtelxcLV0rXFwuKStbQS1aYS16XXsyLH0pKSQvO1xuICAgIHJldHVybiByZS50ZXN0KGVtYWlsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkQmxvYihibG9iLCBmaWxlbmFtZSkge1xuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgIGEuaHJlZiA9IHVybDtcbiAgICBhLmRvd25sb2FkID0gZmlsZW5hbWUgfHwgXCJkb3dubG9hZFwiO1xuICAgIGNvbnN0IGNsaWNrSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgICAgICAgICBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBjbGlja0hhbmRsZXIpO1xuICAgICAgICB9LCAxNTApO1xuICAgIH07XG4gICAgYS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgY2xpY2tIYW5kbGVyLCBmYWxzZSk7XG4gICAgYS5jbGljaygpO1xuICAgIHJldHVybiBhO1xufVxuXG4vKlxuICAgIE9wZW4gbW9kYWwgaWYgb25lIGhhcyB0byBzd2l0Y2ggdmlydHVhbCB2aXNpdFxuKi9cbmV4cG9ydCBmdW5jdGlvbiBvcGVuTW9kYWxGb3JWaXNpdFN3aXRjaChcbiAgICBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgIG1vZGVsM0Q6IHN0cmluZyxcbiAgICBzcGFjZUlEOiBzdHJpbmcsXG4gICAgZGF0YVRvTW92ZTogeyBzd2VlcFRvTW92ZTogc3RyaW5nLCByb3RhdGlvbjogYW55OyB9IHwgbnVsbCA9IG51bGxcbikge1xuICAgIGNvbnN0IG1vZGFsUmVmZXJlbmNlID0gbW9kYWxTZXJ2aWNlLm9wZW4oTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCk7XG4gICAgbW9kYWxSZWZlcmVuY2UuY29tcG9uZW50SW5zdGFuY2UuY29udGVudCA9XG4gICAgICAgIFwiVGhpcyBvYmplY3QgYmVsb25ncyB0byBhbm90aGVyIDNEIHZpc2l0LiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gc3dpdGNoIHRoZSB2aXNpdD9cIjtcbiAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5tb2RlbDNEID0gbW9kZWwzRDtcbiAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5zcGFjZUlEID0gc3BhY2VJRDtcbiAgICBpZiAoZGF0YVRvTW92ZSkge1xuICAgICAgICBtb2RhbFJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZS5kYXRhVG9Nb3ZlID0gZGF0YVRvTW92ZTtcbiAgICB9XG5cbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBzdHJpbmcgb2YgYSBnaXZlbiBkYXRlIHRpbWUgaW4gbG9jYWwgZm9ybWF0LlxuICogVGhlIGZvcm1hdCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjdXJyZW50IGxhbmd1YWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRpbWVUb0xvY2FsU3RyaW5nKFxuICAgIGRhdGU6IG51bWJlciB8IHN0cmluZyB8IERhdGUsXG4gICAgdHJhbnNsYXRlPzogVHJhbnNsYXRlU2VydmljZSxcbiAgICBtb2RlPyxcbik6IHN0cmluZyB7XG4gICAgbGV0IGxhbmcgPSBcImVuLUVOXCI7XG4gICAgaWYgKHRyYW5zbGF0ZSkge1xuICAgICAgICAvKiogR2V0IGN1cnJlbnQgbGFuZ3VhZ2UgKi9cbiAgICAgICAgbGFuZyA9IHRyYW5zbGF0ZS5jdXJyZW50TGFuZ1xuICAgICAgICAgICAgPyB0cmFuc2xhdGUuY3VycmVudExhbmdcbiAgICAgICAgICAgIDogdHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICAgICAgICAvKiogVHJhbnNmb3JtZSAnX2ZyJyB0byAnZnInICovXG4gICAgICAgIGlmIChsYW5nKSB7XG4gICAgICAgICAgICBsYW5nID0gbGFuZy5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IHtcbiAgICAgICAgbW9udGg/O1xuICAgICAgICB5ZWFyPztcbiAgICAgICAgZGF5PztcbiAgICAgICAgaG91cj87XG4gICAgICAgIG1pbnV0ZT87XG4gICAgICAgIHNlY29uZD87XG4gICAgICAgIGRhdGVTdHlsZT87XG4gICAgICAgIHRpbWVTdHlsZT87XG4gICAgICAgIHdlZWtkYXk/O1xuICAgICAgICB0aW1lWm9uZT87XG4gICAgICAgIHRpbWVab25lTmFtZT87XG4gICAgfTtcbiAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgY2FzZSBcImRheV9udW1lcmljXCI6XG4gICAgICAgICAgICBvcHRpb25zID0geyBkYXk6IFwibnVtZXJpY1wiIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImRheVwiOlxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgd2Vla2RheTogXCJsb25nXCIgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZGF0ZVwiOlxuICAgICAgICAgICAgb3B0aW9ucyA9IHsgZGF0ZVN0eWxlOiBcImxvbmdcIiB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJzaG9ydF9kYXRlX3RpbWVcIjpcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgeWVhcjogXCIyLWRpZ2l0XCIsXG4gICAgICAgICAgICAgICAgbW9udGg6IFwiMi1kaWdpdFwiLFxuICAgICAgICAgICAgICAgIGRheTogXCIyLWRpZ2l0XCIsXG4gICAgICAgICAgICAgICAgaG91cjogXCIyLWRpZ2l0XCIsXG4gICAgICAgICAgICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInRpbWVcIjpcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhvdXI6IFwibnVtZXJpY1wiLCBtaW51dGU6IFwibnVtZXJpY1wiIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImRheV90aW1lX3pvbmVcIjpcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgd2Vla2RheTogXCJsb25nXCIsXG4gICAgICAgICAgICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICAgICAgICAgICAgbW9udGg6IFwibG9uZ1wiLFxuICAgICAgICAgICAgICAgIGRheTogXCJudW1lcmljXCIsXG4gICAgICAgICAgICAgICAgaG91cjogXCJudW1lcmljXCIsXG4gICAgICAgICAgICAgICAgbWludXRlOiBcIm51bWVyaWNcIixcbiAgICAgICAgICAgICAgICB0aW1lWm9uZU5hbWU6IFwic2hvcnRPZmZzZXRcIixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgZGF0ZVN0eWxlOiBcImxvbmdcIixcbiAgICAgICAgICAgICAgICB0aW1lU3R5bGU6IFwic2hvcnRcIixcbiAgICAgICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKS50b0xvY2FsZVN0cmluZyhsYW5nLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gc3RyaW5nIGFycmF5c1xuICogQHBhcmFtIGFycmF5MVxuICogQHBhcmFtIGFycmF5MlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFycmF5c0NvbnRhaW5TYW1lRWxlbWVudHMoXG4gICAgYXJyYXkxOiBzdHJpbmdbXSxcbiAgICBhcnJheTI6IHN0cmluZ1tdLFxuKTogYm9vbGVhbiB7XG4gICAgYXJyYXkxLnNvcnQoKTtcbiAgICBhcnJheTIuc29ydCgpO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcnJheTEpID09PSBKU09OLnN0cmluZ2lmeShhcnJheTIpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXNpdFVybChjdXJyZW50VXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhdGggPSBjdXJyZW50VXJsLnNwbGl0KFwiL1wiKTtcbiAgICBwYXRoLnNwbGljZSgzLCBwYXRoLmxlbmd0aCAtIDIpO1xuICAgIHJldHVybiBwYXRoLmpvaW4oXCIvXCIpO1xufVxuXG4vKipcbiAqIEV4dHJhY3Qgc3BhY2VJRCBmcm9tIHVybCB3aGVuIGluIHZpc2l0IDNEXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTcGFjZUlERnJvbVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmlzaXRVcmwgPSBnZXRWaXNpdFVybCh1cmwpO1xuICAgIHJldHVybiB2aXNpdFVybC5zcGxpdChcIi9cIilbMl07XG59XG5cbi8qKlxuICogRG93bmxvYWQgcmVsYXRlZFxuICovXG5pbXBvcnQgRmlsZVNhdmVyIGZyb20gXCJmaWxlLXNhdmVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEZpbGUoZmlsZVVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XG4gICAgRmlsZVNhdmVyLnNhdmVBcyhmaWxlVXJsICsgZmlsZU5hbWUsIGZpbGVOYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wZW5Eb2N1bWVudChmaWxlVXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpIHtcbiAgICB3aW5kb3cub3BlbihgJHtmaWxlVXJsICsgZmlsZU5hbWV9I2RvYz0ke2lkfWAsIFwiX2JsYW5rXCIsIFwiXCIpO1xufVxuXG5leHBvcnQgY29uc3QgZG93bmxvYWRFcXVpcG1lbnREb2N1bWVudCA9IGFzeW5jIChcbiAgICBkb2N1bWVudF86IEVxdWlwbWVudERvY3VtZW50LFxuKTogUHJvbWlzZTxPYmplY3QgfCB2b2lkPiA9PiB7XG4gICAgY29uc3Qgc2lnbmVkRmlsZSA9IGF3YWl0IGRvd25sb2FkRmlsZUFzT2JqZWN0KGRvY3VtZW50Xy51cmwpO1xuICAgIGlmIChzaWduZWRGaWxlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZG93bmxvYWRCbG9iKHNpZ25lZEZpbGUuQm9keSwgZG9jdW1lbnRfLmZpbGVuYW1lKTtcbiAgICB9XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2hlY2tFbGVtZW50QnlJZChzZWxlY3Rvcikge1xuICAgIGxldCBxdWVyeVNlbGVjdG9yID0gbnVsbDtcbiAgICB3aGlsZSAocXVlcnlTZWxlY3RvciA9PT0gbnVsbCkge1xuICAgICAgICBhd2FpdCByYWZBc3luYygpO1xuICAgICAgICBxdWVyeVNlbGVjdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsZWN0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTZWxlY3Rvcjtcbn1cblxuZnVuY3Rpb24gcmFmQXN5bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShyZXNvbHZlKTsgLy8gZmFzdGVyIHRoYW4gc2V0IHRpbWUgb3V0XG4gICAgfSk7XG59XG5cbi8qIEBwYXJhbSB7QXJyYXl9IG51bWJlcnMgQW4gYXJyYXkgb2YgbnVtYmVycy5cbiAqIEByZXR1cm4ge051bWJlcn0gVGhlIGNhbGN1bGF0ZWQgYXZlcmFnZSAob3IgbWVhbikgdmFsdWUgZnJvbSB0aGUgc3BlY2lmaWVkXG4gKiAgICAgbnVtYmVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lYW4obnVtYmVyczogbnVtYmVyW10pIHtcbiAgICBsZXQgdG90YWwgPSAwO1xuICAgIGZvciAoY29uc3QgbnVtYmVyIG9mIG51bWJlcnMpIHtcbiAgICAgICAgdG90YWwgKz0gbnVtYmVyO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWwgLyBudW1iZXJzLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUaW1lc3RhbXBUb0xvY2FsWm9uZSh0aW1lc3RhbXA6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcbiAgICBjb25zdCBsb2NhbE9mZnNldCA9IC0xICogc2VsZWN0ZWREYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMDtcbiAgICBjb25zdCBzdGFtcCA9IHRpbWVzdGFtcCArIGxvY2FsT2Zmc2V0O1xuICAgIHJldHVybiBzdGFtcDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gc3RyaW5nIGZvciBwZXJpb2Qgb2YgdGltZS4gUGFyYW1ldGVycyBhcmUgRGF0ZVRpbWUgb2JqZWN0cyBvZiBsdXhvbiBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlRGF0ZVBlcmlvZChcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBhbnksXG4gICAgZGF0ZVN0YXJ0UGVyaW9kOiBhbnksXG4gICAgZGF0ZUVuZFBlcmlvZDogYW55LFxuKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGUgPSBnZXRMb2NhbGVMb25nKHRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHJldHVybiBgJHtkYXRlU3RhcnRQZXJpb2QudG9Mb2NhbGVTdHJpbmcoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG1vbnRoOiBcImxvbmdcIixcbiAgICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICB9KX0gLSAke2RhdGVFbmRQZXJpb2QudG9Mb2NhbGVTdHJpbmcoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG1vbnRoOiBcImxvbmdcIixcbiAgICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICB9KX0gYDtcbn1cblxuXG4vKipcbiogUmV0dXJuIGxvY2FsIGluIHRoZSBjYW5vbmljYWwgZm9ybTogXCJlbi1HQlwiLCBcImZyLUZSXCJcbiovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxlTG9uZyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiBzdHJpbmcge1xuICAgIGxldCBsYW5nID0gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXG4gICAgICAgID8gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXG4gICAgICAgIDogdHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuXG4gICAgLyoqIFRyYW5zZm9ybSAnX2ZyJyB0byAnZnInICovXG4gICAgbGFuZyA9IGxhbmcuc2xpY2UoMSk7XG4gICAgaWYgKGxhbmcgPT09IFwiZW5cIikge1xuICAgICAgICByZXR1cm4gXCJlbi1HQlwiO1xuICAgIH1cbiAgICByZXR1cm4gYCR7bGFuZ30tJHtsYW5nLnRvVXBwZXJDYXNlKCl9YDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gbG9jYWwgaW4gdGhlIHNob3J0IGZvcm06IFwiZW5cIiwgXCJmclwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhbGVTaG9ydCh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiBzdHJpbmcge1xuICAgIGxldCBsYW5nID0gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXG4gICAgICAgID8gdHJhbnNsYXRlLmN1cnJlbnRMYW5nXG4gICAgICAgIDogdHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuXG4gICAgLyoqIFRyYW5zZm9ybSAnX2ZyJyB0byAnZnInICovXG4gICAgbGFuZyA9IGxhbmcuc2xpY2UoMSk7XG4gICAgcmV0dXJuIGxhbmc7XG59XG5cbi8qKlxuICogRm9ybWF0IHN0cmluZyB0byBsb3dlcmNhc2UsIG5vIHNwYWNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9Mb3dlcmNhc2VOb1NwYWNlcyhpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB3b3JkcyA9IGlucHV0LnRvTG93ZXJDYXNlKCkuc3BsaXQoL1xccysvKTtcbiAgICByZXR1cm4gd29yZHMuam9pbihcIlwiKTtcbn1cblxuLyoqXG4gKiBUZXN0IGlmIHRoZSBvYmplY3QgPT09IHt9XG4gKiBAcGFyYW0gb2JqIG9iamVjdCB7a2V5OnZhbHVlfVxuICogQHJldHVybnMgYm9vbGVhblxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eU9iamVjdChvYmplY3QpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IHggaW4gb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaHVmZmxlQXJyYXkoYXJyYXk6IGFueVtdKSB7XG4gICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uYXJyYXldO1xuICAgIGZvciAobGV0IGluZGV4ID0gYXJyYXkubGVuZ3RoIC0gMTsgaW5kZXggPiAwOyBpbmRleC0tKSB7XG4gICAgICAgIGNvbnN0IGluZGV4TmV3ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGluZGV4ICsgMSkpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgW25ld0FycmF5W2luZGV4XSwgbmV3QXJyYXlbaW5kZXhOZXddXSA9IFtcbiAgICAgICAgICAgIG5ld0FycmF5W2luZGV4TmV3XSxcbiAgICAgICAgICAgIG5ld0FycmF5W2luZGV4XSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVG9EYXRlU3RyaW5nKHRpbWVzdGFtcDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc0RhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgIHJldHVybiBqc0RhdGUudG9Mb2NhbGVTdHJpbmcoXCJmci1GUlwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGR1cmF0aW9uVG9TdHJpbmcoXG4gICAgZHVyYXRpb246IG51bWJlcixcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCAvIDI0KTtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uIC0gZGF5cyAqIDI0ICogMzYwMCkgLyAzNjAwKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigoZHVyYXRpb24gJSAzNjAwKSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkdXJhdGlvbiAlIDYwKTtcblxuICAgIGNvbnN0IGRheXNTdHJpbmcgPSB0cmFuc2xhdGUuaW5zdGFudChcImRheShzKVwiKTtcbiAgICBjb25zdCBob3Vyc1N0cmluZyA9IHRyYW5zbGF0ZS5pbnN0YW50KFwiaG91cihzKVwiKTtcbiAgICBjb25zdCBvbmVIb3VyU3RyaW5nID0gdHJhbnNsYXRlLmluc3RhbnQoXCJob3VyXCIpO1xuICAgIGNvbnN0IG1pbnV0ZXNTdHJpbmcgPSB0cmFuc2xhdGUuaW5zdGFudChcIm1pbnV0ZShzKVwiKTtcbiAgICBjb25zdCBzZWNvbmRzU3RyaW5nID0gdHJhbnNsYXRlLmluc3RhbnQoXCJzZWNvbmQocylcIik7XG5cbiAgICBpZiAoZHVyYXRpb24gPiAzNjAwICogMjQgKiA3KSB7XG4gICAgICAgIHJldHVybiBgJHtkYXlzfSAke2RheXNTdHJpbmd9YDtcbiAgICB9XG4gICAgaWYgKGR1cmF0aW9uID4gMzYwMCAqIDI0KSB7XG4gICAgICAgIHJldHVybiBgJHtkYXlzfSAke2RheXNTdHJpbmd9ICR7aG91cnN9ICR7aG91cnNTdHJpbmd9YDtcbiAgICB9XG4gICAgaWYgKGR1cmF0aW9uID09PSAzNjAwKSB7XG4gICAgICAgIHJldHVybiBgJHtob3Vyc30gJHtvbmVIb3VyU3RyaW5nfWA7XG4gICAgfVxuICAgIGlmIChkdXJhdGlvbiA+IDM2MDApIHtcbiAgICAgICAgaWYgKG1pbnV0ZXMgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtob3Vyc30gJHtob3Vyc1N0cmluZ31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtob3Vyc30gJHtob3Vyc1N0cmluZ30gJHttaW51dGVzfSAke21pbnV0ZXNTdHJpbmd9YDtcbiAgICB9XG4gICAgaWYgKGR1cmF0aW9uID49IDYwKSB7XG4gICAgICAgIGlmIChzZWNvbmRzID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bWludXRlc30gJHttaW51dGVzU3RyaW5nfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21pbnV0ZXN9ICR7bWludXRlc1N0cmluZ30gJHtzZWNvbmRzfSAke3NlY29uZHNTdHJpbmd9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3NlY29uZHN9ICR7c2Vjb25kc1N0cmluZ31gO1xufVxuXG5cbiJdfQ==
@@ -48,4 +48,4 @@ export const canvasImageType = 'mp.canvasImage';
48
48
  export function makeCanvasImage() {
49
49
  return new CanvasImage();
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FudmFzSW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9uZXN0LXRoZXJtb3N0YXQvQ2FudmFzSW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWVwRixNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFBL0M7O1FBQ1UsVUFBSyxHQUE0QixJQUFJLENBQUM7UUFFckMsV0FBTSxHQUFXO1lBQ3hCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN6QixZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1NBQzNCLENBQUE7UUFFUSxZQUFPLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUk7U0FDSCxDQUFDO0lBeUNmLENBQUM7SUF2Q1UsTUFBTTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGVBQWU7UUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBbUMsRUFBRSxJQUFVO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUN4QixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFTLEtBQVk7Z0JBQ3ZDLDhCQUE4QjtZQUNoQyxDQUFDLENBQUM7U0FDSDtRQUVELDhCQUE4QjtJQUNoQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7QUFDaEQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudE91dHB1dCwgU2NlbmVDb21wb25lbnR9IGZyb20gJy4vLi4vc2NlbmUtY29tcG9uZW50L1NjZW5lQ29tcG9uZW50JztcclxuaW1wb3J0IHtJUGFpbnRlcjJkfSBmcm9tIFwiLi9DYW52YXNSZW5kZXJlclwiO1xyXG5pbXBvcnQge1NpemV9IGZyb20gXCIuL1BsYW5lUmVuZGVyZXJcIjtcclxudHlwZSBJbnB1dHMgPSB7XHJcbiAgc3JjOiBzdHJpbmcgfCBudWxsO1xyXG4gIHNyY1Bvc2l0aW9uOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH07XHJcbiAgc3JjU2l6ZTogU2l6ZTtcclxuICBkZXN0UG9zaXRpb246IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfTtcclxuICBkZXN0U2l6ZTogU2l6ZTtcclxufTtcclxuXHJcbnR5cGUgT3V0cHV0cyA9IHtcclxuICBwYWludGVyOiBJUGFpbnRlcjJkIHwgbnVsbDtcclxufSAmIENvbXBvbmVudE91dHB1dDtcclxuXHJcbmV4cG9ydCBjbGFzcyBDYW52YXNJbWFnZSBleHRlbmRzIFNjZW5lQ29tcG9uZW50IGltcGxlbWVudHMgSVBhaW50ZXIyZCB7XHJcbiAgcHJpdmF0ZSBpbWFnZTogSFRNTEltYWdlRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBvdmVycmlkZSBpbnB1dHM6IElucHV0cyA9IHtcclxuICAgIHNyYzogbnVsbCxcclxuICAgIHNyY1Bvc2l0aW9uOiB7IHg6IDAsIHk6IDAgfSxcclxuICAgIHNyY1NpemU6IHsgdzogNjQsIGg6IDY0IH0sXHJcbiAgICBkZXN0UG9zaXRpb246IHsgeDogMCwgeTogMCB9LFxyXG4gICAgZGVzdFNpemU6IHsgdzogNjQsIGg6IDY0IH0sXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvdXRwdXRzID0ge1xyXG4gICAgcGFpbnRlcjogbnVsbCxcclxuICB9IGFzIE91dHB1dHM7XHJcblxyXG4gIG92ZXJyaWRlIG9uSW5pdCgpIHtcclxuICAgIHRoaXMub3V0cHV0cy5wYWludGVyID0gdGhpcztcclxuICAgIHRoaXMubWF5YmVMb2FkSW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9uSW5wdXRzVXBkYXRlZCgpIHtcclxuICAgIHRoaXMubWF5YmVMb2FkSW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIHBhaW50KGNvbnRleHQyZDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCBzaXplOiBTaXplKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW1hZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRleHQyZC5jbGVhclJlY3QoMCwgMCwgdGhpcy5pbnB1dHMuZGVzdFNpemUudywgdGhpcy5pbnB1dHMuZGVzdFNpemUuaCk7XHJcbiAgICBpZiAodGhpcy5pbWFnZS53aWR0aCA+IDApIHtcclxuICAgICAgY29udGV4dDJkLmRyYXdJbWFnZSh0aGlzLmltYWdlLFxyXG4gICAgICAgIHRoaXMuaW5wdXRzLnNyY1Bvc2l0aW9uLngsIHRoaXMuaW5wdXRzLnNyY1Bvc2l0aW9uLnksXHJcbiAgICAgICAgdGhpcy5pbnB1dHMuc3JjU2l6ZS53LCB0aGlzLmlucHV0cy5zcmNTaXplLmgsXHJcbiAgICAgICAgdGhpcy5pbnB1dHMuZGVzdFBvc2l0aW9uLngsIHRoaXMuaW5wdXRzLmRlc3RQb3NpdGlvbi55LFxyXG4gICAgICAgIHRoaXMuaW5wdXRzLmRlc3RTaXplLncsIHRoaXMuaW5wdXRzLmRlc3RTaXplLmgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXliZUxvYWRJbWFnZSgpIHtcclxuICAgIHRoaXMuaW1hZ2UgPSBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlucHV0cy5zcmMgIT09IG51bGwgJiYgdGhpcy5pbnB1dHMuc3JjICE9PSAnJykge1xyXG4gICAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgICAgdGhpcy5pbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICB0aGlzLmltYWdlLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XHJcbiAgICAgIHRoaXMuaW1hZ2Uuc3JjID0gdGhpcy5pbnB1dHMuc3JjO1xyXG4gICAgICB0aGlzLmltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIC8vIHRoYXQubm90aWZ5KCdwYWludC5yZWFkeScpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMubm90aWZ5KCdwYWludC5yZWFkeScpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNhbnZhc0ltYWdlVHlwZSA9ICdtcC5jYW52YXNJbWFnZSc7XHJcbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ2FudmFzSW1hZ2UoKSB7XHJcbiAgcmV0dXJuIG5ldyBDYW52YXNJbWFnZSgpO1xyXG59XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FudmFzSW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9uZXN0LXRoZXJtb3N0YXQvQ2FudmFzSW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWVwRixNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFBL0M7O1FBQ1UsVUFBSyxHQUE0QixJQUFJLENBQUM7UUFFckMsV0FBTSxHQUFXO1lBQ3hCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN6QixZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1NBQzNCLENBQUE7UUFFUSxZQUFPLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUk7U0FDSCxDQUFDO0lBeUNmLENBQUM7SUF2Q1UsTUFBTTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGVBQWU7UUFDdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBbUMsRUFBRSxJQUFVO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUN4QixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFTLEtBQVk7Z0JBQ3ZDLDhCQUE4QjtZQUNoQyxDQUFDLENBQUM7U0FDSDtRQUVELDhCQUE4QjtJQUNoQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7QUFDaEQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudE91dHB1dCwgU2NlbmVDb21wb25lbnR9IGZyb20gJy4vLi4vc2NlbmUtY29tcG9uZW50L1NjZW5lQ29tcG9uZW50JztcbmltcG9ydCB7SVBhaW50ZXIyZH0gZnJvbSBcIi4vQ2FudmFzUmVuZGVyZXJcIjtcbmltcG9ydCB7U2l6ZX0gZnJvbSBcIi4vUGxhbmVSZW5kZXJlclwiO1xudHlwZSBJbnB1dHMgPSB7XG4gIHNyYzogc3RyaW5nIHwgbnVsbDtcbiAgc3JjUG9zaXRpb246IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfTtcbiAgc3JjU2l6ZTogU2l6ZTtcbiAgZGVzdFBvc2l0aW9uOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH07XG4gIGRlc3RTaXplOiBTaXplO1xufTtcblxudHlwZSBPdXRwdXRzID0ge1xuICBwYWludGVyOiBJUGFpbnRlcjJkIHwgbnVsbDtcbn0gJiBDb21wb25lbnRPdXRwdXQ7XG5cbmV4cG9ydCBjbGFzcyBDYW52YXNJbWFnZSBleHRlbmRzIFNjZW5lQ29tcG9uZW50IGltcGxlbWVudHMgSVBhaW50ZXIyZCB7XG4gIHByaXZhdGUgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBvdmVycmlkZSBpbnB1dHM6IElucHV0cyA9IHtcbiAgICBzcmM6IG51bGwsXG4gICAgc3JjUG9zaXRpb246IHsgeDogMCwgeTogMCB9LFxuICAgIHNyY1NpemU6IHsgdzogNjQsIGg6IDY0IH0sXG4gICAgZGVzdFBvc2l0aW9uOiB7IHg6IDAsIHk6IDAgfSxcbiAgICBkZXN0U2l6ZTogeyB3OiA2NCwgaDogNjQgfSxcbiAgfVxuXG4gIG92ZXJyaWRlIG91dHB1dHMgPSB7XG4gICAgcGFpbnRlcjogbnVsbCxcbiAgfSBhcyBPdXRwdXRzO1xuXG4gIG92ZXJyaWRlIG9uSW5pdCgpIHtcbiAgICB0aGlzLm91dHB1dHMucGFpbnRlciA9IHRoaXM7XG4gICAgdGhpcy5tYXliZUxvYWRJbWFnZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25JbnB1dHNVcGRhdGVkKCkge1xuICAgIHRoaXMubWF5YmVMb2FkSW1hZ2UoKTtcbiAgfVxuXG4gIHBhaW50KGNvbnRleHQyZDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCBzaXplOiBTaXplKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmltYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGV4dDJkLmNsZWFyUmVjdCgwLCAwLCB0aGlzLmlucHV0cy5kZXN0U2l6ZS53LCB0aGlzLmlucHV0cy5kZXN0U2l6ZS5oKTtcbiAgICBpZiAodGhpcy5pbWFnZS53aWR0aCA+IDApIHtcbiAgICAgIGNvbnRleHQyZC5kcmF3SW1hZ2UodGhpcy5pbWFnZSxcbiAgICAgICAgdGhpcy5pbnB1dHMuc3JjUG9zaXRpb24ueCwgdGhpcy5pbnB1dHMuc3JjUG9zaXRpb24ueSxcbiAgICAgICAgdGhpcy5pbnB1dHMuc3JjU2l6ZS53LCB0aGlzLmlucHV0cy5zcmNTaXplLmgsXG4gICAgICAgIHRoaXMuaW5wdXRzLmRlc3RQb3NpdGlvbi54LCB0aGlzLmlucHV0cy5kZXN0UG9zaXRpb24ueSxcbiAgICAgICAgdGhpcy5pbnB1dHMuZGVzdFNpemUudywgdGhpcy5pbnB1dHMuZGVzdFNpemUuaCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXliZUxvYWRJbWFnZSgpIHtcbiAgICB0aGlzLmltYWdlID0gbnVsbDtcblxuICAgIGlmICh0aGlzLmlucHV0cy5zcmMgIT09IG51bGwgJiYgdGhpcy5pbnB1dHMuc3JjICE9PSAnJykge1xuICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICB0aGlzLmltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICB0aGlzLmltYWdlLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG4gICAgICB0aGlzLmltYWdlLnNyYyA9IHRoaXMuaW5wdXRzLnNyYztcbiAgICAgIHRoaXMuaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIHRoYXQubm90aWZ5KCdwYWludC5yZWFkeScpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyB0aGlzLm5vdGlmeSgncGFpbnQucmVhZHknKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2FudmFzSW1hZ2VUeXBlID0gJ21wLmNhbnZhc0ltYWdlJztcbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ2FudmFzSW1hZ2UoKSB7XG4gIHJldHVybiBuZXcgQ2FudmFzSW1hZ2UoKTtcbn1cbiJdfQ==
@@ -82,4 +82,4 @@ export const planeRendererType = 'mp.planeRenderer';
82
82
  export function makePlaneRenderer() {
83
83
  return new PlaneRenderer();
84
84
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhbmVSZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVycG9ydC1leHRlbnNpb25zL25lc3QtdGhlcm1vc3RhdC9QbGFuZVJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUUsd0JBQXdCLEdBQW9CLE1BQU0sbUNBQW1DLENBQUM7QUFDOUcsT0FBTyxFQUVMLElBQUksRUFDSixpQkFBaUIsRUFFakIsS0FBSyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLE9BQU8sQ0FBQztBQWlCZixNQUFNLE9BQU8sYUFBYyxTQUFRLGNBQWM7SUFBakQ7O1FBQ1UsY0FBUyxHQUFvQixJQUFJLENBQUM7UUFJakMsV0FBTSxHQUFXO1lBQ3hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLENBQUM7WUFDVCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxDQUFDO1lBQ1YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLFVBQVUsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDO1lBQzlCLGFBQWEsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDO1NBQ2xDLENBQUE7UUFFUSxXQUFNLEdBQUc7WUFDaEIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO1NBQ3ZDLENBQUM7SUEwRUosQ0FBQztJQXhFVSxNQUFNLENBQUMsU0FBZSxFQUFFLFlBQWtCO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxH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WSxDQUFDLFNBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FFRjtBQU1ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NjZW5lQ29tcG9uZW50LCBDb21wb25lbnRJbnRlcmFjdGlvblR5cGUsIENvbXBvbmVudENvbnRleHQsfSBmcm9tICcuLi9zY2VuZS1jb21wb25lbnQvU2NlbmVDb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRleHR1cmUsXHJcbiAgTWVzaCxcclxuICBNZXNoQmFzaWNNYXRlcmlhbCxcclxuICBPYmplY3QzRCxcclxuICBHcm91cCxcclxuICBQbGFuZUJ1ZmZlckdlb21ldHJ5XHJcbn0gZnJvbSAndGhyZWUnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2l6ZSA9IHsgdzogbnVtYmVyOyBoOiBudW1iZXI7IH07XHJcblxyXG50eXBlIElucHV0cyA9IHtcclxuICB0ZXh0dXJlOiBUZXh0dXJlIHwgbnVsbDtcclxuICBhc3BlY3Q6IG51bWJlcjtcclxuICB0cmFuc3BhcmVudDogYm9vbGVhbjtcclxuICB2aXNpYmxlOiBib29sZWFuO1xyXG4gIG9wYWNpdHk6IG51bWJlcjtcclxuICBwb2x5Z29uT2Zmc2V0OiBib29sZWFuO1xyXG4gIHBvbHlnb25PZmZzZXRGYWN0b3I6IG51bWJlcjtcclxuICBwb2x5Z29uT2Zmc2V0VW5pdHM6IG51bWJlcjtcclxuICBsb2NhbFNjYWxlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XHJcbiAgbG9jYWxQb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgejogbnVtYmVyOyB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUGxhbmVSZW5kZXJlciBleHRlbmRzIFNjZW5lQ29tcG9uZW50IGltcGxlbWVudHMgSVBsYW5lUmVuZGVyZXIge1xyXG4gIHByaXZhdGUgcm9vdFNjZW5lOiBPYmplY3QzRCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgbWVzaDogTWVzaDtcclxuICBwcml2YXRlIHBpdm90Tm9kZTogT2JqZWN0M0Q7XHJcblxyXG4gIG92ZXJyaWRlIGlucHV0czogSW5wdXRzID0ge1xyXG4gICAgdGV4dHVyZTogbnVsbCxcclxuICAgIGFzcGVjdDogMSxcclxuICAgIHRyYW5zcGFyZW50OiB0cnVlLFxyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIG9wYWNpdHk6IDEsXHJcbiAgICBwb2x5Z29uT2Zmc2V0OiBmYWxzZSxcclxuICAgIHBvbHlnb25PZmZzZXRGYWN0b3I6IDAsXHJcbiAgICBwb2x5Z29uT2Zmc2V0VW5pdHM6IDAsXHJcbiAgICBsb2NhbFNjYWxlOiB7eDogMSwgeTogMSwgejogMX0sXHJcbiAgICBsb2NhbFBvc2l0aW9uOiB7eDogMCwgeTogMCwgejogMH0sXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBldmVudHMgPSB7XHJcbiAgICBbQ29tcG9uZW50SW50ZXJhY3Rpb25UeXBlLkNMSUNLXTogdHJ1ZSxcclxuICB9O1xyXG5cclxuICBvdmVycmlkZSBvbkluaXQobW9kZWxOb2RlPzogYW55LCBpbnB1dFRleHR1cmU/OiBhbnkpIHtcclxuICAgIHRoaXMuaW5wdXRzLnRleHR1cmUgPSBpbnB1dFRleHR1cmU7XHJcbiAgICBpZiAoIXRoaXMuY29udGV4dCkge1xyXG4gICAgICB0aGlzLmNvbnRleHQgPSB7XHJcbiAgICAgICAgcm9vdDogbW9kZWxOb2RlXHJcbiAgICAgIH0gYXMgQ29tcG9uZW50Q29udGV4dDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBpdm90Tm9kZSA9IG5ldyBHcm91cCgpO1xyXG5cclxuICAgIHRoaXMubWVzaCA9IG5ldyBNZXNoKFxyXG4gICAgICBuZXcgUGxhbmVCdWZmZXJHZW9tZXRyeSgxLjAsIDEuMCksXHJcbiAgICAgIG5ldyBNZXNoQmFzaWNNYXRlcmlhbCh7XHJcbiAgICAgICAgdHJhbnNwYXJlbnQ6IHRoaXMuaW5wdXRzLnRyYW5zcGFyZW50LFxyXG4gICAgICAgIG1hcDogdGhpcy5pbnB1dHMudGV4dHVyZSxcclxuICAgICAgICBvcGFjaXR5OiB0aGlzLmlucHV0cy5vcGFjaXR5LFxyXG4gICAgICAgIHBvbHlnb25PZmZzZXQ6IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXQsXHJcbiAgICAgICAgcG9seWdvbk9mZnNldEZhY3RvcjogdGhpcy5pbnB1dHMucG9seWdvbk9mZnNldEZhY3RvcixcclxuICAgICAgICBwb2x5Z29uT2Zmc2V0VW5pdHM6IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXRVbml0cyxcclxuICAgICAgfSkpO1xyXG4gICAgdGhpcy5tZXNoLnNjYWxlLnNldCh0aGlzLmlucHV0cy5sb2NhbFNjYWxlLngsIHRoaXMuaW5wdXRzLmxvY2FsU2NhbGUueSAvIHRoaXMuaW5wdXRzLmFzcGVjdCwgdGhpcy5pbnB1dHMubG9jYWxTY2FsZS56KTtcclxuICAgIHRoaXMubWVzaC5wb3NpdGlvbi5zZXQodGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi54LCB0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLnksIHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueik7XHJcbiAgICB0aGlzLm1lc2gudXBkYXRlTWF0cml4V29ybGQoKTtcclxuICAgIHRoaXMucGl2b3ROb2RlLmFkZCh0aGlzLm1lc2gpO1xyXG5cclxuICAgIHRoaXMub3V0cHV0cy5vYmplY3RSb290ID0gdGhpcy5waXZvdE5vZGU7XHJcbiAgICB0aGlzLm91dHB1dHMuY29sbGlkZXIgPSB0aGlzLnBpdm90Tm9kZTtcclxuICAgIHRoaXMubWVzaC52aXNpYmxlID0gdGhpcy5pbnB1dHMudmlzaWJsZTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9uRXZlbnQoZXZlbnRUeXBlOiBzdHJpbmcsIGV2ZW50RGF0YTogdW5rbm93bikge1xyXG4gICAgdGhpcy5ub3RpZnkoZXZlbnRUeXBlLCBldmVudERhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25JbnB1dHNVcGRhdGVkKG9sZElucHV0czogSW5wdXRzKSB7XHJcbiAgICBpZiAob2xkSW5wdXRzLnRyYW5zcGFyZW50ICE9PSB0aGlzLmlucHV0cy50cmFuc3BhcmVudCkge1xyXG4gICAgICAodGhpcy5tZXNoLm1hdGVyaWFsIGFzIE1lc2hCYXNpY01hdGVyaWFsKS50cmFuc3BhcmVudCA9IHRoaXMuaW5wdXRzLnRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvbGRJbnB1dHMudGV4dHVyZSAhPT0gdGhpcy5pbnB1dHMudGV4dHVyZSkge1xyXG4gICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMubWVzaC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbDtcclxuICAgICAgbWF0ZXJpYWwubWFwID0gdGhpcy5pbnB1dHMudGV4dHVyZTtcclxuICAgICAgbWF0ZXJpYWwubmVlZHNVcGRhdGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvbGRJbnB1dHMudmlzaWJsZSAhPT0gdGhpcy5pbnB1dHMudmlzaWJsZSkge1xyXG4gICAgICB0aGlzLm1lc2gudmlzaWJsZSA9IHRoaXMuaW5wdXRzLnZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9sZElucHV0cy5wb2x5Z29uT2Zmc2V0ICE9PSB0aGlzLmlucHV0cy5wb2x5Z29uT2Zmc2V0KSB7XHJcbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gdGhpcy5tZXNoLm1hdGVyaWFsIGFzIE1lc2hCYXNpY01hdGVyaWFsO1xyXG4gICAgICBtYXRlcmlhbC5wb2x5Z29uT2Zmc2V0ID0gdGhpcy5pbnB1dHMucG9seWdvbk9mZnNldDtcclxuICAgICAgbWF0ZXJpYWwucG9seWdvbk9mZnNldEZhY3RvciA9IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXRGYWN0b3I7XHJcbiAgICAgIG1hdGVyaWFsLnBvbHlnb25PZmZzZXRVbml0cyA9IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXRVbml0cztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1lc2guc2NhbGUuc2V0KHRoaXMuaW5wdXRzLmxvY2FsU2NhbGUueCwgdGhpcy5pbnB1dHMubG9jYWxTY2FsZS55IC8gdGhpcy5pbnB1dHMuYXNwZWN0LCB0aGlzLmlucHV0cy5sb2NhbFNjYWxlLnopO1xyXG4gICAgdGhpcy5tZXNoLnBvc2l0aW9uLnNldCh0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLngsIHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueSwgdGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi56KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9uRGVzdHJveSgpIHtcclxuICAgIHRoaXMub3V0cHV0cy5jb2xsaWRlciA9IG51bGw7XHJcbiAgICB0aGlzLm91dHB1dHMub2JqZWN0Um9vdCA9IG51bGw7XHJcblxyXG4gICAgKHRoaXMubWVzaC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xyXG4gICAgdGhpcy5tZXNoLmdlb21ldHJ5LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNldFJvb3RTY2VuZShyb290U2NlbmU6IE9iamVjdDNEKSB7XHJcbiAgICB0aGlzLnJvb3RTY2VuZSA9IHJvb3RTY2VuZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQbGFuZVJlbmRlcmVyIGV4dGVuZHMgU2NlbmVDb21wb25lbnQge1xyXG4gIGlucHV0czogSW5wdXRzO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcGxhbmVSZW5kZXJlclR5cGUgPSAnbXAucGxhbmVSZW5kZXJlcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFrZVBsYW5lUmVuZGVyZXIoKSB7XHJcbiAgcmV0dXJuIG5ldyBQbGFuZVJlbmRlcmVyKCk7XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhbmVSZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVycG9ydC1leHRlbnNpb25zL25lc3QtdGhlcm1vc3RhdC9QbGFuZVJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUUsd0JBQXdCLEdBQW9CLE1BQU0sbUNBQW1DLENBQUM7QUFDOUcsT0FBTyxFQUVMLElBQUksRUFDSixpQkFBaUIsRUFFakIsS0FBSyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLE9BQU8sQ0FBQztBQWlCZixNQUFNLE9BQU8sYUFBYyxTQUFRLGNBQWM7SUFBakQ7O1FBQ1UsY0FBUyxHQUFvQixJQUFJLENBQUM7UUFJakMsV0FBTSxHQUFXO1lBQ3hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLENBQUM7WUFDVCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxDQUFDO1lBQ1YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLFVBQVUsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDO1lBQzlCLGFBQWEsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDO1NBQ2xDLENBQUE7UUFFUSxXQUFNLEdBQUc7WUFDaEIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO1NBQ3ZDLENBQUM7SUEwRUosQ0FBQztJQXhFVSxNQUFNLENBQUMsU0FBZSxFQUFFLFlBQWtCO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxH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WSxDQUFDLFNBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FFRjtBQU1ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NjZW5lQ29tcG9uZW50LCBDb21wb25lbnRJbnRlcmFjdGlvblR5cGUsIENvbXBvbmVudENvbnRleHQsfSBmcm9tICcuLi9zY2VuZS1jb21wb25lbnQvU2NlbmVDb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGV4dHVyZSxcbiAgTWVzaCxcbiAgTWVzaEJhc2ljTWF0ZXJpYWwsXG4gIE9iamVjdDNELFxuICBHcm91cCxcbiAgUGxhbmVCdWZmZXJHZW9tZXRyeVxufSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCB0eXBlIFNpemUgPSB7IHc6IG51bWJlcjsgaDogbnVtYmVyOyB9O1xuXG50eXBlIElucHV0cyA9IHtcbiAgdGV4dHVyZTogVGV4dHVyZSB8IG51bGw7XG4gIGFzcGVjdDogbnVtYmVyO1xuICB0cmFuc3BhcmVudDogYm9vbGVhbjtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgb3BhY2l0eTogbnVtYmVyO1xuICBwb2x5Z29uT2Zmc2V0OiBib29sZWFuO1xuICBwb2x5Z29uT2Zmc2V0RmFjdG9yOiBudW1iZXI7XG4gIHBvbHlnb25PZmZzZXRVbml0czogbnVtYmVyO1xuICBsb2NhbFNjYWxlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB6OiBudW1iZXI7IH07XG4gIGxvY2FsUG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHo6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFBsYW5lUmVuZGVyZXIgZXh0ZW5kcyBTY2VuZUNvbXBvbmVudCBpbXBsZW1lbnRzIElQbGFuZVJlbmRlcmVyIHtcbiAgcHJpdmF0ZSByb290U2NlbmU6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWVzaDogTWVzaDtcbiAgcHJpdmF0ZSBwaXZvdE5vZGU6IE9iamVjdDNEO1xuXG4gIG92ZXJyaWRlIGlucHV0czogSW5wdXRzID0ge1xuICAgIHRleHR1cmU6IG51bGwsXG4gICAgYXNwZWN0OiAxLFxuICAgIHRyYW5zcGFyZW50OiB0cnVlLFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgb3BhY2l0eTogMSxcbiAgICBwb2x5Z29uT2Zmc2V0OiBmYWxzZSxcbiAgICBwb2x5Z29uT2Zmc2V0RmFjdG9yOiAwLFxuICAgIHBvbHlnb25PZmZzZXRVbml0czogMCxcbiAgICBsb2NhbFNjYWxlOiB7eDogMSwgeTogMSwgejogMX0sXG4gICAgbG9jYWxQb3NpdGlvbjoge3g6IDAsIHk6IDAsIHo6IDB9LFxuICB9XG5cbiAgb3ZlcnJpZGUgZXZlbnRzID0ge1xuICAgIFtDb21wb25lbnRJbnRlcmFjdGlvblR5cGUuQ0xJQ0tdOiB0cnVlLFxuICB9O1xuXG4gIG92ZXJyaWRlIG9uSW5pdChtb2RlbE5vZGU/OiBhbnksIGlucHV0VGV4dHVyZT86IGFueSkge1xuICAgIHRoaXMuaW5wdXRzLnRleHR1cmUgPSBpbnB1dFRleHR1cmU7XG4gICAgaWYgKCF0aGlzLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dCA9IHtcbiAgICAgICAgcm9vdDogbW9kZWxOb2RlXG4gICAgICB9IGFzIENvbXBvbmVudENvbnRleHQ7XG4gICAgfVxuXG4gICAgdGhpcy5waXZvdE5vZGUgPSBuZXcgR3JvdXAoKTtcblxuICAgIHRoaXMubWVzaCA9IG5ldyBNZXNoKFxuICAgICAgbmV3IFBsYW5lQnVmZmVyR2VvbWV0cnkoMS4wLCAxLjApLFxuICAgICAgbmV3IE1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgdHJhbnNwYXJlbnQ6IHRoaXMuaW5wdXRzLnRyYW5zcGFyZW50LFxuICAgICAgICBtYXA6IHRoaXMuaW5wdXRzLnRleHR1cmUsXG4gICAgICAgIG9wYWNpdHk6IHRoaXMuaW5wdXRzLm9wYWNpdHksXG4gICAgICAgIHBvbHlnb25PZmZzZXQ6IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXQsXG4gICAgICAgIHBvbHlnb25PZmZzZXRGYWN0b3I6IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXRGYWN0b3IsXG4gICAgICAgIHBvbHlnb25PZmZzZXRVbml0czogdGhpcy5pbnB1dHMucG9seWdvbk9mZnNldFVuaXRzLFxuICAgICAgfSkpO1xuICAgIHRoaXMubWVzaC5zY2FsZS5zZXQodGhpcy5pbnB1dHMubG9jYWxTY2FsZS54LCB0aGlzLmlucHV0cy5sb2NhbFNjYWxlLnkgLyB0aGlzLmlucHV0cy5hc3BlY3QsIHRoaXMuaW5wdXRzLmxvY2FsU2NhbGUueik7XG4gICAgdGhpcy5tZXNoLnBvc2l0aW9uLnNldCh0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLngsIHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueSwgdGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi56KTtcbiAgICB0aGlzLm1lc2gudXBkYXRlTWF0cml4V29ybGQoKTtcbiAgICB0aGlzLnBpdm90Tm9kZS5hZGQodGhpcy5tZXNoKTtcblxuICAgIHRoaXMub3V0cHV0cy5vYmplY3RSb290ID0gdGhpcy5waXZvdE5vZGU7XG4gICAgdGhpcy5vdXRwdXRzLmNvbGxpZGVyID0gdGhpcy5waXZvdE5vZGU7XG4gICAgdGhpcy5tZXNoLnZpc2libGUgPSB0aGlzLmlucHV0cy52aXNpYmxlO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25FdmVudChldmVudFR5cGU6IHN0cmluZywgZXZlbnREYXRhOiB1bmtub3duKSB7XG4gICAgdGhpcy5ub3RpZnkoZXZlbnRUeXBlLCBldmVudERhdGEpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25JbnB1dHNVcGRhdGVkKG9sZElucHV0czogSW5wdXRzKSB7XG4gICAgaWYgKG9sZElucHV0cy50cmFuc3BhcmVudCAhPT0gdGhpcy5pbnB1dHMudHJhbnNwYXJlbnQpIHtcbiAgICAgICh0aGlzLm1lc2gubWF0ZXJpYWwgYXMgTWVzaEJhc2ljTWF0ZXJpYWwpLnRyYW5zcGFyZW50ID0gdGhpcy5pbnB1dHMudHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKG9sZElucHV0cy50ZXh0dXJlICE9PSB0aGlzLmlucHV0cy50ZXh0dXJlKSB7XG4gICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMubWVzaC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbDtcbiAgICAgIG1hdGVyaWFsLm1hcCA9IHRoaXMuaW5wdXRzLnRleHR1cmU7XG4gICAgICBtYXRlcmlhbC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG9sZElucHV0cy52aXNpYmxlICE9PSB0aGlzLmlucHV0cy52aXNpYmxlKSB7XG4gICAgICB0aGlzLm1lc2gudmlzaWJsZSA9IHRoaXMuaW5wdXRzLnZpc2libGU7XG4gICAgfVxuXG4gICAgaWYgKG9sZElucHV0cy5wb2x5Z29uT2Zmc2V0ICE9PSB0aGlzLmlucHV0cy5wb2x5Z29uT2Zmc2V0KSB7XG4gICAgICBjb25zdCBtYXRlcmlhbCA9IHRoaXMubWVzaC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbDtcbiAgICAgIG1hdGVyaWFsLnBvbHlnb25PZmZzZXQgPSB0aGlzLmlucHV0cy5wb2x5Z29uT2Zmc2V0O1xuICAgICAgbWF0ZXJpYWwucG9seWdvbk9mZnNldEZhY3RvciA9IHRoaXMuaW5wdXRzLnBvbHlnb25PZmZzZXRGYWN0b3I7XG4gICAgICBtYXRlcmlhbC5wb2x5Z29uT2Zmc2V0VW5pdHMgPSB0aGlzLmlucHV0cy5wb2x5Z29uT2Zmc2V0VW5pdHM7XG4gICAgfVxuXG4gICAgdGhpcy5tZXNoLnNjYWxlLnNldCh0aGlzLmlucHV0cy5sb2NhbFNjYWxlLngsIHRoaXMuaW5wdXRzLmxvY2FsU2NhbGUueSAvIHRoaXMuaW5wdXRzLmFzcGVjdCwgdGhpcy5pbnB1dHMubG9jYWxTY2FsZS56KTtcbiAgICB0aGlzLm1lc2gucG9zaXRpb24uc2V0KHRoaXMuaW5wdXRzLmxvY2FsUG9zaXRpb24ueCwgdGhpcy5pbnB1dHMubG9jYWxQb3NpdGlvbi55LCB0aGlzLmlucHV0cy5sb2NhbFBvc2l0aW9uLnopO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25EZXN0cm95KCkge1xuICAgIHRoaXMub3V0cHV0cy5jb2xsaWRlciA9IG51bGw7XG4gICAgdGhpcy5vdXRwdXRzLm9iamVjdFJvb3QgPSBudWxsO1xuXG4gICAgKHRoaXMubWVzaC5tYXRlcmlhbCBhcyBNZXNoQmFzaWNNYXRlcmlhbCkuZGlzcG9zZSgpO1xuICAgIHRoaXMubWVzaC5nZW9tZXRyeS5kaXNwb3NlKCk7XG4gIH1cblxuICBzZXRSb290U2NlbmUocm9vdFNjZW5lOiBPYmplY3QzRCkge1xuICAgIHRoaXMucm9vdFNjZW5lID0gcm9vdFNjZW5lO1xuICB9XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGxhbmVSZW5kZXJlciBleHRlbmRzIFNjZW5lQ29tcG9uZW50IHtcbiAgaW5wdXRzOiBJbnB1dHM7XG59XG5cbmV4cG9ydCBjb25zdCBwbGFuZVJlbmRlcmVyVHlwZSA9ICdtcC5wbGFuZVJlbmRlcmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VQbGFuZVJlbmRlcmVyKCkge1xuICByZXR1cm4gbmV3IFBsYW5lUmVuZGVyZXIoKTtcbn1cbiJdfQ==
@@ -125,4 +125,4 @@ export var Keys;
125
125
  Keys[Keys["ALT"] = 18] = "ALT";
126
126
  Keys[Keys["CONTROL"] = 17] = "CONTROL";
127
127
  })(Keys || (Keys = {}));
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9zY2VuZS1jb21wb25lbnQvU2NlbmVDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUNILE1BQWUscUJBQXFCO0NBcURuQztBQUVELE1BQU0sT0FBZ0IsY0FBZSxTQUFRLHFCQUFxQjtDQWtEakU7QUFzREQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSx3QkFxQlg7QUFyQkQsV0FBWSx3QkFBd0I7SUFDbEMsbUJBQW1CO0lBQ25CLHVEQUEyQixDQUFBO0lBQzNCLG1CQUFtQjtJQUNuQix1REFBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMscURBQXlCLENBQUE7SUFDekIsaUVBQXFDLENBQUE7SUFDckMsNkRBQWlDLENBQUE7SUFDakMscUVBQXlDLENBQUE7SUFDekMseUVBQTZDLENBQUE7SUFDN0MseURBQTZCLENBQUE7SUFDN0IsbURBQXVCLENBQUE7SUFDdkIsNkVBQWlELENBQUE7SUFDakQseUVBQTZDLENBQUE7SUFDN0MsbUVBQXVDLENBQUE7SUFDdkMsMkVBQStDLENBQUE7SUFDL0MsdURBQTJCLENBQUE7SUFDM0IsK0RBQW1DLENBQUE7SUFDbkMseURBQTZCLENBQUE7SUFDN0IsaUVBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQXJCVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBcUJuQztBQUVELE1BQWUsdUJBQXVCO0NBR3JDO0FBSUQsTUFBTSxZQUFhLFNBQVEsdUJBQXVCO0NBQUk7QUF1RHRELE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDdkIsdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7SUFDTiwyREFBUyxDQUFBO0lBQ1QsaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7SUFDUCxtREFBSyxDQUFBO0FBQ1AsQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBUVg7QUFSRCxXQUFZLGlCQUFpQjtJQUMzQix5REFBSSxDQUFBO0lBQ0osK0RBQW9DLENBQUE7SUFDcEMsbUVBQXdDLENBQUE7SUFDeEMsNkRBQWtDLENBQUE7SUFDbEMseURBQThCLENBQUE7SUFDOUIsZ0VBQW9DLENBQUE7SUFDcEMsd0RBQW9DLENBQUE7QUFDdEMsQ0FBQyxFQVJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFRNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2YsNEJBQVcsQ0FBQTtJQUNYLG9DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQXVERCxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLHVDQUFJLENBQUE7SUFDSiw2Q0FBTyxDQUFBO0lBQ1AsbUNBQUUsQ0FBQTtBQUNKLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQjtBQUVELE1BQU0sQ0FBTixJQUFZLElBc0RYO0FBdERELFdBQVksSUFBSTtJQUNkLG9DQUFXLENBQUE7SUFDWCxnQ0FBUyxDQUFBO0lBQ1QsOEJBQVEsQ0FBQTtJQUNSLDhCQUFRLENBQUE7SUFDUixrQ0FBVSxDQUFBO0lBQ1YsZ0NBQVMsQ0FBQTtJQUNULGdDQUFTLENBQUE7SUFDVCw4QkFBUSxDQUFBO0lBQ1Isa0NBQVUsQ0FBQTtJQUNWLGtDQUFVLENBQUE7SUFDVixnQ0FBUyxDQUFBO0lBQ1QsMENBQWMsQ0FBQTtJQUNkLHNDQUFZLENBQUE7SUFDWiw0Q0FBZSxDQUFBO0lBQ2YsMENBQWMsQ0FBQTtJQUNkLDZCQUFPLENBQUE7SUFDUCwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLGtDQUFVLENBQUE7SUFDVixvQ0FBVyxDQUFBO0lBQ1gsb0NBQVcsQ0FBQTtJQUNYLHlDQUFhLENBQUE7SUFDYiwyQ0FBZSxDQUFBO0lBQ2YsNkNBQWdCLENBQUE7SUFDaEIscURBQW9CLENBQUE7SUFDcEIsK0NBQWlCLENBQUE7SUFDakIsa0NBQVUsQ0FBQTtJQUNWLDhCQUFRLENBQUE7SUFDUixzQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQXREVyxJQUFJLEtBQUosSUFBSSxRQXNEZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUSFJFRSwgeyBTY2VuZSB9IGZyb20gJ3RocmVlJztcclxuaW1wb3J0IERpY3QgPSBOb2RlSlMuRGljdDtcclxuXHJcbi8qKlxyXG4gKiBUaGUgYmFzZSBvZiBhbGwgYFNjZW5lQ29tcG9uZW50YCBjcmVhdGVkIHdpdGggdGhlIHNkay5cclxuICogQWxsIHByb3BlcnRpZXMgb2YgdGhpcyBjbGFzcyBhcmUgYWx3YXlzIGF2YWlsYWJsZSB0byBhbGwgY29tcG9uZW50cyBnZW5lcmF0ZWQgdGhyb3VnaCB0aGUgc2RrLlxyXG4gKiBUaGVzZSBwcm9wZXJ0aWVzIHNob3VsZCBhbGwgYmUgY29uc2lkZXJlZCByZXNlcnZlZCBhbmQgc2hvdWxkIG5vdCBiZSBvdmVyd3JpdHRlbiBieSB0aGUgc3ViY2xhc3MuXHJcbiAqL1xyXG5hYnN0cmFjdCBjbGFzcyBTY2VuZUNvbXBvbmVudFByaXZhdGUge1xyXG4gIC8qKlxyXG4gICAqIEByZXNlcnZlZFxyXG4gICAqIFRoZSBuYW1lIHJlZ2lzdGVyZWQgdG8gdGhlIGZhY3RvcnkgdXNlZCB0byBnZW5lcmF0ZSB0aGlzIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBkZWNsYXJlIHJlYWRvbmx5IGNvbXBvbmVudFR5cGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQHJlc2VydmVkXHJcbiAgICogQSBkaWN0aW9uYXJ5IG9mIHByb3BlcnRpZXMgdGhhdCB0aGlzIGNvbXBvbmVudCBjb21wdXRlcy4gRXZlcnkgY29tcG9uZW50IGlzIGd1YXJhbnRlZWQgdG8gaGF2ZSBgb3V0cHV0cy5jb2xsaWRlcmAgYW5kIGBvdXRwdXRzLm9iamVjdFJvb3RgLlxyXG4gICAqIFRoaXMgZGljdGlvbmFyeSBpcyBvYnNlcnZhYmxlIGFuZCBjYW4gYmUgdGhlIHNvdXJjZSBvZiBhIGJpbmQgdGFyZ2V0LlxyXG4gICAqXHJcbiAgICovXHJcbiAgZGVjbGFyZSBvdXRwdXRzOiBDb21wb25lbnRPdXRwdXQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXNlcnZlZFxyXG4gICAqIEEgZGljdGlvbmFyeSBvZiBldmVudHMgdGhhdCB3aWxsIGJlIGhhbmRsZWQgYnkgdGhpcyBjb21wb25lbnQncyBgb25FdmVudGAuIEV2ZXJ5IGNvbXBvbmVudCBpcyBndWFyYW50ZWVkIHRvIGhhdmUgYWxsIG9mIHRoZSBgSW50ZXJhY3Rpb25TZWxlY3Rpb25gIGtleXM6XHJcbiAgICogIGBldmVudHNbSW50ZXJhY3Rpb25TZWxlY3Rpb24uQ0xJQ0tdYCwgYGV2ZW50c1tJbnRlcmFjdGlvblNlbGVjdGlvbi5IT1ZFUl1gLCBgZXZlbnRzW0ludGVyYWN0aW9uU2VsZWN0aW9uLkRSQUddYFxyXG4gICAqIE5vdGU6IHJlZ2lzdGVyaW5nIHRvIHJlY2VpdmUgYEludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSYCB3aWxsIHByb2R1Y2UgYm90aCBgSW50ZXJhY3Rpb25UeXBlLkhPVkVSYCBhbmQgYEludGVyYWN0aW9uVHlwZS5VTkhPVkVSYCBpbiBgb25FdmVudGAuXHJcbiAgICovXHJcbiAgZGVjbGFyZSBldmVudHM6IERpY3Q8Ym9vbGVhbj47XHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXNlcnZlZFxyXG4gICAqIFRoZSBjb250ZXh0IHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgdW5kZXJseWluZyBmcmFtZXdvcmssIGUuZy4gVEhSRUUuanMuXHJcbiAgICovXHJcbiAgZGVjbGFyZSBjb250ZXh0OiBDb21wb25lbnRDb250ZXh0O1xyXG5cclxuICAvKipcclxuICAgKiBAcmVzZXJ2ZWRcclxuICAgKiBCaW5kcyBgdGhpc1twcm9wXWAgdG8gdGhlIG91dHB1dCBvZiBgc3JjW3NyY1Byb3BdYC5cclxuICAgKiBXaGVuIHRoZSB2YWx1ZSBvZiBgc3JjW3NyY1Byb3BdYCBjaGFuZ2VzLCB0aGUgdmFsdWUgaXMgcHJvcGFnYXRlZCBhbmQgc2V0cyBgdGhpc1twcm9wXWAgdG8gdGhlIHNhbWUgdmFsdWUgYXV0b21hdGljYWxseS5cclxuICAgKi9cclxuICBkZWNsYXJlIGJpbmQ6IChwcm9wOiBzdHJpbmcsIHNyYzogU2NlbmVDb21wb25lbnRbJ291dHB1dHMnIHwgJ2lucHV0cyddLCBzcmNQcm9wOiBrZXlvZiBTY2VuZUNvbXBvbmVudFsnb3V0cHV0cycgfCAnaW5wdXRzJ10pID0+IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXNlcnZlZFxyXG4gICAqIE5vdGlmaWVzIHRoaXMgY29tcG9uZW50IG9mIGFuIGBldmVudFR5cGVgIHdoZW4gdGhlIGBzcmNgIENvbXBvbmVudCBjYWxscyBgbm90aWZ5YCB3aXRoIGEgYHNyY0V2ZW50VHlwZWAgZXZlbnRcclxuICAgKi9cclxuICBkZWNsYXJlIGJpbmRFdmVudDogKGV2ZW50VHlwZTogc3RyaW5nLCBzcmM6IFNjZW5lQ29tcG9uZW50LCBzcmNFdmVudFR5cGU6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQHJlc2VydmVkXHJcbiAgICogTm90aWZpZXMgYW55IGV2ZW50IGJpbmRpbmdzIG9mIGFuIGV2ZW50IHdpdGggYGV2ZW50VHlwZWAgYW5kIGRhdGEgYGV2ZW50RGF0YWBcclxuICAgKi9cclxuICBkZWNsYXJlIG5vdGlmeTogKGV2ZW50VHlwZTogc3RyaW5nLCBldmVudERhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBAcmVzZXJ2ZWRcclxuICAgKiBTcHkgb24gYSBjb21wb25lbnQncyBub3RpZnkgZnJvbSBvdXRzaWRlIG9mIHRoZSBjb21wb25lbnQgc3lzdGVtXHJcbiAgICovXHJcbiAgZGVjbGFyZSBzcHlPbkV2ZW50OiAoc3B5OiBJQ29tcG9uZW50RXZlbnRTcHkpID0+IElTdWJzY3JpcHRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTY2VuZUNvbXBvbmVudCBleHRlbmRzIFNjZW5lQ29tcG9uZW50UHJpdmF0ZSB7XHJcbiAgLyoqXHJcbiAgICogQW4gb3B0aW9uYWwgZGljdGlvbmFyeSBvZiBwcm9wZXJ0aWVzIHRoYXQgYWZmZWN0cyB0aGUgYmVoYXZpb3Igb2YgdGhlIGNvbXBvbmVudC5cclxuICAgKiBUaGUgcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZCBieSBhbiBleHRlcm5hbCBzb3VyY2UgYXQgYW55IHRpbWUuIEl0IGlzIHVwIHRvIHRoZSBjb21wb25lbnQgdG8gcmVzcG9uZCBhcHByb3ByaWF0ZWx5IHRvIHRoZSBjaGFuZ2VzLlxyXG4gICAqIFRoZSBpbnB1dCBwcm9wZXJ0aWVzIGNhbiBhbHNvIGJlIGJpbmQgdGFyZ2V0cyB0byBhbm90aGVyIG9ic2VydmFibGUgc291cmNlLCBlLmcuIHRoZSBvdXRwdXQgcHJvcGVydHkgb2YgYW5vdGhlciBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgaW5wdXRzPzogRGljdDxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGV2ZW50IGlzIGNhbGxlZCBvbmNlIGFmdGVyIHRoZSBzY2VuZSBub2RlIGl0cyBhdHRhY2hlZCB0byBoYXMgc3RhcnRlZC5cclxuICAgKi9cclxuICBvbkluaXQ/KCk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgZXZlbnQgaXMgY2FsbGVkIGF0IG1vc3Qgb25jZSBwZXIgZnJhbWUgd2hlbiB0aGVyZSBhcmUgZXZlbnRzIG9uIHRoaXMgY29tcG9uZW50LlxyXG4gICAqIEFueSBvZiB0aGUgaW50ZXJhY3Rpb24gdHlwZXMgc3BlY2lmaWVkIGluIGB0aGlzLmludGVyYWN0aW9uc2Agb3IgYSBjYWxsIHRvIG5vdGlmeSBmb3IgYSBib3VuZCBldmVudCB3aWxsIHRyaWdnZXIgdGhpcyBldmVudC5cclxuICAgKiBAcHJvcGVydHkge3N0cmluZyB8IENvbXBvbmVudEludGVyYWN0aW9uVHlwZX0gZXZlbnRUeXBlIFRoZSBldmVudCB0eXBlXHJcbiAgICogQHByb3BlcnR5IHt1bmtub3dufSBldmVudERhdGEgVGhlIGRhdGEgcGF5bG9hZCBvZiB0aGUgZXZlbnRcclxuICAgKi9cclxuICBvbkV2ZW50PyhldmVudFR5cGU6IHN0cmluZywgZXZlbnREYXRhOiB1bmtub3duKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBldmVudCBpcyBjYWxsZWQgYWZ0ZXIgYW4gaW5wdXQgcHJvcGVydHkgaGFzIGNoYW5nZWQuXHJcbiAgICogSXQgd2lsbCBiZSBjYWxsZWQgYXQgbW9zdCBvbmNlIGEgZnJhbWUuXHJcbiAgICovXHJcbiAgb25JbnB1dHNVcGRhdGVkPyhwcmV2aW91c0lucHV0czogdGhpc1snaW5wdXRzJ10pOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGV2ZW50IGlzIGNhbGxlZCBvbmNlIGEgZnJhbWUgYWZ0ZXIgaW5wdXQgY2hhbmdlcyBoYXZlIGJlZW4gZGV0ZWN0ZWQuXHJcbiAgICovXHJcbiAgb25UaWNrPyh0aWNrRGVsdGE6IG51bWJlcik6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXNlcnZlZFxyXG4gICAqIEEgZGljdGlvbmFyeSBvZiBldmVudHMgdGhhdCB3aWxsIGJlIGhhbmRsZWQgYnkgdGhpcyBjb21wb25lbnQncyBgb25FdmVudGAuIEV2ZXJ5IGNvbXBvbmVudCBpcyBndWFyYW50ZWVkIHRvIGhhdmUgYWxsIG9mIHRoZSBgSW50ZXJhY3Rpb25TZWxlY3Rpb25gIGtleXM6XHJcbiAgICogIGBldmVudHNbSW50ZXJhY3Rpb25TZWxlY3Rpb24uQ0xJQ0tdYCwgYGV2ZW50c1tJbnRlcmFjdGlvblNlbGVjdGlvbi5IT1ZFUl1gLCBgZXZlbnRzW0ludGVyYWN0aW9uU2VsZWN0aW9uLkRSQUddYFxyXG4gICAqIE5vdGU6IHJlZ2lzdGVyaW5nIHRvIHJlY2VpdmUgYEludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSYCB3aWxsIHByb2R1Y2UgYm90aCBgSW50ZXJhY3Rpb25UeXBlLkhPVkVSYCBhbmQgYEludGVyYWN0aW9uVHlwZS5VTkhPVkVSYCBpbiBgb25FdmVudGAuXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHJlc2VydmVkXHJcbiAgICogQSBkaWN0aW9uYXJ5IG9mIGV2ZW50cyB0aGF0IHdpbGwgYmUgZW1pdHRlZCBieSB0aGlzIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBlbWl0cz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGV2ZW50IGlzIGNhbGxlZCBvbmNlIHJpZ2h0IGJlZm9yZSB0aGUgc2NlbmUgbm9kZSBoYXMgc3RvcHBlZC5cclxuICAgKi9cclxuICBvbkRlc3Ryb3k/KCk6IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIG5vZGUgb2YgYSBzY2VuZSBncmFwaC5cclxuICogQWdncmVnYXRlcyBgU2NlbmVDb21wb25lbnRgIGFzIGNoaWxkcmVuLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJU2NlbmVOb2RlIHtcclxuICAvKipcclxuICAgKiBBIGh1bWFuIHJlYWRhYmxlIG5hbWUgcHJvdmlkZWQgYnkgdGhlIHVzZXIuXHJcbiAgICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuXHJcbiAgICogVGhlIHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSB0cmFuc2Zvcm1zIGFyZSBhcHBsaWVkIGluIHNjYWxlLCBxdWF0ZXJuaW9uLCB0aGVuIHNjYWxlIG9yZGVyLiAoc2FtZSBhcyBUSFJFRS5qcylcclxuICAgKi9cclxuICByZWFkb25seSBwb3NpdGlvbjogVEhSRUUuVmVjdG9yMztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG9yaWVudGF0aW9uIG9mIHRoZSBub2RlLlxyXG4gICAqIFRoZSBwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUgdHJhbnNmb3JtcyBhcmUgYXBwbGllZCBpbiBzY2FsZSwgcXVhdGVybmlvbiwgdGhlbiBzY2FsZSBvcmRlci4gKHNhbWUgYXMgVEhSRUUuanMpXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgcXVhdGVybmlvbjogVEhSRUUuUXVhdGVybmlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHNjYWxlIG9mIHRoZSBub2RlLlxyXG4gICAqIFRoZSBwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUgdHJhbnNmb3JtcyBhcmUgYXBwbGllZCBpbiBzY2FsZSwgcXVhdGVybmlvbiwgdGhlbiBzY2FsZSBvcmRlci4gKHNhbWUgYXMgVEhSRUUuanMpXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2NhbGU6IFRIUkVFLlZlY3RvcjM7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbmQgYWRkIGEgY2hpbGQgY29tcG9uZW50IHRvIHRoaXMgbm9kZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBmYWN0b3J5IFRoZSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmFjdG9yeSB0byBnZW5lcmF0ZSBhIGBTY2VuZUNvbXBvbmVudGBcclxuICAgKiBAcGFyYW0gaW5pdGlhbElucHV0cyBBbiBpbml0aWFsIHNldCBvZiBpbnB1dHMsIGltbWVkaWF0ZWx5IGF2YWlsYWJsZSB0byB0aGUgbmV3bHkgY3JlYXRlIGBTY2VuZUNvbXBvbmVudC5vbkluaXRgXHJcbiAgICovXHJcbiAgYWRkQ29tcG9uZW50KGZhY3Rvcnk6IHN0cmluZywgaW5pdGlhbElucHV0cz86IFNjZW5lQ29tcG9uZW50WydpbnB1dHMnXSk6IFNjZW5lQ29tcG9uZW50O1xyXG5cclxuICAvKipcclxuICAgKiBBbiBpdGVyYXRvciB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbXBvbmVudHMgYWRkZWQgdG8gdGhpcyBub2RlIHVzaW5nIGEgZm9yLW9mIGxvb3AuXHJcbiAgICovXHJcbiAgY29tcG9uZW50SXRlcmF0b3IoKTogSXRlcmFibGVJdGVyYXRvcjxTY2VuZUNvbXBvbmVudD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IHRoZSBub2RlIGFuZCBpdHMgY29tcG9uZW50cy5cclxuICAgKi9cclxuICBzdGFydCgpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBTdG9wIHRoZSBub2RlIGFuZCBpdHMgY29tcG9uZW50cy5cclxuICAgKi9cclxuICBzdG9wKCk6IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgdHlwZXMgb2YgdGhlIEludGVyYWN0aW9uIGV2ZW50cyByZWNlaXZlZCBmcm9tIHRoZSByZWdpc3RlcmVkIGBJbnRlcmFjdGlvblNlbGVjdGlvbmBcclxuICovXHJcbmV4cG9ydCBlbnVtIENvbXBvbmVudEludGVyYWN0aW9uVHlwZSB7XHJcbiAgLyoqIENMSUNLIGV2ZW50cyAqL1xyXG4gIENMSUNLID0gJ0lOVEVSQUNUSU9OLkNMSUNLJyxcclxuICAvKiogSE9WRVIgZXZlbnRzICovXHJcbiAgSE9WRVIgPSAnSU5URVJBQ1RJT04uSE9WRVInLFxyXG4gIC8qKiBEUkFHIGV2ZW50cyAobW91c2Vkb3duIHRoZW4gbW92ZSkgKi9cclxuICBEUkFHID0gJ0lOVEVSQUNUSU9OLkRSQUcnLFxyXG4gIERSQUdfQkVHSU4gPSAnSU5URVJBQ1RJT04uRFJBR19CRUdJTicsXHJcbiAgRFJBR19FTkQgPSAnSU5URVJBQ1RJT04uRFJBR19FTkQnLFxyXG4gIFBPSU5URVJfTU9WRSA9ICdJTlRFUkFDVElPTi5QT0lOVEVSX01PVkUnLFxyXG4gIFBPSU5URVJfQlVUVE9OID0gJ0lOVEVSQUNUSU9OLlBPSU5URVJfQlVUVE9OJyxcclxuICBTQ1JPTEwgPSAnSU5URVJBQ1RJT04uU0NST0xMJyxcclxuICBLRVkgPSAnSU5URVJBQ1RJT04uS0VZJyxcclxuICBMT05HX1BSRVNTX1NUQVJUID0gJ0lOVEVSQUNUSU9OLkxPTkdfUFJFU1NfU1RBUlQnLFxyXG4gIExPTkdfUFJFU1NfRU5EID0gJ0lOVEVSQUNUSU9OLkxPTkdfUFJFU1NfRU5EJyxcclxuICBNVUxUSV9TV0lQRSA9ICdJTlRFUkFDVElPTi5NVUxUSV9TV0lQRScsXHJcbiAgTVVMVElfU1dJUEVfRU5EID0gJ0lOVEVSQUNUSU9OLk1VTFRJX1NXSVBFX0VORCcsXHJcbiAgUElOQ0ggPSAnSU5URVJBQ1RJT04uUElOQ0gnLFxyXG4gIFBJTkNIX0VORCA9ICdJTlRFUkFDVElPTi5QSU5DSF9FTkQnLFxyXG4gIFJPVEFURSA9ICdJTlRFUkFDVElPTi5ST1RBVEUnLFxyXG4gIFJPVEFURV9FTkQgPSAnSU5URVJBQ1RJT04uUk9UQVRFX0VORCcsXHJcbn1cclxuXHJcbmFic3RyYWN0IGNsYXNzIENvbXBvbmVudE91dHB1dFJlc2VydmVkIHtcclxuICBkZWNsYXJlIG9iamVjdFJvb3Q6IFRIUkVFLk9iamVjdDNEIHwgbnVsbDtcclxuICBkZWNsYXJlIGNvbGxpZGVyOiBUSFJFRS5PYmplY3QzRCB8IG51bGw7XHJcbn1cclxuXHJcbi8vIEhhY2sgYXJvdW5kIHRoZSB0eXBlIHN5c3RlbSB0byBnZXQgYSBjbGVhbmVyIGludGVyZmFjZSBhcm91bmQgYENvbXBvbmVudE91dHB1dGBcclxuaW50ZXJmYWNlIENvbXBvbmVudE91dCBleHRlbmRzIERpY3Q8YW55PiB7fVxyXG5jbGFzcyBDb21wb25lbnRPdXQgZXh0ZW5kcyBDb21wb25lbnRPdXRwdXRSZXNlcnZlZCAge31cclxuXHJcbi8qKlxyXG4gKiBBIGdlbmVyYWwtdXNlIGJhZyBvZiBwcm9wZXJ0aWVzLlxyXG4gKiBBdCBhIG1pbmltdW0sIGl0IGhhcyBgb2JqZWN0Um9vdGAgYW5kIGBjb2xsaWRlcmAgYXV0b21hdGljYWxseSBkZWZpbmVkLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29tcG9uZW50T3V0cHV0ID0gQ29tcG9uZW50T3V0O1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb250ZXh0IG9mIGEgY29tcG9uZW50IChhdmFpbGFibGUgYXMgYHRoaXMuY29udGV4dGApIGluIGEgYFNjZW5lQ29tcG9uZW50YCBzdWJjbGFzcy5cclxuICogQWNjZXNzIHRvIHRoZSByb290IGBJU2NlbmVOb2RlYCBhbmQgdGhlIFRIUkVFLmpzIGFyZSBhdmFpbGFibGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb21wb25lbnRDb250ZXh0ID0ge1xyXG4gIHRocmVlOiB0eXBlb2YgVEhSRUU7XHJcbiAgcm9vdDogSVNjZW5lTm9kZTtcclxuICByZW5kZXJlcjogVEhSRUUuV2ViR0xSZW5kZXJlcjtcclxuICB1c2VyOiBEaWN0PGFueT47XHJcbiAgc2NlbmU6IFNjZW5lO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEEgcmF5Y2FzdCBpbnRlcnNlY3Rpb24gd2l0aCBhIG1lc2hcclxuICovXHJcbmV4cG9ydCB0eXBlIEludGVyc2VjdCA9IHtcclxuICBwb2ludDogVEhSRUUuVmVjdG9yMztcclxuICBub3JtYWw6IFRIUkVFLlZlY3RvcjM7XHJcbiAgY29sbGlkZXI6IFRIUkVFLk9iamVjdDNEO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEEgc3B5IHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGEgY29tcG9uZW50IHVzaW5nIGBzcHlPbkV2ZW50YFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQ29tcG9uZW50RXZlbnRTcHk8VCA9IHVua25vd24+IHtcclxuICByZWFkb25seSBldmVudFR5cGU6IHN0cmluZztcclxuICBvbkV2ZW50KGV2ZW50RGF0YT86IFQpOiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogQW4gb2JqZWN0IHJlc3BvbnNpYmxlIGZvciByZW1vdmluZyBhIHNweSBmcm9tIGEgY29tcG9uZW50J3MgZXZlbnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN1YnNjcmlwdGlvbiB7XHJcbiAgY2FuY2VsKCk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZlY3RvcjIge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVZlY3RvcjMge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbiAgejogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBQb2ludGVyQnV0dG9uIHtcclxuICBQUklNQVJZLFxyXG4gIE1JRERMRSxcclxuICBTRUNPTkRBUlksXHJcbiAgQkFDSyxcclxuICBGT1JXQVJELFxyXG4gIENPVU5ULFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQb2ludGVyQnV0dG9uTWFzayB7XHJcbiAgTk9ORSxcclxuICBQUklNQVJZID0gMSA8PCBQb2ludGVyQnV0dG9uLlBSSU1BUlksXHJcbiAgU0VDT05EQVJZID0gMSA8PCBQb2ludGVyQnV0dG9uLlNFQ09OREFSWSxcclxuICBNSURETEUgPSAxIDw8IFBvaW50ZXJCdXR0b24uTUlERExFLFxyXG4gIEJBQ0sgPSAxIDw8IFBvaW50ZXJCdXR0b24uQkFDSyxcclxuICBGT1JXQVJEID0gMSA8PCBQb2ludGVyQnV0dG9uLkZPUldBUkQsXHJcbiAgQUxMID0gKDEgPDwgUG9pbnRlckJ1dHRvbi5DT1VOVCkgLSAxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQb2ludGVyRGV2aWNlIHtcclxuICBNT1VTRSA9ICdtb3VzZScsXHJcbiAgVE9VQ0ggPSAndG91Y2gnLFxyXG4gIFBFTiA9ICdwZW4nLFxyXG4gIEdBTUVQQUQgPSAnZ2FtZXBhZCcsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaXJlZCBvbiBldmVyeSBtb3VzZSBkb3duLCBwcm92aWRlcyBjdXJyZW50IHBvc2l0aW9uL2J1dHRvbnMgZG93bi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0JlZ2luRXZlbnQge1xyXG4gIC8qKiBDdXJyZW50IHBvc2l0aW9uICovXHJcbiAgcmVhZG9ubHkgcG9zaXRpb246IElWZWN0b3IyO1xyXG4gIC8qKiBCdXR0b25zIGRvd24gZHVyaW5nIGV2ZW50ICovXHJcbiAgcmVhZG9ubHkgYnV0dG9uczogUG9pbnRlckJ1dHRvbk1hc2s7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaXJlZCBvbmx5IGFmdGVyIHRoZSBwb2ludGVyIGhhcyBtb3ZlZCBmYXIgZW5vdWdoIGZyb20gRHJhZ0JlZ2luRXZlbnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0V2ZW50IHtcclxuICAvKiogQ3VycmVudCBwb3NpdGlvbiAqL1xyXG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcclxuICAvKiogRGVsdGEgbW92ZWQgc2luY2UgbGFzdCBkcmFnIGV2ZW50ICovXHJcbiAgcmVhZG9ubHkgZGVsdGE6IElWZWN0b3IyO1xyXG4gIC8qKiBCdXR0b25zIGRvd24gZHVyaW5nIGV2ZW50ICovXHJcbiAgcmVhZG9ubHkgYnV0dG9uczogUG9pbnRlckJ1dHRvbk1hc2s7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaXJlZCBvbiBldmVyeSBtb3VzZSB1cCwgaW5jbHVkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgRHJhZ0JlZ2luIGFuZCBjdXJyZW50IHBvc2l0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBEcmFnRW5kRXZlbnQgZXh0ZW5kcyBEcmFnRXZlbnQge1xyXG4gIC8qKiBkdXJhdGlvbiBzaW5jZSBsYXN0IERyYWdFdmVudCAqL1xyXG4gIHJlYWRvbmx5IHRpbWVTaW5jZUxhc3RNb3ZlOiBudW1iZXI7XHJcblxyXG4gIC8qKiBUaGUgZGVsdGEgYmV0d2VlbiBwb3NpdGlvbiwgYW5kIHRoZSBwb3NpdGlvbiBmcm9tIERyYWdCZWdpbkV2ZW50ICovXHJcbiAgcmVhZG9ubHkgZnVsbERlbHRhOiBJVmVjdG9yMjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb2ludGVyTW92ZUV2ZW50IHtcclxuICByZWFkb25seSBpZDogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcclxuICByZWFkb25seSBidXR0b25zOiBQb2ludGVyQnV0dG9uTWFzaztcclxuICByZWFkb25seSBkZXZpY2U6IFBvaW50ZXJEZXZpY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRlckJ1dHRvbkV2ZW50IHtcclxuICByZWFkb25seSBpZDogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcclxuICByZWFkb25seSBidXR0b246IFBvaW50ZXJCdXR0b247XHJcbiAgcmVhZG9ubHkgZG93bjogYm9vbGVhbjtcclxuICByZWFkb25seSBkZXZpY2U6IFBvaW50ZXJEZXZpY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsRXZlbnQge1xyXG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcclxuICByZWFkb25seSBkZWx0YTogSVZlY3RvcjI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEtleVN0YXRlIHtcclxuICBET1dOLFxyXG4gIFBSRVNTRUQsXHJcbiAgVVAsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEtleXN7XHJcbiAgRVNDQVBFID0gMjcsXHJcbiAgWkVSTyA9IDQ4LFxyXG4gIE9ORSA9IDQ5LFxyXG4gIFRXTyA9IDUwLFxyXG4gIFRIUkVFID0gNTEsXHJcbiAgRk9VUiA9IDUyLFxyXG4gIEZJVkUgPSA1MyxcclxuICBTSVggPSA1NCxcclxuICBTRVZFTiA9IDU1LFxyXG4gIEVJR0hUID0gNTYsXHJcbiAgTklORSA9IDU3LFxyXG4gIExFRlRBUlJPVyA9IDM3LFxyXG4gIFVQQVJST1cgPSAzOCxcclxuICBSSUdIVEFSUk9XID0gMzksXHJcbiAgRE9XTkFSUk9XID0gNDAsXHJcbiAgVEFCID0gOSxcclxuICBBID0gNjUsXHJcbiAgQiA9IDY2LFxyXG4gIEMgPSA2NyxcclxuICBEID0gNjgsXHJcbiAgRSA9IDY5LFxyXG4gIEYgPSA3MCxcclxuICBHID0gNzEsXHJcbiAgSCA9IDcyLFxyXG4gIEkgPSA3MyxcclxuICBKID0gNzQsXHJcbiAgSyA9IDc1LFxyXG4gIEwgPSA3NixcclxuICBNID0gNzcsXHJcbiAgTiA9IDc4LFxyXG4gIE8gPSA3OSxcclxuICBQID0gODAsXHJcbiAgUSA9IDgxLFxyXG4gIFIgPSA4MixcclxuICBTID0gODMsXHJcbiAgVCA9IDg0LFxyXG4gIFUgPSA4NSxcclxuICBWID0gODYsXHJcbiAgVyA9IDg3LFxyXG4gIFggPSA4OCxcclxuICBZID0gODksXHJcbiAgWiA9IDkwLFxyXG4gIFNQQUNFID0gMzIsXHJcbiAgUkVUVVJOID0gMTMsXHJcbiAgREVMRVRFID0gNDYsXHJcbiAgQkFDS1NQQUNFID0gOCxcclxuICBTRU1JQ09MT04gPSAxODYsXHJcbiAgUExVU0VRVUFMUyA9IDE4NyxcclxuICBEQVNIVU5ERVJTQ09SRSA9IDE4OSxcclxuICBPUEVOQlJBQ0tFVCA9IDIxOSxcclxuICBTSElGVCA9IDE2LFxyXG4gIEFMVCA9IDE4LFxyXG4gIENPTlRST0wgPSAxNyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBLZXlFdmVudCB7XHJcbiAga2V5OiBLZXlzO1xyXG4gIHN0YXRlOiBLZXlTdGF0ZTtcclxuICBtb2RpZmllcnM6IHtcclxuICAgIGFsdEtleTogYm9vbGVhbixcclxuICAgIHNoaWZ0S2V5OiBib29sZWFuLFxyXG4gICAgY3RybEtleTogYm9vbGVhblxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9uZ1ByZXNzU3RhcnRFdmVudCB7XHJcbiAgcmVhZG9ubHkgcG9zaXRpb246IElWZWN0b3IyO1xyXG4gIHJlYWRvbmx5IGJ1dHRvbnM6IFBvaW50ZXJCdXR0b25NYXNrO1xyXG4gIHJlYWRvbmx5IHRocmVzaG9sZDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvbmdQcmVzc0VuZEV2ZW50IHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpU3dpcGVFdmVudCB7XHJcbiAgcmVhZG9ubHkgcG9pbnRlckNvdW50OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgcG9zaXRpb246IElWZWN0b3IyO1xyXG4gIHJlYWRvbmx5IGRlbHRhOiBJVmVjdG9yMjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVN3aXBlRW5kRXZlbnQgZXh0ZW5kcyBNdWx0aVN3aXBlRXZlbnQge1xyXG4gIHJlYWRvbmx5IHRpbWVTaW5jZUxhc3RNb3ZlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGluY2hFdmVudCB7XHJcbiAgcmVhZG9ubHkgcGluY2hEZWx0YTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBpbmNoRW5kRXZlbnQgZXh0ZW5kcyBQaW5jaEV2ZW50IHtcclxuICByZWFkb25seSB0aW1lU2luY2VMYXN0TW92ZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdGF0ZUV2ZW50IHtcclxuICByZWFkb25seSByb3RhdGVEZWx0YTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdGF0ZUVuZEV2ZW50IGV4dGVuZHMgUm90YXRlRXZlbnQge1xyXG4gIHJlYWRvbmx5IHRpbWVTaW5jZUxhc3RNb3ZlOiBudW1iZXI7XHJcbn1cclxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy9zY2VuZS1jb21wb25lbnQvU2NlbmVDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUNILE1BQWUscUJBQXFCO0NBcURuQztBQUVELE1BQU0sT0FBZ0IsY0FBZSxTQUFRLHFCQUFxQjtDQWtEakU7QUFzREQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSx3QkFxQlg7QUFyQkQsV0FBWSx3QkFBd0I7SUFDbEMsbUJBQW1CO0lBQ25CLHVEQUEyQixDQUFBO0lBQzNCLG1CQUFtQjtJQUNuQix1REFBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMscURBQXlCLENBQUE7SUFDekIsaUVBQXFDLENBQUE7SUFDckMsNkRBQWlDLENBQUE7SUFDakMscUVBQXlDLENBQUE7SUFDekMseUVBQTZDLENBQUE7SUFDN0MseURBQTZCLENBQUE7SUFDN0IsbURBQXVCLENBQUE7SUFDdkIsNkVBQWlELENBQUE7SUFDakQseUVBQTZDLENBQUE7SUFDN0MsbUVBQXVDLENBQUE7SUFDdkMsMkVBQStDLENBQUE7SUFDL0MsdURBQTJCLENBQUE7SUFDM0IsK0RBQW1DLENBQUE7SUFDbkMseURBQTZCLENBQUE7SUFDN0IsaUVBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQXJCVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBcUJuQztBQUVELE1BQWUsdUJBQXVCO0NBR3JDO0FBSUQsTUFBTSxZQUFhLFNBQVEsdUJBQXVCO0NBQUk7QUF1RHRELE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDdkIsdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7SUFDTiwyREFBUyxDQUFBO0lBQ1QsaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7SUFDUCxtREFBSyxDQUFBO0FBQ1AsQ0FBQyxFQVBXLGFBQWEsS0FBYixhQUFhLFFBT3hCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBUVg7QUFSRCxXQUFZLGlCQUFpQjtJQUMzQix5REFBSSxDQUFBO0lBQ0osK0RBQW9DLENBQUE7SUFDcEMsbUVBQXdDLENBQUE7SUFDeEMsNkRBQWtDLENBQUE7SUFDbEMseURBQThCLENBQUE7SUFDOUIsZ0VBQW9DLENBQUE7SUFDcEMsd0RBQW9DLENBQUE7QUFDdEMsQ0FBQyxFQVJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFRNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2YsNEJBQVcsQ0FBQTtJQUNYLG9DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQXVERCxNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLHVDQUFJLENBQUE7SUFDSiw2Q0FBTyxDQUFBO0lBQ1AsbUNBQUUsQ0FBQTtBQUNKLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQjtBQUVELE1BQU0sQ0FBTixJQUFZLElBc0RYO0FBdERELFdBQVksSUFBSTtJQUNkLG9DQUFXLENBQUE7SUFDWCxnQ0FBUyxDQUFBO0lBQ1QsOEJBQVEsQ0FBQTtJQUNSLDhCQUFRLENBQUE7SUFDUixrQ0FBVSxDQUFBO0lBQ1YsZ0NBQVMsQ0FBQTtJQUNULGdDQUFTLENBQUE7SUFDVCw4QkFBUSxDQUFBO0lBQ1Isa0NBQVUsQ0FBQTtJQUNWLGtDQUFVLENBQUE7SUFDVixnQ0FBUyxDQUFBO0lBQ1QsMENBQWMsQ0FBQTtJQUNkLHNDQUFZLENBQUE7SUFDWiw0Q0FBZSxDQUFBO0lBQ2YsMENBQWMsQ0FBQTtJQUNkLDZCQUFPLENBQUE7SUFDUCwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLDBCQUFNLENBQUE7SUFDTiwwQkFBTSxDQUFBO0lBQ04sMEJBQU0sQ0FBQTtJQUNOLGtDQUFVLENBQUE7SUFDVixvQ0FBVyxDQUFBO0lBQ1gsb0NBQVcsQ0FBQTtJQUNYLHlDQUFhLENBQUE7SUFDYiwyQ0FBZSxDQUFBO0lBQ2YsNkNBQWdCLENBQUE7SUFDaEIscURBQW9CLENBQUE7SUFDcEIsK0NBQWlCLENBQUE7SUFDakIsa0NBQVUsQ0FBQTtJQUNWLDhCQUFRLENBQUE7SUFDUixzQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQXREVyxJQUFJLEtBQUosSUFBSSxRQXNEZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUSFJFRSwgeyBTY2VuZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCBEaWN0ID0gTm9kZUpTLkRpY3Q7XG5cbi8qKlxuICogVGhlIGJhc2Ugb2YgYWxsIGBTY2VuZUNvbXBvbmVudGAgY3JlYXRlZCB3aXRoIHRoZSBzZGsuXG4gKiBBbGwgcHJvcGVydGllcyBvZiB0aGlzIGNsYXNzIGFyZSBhbHdheXMgYXZhaWxhYmxlIHRvIGFsbCBjb21wb25lbnRzIGdlbmVyYXRlZCB0aHJvdWdoIHRoZSBzZGsuXG4gKiBUaGVzZSBwcm9wZXJ0aWVzIHNob3VsZCBhbGwgYmUgY29uc2lkZXJlZCByZXNlcnZlZCBhbmQgc2hvdWxkIG5vdCBiZSBvdmVyd3JpdHRlbiBieSB0aGUgc3ViY2xhc3MuXG4gKi9cbmFic3RyYWN0IGNsYXNzIFNjZW5lQ29tcG9uZW50UHJpdmF0ZSB7XG4gIC8qKlxuICAgKiBAcmVzZXJ2ZWRcbiAgICogVGhlIG5hbWUgcmVnaXN0ZXJlZCB0byB0aGUgZmFjdG9yeSB1c2VkIHRvIGdlbmVyYXRlIHRoaXMgY29tcG9uZW50LlxuICAgKi9cbiAgZGVjbGFyZSByZWFkb25seSBjb21wb25lbnRUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXNlcnZlZFxuICAgKiBBIGRpY3Rpb25hcnkgb2YgcHJvcGVydGllcyB0aGF0IHRoaXMgY29tcG9uZW50IGNvbXB1dGVzLiBFdmVyeSBjb21wb25lbnQgaXMgZ3VhcmFudGVlZCB0byBoYXZlIGBvdXRwdXRzLmNvbGxpZGVyYCBhbmQgYG91dHB1dHMub2JqZWN0Um9vdGAuXG4gICAqIFRoaXMgZGljdGlvbmFyeSBpcyBvYnNlcnZhYmxlIGFuZCBjYW4gYmUgdGhlIHNvdXJjZSBvZiBhIGJpbmQgdGFyZ2V0LlxuICAgKlxuICAgKi9cbiAgZGVjbGFyZSBvdXRwdXRzOiBDb21wb25lbnRPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIEByZXNlcnZlZFxuICAgKiBBIGRpY3Rpb25hcnkgb2YgZXZlbnRzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGJ5IHRoaXMgY29tcG9uZW50J3MgYG9uRXZlbnRgLiBFdmVyeSBjb21wb25lbnQgaXMgZ3VhcmFudGVlZCB0byBoYXZlIGFsbCBvZiB0aGUgYEludGVyYWN0aW9uU2VsZWN0aW9uYCBrZXlzOlxuICAgKiAgYGV2ZW50c1tJbnRlcmFjdGlvblNlbGVjdGlvbi5DTElDS11gLCBgZXZlbnRzW0ludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSXWAsIGBldmVudHNbSW50ZXJhY3Rpb25TZWxlY3Rpb24uRFJBR11gXG4gICAqIE5vdGU6IHJlZ2lzdGVyaW5nIHRvIHJlY2VpdmUgYEludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSYCB3aWxsIHByb2R1Y2UgYm90aCBgSW50ZXJhY3Rpb25UeXBlLkhPVkVSYCBhbmQgYEludGVyYWN0aW9uVHlwZS5VTkhPVkVSYCBpbiBgb25FdmVudGAuXG4gICAqL1xuICBkZWNsYXJlIGV2ZW50czogRGljdDxib29sZWFuPjtcblxuICAvKipcbiAgICogQHJlc2VydmVkXG4gICAqIFRoZSBjb250ZXh0IHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgdW5kZXJseWluZyBmcmFtZXdvcmssIGUuZy4gVEhSRUUuanMuXG4gICAqL1xuICBkZWNsYXJlIGNvbnRleHQ6IENvbXBvbmVudENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEByZXNlcnZlZFxuICAgKiBCaW5kcyBgdGhpc1twcm9wXWAgdG8gdGhlIG91dHB1dCBvZiBgc3JjW3NyY1Byb3BdYC5cbiAgICogV2hlbiB0aGUgdmFsdWUgb2YgYHNyY1tzcmNQcm9wXWAgY2hhbmdlcywgdGhlIHZhbHVlIGlzIHByb3BhZ2F0ZWQgYW5kIHNldHMgYHRoaXNbcHJvcF1gIHRvIHRoZSBzYW1lIHZhbHVlIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBkZWNsYXJlIGJpbmQ6IChwcm9wOiBzdHJpbmcsIHNyYzogU2NlbmVDb21wb25lbnRbJ291dHB1dHMnIHwgJ2lucHV0cyddLCBzcmNQcm9wOiBrZXlvZiBTY2VuZUNvbXBvbmVudFsnb3V0cHV0cycgfCAnaW5wdXRzJ10pID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEByZXNlcnZlZFxuICAgKiBOb3RpZmllcyB0aGlzIGNvbXBvbmVudCBvZiBhbiBgZXZlbnRUeXBlYCB3aGVuIHRoZSBgc3JjYCBDb21wb25lbnQgY2FsbHMgYG5vdGlmeWAgd2l0aCBhIGBzcmNFdmVudFR5cGVgIGV2ZW50XG4gICAqL1xuICBkZWNsYXJlIGJpbmRFdmVudDogKGV2ZW50VHlwZTogc3RyaW5nLCBzcmM6IFNjZW5lQ29tcG9uZW50LCBzcmNFdmVudFR5cGU6IHN0cmluZykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQHJlc2VydmVkXG4gICAqIE5vdGlmaWVzIGFueSBldmVudCBiaW5kaW5ncyBvZiBhbiBldmVudCB3aXRoIGBldmVudFR5cGVgIGFuZCBkYXRhIGBldmVudERhdGFgXG4gICAqL1xuICBkZWNsYXJlIG5vdGlmeTogKGV2ZW50VHlwZTogc3RyaW5nLCBldmVudERhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAcmVzZXJ2ZWRcbiAgICogU3B5IG9uIGEgY29tcG9uZW50J3Mgbm90aWZ5IGZyb20gb3V0c2lkZSBvZiB0aGUgY29tcG9uZW50IHN5c3RlbVxuICAgKi9cbiAgZGVjbGFyZSBzcHlPbkV2ZW50OiAoc3B5OiBJQ29tcG9uZW50RXZlbnRTcHkpID0+IElTdWJzY3JpcHRpb247XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTY2VuZUNvbXBvbmVudCBleHRlbmRzIFNjZW5lQ29tcG9uZW50UHJpdmF0ZSB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBkaWN0aW9uYXJ5IG9mIHByb3BlcnRpZXMgdGhhdCBhZmZlY3RzIHRoZSBiZWhhdmlvciBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBUaGUgcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZCBieSBhbiBleHRlcm5hbCBzb3VyY2UgYXQgYW55IHRpbWUuIEl0IGlzIHVwIHRvIHRoZSBjb21wb25lbnQgdG8gcmVzcG9uZCBhcHByb3ByaWF0ZWx5IHRvIHRoZSBjaGFuZ2VzLlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBjYW4gYWxzbyBiZSBiaW5kIHRhcmdldHMgdG8gYW5vdGhlciBvYnNlcnZhYmxlIHNvdXJjZSwgZS5nLiB0aGUgb3V0cHV0IHByb3BlcnR5IG9mIGFub3RoZXIgY29tcG9uZW50LlxuICAgKi9cbiAgaW5wdXRzPzogRGljdDxhbnk+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGNhbGxlZCBvbmNlIGFmdGVyIHRoZSBzY2VuZSBub2RlIGl0cyBhdHRhY2hlZCB0byBoYXMgc3RhcnRlZC5cbiAgICovXG4gIG9uSW5pdD8oKTogdm9pZDtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBjYWxsZWQgYXQgbW9zdCBvbmNlIHBlciBmcmFtZSB3aGVuIHRoZXJlIGFyZSBldmVudHMgb24gdGhpcyBjb21wb25lbnQuXG4gICAqIEFueSBvZiB0aGUgaW50ZXJhY3Rpb24gdHlwZXMgc3BlY2lmaWVkIGluIGB0aGlzLmludGVyYWN0aW9uc2Agb3IgYSBjYWxsIHRvIG5vdGlmeSBmb3IgYSBib3VuZCBldmVudCB3aWxsIHRyaWdnZXIgdGhpcyBldmVudC5cbiAgICogQHByb3BlcnR5IHtzdHJpbmcgfCBDb21wb25lbnRJbnRlcmFjdGlvblR5cGV9IGV2ZW50VHlwZSBUaGUgZXZlbnQgdHlwZVxuICAgKiBAcHJvcGVydHkge3Vua25vd259IGV2ZW50RGF0YSBUaGUgZGF0YSBwYXlsb2FkIG9mIHRoZSBldmVudFxuICAgKi9cbiAgb25FdmVudD8oZXZlbnRUeXBlOiBzdHJpbmcsIGV2ZW50RGF0YTogdW5rbm93bik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgY2FsbGVkIGFmdGVyIGFuIGlucHV0IHByb3BlcnR5IGhhcyBjaGFuZ2VkLlxuICAgKiBJdCB3aWxsIGJlIGNhbGxlZCBhdCBtb3N0IG9uY2UgYSBmcmFtZS5cbiAgICovXG4gIG9uSW5wdXRzVXBkYXRlZD8ocHJldmlvdXNJbnB1dHM6IHRoaXNbJ2lucHV0cyddKTogdm9pZDtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBjYWxsZWQgb25jZSBhIGZyYW1lIGFmdGVyIGlucHV0IGNoYW5nZXMgaGF2ZSBiZWVuIGRldGVjdGVkLlxuICAgKi9cbiAgb25UaWNrPyh0aWNrRGVsdGE6IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEByZXNlcnZlZFxuICAgKiBBIGRpY3Rpb25hcnkgb2YgZXZlbnRzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGJ5IHRoaXMgY29tcG9uZW50J3MgYG9uRXZlbnRgLiBFdmVyeSBjb21wb25lbnQgaXMgZ3VhcmFudGVlZCB0byBoYXZlIGFsbCBvZiB0aGUgYEludGVyYWN0aW9uU2VsZWN0aW9uYCBrZXlzOlxuICAgKiAgYGV2ZW50c1tJbnRlcmFjdGlvblNlbGVjdGlvbi5DTElDS11gLCBgZXZlbnRzW0ludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSXWAsIGBldmVudHNbSW50ZXJhY3Rpb25TZWxlY3Rpb24uRFJBR11gXG4gICAqIE5vdGU6IHJlZ2lzdGVyaW5nIHRvIHJlY2VpdmUgYEludGVyYWN0aW9uU2VsZWN0aW9uLkhPVkVSYCB3aWxsIHByb2R1Y2UgYm90aCBgSW50ZXJhY3Rpb25UeXBlLkhPVkVSYCBhbmQgYEludGVyYWN0aW9uVHlwZS5VTkhPVkVSYCBpbiBgb25FdmVudGAuXG4gICAqL1xuICBvdmVycmlkZSBldmVudHM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBAcmVzZXJ2ZWRcbiAgICogQSBkaWN0aW9uYXJ5IG9mIGV2ZW50cyB0aGF0IHdpbGwgYmUgZW1pdHRlZCBieSB0aGlzIGNvbXBvbmVudC5cbiAgICovXG4gIGVtaXRzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgY2FsbGVkIG9uY2UgcmlnaHQgYmVmb3JlIHRoZSBzY2VuZSBub2RlIGhhcyBzdG9wcGVkLlxuICAgKi9cbiAgb25EZXN0cm95PygpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgbm9kZSBvZiBhIHNjZW5lIGdyYXBoLlxuICogQWdncmVnYXRlcyBgU2NlbmVDb21wb25lbnRgIGFzIGNoaWxkcmVuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTY2VuZU5vZGUge1xuICAvKipcbiAgICogQSBodW1hbiByZWFkYWJsZSBuYW1lIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIG5vZGUuXG4gICAqIFRoZSBwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUgdHJhbnNmb3JtcyBhcmUgYXBwbGllZCBpbiBzY2FsZSwgcXVhdGVybmlvbiwgdGhlbiBzY2FsZSBvcmRlci4gKHNhbWUgYXMgVEhSRUUuanMpXG4gICAqL1xuICByZWFkb25seSBwb3NpdGlvbjogVEhSRUUuVmVjdG9yMztcblxuICAvKipcbiAgICogVGhlIG9yaWVudGF0aW9uIG9mIHRoZSBub2RlLlxuICAgKiBUaGUgcG9zaXRpb24sIHF1YXRlcm5pb24sIHNjYWxlIHRyYW5zZm9ybXMgYXJlIGFwcGxpZWQgaW4gc2NhbGUsIHF1YXRlcm5pb24sIHRoZW4gc2NhbGUgb3JkZXIuIChzYW1lIGFzIFRIUkVFLmpzKVxuICAgKi9cbiAgcmVhZG9ubHkgcXVhdGVybmlvbjogVEhSRUUuUXVhdGVybmlvbjtcblxuICAvKipcbiAgICogVGhlIHNjYWxlIG9mIHRoZSBub2RlLlxuICAgKiBUaGUgcG9zaXRpb24sIHF1YXRlcm5pb24sIHNjYWxlIHRyYW5zZm9ybXMgYXJlIGFwcGxpZWQgaW4gc2NhbGUsIHF1YXRlcm5pb24sIHRoZW4gc2NhbGUgb3JkZXIuIChzYW1lIGFzIFRIUkVFLmpzKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGU6IFRIUkVFLlZlY3RvcjM7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbmQgYWRkIGEgY2hpbGQgY29tcG9uZW50IHRvIHRoaXMgbm9kZS5cbiAgICpcbiAgICogQHBhcmFtIGZhY3RvcnkgVGhlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBmYWN0b3J5IHRvIGdlbmVyYXRlIGEgYFNjZW5lQ29tcG9uZW50YFxuICAgKiBAcGFyYW0gaW5pdGlhbElucHV0cyBBbiBpbml0aWFsIHNldCBvZiBpbnB1dHMsIGltbWVkaWF0ZWx5IGF2YWlsYWJsZSB0byB0aGUgbmV3bHkgY3JlYXRlIGBTY2VuZUNvbXBvbmVudC5vbkluaXRgXG4gICAqL1xuICBhZGRDb21wb25lbnQoZmFjdG9yeTogc3RyaW5nLCBpbml0aWFsSW5wdXRzPzogU2NlbmVDb21wb25lbnRbJ2lucHV0cyddKTogU2NlbmVDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIEFuIGl0ZXJhdG9yIHRvIGl0ZXJhdGUgb3ZlciB0aGUgY29tcG9uZW50cyBhZGRlZCB0byB0aGlzIG5vZGUgdXNpbmcgYSBmb3Itb2YgbG9vcC5cbiAgICovXG4gIGNvbXBvbmVudEl0ZXJhdG9yKCk6IEl0ZXJhYmxlSXRlcmF0b3I8U2NlbmVDb21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgbm9kZSBhbmQgaXRzIGNvbXBvbmVudHMuXG4gICAqL1xuICBzdGFydCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTdG9wIHRoZSBub2RlIGFuZCBpdHMgY29tcG9uZW50cy5cbiAgICovXG4gIHN0b3AoKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgdHlwZXMgb2YgdGhlIEludGVyYWN0aW9uIGV2ZW50cyByZWNlaXZlZCBmcm9tIHRoZSByZWdpc3RlcmVkIGBJbnRlcmFjdGlvblNlbGVjdGlvbmBcbiAqL1xuZXhwb3J0IGVudW0gQ29tcG9uZW50SW50ZXJhY3Rpb25UeXBlIHtcbiAgLyoqIENMSUNLIGV2ZW50cyAqL1xuICBDTElDSyA9ICdJTlRFUkFDVElPTi5DTElDSycsXG4gIC8qKiBIT1ZFUiBldmVudHMgKi9cbiAgSE9WRVIgPSAnSU5URVJBQ1RJT04uSE9WRVInLFxuICAvKiogRFJBRyBldmVudHMgKG1vdXNlZG93biB0aGVuIG1vdmUpICovXG4gIERSQUcgPSAnSU5URVJBQ1RJT04uRFJBRycsXG4gIERSQUdfQkVHSU4gPSAnSU5URVJBQ1RJT04uRFJBR19CRUdJTicsXG4gIERSQUdfRU5EID0gJ0lOVEVSQUNUSU9OLkRSQUdfRU5EJyxcbiAgUE9JTlRFUl9NT1ZFID0gJ0lOVEVSQUNUSU9OLlBPSU5URVJfTU9WRScsXG4gIFBPSU5URVJfQlVUVE9OID0gJ0lOVEVSQUNUSU9OLlBPSU5URVJfQlVUVE9OJyxcbiAgU0NST0xMID0gJ0lOVEVSQUNUSU9OLlNDUk9MTCcsXG4gIEtFWSA9ICdJTlRFUkFDVElPTi5LRVknLFxuICBMT05HX1BSRVNTX1NUQVJUID0gJ0lOVEVSQUNUSU9OLkxPTkdfUFJFU1NfU1RBUlQnLFxuICBMT05HX1BSRVNTX0VORCA9ICdJTlRFUkFDVElPTi5MT05HX1BSRVNTX0VORCcsXG4gIE1VTFRJX1NXSVBFID0gJ0lOVEVSQUNUSU9OLk1VTFRJX1NXSVBFJyxcbiAgTVVMVElfU1dJUEVfRU5EID0gJ0lOVEVSQUNUSU9OLk1VTFRJX1NXSVBFX0VORCcsXG4gIFBJTkNIID0gJ0lOVEVSQUNUSU9OLlBJTkNIJyxcbiAgUElOQ0hfRU5EID0gJ0lOVEVSQUNUSU9OLlBJTkNIX0VORCcsXG4gIFJPVEFURSA9ICdJTlRFUkFDVElPTi5ST1RBVEUnLFxuICBST1RBVEVfRU5EID0gJ0lOVEVSQUNUSU9OLlJPVEFURV9FTkQnLFxufVxuXG5hYnN0cmFjdCBjbGFzcyBDb21wb25lbnRPdXRwdXRSZXNlcnZlZCB7XG4gIGRlY2xhcmUgb2JqZWN0Um9vdDogVEhSRUUuT2JqZWN0M0QgfCBudWxsO1xuICBkZWNsYXJlIGNvbGxpZGVyOiBUSFJFRS5PYmplY3QzRCB8IG51bGw7XG59XG5cbi8vIEhhY2sgYXJvdW5kIHRoZSB0eXBlIHN5c3RlbSB0byBnZXQgYSBjbGVhbmVyIGludGVyZmFjZSBhcm91bmQgYENvbXBvbmVudE91dHB1dGBcbmludGVyZmFjZSBDb21wb25lbnRPdXQgZXh0ZW5kcyBEaWN0PGFueT4ge31cbmNsYXNzIENvbXBvbmVudE91dCBleHRlbmRzIENvbXBvbmVudE91dHB1dFJlc2VydmVkICB7fVxuXG4vKipcbiAqIEEgZ2VuZXJhbC11c2UgYmFnIG9mIHByb3BlcnRpZXMuXG4gKiBBdCBhIG1pbmltdW0sIGl0IGhhcyBgb2JqZWN0Um9vdGAgYW5kIGBjb2xsaWRlcmAgYXV0b21hdGljYWxseSBkZWZpbmVkLlxuICovXG5leHBvcnQgdHlwZSBDb21wb25lbnRPdXRwdXQgPSBDb21wb25lbnRPdXQ7XG5cbi8qKlxuICogVGhlIGNvbnRleHQgb2YgYSBjb21wb25lbnQgKGF2YWlsYWJsZSBhcyBgdGhpcy5jb250ZXh0YCkgaW4gYSBgU2NlbmVDb21wb25lbnRgIHN1YmNsYXNzLlxuICogQWNjZXNzIHRvIHRoZSByb290IGBJU2NlbmVOb2RlYCBhbmQgdGhlIFRIUkVFLmpzIGFyZSBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBvbmVudENvbnRleHQgPSB7XG4gIHRocmVlOiB0eXBlb2YgVEhSRUU7XG4gIHJvb3Q6IElTY2VuZU5vZGU7XG4gIHJlbmRlcmVyOiBUSFJFRS5XZWJHTFJlbmRlcmVyO1xuICB1c2VyOiBEaWN0PGFueT47XG4gIHNjZW5lOiBTY2VuZTtcbn07XG5cbi8qKlxuICogQSByYXljYXN0IGludGVyc2VjdGlvbiB3aXRoIGEgbWVzaFxuICovXG5leHBvcnQgdHlwZSBJbnRlcnNlY3QgPSB7XG4gIHBvaW50OiBUSFJFRS5WZWN0b3IzO1xuICBub3JtYWw6IFRIUkVFLlZlY3RvcjM7XG4gIGNvbGxpZGVyOiBUSFJFRS5PYmplY3QzRDtcbn07XG5cbi8qKlxuICogQSBzcHkgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYSBjb21wb25lbnQgdXNpbmcgYHNweU9uRXZlbnRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbXBvbmVudEV2ZW50U3B5PFQgPSB1bmtub3duPiB7XG4gIHJlYWRvbmx5IGV2ZW50VHlwZTogc3RyaW5nO1xuICBvbkV2ZW50KGV2ZW50RGF0YT86IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFuIG9iamVjdCByZXNwb25zaWJsZSBmb3IgcmVtb3ZpbmcgYSBzcHkgZnJvbSBhIGNvbXBvbmVudCdzIGV2ZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN1YnNjcmlwdGlvbiB7XG4gIGNhbmNlbCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWZWN0b3IyIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZlY3RvcjMge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgejogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBQb2ludGVyQnV0dG9uIHtcbiAgUFJJTUFSWSxcbiAgTUlERExFLFxuICBTRUNPTkRBUlksXG4gIEJBQ0ssXG4gIEZPUldBUkQsXG4gIENPVU5ULFxufVxuXG5leHBvcnQgZW51bSBQb2ludGVyQnV0dG9uTWFzayB7XG4gIE5PTkUsXG4gIFBSSU1BUlkgPSAxIDw8IFBvaW50ZXJCdXR0b24uUFJJTUFSWSxcbiAgU0VDT05EQVJZID0gMSA8PCBQb2ludGVyQnV0dG9uLlNFQ09OREFSWSxcbiAgTUlERExFID0gMSA8PCBQb2ludGVyQnV0dG9uLk1JRERMRSxcbiAgQkFDSyA9IDEgPDwgUG9pbnRlckJ1dHRvbi5CQUNLLFxuICBGT1JXQVJEID0gMSA8PCBQb2ludGVyQnV0dG9uLkZPUldBUkQsXG4gIEFMTCA9ICgxIDw8IFBvaW50ZXJCdXR0b24uQ09VTlQpIC0gMSxcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRlckRldmljZSB7XG4gIE1PVVNFID0gJ21vdXNlJyxcbiAgVE9VQ0ggPSAndG91Y2gnLFxuICBQRU4gPSAncGVuJyxcbiAgR0FNRVBBRCA9ICdnYW1lcGFkJyxcbn1cblxuLyoqXG4gKiBGaXJlZCBvbiBldmVyeSBtb3VzZSBkb3duLCBwcm92aWRlcyBjdXJyZW50IHBvc2l0aW9uL2J1dHRvbnMgZG93bi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEcmFnQmVnaW5FdmVudCB7XG4gIC8qKiBDdXJyZW50IHBvc2l0aW9uICovXG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcbiAgLyoqIEJ1dHRvbnMgZG93biBkdXJpbmcgZXZlbnQgKi9cbiAgcmVhZG9ubHkgYnV0dG9uczogUG9pbnRlckJ1dHRvbk1hc2s7XG59XG5cbi8qKlxuICogRmlyZWQgb25seSBhZnRlciB0aGUgcG9pbnRlciBoYXMgbW92ZWQgZmFyIGVub3VnaCBmcm9tIERyYWdCZWdpbkV2ZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0V2ZW50IHtcbiAgLyoqIEN1cnJlbnQgcG9zaXRpb24gKi9cbiAgcmVhZG9ubHkgcG9zaXRpb246IElWZWN0b3IyO1xuICAvKiogRGVsdGEgbW92ZWQgc2luY2UgbGFzdCBkcmFnIGV2ZW50ICovXG4gIHJlYWRvbmx5IGRlbHRhOiBJVmVjdG9yMjtcbiAgLyoqIEJ1dHRvbnMgZG93biBkdXJpbmcgZXZlbnQgKi9cbiAgcmVhZG9ubHkgYnV0dG9uczogUG9pbnRlckJ1dHRvbk1hc2s7XG59XG5cbi8qKlxuICogRmlyZWQgb24gZXZlcnkgbW91c2UgdXAsIGluY2x1ZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIERyYWdCZWdpbiBhbmQgY3VycmVudCBwb3NpdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEcmFnRW5kRXZlbnQgZXh0ZW5kcyBEcmFnRXZlbnQge1xuICAvKiogZHVyYXRpb24gc2luY2UgbGFzdCBEcmFnRXZlbnQgKi9cbiAgcmVhZG9ubHkgdGltZVNpbmNlTGFzdE1vdmU6IG51bWJlcjtcblxuICAvKiogVGhlIGRlbHRhIGJldHdlZW4gcG9zaXRpb24sIGFuZCB0aGUgcG9zaXRpb24gZnJvbSBEcmFnQmVnaW5FdmVudCAqL1xuICByZWFkb25seSBmdWxsRGVsdGE6IElWZWN0b3IyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50ZXJNb3ZlRXZlbnQge1xuICByZWFkb25seSBpZDogbnVtYmVyO1xuICByZWFkb25seSBwb3NpdGlvbjogSVZlY3RvcjI7XG4gIHJlYWRvbmx5IGJ1dHRvbnM6IFBvaW50ZXJCdXR0b25NYXNrO1xuICByZWFkb25seSBkZXZpY2U6IFBvaW50ZXJEZXZpY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRlckJ1dHRvbkV2ZW50IHtcbiAgcmVhZG9ubHkgaWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgcG9zaXRpb246IElWZWN0b3IyO1xuICByZWFkb25seSBidXR0b246IFBvaW50ZXJCdXR0b247XG4gIHJlYWRvbmx5IGRvd246IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRldmljZTogUG9pbnRlckRldmljZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JvbGxFdmVudCB7XG4gIHJlYWRvbmx5IHBvc2l0aW9uOiBJVmVjdG9yMjtcbiAgcmVhZG9ubHkgZGVsdGE6IElWZWN0b3IyO1xufVxuXG5leHBvcnQgZW51bSBLZXlTdGF0ZSB7XG4gIERPV04sXG4gIFBSRVNTRUQsXG4gIFVQLFxufVxuXG5leHBvcnQgZW51bSBLZXlze1xuICBFU0NBUEUgPSAyNyxcbiAgWkVSTyA9IDQ4LFxuICBPTkUgPSA0OSxcbiAgVFdPID0gNTAsXG4gIFRIUkVFID0gNTEsXG4gIEZPVVIgPSA1MixcbiAgRklWRSA9IDUzLFxuICBTSVggPSA1NCxcbiAgU0VWRU4gPSA1NSxcbiAgRUlHSFQgPSA1NixcbiAgTklORSA9IDU3LFxuICBMRUZUQVJST1cgPSAzNyxcbiAgVVBBUlJPVyA9IDM4LFxuICBSSUdIVEFSUk9XID0gMzksXG4gIERPV05BUlJPVyA9IDQwLFxuICBUQUIgPSA5LFxuICBBID0gNjUsXG4gIEIgPSA2NixcbiAgQyA9IDY3LFxuICBEID0gNjgsXG4gIEUgPSA2OSxcbiAgRiA9IDcwLFxuICBHID0gNzEsXG4gIEggPSA3MixcbiAgSSA9IDczLFxuICBKID0gNzQsXG4gIEsgPSA3NSxcbiAgTCA9IDc2LFxuICBNID0gNzcsXG4gIE4gPSA3OCxcbiAgTyA9IDc5LFxuICBQID0gODAsXG4gIFEgPSA4MSxcbiAgUiA9IDgyLFxuICBTID0gODMsXG4gIFQgPSA4NCxcbiAgVSA9IDg1LFxuICBWID0gODYsXG4gIFcgPSA4NyxcbiAgWCA9IDg4LFxuICBZID0gODksXG4gIFogPSA5MCxcbiAgU1BBQ0UgPSAzMixcbiAgUkVUVVJOID0gMTMsXG4gIERFTEVURSA9IDQ2LFxuICBCQUNLU1BBQ0UgPSA4LFxuICBTRU1JQ09MT04gPSAxODYsXG4gIFBMVVNFUVVBTFMgPSAxODcsXG4gIERBU0hVTkRFUlNDT1JFID0gMTg5LFxuICBPUEVOQlJBQ0tFVCA9IDIxOSxcbiAgU0hJRlQgPSAxNixcbiAgQUxUID0gMTgsXG4gIENPTlRST0wgPSAxNyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlFdmVudCB7XG4gIGtleTogS2V5cztcbiAgc3RhdGU6IEtleVN0YXRlO1xuICBtb2RpZmllcnM6IHtcbiAgICBhbHRLZXk6IGJvb2xlYW4sXG4gICAgc2hpZnRLZXk6IGJvb2xlYW4sXG4gICAgY3RybEtleTogYm9vbGVhblxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvbmdQcmVzc1N0YXJ0RXZlbnQge1xuICByZWFkb25seSBwb3NpdGlvbjogSVZlY3RvcjI7XG4gIHJlYWRvbmx5IGJ1dHRvbnM6IFBvaW50ZXJCdXR0b25NYXNrO1xuICByZWFkb25seSB0aHJlc2hvbGQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb25nUHJlc3NFbmRFdmVudCB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpU3dpcGVFdmVudCB7XG4gIHJlYWRvbmx5IHBvaW50ZXJDb3VudDogbnVtYmVyO1xuICByZWFkb25seSBwb3NpdGlvbjogSVZlY3RvcjI7XG4gIHJlYWRvbmx5IGRlbHRhOiBJVmVjdG9yMjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVN3aXBlRW5kRXZlbnQgZXh0ZW5kcyBNdWx0aVN3aXBlRXZlbnQge1xuICByZWFkb25seSB0aW1lU2luY2VMYXN0TW92ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpbmNoRXZlbnQge1xuICByZWFkb25seSBwaW5jaERlbHRhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGluY2hFbmRFdmVudCBleHRlbmRzIFBpbmNoRXZlbnQge1xuICByZWFkb25seSB0aW1lU2luY2VMYXN0TW92ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdGF0ZUV2ZW50IHtcbiAgcmVhZG9ubHkgcm90YXRlRGVsdGE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3RhdGVFbmRFdmVudCBleHRlbmRzIFJvdGF0ZUV2ZW50IHtcbiAgcmVhZG9ubHkgdGltZVNpbmNlTGFzdE1vdmU6IG51bWJlcjtcbn1cbiJdfQ==
@@ -95,4 +95,4 @@ export const TvPlayerType = 'mp.TvPlayer';
95
95
  export const makeTvPlayer = function () {
96
96
  return new TvPlayer();
97
97
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHZQbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy90di1wbGF5ZXIvVHZQbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBbUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBR0wsT0FBTyxFQUNQLGlCQUFpQixFQUVqQixZQUFZLEdBQ2IsTUFBTSxPQUFPLENBQUM7QUFFZixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFDM0IsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBUy9CLE1BQU0sT0FBTyxRQUFTLFNBQVEsY0FBYztJQUE1Qzs7UUFDVSxjQUFTLEdBQW9CLElBQUksQ0FBQztRQUNsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUl4QixXQUFNLEdBQVc7WUFDeEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFBO1FBR1EsV0FBTSxHQUFHO1lBQ2hCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSTtZQUNsQixDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7U0FDckIsQ0FBQztJQXVGSixDQUFDO0lBcEZVLE1BQU0sQ0FBQyxTQUFlO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDSSxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVRLFNBQVM7UUFDaEIsS0FBSyxDQUFDLFNBQVMsRUFB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QW9CLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTt3QkFDM0MsTUFBTSxFQUFFLENBQUM7b0JBQ1gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUVUO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCw0QkFBNEI7WUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsU0FBeUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2NlbmVDb21wb25lbnQsIENvbXBvbmVudENvbnRleHR9IGZyb20gJy4uL3NjZW5lLWNvbXBvbmVudC9TY2VuZUNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgT2JqZWN0M0QsXHJcbiAgTWVzaCxcclxuICBUZXh0dXJlLFxyXG4gIE1lc2hCYXNpY01hdGVyaWFsLFxyXG4gIExpbmVTZWdtZW50cyxcclxuICBMaW5lYXJGaWx0ZXIsXHJcbn0gZnJvbSAndGhyZWUnO1xyXG5cclxuY29uc3QgSG92ZXJFdmVudCA9ICdob3Zlcic7XHJcbmNvbnN0IFVuaG92ZXJFdmVudCA9ICd1bmhvdmVyJztcclxuXHJcbnR5cGUgSW5wdXRzID0ge1xyXG4gIGxvYWRpbmdTdGF0ZTogc3RyaW5nO1xyXG4gIHRleHR1cmU6IFRleHR1cmUgfCBudWxsO1xyXG4gIHVwZGF0ZUludGVydmFsOiBudW1iZXI7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVHZQbGF5ZXIgZXh0ZW5kcyBTY2VuZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSByb290U2NlbmU6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBtZXNoOiBNZXNoIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnQ6IFNjZW5lQ29tcG9uZW50O1xyXG5cclxuXHJcbiAgb3ZlcnJpZGUgaW5wdXRzOiBJbnB1dHMgPSB7XHJcbiAgICBsb2FkaW5nU3RhdGU6ICdJZGxlJyxcclxuICAgIHRleHR1cmU6IG51bGwsXHJcbiAgICB1cGRhdGVJbnRlcnZhbDogMTAwMCxcclxuICB9XHJcblxyXG5cclxuICBvdmVycmlkZSBldmVudHMgPSB7XHJcbiAgICBbSG92ZXJFdmVudF06IHRydWUsXHJcbiAgICBbVW5ob3ZlckV2ZW50XTogdHJ1ZSxcclxuICB9O1xyXG4gIHByaXZhdGUgaW50ZXJ2YWxWaWRlb1RleHR1cmU6IE5vZGVKUy5UaW1lb3V0O1xyXG5cclxuICBvdmVycmlkZSBvbkluaXQobW9kZWxOb2RlPzogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuY29udGV4dCkge1xyXG4gICAgICB0aGlzLmNvbnRleHQgPSB7XHJcbiAgICAgICAgcm9vdDogbW9kZWxOb2RlXHJcbiAgICAgIH0gYXMgQ29tcG9uZW50Q29udGV4dDtcclxuICAgIH1cclxuICAgIGNvbnN0IHJvb3QgPSB0aGlzLmNvbnRleHQucm9vdDtcclxuICAgIGNvbnN0IFRIUkVFID0gdGhpcy5jb250ZXh0LnRocmVlO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25EZXN0cm95KCkge1xyXG4gICAgc3VwZXIub25EZXN0cm95KCk7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxWaWRlb1RleHR1cmUpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25JbnB1dHNVcGRhdGVkKCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRzLmxvYWRpbmdTdGF0ZSA9PT0gJ0xvYWRlZCcpIHtcclxuICAgICAgY29uc3QgbGluZXM6IExpbmVTZWdtZW50c1tdID0gW107XHJcblxyXG4gICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgdGhpcy5jb250ZXh0LnJvb3Qub2JqM0QudHJhdmVyc2UoKG9iajogT2JqZWN0M0QpID0+IHtcclxuICAgICAgICAvLyB3ZSBkb250IHdhbnQgbGluZSBzZWdtZW50cywgdHJhY2sgdGhlbSBhbmQgcmVtb3ZlIHRoZW0uXHJcbiAgICAgICAgaWYgKG9iai50eXBlID09PSAnTGluZVNlZ21lbnRzJykge1xyXG4gICAgICAgICAgbGluZXMucHVzaChvYmogYXMgTGluZVNlZ21lbnRzKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnTWVzaCcpIHtcclxuICAgICAgICAgIHRoaXMubWVzaCA9IG9iaiBhcyBNZXNoO1xyXG5cclxuICAgICAgICAgIGxldCB2aWRlbywgdmlkZW9JbWFnZSwgdmlkZW9JbWFnZUNvbnRleHQsIHZpZGVvVGV4dHVyZTtcclxuICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgdmlkZW8gZWxlbWVudFxyXG4gICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpO1xyXG4gICAgICAgICAgLy8gdmlkZW8uc3JjID0gXCIuLy4uL2Fzc2V0cy92aWRlby92aWRlb19zYW1zaWMubXA0XCI7XHJcbiAgICAgICAgICB2aWRlby5zcmMgPSBcIi4vLi4vYXNzZXRzL3ZpZGVvLzEyMTIyMi0wNC5tcDRcIjtcclxuICAgICAgICAgIHZpZGVvLmxvYWQoKTsgLy8gbXVzdCBjYWxsIGFmdGVyIHNldHRpbmcvY2hhbmdpbmcgc291cmNlXHJcbiAgICAgICAgICB2aWRlby5sb29wID0gdHJ1ZTtcclxuICAgICAgICAgIHZpZGVvLnBsYXkoKTtcclxuXHJcbiAgICAgICAgICB2aWRlb0ltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICAgICAgICAvLyB2aWRlb0ltYWdlLndpZHRoID0gNjQwO1xyXG4gICAgICAgICAgdmlkZW9JbWFnZS53aWR0aCA9IDEyODA7XHJcbiAgICAgICAgICAvLyB2aWRlb0ltYWdlLmhlaWdodCA9IDM2MDtcclxuICAgICAgICAgIHZpZGVvSW1hZ2UuaGVpZ2h0ID0gNzIwO1xyXG5cclxuICAgICAgICAgIHZpZGVvSW1hZ2VDb250ZXh0ID0gdmlkZW9JbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgICAgLy8gYmFja2dyb3VuZCBjb2xvciBpZiBubyB2aWRlbyBwcmVzZW50XHJcbiAgICAgICAgICB2aWRlb0ltYWdlQ29udGV4dC5maWxsU3R5bGUgPSAnIzAwMDAwMCc7XHJcbiAgICAgICAgICB2aWRlb0ltYWdlQ29udGV4dC5maWxsUmVjdCgwLCAwLCB2aWRlb0ltYWdlLndpZHRoLCB2aWRlb0ltYWdlLmhlaWdodCk7XHJcblxyXG4gICAgICAgICAgdmlkZW9UZXh0dXJlID0gbmV3IFRleHR1cmUodmlkZW9JbWFnZSlcclxuICAgICAgICAgIHZpZGVvVGV4dHVyZS5taW5GaWx0ZXIgPSBMaW5lYXJGaWx0ZXI7XHJcbiAgICAgICAgICB2aWRlb1RleHR1cmUubWFnRmlsdGVyID0gTGluZWFyRmlsdGVyO1xyXG4gICAgICAgICAgY29uc3QgbW92aWVNYXRlcmlhbCA9IG5ldyBNZXNoQmFzaWNNYXRlcmlhbCh7bWFwOiB2aWRlb1RleHR1cmV9KVxyXG4gICAgICAgICAgdGhpcy5tZXNoLm1hdGVyaWFsID0gbW92aWVNYXRlcmlhbDtcclxuXHJcbiAgICAgICAgICBjb25zdCByZW5kZXIgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh2aWRlby5yZWFkeVN0YXRlID09PSB2aWRlby5IQVZFX0VOT1VHSF9EQVRBKSB7XHJcbiAgICAgICAgICAgICAgdmlkZW9JbWFnZUNvbnRleHQuZHJhd0ltYWdlKHZpZGVvLCAwLCAwKTtcclxuICAgICAgICAgICAgICBpZiAodmlkZW9UZXh0dXJlKVxyXG4gICAgICAgICAgICAgICAgdmlkZW9UZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBjYW1lcmEgPSAodGhpcy5jb250ZXh0LnNjZW5lLmNoaWxkcmVuLmZpbmQodSA9PiB1LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdDYW1lcmFSaWcnKSkuY2FtZXJhO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucmVuZGVyZXIucmVuZGVyKHRoaXMuY29udGV4dC5zY2VuZSwgY2FtZXJhKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaW50ZXJ2YWxWaWRlb1RleHR1cmUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlbmRlcigpO1xyXG4gICAgICAgICAgfSwgMTgwKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSB0aGUgbGluZSBzZWdtZW50cy5cclxuICAgICAgbGluZXMuZm9yRWFjaCgobGluZTogTGluZVNlZ21lbnRzKSA9PiB7XHJcbiAgICAgICAgbGluZS5wYXJlbnQucmVtb3ZlKGxpbmUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENvbXBvbmVudChjb21wb25lbnQ6IFNjZW5lQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICAgIHRoaXMuY29udGV4dCA9IGNvbXBvbmVudC5jb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgc2V0Um9vdFNjZW5lKHJvb3RTY2VuZTogT2JqZWN0M0QpIHtcclxuICAgIHRoaXMucm9vdFNjZW5lID0gcm9vdFNjZW5lO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFR2UGxheWVyVHlwZSA9ICdtcC5UdlBsYXllcic7XHJcbmV4cG9ydCBjb25zdCBtYWtlVHZQbGF5ZXIgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIG5ldyBUdlBsYXllcigpO1xyXG59XHJcbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHZQbGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL21hdHRlcnBvcnQtZXh0ZW5zaW9ucy90di1wbGF5ZXIvVHZQbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBbUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBR0wsT0FBTyxFQUNQLGlCQUFpQixFQUVqQixZQUFZLEdBQ2IsTUFBTSxPQUFPLENBQUM7QUFFZixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFDM0IsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBUy9CLE1BQU0sT0FBTyxRQUFTLFNBQVEsY0FBYztJQUE1Qzs7UUFDVSxjQUFTLEdBQW9CLElBQUksQ0FBQztRQUNsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUl4QixXQUFNLEdBQVc7WUFDeEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFBO1FBR1EsV0FBTSxHQUFHO1lBQ2hCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSTtZQUNsQixDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7U0FDckIsQ0FBQztJQXVGSixDQUFDO0lBcEZVLE1BQU0sQ0FBQyxTQUFlO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDSSxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVRLFNBQVM7UUFDaEIsS0FBSyxDQUFDLFNBQVMsRUFB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QW9CLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTt3QkFDM0MsTUFBTSxFQUFFLENBQUM7b0JBQ1gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUVUO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCw0QkFBNEI7WUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsU0FBeUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2NlbmVDb21wb25lbnQsIENvbXBvbmVudENvbnRleHR9IGZyb20gJy4uL3NjZW5lLWNvbXBvbmVudC9TY2VuZUNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBPYmplY3QzRCxcbiAgTWVzaCxcbiAgVGV4dHVyZSxcbiAgTWVzaEJhc2ljTWF0ZXJpYWwsXG4gIExpbmVTZWdtZW50cyxcbiAgTGluZWFyRmlsdGVyLFxufSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEhvdmVyRXZlbnQgPSAnaG92ZXInO1xuY29uc3QgVW5ob3ZlckV2ZW50ID0gJ3VuaG92ZXInO1xuXG50eXBlIElucHV0cyA9IHtcbiAgbG9hZGluZ1N0YXRlOiBzdHJpbmc7XG4gIHRleHR1cmU6IFRleHR1cmUgfCBudWxsO1xuICB1cGRhdGVJbnRlcnZhbDogbnVtYmVyO1xufVxuXG5cbmV4cG9ydCBjbGFzcyBUdlBsYXllciBleHRlbmRzIFNjZW5lQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByb290U2NlbmU6IE9iamVjdDNEIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbWVzaDogTWVzaCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGNvbXBvbmVudDogU2NlbmVDb21wb25lbnQ7XG5cblxuICBvdmVycmlkZSBpbnB1dHM6IElucHV0cyA9IHtcbiAgICBsb2FkaW5nU3RhdGU6ICdJZGxlJyxcbiAgICB0ZXh0dXJlOiBudWxsLFxuICAgIHVwZGF0ZUludGVydmFsOiAxMDAwLFxuICB9XG5cblxuICBvdmVycmlkZSBldmVudHMgPSB7XG4gICAgW0hvdmVyRXZlbnRdOiB0cnVlLFxuICAgIFtVbmhvdmVyRXZlbnRdOiB0cnVlLFxuICB9O1xuICBwcml2YXRlIGludGVydmFsVmlkZW9UZXh0dXJlOiBOb2RlSlMuVGltZW91dDtcblxuICBvdmVycmlkZSBvbkluaXQobW9kZWxOb2RlPzogYW55KSB7XG4gICAgaWYgKCF0aGlzLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dCA9IHtcbiAgICAgICAgcm9vdDogbW9kZWxOb2RlXG4gICAgICB9IGFzIENvbXBvbmVudENvbnRleHQ7XG4gICAgfVxuICAgIGNvbnN0IHJvb3QgPSB0aGlzLmNvbnRleHQucm9vdDtcbiAgICBjb25zdCBUSFJFRSA9IHRoaXMuY29udGV4dC50aHJlZTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uRGVzdHJveSgpIHtcbiAgICBzdXBlci5vbkRlc3Ryb3koKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxWaWRlb1RleHR1cmUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25JbnB1dHNVcGRhdGVkKCkge1xuICAgIGlmICh0aGlzLmlucHV0cy5sb2FkaW5nU3RhdGUgPT09ICdMb2FkZWQnKSB7XG4gICAgICBjb25zdCBsaW5lczogTGluZVNlZ21lbnRzW10gPSBbXTtcblxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICB0aGlzLmNvbnRleHQucm9vdC5vYmozRC50cmF2ZXJzZSgob2JqOiBPYmplY3QzRCkgPT4ge1xuICAgICAgICAvLyB3ZSBkb250IHdhbnQgbGluZSBzZWdtZW50cywgdHJhY2sgdGhlbSBhbmQgcmVtb3ZlIHRoZW0uXG4gICAgICAgIGlmIChvYmoudHlwZSA9PT0gJ0xpbmVTZWdtZW50cycpIHtcbiAgICAgICAgICBsaW5lcy5wdXNoKG9iaiBhcyBMaW5lU2VnbWVudHMpO1xuICAgICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnTWVzaCcpIHtcbiAgICAgICAgICB0aGlzLm1lc2ggPSBvYmogYXMgTWVzaDtcblxuICAgICAgICAgIGxldCB2aWRlbywgdmlkZW9JbWFnZSwgdmlkZW9JbWFnZUNvbnRleHQsIHZpZGVvVGV4dHVyZTtcbiAgICAgICAgICAvLyBjcmVhdGUgdGhlIHZpZGVvIGVsZW1lbnRcbiAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgICAgICAgLy8gdmlkZW8uc3JjID0gXCIuLy4uL2Fzc2V0cy92aWRlby92aWRlb19zYW1zaWMubXA0XCI7XG4gICAgICAgICAgdmlkZW8uc3JjID0gXCIuLy4uL2Fzc2V0cy92aWRlby8xMjEyMjItMDQubXA0XCI7XG4gICAgICAgICAgdmlkZW8ubG9hZCgpOyAvLyBtdXN0IGNhbGwgYWZ0ZXIgc2V0dGluZy9jaGFuZ2luZyBzb3VyY2VcbiAgICAgICAgICB2aWRlby5sb29wID0gdHJ1ZTtcbiAgICAgICAgICB2aWRlby5wbGF5KCk7XG5cbiAgICAgICAgICB2aWRlb0ltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgICAgLy8gdmlkZW9JbWFnZS53aWR0aCA9IDY0MDtcbiAgICAgICAgICB2aWRlb0ltYWdlLndpZHRoID0gMTI4MDtcbiAgICAgICAgICAvLyB2aWRlb0ltYWdlLmhlaWdodCA9IDM2MDtcbiAgICAgICAgICB2aWRlb0ltYWdlLmhlaWdodCA9IDcyMDtcblxuICAgICAgICAgIHZpZGVvSW1hZ2VDb250ZXh0ID0gdmlkZW9JbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICAgIC8vIGJhY2tncm91bmQgY29sb3IgaWYgbm8gdmlkZW8gcHJlc2VudFxuICAgICAgICAgIHZpZGVvSW1hZ2VDb250ZXh0LmZpbGxTdHlsZSA9ICcjMDAwMDAwJztcbiAgICAgICAgICB2aWRlb0ltYWdlQ29udGV4dC5maWxsUmVjdCgwLCAwLCB2aWRlb0ltYWdlLndpZHRoLCB2aWRlb0ltYWdlLmhlaWdodCk7XG5cbiAgICAgICAgICB2aWRlb1RleHR1cmUgPSBuZXcgVGV4dHVyZSh2aWRlb0ltYWdlKVxuICAgICAgICAgIHZpZGVvVGV4dHVyZS5taW5GaWx0ZXIgPSBMaW5lYXJGaWx0ZXI7XG4gICAgICAgICAgdmlkZW9UZXh0dXJlLm1hZ0ZpbHRlciA9IExpbmVhckZpbHRlcjtcbiAgICAgICAgICBjb25zdCBtb3ZpZU1hdGVyaWFsID0gbmV3IE1lc2hCYXNpY01hdGVyaWFsKHttYXA6IHZpZGVvVGV4dHVyZX0pXG4gICAgICAgICAgdGhpcy5tZXNoLm1hdGVyaWFsID0gbW92aWVNYXRlcmlhbDtcblxuICAgICAgICAgIGNvbnN0IHJlbmRlciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh2aWRlby5yZWFkeVN0YXRlID09PSB2aWRlby5IQVZFX0VOT1VHSF9EQVRBKSB7XG4gICAgICAgICAgICAgIHZpZGVvSW1hZ2VDb250ZXh0LmRyYXdJbWFnZSh2aWRlbywgMCwgMCk7XG4gICAgICAgICAgICAgIGlmICh2aWRlb1RleHR1cmUpXG4gICAgICAgICAgICAgICAgdmlkZW9UZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNhbWVyYSA9ICh0aGlzLmNvbnRleHQuc2NlbmUuY2hpbGRyZW4uZmluZCh1ID0+IHUuY29uc3RydWN0b3IubmFtZSA9PT0gJ0NhbWVyYVJpZycpKS5jYW1lcmE7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucmVuZGVyZXIucmVuZGVyKHRoaXMuY29udGV4dC5zY2VuZSwgY2FtZXJhKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pbnRlcnZhbFZpZGVvVGV4dHVyZSA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHJlbmRlcigpO1xuICAgICAgICAgIH0sIDE4MCk7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHJlbW92ZSB0aGUgbGluZSBzZWdtZW50cy5cbiAgICAgIGxpbmVzLmZvckVhY2goKGxpbmU6IExpbmVTZWdtZW50cykgPT4ge1xuICAgICAgICBsaW5lLnBhcmVudC5yZW1vdmUobGluZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRDb21wb25lbnQoY29tcG9uZW50OiBTY2VuZUNvbXBvbmVudCkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgIHRoaXMuY29udGV4dCA9IGNvbXBvbmVudC5jb250ZXh0O1xuICB9XG5cbiAgc2V0Um9vdFNjZW5lKHJvb3RTY2VuZTogT2JqZWN0M0QpIHtcbiAgICB0aGlzLnJvb3RTY2VuZSA9IHJvb3RTY2VuZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgVHZQbGF5ZXJUeXBlID0gJ21wLlR2UGxheWVyJztcbmV4cG9ydCBjb25zdCBtYWtlVHZQbGF5ZXIgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBuZXcgVHZQbGF5ZXIoKTtcbn1cbiJdfQ==
@@ -162,4 +162,4 @@ export class MattertagData {
162
162
  return this.poi;
163
163
  }
164
164
  }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0dGVydGFnRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVydGFnRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFnQixtQkFBbUIsRUFBTyxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRixNQUFNLE9BQU8sYUFBYTtJQXNCdEIsWUFBWSxJQUFhO1FBbEJqQixTQUFJLEdBQVksT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUkvQixhQUFRLEdBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRXJDLFdBQU0sR0FBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFNcEMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFPdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O29GQUVnRjtJQUVoRixPQUFPLENBQUMsSUFBYTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQW9CLEVBQUUsT0FBZ0I7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBNEM7UUFDcEQs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QUM7SUFHRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHVuaWNvcm4vZmlsZW5hbWUtY2FzZSAqL1xyXG5pbXBvcnQgeyBEYk9iamVjdFR5cGUsIE1hdHRlcnRhZ0FjdGlvbk1vZGUsIFBPSSwgUG9pVHlwZSB9IGZyb20gXCIuL3R5cGVzLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNYXR0ZXJ0YWdEYXRhIHtcclxuXHJcbiAgICBwcml2YXRlIG9iamVjdDogRGJPYmplY3RUeXBlO1xyXG5cclxuICAgIHByaXZhdGUgdHlwZTogUG9pVHlwZSA9IFBvaVR5cGUuVElDS0VUO1xyXG5cclxuICAgIHB1YmxpYyBlbGVtZW50SUQ6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIHBvc2l0aW9uOiBhbnkgPSB7IHg6IDAsIHk6IDAsIHo6IDAgfTtcclxuXHJcbiAgICBwcml2YXRlIG5vcm1hbDogYW55ID0geyB4OiAwLCB5OiAxLCB6OiAwIH07XHJcblxyXG4gICAgcHJpdmF0ZSBtZWRpYVNyYzogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgc3dlZXBJRDogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBjdXN0b21JY29uSW5kZXggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgcm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XHJcblxyXG4gICAgcHJpdmF0ZSBwb2k6IFBPSTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih0eXBlOiBQb2lUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5zZXRUeXBlKHR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICBTZXR0ZXJzXHJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICAgIHNldFR5cGUodHlwZTogUG9pVHlwZSkge1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0T2JqZWN0KG9iamVjdDogRGJPYmplY3RUeXBlLCB0YWdUeXBlOiBQb2lUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XHJcbiAgICAgICAgdGhpcy5zZXRFbGVtZW50SUQob2JqZWN0LmlkKTtcclxuICAgICAgICB0aGlzLnNldFR5cGUodGFnVHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RWxlbWVudElEKHRpY2tldElEOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRJRCA9IHRpY2tldElEO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTpudW1iZXI7IHo6bnVtYmVyOyB9KSB7XHJcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE5vcm1hbChub3JtYWw6IHsgeDogbnVtYmVyOyB5Om51bWJlcjsgejpudW1iZXI7IH0pIHtcclxuICAgICAgICB0aGlzLm5vcm1hbCA9IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICBzZXRNZWRpYVNvdXJjZShzb3VyY2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubWVkaWFTcmMgPSBzb3VyY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3dlZXBJRChzd2VlcElEOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnN3ZWVwSUQgPSBzd2VlcElEO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFJvdGF0aW9uKHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9KSB7XHJcbiAgICAgICAgdGhpcy5yb3RhdGlvbiA9IHJvdGF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvaShwb2k6IFBPSSkge1xyXG4gICAgICAgIHRoaXMucG9pID0gcG9pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICBHZXR0ZXJzXHJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuICAgIC8vIE1hdHRlcnRhZ0RhdGFcclxuICAgIGdldERhdGEoKSB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJOZXcgVGFnXCI7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLlRJQ0tFVDpcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJOZXcgVGFnXCI7IC8vIGlmIHRoZSBvYmplY3QgZXhpc3RzIHdlIGluamVjdCB0aXRsZSBpbiBodG1sXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDpcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJOZXcgVGFnXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLk1FQVNVUkU6XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMub2JqZWN0ID8gXCJcIiA6IFwiTmV3IFRhZ1wiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5EQVRBOlxyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuREVTSzpcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJOZXcgVGFnXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLk9CSkVDVDNEOlxyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIkNsaWNrIG9uIGJsaW5raW5nIGljb24gdG8gbG9hZCBhIDNEIG9iamVjdCBoZXJlXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLlJPT006XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gXCJOZXcgVGFnXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlwiLFxyXG4gICAgICAgICAgICBhbmNob3JQb3NpdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgeDogdGhpcy5wb3NpdGlvbi54ICogMSxcclxuICAgICAgICAgICAgICAgIHk6IHRoaXMucG9zaXRpb24ueSAqIDEsXHJcbiAgICAgICAgICAgICAgICB6OiB0aGlzLnBvc2l0aW9uLnogKiAxLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzdGVtVmVjdG9yOiB7XHJcbiAgICAgICAgICAgICAgICB4OiB0aGlzLm5vcm1hbC54ICogMC4zLFxyXG4gICAgICAgICAgICAgICAgeTogdGhpcy5ub3JtYWwueSAqIDAuMyxcclxuICAgICAgICAgICAgICAgIHo6IHRoaXMubm9ybWFsLnogKiAwLjMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAvLyBibHVlIGRpc2NcclxuICAgICAgICAgICAgICAgIHI6IDAsXHJcbiAgICAgICAgICAgICAgICBnOiAwLFxyXG4gICAgICAgICAgICAgICAgYjogMSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgbWVkaWE6IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwibWF0dGVydGFnLm1lZGlhLm5vbmVcIixcclxuICAgICAgICAgICAgICAgIHNyYzogXCJcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VHlwZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE5vcm1hbCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q2FsbGJhY2tBY3Rpb25Nb2RlKCk6IE1hdHRlcnRhZ0FjdGlvbk1vZGUge1xyXG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX1RJQ0tFVCA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX1RJQ0tFVDtcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLk9CSkVDVDNEOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fT0JKRUNUM0Q7XHJcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX09CSkVDVDNEIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfT0JKRUNUM0Q7XHJcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5FUVVJUE1FTlQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX0VRVUlQTUVOVCA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0VRVUlQTUVOVDtcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLkRBVEE6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX0RBVEEgOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9EQVRBO1xyXG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuREVTSzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fREFUQSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0RFU0s7XHJcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5ST09NOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9ST09NIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfUk9PTTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9USUNLRVQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldEljb24oKSB7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLlRJQ0tFVDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImljb25fdGlja2V0LnBuZ1wiO1xyXG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuRVFVSVBNRU5UOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaWNvbl9lcXVpcG1lbnQucG5nXCI7XHJcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5PQkpFQ1QzRDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImljb25fb2JqZWN0M2QucG5nXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvb3JkaW5hdGVTdHJpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgeDogdGhpcy5wb3NpdGlvbi54LFxyXG4gICAgICAgICAgICB5OiB0aGlzLnBvc2l0aW9uLnksXHJcbiAgICAgICAgICAgIHo6IHRoaXMucG9zaXRpb24ueixcclxuICAgICAgICAgICAgeFJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uID8gdGhpcy5yb3RhdGlvbi54IDogbnVsbCxcclxuICAgICAgICAgICAgeVJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uID8gdGhpcy5yb3RhdGlvbi55IDogbnVsbCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRNZXRhZGF0YVN0cmluZygpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICBpY29uOiB0aGlzLmdldEljb24oKSxcclxuICAgICAgICAgICAgbm9ybWFsOiB0aGlzLmdldE5vcm1hbCgpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFN3ZWVwSUQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3dlZXBJRDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRPYmplY3QoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3Q7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFJvdGF0aW9uKCk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdGF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBvaSgpOiBQT0kge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvaTtcclxuICAgIH1cclxufVxyXG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0dGVydGFnRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbWF0dGVydGFnRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFnQixtQkFBbUIsRUFBTyxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRixNQUFNLE9BQU8sYUFBYTtJQXNCdEIsWUFBWSxJQUFhO1FBbEJqQixTQUFJLEdBQVksT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUkvQixhQUFRLEdBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRXJDLFdBQU0sR0FBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFNcEMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFPdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O29GQUVnRjtJQUVoRixPQUFPLENBQUMsSUFBYTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQW9CLEVBQUUsT0FBZ0I7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBNEM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUEwQztRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBbUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFRO1FBQ1gsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVEOztvRkFFZ0Y7SUFFaEYsZ0JBQWdCO0lBQ2hCLE9BQU87UUFDSCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2YsS0FBSyxPQUFPLENBQUMsTUFBTTtnQkFDZixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQywrQ0FBK0M7Z0JBQ3JGLE1BQU07WUFDVixLQUFLLE9BQU8sQ0FBQyxTQUFTO2dCQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLE9BQU8sQ0FBQyxPQUFPO2dCQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLE9BQU8sQ0FBQyxJQUFJO2dCQUNiLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDckMsTUFBTTtZQUNWLEtBQUssT0FBTyxDQUFDLElBQUk7Z0JBQ2IsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1YsS0FBSyxPQUFPLENBQUMsUUFBUTtnQkFDakIsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaURBQWlELENBQUM7Z0JBQzdFLE1BQU07WUFDVixLQUFLLE9BQU8sQ0FBQyxJQUFJO2dCQUNiLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ1gsTUFBTTtZQUNWO2dCQUNJLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ2xCLE1BQU07U0FDYjtRQUNELE1BQU0sSUFBSSxHQUFHO1lBQ1QsS0FBSztZQUNMLFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYyxFQUFFO2dCQUNaLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDekI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUc7Z0JBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHO2dCQUN0QixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRzthQUN6QjtZQUNELEtBQUssRUFBRTtnQkFDSCxZQUFZO2dCQUNaLENBQUMsRUFBRSxDQUFDO2dCQUNKLENBQUMsRUFBRSxDQUFDO2dCQUNKLENBQUMsRUFBRSxDQUFDO2FBQ1A7WUFDRCxLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsR0FBRyxFQUFFLEVBQUU7YUFDVjtTQUNKLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLEtBQUssT0FBTyxDQUFDLE1BQU07Z0JBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUM5RixLQUFLLE9BQU8sQ0FBQyxRQUFRO2dCQUNqQixPQUFPLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDO1lBQzdDLGlHQUFpRztZQUNyRyxLQUFLLE9BQU8sQ0FBQyxTQUFTO2dCQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7WUFDcEcsS0FBSyxPQUFPLENBQUMsSUFBSTtnQkFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQzFGLEtBQUssT0FBTyxDQUFDLElBQUk7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUMxRixLQUFLLE9BQU8sQ0FBQyxJQUFJO2dCQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7WUFDMUY7Z0JBQ0ksT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLEtBQUssT0FBTyxDQUFDLE1BQU07Z0JBQ2YsT0FBTyxpQkFBaUIsQ0FBQztZQUM3QixLQUFLLE9BQU8sQ0FBQyxTQUFTO2dCQUNsQixPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssT0FBTyxDQUFDLFFBQVE7Z0JBQ2pCLE9BQU8sbUJBQW1CLENBQUM7U0FDbEM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQixDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xCLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2pELFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNwRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHVuaWNvcm4vZmlsZW5hbWUtY2FzZSAqL1xuaW1wb3J0IHsgRGJPYmplY3RUeXBlLCBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLCBQT0ksIFBvaVR5cGUgfSBmcm9tIFwiLi90eXBlcy5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBNYXR0ZXJ0YWdEYXRhIHtcblxuICAgIHByaXZhdGUgb2JqZWN0OiBEYk9iamVjdFR5cGU7XG5cbiAgICBwcml2YXRlIHR5cGU6IFBvaVR5cGUgPSBQb2lUeXBlLlRJQ0tFVDtcblxuICAgIHB1YmxpYyBlbGVtZW50SUQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgcG9zaXRpb246IGFueSA9IHsgeDogMCwgeTogMCwgejogMCB9O1xuXG4gICAgcHJpdmF0ZSBub3JtYWw6IGFueSA9IHsgeDogMCwgeTogMSwgejogMCB9O1xuXG4gICAgcHJpdmF0ZSBtZWRpYVNyYzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzd2VlcElEOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY3VzdG9tSWNvbkluZGV4ID0gMDtcblxuICAgIHByaXZhdGUgcm90YXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cbiAgICBwcml2YXRlIHBvaTogUE9JO1xuXG4gICAgY29uc3RydWN0b3IodHlwZTogUG9pVHlwZSkge1xuICAgICAgICB0aGlzLnNldFR5cGUodHlwZSk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTZXR0ZXJzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIHNldFR5cGUodHlwZTogUG9pVHlwZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIH1cblxuICAgIHNldE9iamVjdChvYmplY3Q6IERiT2JqZWN0VHlwZSwgdGFnVHlwZTogUG9pVHlwZSkge1xuICAgICAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAgICAgdGhpcy5zZXRFbGVtZW50SUQob2JqZWN0LmlkKTtcbiAgICAgICAgdGhpcy5zZXRUeXBlKHRhZ1R5cGUpO1xuICAgIH1cblxuICAgIHNldEVsZW1lbnRJRCh0aWNrZXRJRDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudElEID0gdGlja2V0SUQ7XG4gICAgfVxuXG4gICAgc2V0UG9zaXRpb24ocG9zaXRpb246IHsgeDogbnVtYmVyOyB5Om51bWJlcjsgejpudW1iZXI7IH0pIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIH1cblxuICAgIHNldE5vcm1hbChub3JtYWw6IHsgeDogbnVtYmVyOyB5Om51bWJlcjsgejpudW1iZXI7IH0pIHtcbiAgICAgICAgdGhpcy5ub3JtYWwgPSBub3JtYWw7XG4gICAgfVxuXG4gICAgc2V0TWVkaWFTb3VyY2Uoc291cmNlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tZWRpYVNyYyA9IHNvdXJjZTtcbiAgICB9XG5cbiAgICBzZXRTd2VlcElEKHN3ZWVwSUQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN3ZWVwSUQgPSBzd2VlcElEO1xuICAgIH1cblxuICAgIHNldFJvdGF0aW9uKHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9KSB7XG4gICAgICAgIHRoaXMucm90YXRpb24gPSByb3RhdGlvbjtcbiAgICB9XG5cbiAgICBzZXRQb2kocG9pOiBQT0kpIHtcbiAgICAgICAgdGhpcy5wb2kgPSBwb2k7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHZXR0ZXJzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8vIE1hdHRlcnRhZ0RhdGFcbiAgICBnZXREYXRhKCkge1xuICAgICAgICBsZXQgbGFiZWwgPSBcIk5ldyBUYWdcIjtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjsgLy8gaWYgdGhlIG9iamVjdCBleGlzdHMgd2UgaW5qZWN0IHRpdGxlIGluIGh0bWxcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5FUVVJUE1FTlQ6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5NRUFTVVJFOlxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5vYmplY3QgPyBcIlwiIDogXCJOZXcgVGFnXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuREFUQTpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMub2JqZWN0ID8gXCJcIiA6IFwiTmV3IFRhZ1wiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLkRFU0s6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm9iamVjdCA/IFwiXCIgOiBcIk5ldyBUYWdcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5PQkpFQ1QzRDpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMub2JqZWN0ID8gXCJcIiA6IFwiQ2xpY2sgb24gYmxpbmtpbmcgaWNvbiB0byBsb2FkIGEgM0Qgb2JqZWN0IGhlcmVcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5ST09NOlxuICAgICAgICAgICAgICAgIGxhYmVsID0gXCJcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSBcIk5ldyBUYWdcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJcIixcbiAgICAgICAgICAgIGFuY2hvclBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgeDogdGhpcy5wb3NpdGlvbi54ICogMSxcbiAgICAgICAgICAgICAgICB5OiB0aGlzLnBvc2l0aW9uLnkgKiAxLFxuICAgICAgICAgICAgICAgIHo6IHRoaXMucG9zaXRpb24ueiAqIDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RlbVZlY3Rvcjoge1xuICAgICAgICAgICAgICAgIHg6IHRoaXMubm9ybWFsLnggKiAwLjMsXG4gICAgICAgICAgICAgICAgeTogdGhpcy5ub3JtYWwueSAqIDAuMyxcbiAgICAgICAgICAgICAgICB6OiB0aGlzLm5vcm1hbC56ICogMC4zLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgLy8gYmx1ZSBkaXNjXG4gICAgICAgICAgICAgICAgcjogMCxcbiAgICAgICAgICAgICAgICBnOiAwLFxuICAgICAgICAgICAgICAgIGI6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWVkaWE6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIm1hdHRlcnRhZy5tZWRpYS5ub25lXCIsXG4gICAgICAgICAgICAgICAgc3JjOiBcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBnZXRUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlO1xuICAgIH1cblxuICAgIGdldE5vcm1hbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsO1xuICAgIH1cblxuICAgIGdldENhbGxiYWNrQWN0aW9uTW9kZSgpOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5USUNLRVQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9USUNLRVQgOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9USUNLRVQ7XG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuT0JKRUNUM0Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fT0JKRUNUM0Q7XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9PQkpFQ1QzRCA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX09CSkVDVDNEO1xuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX0VRVUlQTUVOVCA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0VRVUlQTUVOVDtcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5EQVRBOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9iamVjdCA/IE1hdHRlcnRhZ0FjdGlvbk1vZGUuUE9TSVRJT05fREFUQSA6IE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX0RBVEE7XG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuREVTSzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QgPyBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLlBPU0lUSU9OX0RBVEEgOiBNYXR0ZXJ0YWdBY3Rpb25Nb2RlLkFERF9ERVNLO1xuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLlJPT006XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0ID8gTWF0dGVydGFnQWN0aW9uTW9kZS5QT1NJVElPTl9ST09NIDogTWF0dGVydGFnQWN0aW9uTW9kZS5BRERfUk9PTTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdHRlcnRhZ0FjdGlvbk1vZGUuQUREX1RJQ0tFVDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEljb24oKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFBvaVR5cGUuVElDS0VUOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImljb25fdGlja2V0LnBuZ1wiO1xuICAgICAgICAgICAgY2FzZSBQb2lUeXBlLkVRVUlQTUVOVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJpY29uX2VxdWlwbWVudC5wbmdcIjtcbiAgICAgICAgICAgIGNhc2UgUG9pVHlwZS5PQkpFQ1QzRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJpY29uX29iamVjdDNkLnBuZ1wiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cblxuICAgIGdldENvb3JkaW5hdGVTdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB4OiB0aGlzLnBvc2l0aW9uLngsXG4gICAgICAgICAgICB5OiB0aGlzLnBvc2l0aW9uLnksXG4gICAgICAgICAgICB6OiB0aGlzLnBvc2l0aW9uLnosXG4gICAgICAgICAgICB4Um90YXRpb246IHRoaXMucm90YXRpb24gPyB0aGlzLnJvdGF0aW9uLnggOiBudWxsLFxuICAgICAgICAgICAgeVJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uID8gdGhpcy5yb3RhdGlvbi55IDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWV0YWRhdGFTdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBpY29uOiB0aGlzLmdldEljb24oKSxcbiAgICAgICAgICAgIG5vcm1hbDogdGhpcy5nZXROb3JtYWwoKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3dlZXBJRCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3dlZXBJRDtcbiAgICB9XG5cbiAgICBnZXRPYmplY3QoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0O1xuICAgIH1cblxuXG4gICAgZ2V0Um90YXRpb24oKTogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdGF0aW9uO1xuICAgIH1cblxuICAgIGdldFBvaSgpOiBQT0kge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2k7XG4gICAgfVxufVxuIl19
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
119
119
  ]
120
120
  }]
121
121
  }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9uZ3gtc21hcnRlcnBsYW4tY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBMkN6RixNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3FIQVhVLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQXhDakMseUJBQXlCO1FBQ3pCLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHlCQUF5QjtRQUN6QixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQiw0QkFBNEIsYUFHNUIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osWUFBWTtRQUNaLFNBQVMsaUNBTVQsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGVBQWU7c0hBR04sd0JBQXdCLFlBeEIxQjtZQUNQLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7WUFDWixTQUFTO1lBQ1QsZUFBZSxDQUFDLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDO1NBQ0g7MkZBZVUsd0JBQXdCO2tCQTFDcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxlQUFlLENBQUMsUUFBUSxDQUFDOzRCQUN2QixNQUFNLEVBQUUsSUFBSTt5QkFDYixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENzdkV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jc3YtZXhwb3J0L2Nzdi1leHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IER1cmF0aW9uVG9TdHJpbmdQaXBlIH0gZnJvbSAnLi9waXBlcy9kdXJhdGlvbi10by1zdHJpbmcucGlwZSc7XHJcbmltcG9ydCB7IEhhc2h0YWdGcm9tSWRQaXBlIH0gZnJvbSAnLi9waXBlcy9oYXNodGFnLWZyb20taWQucGlwZSc7XHJcbmltcG9ydCB7IFNhZmVVcmxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLXVybC5waXBlJztcclxuaW1wb3J0IHsgVGltZURhdGVUb0xvY2FsU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdGltZS1kYXRlLXRvLWxvY2FsLXN0cmluZy5waXBlJztcclxuaW1wb3J0IHsgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJuYW1lRnJvbUlkUGlwZSB9IGZyb20gJy4vcGlwZXMvdXNlcm5hbWUtZnJvbS1pZC5waXBlJztcclxuaW1wb3J0IHsgTWVudUJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWJhci9tZW51LWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1iYXIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUtYmFyL25hdmlnYXRpb24tYmFyL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJhbmdlRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWJhci9yYW5nZS1kYXRlLXBpY2tlci9yYW5nZS1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1cHBvcnRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdXBwb3J0LW1vZGFsL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1hdERhdGVOdW1iZXJUb0RpZ2l0c1BpcGUgfSBmcm9tICcuL3BpcGVzL2Zvcm1hdC1kYXRlLW51bWJlci10by1kaWdpdHMucGlwZSc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUaW1lRGF0ZVRvTG9jYWxTdHJpbmdQaXBlLFxyXG4gICAgU2FmZVVybFBpcGUsXHJcbiAgICBIYXNodGFnRnJvbUlkUGlwZSxcclxuICAgIER1cmF0aW9uVG9TdHJpbmdQaXBlLFxyXG4gICAgQ3N2RXhwb3J0Q29tcG9uZW50LFxyXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxyXG4gICAgVXNlcm5hbWVGcm9tSWRQaXBlLFxyXG4gICAgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCxcclxuICAgIE1lbnVCYXJDb21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsXHJcbiAgICBOYXZpZ2F0aW9uQmFyQ29tcG9uZW50LFxyXG4gICAgUmFuZ2VEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgU3VwcG9ydE1vZGFsQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0RGF0ZU51bWJlclRvRGlnaXRzUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTmdiTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKHtcclxuICAgICAgZXh0ZW5kOiB0cnVlXHJcbiAgICB9KVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ3N2RXhwb3J0Q29tcG9uZW50LFxyXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxyXG4gICAgVGltZURhdGVUb0xvY2FsU3RyaW5nUGlwZSxcclxuICAgIFNhZmVVcmxQaXBlLFxyXG4gICAgSGFzaHRhZ0Zyb21JZFBpcGUsXHJcbiAgICBEdXJhdGlvblRvU3RyaW5nUGlwZSxcclxuICAgIFVzZXJuYW1lRnJvbUlkUGlwZSxcclxuICAgIE1lbnVCYXJDb21wb25lbnQsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBTdXBwb3J0TW9kYWxDb21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4U21hcnRlcnBsYW5Db3JlTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFNtYXJ0ZXJwbGFuQ29yZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE5neFNtYXJ0ZXJwbGFuQ29yZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogJ2NvbmZpZycsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9uZ3gtc21hcnRlcnBsYW4tY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBMkN6RixNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3FIQVhVLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQXhDakMseUJBQXlCO1FBQ3pCLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHlCQUF5QjtRQUN6QixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQiw0QkFBNEIsYUFHNUIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osWUFBWTtRQUNaLFNBQVMsaUNBTVQsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGVBQWU7c0hBR04sd0JBQXdCLFlBeEIxQjtZQUNQLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7WUFDWixTQUFTO1lBQ1QsZUFBZSxDQUFDLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDO1NBQ0g7MkZBZVUsd0JBQXdCO2tCQTFDcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxlQUFlLENBQUMsUUFBUSxDQUFDOzRCQUN2QixNQUFNLEVBQUUsSUFBSTt5QkFDYixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3N2RXhwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nzdi1leHBvcnQvY3N2LWV4cG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgRHVyYXRpb25Ub1N0cmluZ1BpcGUgfSBmcm9tICcuL3BpcGVzL2R1cmF0aW9uLXRvLXN0cmluZy5waXBlJztcbmltcG9ydCB7IEhhc2h0YWdGcm9tSWRQaXBlIH0gZnJvbSAnLi9waXBlcy9oYXNodGFnLWZyb20taWQucGlwZSc7XG5pbXBvcnQgeyBTYWZlVXJsUGlwZSB9IGZyb20gJy4vcGlwZXMvc2FmZS11cmwucGlwZSc7XG5pbXBvcnQgeyBUaW1lRGF0ZVRvTG9jYWxTdHJpbmdQaXBlIH0gZnJvbSAnLi9waXBlcy90aW1lLWRhdGUtdG8tbG9jYWwtc3RyaW5nLnBpcGUnO1xuaW1wb3J0IHsgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VybmFtZUZyb21JZFBpcGUgfSBmcm9tICcuL3BpcGVzL3VzZXJuYW1lLWZyb20taWQucGlwZSc7XG5pbXBvcnQgeyBNZW51QmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUtYmFyL21lbnUtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1iYXIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWJhci9uYXZpZ2F0aW9uLWJhci9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSYW5nZURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVudS1iYXIvcmFuZ2UtZGF0ZS1waWNrZXIvcmFuZ2UtZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdXBwb3J0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3VwcG9ydC1tb2RhbC9zdXBwb3J0LW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1hdERhdGVOdW1iZXJUb0RpZ2l0c1BpcGUgfSBmcm9tICcuL3BpcGVzL2Zvcm1hdC1kYXRlLW51bWJlci10by1kaWdpdHMucGlwZSc7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUaW1lRGF0ZVRvTG9jYWxTdHJpbmdQaXBlLFxuICAgIFNhZmVVcmxQaXBlLFxuICAgIEhhc2h0YWdGcm9tSWRQaXBlLFxuICAgIER1cmF0aW9uVG9TdHJpbmdQaXBlLFxuICAgIENzdkV4cG9ydENvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgVXNlcm5hbWVGcm9tSWRQaXBlLFxuICAgIE1vZGFsU3dpdGNoVmlzaXRDb21wb25lbnQsXG4gICAgTWVudUJhckNvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgTmF2aWdhdGlvbkJhckNvbXBvbmVudCxcbiAgICBSYW5nZURhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgTG9hZGVyQ29tcG9uZW50LFxuICAgIFN1cHBvcnRNb2RhbENvbXBvbmVudCxcbiAgICBGb3JtYXREYXRlTnVtYmVyVG9EaWdpdHNQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgTmdiTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBleHRlbmQ6IHRydWVcbiAgICB9KVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ3N2RXhwb3J0Q29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBUaW1lRGF0ZVRvTG9jYWxTdHJpbmdQaXBlLFxuICAgIFNhZmVVcmxQaXBlLFxuICAgIEhhc2h0YWdGcm9tSWRQaXBlLFxuICAgIER1cmF0aW9uVG9TdHJpbmdQaXBlLFxuICAgIFVzZXJuYW1lRnJvbUlkUGlwZSxcbiAgICBNZW51QmFyQ29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBTdXBwb3J0TW9kYWxDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neFNtYXJ0ZXJwbGFuQ29yZU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4U21hcnRlcnBsYW5Db3JlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hTbWFydGVycGxhbkNvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6ICdjb25maWcnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
11
11
  providedIn: 'root'
12
12
  }]
13
13
  }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLGdCQUFnQixDQUFDOztzSEFGTix5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hTbWFydGVycGxhbkNvcmVTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLGdCQUFnQixDQUFDOztzSEFGTix5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neFNtYXJ0ZXJwbGFuQ29yZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=