bpm-core 0.0.51 → 0.0.53

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 (52) hide show
  1. package/esm2022/lib/app/app.component.mjs +20 -9
  2. package/esm2022/lib/components/app-component-sections/previous-requests/previous-requests.component.mjs +3 -5
  3. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +7 -5
  4. package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +4 -6
  5. package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +5 -4
  6. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +76 -51
  7. package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +151 -110
  8. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +6 -7
  9. package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +12 -5
  10. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +2 -1
  11. package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +3 -4
  12. package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +139 -206
  13. package/esm2022/lib/components/shared-components/form-field/index.mjs +2 -1
  14. package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +3 -3
  15. package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +14 -7
  16. package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +6 -4
  17. package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +43 -101
  18. package/esm2022/lib/components/shared-components/index.mjs +1 -3
  19. package/esm2022/lib/i18n/ar.mjs +4 -2
  20. package/esm2022/lib/i18n/en.mjs +4 -2
  21. package/esm2022/lib/services/core.service.ts.mjs +11 -1
  22. package/esm2022/lib/services/i18n.service.mjs +3 -3
  23. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +24 -23
  24. package/esm2022/lib/testComponent/services/i18n.service.mjs +3 -3
  25. package/fesm2022/bpm-core.mjs +582 -663
  26. package/fesm2022/bpm-core.mjs.map +1 -1
  27. package/lib/app/app.component.d.ts +5 -2
  28. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +2 -2
  29. package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +3 -4
  30. package/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.d.ts +12 -3
  31. package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +23 -12
  32. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +5 -2
  33. package/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.d.ts +14 -12
  34. package/lib/components/shared-components/form-field/index.d.ts +1 -0
  35. package/lib/components/shared-components/form-field/info-item/info-item.component.d.ts +1 -1
  36. package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +1 -7
  37. package/lib/components/shared-components/form-field/shared-imports.d.ts +2 -2
  38. package/lib/components/shared-components/index.d.ts +0 -2
  39. package/lib/i18n/ar.d.ts +2 -0
  40. package/lib/i18n/en.d.ts +2 -0
  41. package/lib/services/core.service.ts.d.ts +1 -0
  42. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +0 -2
  43. package/package.json +4 -3
  44. package/src/lib/assets/images/user.svg +6 -0
  45. package/src/lib/assets/scss/_general.scss +4 -1
  46. package/src/lib/assets/scss/_upgrade.scss +2 -2
  47. package/esm2022/lib/components/shared-components/confirmation-popup/confirmation-popup.component.mjs +0 -39
  48. package/esm2022/lib/components/shared-components/delete-popup/delete-popup.component.mjs +0 -19
  49. package/esm2022/lib/components/shared-components/doc-uploader/docs-uploader.component.mjs +0 -686
  50. package/lib/components/shared-components/confirmation-popup/confirmation-popup.component.d.ts +0 -25
  51. package/lib/components/shared-components/delete-popup/delete-popup.component.d.ts +0 -6
  52. package/lib/components/shared-components/doc-uploader/docs-uploader.component.d.ts +0 -144
@@ -186,6 +186,8 @@ export default {
186
186
  "filters": "تصفية",
187
187
  month: "الشهر",
188
188
  year: "السنة",
189
- status: "الحالة"
189
+ status: "الحالة",
190
+ downloadAll: 'تحميل جميع المرفقات',
191
+ itemsPerPage: "عدد العناصر بالصفحة"
190
192
  };
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2kxOG4vYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLGdCQUFnQixFQUFFLDBGQUEwRjtJQUM1RyxXQUFXLEVBQUMsMkhBQTJIO0lBQ3ZJLFVBQVU7SUFDVixPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsT0FBTztJQUNqQixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFNBQVM7SUFDVCxVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixTQUFTO0lBQ1QsUUFBUSxFQUFFLE1BQU07SUFDaEIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUscUNBQXFDO0lBQ3ZELHdCQUF3QjtJQUN4QixxQkFBcUIsRUFBQyxjQUFjO0lBQ3BDLHVCQUF1QixFQUFDLGdDQUFnQztJQUN4RCxpQkFBaUIsRUFBRSxnQkFBZ0I7SUFDbkMsbUJBQW1CLEVBQUMsZUFBZTtJQUNuQyxzQkFBc0I7SUFDdEIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6QyxnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLHVCQUF1QixFQUFFLG9CQUFvQjtJQUM3Qyx3QkFBd0IsRUFBRSxlQUFlO0lBQ3pDLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLGVBQWUsRUFBRSxZQUFZO0lBQzdCLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxhQUFhLEVBQUUsU0FBUztJQUN4QixRQUFRLEVBQUUsUUFBUTtJQUNsQixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsYUFBYSxFQUFDLG9CQUFvQjtJQUNsQyxvQkFBb0I7SUFD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QUUseVlBQXlZO0lBQ3BaLFNBQVMsRUFBRSxzR0FBc0c7SUFDakgsU0FBUyxFQUFFLDBJQUEwSTtJQUNySixTQUFTLEVBQUUsZ1dBQWdXO0lBQzNXLFNBQVMsRUFBRSx1TEFBdUw7SUFDbE0sVUFBVSxFQUFFLGlIQUFpSDtJQUM3SCxVQUFVLEVBQUUsa05BQWtOO0lBQzlOLHVCQUF1QixFQUFFLDRCQUE0QjtJQUVyRCxnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxnQkFBZ0IsRUFBRSwyQkFBMkI7SUFDN0MsUUFBUSxFQUFFLG9EQUFvRDtJQUM5RCx3QkFBd0IsRUFBRSx5SEFBeUg7SUFDbkosU0FBUyxFQUFFLHNEQUFzRDtJQUNqRSxLQUFLLEVBQUMsS0FBSztJQUNYLE1BQU0sRUFBQyxPQUFPO0lBQ2QsU0FBUyxFQUFDLFdBQVc7SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG1CQUFtQixFQUFDLG1CQUFtQjtJQUN2QyxTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsWUFBWTtJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixpQkFBaUIsRUFBQyxrQkFBa0I7SUFDbEMsYUFBYSxFQUFFLGFBQWE7SUFDOUIsT0FBTyxFQUFFLEtBQUs7SUFDZCxjQUFjLEVBQUUsT0FBTztJQUN2QixTQUFTLEVBQUUsT0FBTztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxPQUFPO0lBQ2IsTUFBTSxFQUFDLFFBQVE7Q0FFaEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcclxuICBwYWdlRXJyb3JMb2FkaW5nOiBcItit2K/YqyDYrti32KPYjCDZitix2KzZiSDYp9mE2YXYrdin2YjZhNipINmE2KfYrdmC2KcuINil2LDYpyDYp9iz2KrZhdixINin2YTYrti32KPYjCDZitix2KzZiSDYp9mE2KfYqti12KfZhCDYqNmF2YPYqtioINmF2LPYp9i52K/YqSDYqtmC2YbZitipINin2YTZhdi52YTZiNmF2KfYqlwiLFxyXG4gIHBhZ2VUaW1lT3V0Olwi2YrYqNiv2Ygg2KPZhiDYp9mE2K7Yp9iv2YUg2YrYs9iq2LrYsdmCINmI2YLYqtmL2Kcg2LfZiNmK2YTYp9mLINmE2YTYsdiv2Iwg2YjZgtivINmK2K3Yr9irINmH2LDYpyDYqNiz2KjYqCDYtti52YEg2KfZhNin2KrYtdin2YQg2KPZiCDYrti32KMg2YHZiiDYrtmI2KfYr9mF2YbYpy4g2YrYsdis2Ykg2KfZhNmF2K3Yp9mI2YTYqSDZhdix2Kkg2KPYrtix2Ykg2KjYudivINmC2YTZitmEXCIsXHJcbiAgLy8gQnV0dG9uc1xyXG4gIFwicmVzZXRcIjogXCLYpdi52KfYr9ipINiq2YfZitim2KlcIixcclxuICBcInN1Ym1pdFwiOiBcItil2LHYs9in2YRcIixcclxuICAvLyBTZWxlY3RcclxuICBcInNlbGVjdFlvdXJPcHRpb25cIjogXCLYp9mE2LHYrNin2KEg2KfZhNil2K7YqtmK2KfYsVwiLFxyXG4gIC8vIExhYmVsc1xyXG4gIFwib3B0aW9uYWxcIjogXCLYpdiu2KrZitin2LHZilwiLFxyXG4gIFwiT3B0aW9uYWxcIjogXCLYpdiu2KrZitin2LHZilwiLFxyXG4gIC8vQnV0dG9uc1xyXG4gIFwiYnJvd3NlXCI6IFwi2KrYtdmB2K1cIixcclxuICBcIk15UmVxdWVzdHNcIjogXCLYt9mE2KjYp9iq2YpcIixcclxuICBcIm1heEFsbG93ZWRTaXplXCI6IFwi2K3YrNmFINin2YTZhdmE2YEg2YrYrNioINij2YTYpyDZitiq2LnYr9mJIDEwINmF2YrYutin2KjYp9mK2KpcIixcclxuICAvLyBSZXF1ZXN0IERldGFpbHMgVGl0bGVcclxuICBcInJlcXVlc3REZXRhaWxzVGl0bGVcIjpcItiq2YHYp9i12YrZhCDYp9mE2LfZhNioXCIsXHJcbiAgXCJoclJlcXVlc3REZXRhaWxzVGl0bGVcIjpcItiq2YHYp9i12YrZhCDYp9mE2LfZhNioICjYp9mE2YXZiNin2LHYryDYp9mE2KjYtNix2YrYqSlcIixcclxuICBcImFwcGx5UmVxdWVzdEZvclwiOiBcItiq2YLYr9mK2YUg2KfZhNi32YTYqCDZhNmAXCIsXHJcbiAgXCJzZWFyY2hGb3JFbXBsb3llZVwiOlwi2KfZhNio2K3YqyDYudmGINmF2YjYuNmBXCIsXHJcbiAgLy8gUHJvZmlsZSBJbmZvIGxhYmVsc1xyXG4gIFwiZGlyZWN0TWFuYWdlclwiOiBcItin2YTZhdiv2YrYsSDYp9mE2YXYqNin2LTYsVwiLFxyXG4gIFwiZW1wbG95ZWVFbWFpbFwiOiBcItin2YTYqNix2YrYryDYp9mE2KXZhNmD2KrYsdmI2YbZilwiLFxyXG4gIFwiZ2VuZXJhbERlcGFydG1lbnROYW1lXCI6IFwi2KfZhNil2K/Yp9ix2Kkg2KfZhNi52KfZhdipXCIsXHJcbiAgXCJkZXBhcnRtZW50TmFtZVwiOiBcItin2YTZgtiz2YVcIixcclxuICBcImdlbmVyYWxEZXBhcnRtZW50Q29kZVwiOiBcItix2YXYsiDYp9mE2KXYr9in2LHYqSDYp9mE2LnYp9mF2KlcIixcclxuICBcImh1bWFuUmVzb3VyY2VzTG9jYXRpb25cIjogXCLYtNim2YjZhiDYp9mE2YXZiNi42YHZitmGXCIsXHJcbiAgXCJuYXRpb25hbGl0eVwiOiBcItin2YTYrNmG2LPZitipXCIsXHJcbiAgXCJidXNpbmVzc1Bob25lXCI6IFwi2YfYp9iq2YEg2KfZhNi52YXZhFwiLFxyXG4gIFwiVmlld2FwcHJvdmFsY3ljbGVcIjogXCLYudix2LYg2K/ZiNix2Kkg2KfZhNmF2YjYp9mB2YLYqVwiLFxyXG4gIFwiYXBwcm92YWxjeWNsZVwiOiBcIiDYr9mI2LHYqSDYp9mE2YXZiNin2YHZgtipXCIsXHJcbiAgXCJ2aWV3QWxsRGV0YWlsc1wiOiBcIti52LHYtiDYrNmF2YrYuSDYp9mE2KrZgdin2LXZitmEXCIsXHJcbiAgXCJqb2JQb3NpdGlvblwiOiBcItin2YTZiNi42YrZgdipXCIsXHJcbiAgXCJzZWN0b3JcIjogXCLYp9mE2YLYt9in2LlcIixcclxuICAvLyBGb3JtIFNlY3Rpb24gbGFiZWxzXHJcbiAgXCJkZWxlZ2F0ZVRvXCI6IFwi2YHZiNi2XCIsXHJcbiAgXCJwcm9jZXNzZWRCeVwiOlwi2KrZhdiqINmF2LnYp9mE2KzYqtmHINio2YjYp9iz2LfYqVwiLFxyXG4gIC8vIERhdGVwaWNrZXIgbGFiZWxzXHJcbiAgXCJncmVnb3JpYW5cIjogXCLZhdmK2YTYp9iv2YpcIixcclxuICBcImhpanJpXCI6IFwi2YfYrNix2YpcIixcclxuICAvLyBNZXNzYWdlc1xyXG4gIFwic3VjY2Vzc1N1Ym1pdGVkXCI6IFwiLti02YPYsdin2Ysg2YTYpdix2LPYp9mE2YMg2KfZhNmG2YXZiNiw2KxcIixcclxuICBcImxlbmdodE1pbjE1TWF4NTAwXCI6XCLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCAxNSDYrdix2YEgINmD2K3YryDYo9iv2YbZiSDZiCA1MDAg2K3YsdmBINmD2K3YryDYo9mC2LXZiVwiLFxyXG4gIFwibGVuZ2h0TWluMTVNYXgxMDAwXCI6XCLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCAxNSDYrdix2YEgINmD2K3YryDYo9iv2YbZiSDZiCAxMDAwINit2LHZgSDZg9it2K8g2KPZgti12YlcIixcclxuICBcIm1pbkxlbmd0aDE1XCI6IFwi2KfZhNix2KzYp9ihINmD2KrYp9io2KkgMTUg2K3YsdmBINio2K3YryDYo9iv2YbZiVwiLFxyXG4gIFwibWF4bGVuZ3RoNTAwXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitIDUwMCDYrdix2YFcIixcclxuICBcIm1heFNpemVcIjogXCLYrdis2YUg2KfZhNmF2YTZgSDZitis2Kgg2KPZhNinINmK2KrYudiv2YkgMTAg2YXZiti62KfYqNin2YrYqlwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyBwZGYsIGRvYywgZG9jeCwgcHB0LCBwcHR4LCBwcHMsIHBwc3gsIG9kdCwgeGxzLCB4bHN4LCB6aXAsIGNzdiwgdHh0LCBydGYsIGh0bWwsIG1wNCwgbTR2LCBtb3YsIHdtdiwgYXZpLCBtcGcsIG9ndiwgM2dwLCAzZzIsIGpwZywganBlaiwgcG5nLCBnaWYsIGJtcFwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlSW1nUGRmXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyAocGRmLCBqcGcsIGpwZWosIHBuZywgYm1wKVwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlSW1nUGRmMlwiOiBcItin2YTYrdivINin2YTYo9mC2LXZiSDYp9mE2YXYs9mF2YjYrSDZhNit2KzZhSDYp9mE2YXZhNmBIDEwINmF2YrYrNin2KjZitiqINmIINij2YbZiNin2Lkg2KfZhNmF2YTZgdin2Kog2KfZhNmF2LPZhdmI2K0g2KXYttin2YHYqtmH2KcgIChwZGYsIGRvY3gsIHhsc3gsIGpwZywgZW1haWwsIHBwdHgpXCIsXHJcbiAgXCJ1bnN1cHBvcnRlZFR5cGVJbWdcIjogXCLYp9mE2K3YryDYp9mE2KPZgti12Ykg2KfZhNmF2LPZhdmI2K0g2YTYrdis2YUg2KfZhNmF2YTZgSAxMCDZhdmK2KzYp9io2YrYqiDZiCDYo9mG2YjYp9i5INin2YTZhdmE2YHYp9iqINin2YTZhdiz2YXZiNitINil2LbYp9mB2KrZh9inIChqcGcsIGpwZWosIHBuZywgYm1wKVwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlUGRmXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyAocGRmKVwiLFxyXG4gIFwibm9Vc2Vyc0ZvdW5kXCI6IFwi2KfZhNix2KzYp9ihINil2K/Yrtin2YQg2KjZitin2YbYp9iqINin2YTYqNit2Ksg2KjYtNmD2YQg2LXYrdmK2K1cIixcclxuICAvLyBTdWJtaXQgVGFibGVcclxuICBcImZvcm1UYWJsZUZvcm1JZFwiOiBcItix2YLZhSDYp9mE2YbZhdmI2LDYrFwiLFxyXG4gIFwiZm9ybVRhYmxlRm9ybVN0YXR1c1wiOiBcItit2KfZhNipINin2YTZhtmF2YjYsNisXCIsXHJcbiAgXCJmb3JtVGFibGVDcmVhdGlvbkRhdGVcIjogXCLYqtin2LHZitiuINin2YTZhtmF2YjYsNisXCIsXHJcbiAgXCJmb3JtVGFibGVQZW5kaW5nV2l0aFwiOiBcItmB2Yog2KfZhtiq2LjYp9ixXCIsXHJcbiAgXCJmb3JtVGFibGVCYWNrVG9JbmJveFwiOiBcIti52YjYr9ipINil2YTZiSDYp9mE2KjYsdmK2K8g2KfZhNmI2KfYsdivXCIsXHJcbiAgLy8gZmVlZGJhY2tcclxuICBcInJlcXVlc3RGZWVkYmFja1wiOlwi2LfZhNioINil2YHYp9iv2KlcIixcclxuICBcInJlcXVlc3RUb1wiOiBcItij2LHYs9mEINin2YTZiVwiLFxyXG4gIFwiZmVlZGJhY2tcIjogXCLYpdmB2KfYr9ipXCIsXHJcbiAgXCJ2aWV3RmVlZGJhY2tcIjogXCLYpdi42YfYp9ixINin2YTYpdmB2KfYr9ipXCIsXHJcbiAgXCJyZXF1ZXN0RnJvbVwiOiBcItmF2LHYs9mE2Kkg2YXZhlwiLFxyXG4gIFwiZmVlZGJhY2tRdWVzdGlvblwiOiBcItiz2KTYp9mEINin2YTYpdmB2KfYr9ipXCIsXHJcbiAgXCJlbXBsb3llZVNlYXJjaFwiOiBcItin2YTYqNit2Ksg2LnZhiDZhdmI2LjZgVwiLFxyXG4gIFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzFcIjogXCLYo9iv2K7ZhCDYq9mE2KfYq9ipINij2K3YsdmBINio2K3YryDYo9iv2YbZiSDZhNiq2KjYr9ijINin2YTYqNit2Ksg2LnZhiDYp9mE2YXZiNi42YFcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8yXCI6IFwi2KPYr9iu2YQg2LHZgtmFINmE2YTYqNit2Ksg2KjYsdmC2YUg2KfZhNmF2YjYuNmBXCIsXHJcbiAgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfM1wiOiBcItmE2YTYqNit2Ksg2KjYp9mE2LnZhtmI2KfZhiDYp9mE2KjYsdmK2K/ZiiDYo9iv2K7ZhCBAINmC2KjZhCDYo9mIINio2LnYryDYrdix2YFcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF80XCI6IFwi2KPYqtix2YMg2YXYs9in2YHYqSDZhNmE2KjYrdirINio2KfZhNil2LPZhSDYp9mE2KPZiNmEINij2Ygg2KfZhNir2KfZhtmKINij2Ygg2KfZhNij2K7ZitixXCIsXHJcbiAgXCJvbkJlaGFsZkZsYWdcIjpcIti32YTYqCDYqNin2YTYp9mG2KfYqNipINi52YZcIixcclxuICBcIm9uQmVoYWxmT2ZFbWFpbFwiOlwi2KXYs9mFINin2YTZhdmI2LjZgVwiLFxyXG4gIFwiY29tbWVudEhpc3RvcnlcIjpcItiz2KzZhCDYp9mE2KrYudmE2YrZgtin2KpcIixcclxuICBcIk5PREFUQVwiOiBcItmE2Kcg2YrZiNis2K8g2KjZitin2YbYp9iqXCIsXHJcbiAgXCJ0ZXJtc0FuZENvbmRpdGlvbnNcIjpcItin2YTYtNix2YjYtyDZiNin2YTYp9it2YPYp9mFXCIsXHJcbiAgXCJuby1maWxlc1wiOiBcIiDZhNinINiq2YjYrNivINmF2LHZgdmC2KfYqlwiLFxyXG4gIFwiZHJhZy1maWxlc1wiOiBcItil2LPYrdioINin2YTZhdix2YHZgtin2Kog2YfZhtinXCIsXHJcbiAgXCJsaW1pdC1lcnJvclwiOiBcIti52K/YryDYp9mE2YXYsdmB2YLYp9iqINiq2KzYp9mI2LIg2KfZhNmF2LfZhNmI2KhcIixcclxuICBcInNpemUtZXJyb3JcIjogXCLYrdis2YUg2KfZhNmF2LHZgdmC2KfYqiDYqtis2KfZiNiyINin2YTZhdi32YTZiNioXCIsXHJcbiAgXCJ0eXBlLWVycm9yXCI6IFwi2KrZiNi5INin2YTZhdix2YHZgtin2Kog2LrZitixINmF2YbYp9iz2KhcIixcclxuICBcImR1cGxpY2F0ZWQtZXJyb3JcIjogXCLYqtmFINil2LHZgdin2YIg2KfZhNmF2YTZgSDYqNin2YTZgdi52YRcIixcclxuICBcInRoaXNJc0ludmFsaWRGaWxlXCI6ICfZh9iw2Kcg2YXZhNmBINi62YrYsSDYtdin2YTYrScsXHJcbiAgXCJhZGRcIjogXCLYp9i22KfZgdipXCIsXHJcbiAgXCJhZGRBdHRhY2htZW50c1wiOiBcItin2LbYp9mB2Kkg2YXYsdmB2YLYp9iqXCIsXHJcbiAgXCJhdHRhY2htZW50ZGVzY3JpcHRpb25cIjogXCLZiNi12YEg2KfZhNmF2YTZgVwiLFxyXG4gIFwiYXR0YWNobWVudGNvbW1lbnRcIjogXCLYp9mE2KrYudmE2YrZgtin2KpcIixcclxuICAvLyBcImF0dGFjaG1lbnRcIjogXCLYp9mE2YXYsdmB2YJcIixcclxuICBcImFkZEF0dGFjaG1lbnRcIjogXCLYp9i22KfZgdipINin2YTZhdix2YHZglwiLFxyXG4gIFwibG9jYXRpb25PZkluY2lkZW50XCI6IFwi2YXZiNmC2Lkg2KfZhNio2YTYp9i6XCIsXHJcbiAgXCJGaWxlTmFtZVwiOiBcItin2LPZhSDYp9mE2YXZhNmBXCIsXHJcbiAgXCJGaWxlRGVzY3JpcHRpb25cIjogXCLZiNi12YEg2KfZhNmF2YTZgVwiLFxyXG4gIC8vIFwiZGVsZXRlXCI6IFwi2K3YsNmBXCIsXHJcbiAgXCJBdHRhY2htZW50c1wiOiBcItin2YTZhdix2YHZgtin2KpcIixcclxuICBcIkF0dGFjaG1lbnRcIjogXCLYp9mE2YXYsdmB2YJcIixcclxuICBcImNvbW1lbnRcIjpcItmF2YTYp9it2LjYp9iqXCIsXHJcbiAgXCJjb21tZW50c1wiOlwi2YXZhNin2K3YuNin2KpcIixcclxuICBcImRlc2NyaXB0aW9uXCI6XCLYp9mE2YjYtdmBXCIsXHJcbiAgXCJwcm9jZXNzaW5nRGF0ZVwiOlwi2KrYp9ix2YrYriDZhdi52KfZhNis2Kkg2KfZhNi32YTYqFwiLFxyXG4gIFwiQXBwcm92YWxzXCI6XCLYp9mE2YXZiNin2YHZgtin2KpcIixcclxuICBcInN1Ym1pdHRlZFN1Y2Nlc3NmdWxseVwiOlwi2KrZhSDYqtmC2K/ZitmFINin2YTYt9mE2Kgg2KjZhtis2KfYrVwiLFxyXG4gIFwic3VwcG9ydFwiOiBcItin2YTZhdmE2YHYp9iqINin2YTZhdiz2YXZiNit2KkgOiBQTkcgJiBKUEcgJiBQREZcIixcclxuICBcInN1cHBvcnQyXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2K3YrNmFINin2YTZhdmE2YEg2KfZhNmF2LPZhdmI2K0g2KjZhyDZh9mIIFwiLFxyXG4gIFwibWJcIjogXCLZhdmK2LrYp9io2KfZitiqXCIsXHJcbiAgXCJzdXBwb3J0M1wiOiBcIiDYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2KfZhNmF2YTZgSDYp9mE2YXYs9mF2YjYrSDYqNmHINmH2YggMzAwINmD2YrZhNmI2KjYp9mK2KpcIixcclxuICBcImVtcGxveWVlSURcIjogXCLYp9mE2LHZgtmFINin2YTZiNi42YrZgdmKIFwiLFxyXG4gIFwiTm9EYXRhXCI6IFwi2YTYpyDYqtmI2KzYryDYt9mE2KjYp9iqXCIsXHJcbiAgXCJOb0RhdGExXCI6IFwi2YTYpyDYqtmI2KzYryDYqti52YTZitmC2KfYqlwiLFxyXG4gIFwiTm9EYXRhMlwiOiBcItmE2Kcg2KrZiNis2K8g2KjZitin2YbYp9iqXCIsXHJcbiAgXCJEZWxldGVcIjogXCLYrdiw2YFcIixcclxuICBcIlZpZXdEZXRhaWxzXCI6XCLYudix2LYg2KfZhNiq2YHYp9i12YrZhFwiLFxyXG4gIFwiZnVsbE5hbWVcIjpcItin2YTYpdiz2YVcIixcclxuICBcIndlbGNvbWVCYWNrXCI6IFwi2YXYsdit2KjYpyDYqNi52YjYr9iq2YNcIixcclxuICBcIkhlbGxvXCI6IFwi2YXYsdit2KjYp1wiLFxyXG4gIFwiQ2FuY2VsXCI6XCLYpdmE2LrYp9ihXCIsXHJcbiAgXCJ2YWxpZEVtYWlsRXJyb3JcIjogJ9mK2KzYqCDYpdiv2K7Yp9mEINio2LHZitivINin2YTZg9iq2LHZiNmG2Yog2LXYrdmK2K0gJyxcclxuICBcInZhbGlkRmllbGRFcnJvclwiOiAn2YrYrNioINil2K/Yrtin2YQgJyxcclxuICBcInZhbGlkU2VsZWN0RXJyb3JcIjogJ9io2LHYrNin2KEg2KfYrtiq2YrYp9ixICcsXHJcbiAgXCJ2YWxpZFNlYXJjaEVycm9yXCI6ICfYqNix2KzYp9ihINin2YTYqNit2Ksg2LnZhiAnLFxyXG4gIFwiZGVsZXRlXCI6IFwi2K3YsNmBXCIsXHJcbiAgXCJBcmV5b3VzdXJleW91d2FudGRlbGV0ZVwiOiBcItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2YXZhiDYo9mG2YMg2KrYsdmK2K8g2K3YsNmBINmH2LDYpyDYp9mE2LfZhNio2J9cIixcclxuICBcImRyZi1jb25maXJtYXR0b24tbXNnXCI6XCLZitmI2KzYryDYt9mE2KjYp9iqINmE2YUg2KrYqtmFINit2KrZiSDYp9mE2KfZhiAuLiDYp9mE2LHYrNin2KEg2KfZhNiq2KPZg9mK2K8g2KfYsNinINix2LrYqNiqINio2YbZgtmEINin2YTYt9mE2Kgg2YTZhNmF2LHYrdmE2Ycg2KfZhNiq2KfZhNmK2Kkg2KjYr9mI2YYg2YXYr9iu2YTYp9iq2YfZhVwiLFxyXG4gIFwiWWVzLVByb2NlZWRcIjpcIiDZhti52YUg4oCTINin2YPZhdmEINin2YTYt9mE2KhcIixcclxuICBcIk5vLURpc2NhcmRcIjpcIiDZhNinIOKAkyDYp9mE2LrYp9ihXCIsXHJcbiAgXCJ5ZXNcIjogXCIg2YbYudmFXCIsXHJcbiAgXCJOb0F0dGFjaG1lbnRzXCI6IFwi2YTYpyDYqtmI2KzYryDZhdix2YHZgtin2KpcIixcclxuICBcImNhbmNlbFwiIDogXCLYpdmE2LrYp9ihXCIsXHJcbiAgXCJWaWV3XCI6XCLYudix2LZcIixcclxuICBcImVkaXRcIjpcItiq2LnYr9mK2YRcIixcclxuICBwbGFjZWhvbGRlcjogJ9ij2YXZhNinINmH2LDYpyDYp9mE2K3ZgtmEJyxcclxuICBkb3dubG9hZExpbms6XCLYqtit2YXZitmEINin2YTYsdin2KjYt1wiLFxyXG4gIFwibGlua1wiOlwi2KfZhNix2KfYqNi3XCIsXHJcblxyXG5cclxuXHJcbiAgQXR0YWNobWVudEludm9pY2VzOiAn2YXYsdmB2YLYp9iqINin2YTZgdmI2KfYqtmK2LEnLFxyXG4gIEF0dGFjaG1lbnRzT2ZCYW5rOiAn2YXYsdmB2YLYp9iqINmD2LTZgSDYp9mE2K3Ys9in2Kgg2KfZhNio2YbZg9mKINij2Ygg2KfZhNio2LfYp9mC2Kkg2KfZhNil2KbYqtmF2KfZhtmK2KknLFxyXG4gIERlcG9zaXRWb3VjaGVyQXR0YWNobWVudHM6ICfZhdix2YHZgtin2Kog2YLYs9mK2YXYqSDYp9mE2KXZitiv2KfYuScsXHJcbiAgc2VydmljZUJyaWVmIDogXCLZiNi12YEg2KfZhNiu2K/ZhdipXCIsXHJcbiAgUHJldmlvdXNSZXF1ZXN0czpcItin2YTYt9mE2KjYp9iqINin2YTYs9in2KjZgtipXCIsXHJcbiAgJ1Byb2R1Y3QgSW1wbGVtZW50YXRpb24nOiAnUHJvZHVjdCBJbXBsZW1lbnRhdGlvbicsXHJcbiAgJ1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZSc6J1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZScsXHJcbiAgJ0JpbGxpbmcgU3VwcG9ydCBhbmQgQ29udHJhY3RzJzonQmlsbGluZyBTdXBwb3J0IGFuZCBDb250cmFjdHMnLFxyXG4gICdTYWxlcyBFeGNlbGxlbmNlJzonU2FsZXMgRXhjZWxsZW5jZScsXHJcbiAgJ09yZGVyIEVuZ2luZWVyaW5nIGFuZCBEZWxpdmVyeSBNYW5hZ2VtZW50JzonT3JkZXIgRW5naW5lZXJpbmcgYW5kIERlbGl2ZXJ5IE1hbmFnZW1lbnQnLFxyXG4gICdUaGlyZCBQYXJ0eSBDb250cm9sIGFuZCBQcm9qZWN0cyc6J1RoaXJkIFBhcnR5IENvbnRyb2wgYW5kIFByb2plY3RzJyxcclxuICAnRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJzonRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJyxcclxuICAnRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJzonRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJyxcclxuICAnR292ZXJubWVudCBBY2NvdW50cyBTYWxlcyc6J0dvdmVybm1lbnQgQWNjb3VudHMgU2FsZXMnLFxyXG4gICdNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnOidNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnLFxyXG4gICdDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnOidDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnLFxyXG4gICdDb21tZXJjaWFsIFJlZ3VsYXRpb24nOidDb21tZXJjaWFsIFJlZ3VsYXRpb24nLFxyXG4gICdFbnRlcnByaXNlIENvbW1lcmNpYWwgRmluYW5jZSc6J0VudGVycHJpc2UgQ29tbWVyY2lhbCBGaW5hbmNlJyxcclxuICAnUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JzonUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JyxcclxuICAnRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JzonRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JyxcclxuICAnQ3VzdG9tZXIgVmFsdWUgTWFuYWdlbWVudCc6J0N1c3RvbWVyIFZhbHVlIE1hbmFnZW1lbnQnLFxyXG5cclxuXHJcbiAgdGVybU5vdGUxOiBcIjEuINin2YTYpdiv2KfYsdipINin2YTYt9in2YTYqNipINmF2LPYptmI2YTYqSDYudmGINi12K3YqSDYp9mE2KPZiNix2KfZgiDYp9mE2YXYsdmB2YLYqdiMINmI2KfZhNil2LTYsdin2YEg2LnZhNmJINin2YTYudmF2KfZhNipLlwiLFxyXG4gIHRlcm1Ob3RlMjogXCIyLlx02YrYrNioINij2YYg2YrZg9mI2YYg2KfZhNi52KfZhdmEINi52YTZiSDZg9mB2KfZhNipINin2YTYtNix2YPYqSDYp9mE2YXZgtin2YjZhNipINiMINmI2YHZiiDYrdin2YTYqSDYp9mE2KrYudin2YLYryDZhdmGINin2YTYqNin2LfZhiDZitis2Kgg2KfYsdmB2KfZgiDYp9mE2LnZgtivINio2YrZhiDYp9mE2LfYsdmB2YrZhiDZhdmI2YLYudinINmI2YXYrtiq2YjZhdinINmI2K3Yr9mK2KvYpyDYjCDZiNij2YYg2YrZg9mI2YYg2KfZhNi52KfZhdmEINi52YTZiSDZg9mB2KfZhNipINin2YTYtNix2YPYqSDYp9mE2YXYqti52KfZgtivINmF2YYg2KfZhNio2KfYt9mGIC5cIixcclxuICB0ZXJtTm90ZTM6IFwiMy4g2YrYrNioINij2YYg2KrZg9mI2YYg2YXZh9mG2Kkg2KfZhNi52KfZhdmEINmB2Yog2KXZgtin2YXYqtmHINmF2LfYp9io2YLYqSDZhNmF2Kcg2YrZgtmI2YUg2KjZhyDZhdmGINij2LnZhdin2YQg2YjYqNmF2Kcg2YrYqtmI2KfZgdmCINmF2Lkg2LfYqNmK2LnYqSDYudmF2YTZh1wiLFxyXG4gIHRlcm1Ob3RlNDogXCI0LiDYqNin2YTZhtiz2KjYqSDZhNmE2KPYtNiu2KfYtSDYp9mE2LDZitmGINmK2K3Yttix2YjZhiDYqNiq2KPYtNmK2LHYqSDYstmK2KfYsdipINmK2YTYstmFINin2LHZgdin2YIg2KrYo9i02YrYsdipINin2YTYstmK2KfYsdipINiz2KfYsdmK2Kkg2KfZhNmF2YHYudmI2YQg2Iwg2YXYuSDYpdix2YHYp9mCINmF2KfZitir2KjYqiDYp9mE2LnZhNin2YLYqSDZhdi5INi02LHZg9ipIChzdGMpIC7YpdmF2Kcg2LnZgtivIC8g2KPZiCDYrti32KfYqCDZhdmGINin2YTYrNmH2Kkg2KfZhNi32KfZhNio2Kkg2YXZiNi22K3Yp9mLINmF2YfYp9mFINin2YTYstmK2KfYsdipINmE2LTYsdmD2KkgKHN0YykuINmI2YrZhdmG2K0g2YHYqtix2Kkg2KrYtdix2YrYrSDYqNmF2K/YqSDYo9mC2KfZhdiq2Ycg2KjYp9mE2KrYo9i02YrYsdipXCIsXHJcbiAgdGVybU5vdGU1OiBcIjUuINmK2YXZhti5INin2LPYqtiu2K/Yp9mFINio2LfYp9mC2Kkg2KrYtdix2YrYrSDYp9mE2K/YrtmI2YQg2YXZhiDZgtio2YQg2LTYrti1INij2K7YsSDYjCDZiNmK2KzYqCDYpdi52KfYr9iq2YfYpyDYudmG2K8g2KfZhNil2YbYqtmH2KfYoSDYpdmE2Ykg2KXYr9in2LHYqSDYp9mE2KPZhdmGIC4g2YjZgdmKINit2KfZhCDYttmK2KfYudmH2Kcg2YrYrNioINil2KjZhNin2Log2KXYr9in2LHYqSDYp9mE2KPZhdmGINmI2KfZhNiz2YTYp9mF2Kkg2LnZhNmJINin2YTZh9in2KrZgSA4MDAxMjMxNjE2INij2YggMDExNDI1MTYxNiAoINin2YTZhdix2YPYsiDYp9mE2LHYptmK2LPZiiApLiDYq9mFINmK2YTYstmFINiq2YLYr9mK2YUg2LfZhNioINiq2LXYsdmK2K0g2K/YrtmI2YQg2KzYr9mK2K8g2YTZitiq2YUg2LXYsdmBINio2LfYp9mC2Kkg2KjYr9mEINmB2KfZgtivINmF2Lkg2YHYsdi2INi62LHYp9mF2Kkg2YXYp9mE2YrYqSA1MDAg2LHZitin2YQg2YTZhNmF2LHYqSDYp9mE2KPZiNmE2Ykg2YgxMDAwINix2YrYp9mEINmE2YTZhdix2Kkg2KfZhNir2KfZhtmK2Kkg2Iwg2YjZgdmKINin2YTZhdix2Kkg2KfZhNir2KfZhNir2Kkg2YrZhdmG2Lkg2YXZhiDYp9mE2K/YrtmI2YQg2YjZitit2KfZhCDZhNmE2KzZh9in2Kog2KfZhNit2YPZiNmF2YrYqSDYsNin2Kog2KfZhNi52YTYp9mC2KkuXCIsXHJcbiAgdGVybU5vdGU2OiBcIjYuINiq2KrYrdmF2YQg2KfZhNi02LHZg9ipINin2YTZhdmC2KfZiNmE2Kkg2YPYp9mB2Kkg2KfZhNiq2KjYudin2Kog2KfZhNmC2KfZhtmI2YbZitipINmE2KPZiiDYp9i22LHYp9ixINmK2K3Yr9ir2YfYpyDYp9mE2LnYp9mF2YQg2K/Yp9iu2YQg2YXZiNin2YLYuSDYp9mE2LnZhdmEINio2LTYsdmD2KkgKHN0YylcIixcclxuICB0ZXJtTm90ZTc6IFwiNy4g2YbYo9mF2YQg2LfYqNin2LnYqSDYp9mE2YbZhdmI2LDYrCAo2YXZhiDYstixINin2YTYt9io2KfYudipINij2LnZhNmJINin2YTZhtmF2YjYsNisKSDYqNi52K8g2KfZhNmF2YjYp9mB2YLYqSDYudmE2YrZhyDZhdmGINmC2KjZhCDYtNi52KjYqSDYrtiv2YXYp9iqINin2YTYqNi32KfZgtin2KrYjCDZiNil2K3Yttin2LHZhyDYudmG2K8g2KfZhNmF2LHYp9is2LnYqSDZhNmK2KrZhSDYpdi12K/Yp9ixINin2YTYqNi32KfZgtipXCIsXHJcbiAgdGVybU5vdGU4OiBcIjguINmK2YTYqtiy2YUg2KfZhNmF2YLYp9mI2YQg2KfZhNix2KbZitiz2Yog2YjZhdmC2KfZiNmE2Yog2KfZhNio2KfYt9mGINio2KrYudmE2YrZhdin2Kog2KfZhNij2YXZhiDZiNin2YTYs9mE2KfZhdipINmD2YXYpyDZhti12Kog2LnZhNmJINiw2YTZgyDYp9mE2LnZgtmI2K8g2KfZhNmF2KjYsdmF2Kkg2YXYuSDYrNmF2YrYuSDZhdmC2KfZiNmE2Yog2LTYsdmD2KkgKHN0Yykg2YjYp9mE2K7YttmI2Lkg2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZgdiq2YrYtCDYp9mE2K/ZiNix2YrYqSDZhNmE2YXZiNin2YLYuSDZhdmGINmC2KjZhCDZhdmB2KrYtNmKINin2YTYs9mE2KfZhdipINmE2YTYqtij2YPYryDZhdmGINin2YTYpdmE2KrYstin2YUg2KjYqti52YTZitmF2KfYqiDYp9mE2LPZhNin2YXYqSDZiNiz2YrYp9iz2Kkg2KfZhNi52YXZhCDYp9mE2KLZhdmGINmI2LPZiNmBINmK2KrZhSDYqtit2LHZitixINmF2K7Yp9mE2YHYp9iqINmI2LrYsdin2YXYp9iqINmF2KfZhNmK2Kkg2YHZiiDYrdin2YQg2YjYrNmI2K/Zh9inINmF2YjYttit2Kkg2YjZhdmI2LXZiNmB2Kkg2KjYp9mE2YLZitmFINin2YTZhdin2YTZitipINi52KjYsSDYudmE2KfZgtin2Kog2KfZhNmF2YjYsdiv2YrZhiDYudmE2Ykg2KfZhNix2KfYqNi3IDpcIixcclxuICB0ZXJtTm90ZTk6IFwiOS4g2KrZhNiq2LLZhSDYp9mE2KXYr9in2LHYqSDYp9mE2LfYp9mE2KjYqSDYqNiq2LbZhdmK2YYg2KfZhNiq2YLYp9ix2YrYsSDYp9mE2YHZhtmK2Kkg2KfZhNmF2YjYtdmK2Kkg2KjYp9mE2LXYsdmBINmF2K7Yp9mE2YHYp9iqINin2YTYs9mE2KfZhdipINil2YYg2YjYrNiv2Kog2YjYqtiu2LXZhSDZhdmGINin2YTYp9iz2KrYrdmC2KfZgiDZiNiw2YTZgyDYqti32KjZitmC2KfZiyDZhNil2KzYsdin2KEg2YTYp9im2K3YqSDYp9mE2LrYsdin2YXYp9iqINmI2KfZhNis2LLYp9ih2KfYqiDZhNmF2K7Yp9mE2YHYp9iqINin2YTYs9mE2KfZhdipINi52YTZiSDYp9mE2YXZgtin2YjZhNmK2YZcIixcclxuICB0ZXJtTm90ZTEwOiBcIjEwLiDYqtiz2YTZitmFINio2LfYp9mC2KfYqiDYp9mE2YXYsdmD2LIg2KfZhNix2KbZitiz2Yog2YHZiiDZhdix2YPYsiDYpdi12K/Yp9ixINin2YTYqNi32KfZgtin2Kog2KjZiNin2KjYqSDYsdmC2YUgMyAsINij2YXYpyDYqNmC2YrYqSDYp9mE2YXZhtin2LfZgiDYqtiz2YTZhSDZgdmKINil2K/Yp9ix2Kkg2KPZhdmGINin2YTZhdmG2KfYt9mCXCIsXHJcbiAgdGVybU5vdGUxMTogXCIxMS4g2YrYqtmFINiq2LfYqNmK2YIg2YTYp9im2K3YqSDYp9mE2KzYstin2KHYp9iqINmI2KfZhNi62LHYp9mF2KfYqiDYudmE2Ykg2KfZhNmF2K7Yp9mE2YHZitmGINiv2KfYrtmEINmF2YjYp9mC2LkgU1RDINit2YrYqyDZitiq2YUg2KXZitmC2KfZgSDYp9mE2YXYsdmD2KjYp9iqINin2YTZhdiu2KfZhNmB2Kkg2LnZhiDYt9ix2YrZgiDZiNi22Lkg2KfZhNmD2YjYp9io2K0g2LnZhNmK2YfYp9iMINmI2KrYrtmE2Yog2KfZhNi02LHZg9ipINmF2LPYpNmI2YTZitiq2YfYpyDYqNi02YPZhCDZg9in2YXZhCDYudmGINij2Yog2KPYttix2KfYsSDZitiq2LPYqNioINio2YfYpyDYp9mE2YPYp9io2K0g2LnZhtivINin2YTYqtix2YPZitioINij2Ygg2KfZhNmB2YNcIixcclxuICBtZXNzYWdlRXJyb3JQaG9uZU51bWJlcjogXCLYp9mE2LHYrNin2KEg2KfYr9iu2KfZhCDYsdmC2YUg2KzZiNin2YQg2LXYrdmK2K1cIixcclxuXHJcbiAgc2VydmljZUFncmVlbWVudDogXCIg2KfZhNi02LHZiNi3INmIINin2YTYttmI2KfYqNi3XCIsXHJcbiAgbGVuZ3RoRXJyb3I6IFwi2YTYpyDZitmF2YPZhiDYo9iv2K7Yp9mEINij2YPYq9ixINmF2YZcIixcclxuICB1c2VyQWxyZWFkeUV4aXN0OiBcItmH2LDYpyDYp9mE2YXYs9iq2K7Yr9mFINmF2YjYrNmI2K8g2YXYs9io2YLYp9mLXCIsXHJcbiAgSU5URVJOQUw6ICfYr9in2K7ZhNmKOiDYpdiq2KfYrdipINin2YTZiNir2YrZgtipL9in2YTYs9is2YQg2YTZhNil2LfZhNin2Lkg2K/Yp9iu2YQg2KfZhNi02LHZg9ipINmB2YLYtycsXHJcbiAgU1BFQ0lGSUNfT1JfQ09ORklERU5USUFMOiAn2YXYrdiv2K8v2LPYsdmKOiDZhti02LEg2KfZhNmI2KvZitmC2Kkv2KfZhNiz2KzZhCDYqNi12YTYp9it2YrYqSDYpdi32YTYp9i5INmF2YLYtdmI2LHYqSDYudmE2Yk6IDxicj4g2KPYs9mF2KfYoSDZhdit2K/Yr9ipIDxicj4g2YjYrdiv2Kkg2KrZhti42YrZhdmK2Kkg2YXYrdiv2K/YqTxicj4g2YXYs9iq2YjZitin2Kog2KXYr9in2LHZitipINmF2K3Yr9iv2KknLFxyXG4gIEFWQUlMQUJMRTogJ9mF2KrYp9itOiDYpdiq2KfYrdipINin2YTZiNir2YrZgtipL9in2YTYs9is2YQg2YTZhNil2LfZhNin2Lkg2K/Yp9iu2YQg2Ygg2K7Yp9ix2Kwg2KfZhNi02LHZg9ipJyxcclxuICBvdGhlcjon2KLYrtixJyxcclxuICBvdGhlcnM6J9ii2K3YsdmI2YYnLFxyXG4gIHNlbGVjdEFsbDon2KfYrtiq2LEg2KfZhNmD2YQnLFxyXG4gIFVSR0VOVDogJzEg2YrZiNmFJyxcclxuICBOT1JNQUw6ICczINij2YrYp9mFJyxcclxuICBzZWxlY3Q6ICfYp9iu2KrYsScsXHJcbiAgYWRkTXVsdGlBdHRhY2htZW50czpcItil2LbYp9mB2Kkg2KPZg9ir2LEg2YXZhiDZhdmE2YFcIixcclxuICBcIndlbGNvbWVcIjogXCLZhdix2K3YqNinIFwiLFxyXG4gIFwibG9nb3V0XCI6IFwi2KrYs9is2YrZhCDYrtix2YjYrFwiLFxyXG4gIFwib3RoZXJMYW5nXCI6IFwiRW5nbGlzaFwiLFxyXG4gIGZsYWdTdGF0dXNVcGRhdGVkOlwi2KrZhSDYp9mE2KrYrdiv2YrYqyDYqNmG2KzYp9itXCIsXHJcbiAgICBcIkFsbFJlcXVlc3RzXCI6IFwi2LnYr9ivINin2YTYt9mE2KjYp9iqXCIsXHJcbiAgXCJjbGVhclwiOiBcItmF2LPYrVwiLFxyXG4gIFwiYXBwbHlGaWx0ZXJzXCI6IFwi2KrYtdmB2YrYqVwiLFxyXG4gIFwiZmlsdGVyc1wiOiBcItiq2LXZgdmK2KlcIixcclxuICBtb250aDogXCLYp9mE2LTZh9ixXCIsXHJcbiAgeWVhcjogXCLYp9mE2LPZhtipXCIsXHJcbiAgc3RhdHVzOlwi2KfZhNit2KfZhNipXCJcclxuXHJcbn1cclxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2kxOG4vYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLGdCQUFnQixFQUFFLDBGQUEwRjtJQUM1RyxXQUFXLEVBQUMsMkhBQTJIO0lBQ3ZJLFVBQVU7SUFDVixPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsT0FBTztJQUNqQixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFNBQVM7SUFDVCxVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixTQUFTO0lBQ1QsUUFBUSxFQUFFLE1BQU07SUFDaEIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUscUNBQXFDO0lBQ3ZELHdCQUF3QjtJQUN4QixxQkFBcUIsRUFBQyxjQUFjO0lBQ3BDLHVCQUF1QixFQUFDLGdDQUFnQztJQUN4RCxpQkFBaUIsRUFBRSxnQkFBZ0I7SUFDbkMsbUJBQW1CLEVBQUMsZUFBZTtJQUNuQyxzQkFBc0I7SUFDdEIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6QyxnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLHVCQUF1QixFQUFFLG9CQUFvQjtJQUM3Qyx3QkFBd0IsRUFBRSxlQUFlO0lBQ3pDLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLGVBQWUsRUFBRSxZQUFZO0lBQzdCLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxhQUFhLEVBQUUsU0FBUztJQUN4QixRQUFRLEVBQUUsUUFBUTtJQUNsQixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsYUFBYSxFQUFDLG9CQUFvQjtJQUNsQyxvQkFBb0I7SUFDcEIsV0FBVyxFQUFFLFFBQVE7SUFDckIsT0FBTyxFQUFFLE1BQU07SUFDZixXQUFXO0lBQ1gsaUJBQWlCLEVBQUUsd0JBQXdCO0lBQzNDLG1CQUFtQixFQUFDLGtEQUFrRDtJQUN0RSxvQkFBb0IsRUFBQyxtREFBbUQ7SUFDeEUsYUFBYSxFQUFFLDhCQUE4QjtJQUM3QyxjQUFjLEVBQUUsNkJBQTZCO0lBQzdDLFNBQVMsRUFBRSxxQ0FBcUM7SUFDaEQsaUJBQWlCLEVBQUUsaU9BQWlPO0lBQ3BQLHVCQUF1QixFQUFFLHNHQUFzRztJQUMvSCx3QkFBd0IsRUFBRSxnSEFBZ0g7SUFDMUksb0JBQW9CLEVBQUUsaUdBQWlHO0lBQ3ZILG9CQUFvQixFQUFFLGlGQUFpRjtJQUN2RyxjQUFjLEVBQUUscUNBQXFDO0lBQ3JELGVBQWU7SUFDZixpQkFBaUIsRUFBRSxhQUFhO0lBQ2hDLHFCQUFxQixFQUFFLGNBQWM7SUFDckMsdUJBQXVCLEVBQUUsZUFBZTtJQUN4QyxzQkFBc0IsRUFBRSxXQUFXO0lBQ25DLHNCQUFzQixFQUFFLHdCQUF3QjtJQUNoRCxXQUFXO0lBQ1gsaUJBQWlCLEVBQUMsV0FBVztJQUM3QixXQUFXLEVBQUUsVUFBVTtJQUN2QixVQUFVLEVBQUUsT0FBTztJQUNuQixjQUFjLEVBQUUsZUFBZTtJQUMvQixhQUFhLEVBQUUsVUFBVTtJQUN6QixrQkFBa0IsRUFBRSxjQUFjO0lBQ2xDLGdCQUFnQixFQUFFLGVBQWU7SUFDakMseUJBQXlCLEVBQUUsZ0RBQWdEO0lBQzNFLHlCQUF5QixFQUFFLDRCQUE0QjtJQUN2RCx5QkFBeUIsRUFBRSw4Q0FBOEM7SUFDekUseUJBQXlCLEVBQUUsbURBQW1EO0lBQzlFLGNBQWMsRUFBQyxpQkFBaUI7SUFDaEMsaUJBQWlCLEVBQUMsWUFBWTtJQUM5QixnQkFBZ0IsRUFBQyxlQUFlO0lBQ2hDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsb0JBQW9CLEVBQUMsaUJBQWlCO0lBQ3RDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxhQUFhLEVBQUUsNEJBQTRCO0lBQzNDLFlBQVksRUFBRSw0QkFBNEI7SUFDMUMsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxrQkFBa0IsRUFBRSx1QkFBdUI7SUFDM0MsbUJBQW1CLEVBQUUsa0JBQWtCO0lBQ3ZDLEtBQUssRUFBRSxPQUFPO0lBQ2QsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQyx1QkFBdUIsRUFBRSxXQUFXO0lBQ3BDLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsMEJBQTBCO0lBQzFCLGVBQWUsRUFBRSxjQUFjO0lBQy9CLG9CQUFvQixFQUFFLGFBQWE7SUFDbkMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsaUJBQWlCLEVBQUUsV0FBVztJQUM5QixtQkFBbUI7SUFDbkIsYUFBYSxFQUFFLFVBQVU7SUFDekIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsU0FBUyxFQUFDLFNBQVM7SUFDbkIsVUFBVSxFQUFDLFNBQVM7SUFDcEIsYUFBYSxFQUFDLE9BQU87SUFDckIsZ0JBQWdCLEVBQUMsb0JBQW9CO0lBQ3JDLFdBQVcsRUFBQyxXQUFXO0lBQ3ZCLHVCQUF1QixFQUFDLHNCQUFzQjtJQUM5QyxTQUFTLEVBQUUsb0NBQW9DO0lBQy9DLFVBQVUsRUFBRSx1Q0FBdUM7SUFDbkQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsVUFBVSxFQUFFLG9EQUFvRDtJQUNoRSxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixRQUFRLEVBQUUsS0FBSztJQUNmLGFBQWEsRUFBQyxjQUFjO0lBQzVCLFVBQVUsRUFBQyxPQUFPO0lBQ2xCLGFBQWEsRUFBRSxjQUFjO0lBQzdCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBQyxPQUFPO0lBQ2hCLGlCQUFpQixFQUFFLCtCQUErQjtJQUNsRCxpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLGtCQUFrQixFQUFFLGVBQWU7SUFDbkMsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFFBQVEsRUFBRSxLQUFLO0lBQ2YseUJBQXlCLEVBQUUseUNBQXlDO0lBQ3BFLHNCQUFzQixFQUFDLGdHQUFnRztJQUN2SCxhQUFhLEVBQUMsbUJBQW1CO0lBQ2pDLFlBQVksRUFBQyxhQUFhO0lBQzFCLEtBQUssRUFBRSxNQUFNO0lBQ2IsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxRQUFRLEVBQUcsT0FBTztJQUNsQixNQUFNLEVBQUMsS0FBSztJQUNaLE1BQU0sRUFBQyxPQUFPO0lBQ2QsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixZQUFZLEVBQUMsY0FBYztJQUMzQixNQUFNLEVBQUMsUUFBUTtJQUlmLGtCQUFrQixFQUFFLGlCQUFpQjtJQUNyQyxpQkFBaUIsRUFBRSxnREFBZ0Q7SUFDbkUseUJBQXlCLEVBQUUsc0JBQXNCO0lBQ2pELFlBQVksRUFBRyxZQUFZO0lBQzNCLGdCQUFnQixFQUFDLGlCQUFpQjtJQUNsQyx3QkFBd0IsRUFBRSx3QkFBd0I7SUFDbEQsbUNBQW1DLEVBQUMsbUNBQW1DO0lBQ3ZFLCtCQUErQixFQUFDLCtCQUErQjtJQUMvRCxrQkFBa0IsRUFBQyxrQkFBa0I7SUFDckMsMkNBQTJDLEVBQUMsMkNBQTJDO0lBQ3ZGLGtDQUFrQyxFQUFDLGtDQUFrQztJQUNyRSwwQkFBMEIsRUFBQywwQkFBMEI7SUFDckQsMEJBQTBCLEVBQUMsMEJBQTBCO0lBQ3JELDJCQUEyQixFQUFDLDJCQUEyQjtJQUN2RCwwQkFBMEIsRUFBQywwQkFBMEI7SUFDckQsZ0NBQWdDLEVBQUMsZ0NBQWdDO0lBQ2pFLHVCQUF1QixFQUFDLHVCQUF1QjtJQUMvQywrQkFBK0IsRUFBQywrQkFBK0I7SUFDL0QsbUNBQW1DLEVBQUMsbUNBQW1DO0lBQ3ZFLDZCQUE2QixFQUFDLDZCQUE2QjtJQUMzRCwyQkFBMkIsRUFBQywyQkFBMkI7SUFHdkQsU0FBUyxFQUFFLHlFQUF5RTtJQUNwRixTQUFTLEVBQUUsdUxBQXVMO0lBQ2xNLFNBQVMsRUFBRSw0RkFBNEY7SUFDdkcsU0FBUyxFQUFFLDJPQUEyTztJQUN0UCxTQUFTLEVBQUUseVlBQXlZO0lBQ3BaLFNBQVMsRUFBRSxzR0FBc0c7SUFDakgsU0FBUyxFQUFFLDBJQUEwSTtJQUNySixTQUFTLEVBQUUsZ1dBQWdXO0lBQzNXLFNBQVMsRUFBRSx1TEFBdUw7SUFDbE0sVUFBVSxFQUFFLGlIQUFpSDtJQUM3SCxVQUFVLEVBQUUsa05BQWtOO0lBQzlOLHVCQUF1QixFQUFFLDRCQUE0QjtJQUVyRCxnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxnQkFBZ0IsRUFBRSwyQkFBMkI7SUFDN0MsUUFBUSxFQUFFLG9EQUFvRDtJQUM5RCx3QkFBd0IsRUFBRSx5SEFBeUg7SUFDbkosU0FBUyxFQUFFLHNEQUFzRDtJQUNqRSxLQUFLLEVBQUMsS0FBSztJQUNYLE1BQU0sRUFBQyxPQUFPO0lBQ2QsU0FBUyxFQUFDLFdBQVc7SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG1CQUFtQixFQUFDLG1CQUFtQjtJQUN2QyxTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsWUFBWTtJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixpQkFBaUIsRUFBQyxrQkFBa0I7SUFDbEMsYUFBYSxFQUFFLGFBQWE7SUFDOUIsT0FBTyxFQUFFLEtBQUs7SUFDZCxjQUFjLEVBQUUsT0FBTztJQUN2QixTQUFTLEVBQUUsT0FBTztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxPQUFPO0lBQ2IsTUFBTSxFQUFDLFFBQVE7SUFDZixXQUFXLEVBQUMscUJBQXFCO0lBQ2pDLFlBQVksRUFBQyxxQkFBcUI7Q0FJbkMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcclxuICBwYWdlRXJyb3JMb2FkaW5nOiBcItit2K/YqyDYrti32KPYjCDZitix2KzZiSDYp9mE2YXYrdin2YjZhNipINmE2KfYrdmC2KcuINil2LDYpyDYp9iz2KrZhdixINin2YTYrti32KPYjCDZitix2KzZiSDYp9mE2KfYqti12KfZhCDYqNmF2YPYqtioINmF2LPYp9i52K/YqSDYqtmC2YbZitipINin2YTZhdi52YTZiNmF2KfYqlwiLFxyXG4gIHBhZ2VUaW1lT3V0Olwi2YrYqNiv2Ygg2KPZhiDYp9mE2K7Yp9iv2YUg2YrYs9iq2LrYsdmCINmI2YLYqtmL2Kcg2LfZiNmK2YTYp9mLINmE2YTYsdiv2Iwg2YjZgtivINmK2K3Yr9irINmH2LDYpyDYqNiz2KjYqCDYtti52YEg2KfZhNin2KrYtdin2YQg2KPZiCDYrti32KMg2YHZiiDYrtmI2KfYr9mF2YbYpy4g2YrYsdis2Ykg2KfZhNmF2K3Yp9mI2YTYqSDZhdix2Kkg2KPYrtix2Ykg2KjYudivINmC2YTZitmEXCIsXHJcbiAgLy8gQnV0dG9uc1xyXG4gIFwicmVzZXRcIjogXCLYpdi52KfYr9ipINiq2YfZitim2KlcIixcclxuICBcInN1Ym1pdFwiOiBcItil2LHYs9in2YRcIixcclxuICAvLyBTZWxlY3RcclxuICBcInNlbGVjdFlvdXJPcHRpb25cIjogXCLYp9mE2LHYrNin2KEg2KfZhNil2K7YqtmK2KfYsVwiLFxyXG4gIC8vIExhYmVsc1xyXG4gIFwib3B0aW9uYWxcIjogXCLYpdiu2KrZitin2LHZilwiLFxyXG4gIFwiT3B0aW9uYWxcIjogXCLYpdiu2KrZitin2LHZilwiLFxyXG4gIC8vQnV0dG9uc1xyXG4gIFwiYnJvd3NlXCI6IFwi2KrYtdmB2K1cIixcclxuICBcIk15UmVxdWVzdHNcIjogXCLYt9mE2KjYp9iq2YpcIixcclxuICBcIm1heEFsbG93ZWRTaXplXCI6IFwi2K3YrNmFINin2YTZhdmE2YEg2YrYrNioINij2YTYpyDZitiq2LnYr9mJIDEwINmF2YrYutin2KjYp9mK2KpcIixcclxuICAvLyBSZXF1ZXN0IERldGFpbHMgVGl0bGVcclxuICBcInJlcXVlc3REZXRhaWxzVGl0bGVcIjpcItiq2YHYp9i12YrZhCDYp9mE2LfZhNioXCIsXHJcbiAgXCJoclJlcXVlc3REZXRhaWxzVGl0bGVcIjpcItiq2YHYp9i12YrZhCDYp9mE2LfZhNioICjYp9mE2YXZiNin2LHYryDYp9mE2KjYtNix2YrYqSlcIixcclxuICBcImFwcGx5UmVxdWVzdEZvclwiOiBcItiq2YLYr9mK2YUg2KfZhNi32YTYqCDZhNmAXCIsXHJcbiAgXCJzZWFyY2hGb3JFbXBsb3llZVwiOlwi2KfZhNio2K3YqyDYudmGINmF2YjYuNmBXCIsXHJcbiAgLy8gUHJvZmlsZSBJbmZvIGxhYmVsc1xyXG4gIFwiZGlyZWN0TWFuYWdlclwiOiBcItin2YTZhdiv2YrYsSDYp9mE2YXYqNin2LTYsVwiLFxyXG4gIFwiZW1wbG95ZWVFbWFpbFwiOiBcItin2YTYqNix2YrYryDYp9mE2KXZhNmD2KrYsdmI2YbZilwiLFxyXG4gIFwiZ2VuZXJhbERlcGFydG1lbnROYW1lXCI6IFwi2KfZhNil2K/Yp9ix2Kkg2KfZhNi52KfZhdipXCIsXHJcbiAgXCJkZXBhcnRtZW50TmFtZVwiOiBcItin2YTZgtiz2YVcIixcclxuICBcImdlbmVyYWxEZXBhcnRtZW50Q29kZVwiOiBcItix2YXYsiDYp9mE2KXYr9in2LHYqSDYp9mE2LnYp9mF2KlcIixcclxuICBcImh1bWFuUmVzb3VyY2VzTG9jYXRpb25cIjogXCLYtNim2YjZhiDYp9mE2YXZiNi42YHZitmGXCIsXHJcbiAgXCJuYXRpb25hbGl0eVwiOiBcItin2YTYrNmG2LPZitipXCIsXHJcbiAgXCJidXNpbmVzc1Bob25lXCI6IFwi2YfYp9iq2YEg2KfZhNi52YXZhFwiLFxyXG4gIFwiVmlld2FwcHJvdmFsY3ljbGVcIjogXCLYudix2LYg2K/ZiNix2Kkg2KfZhNmF2YjYp9mB2YLYqVwiLFxyXG4gIFwiYXBwcm92YWxjeWNsZVwiOiBcIiDYr9mI2LHYqSDYp9mE2YXZiNin2YHZgtipXCIsXHJcbiAgXCJ2aWV3QWxsRGV0YWlsc1wiOiBcIti52LHYtiDYrNmF2YrYuSDYp9mE2KrZgdin2LXZitmEXCIsXHJcbiAgXCJqb2JQb3NpdGlvblwiOiBcItin2YTZiNi42YrZgdipXCIsXHJcbiAgXCJzZWN0b3JcIjogXCLYp9mE2YLYt9in2LlcIixcclxuICAvLyBGb3JtIFNlY3Rpb24gbGFiZWxzXHJcbiAgXCJkZWxlZ2F0ZVRvXCI6IFwi2YHZiNi2XCIsXHJcbiAgXCJwcm9jZXNzZWRCeVwiOlwi2KrZhdiqINmF2LnYp9mE2KzYqtmHINio2YjYp9iz2LfYqVwiLFxyXG4gIC8vIERhdGVwaWNrZXIgbGFiZWxzXHJcbiAgXCJncmVnb3JpYW5cIjogXCLZhdmK2YTYp9iv2YpcIixcclxuICBcImhpanJpXCI6IFwi2YfYrNix2YpcIixcclxuICAvLyBNZXNzYWdlc1xyXG4gIFwic3VjY2Vzc1N1Ym1pdGVkXCI6IFwiLti02YPYsdin2Ysg2YTYpdix2LPYp9mE2YMg2KfZhNmG2YXZiNiw2KxcIixcclxuICBcImxlbmdodE1pbjE1TWF4NTAwXCI6XCLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCAxNSDYrdix2YEgINmD2K3YryDYo9iv2YbZiSDZiCA1MDAg2K3YsdmBINmD2K3YryDYo9mC2LXZiVwiLFxyXG4gIFwibGVuZ2h0TWluMTVNYXgxMDAwXCI6XCLYp9mE2LHYrNin2KEg2KXYr9iu2KfZhCAxNSDYrdix2YEgINmD2K3YryDYo9iv2YbZiSDZiCAxMDAwINit2LHZgSDZg9it2K8g2KPZgti12YlcIixcclxuICBcIm1pbkxlbmd0aDE1XCI6IFwi2KfZhNix2KzYp9ihINmD2KrYp9io2KkgMTUg2K3YsdmBINio2K3YryDYo9iv2YbZiVwiLFxyXG4gIFwibWF4bGVuZ3RoNTAwXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitIDUwMCDYrdix2YFcIixcclxuICBcIm1heFNpemVcIjogXCLYrdis2YUg2KfZhNmF2YTZgSDZitis2Kgg2KPZhNinINmK2KrYudiv2YkgMTAg2YXZiti62KfYqNin2YrYqlwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyBwZGYsIGRvYywgZG9jeCwgcHB0LCBwcHR4LCBwcHMsIHBwc3gsIG9kdCwgeGxzLCB4bHN4LCB6aXAsIGNzdiwgdHh0LCBydGYsIGh0bWwsIG1wNCwgbTR2LCBtb3YsIHdtdiwgYXZpLCBtcGcsIG9ndiwgM2dwLCAzZzIsIGpwZywganBlaiwgcG5nLCBnaWYsIGJtcFwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlSW1nUGRmXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyAocGRmLCBqcGcsIGpwZWosIHBuZywgYm1wKVwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlSW1nUGRmMlwiOiBcItin2YTYrdivINin2YTYo9mC2LXZiSDYp9mE2YXYs9mF2YjYrSDZhNit2KzZhSDYp9mE2YXZhNmBIDEwINmF2YrYrNin2KjZitiqINmIINij2YbZiNin2Lkg2KfZhNmF2YTZgdin2Kog2KfZhNmF2LPZhdmI2K0g2KXYttin2YHYqtmH2KcgIChwZGYsIGRvY3gsIHhsc3gsIGpwZywgZW1haWwsIHBwdHgpXCIsXHJcbiAgXCJ1bnN1cHBvcnRlZFR5cGVJbWdcIjogXCLYp9mE2K3YryDYp9mE2KPZgti12Ykg2KfZhNmF2LPZhdmI2K0g2YTYrdis2YUg2KfZhNmF2YTZgSAxMCDZhdmK2KzYp9io2YrYqiDZiCDYo9mG2YjYp9i5INin2YTZhdmE2YHYp9iqINin2YTZhdiz2YXZiNitINil2LbYp9mB2KrZh9inIChqcGcsIGpwZWosIHBuZywgYm1wKVwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlUGRmXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINin2YTZhdiz2YXZiNitINmE2K3YrNmFINin2YTZhdmE2YEgMTAg2YXZitis2KfYqNmK2Kog2Ygg2KPZhtmI2KfYuSDYp9mE2YXZhNmB2KfYqiDYp9mE2YXYs9mF2YjYrSDYpdi22KfZgdiq2YfYpyAocGRmKVwiLFxyXG4gIFwibm9Vc2Vyc0ZvdW5kXCI6IFwi2KfZhNix2KzYp9ihINil2K/Yrtin2YQg2KjZitin2YbYp9iqINin2YTYqNit2Ksg2KjYtNmD2YQg2LXYrdmK2K1cIixcclxuICAvLyBTdWJtaXQgVGFibGVcclxuICBcImZvcm1UYWJsZUZvcm1JZFwiOiBcItix2YLZhSDYp9mE2YbZhdmI2LDYrFwiLFxyXG4gIFwiZm9ybVRhYmxlRm9ybVN0YXR1c1wiOiBcItit2KfZhNipINin2YTZhtmF2YjYsNisXCIsXHJcbiAgXCJmb3JtVGFibGVDcmVhdGlvbkRhdGVcIjogXCLYqtin2LHZitiuINin2YTZhtmF2YjYsNisXCIsXHJcbiAgXCJmb3JtVGFibGVQZW5kaW5nV2l0aFwiOiBcItmB2Yog2KfZhtiq2LjYp9ixXCIsXHJcbiAgXCJmb3JtVGFibGVCYWNrVG9JbmJveFwiOiBcIti52YjYr9ipINil2YTZiSDYp9mE2KjYsdmK2K8g2KfZhNmI2KfYsdivXCIsXHJcbiAgLy8gZmVlZGJhY2tcclxuICBcInJlcXVlc3RGZWVkYmFja1wiOlwi2LfZhNioINil2YHYp9iv2KlcIixcclxuICBcInJlcXVlc3RUb1wiOiBcItij2LHYs9mEINin2YTZiVwiLFxyXG4gIFwiZmVlZGJhY2tcIjogXCLYpdmB2KfYr9ipXCIsXHJcbiAgXCJ2aWV3RmVlZGJhY2tcIjogXCLYpdi42YfYp9ixINin2YTYpdmB2KfYr9ipXCIsXHJcbiAgXCJyZXF1ZXN0RnJvbVwiOiBcItmF2LHYs9mE2Kkg2YXZhlwiLFxyXG4gIFwiZmVlZGJhY2tRdWVzdGlvblwiOiBcItiz2KTYp9mEINin2YTYpdmB2KfYr9ipXCIsXHJcbiAgXCJlbXBsb3llZVNlYXJjaFwiOiBcItin2YTYqNit2Ksg2LnZhiDZhdmI2LjZgVwiLFxyXG4gIFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzFcIjogXCLYo9iv2K7ZhCDYq9mE2KfYq9ipINij2K3YsdmBINio2K3YryDYo9iv2YbZiSDZhNiq2KjYr9ijINin2YTYqNit2Ksg2LnZhiDYp9mE2YXZiNi42YFcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8yXCI6IFwi2KPYr9iu2YQg2LHZgtmFINmE2YTYqNit2Ksg2KjYsdmC2YUg2KfZhNmF2YjYuNmBXCIsXHJcbiAgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfM1wiOiBcItmE2YTYqNit2Ksg2KjYp9mE2LnZhtmI2KfZhiDYp9mE2KjYsdmK2K/ZiiDYo9iv2K7ZhCBAINmC2KjZhCDYo9mIINio2LnYryDYrdix2YFcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF80XCI6IFwi2KPYqtix2YMg2YXYs9in2YHYqSDZhNmE2KjYrdirINio2KfZhNil2LPZhSDYp9mE2KPZiNmEINij2Ygg2KfZhNir2KfZhtmKINij2Ygg2KfZhNij2K7ZitixXCIsXHJcbiAgXCJvbkJlaGFsZkZsYWdcIjpcIti32YTYqCDYqNin2YTYp9mG2KfYqNipINi52YZcIixcclxuICBcIm9uQmVoYWxmT2ZFbWFpbFwiOlwi2KXYs9mFINin2YTZhdmI2LjZgVwiLFxyXG4gIFwiY29tbWVudEhpc3RvcnlcIjpcItiz2KzZhCDYp9mE2KrYudmE2YrZgtin2KpcIixcclxuICBcIk5PREFUQVwiOiBcItmE2Kcg2YrZiNis2K8g2KjZitin2YbYp9iqXCIsXHJcbiAgXCJ0ZXJtc0FuZENvbmRpdGlvbnNcIjpcItin2YTYtNix2YjYtyDZiNin2YTYp9it2YPYp9mFXCIsXHJcbiAgXCJuby1maWxlc1wiOiBcIiDZhNinINiq2YjYrNivINmF2LHZgdmC2KfYqlwiLFxyXG4gIFwiZHJhZy1maWxlc1wiOiBcItil2LPYrdioINin2YTZhdix2YHZgtin2Kog2YfZhtinXCIsXHJcbiAgXCJsaW1pdC1lcnJvclwiOiBcIti52K/YryDYp9mE2YXYsdmB2YLYp9iqINiq2KzYp9mI2LIg2KfZhNmF2LfZhNmI2KhcIixcclxuICBcInNpemUtZXJyb3JcIjogXCLYrdis2YUg2KfZhNmF2LHZgdmC2KfYqiDYqtis2KfZiNiyINin2YTZhdi32YTZiNioXCIsXHJcbiAgXCJ0eXBlLWVycm9yXCI6IFwi2KrZiNi5INin2YTZhdix2YHZgtin2Kog2LrZitixINmF2YbYp9iz2KhcIixcclxuICBcImR1cGxpY2F0ZWQtZXJyb3JcIjogXCLYqtmFINil2LHZgdin2YIg2KfZhNmF2YTZgSDYqNin2YTZgdi52YRcIixcclxuICBcInRoaXNJc0ludmFsaWRGaWxlXCI6ICfZh9iw2Kcg2YXZhNmBINi62YrYsSDYtdin2YTYrScsXHJcbiAgXCJhZGRcIjogXCLYp9i22KfZgdipXCIsXHJcbiAgXCJhZGRBdHRhY2htZW50c1wiOiBcItin2LbYp9mB2Kkg2YXYsdmB2YLYp9iqXCIsXHJcbiAgXCJhdHRhY2htZW50ZGVzY3JpcHRpb25cIjogXCLZiNi12YEg2KfZhNmF2YTZgVwiLFxyXG4gIFwiYXR0YWNobWVudGNvbW1lbnRcIjogXCLYp9mE2KrYudmE2YrZgtin2KpcIixcclxuICAvLyBcImF0dGFjaG1lbnRcIjogXCLYp9mE2YXYsdmB2YJcIixcclxuICBcImFkZEF0dGFjaG1lbnRcIjogXCLYp9i22KfZgdipINin2YTZhdix2YHZglwiLFxyXG4gIFwibG9jYXRpb25PZkluY2lkZW50XCI6IFwi2YXZiNmC2Lkg2KfZhNio2YTYp9i6XCIsXHJcbiAgXCJGaWxlTmFtZVwiOiBcItin2LPZhSDYp9mE2YXZhNmBXCIsXHJcbiAgXCJGaWxlRGVzY3JpcHRpb25cIjogXCLZiNi12YEg2KfZhNmF2YTZgVwiLFxyXG4gIC8vIFwiZGVsZXRlXCI6IFwi2K3YsNmBXCIsXHJcbiAgXCJBdHRhY2htZW50c1wiOiBcItin2YTZhdix2YHZgtin2KpcIixcclxuICBcIkF0dGFjaG1lbnRcIjogXCLYp9mE2YXYsdmB2YJcIixcclxuICBcImNvbW1lbnRcIjpcItmF2YTYp9it2LjYp9iqXCIsXHJcbiAgXCJjb21tZW50c1wiOlwi2YXZhNin2K3YuNin2KpcIixcclxuICBcImRlc2NyaXB0aW9uXCI6XCLYp9mE2YjYtdmBXCIsXHJcbiAgXCJwcm9jZXNzaW5nRGF0ZVwiOlwi2KrYp9ix2YrYriDZhdi52KfZhNis2Kkg2KfZhNi32YTYqFwiLFxyXG4gIFwiQXBwcm92YWxzXCI6XCLYp9mE2YXZiNin2YHZgtin2KpcIixcclxuICBcInN1Ym1pdHRlZFN1Y2Nlc3NmdWxseVwiOlwi2KrZhSDYqtmC2K/ZitmFINin2YTYt9mE2Kgg2KjZhtis2KfYrVwiLFxyXG4gIFwic3VwcG9ydFwiOiBcItin2YTZhdmE2YHYp9iqINin2YTZhdiz2YXZiNit2KkgOiBQTkcgJiBKUEcgJiBQREZcIixcclxuICBcInN1cHBvcnQyXCI6IFwi2KfZhNit2K8g2KfZhNij2YLYtdmJINmE2K3YrNmFINin2YTZhdmE2YEg2KfZhNmF2LPZhdmI2K0g2KjZhyDZh9mIIFwiLFxyXG4gIFwibWJcIjogXCLZhdmK2LrYp9io2KfZitiqXCIsXHJcbiAgXCJzdXBwb3J0M1wiOiBcIiDYp9mE2K3YryDYp9mE2KPZgti12Ykg2YTYrdis2YUg2KfZhNmF2YTZgSDYp9mE2YXYs9mF2YjYrSDYqNmHINmH2YggMzAwINmD2YrZhNmI2KjYp9mK2KpcIixcclxuICBcImVtcGxveWVlSURcIjogXCLYp9mE2LHZgtmFINin2YTZiNi42YrZgdmKIFwiLFxyXG4gIFwiTm9EYXRhXCI6IFwi2YTYpyDYqtmI2KzYryDYt9mE2KjYp9iqXCIsXHJcbiAgXCJOb0RhdGExXCI6IFwi2YTYpyDYqtmI2KzYryDYqti52YTZitmC2KfYqlwiLFxyXG4gIFwiTm9EYXRhMlwiOiBcItmE2Kcg2KrZiNis2K8g2KjZitin2YbYp9iqXCIsXHJcbiAgXCJEZWxldGVcIjogXCLYrdiw2YFcIixcclxuICBcIlZpZXdEZXRhaWxzXCI6XCLYudix2LYg2KfZhNiq2YHYp9i12YrZhFwiLFxyXG4gIFwiZnVsbE5hbWVcIjpcItin2YTYpdiz2YVcIixcclxuICBcIndlbGNvbWVCYWNrXCI6IFwi2YXYsdit2KjYpyDYqNi52YjYr9iq2YNcIixcclxuICBcIkhlbGxvXCI6IFwi2YXYsdit2KjYp1wiLFxyXG4gIFwiQ2FuY2VsXCI6XCLYpdmE2LrYp9ihXCIsXHJcbiAgXCJ2YWxpZEVtYWlsRXJyb3JcIjogJ9mK2KzYqCDYpdiv2K7Yp9mEINio2LHZitivINin2YTZg9iq2LHZiNmG2Yog2LXYrdmK2K0gJyxcclxuICBcInZhbGlkRmllbGRFcnJvclwiOiAn2YrYrNioINil2K/Yrtin2YQgJyxcclxuICBcInZhbGlkU2VsZWN0RXJyb3JcIjogJ9io2LHYrNin2KEg2KfYrtiq2YrYp9ixICcsXHJcbiAgXCJ2YWxpZFNlYXJjaEVycm9yXCI6ICfYqNix2KzYp9ihINin2YTYqNit2Ksg2LnZhiAnLFxyXG4gIFwiZGVsZXRlXCI6IFwi2K3YsNmBXCIsXHJcbiAgXCJBcmV5b3VzdXJleW91d2FudGRlbGV0ZVwiOiBcItmH2YQg2KPZhtiqINmF2KrYo9mD2K8g2YXZhiDYo9mG2YMg2KrYsdmK2K8g2K3YsNmBINmH2LDYpyDYp9mE2LfZhNio2J9cIixcclxuICBcImRyZi1jb25maXJtYXR0b24tbXNnXCI6XCLZitmI2KzYryDYt9mE2KjYp9iqINmE2YUg2KrYqtmFINit2KrZiSDYp9mE2KfZhiAuLiDYp9mE2LHYrNin2KEg2KfZhNiq2KPZg9mK2K8g2KfYsNinINix2LrYqNiqINio2YbZgtmEINin2YTYt9mE2Kgg2YTZhNmF2LHYrdmE2Ycg2KfZhNiq2KfZhNmK2Kkg2KjYr9mI2YYg2YXYr9iu2YTYp9iq2YfZhVwiLFxyXG4gIFwiWWVzLVByb2NlZWRcIjpcIiDZhti52YUg4oCTINin2YPZhdmEINin2YTYt9mE2KhcIixcclxuICBcIk5vLURpc2NhcmRcIjpcIiDZhNinIOKAkyDYp9mE2LrYp9ihXCIsXHJcbiAgXCJ5ZXNcIjogXCIg2YbYudmFXCIsXHJcbiAgXCJOb0F0dGFjaG1lbnRzXCI6IFwi2YTYpyDYqtmI2KzYryDZhdix2YHZgtin2KpcIixcclxuICBcImNhbmNlbFwiIDogXCLYpdmE2LrYp9ihXCIsXHJcbiAgXCJWaWV3XCI6XCLYudix2LZcIixcclxuICBcImVkaXRcIjpcItiq2LnYr9mK2YRcIixcclxuICBwbGFjZWhvbGRlcjogJ9ij2YXZhNinINmH2LDYpyDYp9mE2K3ZgtmEJyxcclxuICBkb3dubG9hZExpbms6XCLYqtit2YXZitmEINin2YTYsdin2KjYt1wiLFxyXG4gIFwibGlua1wiOlwi2KfZhNix2KfYqNi3XCIsXHJcblxyXG5cclxuXHJcbiAgQXR0YWNobWVudEludm9pY2VzOiAn2YXYsdmB2YLYp9iqINin2YTZgdmI2KfYqtmK2LEnLFxyXG4gIEF0dGFjaG1lbnRzT2ZCYW5rOiAn2YXYsdmB2YLYp9iqINmD2LTZgSDYp9mE2K3Ys9in2Kgg2KfZhNio2YbZg9mKINij2Ygg2KfZhNio2LfYp9mC2Kkg2KfZhNil2KbYqtmF2KfZhtmK2KknLFxyXG4gIERlcG9zaXRWb3VjaGVyQXR0YWNobWVudHM6ICfZhdix2YHZgtin2Kog2YLYs9mK2YXYqSDYp9mE2KXZitiv2KfYuScsXHJcbiAgc2VydmljZUJyaWVmIDogXCLZiNi12YEg2KfZhNiu2K/ZhdipXCIsXHJcbiAgUHJldmlvdXNSZXF1ZXN0czpcItin2YTYt9mE2KjYp9iqINin2YTYs9in2KjZgtipXCIsXHJcbiAgJ1Byb2R1Y3QgSW1wbGVtZW50YXRpb24nOiAnUHJvZHVjdCBJbXBsZW1lbnRhdGlvbicsXHJcbiAgJ1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZSc6J1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZScsXHJcbiAgJ0JpbGxpbmcgU3VwcG9ydCBhbmQgQ29udHJhY3RzJzonQmlsbGluZyBTdXBwb3J0IGFuZCBDb250cmFjdHMnLFxyXG4gICdTYWxlcyBFeGNlbGxlbmNlJzonU2FsZXMgRXhjZWxsZW5jZScsXHJcbiAgJ09yZGVyIEVuZ2luZWVyaW5nIGFuZCBEZWxpdmVyeSBNYW5hZ2VtZW50JzonT3JkZXIgRW5naW5lZXJpbmcgYW5kIERlbGl2ZXJ5IE1hbmFnZW1lbnQnLFxyXG4gICdUaGlyZCBQYXJ0eSBDb250cm9sIGFuZCBQcm9qZWN0cyc6J1RoaXJkIFBhcnR5IENvbnRyb2wgYW5kIFByb2plY3RzJyxcclxuICAnRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJzonRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJyxcclxuICAnRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJzonRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJyxcclxuICAnR292ZXJubWVudCBBY2NvdW50cyBTYWxlcyc6J0dvdmVybm1lbnQgQWNjb3VudHMgU2FsZXMnLFxyXG4gICdNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnOidNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnLFxyXG4gICdDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnOidDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnLFxyXG4gICdDb21tZXJjaWFsIFJlZ3VsYXRpb24nOidDb21tZXJjaWFsIFJlZ3VsYXRpb24nLFxyXG4gICdFbnRlcnByaXNlIENvbW1lcmNpYWwgRmluYW5jZSc6J0VudGVycHJpc2UgQ29tbWVyY2lhbCBGaW5hbmNlJyxcclxuICAnUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JzonUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JyxcclxuICAnRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JzonRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JyxcclxuICAnQ3VzdG9tZXIgVmFsdWUgTWFuYWdlbWVudCc6J0N1c3RvbWVyIFZhbHVlIE1hbmFnZW1lbnQnLFxyXG5cclxuXHJcbiAgdGVybU5vdGUxOiBcIjEuINin2YTYpdiv2KfYsdipINin2YTYt9in2YTYqNipINmF2LPYptmI2YTYqSDYudmGINi12K3YqSDYp9mE2KPZiNix2KfZgiDYp9mE2YXYsdmB2YLYqdiMINmI2KfZhNil2LTYsdin2YEg2LnZhNmJINin2YTYudmF2KfZhNipLlwiLFxyXG4gIHRlcm1Ob3RlMjogXCIyLlx02YrYrNioINij2YYg2YrZg9mI2YYg2KfZhNi52KfZhdmEINi52YTZiSDZg9mB2KfZhNipINin2YTYtNix2YPYqSDYp9mE2YXZgtin2YjZhNipINiMINmI2YHZiiDYrdin2YTYqSDYp9mE2KrYudin2YLYryDZhdmGINin2YTYqNin2LfZhiDZitis2Kgg2KfYsdmB2KfZgiDYp9mE2LnZgtivINio2YrZhiDYp9mE2LfYsdmB2YrZhiDZhdmI2YLYudinINmI2YXYrtiq2YjZhdinINmI2K3Yr9mK2KvYpyDYjCDZiNij2YYg2YrZg9mI2YYg2KfZhNi52KfZhdmEINi52YTZiSDZg9mB2KfZhNipINin2YTYtNix2YPYqSDYp9mE2YXYqti52KfZgtivINmF2YYg2KfZhNio2KfYt9mGIC5cIixcclxuICB0ZXJtTm90ZTM6IFwiMy4g2YrYrNioINij2YYg2KrZg9mI2YYg2YXZh9mG2Kkg2KfZhNi52KfZhdmEINmB2Yog2KXZgtin2YXYqtmHINmF2LfYp9io2YLYqSDZhNmF2Kcg2YrZgtmI2YUg2KjZhyDZhdmGINij2LnZhdin2YQg2YjYqNmF2Kcg2YrYqtmI2KfZgdmCINmF2Lkg2LfYqNmK2LnYqSDYudmF2YTZh1wiLFxyXG4gIHRlcm1Ob3RlNDogXCI0LiDYqNin2YTZhtiz2KjYqSDZhNmE2KPYtNiu2KfYtSDYp9mE2LDZitmGINmK2K3Yttix2YjZhiDYqNiq2KPYtNmK2LHYqSDYstmK2KfYsdipINmK2YTYstmFINin2LHZgdin2YIg2KrYo9i02YrYsdipINin2YTYstmK2KfYsdipINiz2KfYsdmK2Kkg2KfZhNmF2YHYudmI2YQg2Iwg2YXYuSDYpdix2YHYp9mCINmF2KfZitir2KjYqiDYp9mE2LnZhNin2YLYqSDZhdi5INi02LHZg9ipIChzdGMpIC7YpdmF2Kcg2LnZgtivIC8g2KPZiCDYrti32KfYqCDZhdmGINin2YTYrNmH2Kkg2KfZhNi32KfZhNio2Kkg2YXZiNi22K3Yp9mLINmF2YfYp9mFINin2YTYstmK2KfYsdipINmE2LTYsdmD2KkgKHN0YykuINmI2YrZhdmG2K0g2YHYqtix2Kkg2KrYtdix2YrYrSDYqNmF2K/YqSDYo9mC2KfZhdiq2Ycg2KjYp9mE2KrYo9i02YrYsdipXCIsXHJcbiAgdGVybU5vdGU1OiBcIjUuINmK2YXZhti5INin2LPYqtiu2K/Yp9mFINio2LfYp9mC2Kkg2KrYtdix2YrYrSDYp9mE2K/YrtmI2YQg2YXZhiDZgtio2YQg2LTYrti1INij2K7YsSDYjCDZiNmK2KzYqCDYpdi52KfYr9iq2YfYpyDYudmG2K8g2KfZhNil2YbYqtmH2KfYoSDYpdmE2Ykg2KXYr9in2LHYqSDYp9mE2KPZhdmGIC4g2YjZgdmKINit2KfZhCDYttmK2KfYudmH2Kcg2YrYrNioINil2KjZhNin2Log2KXYr9in2LHYqSDYp9mE2KPZhdmGINmI2KfZhNiz2YTYp9mF2Kkg2LnZhNmJINin2YTZh9in2KrZgSA4MDAxMjMxNjE2INij2YggMDExNDI1MTYxNiAoINin2YTZhdix2YPYsiDYp9mE2LHYptmK2LPZiiApLiDYq9mFINmK2YTYstmFINiq2YLYr9mK2YUg2LfZhNioINiq2LXYsdmK2K0g2K/YrtmI2YQg2KzYr9mK2K8g2YTZitiq2YUg2LXYsdmBINio2LfYp9mC2Kkg2KjYr9mEINmB2KfZgtivINmF2Lkg2YHYsdi2INi62LHYp9mF2Kkg2YXYp9mE2YrYqSA1MDAg2LHZitin2YQg2YTZhNmF2LHYqSDYp9mE2KPZiNmE2Ykg2YgxMDAwINix2YrYp9mEINmE2YTZhdix2Kkg2KfZhNir2KfZhtmK2Kkg2Iwg2YjZgdmKINin2YTZhdix2Kkg2KfZhNir2KfZhNir2Kkg2YrZhdmG2Lkg2YXZhiDYp9mE2K/YrtmI2YQg2YjZitit2KfZhCDZhNmE2KzZh9in2Kog2KfZhNit2YPZiNmF2YrYqSDYsNin2Kog2KfZhNi52YTYp9mC2KkuXCIsXHJcbiAgdGVybU5vdGU2OiBcIjYuINiq2KrYrdmF2YQg2KfZhNi02LHZg9ipINin2YTZhdmC2KfZiNmE2Kkg2YPYp9mB2Kkg2KfZhNiq2KjYudin2Kog2KfZhNmC2KfZhtmI2YbZitipINmE2KPZiiDYp9i22LHYp9ixINmK2K3Yr9ir2YfYpyDYp9mE2LnYp9mF2YQg2K/Yp9iu2YQg2YXZiNin2YLYuSDYp9mE2LnZhdmEINio2LTYsdmD2KkgKHN0YylcIixcclxuICB0ZXJtTm90ZTc6IFwiNy4g2YbYo9mF2YQg2LfYqNin2LnYqSDYp9mE2YbZhdmI2LDYrCAo2YXZhiDYstixINin2YTYt9io2KfYudipINij2LnZhNmJINin2YTZhtmF2YjYsNisKSDYqNi52K8g2KfZhNmF2YjYp9mB2YLYqSDYudmE2YrZhyDZhdmGINmC2KjZhCDYtNi52KjYqSDYrtiv2YXYp9iqINin2YTYqNi32KfZgtin2KrYjCDZiNil2K3Yttin2LHZhyDYudmG2K8g2KfZhNmF2LHYp9is2LnYqSDZhNmK2KrZhSDYpdi12K/Yp9ixINin2YTYqNi32KfZgtipXCIsXHJcbiAgdGVybU5vdGU4OiBcIjguINmK2YTYqtiy2YUg2KfZhNmF2YLYp9mI2YQg2KfZhNix2KbZitiz2Yog2YjZhdmC2KfZiNmE2Yog2KfZhNio2KfYt9mGINio2KrYudmE2YrZhdin2Kog2KfZhNij2YXZhiDZiNin2YTYs9mE2KfZhdipINmD2YXYpyDZhti12Kog2LnZhNmJINiw2YTZgyDYp9mE2LnZgtmI2K8g2KfZhNmF2KjYsdmF2Kkg2YXYuSDYrNmF2YrYuSDZhdmC2KfZiNmE2Yog2LTYsdmD2KkgKHN0Yykg2YjYp9mE2K7YttmI2Lkg2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZgdiq2YrYtCDYp9mE2K/ZiNix2YrYqSDZhNmE2YXZiNin2YLYuSDZhdmGINmC2KjZhCDZhdmB2KrYtNmKINin2YTYs9mE2KfZhdipINmE2YTYqtij2YPYryDZhdmGINin2YTYpdmE2KrYstin2YUg2KjYqti52YTZitmF2KfYqiDYp9mE2LPZhNin2YXYqSDZiNiz2YrYp9iz2Kkg2KfZhNi52YXZhCDYp9mE2KLZhdmGINmI2LPZiNmBINmK2KrZhSDYqtit2LHZitixINmF2K7Yp9mE2YHYp9iqINmI2LrYsdin2YXYp9iqINmF2KfZhNmK2Kkg2YHZiiDYrdin2YQg2YjYrNmI2K/Zh9inINmF2YjYttit2Kkg2YjZhdmI2LXZiNmB2Kkg2KjYp9mE2YLZitmFINin2YTZhdin2YTZitipINi52KjYsSDYudmE2KfZgtin2Kog2KfZhNmF2YjYsdiv2YrZhiDYudmE2Ykg2KfZhNix2KfYqNi3IDpcIixcclxuICB0ZXJtTm90ZTk6IFwiOS4g2KrZhNiq2LLZhSDYp9mE2KXYr9in2LHYqSDYp9mE2LfYp9mE2KjYqSDYqNiq2LbZhdmK2YYg2KfZhNiq2YLYp9ix2YrYsSDYp9mE2YHZhtmK2Kkg2KfZhNmF2YjYtdmK2Kkg2KjYp9mE2LXYsdmBINmF2K7Yp9mE2YHYp9iqINin2YTYs9mE2KfZhdipINil2YYg2YjYrNiv2Kog2YjYqtiu2LXZhSDZhdmGINin2YTYp9iz2KrYrdmC2KfZgiDZiNiw2YTZgyDYqti32KjZitmC2KfZiyDZhNil2KzYsdin2KEg2YTYp9im2K3YqSDYp9mE2LrYsdin2YXYp9iqINmI2KfZhNis2LLYp9ih2KfYqiDZhNmF2K7Yp9mE2YHYp9iqINin2YTYs9mE2KfZhdipINi52YTZiSDYp9mE2YXZgtin2YjZhNmK2YZcIixcclxuICB0ZXJtTm90ZTEwOiBcIjEwLiDYqtiz2YTZitmFINio2LfYp9mC2KfYqiDYp9mE2YXYsdmD2LIg2KfZhNix2KbZitiz2Yog2YHZiiDZhdix2YPYsiDYpdi12K/Yp9ixINin2YTYqNi32KfZgtin2Kog2KjZiNin2KjYqSDYsdmC2YUgMyAsINij2YXYpyDYqNmC2YrYqSDYp9mE2YXZhtin2LfZgiDYqtiz2YTZhSDZgdmKINil2K/Yp9ix2Kkg2KPZhdmGINin2YTZhdmG2KfYt9mCXCIsXHJcbiAgdGVybU5vdGUxMTogXCIxMS4g2YrYqtmFINiq2LfYqNmK2YIg2YTYp9im2K3YqSDYp9mE2KzYstin2KHYp9iqINmI2KfZhNi62LHYp9mF2KfYqiDYudmE2Ykg2KfZhNmF2K7Yp9mE2YHZitmGINiv2KfYrtmEINmF2YjYp9mC2LkgU1RDINit2YrYqyDZitiq2YUg2KXZitmC2KfZgSDYp9mE2YXYsdmD2KjYp9iqINin2YTZhdiu2KfZhNmB2Kkg2LnZhiDYt9ix2YrZgiDZiNi22Lkg2KfZhNmD2YjYp9io2K0g2LnZhNmK2YfYp9iMINmI2KrYrtmE2Yog2KfZhNi02LHZg9ipINmF2LPYpNmI2YTZitiq2YfYpyDYqNi02YPZhCDZg9in2YXZhCDYudmGINij2Yog2KPYttix2KfYsSDZitiq2LPYqNioINio2YfYpyDYp9mE2YPYp9io2K0g2LnZhtivINin2YTYqtix2YPZitioINij2Ygg2KfZhNmB2YNcIixcclxuICBtZXNzYWdlRXJyb3JQaG9uZU51bWJlcjogXCLYp9mE2LHYrNin2KEg2KfYr9iu2KfZhCDYsdmC2YUg2KzZiNin2YQg2LXYrdmK2K1cIixcclxuXHJcbiAgc2VydmljZUFncmVlbWVudDogXCIg2KfZhNi02LHZiNi3INmIINin2YTYttmI2KfYqNi3XCIsXHJcbiAgbGVuZ3RoRXJyb3I6IFwi2YTYpyDZitmF2YPZhiDYo9iv2K7Yp9mEINij2YPYq9ixINmF2YZcIixcclxuICB1c2VyQWxyZWFkeUV4aXN0OiBcItmH2LDYpyDYp9mE2YXYs9iq2K7Yr9mFINmF2YjYrNmI2K8g2YXYs9io2YLYp9mLXCIsXHJcbiAgSU5URVJOQUw6ICfYr9in2K7ZhNmKOiDYpdiq2KfYrdipINin2YTZiNir2YrZgtipL9in2YTYs9is2YQg2YTZhNil2LfZhNin2Lkg2K/Yp9iu2YQg2KfZhNi02LHZg9ipINmB2YLYtycsXHJcbiAgU1BFQ0lGSUNfT1JfQ09ORklERU5USUFMOiAn2YXYrdiv2K8v2LPYsdmKOiDZhti02LEg2KfZhNmI2KvZitmC2Kkv2KfZhNiz2KzZhCDYqNi12YTYp9it2YrYqSDYpdi32YTYp9i5INmF2YLYtdmI2LHYqSDYudmE2Yk6IDxicj4g2KPYs9mF2KfYoSDZhdit2K/Yr9ipIDxicj4g2YjYrdiv2Kkg2KrZhti42YrZhdmK2Kkg2YXYrdiv2K/YqTxicj4g2YXYs9iq2YjZitin2Kog2KXYr9in2LHZitipINmF2K3Yr9iv2KknLFxyXG4gIEFWQUlMQUJMRTogJ9mF2KrYp9itOiDYpdiq2KfYrdipINin2YTZiNir2YrZgtipL9in2YTYs9is2YQg2YTZhNil2LfZhNin2Lkg2K/Yp9iu2YQg2Ygg2K7Yp9ix2Kwg2KfZhNi02LHZg9ipJyxcclxuICBvdGhlcjon2KLYrtixJyxcclxuICBvdGhlcnM6J9ii2K3YsdmI2YYnLFxyXG4gIHNlbGVjdEFsbDon2KfYrtiq2LEg2KfZhNmD2YQnLFxyXG4gIFVSR0VOVDogJzEg2YrZiNmFJyxcclxuICBOT1JNQUw6ICczINij2YrYp9mFJyxcclxuICBzZWxlY3Q6ICfYp9iu2KrYsScsXHJcbiAgYWRkTXVsdGlBdHRhY2htZW50czpcItil2LbYp9mB2Kkg2KPZg9ir2LEg2YXZhiDZhdmE2YFcIixcclxuICBcIndlbGNvbWVcIjogXCLZhdix2K3YqNinIFwiLFxyXG4gIFwibG9nb3V0XCI6IFwi2KrYs9is2YrZhCDYrtix2YjYrFwiLFxyXG4gIFwib3RoZXJMYW5nXCI6IFwiRW5nbGlzaFwiLFxyXG4gIGZsYWdTdGF0dXNVcGRhdGVkOlwi2KrZhSDYp9mE2KrYrdiv2YrYqyDYqNmG2KzYp9itXCIsXHJcbiAgICBcIkFsbFJlcXVlc3RzXCI6IFwi2LnYr9ivINin2YTYt9mE2KjYp9iqXCIsXHJcbiAgXCJjbGVhclwiOiBcItmF2LPYrVwiLFxyXG4gIFwiYXBwbHlGaWx0ZXJzXCI6IFwi2KrYtdmB2YrYqVwiLFxyXG4gIFwiZmlsdGVyc1wiOiBcItiq2LXZgdmK2KlcIixcclxuICBtb250aDogXCLYp9mE2LTZh9ixXCIsXHJcbiAgeWVhcjogXCLYp9mE2LPZhtipXCIsXHJcbiAgc3RhdHVzOlwi2KfZhNit2KfZhNipXCIsXHJcbiAgZG93bmxvYWRBbGw6J9iq2K3ZhdmK2YQg2KzZhdmK2Lkg2KfZhNmF2LHZgdmC2KfYqicsXHJcbiAgaXRlbXNQZXJQYWdlOlwi2LnYr9ivINin2YTYudmG2KfYtdixINio2KfZhNi12YHYrdipXCJcclxuXHJcblxyXG5cclxufVxyXG4iXX0=
@@ -190,6 +190,8 @@ export default {
190
190
  "filters": "Filters",
191
191
  month: "Month",
192
192
  year: "Year",
193
- status: "Status"
193
+ status: "Status",
194
+ downloadAll: 'Download All Attachment',
195
+ itemsPerPage: "Items per page"
194
196
  };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2kxOG4vZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLGFBQWEsRUFBRSwrSkFBK0o7SUFDOUssa0JBQWtCLEVBQUMsdUdBQXVHO0lBQzFILFVBQVU7SUFDVixPQUFPLEVBQUUsT0FBTztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUUsb0JBQW9CO0lBQ3hDLFNBQVM7SUFDVCxVQUFVLEVBQUUsVUFBVTtJQUN0QixVQUFVLEVBQUUsVUFBVTtJQUN0QixTQUFTO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsd0JBQXdCO0lBQ3hCLHFCQUFxQixFQUFDLGlCQUFpQjtJQUN2Qyx1QkFBdUIsRUFBQyxzQ0FBc0M7SUFDOUQsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLG1CQUFtQixFQUFDLHFCQUFxQjtJQUN6QyxzQkFBc0I7SUFDdEIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxlQUFlLEVBQUUsT0FBTztJQUN4Qix1QkFBdUIsRUFBRSxrQkFBa0I7SUFDM0MsZ0JBQWdCLEVBQUUsWUFBWTtJQUM5Qix1QkFBdUIsRUFBRSxtQkFBbUI7SUFDNUMsd0JBQXdCLEVBQUUsYUFBYTtJQUN2QyxhQUFhLEVBQUUsYUFBYTtJQUM1QixlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxhQUFhLEVBQUUsY0FBYztJQUM3QixRQUFRLEVBQUUsUUFBUTtJQUNsQixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGNBQWM7SUFDNUIsYUFBYSxFQUFDLGNBQWM7SUFDNUIsb0JBQW9CO0lBQ3BCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVc7SUFDWCxpQkFBaUIsRUFBRSxvQ0FBb0M7SUFDdkQsbUJBQW1CLEVBQUMs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QUFtQztJQUN2RSw2QkFBNkIsRUFBQyw2QkFBNkI7SUFDM0QsMkJBQTJCLEVBQUMsMkJBQTJCO0lBRXZELFNBQVMsRUFBRSw4R0FBOEc7SUFDekgsU0FBUyxFQUFFLGlRQUFpUTtJQUM1USxTQUFTLEVBQUUsOEhBQThIO0lBQ3pJLFNBQVMsRUFBRSxnVkFBZ1Y7SUFDM1YsU0FBUyxFQUFFLCtlQUErZTtJQUMxZixTQUFTLEVBQUUsd0lBQXdJO0lBQ25KLFNBQVMsRUFBRSxxS0FBcUs7SUFDaEwsU0FBUyxFQUFFLDhkQUE4ZDtJQUN6ZSxTQUFTLEVBQUUsNFNBQTRTO0lBQ3ZULFVBQVUsRUFBRSxtTEFBbUw7SUFDL0wsVUFBVSxFQUFFLHdQQUF3UDtJQUNwUSx5QkFBeUIsRUFBRyxtQ0FBbUM7SUFDL0QsZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLFdBQVcsRUFBRSx3QkFBd0I7SUFDckMsZ0JBQWdCLEVBQUUscUJBQXFCO0lBQ3ZDLFFBQVEsRUFBRSxrRkFBa0Y7SUFDNUYsd0JBQXdCLEVBQUUsMkxBQTJMO0lBQ3JOLFNBQVMsRUFBRSwyRkFBMkY7SUFDdEcsS0FBSyxFQUFDLE9BQU87SUFDYixNQUFNLEVBQUMsUUFBUTtJQUNmLFNBQVMsRUFBQyxZQUFZO0lBQ3RCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsbUJBQW1CLEVBQUMsdUJBQXVCO0lBQzNDLGlCQUFpQixFQUFDLGtDQUFrQztJQUNwRCxhQUFhLEVBQUUsY0FBYztJQUM3QixjQUFjLEVBQUUsZUFBZTtJQUMvQixPQUFPLEVBQUUsT0FBTztJQUNoQixTQUFTLEVBQUUsU0FBUztJQUNwQixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7Q0FHakIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcclxuICBcInBhZ2VUaW1lT3V0XCI6ICdMb29rcyBsaWtlIHRoZSBzZXJ2ZXIgaXMgdGFraW5nIHRvbyBsb25nIHRvIHJlc3BvbmQsIHRoaXMgY2FuIGJlIGNhdXNlZCBieSBlaXRoZXIgcG9vciBjb25uZWN0aXZpdHkgb3IgYW4gZXJyb3Igd2l0aCBvdXIgc2VydmVycy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIHdoaWxlJyxcclxuICBcInBhZ2VFcnJvckxvYWRpbmdcIjonQW4gZXJyb3Igb2NjdXJyZWQsIFBsZWFzZSB0cnkgYWZ0ZXIgc29tZXRpbWVzLiBJZiB0aGUgZXJyb3IgY29udGludWVzLCBwbGVhc2UgY29udGFjdCB0aGUgSVQgSGVscGRlc2snLFxyXG4gIC8vIEJ1dHRvbnNcclxuICBcInJlc2V0XCI6IFwiUmVzZXRcIixcclxuICBcInN1Ym1pdFwiOiBcIlN1Ym1pdFwiLFxyXG4gIC8vIFNlbGVjdFxyXG4gIFwic2VsZWN0WW91ck9wdGlvblwiOiBcIlNlbGVjdCB5b3VyIG9wdGlvblwiLFxyXG4gIC8vIExhYmVsc1xyXG4gIFwib3B0aW9uYWxcIjogXCJPcHRpb25hbFwiLFxyXG4gIFwiT3B0aW9uYWxcIjogXCJPcHRpb25hbFwiLFxyXG4gIC8vQnV0dG9uc1xyXG4gIFwiYnJvd3NlXCI6IFwiQnJvd3NlXCIsXHJcbiAgLy8gUmVxdWVzdCBEZXRhaWxzIFRpdGxlXHJcbiAgXCJyZXF1ZXN0RGV0YWlsc1RpdGxlXCI6XCJSZXF1ZXN0IERldGFpbHNcIixcclxuICBcImhyUmVxdWVzdERldGFpbHNUaXRsZVwiOlwiUmVxdWVzdCBEZXRhaWxzIChHcmlldmFuY2UgRW1wbG95ZWUpXCIsXHJcbiAgXCJhcHBseVJlcXVlc3RGb3JcIjogJ0FwcGx5IFJlcXVlc3QgRm9yJyxcclxuICBcInNlYXJjaEZvckVtcGxveWVlXCI6J1NlYXJjaCBmb3IgZW1wbG95ZWUnLFxyXG4gIC8vIFByb2ZpbGUgSW5mbyBMYWJlbHNcclxuICBcImRpcmVjdE1hbmFnZXJcIjogXCJEaXJlY3QgTWFuYWdlclwiLFxyXG4gIFwiZW1wbG95ZWVFbWFpbFwiOiBcIkVtYWlsXCIsXHJcbiAgXCJnZW5lcmFsRGVwYXJ0bWVudE5hbWVcIjogXCJHZW5lcmFsIERlcC5OYW1lXCIsXHJcbiAgXCJkZXBhcnRtZW50TmFtZVwiOiBcIkRlcGFydG1lbnRcIixcclxuICBcImdlbmVyYWxEZXBhcnRtZW50Q29kZVwiOiBcIkdlbmVyYWwgRGVwLiBDb2RlXCIsXHJcbiAgXCJodW1hblJlc291cmNlc0xvY2F0aW9uXCI6IFwiSFIgbG9jYXRpb25cIixcclxuICBcIm5hdGlvbmFsaXR5XCI6IFwiTmF0aW9uYWxpdHlcIixcclxuICBcImJ1c2luZXNzUGhvbmVcIjogXCJCdXNpbmVzcyBQaG9uZVwiLFxyXG4gIFwidmlld0FsbERldGFpbHNcIjogXCJWaWV3IEFsbCBEZXRhaWxzXCIsXHJcbiAgXCJqb2JQb3NpdGlvblwiOiBcIkpvYiBQb3NpdGlvblwiLFxyXG4gIFwic2VjdG9yXCI6IFwiU2VjdG9yXCIsXHJcbiAgLy8gRm9ybSBTZWN0aW9uIGxhYmVsc1xyXG4gIFwiZGVsZWdhdGVUb1wiOiBcIkRlbGVnYXRlZCB0b1wiLFxyXG4gIFwicHJvY2Vzc2VkQnlcIjpcIlByb2Nlc3NlZCBieVwiLFxyXG4gIC8vIERhdGVwaWNrZXIgbGFiZWxzXHJcbiAgXCJncmVnb3JpYW5cIjogXCJHcmVnb3JpYW5cIixcclxuICBcImhpanJpXCI6IFwiSGlqcmlcIixcclxuICAvLyBNZXNzYWdlc1xyXG4gIFwic3VjY2Vzc1N1Ym1pdGVkXCI6IFwiVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoaXMgZm9ybVwiLFxyXG4gIFwibGVuZ2h0TWluMTVNYXg1MDBcIjpcIlBsZWFzZSBlbnRlciBtaW5pbXVtIDE1IGNoYXJhY3RlcnMgYW5kIG1heGltdW0gNTAwIGNoYXJhY3RlcnNcIixcclxuICBcImxlbmdodE1pbjE1TWF4MTAwMFwiOlwiUGxlYXNlIGVudGVyIG1pbmltdW0gMTUgY2hhcmFjdGVycyBhbmQgbWF4aW11bSAxMDAwIGNoYXJhY3RlcnNcIixcclxuICBcIm1pbkxlbmd0aDE1XCI6IFwiUGxlYXNlIGVudGVyIGEgbWluaW11bSBvZiAxNSBjaGFyYWN0ZXJzXCIsXHJcbiAgXCJtYXhsZW5ndGg1MDBcIjogXCI1MDAgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgc3VwcG9ydGVkXCIsXHJcbiAgXCJtYXhTaXplXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgaXMgMTBNQlwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgYWxsb3dlZCBpcyAxME1CIGFuZCBhY2NlcHRlZCBleHRlbnNpb25zIGFyZSAocGRmLCBkb2MsIGRvY3gsIHBwdCwgcHB0eCwgcHBzLCBwcHN4LCBvZHQsIHhscywgeGxzeCwgemlwLCBtc2csIGNzdiwgdHh0LCBydGYsIGh0bWwsIG1wNCwgbTR2LCBtb3YsIHdtdiwgYXZpLCBtcGcsIG9ndiwgM2dwLCAzZzIsIGpwZywganBlaiwgcG5nLCBnaWYsIGJtcClcIixcclxuICBcInVuc3VwcG9ydGVkVHlwZUltZ1BkZlwiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgMTBNQiBhbmQgYWNjZXB0ZWQgZXh0ZW5zaW9ucyBhcmUgKHBkZiwganBnLCBqcGVqLCBwbmcsIGJtcClcIixcclxuICBcInVuc3VwcG9ydGVkVHlwZUltZ1BkZjJcIjogXCJNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIGlzIDEwTUIgYW5kIGFjY2VwdGVkIGV4dGVuc2lvbnMgYXJlICAocGRmLCBkb2N4LCB4bHN4LCBqcGcsIGVtYWlsLCBwcHR4KVwiLFxyXG4gIFwidW5zdXBwb3J0ZWRUeXBlSW1nXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgYWxsb3dlZCBpcyAxME1CIGFuZCBhY2NlcHRlZCBleHRlbnNpb25zIGFyZSAoanBnLCBqcGVqLCBwbmcsIGJtcClcIixcclxuICBcInVuc3VwcG9ydGVkVHlwZVBkZlwiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgMTBNQiBhbmQgYWNjZXB0ZWQgZXh0ZW5zaW9uIGlzIChwZGYpXCIsXHJcbiAgXCJub1VzZXJzRm91bmRcIjogXCJQbGVhc2UgZW50ZXIgdmFsaWQgc2VhcmNoIGRhdGFcIixcclxuICAvLyBTdWJtaXQgVGFibGVcclxuICBcImZvcm1UYWJsZUZvcm1JZFwiOiBcIkZvcm0gSURcIixcclxuICBcImZvcm1UYWJsZUZvcm1TdGF0dXNcIjogXCJGb3JtIFN0YXR1c1wiLFxyXG4gIFwiZm9ybVRhYmxlQ3JlYXRpb25EYXRlXCI6IFwiQ3JlYXRpb24gRGF0ZVwiLFxyXG4gIFwiZm9ybVRhYmxlUGVuZGluZ1dpdGhcIjogXCJQZW5kaW5nIFdpdGhcIixcclxuICBcImZvcm1UYWJsZUJhY2tUb0luYm94XCI6IFwiQmFjayB0byBJbmJveFwiLFxyXG4gIC8vIGZlZWRiYWNrXHJcbiAgXCJyZXF1ZXN0RmVlZGJhY2tcIjogXCJSZXF1ZXN0IEZlZWRiYWNrXCIsXHJcbiAgXCJyZXF1ZXN0VG9cIjogXCJSZXF1ZXN0IFRvXCIsXHJcbiAgXCJmZWVkYmFja1wiOiBcIkZlZWRiYWNrXCIsXHJcbiAgXCJ2aWV3RmVlZGJhY2tcIjogXCJWaWV3IEZlZWRiYWNrXCIsXHJcbiAgXCJyZXF1ZXN0RnJvbVwiOiBcIlJlcXVlc3QgRnJvbVwiLFxyXG4gIFwiZmVlZGJhY2tRdWVzdGlvblwiOiBcIkZlZWRiYWNrIFF1ZXN0aW9uXCIsXHJcbiAgXCJlbXBsb3llZVNlYXJjaFwiOiBcIkVtcGxveWVlIFNlYXJjaFwiLFxyXG4gIFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzFcIjogXCJFbnRlciBtaW5pbXVtIDMgY2hhcmFjdGVyIHRvIHN0YXJ0IGVtcGxveWVlIHNlYXJjaFwiLFxyXG4gIFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzJcIjogXCJUeXBlIHVtYmVyIHRvIHNlYXJjaCBieSBlbXBsb3llZSBudW1iZXJcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8zXCI6IFwiVG8gc2VhcmNoIGJ5IGVtYWlsLiB1c2UgQCBiZWZvcmUgb3IgYWZ0ZXIgc2VhcmNoIGNoYXJhY3RlclwiLFxyXG4gIFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzRcIjogXCJTZXBlcmF0ZSBGaXJzdCBuYW1lLCBTZWNvbmQgTmFtZSwgRmFtaWx5IE5hbWUgd2l0aCBzcGFjZSB0byBzZWFyY2ggYnkgRmlyc3QgTmFtZSwgU2Vjb25kIE5hbWUgYW5kIEZhbWlseSBOYW1lXCIsXHJcbiAgXCJvbkJlaGFsZkZsYWdcIjpcIlJlcXVlc3QgT24tYmVoYWxmXCIsXHJcbiAgXCJvbkJlaGFsZk9mRW1haWxcIjpcIkVtcGxveWVlIE5hbWVcIixcclxuICBcImNvbW1lbnRIaXN0b3J5XCI6XCJDb21tZW50cyBIaXN0b3J5XCIsXHJcbiAgXCJOT0RBVEFcIjogJ05vIERhdGEnLFxyXG4gIFwidGVybXNBbmRDb25kaXRpb25zXCI6ICdUZXJtcyBBbmQgQ29uZGl0aW9ucycsXHJcbiAgXCJuby1maWxlc1wiOiBcIiBObyBkb2N1bWVudHMgYXR0YWNoZWRcIixcclxuICBcImRyYWctZmlsZXNcIjogXCJEcmFnIGFuZCBkcm9wIGZpbGUgaGVyZVwiLFxyXG4gIFwibGltaXQtZXJyb3JcIjogXCJsaW1pdCBlcnJvclwiLFxyXG4gIFwic2l6ZS1lcnJvclwiOiBcInNpemUgZXJyb3JcIixcclxuICBcInR5cGUtZXJyb3JcIjogXCJ0eXBlIGVycm9yXCIsXHJcbiAgXCJkdXBsaWNhdGVkLWVycm9yXCI6IFwiVGhpcyBmaWxlIGFscmVhZHkgZXhpc3RcIixcclxuICBcInRoaXNJc0ludmFsaWRGaWxlXCI6ICdUaGlzIGlzIGludmFsaWQgZmlsZScsXHJcbiAgXCJhZGRcIjogXCJBZGRcIixcclxuICBcImFkZEF0dGFjaG1lbnRzXCI6IFwiQWRkIEF0dGFjaG1lbnRzXCIsXHJcbiAgXCJhdHRhY2htZW50ZGVzY3JpcHRpb25cIjogXCJGaWxlIERlc2NyaXB0aW9uXCIsXHJcbiAgXCJhdHRhY2htZW50Y29tbWVudFwiOiBcIkNvbW1lbnRzXCIsXHJcbiAgLy8gXCJhdHRhY2htZW50XCI6IFwiQXR0YWNobWVudFwiLFxyXG4gIFwiYWRkQXR0YWNobWVudFwiOiBcIkFkZCBBdHRhY2htZW50XCIsXHJcbiAgXCJsb2NhdGlvbk9mSW5jaWRlbnRcIjogXCJMb2NhdGlvbiBPZiBUaGUgSW5jaWRlbnRcIixcclxuICBcIkZpbGVOYW1lXCI6IFwiRmlsZSBOYW1lXCIsXHJcbiAgXCJGaWxlRGVzY3JpcHRpb25cIjogXCJGaWxlIERlc2NyaXB0aW9uXCIsXHJcbiAgLy8gXCJkZWxldGVcIjogXCJEZWxldGVcIixcclxuICBcIkF0dGFjaG1lbnRzXCI6XCJBdHRhY2htZW50c1wiLFxyXG4gIFwiQXR0YWNobWVudFwiOlwiQXR0YWNobWVudFwiLFxyXG4gIFwiY29tbWVudFwiOlwiQ29tbWVudHNcIixcclxuICBcImNvbW1lbnRzXCI6XCJDb21tZW50c1wiLFxyXG4gIFwiZGVzY3JpcHRpb25cIjpcIkRlc2NyaXB0aW9uXCIsXHJcbiAgXCJNeVJlcXVlc3RzXCI6IFwiTXkgUmVxdWVzdHNcIixcclxuICBcInByb2Nlc3NpbmdEYXRlXCI6XCJQcm9jZXNzaW5nIERhdGVcIixcclxuICBcIkFwcHJvdmFsc1wiOlwiQXBwcm92YWxzXCIsXHJcbiAgXCJzdWJtaXR0ZWRTdWNjZXNzZnVsbHlcIjogXCJZb3VyIHJlcXVlc3Qgc3VibWl0dGVkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gIFwic3VwcG9ydFwiOiBcIiBTdXBwb3J0ZWQgZmlsZXM6IEpQRyxQTkcgJiBQREZcIixcclxuICBcInN1cHBvcnQyXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgYWxsb3dlZCBpcyBcIixcclxuICBcIm1iXCI6IFwiTUJcIixcclxuICBcInN1cHBvcnQzXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgaXMgMzAwIEtCXCIsXHJcbiAgXCJtYXhBbGxvd2VkU2l6ZVwiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgMTBNQlwiLFxyXG4gIFwiVmlld0RldGFpbHNcIjpcIlZpZXcgRGV0YWlsc1wiLFxyXG4gIFwiTm9EYXRhMlwiOiBcIk5vIERhdGEgZm91bmRcIixcclxuICBcIk5vRGF0YTFcIjogXCJObyBDb21tZW50cyBmb3VuZFwiLFxyXG4gIFwiTm9EYXRhXCI6IFwiTm8gRGF0YSBmb3VuZFwiLFxyXG4gIFwiRmlsdGVyc1wiOiBcIkZpbHRlclwiLFxyXG4gIFwiQXBwbHlGaWx0ZXJzXCI6IFwiQXBwbHlcIixcclxuICBcIkRpc2NhcmRcIjogXCJEaXNjYXJkXCIsXHJcbiAgXCJlbXBsb3llZUlEXCI6IFwiRW1wbG95ZWUgSURcIixcclxuICBcIkRlbGV0ZVwiOiBcIkRlbGV0ZVwiLFxyXG4gIFwiZnVsbE5hbWVcIjpcIkZ1bGwgTmFtZVwiLFxyXG4gIFwid2VsY29tZUJhY2tcIjogXCJXZWxjb21lIGJhY2tcIixcclxuICBcIndlbGNvbWVcIjogXCJXZWxjb21lIFwiLFxyXG4gIFwibG9nb3V0XCI6IFwiTG9nb3V0XCIsXHJcbiAgXCJvdGhlckxhbmdcIjogXCLYp9mE2LnYsdio2YrYqVwiLFxyXG4gIFwiSGVsbG9cIjogXCJIZWxsb1wiLFxyXG4gIFwiQ2FuY2VsXCI6XCJDYW5jZWxcIixcclxuICBcInZhbGlkRW1haWxFcnJvclwiOiAnUGxlYXNlIGVudGVyIHZhbGlkIEVtYWlsICcsXHJcbiAgXCJ2YWxpZEZpZWxkRXJyb3JcIjogJ1BsZWFzZSBlbnRlciB2YWxpZCAgJyxcclxuICBcInZhbGlkU2VsZWN0RXJyb3JcIjogJ1BsZWFzZSBzZWxlY3QgJyxcclxuICBcInZhbGlkU2VhcmNoRXJyb3JcIjogJ1BsZWFzZSBzZWFyY2ggZm9yIHZhbGlkICAnLFxyXG4gIFwiZGVsZXRlXCI6IFwiRGVsZXRlXCIsXHJcbiAgXCJBcmV5b3VzdXJleW91d2FudGRlbGV0ZVwiOlwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT9cIixcclxuICBcImRyZi1jb25maXJtYXR0b24tbXNnXCI6XCJUaGVyZSBhcmUgc3RpbGwgcGVuZGluZyBzdGFrZWhvbGRlcnMgYWN0aW9ucy4gUGxlYXNlIGNvbmZpcm0gaWYgeW91IHdhbnQgdG8gbW92ZSB0byB0aGUgbmV4dCBsZXZlbCB3aXRob3V0IHRoZXNlIGFjdGlvbnMuXCIsXHJcbiBcIlllcy1Qcm9jZWVkXCI6XCIgWWVzIC0gUHJvY2VlZFwiLFxyXG4gXCJOby1EaXNjYXJkXCI6XCJObyAtIERpc2NhcmRcIixcclxuICBcInllc1wiOlwiIFllcywgRGVsZXRlXCIsXHJcbiAgXCJOb0F0dGFjaG1lbnRzXCI6IFwiVGhlcmUgYXJlIG5vIEF0dGFjaG1lbnRzXCIsXHJcbiAgXCJjYW5jZWxcIjogXCJDYW5jZWxcIixcclxuICBcIlZpZXdcIjpcIlZpZXdcIixcclxuICBcImVkaXRcIjpcIkVkaXRcIixcclxuICBcIlZpZXdhcHByb3ZhbGN5Y2xlXCI6IFwiVmlldyBBcHByb3ZhbCBDeWNsZVwiLFxyXG4gIFwiYXBwcm92YWxjeWNsZVwiOiBcIkFwcHJvdmFsIEN5Y2xlXCIsXHJcbiAgXCJsaW5rXCI6XCJMaW5rXCIsXHJcblxyXG5cclxuICBBdHRhY2htZW50SW52b2ljZXM6ICdBdHRhY2htZW50IEludm9pY2VzJyxcclxuICBBdHRhY2htZW50c09mQmFuazonQXR0YWNobWVudHMgb2YgQmFuayBTdGF0ZW1lbnQgb3IgQ3JlZGl0IENhcmQnLFxyXG4gIERlcG9zaXRWb3VjaGVyQXR0YWNobWVudHM6J0RlcG9zaXQgVm91Y2hlciBBdHRhY2htZW50cycsXHJcbiAgcGxhY2Vob2xkZXI6ICdFbnRlciB2YWx1ZSBoZXJlJyxcclxuICBhcHByb3ZlOidBcHByb3ZlJyxcclxuICBkb3dubG9hZExpbms6XCJEb3dubG9hZCBMaW5rXCIsXHJcbiAgc2VydmljZUJyaWVmIDogXCJTZXJ2aWNlIEJyaWVmXCIsXHJcbiAgUHJldmlvdXNSZXF1ZXN0czpcIlByZXZpb3VzIFJlcXVlc3RzXCIsXHJcbiAgJ1Byb2R1Y3QgSW1wbGVtZW50YXRpb24nOiAnUHJvZHVjdCBJbXBsZW1lbnRhdGlvbicsXHJcbiAgJ1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZSc6J1NhbGVzIE9yZGVyIGFuZCBRdWFsaXR5IEFzc3VyYW5jZScsXHJcbiAgJ0JpbGxpbmcgU3VwcG9ydCBhbmQgQ29udHJhY3RzJzonQmlsbGluZyBTdXBwb3J0IGFuZCBDb250cmFjdHMnLFxyXG4gICdTYWxlcyBFeGNlbGxlbmNlJzonU2FsZXMgRXhjZWxsZW5jZScsXHJcbiAgJ09yZGVyIEVuZ2luZWVyaW5nIGFuZCBEZWxpdmVyeSBNYW5hZ2VtZW50JzonT3JkZXIgRW5naW5lZXJpbmcgYW5kIERlbGl2ZXJ5IE1hbmFnZW1lbnQnLFxyXG4gICdUaGlyZCBQYXJ0eSBDb250cm9sIGFuZCBQcm9qZWN0cyc6J1RoaXJkIFBhcnR5IENvbnRyb2wgYW5kIFByb2plY3RzJyxcclxuICAnRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJzonRW50ZXJwcmlzZSBDdXN0b21lciBDYXJlJyxcclxuICAnRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJzonRW50ZXJwcmlzZSBBY2NvdW50IFNhbGVzJyxcclxuICAnR292ZXJubWVudCBBY2NvdW50cyBTYWxlcyc6J0dvdmVybm1lbnQgQWNjb3VudHMgU2FsZXMnLFxyXG4gICdNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnOidNYXJrZXRpbmcgQ29tbXVuaWNhdGlvbnMnLFxyXG4gICdDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnOidDdXN0b21lciBFeHBlcmllbmNlIEV4Y2VsbGVuY2UnLFxyXG4gICdDb21tZXJjaWFsIFJlZ3VsYXRpb24nOidDb21tZXJjaWFsIFJlZ3VsYXRpb24nLFxyXG4gICdFbnRlcnByaXNlIENvbW1lcmNpYWwgRmluYW5jZSc6J0VudGVycHJpc2UgQ29tbWVyY2lhbCBGaW5hbmNlJyxcclxuICAnUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JzonUHJvZHVjdCBQcmljaW5nIGFuZCBQcm9maXRhYmlsaXR5JyxcclxuICAnRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JzonRGF0YSBQcm90ZWN0aW9uIGFuZCBQcml2YWN5JyxcclxuICAnQ3VzdG9tZXIgVmFsdWUgTWFuYWdlbWVudCc6J0N1c3RvbWVyIFZhbHVlIE1hbmFnZW1lbnQnLFxyXG5cclxuICB0ZXJtTm90ZTE6IFwiMS4gVGhlIHJlcXVlc3RpbmcgZGVwYXJ0bWVudCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHZhbGlkaXR5IG9mIHRoZSBhdHRhY2hlZCBwYXBlcnMgYW5kIHN1cGVydmlzaW9uIG9mIGxhYm9yXCIsXHJcbiAgdGVybU5vdGUyOiBcIjIuIFRoZSB3b3JrZXIgbXVzdCBiZSBvbiB0aGUgc3BvbnNvcnNoaXAgb2YgdGhlIGNvbnRyYWN0aW5nIGNvbXBhbnkuIEluIHRoZSBjYXNlIG9mIHN1YmNvbnRyYWN0aW5nLCB0aGUgY29udHJhY3QgYmV0d2VlbiB0aGUgdHdvIHBhcnRpZXMgbXVzdCBiZSBhdHRhY2hlZCwgc2lnbmVkLCBzdGFtcGVkIGFuZCB1cGRhdGVkLiBBbmQgdGhlIHdvcmtlciBtdXN0IGJlIG9uIHRoZSBzcG9uc29yc2hpcCBvZiB0aGUgc3ViY29udHJhY3RpbmcgY29tcGFueVwiLFxyXG4gIHRlcm1Ob3RlMzogXCIzLiBUaGUgcHJvZmVzc2lvbiBvZiB0aGUgd29ya2VyIGluIGhpcyByZXNpZGVuY2UgbXVzdCBiZSBpZGVudGljYWwgdG8gaGlzIHdvcmsgYW5kIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbmF0dXJlIG9mIGhpcyB3b3JrXCIsXHJcbiAgdGVybU5vdGU0OiBcIjQuIEZvciBwZXJzb25zIHdobyBhdHRlbmQgYSB2aXNpdCB2aXNhLCBhIHZhbGlkIHZpc2l0IHZpc2EgbXVzdCBiZSBhdHRhY2hlZCwgd2l0aCBhdHRhY2htZW50IG9mIHByb29mIG9mIHRoZSByZWxhdGlvbnNoaXAgd2l0aCB0aGUgc3RjIGNvbXBhbnksIGVpdGhlciAoY29udHJhY3QgLyBvciBsZXR0ZXIgZnJvbSB0aGUgcmVxdWVzdGluZyBwYXJ0eSBzdGF0aW5nIHRoZSBtaXNzaW9uIG9mIHRoZSB2aXNpdCB0byB0aGUgY29tcGFueSAoc3RjKSkuIFRoZXkgd2lsbCBiZSBncmFudGVkIGEgcGVybWlzc2lvbiBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZWlyIHN0YXkgd2l0aCB0aGUgdmlzYS5cIixcclxuICB0ZXJtTm90ZTU6IFwiNS4gVGhlIGVudHJ5IHBlcm1pdCBjYXJkIG11c3Qgbm90IGJlIHVzZWQgYnkgc29tZW9uZSBlbHNlLCBhbmQgc2hvdWxkIGJlIHJldHVybmVkIHRvIHRoZSBzZWN1cml0eSBkZXBhcnRtZW50IG9uY2UgeW91J3JlIGZpbmlzaGVkLiBJbiBjYXNlIGl0IGlzIGxvc3QsIHBsZWFzZSBjYWxsIFNlY3VyaXR5IGFuZCBTYWZldHkgRGVwYXJ0bWVudCAgODAwMTIzMTYxNiBvciAwMTE0MjUxNjE2ICh0aGUgbWFpbiBjZW50ZXIpLiBBIG5ldyBlbnRyeSBwZXJtaXQgYXBwbGljYXRpb24gaXMgcmVxdWlyZWQgdG8gYmUgZXhjaGFuZ2VkIGZvciBhIGxvc3QgY2FyZC4gV2l0aCBhIGZpbmUgb2YgNTAwIHJpeWFscyBmb3IgdGhlIGZpcnN0IHRpbWUgYW5kIDEwMDAgcml5YWxzIGZvciB0aGUgc2Vjb25kIHRpbWUsIGFuZCBvbiB0aGUgdGhpcmQgdGltZSBpdCBpcyBmb3JiaWRkZW4gdG8gZW50ZXIgYW5kIHJlZmVycmVkIHRvIHRoZSByZWxldmFudCBnb3Zlcm5tZW50IGFnZW5jaWVzLlwiLFxyXG4gIHRlcm1Ob3RlNjogXCI2LiBUaGUgY29udHJhY3RpbmcgY29tcGFueSBiZWFycyBhbGwgbGVnYWwgY29uc2VxdWVuY2VzIG9mIGFueSBkYW1hZ2UgY2F1c2VkIGJ5IHRoZSB3b3JrZXIgaW5zaWRlIHRoZSB3b3JrIHNpdGVzIG9mIHRoZSBjb21wYW55IChzdGMpLlwiLFxyXG4gIHRlcm1Ob3RlNzogXCI3LiBXZSBob3BlIHRvIHByaW50IHRoZSBmb3JtIChmcm9tIHRoZSBwcmludCBidXR0b24gYXQgdGhlIHRvcCBvZiB0aGUgZm9ybSkgYWZ0ZXIgYXBwcm92YWwgYnkgdGhlIENhcmQgU2VydmljZXMgRGl2aXNpb24sIGFuZCBicmluZyBpdCB1cG9uIHJldmlldyB0byBpc3N1ZSBhIGNhcmQuXCIsXHJcbiAgdGVybU5vdGU4OiBcIjguIFRoZSBtYWluIGNvbnRyYWN0b3IgYW5kIHN1YmNvbnRyYWN0b3JzIHNoYWxsIGNvbXBseSB3aXRoIHNhZmV0eSBhbmQgc2VjdXJpdHkgaW5zdHJ1Y3Rpb25zIGFzIHN0aXB1bGF0ZWQgaW4gdGhlIGNvbnRyYWN0cyBjb25jbHVkZWQgd2l0aCBhbGwgdGhlIGNvbnRyYWN0b3JzIG9mIHRoZSBjb21wYW55IChzdGMpIGFuZCBzdWJqZWN0IHRvIHBlcmlvZGljIGluc3BlY3Rpb24gcHJvY2VkdXJlcyBmb3IgdGhlIHNpdGVzIGJ5IHNhZmV0eSBpbnNwZWN0b3JzIHRvIGVuc3VyZSBjb21wbGlhbmNlIHdpdGggc2FmZXR5IGluc3RydWN0aW9ucyBhbmQgc2FmZSB3b3JrIHBvbGljeSBhbmQgdmlvbGF0aW9ucy4gRmluYW5jaWFsIHZpb2xhdGlvbnMgYW5kIGZpbmVzIHdpbGwgYmUgcmVsZWFzZWQgaWYgdGhleSBhcmUgc2hvd24gYW5kIGRlc2NyaWJlZCBpbiBmaW5hbmNpYWwgdmFsdWVzIHZpYSB2ZW5kb3IgcmVsYXRpb25zIGRlcGFydG1lbnQ6XCIsXHJcbiAgdGVybU5vdGU5OiBcIjkuIFRoZSByZXF1ZXN0aW5nIGRlcGFydG1lbnQgc2hhbGwgaW5jbHVkZSB0aGUgdGVjaG5pY2FsIHJlcG9ydHMgcmVjb21tZW5kZWQgZm9yIGV4Y2hhbmdlIGFuZCBzYWZldHkgdmlvbGF0aW9ucywgaWYgYW55LiBJdCBpcyBkZWR1Y3RlZCBmcm9tIHRoZSBlbnRpdGxlbWVudCwgaW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIGxpc3Qgb2YgZmluZXMgYW5kIHBlbmFsdGllcyBmb3Igc2FmZXR5IHZpb2xhdGlvbnMgYWdhaW5zdCBjb250cmFjdG9ycyBzaWduZWQgYnkgdGhlIFZpY2UgUHJlc2lkZW50IGZvciBQcm9jdXJlbWVudC5cIixcclxuICB0ZXJtTm90ZTEwOiBcIjEwLiBDb2xsZWN0aW5nIHRoZSBJRCBjYXJkcyBvZiB0aGUgbWFpbiBjZW50ZXIgaW4gdGhlIGNhcmQtaXNzdWluZyBjZW50ZXItR2F0ZSAzICwgYXMgZm9yIHRoZSByZXN0IG9mIHRoZSByZWdpb25zLCB5b3UgY2FuIGNvbGxlY3QgaXQgZnJvbSB0aGUgRGVwYXJ0bWVudCBvZiBTZWN1cml0eSBvZiBSZWdpb25zLlwiLFxyXG4gIHRlcm1Ob3RlMTE6IFwiMTEuIFRoZSBsaXN0IG9mIHBlbmFsdGllcyBhbmQgZmluZXMgaXMgYXBwbGllZCB0byB2ZWhpY2xlcyB2aW9sYXRvcnMgaW5zaWRlIHRoZSBTVEMgc2l0ZXMgd2hlcmUgdGhlIHZpb2xhdGluZyB2ZWhpY2xlcyBhcmUgc3RvcHBlZCBieSBwdXR0aW5nIHRoZSBicmFrZXMgb24gdGhlbSwgYW5kIHRoZSBjb21wYW55IGZ1bGx5IGRpc2NsYWltcyBhbnkgZGFtYWdlIGNhdXNlZCBieSB0aGUgYnJha2UgdXBvbiB0eWluZyBvciB1bnR5aW5nXCIsXHJcbiAgXCJtZXNzYWdlRXJyb3JQaG9uZU51bWJlclwiOiAgXCJQbGVhc2UgZW50ZXIgdmFsaWQgbW9iaWxlIG51bWJlci5cIixcclxuICBzZXJ2aWNlQWdyZWVtZW50OiBcIlNlcnZpY2UgYWdyZWVtZW50XCIsXHJcbiAgbGVuZ3RoRXJyb3I6IFwiY2FuJ3QgdXBsb2FkIG1vcmUgdGhhblwiLFxyXG4gIHVzZXJBbHJlYWR5RXhpc3Q6IFwiVXNlciBhbHJlYWR5IGV4aXN0c1wiLFxyXG4gIElOVEVSTkFMOiAnSW50ZXJuYWw6IE1ha2UgdGhlIGRvY3VtZW50L3JlY29yZCBhdmFpbGFibGUgZm9yIHZpZXdpbmcgd2l0aGluIHRoZSBjb21wYW55IG9ubHknLFxyXG4gIFNQRUNJRklDX09SX0NPTkZJREVOVElBTDogJ1NwZWNpZmljIG9yIGNvbmZpZGVudGlhbDogUHVibGljYXRpb24gb2YgdGhlIGRvY3VtZW50L3JlY29yZCB3aXRoIHZpZXdpbmcgcGVybWl0IGxpbWl0ZWQgdG86IDxicj4qIFNwZWNpZmljIE5hbWVzIDxicj4qIFNwZWNpZmljIG9yZ2FuaXphdGlvbmFsIHVuaXQgPGJyPiogU3BlY2lmaWMgYWRtaW5pc3RyYXRpdmUgbGV2ZWxzJyxcclxuICBBVkFJTEFCTEU6ICdBdmFpbGFibGU6IG1ha2UgdGhlIGRvY3VtZW50L3JlY29yZCBhdmFpbGFibGUgZm9yIHZpZXdpbmcgd2l0aGluIGFuZCBvdXRzaWRlIHRoZSBjb21wYW55LicsXHJcbiAgb3RoZXI6J090aGVyJyxcclxuICBvdGhlcnM6J090aGVycycsXHJcbiAgc2VsZWN0QWxsOidTZWxlY3QgQWxsJyxcclxuICBVUkdFTlQ6ICcxIGRheScsXHJcbiAgTk9STUFMOiAnMyBkYXlzJyxcclxuICBzZWxlY3Q6ICdTZWxlY3QnLFxyXG4gIGFkZE11bHRpQXR0YWNobWVudHM6XCJBZGQgTXVsdGkgQXR0YWNobWVudHNcIixcclxuICBmbGFnU3RhdHVzVXBkYXRlZDpcIkZsYWcgc3RhdHVzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5XCIsXHJcbiAgXCJBbGxSZXF1ZXN0c1wiOiBcIkFsbCBSZXF1ZXN0c1wiLFxyXG4gIFwiYXBwbHlGaWx0ZXJzXCI6IFwiQXBwbHkgRmlsdGVyc1wiLFxyXG4gIFwiY2xlYXJcIjogXCJDbGVhclwiLFxyXG4gIFwiZmlsdGVyc1wiOiBcIkZpbHRlcnNcIixcclxuICBtb250aDogXCJNb250aFwiLFxyXG4gIHllYXI6IFwiWWVhclwiLFxyXG4gIHN0YXR1czogXCJTdGF0dXNcIlxyXG5cclxuXHJcbn1cclxuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2kxOG4vZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtJQUNiLGFBQWEsRUFBRSwrSkFBK0o7SUFDOUssa0JBQWtCLEVBQUMsdUdBQXVHO0lBQzFILFVBQVU7SUFDVixPQUFPLEVBQUUsT0FBTztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUUsb0JBQW9CO0lBQ3hDLFNBQVM7SUFDVCxVQUFVLEVBQUUsVUFBVTtJQUN0QixVQUFVLEVBQUUsVUFBVTtJQUN0QixTQUFTO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsd0JBQXdCO0lBQ3hCLHFCQUFxQixFQUFDLGlCQUFpQjtJQUN2Qyx1QkFBdUIsRUFBQyxzQ0FBc0M7SUFDOUQsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLG1CQUFtQixFQUFDLHFCQUFxQjtJQUN6QyxzQkFBc0I7SUFDdEIsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxlQUFlLEVBQUUsT0FBTztJQUN4Qix1QkFBdUIsRUFBRSxrQkFBa0I7SUFDM0MsZ0JBQWdCLEVBQUUsWUFBWTtJQUM5Qix1QkFBdUIsRUFBRSxtQkFBbUI7SUFDNUMsd0JBQXdCLEVBQUUsYUFBYTtJQUN2QyxhQUFhLEVBQUUsYUFBYTtJQUM1QixlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxhQUFhLEVBQUUsY0FBYztJQUM3QixRQUFRLEVBQUUsUUFBUTtJQUNsQixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFLGNBQWM7SUFDNUIsYUFBYSxFQUFDLGNBQWM7SUFDNUIsb0JBQW9CO0lBQ3BCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVc7SUFDWCxpQkFBaUIsRUFBRSxvQ0FBb0M7SUFDdkQsbUJBQW1CLEVBQUMs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VGltZU91dFwiOiAnTG9va3MgbGlrZSB0aGUgc2VydmVyIGlzIHRha2luZyB0b28gbG9uZyB0byByZXNwb25kLCB0aGlzIGNhbiBiZSBjYXVzZWQgYnkgZWl0aGVyIHBvb3IgY29ubmVjdGl2aXR5IG9yIGFuIGVycm9yIHdpdGggb3VyIHNlcnZlcnMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSB3aGlsZScsXHJcbiAgXCJwYWdlRXJyb3JMb2FkaW5nXCI6J0FuIGVycm9yIG9jY3VycmVkLCBQbGVhc2UgdHJ5IGFmdGVyIHNvbWV0aW1lcy4gSWYgdGhlIGVycm9yIGNvbnRpbnVlcywgcGxlYXNlIGNvbnRhY3QgdGhlIElUIEhlbHBkZXNrJyxcclxuICAvLyBCdXR0b25zXHJcbiAgXCJyZXNldFwiOiBcIlJlc2V0XCIsXHJcbiAgXCJzdWJtaXRcIjogXCJTdWJtaXRcIixcclxuICAvLyBTZWxlY3RcclxuICBcInNlbGVjdFlvdXJPcHRpb25cIjogXCJTZWxlY3QgeW91ciBvcHRpb25cIixcclxuICAvLyBMYWJlbHNcclxuICBcIm9wdGlvbmFsXCI6IFwiT3B0aW9uYWxcIixcclxuICBcIk9wdGlvbmFsXCI6IFwiT3B0aW9uYWxcIixcclxuICAvL0J1dHRvbnNcclxuICBcImJyb3dzZVwiOiBcIkJyb3dzZVwiLFxyXG4gIC8vIFJlcXVlc3QgRGV0YWlscyBUaXRsZVxyXG4gIFwicmVxdWVzdERldGFpbHNUaXRsZVwiOlwiUmVxdWVzdCBEZXRhaWxzXCIsXHJcbiAgXCJoclJlcXVlc3REZXRhaWxzVGl0bGVcIjpcIlJlcXVlc3QgRGV0YWlscyAoR3JpZXZhbmNlIEVtcGxveWVlKVwiLFxyXG4gIFwiYXBwbHlSZXF1ZXN0Rm9yXCI6ICdBcHBseSBSZXF1ZXN0IEZvcicsXHJcbiAgXCJzZWFyY2hGb3JFbXBsb3llZVwiOidTZWFyY2ggZm9yIGVtcGxveWVlJyxcclxuICAvLyBQcm9maWxlIEluZm8gTGFiZWxzXHJcbiAgXCJkaXJlY3RNYW5hZ2VyXCI6IFwiRGlyZWN0IE1hbmFnZXJcIixcclxuICBcImVtcGxveWVlRW1haWxcIjogXCJFbWFpbFwiLFxyXG4gIFwiZ2VuZXJhbERlcGFydG1lbnROYW1lXCI6IFwiR2VuZXJhbCBEZXAuTmFtZVwiLFxyXG4gIFwiZGVwYXJ0bWVudE5hbWVcIjogXCJEZXBhcnRtZW50XCIsXHJcbiAgXCJnZW5lcmFsRGVwYXJ0bWVudENvZGVcIjogXCJHZW5lcmFsIERlcC4gQ29kZVwiLFxyXG4gIFwiaHVtYW5SZXNvdXJjZXNMb2NhdGlvblwiOiBcIkhSIGxvY2F0aW9uXCIsXHJcbiAgXCJuYXRpb25hbGl0eVwiOiBcIk5hdGlvbmFsaXR5XCIsXHJcbiAgXCJidXNpbmVzc1Bob25lXCI6IFwiQnVzaW5lc3MgUGhvbmVcIixcclxuICBcInZpZXdBbGxEZXRhaWxzXCI6IFwiVmlldyBBbGwgRGV0YWlsc1wiLFxyXG4gIFwiam9iUG9zaXRpb25cIjogXCJKb2IgUG9zaXRpb25cIixcclxuICBcInNlY3RvclwiOiBcIlNlY3RvclwiLFxyXG4gIC8vIEZvcm0gU2VjdGlvbiBsYWJlbHNcclxuICBcImRlbGVnYXRlVG9cIjogXCJEZWxlZ2F0ZWQgdG9cIixcclxuICBcInByb2Nlc3NlZEJ5XCI6XCJQcm9jZXNzZWQgYnlcIixcclxuICAvLyBEYXRlcGlja2VyIGxhYmVsc1xyXG4gIFwiZ3JlZ29yaWFuXCI6IFwiR3JlZ29yaWFuXCIsXHJcbiAgXCJoaWpyaVwiOiBcIkhpanJpXCIsXHJcbiAgLy8gTWVzc2FnZXNcclxuICBcInN1Y2Nlc3NTdWJtaXRlZFwiOiBcIlRoYW5rIHlvdSBmb3Igc3VibWl0dGluZyB0aGlzIGZvcm1cIixcclxuICBcImxlbmdodE1pbjE1TWF4NTAwXCI6XCJQbGVhc2UgZW50ZXIgbWluaW11bSAxNSBjaGFyYWN0ZXJzIGFuZCBtYXhpbXVtIDUwMCBjaGFyYWN0ZXJzXCIsXHJcbiAgXCJsZW5naHRNaW4xNU1heDEwMDBcIjpcIlBsZWFzZSBlbnRlciBtaW5pbXVtIDE1IGNoYXJhY3RlcnMgYW5kIG1heGltdW0gMTAwMCBjaGFyYWN0ZXJzXCIsXHJcbiAgXCJtaW5MZW5ndGgxNVwiOiBcIlBsZWFzZSBlbnRlciBhIG1pbmltdW0gb2YgMTUgY2hhcmFjdGVyc1wiLFxyXG4gIFwibWF4bGVuZ3RoNTAwXCI6IFwiNTAwIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHN1cHBvcnRlZFwiLFxyXG4gIFwibWF4U2l6ZVwiOiBcIk1heGltdW0gZmlsZSBzaXplIGlzIDEwTUJcIixcclxuICBcInVuc3VwcG9ydGVkVHlwZVwiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgMTBNQiBhbmQgYWNjZXB0ZWQgZXh0ZW5zaW9ucyBhcmUgKHBkZiwgZG9jLCBkb2N4LCBwcHQsIHBwdHgsIHBwcywgcHBzeCwgb2R0LCB4bHMsIHhsc3gsIHppcCwgbXNnLCBjc3YsIHR4dCwgcnRmLCBodG1sLCBtcDQsIG00diwgbW92LCB3bXYsIGF2aSwgbXBnLCBvZ3YsIDNncCwgM2cyLCBqcGcsIGpwZWosIHBuZywgZ2lmLCBibXApXCIsXHJcbiAgXCJ1bnN1cHBvcnRlZFR5cGVJbWdQZGZcIjogXCJNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIGlzIDEwTUIgYW5kIGFjY2VwdGVkIGV4dGVuc2lvbnMgYXJlIChwZGYsIGpwZywganBlaiwgcG5nLCBibXApXCIsXHJcbiAgXCJ1bnN1cHBvcnRlZFR5cGVJbWdQZGYyXCI6IFwiTWF4aW11bSBmaWxlIHNpemUgYWxsb3dlZCBpcyAxME1CIGFuZCBhY2NlcHRlZCBleHRlbnNpb25zIGFyZSAgKHBkZiwgZG9jeCwgeGxzeCwganBnLCBlbWFpbCwgcHB0eClcIixcclxuICBcInVuc3VwcG9ydGVkVHlwZUltZ1wiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgMTBNQiBhbmQgYWNjZXB0ZWQgZXh0ZW5zaW9ucyBhcmUgKGpwZywganBlaiwgcG5nLCBibXApXCIsXHJcbiAgXCJ1bnN1cHBvcnRlZFR5cGVQZGZcIjogXCJNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIGlzIDEwTUIgYW5kIGFjY2VwdGVkIGV4dGVuc2lvbiBpcyAocGRmKVwiLFxyXG4gIFwibm9Vc2Vyc0ZvdW5kXCI6IFwiUGxlYXNlIGVudGVyIHZhbGlkIHNlYXJjaCBkYXRhXCIsXHJcbiAgLy8gU3VibWl0IFRhYmxlXHJcbiAgXCJmb3JtVGFibGVGb3JtSWRcIjogXCJGb3JtIElEXCIsXHJcbiAgXCJmb3JtVGFibGVGb3JtU3RhdHVzXCI6IFwiRm9ybSBTdGF0dXNcIixcclxuICBcImZvcm1UYWJsZUNyZWF0aW9uRGF0ZVwiOiBcIkNyZWF0aW9uIERhdGVcIixcclxuICBcImZvcm1UYWJsZVBlbmRpbmdXaXRoXCI6IFwiUGVuZGluZyBXaXRoXCIsXHJcbiAgXCJmb3JtVGFibGVCYWNrVG9JbmJveFwiOiBcIkJhY2sgdG8gSW5ib3hcIixcclxuICAvLyBmZWVkYmFja1xyXG4gIFwicmVxdWVzdEZlZWRiYWNrXCI6IFwiUmVxdWVzdCBGZWVkYmFja1wiLFxyXG4gIFwicmVxdWVzdFRvXCI6IFwiUmVxdWVzdCBUb1wiLFxyXG4gIFwiZmVlZGJhY2tcIjogXCJGZWVkYmFja1wiLFxyXG4gIFwidmlld0ZlZWRiYWNrXCI6IFwiVmlldyBGZWVkYmFja1wiLFxyXG4gIFwicmVxdWVzdEZyb21cIjogXCJSZXF1ZXN0IEZyb21cIixcclxuICBcImZlZWRiYWNrUXVlc3Rpb25cIjogXCJGZWVkYmFjayBRdWVzdGlvblwiLFxyXG4gIFwiZW1wbG95ZWVTZWFyY2hcIjogXCJFbXBsb3llZSBTZWFyY2hcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8xXCI6IFwiRW50ZXIgbWluaW11bSAzIGNoYXJhY3RlciB0byBzdGFydCBlbXBsb3llZSBzZWFyY2hcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8yXCI6IFwiVHlwZSB1bWJlciB0byBzZWFyY2ggYnkgZW1wbG95ZWUgbnVtYmVyXCIsXHJcbiAgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfM1wiOiBcIlRvIHNlYXJjaCBieSBlbWFpbC4gdXNlIEAgYmVmb3JlIG9yIGFmdGVyIHNlYXJjaCBjaGFyYWN0ZXJcIixcclxuICBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF80XCI6IFwiU2VwZXJhdGUgRmlyc3QgbmFtZSwgU2Vjb25kIE5hbWUsIEZhbWlseSBOYW1lIHdpdGggc3BhY2UgdG8gc2VhcmNoIGJ5IEZpcnN0IE5hbWUsIFNlY29uZCBOYW1lIGFuZCBGYW1pbHkgTmFtZVwiLFxyXG4gIFwib25CZWhhbGZGbGFnXCI6XCJSZXF1ZXN0IE9uLWJlaGFsZlwiLFxyXG4gIFwib25CZWhhbGZPZkVtYWlsXCI6XCJFbXBsb3llZSBOYW1lXCIsXHJcbiAgXCJjb21tZW50SGlzdG9yeVwiOlwiQ29tbWVudHMgSGlzdG9yeVwiLFxyXG4gIFwiTk9EQVRBXCI6ICdObyBEYXRhJyxcclxuICBcInRlcm1zQW5kQ29uZGl0aW9uc1wiOiAnVGVybXMgQW5kIENvbmRpdGlvbnMnLFxyXG4gIFwibm8tZmlsZXNcIjogXCIgTm8gZG9jdW1lbnRzIGF0dGFjaGVkXCIsXHJcbiAgXCJkcmFnLWZpbGVzXCI6IFwiRHJhZyBhbmQgZHJvcCBmaWxlIGhlcmVcIixcclxuICBcImxpbWl0LWVycm9yXCI6IFwibGltaXQgZXJyb3JcIixcclxuICBcInNpemUtZXJyb3JcIjogXCJzaXplIGVycm9yXCIsXHJcbiAgXCJ0eXBlLWVycm9yXCI6IFwidHlwZSBlcnJvclwiLFxyXG4gIFwiZHVwbGljYXRlZC1lcnJvclwiOiBcIlRoaXMgZmlsZSBhbHJlYWR5IGV4aXN0XCIsXHJcbiAgXCJ0aGlzSXNJbnZhbGlkRmlsZVwiOiAnVGhpcyBpcyBpbnZhbGlkIGZpbGUnLFxyXG4gIFwiYWRkXCI6IFwiQWRkXCIsXHJcbiAgXCJhZGRBdHRhY2htZW50c1wiOiBcIkFkZCBBdHRhY2htZW50c1wiLFxyXG4gIFwiYXR0YWNobWVudGRlc2NyaXB0aW9uXCI6IFwiRmlsZSBEZXNjcmlwdGlvblwiLFxyXG4gIFwiYXR0YWNobWVudGNvbW1lbnRcIjogXCJDb21tZW50c1wiLFxyXG4gIC8vIFwiYXR0YWNobWVudFwiOiBcIkF0dGFjaG1lbnRcIixcclxuICBcImFkZEF0dGFjaG1lbnRcIjogXCJBZGQgQXR0YWNobWVudFwiLFxyXG4gIFwibG9jYXRpb25PZkluY2lkZW50XCI6IFwiTG9jYXRpb24gT2YgVGhlIEluY2lkZW50XCIsXHJcbiAgXCJGaWxlTmFtZVwiOiBcIkZpbGUgTmFtZVwiLFxyXG4gIFwiRmlsZURlc2NyaXB0aW9uXCI6IFwiRmlsZSBEZXNjcmlwdGlvblwiLFxyXG4gIC8vIFwiZGVsZXRlXCI6IFwiRGVsZXRlXCIsXHJcbiAgXCJBdHRhY2htZW50c1wiOlwiQXR0YWNobWVudHNcIixcclxuICBcIkF0dGFjaG1lbnRcIjpcIkF0dGFjaG1lbnRcIixcclxuICBcImNvbW1lbnRcIjpcIkNvbW1lbnRzXCIsXHJcbiAgXCJjb21tZW50c1wiOlwiQ29tbWVudHNcIixcclxuICBcImRlc2NyaXB0aW9uXCI6XCJEZXNjcmlwdGlvblwiLFxyXG4gIFwiTXlSZXF1ZXN0c1wiOiBcIk15IFJlcXVlc3RzXCIsXHJcbiAgXCJwcm9jZXNzaW5nRGF0ZVwiOlwiUHJvY2Vzc2luZyBEYXRlXCIsXHJcbiAgXCJBcHByb3ZhbHNcIjpcIkFwcHJvdmFsc1wiLFxyXG4gIFwic3VibWl0dGVkU3VjY2Vzc2Z1bGx5XCI6IFwiWW91ciByZXF1ZXN0IHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHlcIixcclxuICBcInN1cHBvcnRcIjogXCIgU3VwcG9ydGVkIGZpbGVzOiBKUEcsUE5HICYgUERGXCIsXHJcbiAgXCJzdXBwb3J0MlwiOiBcIk1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaXMgXCIsXHJcbiAgXCJtYlwiOiBcIk1CXCIsXHJcbiAgXCJzdXBwb3J0M1wiOiBcIk1heGltdW0gZmlsZSBzaXplIGlzIDMwMCBLQlwiLFxyXG4gIFwibWF4QWxsb3dlZFNpemVcIjogXCJNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIGlzIDEwTUJcIixcclxuICBcIlZpZXdEZXRhaWxzXCI6XCJWaWV3IERldGFpbHNcIixcclxuICBcIk5vRGF0YTJcIjogXCJObyBEYXRhIGZvdW5kXCIsXHJcbiAgXCJOb0RhdGExXCI6IFwiTm8gQ29tbWVudHMgZm91bmRcIixcclxuICBcIk5vRGF0YVwiOiBcIk5vIERhdGEgZm91bmRcIixcclxuICBcIkZpbHRlcnNcIjogXCJGaWx0ZXJcIixcclxuICBcIkFwcGx5RmlsdGVyc1wiOiBcIkFwcGx5XCIsXHJcbiAgXCJEaXNjYXJkXCI6IFwiRGlzY2FyZFwiLFxyXG4gIFwiZW1wbG95ZWVJRFwiOiBcIkVtcGxveWVlIElEXCIsXHJcbiAgXCJEZWxldGVcIjogXCJEZWxldGVcIixcclxuICBcImZ1bGxOYW1lXCI6XCJGdWxsIE5hbWVcIixcclxuICBcIndlbGNvbWVCYWNrXCI6IFwiV2VsY29tZSBiYWNrXCIsXHJcbiAgXCJ3ZWxjb21lXCI6IFwiV2VsY29tZSBcIixcclxuICBcImxvZ291dFwiOiBcIkxvZ291dFwiLFxyXG4gIFwib3RoZXJMYW5nXCI6IFwi2KfZhNi52LHYqNmK2KlcIixcclxuICBcIkhlbGxvXCI6IFwiSGVsbG9cIixcclxuICBcIkNhbmNlbFwiOlwiQ2FuY2VsXCIsXHJcbiAgXCJ2YWxpZEVtYWlsRXJyb3JcIjogJ1BsZWFzZSBlbnRlciB2YWxpZCBFbWFpbCAnLFxyXG4gIFwidmFsaWRGaWVsZEVycm9yXCI6ICdQbGVhc2UgZW50ZXIgdmFsaWQgICcsXHJcbiAgXCJ2YWxpZFNlbGVjdEVycm9yXCI6ICdQbGVhc2Ugc2VsZWN0ICcsXHJcbiAgXCJ2YWxpZFNlYXJjaEVycm9yXCI6ICdQbGVhc2Ugc2VhcmNoIGZvciB2YWxpZCAgJyxcclxuICBcImRlbGV0ZVwiOiBcIkRlbGV0ZVwiLFxyXG4gIFwiQXJleW91c3VyZXlvdXdhbnRkZWxldGVcIjpcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/XCIsXHJcbiAgXCJkcmYtY29uZmlybWF0dG9uLW1zZ1wiOlwiVGhlcmUgYXJlIHN0aWxsIHBlbmRpbmcgc3Rha2Vob2xkZXJzIGFjdGlvbnMuIFBsZWFzZSBjb25maXJtIGlmIHlvdSB3YW50IHRvIG1vdmUgdG8gdGhlIG5leHQgbGV2ZWwgd2l0aG91dCB0aGVzZSBhY3Rpb25zLlwiLFxyXG4gXCJZZXMtUHJvY2VlZFwiOlwiIFllcyAtIFByb2NlZWRcIixcclxuIFwiTm8tRGlzY2FyZFwiOlwiTm8gLSBEaXNjYXJkXCIsXHJcbiAgXCJ5ZXNcIjpcIiBZZXMsIERlbGV0ZVwiLFxyXG4gIFwiTm9BdHRhY2htZW50c1wiOiBcIlRoZXJlIGFyZSBubyBBdHRhY2htZW50c1wiLFxyXG4gIFwiY2FuY2VsXCI6IFwiQ2FuY2VsXCIsXHJcbiAgXCJWaWV3XCI6XCJWaWV3XCIsXHJcbiAgXCJlZGl0XCI6XCJFZGl0XCIsXHJcbiAgXCJWaWV3YXBwcm92YWxjeWNsZVwiOiBcIlZpZXcgQXBwcm92YWwgQ3ljbGVcIixcclxuICBcImFwcHJvdmFsY3ljbGVcIjogXCJBcHByb3ZhbCBDeWNsZVwiLFxyXG4gIFwibGlua1wiOlwiTGlua1wiLFxyXG5cclxuXHJcbiAgQXR0YWNobWVudEludm9pY2VzOiAnQXR0YWNobWVudCBJbnZvaWNlcycsXHJcbiAgQXR0YWNobWVudHNPZkJhbms6J0F0dGFjaG1lbnRzIG9mIEJhbmsgU3RhdGVtZW50IG9yIENyZWRpdCBDYXJkJyxcclxuICBEZXBvc2l0Vm91Y2hlckF0dGFjaG1lbnRzOidEZXBvc2l0IFZvdWNoZXIgQXR0YWNobWVudHMnLFxyXG4gIHBsYWNlaG9sZGVyOiAnRW50ZXIgdmFsdWUgaGVyZScsXHJcbiAgYXBwcm92ZTonQXBwcm92ZScsXHJcbiAgZG93bmxvYWRMaW5rOlwiRG93bmxvYWQgTGlua1wiLFxyXG4gIHNlcnZpY2VCcmllZiA6IFwiU2VydmljZSBCcmllZlwiLFxyXG4gIFByZXZpb3VzUmVxdWVzdHM6XCJQcmV2aW91cyBSZXF1ZXN0c1wiLFxyXG4gICdQcm9kdWN0IEltcGxlbWVudGF0aW9uJzogJ1Byb2R1Y3QgSW1wbGVtZW50YXRpb24nLFxyXG4gICdTYWxlcyBPcmRlciBhbmQgUXVhbGl0eSBBc3N1cmFuY2UnOidTYWxlcyBPcmRlciBhbmQgUXVhbGl0eSBBc3N1cmFuY2UnLFxyXG4gICdCaWxsaW5nIFN1cHBvcnQgYW5kIENvbnRyYWN0cyc6J0JpbGxpbmcgU3VwcG9ydCBhbmQgQ29udHJhY3RzJyxcclxuICAnU2FsZXMgRXhjZWxsZW5jZSc6J1NhbGVzIEV4Y2VsbGVuY2UnLFxyXG4gICdPcmRlciBFbmdpbmVlcmluZyBhbmQgRGVsaXZlcnkgTWFuYWdlbWVudCc6J09yZGVyIEVuZ2luZWVyaW5nIGFuZCBEZWxpdmVyeSBNYW5hZ2VtZW50JyxcclxuICAnVGhpcmQgUGFydHkgQ29udHJvbCBhbmQgUHJvamVjdHMnOidUaGlyZCBQYXJ0eSBDb250cm9sIGFuZCBQcm9qZWN0cycsXHJcbiAgJ0VudGVycHJpc2UgQ3VzdG9tZXIgQ2FyZSc6J0VudGVycHJpc2UgQ3VzdG9tZXIgQ2FyZScsXHJcbiAgJ0VudGVycHJpc2UgQWNjb3VudCBTYWxlcyc6J0VudGVycHJpc2UgQWNjb3VudCBTYWxlcycsXHJcbiAgJ0dvdmVybm1lbnQgQWNjb3VudHMgU2FsZXMnOidHb3Zlcm5tZW50IEFjY291bnRzIFNhbGVzJyxcclxuICAnTWFya2V0aW5nIENvbW11bmljYXRpb25zJzonTWFya2V0aW5nIENvbW11bmljYXRpb25zJyxcclxuICAnQ3VzdG9tZXIgRXhwZXJpZW5jZSBFeGNlbGxlbmNlJzonQ3VzdG9tZXIgRXhwZXJpZW5jZSBFeGNlbGxlbmNlJyxcclxuICAnQ29tbWVyY2lhbCBSZWd1bGF0aW9uJzonQ29tbWVyY2lhbCBSZWd1bGF0aW9uJyxcclxuICAnRW50ZXJwcmlzZSBDb21tZXJjaWFsIEZpbmFuY2UnOidFbnRlcnByaXNlIENvbW1lcmNpYWwgRmluYW5jZScsXHJcbiAgJ1Byb2R1Y3QgUHJpY2luZyBhbmQgUHJvZml0YWJpbGl0eSc6J1Byb2R1Y3QgUHJpY2luZyBhbmQgUHJvZml0YWJpbGl0eScsXHJcbiAgJ0RhdGEgUHJvdGVjdGlvbiBhbmQgUHJpdmFjeSc6J0RhdGEgUHJvdGVjdGlvbiBhbmQgUHJpdmFjeScsXHJcbiAgJ0N1c3RvbWVyIFZhbHVlIE1hbmFnZW1lbnQnOidDdXN0b21lciBWYWx1ZSBNYW5hZ2VtZW50JyxcclxuXHJcbiAgdGVybU5vdGUxOiBcIjEuIFRoZSByZXF1ZXN0aW5nIGRlcGFydG1lbnQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSB2YWxpZGl0eSBvZiB0aGUgYXR0YWNoZWQgcGFwZXJzIGFuZCBzdXBlcnZpc2lvbiBvZiBsYWJvclwiLFxyXG4gIHRlcm1Ob3RlMjogXCIyLiBUaGUgd29ya2VyIG11c3QgYmUgb24gdGhlIHNwb25zb3JzaGlwIG9mIHRoZSBjb250cmFjdGluZyBjb21wYW55LiBJbiB0aGUgY2FzZSBvZiBzdWJjb250cmFjdGluZywgdGhlIGNvbnRyYWN0IGJldHdlZW4gdGhlIHR3byBwYXJ0aWVzIG11c3QgYmUgYXR0YWNoZWQsIHNpZ25lZCwgc3RhbXBlZCBhbmQgdXBkYXRlZC4gQW5kIHRoZSB3b3JrZXIgbXVzdCBiZSBvbiB0aGUgc3BvbnNvcnNoaXAgb2YgdGhlIHN1YmNvbnRyYWN0aW5nIGNvbXBhbnlcIixcclxuICB0ZXJtTm90ZTM6IFwiMy4gVGhlIHByb2Zlc3Npb24gb2YgdGhlIHdvcmtlciBpbiBoaXMgcmVzaWRlbmNlIG11c3QgYmUgaWRlbnRpY2FsIHRvIGhpcyB3b3JrIGFuZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIG5hdHVyZSBvZiBoaXMgd29ya1wiLFxyXG4gIHRlcm1Ob3RlNDogXCI0LiBGb3IgcGVyc29ucyB3aG8gYXR0ZW5kIGEgdmlzaXQgdmlzYSwgYSB2YWxpZCB2aXNpdCB2aXNhIG11c3QgYmUgYXR0YWNoZWQsIHdpdGggYXR0YWNobWVudCBvZiBwcm9vZiBvZiB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIHN0YyBjb21wYW55LCBlaXRoZXIgKGNvbnRyYWN0IC8gb3IgbGV0dGVyIGZyb20gdGhlIHJlcXVlc3RpbmcgcGFydHkgc3RhdGluZyB0aGUgbWlzc2lvbiBvZiB0aGUgdmlzaXQgdG8gdGhlIGNvbXBhbnkgKHN0YykpLiBUaGV5IHdpbGwgYmUgZ3JhbnRlZCBhIHBlcm1pc3Npb24gZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGVpciBzdGF5IHdpdGggdGhlIHZpc2EuXCIsXHJcbiAgdGVybU5vdGU1OiBcIjUuIFRoZSBlbnRyeSBwZXJtaXQgY2FyZCBtdXN0IG5vdCBiZSB1c2VkIGJ5IHNvbWVvbmUgZWxzZSwgYW5kIHNob3VsZCBiZSByZXR1cm5lZCB0byB0aGUgc2VjdXJpdHkgZGVwYXJ0bWVudCBvbmNlIHlvdSdyZSBmaW5pc2hlZC4gSW4gY2FzZSBpdCBpcyBsb3N0LCBwbGVhc2UgY2FsbCBTZWN1cml0eSBhbmQgU2FmZXR5IERlcGFydG1lbnQgIDgwMDEyMzE2MTYgb3IgMDExNDI1MTYxNiAodGhlIG1haW4gY2VudGVyKS4gQSBuZXcgZW50cnkgcGVybWl0IGFwcGxpY2F0aW9uIGlzIHJlcXVpcmVkIHRvIGJlIGV4Y2hhbmdlZCBmb3IgYSBsb3N0IGNhcmQuIFdpdGggYSBmaW5lIG9mIDUwMCByaXlhbHMgZm9yIHRoZSBmaXJzdCB0aW1lIGFuZCAxMDAwIHJpeWFscyBmb3IgdGhlIHNlY29uZCB0aW1lLCBhbmQgb24gdGhlIHRoaXJkIHRpbWUgaXQgaXMgZm9yYmlkZGVuIHRvIGVudGVyIGFuZCByZWZlcnJlZCB0byB0aGUgcmVsZXZhbnQgZ292ZXJubWVudCBhZ2VuY2llcy5cIixcclxuICB0ZXJtTm90ZTY6IFwiNi4gVGhlIGNvbnRyYWN0aW5nIGNvbXBhbnkgYmVhcnMgYWxsIGxlZ2FsIGNvbnNlcXVlbmNlcyBvZiBhbnkgZGFtYWdlIGNhdXNlZCBieSB0aGUgd29ya2VyIGluc2lkZSB0aGUgd29yayBzaXRlcyBvZiB0aGUgY29tcGFueSAoc3RjKS5cIixcclxuICB0ZXJtTm90ZTc6IFwiNy4gV2UgaG9wZSB0byBwcmludCB0aGUgZm9ybSAoZnJvbSB0aGUgcHJpbnQgYnV0dG9uIGF0IHRoZSB0b3Agb2YgdGhlIGZvcm0pIGFmdGVyIGFwcHJvdmFsIGJ5IHRoZSBDYXJkIFNlcnZpY2VzIERpdmlzaW9uLCBhbmQgYnJpbmcgaXQgdXBvbiByZXZpZXcgdG8gaXNzdWUgYSBjYXJkLlwiLFxyXG4gIHRlcm1Ob3RlODogXCI4LiBUaGUgbWFpbiBjb250cmFjdG9yIGFuZCBzdWJjb250cmFjdG9ycyBzaGFsbCBjb21wbHkgd2l0aCBzYWZldHkgYW5kIHNlY3VyaXR5IGluc3RydWN0aW9ucyBhcyBzdGlwdWxhdGVkIGluIHRoZSBjb250cmFjdHMgY29uY2x1ZGVkIHdpdGggYWxsIHRoZSBjb250cmFjdG9ycyBvZiB0aGUgY29tcGFueSAoc3RjKSBhbmQgc3ViamVjdCB0byBwZXJpb2RpYyBpbnNwZWN0aW9uIHByb2NlZHVyZXMgZm9yIHRoZSBzaXRlcyBieSBzYWZldHkgaW5zcGVjdG9ycyB0byBlbnN1cmUgY29tcGxpYW5jZSB3aXRoIHNhZmV0eSBpbnN0cnVjdGlvbnMgYW5kIHNhZmUgd29yayBwb2xpY3kgYW5kIHZpb2xhdGlvbnMuIEZpbmFuY2lhbCB2aW9sYXRpb25zIGFuZCBmaW5lcyB3aWxsIGJlIHJlbGVhc2VkIGlmIHRoZXkgYXJlIHNob3duIGFuZCBkZXNjcmliZWQgaW4gZmluYW5jaWFsIHZhbHVlcyB2aWEgdmVuZG9yIHJlbGF0aW9ucyBkZXBhcnRtZW50OlwiLFxyXG4gIHRlcm1Ob3RlOTogXCI5LiBUaGUgcmVxdWVzdGluZyBkZXBhcnRtZW50IHNoYWxsIGluY2x1ZGUgdGhlIHRlY2huaWNhbCByZXBvcnRzIHJlY29tbWVuZGVkIGZvciBleGNoYW5nZSBhbmQgc2FmZXR5IHZpb2xhdGlvbnMsIGlmIGFueS4gSXQgaXMgZGVkdWN0ZWQgZnJvbSB0aGUgZW50aXRsZW1lbnQsIGluIGltcGxlbWVudGF0aW9uIG9mIHRoZSBsaXN0IG9mIGZpbmVzIGFuZCBwZW5hbHRpZXMgZm9yIHNhZmV0eSB2aW9sYXRpb25zIGFnYWluc3QgY29udHJhY3RvcnMgc2lnbmVkIGJ5IHRoZSBWaWNlIFByZXNpZGVudCBmb3IgUHJvY3VyZW1lbnQuXCIsXHJcbiAgdGVybU5vdGUxMDogXCIxMC4gQ29sbGVjdGluZyB0aGUgSUQgY2FyZHMgb2YgdGhlIG1haW4gY2VudGVyIGluIHRoZSBjYXJkLWlzc3VpbmcgY2VudGVyLUdhdGUgMyAsIGFzIGZvciB0aGUgcmVzdCBvZiB0aGUgcmVnaW9ucywgeW91IGNhbiBjb2xsZWN0IGl0IGZyb20gdGhlIERlcGFydG1lbnQgb2YgU2VjdXJpdHkgb2YgUmVnaW9ucy5cIixcclxuICB0ZXJtTm90ZTExOiBcIjExLiBUaGUgbGlzdCBvZiBwZW5hbHRpZXMgYW5kIGZpbmVzIGlzIGFwcGxpZWQgdG8gdmVoaWNsZXMgdmlvbGF0b3JzIGluc2lkZSB0aGUgU1RDIHNpdGVzIHdoZXJlIHRoZSB2aW9sYXRpbmcgdmVoaWNsZXMgYXJlIHN0b3BwZWQgYnkgcHV0dGluZyB0aGUgYnJha2VzIG9uIHRoZW0sIGFuZCB0aGUgY29tcGFueSBmdWxseSBkaXNjbGFpbXMgYW55IGRhbWFnZSBjYXVzZWQgYnkgdGhlIGJyYWtlIHVwb24gdHlpbmcgb3IgdW50eWluZ1wiLFxyXG4gIFwibWVzc2FnZUVycm9yUGhvbmVOdW1iZXJcIjogIFwiUGxlYXNlIGVudGVyIHZhbGlkIG1vYmlsZSBudW1iZXIuXCIsXHJcbiAgc2VydmljZUFncmVlbWVudDogXCJTZXJ2aWNlIGFncmVlbWVudFwiLFxyXG4gIGxlbmd0aEVycm9yOiBcImNhbid0IHVwbG9hZCBtb3JlIHRoYW5cIixcclxuICB1c2VyQWxyZWFkeUV4aXN0OiBcIlVzZXIgYWxyZWFkeSBleGlzdHNcIixcclxuICBJTlRFUk5BTDogJ0ludGVybmFsOiBNYWtlIHRoZSBkb2N1bWVudC9yZWNvcmQgYXZhaWxhYmxlIGZvciB2aWV3aW5nIHdpdGhpbiB0aGUgY29tcGFueSBvbmx5JyxcclxuICBTUEVDSUZJQ19PUl9DT05GSURFTlRJQUw6ICdTcGVjaWZpYyBvciBjb25maWRlbnRpYWw6IFB1YmxpY2F0aW9uIG9mIHRoZSBkb2N1bWVudC9yZWNvcmQgd2l0aCB2aWV3aW5nIHBlcm1pdCBsaW1pdGVkIHRvOiA8YnI+KiBTcGVjaWZpYyBOYW1lcyA8YnI+KiBTcGVjaWZpYyBvcmdhbml6YXRpb25hbCB1bml0IDxicj4qIFNwZWNpZmljIGFkbWluaXN0cmF0aXZlIGxldmVscycsXHJcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlOiBtYWtlIHRoZSBkb2N1bWVudC9yZWNvcmQgYXZhaWxhYmxlIGZvciB2aWV3aW5nIHdpdGhpbiBhbmQgb3V0c2lkZSB0aGUgY29tcGFueS4nLFxyXG4gIG90aGVyOidPdGhlcicsXHJcbiAgb3RoZXJzOidPdGhlcnMnLFxyXG4gIHNlbGVjdEFsbDonU2VsZWN0IEFsbCcsXHJcbiAgVVJHRU5UOiAnMSBkYXknLFxyXG4gIE5PUk1BTDogJzMgZGF5cycsXHJcbiAgc2VsZWN0OiAnU2VsZWN0JyxcclxuICBhZGRNdWx0aUF0dGFjaG1lbnRzOlwiQWRkIE11bHRpIEF0dGFjaG1lbnRzXCIsXHJcbiAgZmxhZ1N0YXR1c1VwZGF0ZWQ6XCJGbGFnIHN0YXR1cyB1cGRhdGVkIHN1Y2Nlc3NmdWxseVwiLFxyXG4gIFwiQWxsUmVxdWVzdHNcIjogXCJBbGwgUmVxdWVzdHNcIixcclxuICBcImFwcGx5RmlsdGVyc1wiOiBcIkFwcGx5IEZpbHRlcnNcIixcclxuICBcImNsZWFyXCI6IFwiQ2xlYXJcIixcclxuICBcImZpbHRlcnNcIjogXCJGaWx0ZXJzXCIsXHJcbiAgbW9udGg6IFwiTW9udGhcIixcclxuICB5ZWFyOiBcIlllYXJcIixcclxuICBzdGF0dXM6IFwiU3RhdHVzXCIsXHJcbiAgZG93bmxvYWRBbGw6J0Rvd25sb2FkIEFsbCBBdHRhY2htZW50JyxcclxuICBpdGVtc1BlclBhZ2U6XCJJdGVtcyBwZXIgcGFnZVwiXHJcblxyXG5cclxufVxyXG4iXX0=
@@ -333,6 +333,16 @@ export class CoreService {
333
333
  }
334
334
  return new Blob([arrayBuffer], { type: 'image/jpeg' });
335
335
  }
336
+ saveFile(fileInformation) {
337
+ const fileBlob = this.dataURItoBlob(fileInformation.fileContents);
338
+ const file = new File([fileBlob], fileInformation.fileName, { type: fileInformation.mimeType });
339
+ const blobUrl = URL.createObjectURL(file);
340
+ const link = document.createElement('a');
341
+ link.href = blobUrl;
342
+ link.download = fileInformation.fileName;
343
+ link.click();
344
+ URL.revokeObjectURL(blobUrl);
345
+ }
336
346
  setFlagPriority(id) {
337
347
  let body = {
338
348
  method: constants.HTTP_METHOD_PUT,
@@ -505,4 +515,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
505
515
  type: Inject,
506
516
  args: [MY_LIB_CONFIG_TOKEN]
507
517
  }] }] });
508
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0ksT0FBTyxLQUFLLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQWMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUM7OztBQUsvQyxNQUFNLE9BQU8sV0FBVztJQW1CTztJQUM2QjtJQW5CMUQsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUNYLFNBQVMsQ0FBUztJQUNsQixZQUFZLENBQVM7SUFDWixhQUFhLENBQVM7SUFDaEMsUUFBUSxDQUFTO0lBQ1AsU0FBUyxDQUFLO0lBQ3hCLGdCQUFnQixDQUFLO0lBQzVCLFlBQVksQ0FBUTtJQUNaLGVBQWUsQ0FBVTtJQUN6QixjQUFjLENBQVU7SUFDeEIsZ0JBQWdCLENBQU07SUFDOUIsUUFBUSxDQUFRO0lBQ2hCLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDZixTQUFTLENBQUs7SUFDZCxpQkFBaUIsQ0FBUztJQUMxQixXQUFXLEdBQVUsRUFBRSxDQUFBO0lBQ04sUUFBUSxDQUFV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bkI7OzBCQXFCYyxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHR5cGUge015TGliQ29uZmlnfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zaGFyZWQuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q29tbWVudHNEcm9wLCBGb3JtLCBIZWFkZXIsIEluYm94SXRlbSwgTWVzc2FnZXMsIE1ZX0xJQl9DT05GSUdfVE9LRU4sIFByb2ZpbGVJbmZvRHJvcCwgU2VjdGlvbiwgU2VjdGlvbkhlYWRlcn0gZnJvbSBcIi4uLy4uL3B1YmxpYy1hcGlcIjtcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uL2NvbnN0YW50cydcclxuaW1wb3J0IHtjYXRjaEVycm9yLCBmcm9tLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRocm93RXJyb3J9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7bWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHNhdmVGb3JtSG9va3MgZnJvbSAnLi4vaG9va3Mvc2F2ZS1mb3JtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlcnZpY2Uge1xyXG4gIGFwaVVybDogc3RyaW5nID0gJydcclxuICBwcml2YXRlIGF1dGhUb2tlbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJEYXRhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFVzZXI6IHt9O1xyXG4gIHB1YmxpYyBsb2dnZWRJblVzZXJEYXRhOiB7fTtcclxuICBjdXJyZW50QWN0b3I6IHN0cmluZ1xyXG4gIHByaXZhdGUgYXV0aG9yaXplZEVtYWlsITogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVxdWVzdGVyRW1haWwhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U3VibWl0dGVyOiBhbnk7XHJcbiAgbGFuZ3VhZ2U6IHN0cmluZ1xyXG4gIGFjdGl2aXRpZXMgPSBbXVxyXG4gIGFwcHJvdmFsczogYW55XHJcbiAgaGlzdG9yeURhdGFMb2FkZWQ6IGJvb2xlYW5cclxuICBoaXN0b3J5RGF0YTogYW55W10gPSBbXVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBASW5qZWN0KE1ZX0xJQl9DT05GSUdfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBNeUxpYkNvbmZpZykge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSk/LndtQ29uZmlnPy5sYW5ndWFnZSA/ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZSA6ICdlbic7XHJcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmwgKyBsYW5ndWFnZSArIHRoaXMuY29uZmlnLnByb3h5RnVsbEFkZHJlc3MgKyB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VFeGVjdXRlO1xyXG4gICAgY29uc29sZS5sb2coJ0NvbmZpZzogJywgdGhpcy5jb25maWcpO1xyXG4gICAgdGhpcy5sb2NhbFVzZXIgPSB7XHJcbiAgICAgIFwiZm9ybVByZWZpeFwiOiBcIkNFUFwiLFxyXG4gICAgICBcImZvcm1JZFwiOiBcIkNFUDU1OTU0MzJcIixcclxuICAgICAgXCJpbmJveFVyaVwiOiBcIlxcL2dyb3VwXFwvaHViXFwvaW5ib3hcIixcclxuICAgICAgXCJiYXNlVXJsXCI6IFwiXFwvZ3JvdXBcXC9pLWdhdGVcXC93bS1icG1cXC9mb3Jtc1xcLy1cXC9wcm94eVwiLFxyXG4gICAgICBcInNob3dQcmludFwiOiB0cnVlLFxyXG4gICAgICBcImxhbmd1YWdlXCI6IFwiZW5cIixcclxuICAgICAgXCJpc01vYmlsZVwiOiB0cnVlLFxyXG4gICAgICBcIm91dGxvb2tcIjogZmFsc2UsXHJcbiAgICAgIFwibG9nZ2VkSW5Vc2VyRW1haWxcIjogXCJpYnJhaGltbWFhLmNAc3RjLmNvbS5zYVwiXHJcbiAgICB9XHJcbiAgICB0aGlzLnByb2plY3RDb25maWcgPSAodGhpcy5jb25maWcucHJvZHVjdGlvbikgPyAod2luZG93IGFzIGFueSlbJ3dtQ29uZmlnJ10gOiBidG9hKEpTT04uc3RyaW5naWZ5KHRoaXMubG9jYWxVc2VyKSk7XHJcbiAgICB0aGlzLnVzZXJEYXRhID0gdGhpcy5wcm9qZWN0Q29uZmlnO1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9ICh3aW5kb3cgYXMgYW55KT8ud21Db25maWc/Lmxhbmd1YWdlID8gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlIDogXCJlblwiO1xyXG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMucHJvamVjdENvbmZpZz8uWydpc01vYmlsZSddO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExvZ2dlZEluVXNlckRhdGEoKSB7XHJcbiAgICBsZXQgbG9nZ2VkSW5FbWFpbCA9IHRoaXMubG9nZ2VkSW5Vc2VySWQoKVxyXG4gICAgdGhpcy5lbXBsb3llZVByb2ZpbGUobG9nZ2VkSW5FbWFpbCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2VkSW5Vc2VyRGF0YSA9IHJlc3BvbnNlPy5bXCJVc2Vyc1wiXT8uWzBdXHJcbiAgICAgIGNvbnNvbGUubG9nKCdnZXRMb2dnZWRJblVzZXJEYXRhJywgcmVzcG9uc2UpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRGb3JtKCkge1xyXG4gICAgY29uc3QgYXV0aFVybCA9IHRoaXMuYnVpbGRBdXRoVXJsKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChhdXRoVXJsLCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB0b2tlbkluZm9ybWF0aW9uID0gcmVzLmJvZHk7XHJcbiAgICAgICAgdGhpcy5hdXRoVG9rZW4gPSB0b2tlbkluZm9ybWF0aW9uLnRva2VuO1xyXG4gICAgICAgIHRoaXMuZ2V0TG9nZ2VkSW5Vc2VyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdG9rZW5JbmZvcm1hdGlvbi5yZWZyZXNoVG9rZW47XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsUG9zdChib2R5LCBvcHRpb25zKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcChwb3N0T2JzZXJ2YWJsZSA9PiBwb3N0T2JzZXJ2YWJsZSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGh0dHBFcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoaHR0cEVycm9yKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQXV0aFVybCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmw7XHJcbiAgICBjb25zdCBsYW5ndWFnZSA9ICh3aW5kb3cgYXMgYW55KT8ud21Db25maWc/Lmxhbmd1YWdlID8gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlIDogJ2VuJztcclxuICAgIGNvbnN0IGZ1bGxBZGRyZXNzID0gdGhpcy5jb25maWcucHJveHlGdWxsQWRkcmVzcztcclxuICAgIGNvbnN0IGF1dGhQYXJ0ID0gdGhpcy5jb25maWcucHJveHlTZXJ2aWNlQXV0aG9yaXphdGlvbjtcclxuICAgIHJldHVybiBgJHtiYXNlVXJsfSR7bGFuZ3VhZ2V9JHtmdWxsQWRkcmVzc30ke2F1dGhQYXJ0fT90cz0keyhuZXcgRGF0ZSgpKS52YWx1ZU9mKCl9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRCb2R5KCk6IG9iamVjdCB7XHJcbiAgICBjb25zdCBiYXNlQm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0ZPUk0sXHJcbiAgICAgIGZvcm1OYW1lOiB0aGlzLmNvbmZpZy5mb3JtTmFtZSxcclxuICAgICAgZm9ybUlkOiBcIlwiLFxyXG4gICAgICAvLyBxdWVyeVBhcmFtZXRlcnM6IG51bGxcclxuICAgIH07XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmZvcm1JZCkge1xyXG4gICAgICBkZWxldGUgYmFzZUJvZHkuZm9ybUlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYmFzZUJvZHkuZm9ybUlkID0gdGhpcy5jb25maWcuZm9ybUlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJhc2VCb2R5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtcGxveWVlUHJvZmlsZShlbXBsb3llZUVtYWlsOiBhbnkpIHtcclxuICAgIGxldCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGZvcm1OYW1lOiB0aGlzLmNvbmZpZy5mb3JtTmFtZSxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX0RQLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogY29uc3RhbnRzLlNFUlZJQ0VfTkFNRV9EUF9TRUFSQ0hfRU1QTE9ZRUUsXHJcbiAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICBxOiBlbXBsb3llZUVtYWlsXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIGJvZHksIHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBhdXRoVG9rZW46IHRoaXMuYXV0aFRva2VuLFxyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6IFwiYm9keVwiXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgfSlcclxuICAgICAgLCBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycilcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0T3B0aW9ucygpIHtcclxuICAgIGNvbnN0IGlzTW9iaWxlID0gL2lQaG9uZXxpUGFkfGlQb2R8QW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBjb25zdCB0cyA9IChuZXcgRGF0ZSgpKS52YWx1ZU9mKCkudG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIGF1dGhUb2tlbjogdGhpcy5hdXRoVG9rZW4sXHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IGNvbnN0YW50cy5IRUFERVJfQ09OVEVOVF9UWVBFX0ZPUk0sXHJcbiAgICAgICAgJ2ZlSGVhZGVyJzogJ3tcImlzTW9iaWxlXCI6JyArIHRoaXMuaXNNb2JpbGUgKyAnLCBcIixhSXNNb2JpbGVcIjonICsgaXNNb2JpbGUgKyAnLHRzOicgKyB0cyArICcsbG9nZ2VkSW5Vc2VyRW1haWw6JyArIHRoaXMubG9nZ2VkSW5Vc2VySWQoKSArICcsZm9ybU5hbWU6JyArIHRoaXMuY29uZmlnLmZvcm1OYW1lICsgJyx1c2VyLWFnZW50OicgKyB1c2VyQWdlbnQgKyAnfSdcclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREcmFmdElkKHZhbCkge1xyXG4gICAgcmV0dXJuIHZhbC50b1VwcGVyQ2FzZSgpLnN0YXJ0c1dpdGgoJ0RSQUZUJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3VibWl0Rm9ybSguLi5hcmdzKSB7XHJcbiAgICBjb25zdCBbc2VjdGlvbiwgYWN0aW9uXSA9IGFyZ3M7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldEh0dHBNZXRob2QoKTtcclxuICAgIGxldCBzZWN0aW9uSWQgPSB0aGlzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb25XcmFwcGVyKHNlY3Rpb24pLmlkO1xyXG4gICAgbGV0IHNlcnZpY2VOYW1lID0gdGhpcy5nZXRTZXJ2aWNlTmFtZShhY3Rpb24pO1xyXG4gICAgbGV0IGZvcm1OYW1lID0gdGhpcy5nZXRGb3JtTmFtZShhY3Rpb24pO1xyXG4gICAgbGV0IGJvZHkgPSB0aGlzLmdldEJvZHlPYmplY3QobWV0aG9kLCBzZXJ2aWNlTmFtZSwgYWN0aW9uLCBmb3JtTmFtZSwgdGhpcy5wb3B1bGF0ZWRQYXlsb2FkKHNlY3Rpb25JZCwgc2VjdGlvbiksIHRoaXMuY29uZmlnLmZvcm1JZCk7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnN1Ym1pdChib2R5LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SHR0cE1ldGhvZCgpIHtcclxuICAgIHJldHVybiAodGhpcy5jb25maWcuZm9ybUlkICYmICF0aGlzLmdldERyYWZ0SWQodGhpcy5jb25maWcuZm9ybUlkKSkgPyBjb25zdGFudHMuSFRUUF9NRVRIT0RfUFVUIDogY29uc3RhbnRzLkhUVFBfTUVUSE9EX1BPU1Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJlZm9yZVRyYW5zcGlsZVNlY3Rpb25XcmFwcGVyKHNlY3Rpb24pIHtcclxuICAgIHJldHVybiBzYXZlRm9ybUhvb2tzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb24gPyBzYXZlRm9ybUhvb2tzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb24oc2VjdGlvbikgOiBzZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZXJ2aWNlTmFtZShhY3Rpb24pIHtcclxuICAgIGlmIChhY3Rpb24gPT09IGNvbnN0YW50cy5XTV9BQ1RJT05fU0FWRV9DSEFOR0VTKSB7XHJcbiAgICAgIHJldHVybiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0RSQUZUX0ZPUk1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0ZPUk1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybU5hbWUoYWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSBjb25zdGFudHMuV01fQUNUSU9OX1NBVkVfQ0hBTkdFUykge1xyXG4gICAgICByZXR1cm4gJ2NvbW1vbic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25maWcuZm9ybU5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlZFBheWxvYWQoc2VjdGlvbklkLCBzZWN0aW9uKSB7XHJcbiAgICBsZXQgcGF5bG9hZDtcclxuICAgIGlmIChzZWN0aW9uSWQgPT09IGNvbnN0YW50cy5TRUNUSU9OX0lEX1JFUVVFU1RfREVUQUlMUykge1xyXG4gICAgICBwYXlsb2FkID0ge3JlcXVlc3Q6IHtkZXRhaWxzOiBzZWN0aW9uLmJvZHkuZGV0YWlsc319O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGF5bG9hZCA9IHt3b3JrZmxvd1N0ZXBzOiB7fX07XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5kZXRhaWxzID0gc2VjdGlvbi5ib2R5LmRldGFpbHM7XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5hY3RvciA9IHRoaXMuY3VycmVudFN1Ym1pdHRlci5hY3RvcjtcclxuICAgICAgcGF5bG9hZC53b3JrZmxvd1N0ZXBzLmFjdG9yLmVtYWlsID0gdGhpcy5jdXJyZW50QWN0b3I7XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5zdGF0dXMgPSBjb25zdGFudHMuU0VDVElPTl9TVEFUVVNfUEVORElORztcclxuICAgIH1cclxuICAgIHJldHVybiBwYXlsb2FkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCb2R5T2JqZWN0KG1ldGhvZCwgc2VydmljZU5hbWUsIGFjdGlvbiwgZm9ybU5hbWUsIHBheWxvYWQsIGZvcm1JZCkge1xyXG4gICAgbGV0IGJvZHkgPSB7XHJcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgcGFyYW1ldGVyczoge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uXHJcbiAgICAgIH0sXHJcbiAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcclxuICAgICAgYm9keTogcGF5bG9hZCxcclxuICAgICAgZm9ybUlkOiBmb3JtSWQsXHJcbiAgICAgIHF1ZXJ5UGFyYW1ldGVyczoge30sXHJcbiAgICAgIC8vIHBheWxvYWRcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZm9ybUlkKSB7XHJcbiAgICAgIGJvZHkuZm9ybUlkID0gdGhpcy5jb25maWcuZm9ybUlkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5hdXRob3JpemVkRW1haWwgfHwgIXRoaXMuYXV0aG9yaXplZEVtYWlsLmxlbmd0aCB8fCB0aGlzLmF1dGhvcml6ZWRFbWFpbCA9PT0gdGhpcy5yZXF1ZXN0ZXJFbWFpbCkge1xyXG4gICAgICBkZWxldGUgYm9keS5xdWVyeVBhcmFtZXRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNhdmVGb3JtSG9va3MuYmVmb3JlU2VuZFBheWxvYWQpIHtcclxuICAgICAgYm9keS5ib2R5LnBheWxvYWQgPSBzYXZlRm9ybUhvb2tzLmJlZm9yZVNlbmRQYXlsb2FkKGJvZHkuYm9keS5wYXlsb2FkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYm9keTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNhbGxQb3N0KGJvZHksIG9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSk/LndtQ29uZmlnPy5sYW5ndWFnZSA/ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZSA6IFwiZW5cIjtcclxuICAgIGxldCBhcGlVcmwgPSB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VCYXNlVXJsICsgbGFuZ3VhZ2UgKyB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzICsgdGhpcy5jb25maWcucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlT2JqZWN0OiBhbnkpID0+IHRoaXMuc3VjY2Vzc1dtKHJlc3BvbnNlT2JqZWN0KSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGh0dHBFcnJvcjogYW55KSA9PiB0aHJvd0Vycm9yKGh0dHBFcnJvcikpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJtaXQoYm9keTogYW55LCBvcHRpb25zOiBhbnkpIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpPy53bUNvbmZpZz8ubGFuZ3VhZ2UgPyAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2UgOiBcImVuXCI7XHJcbiAgICBjb25zdCBhcGlVcmwgPSB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VCYXNlVXJsICsgbGFuZ3VhZ2UgKyB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzICsgdGhpcy5jb25maWcucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuXHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgIChyZXNwb25zZU9iamVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9ybVJlc3BvbnNlID0gcmVzcG9uc2VPYmplY3QuZGF0YS5mb3JtO1xyXG4gICAgICAgICAgaWYgKHNhdmVGb3JtSG9va3MuYWZ0ZXJTZW5kUGF5bG9hZCkge1xyXG4gICAgICAgICAgICBmb3JtUmVzcG9uc2UgPSBzYXZlRm9ybUhvb2tzLmFmdGVyU2VuZFBheWxvYWQoZm9ybVJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgIGlkOiBudWxsLFxyXG4gICAgICAgICAgICBzdGF0dXM6IG51bGwsXHJcbiAgICAgICAgICAgIG5leHRBcHByb3Zlcjoge1xyXG4gICAgICAgICAgICAgIG5hbWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgZW1haWw6IG51bGwsXHJcbiAgICAgICAgICAgICAgcm9sZTogbnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBjcmVhdGlvbkRhdGU6IG51bGxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXN1bHQuaWQgPSBmb3JtUmVzcG9uc2UuZm9ybUlkO1xyXG4gICAgICAgICAgcmVzdWx0LnN0YXR1cyA9IGZvcm1SZXNwb25zZVsnZm9ybVN0YXR1cyddO1xyXG4gICAgICAgICAgaWYgKGZvcm1SZXNwb25zZS5jdXJyZW50QWN0b3IpIHtcclxuICAgICAgICAgICAgcmVzdWx0Lm5leHRBcHByb3ZlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBmb3JtUmVzcG9uc2UuY3VycmVudEFjdG9yLm5hbWUsXHJcbiAgICAgICAgICAgICAgZW1haWw6IGZvcm1SZXNwb25zZS5jdXJyZW50QWN0b3IuZW1haWwsXHJcbiAgICAgICAgICAgICAgcm9sZTogZm9ybVJlc3BvbnNlWydmb3JtU3RlcCddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJlc3VsdC5jcmVhdGlvbkRhdGUgPSBmb3JtUmVzcG9uc2UuY3JlYXRpb25EYXRlO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9LCAoaHR0cEVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRocm93IGh0dHBFcnJvcjtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1Y2Nlc3NXbSguLi5hcmdzKSB7XHJcbiAgICBsZXQgW3BheWxvYWRdID0gYXJncztcclxuICAgIGxldCB3YXNTZW5kQmFjayA9IGZhbHNlO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBGb3JtKFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUVcclxuICAgICk7XHJcbiAgICB0aGlzLnJlcXVlc3RlckVtYWlsID0gcGF5bG9hZC5kYXRhWydyZXF1ZXN0ZXInXS5lbXBsb3llZUVtYWlsO1xyXG4gICAgdGhpcy5hdXRob3JpemVkRW1haWwgPSBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddLmF1dGhvcml6ZWRFbWFpbDtcclxuICAgIC8qIEdlbmVyYXRlIEhlYWRlciBPYmplY3QgKi9cclxuICAgIGxldCBwYXlsb2FkRm9ybURldGFpbHMgPSBwYXlsb2FkLmRhdGEuZm9ybTtcclxuICAgIGxldCBpc1JlYWRPbmx5ID0gKHBheWxvYWRGb3JtRGV0YWlscy5yZWFkT25seS50b1VwcGVyQ2FzZSgpID09PSBjb25zdGFudHMuVFJVRV9TVFJJTkcgPyBjb25zdGFudHMuVFJVRV9CT09MIDogKHBheWxvYWRGb3JtRGV0YWlscy5yZWFkT25seS50b1VwcGVyQ2FzZSgpID09PSBjb25zdGFudHMuRkFMU0VfU1RSSU5HID8gY29uc3RhbnRzLkZBTFNFX0JPT0wgOiBjb25zdGFudHMuTk9fVkFMVUUpKVxyXG4gICAgcmVzdWx0LmhlYWRlciA9IG5ldyBIZWFkZXIoXHJcbiAgICAgIHBheWxvYWQuZGF0YVsncmVxdWVzdGVyJ10uZnVsbE5hbWUsXHJcbiAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddLmVtcGxveWVlRW1haWwsXHJcbiAgICAgIChwYXlsb2FkRm9ybURldGFpbHMuZm9ybUlkID8gcGF5bG9hZEZvcm1EZXRhaWxzLmZvcm1JZCA6IGNvbnN0YW50cy5ET05UX1NIT1cpLFxyXG4gICAgICAocGF5bG9hZEZvcm1EZXRhaWxzLmNyZWF0aW9uRGF0ZSA/IHBheWxvYWRGb3JtRGV0YWlscy5jcmVhdGlvbkRhdGUgOiBjb25zdGFudHMuRE9OVF9TSE9XKSxcclxuICAgICAgcGF5bG9hZEZvcm1EZXRhaWxzWydmb3JtU3RhdHVzJ10sXHJcbiAgICAgIHBheWxvYWRGb3JtRGV0YWlscy5kZXRhaWxzXHJcbiAgICApO1xyXG4gICAgLyogR2VuZXJhdGUgUHJvZmlsZSBJbmZvcm1hdGlvbiBPYmplY3QgKi9cclxuICAgIGxldCBwYXlsb2FkUHJvZmlsZUluZm8gPSBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddO1xyXG4gICAgcmVzdWx0LnByb2ZpbGVJbmZvRHJvcCA9IG5ldyBQcm9maWxlSW5mb0Ryb3AoXHJcbiAgICAgIChwYXlsb2FkUHJvZmlsZUluZm9bJ29uQmVoYWxmQXV0aG9yaXplZCddID8gSlNPTi5wYXJzZShwYXlsb2FkUHJvZmlsZUluZm9bJ29uQmVoYWxmQXV0aG9yaXplZCddKSA6IG51bGwpLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2VtcGxveWVlSWQnXSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmVtcGxveWVlRW1haWwsXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5mdWxsTmFtZSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmdlbmVyYWxEZXBhcnRtZW50TmFtZSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmpvYlBvc2l0aW9uLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ3NlY3Rvck5hbWUnXSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmRlcGFydG1lbnROYW1lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uZ2VuZXJhbERlcGFydG1lbnRDb2RlLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2h1bWFuUmVzb3VyY2VMb2NhdGlvbiddLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8ubmF0aW9uYWxpdHksXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5idXNpbmVzc1Bob25lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2RpcmVjdE1hbmFnZXJOYW1lJ10sXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5zZW5pb3JTZWN0b3JOYW1lXHJcbiAgICApO1xyXG4gICAgcmVzdWx0LnNlY3Rpb25zID0gW107XHJcbiAgICBsZXQgcmVxdWVzdERldGFpbHNIYXNDb21tZW50ID0gZmFsc2U7XHJcbiAgICBpZiAocGF5bG9hZC5kYXRhLnJlcXVlc3QuZGV0YWlscy5jb21tZW50KSB7XHJcbiAgICAgIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXN1bHQuc2VjdGlvbnMucHVzaChcclxuICAgICAgbmV3IFNlY3Rpb24oXHJcbiAgICAgICAgY29uc3RhbnRzLlNFQ1RJT05fSURfUkVRVUVTVF9ERVRBSUxTLFxyXG4gICAgICAgIG5ldyBTZWN0aW9uSGVhZGVyKGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCwgKHBheWxvYWQuZGF0YVsnd29ya2Zsb3dTdGVwcyddID8gY29uc3RhbnRzLlJFQURfT05MWSA6IGlzUmVhZE9ubHkpKSxcclxuICAgICAgICBwYXlsb2FkLmRhdGEucmVxdWVzdFxyXG4gICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChyZXN1bHQuaGVhZGVyLmZvcm1JZCkge1xyXG4gICAgICByZXN1bHQuY29tbWVudHNEcm9wID0gKCFyZXN1bHQuY29tbWVudHNEcm9wID8gW10gOiByZXN1bHQuY29tbWVudHNEcm9wKTtcclxuICAgICAgdGhpcy5sb2FkSGlzdG9yeShyZXN1bHQuaGVhZGVyLmZvcm1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgcmVzcG9uc2UuaXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uc2VxdWVuY2VOdW1iZXIgIT09ICcwJyAmJiBpdGVtLnByb2Nlc3NlZEJ5KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gaXRlbS5wcm9jZXNzZWRCeVsnZmlyc3ROYW1lJ10gKyAnICcgKyBpdGVtLnByb2Nlc3NlZEJ5WydzZWNvbmRNaWRkbGVOYW1lJ10gKyAnICcgKyBpdGVtLnByb2Nlc3NlZEJ5WydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuY29tbWVudHNEcm9wLnB1c2gobmV3IENvbW1lbnRzRHJvcChcclxuICAgICAgICAgICAgICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIGl0ZW0ucHJvY2Vzc2VkQnkuZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgIG5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWVudHMsXHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1bJ21vZGlmaWVkRGF0ZSddLFxyXG4gICAgICAgICAgICAgICAgICBpdGVtLmF0dGFjaG1lbnRzLFxyXG4gICAgICAgICAgICAgICAgICBpdGVtLnByb2Nlc3NlZEJ5LmpvYlxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zdCBpbmJveFR5cGUgPSB0aGlzLmdldEluYm94VHlwZShyZXN1bHQpO1xyXG4gICAgaWYgKHJlc3VsdC5oZWFkZXIuZm9ybUlkICYmICghdGhpcy5pc09wZW5PbkluYm94KCkpKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW5ib3hJdGVtKHJlc3VsdC5oZWFkZXIuZm9ybUlkLCBpbmJveFR5cGUpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSByZXNwb25zZS5pdGVtO1xyXG4gICAgICAgICAgICByZXN1bHQuaW5ib3hJdGVtID0gbmV3IEluYm94SXRlbShcclxuICAgICAgICAgICAgICBpdGVtWydmbGFnZ2luZyddLmZsYWdQcmlvcml0eSxcclxuICAgICAgICAgICAgICBpdGVtWydmbGFnZ2luZyddWydpc0ZsYWdnZWQnXSxcclxuICAgICAgICAgICAgICBpdGVtLmZlZWRiYWNrWydjYW5SZXF1ZXN0RmVlZGJhY2snXSxcclxuICAgICAgICAgICAgICBpdGVtLmZlZWRiYWNrWydoYXNGZWVkYmFjayddLFxyXG4gICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2tbJ2lzUGVuZGluZyddLFxyXG4gICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2tbJ2lzUmVxdWVzdGVkJ10sXHJcbiAgICAgICAgICAgICAgaXRlbS5mZWVkYmFja1snaXNSZXNwb25kZWQnXVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBheWxvYWRXb3JrZmxvd1N0ZXBzID0gcGF5bG9hZC5kYXRhLndvcmtmbG93U3RlcHM7XHJcbiAgICBpZiAocGF5bG9hZFdvcmtmbG93U3RlcHMgJiYgcGF5bG9hZFdvcmtmbG93U3RlcHMuY29uc3RydWN0b3IgPT09IEFycmF5ICYmIHBheWxvYWRXb3JrZmxvd1N0ZXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcGF5bG9hZFdvcmtmbG93U3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHtcclxuICAgICAgICBsZXQgY3VycmVudElzUmVxdWVzdGVyU2VuZEJhY2sgPSBKU09OLnN0cmluZ2lmeShzdGVwLmRldGFpbHMpID09PSBKU09OLnN0cmluZ2lmeSh7fSk7XHJcbiAgICAgICAgbGV0IGhhc0NvbW1lbnRzID0gKCFjdXJyZW50SXNSZXF1ZXN0ZXJTZW5kQmFjayAmJiAoc3RlcC5kZXRhaWxzLmNvbW1lbnQgfHwgc3RlcC5jb21tZW50KSA/IGNvbnN0YW50cy5IQVNfQ09NTUVOVFMgOiBjb25zdGFudHMuTk9fQ09NTUVOVFMpO1xyXG4gICAgICAgIGxldCBjdXJyZW50QWN0b3IgPSAoc3RlcC5hY3Rvci5lbWFpbCA9PT0gc3RlcC5hY3Rvci5yZWNpcGllbnQuZW1haWwgPyBzdGVwLmFjdG9yLnJlY2lwaWVudCA6IChzdGVwLmFjdG9yLmRlbGVnYXRlID8gc3RlcC5hY3Rvci5kZWxlZ2F0ZSA6IG51bGwpKVxyXG4gICAgICAgIGlmICh3YXNTZW5kQmFjayAmJiBzdGVwLmFjdG9yLnJlY2lwaWVudC5yb2xlID09PSAnUkVRVUVTVEVSJykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXNTZW5kQmFjayAmJiBSRVFVRVNURVJcIilcclxuICAgICAgICAgIHJlc3VsdC5zZWN0aW9ucyA9IFtuZXcgU2VjdGlvbihcclxuICAgICAgICAgICAgY29uc3RhbnRzLlNFQ1RJT05fSURfUkVRVUVTVF9ERVRBSUxTLFxyXG4gICAgICAgICAgICBuZXcgU2VjdGlvbkhlYWRlcihcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCxcclxuICAgICAgICAgICAgICAocGF5bG9hZC5kYXRhLndvcmtmbG93U3RlcHMgPyBjb25zdGFudHMuUkVBRF9PTkxZIDogaXNSZWFkT25seSlcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgcGF5bG9hZC5kYXRhLnJlcXVlc3RcclxuICAgICAgICAgICldXHJcbiAgICAgICAgfSBlbHNlIGlmICh3YXNTZW5kQmFjaykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJQb3BcIilcclxuICAgICAgICAgIGlmIChyZXN1bHQuc2VjdGlvbnMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICByZXN1bHQuc2VjdGlvbnMucG9wKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB3YXNTZW5kQmFjayA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmIChzdGVwLmRldGFpbHMuZGVjaXNpb24gJiYgc3RlcC5kZXRhaWxzLmRlY2lzaW9uLmtleSA9PT0gY29uc3RhbnRzLkZPUk1fU1RBVFVTX1NFTkRfQkFDSykge1xyXG4gICAgICAgICAgd2FzU2VuZEJhY2sgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkoc3RlcC5kZXRhaWxzKSAhPT0gSlNPTi5zdHJpbmdpZnkoe30pKSB7XHJcbiAgICAgICAgICByZXN1bHQuc2VjdGlvbnMucHVzaChcclxuICAgICAgICAgICAgbmV3IFNlY3Rpb24oXHJcbiAgICAgICAgICAgICAgc3RlcC5hY3Rvci5yZWNpcGllbnQucm9sZS50b0xvd2VyQ2FzZSgpICsgY29uc3RhbnRzLlNFQ1RJT05fSURfQVBQUk9WQUxfUEFSVElBTF9OQU1FLFxyXG4gICAgICAgICAgICAgIG5ldyBTZWN0aW9uSGVhZGVyKFxyXG4gICAgICAgICAgICAgICAgKGN1cnJlbnRBY3RvciA/IHRoaXMuZ2V0U2hvcnROYW1lKGN1cnJlbnRBY3Rvci5uYW1lKSA6IFwiXCIpLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICBzdGVwLmRhdGUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNob3J0TmFtZShzdGVwLmFjdG9yLnJlY2lwaWVudC5uYW1lKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIHN0ZXAuYWN0b3IucmVjaXBpZW50LmVtYWlsLFxyXG4gICAgICAgICAgICAgICAgKHN0ZXAuYWN0b3IuZGVsZWdhdGU/Lm5hbWUgPyB0aGlzLmdldFNob3J0TmFtZShzdGVwLmFjdG9yLmRlbGVnYXRlLm5hbWUpIDogXCJcIikudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgIChzdGVwLmFjdG9yLmRlbGVnYXRlPy5lbWFpbCA/IGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBzdGVwLmFjdG9yLmRlbGVnYXRlLmVtYWlsIDogXCJcIiksXHJcbiAgICAgICAgICAgICAgICBzdGVwLmFjdG9yLnN0YXR1cyxcclxuICAgICAgICAgICAgICAgIGhhc0NvbW1lbnRzLFxyXG4gICAgICAgICAgICAgICAgKGluZGV4IDwgcGF5bG9hZFdvcmtmbG93U3RlcHMubGVuZ3RoIC0gMSA/IGNvbnN0YW50cy5SRUFEX09OTFkgOiBpc1JlYWRPbmx5KVxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAge2RldGFpbHM6IHN0ZXAuZGV0YWlscywgcHJvY2Vzc2luZ0RhdGU6IHN0ZXAuZGF0ZX1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFN1Ym1pdHRlciA9IHthY3Rvcjogc3RlcC5hY3RvciwgcmVjaXBpZW50OiBzdGVwLnJlY2lwaWVudCwgZGVsZWdhdGU6IHN0ZXAuYWN0b3IuZGVsZWdhdGV9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvKiBDcmVhdGUgTG92IFNlY3Rpb25zICovXHJcbiAgICByZXN1bHQubG92cyA9IChwYXlsb2FkPy5tZXRhPy5sb3ZzID8gcGF5bG9hZC5tZXRhLmxvdnMgOiBudWxsKTtcclxuXHJcbiAgICBpZiAocGF5bG9hZD8ubWV0YT8ubWVzc2FnZXMpIHtcclxuICAgICAgcmVzdWx0Lm1lc3NhZ2VzID0gbmV3IE1lc3NhZ2VzKFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgIFtdXHJcbiAgICAgICk7XHJcbiAgICAgIHBheWxvYWQubWV0YS5tZXNzYWdlcy5mb3JFYWNoKChtZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgcmVzdWx0Lm1lc3NhZ2VzLm9yaWdpbmFsTXNncy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJlc3VsdC5tZXNzYWdlc1ttZXNzYWdlLnR5cGVdLnB1c2gobWVzc2FnZS5tZXNzYWdlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXN1bHQuc2VjdGlvbnNbcmVzdWx0LnNlY3Rpb25zLmxlbmd0aCAtIDFdLmhlYWRlci5yZWFkT25seSA9IGlzUmVhZE9ubHk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRGaWxlKC4uLmFyZ3M6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgY29uc3QgW2lkXSA9IGFyZ3M7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICBgJHt0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzfSR7dGhpcy5jb25maWcucHJveHlTZXJ2aWNlRm9ybXN9JHt0aGlzLmNvbmZpZy5mb3JtSWR9JHt0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VBdHRhY2htZW50fSR7aWR9YCxcclxuICAgIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9XHJcbiAgKTtcclxufVxyXG5cclxuICBwdWJsaWMgZGF0YVVSSXRvQmxvYihkYXRhVVJJOiBhbnkpIHtcclxuICAgIGNvbnN0IGJ5dGVTdHJpbmcgPSBhdG9iKGRhdGFVUkkpO1xyXG4gICAgY29uc3QgYXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnl0ZVN0cmluZy5sZW5ndGgpO1xyXG4gICAgY29uc3QgaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlU3RyaW5nLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGludDhBcnJheVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgQmxvYihbYXJyYXlCdWZmZXJdLCB7dHlwZTogJ2ltYWdlL2pwZWcnfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGbGFnUHJpb3JpdHkoaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IGJvZHkgPSB7XHJcbiAgICAgIG1ldGhvZDogY29uc3RhbnRzLkhUVFBfTUVUSE9EX1BVVCxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX0RQLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogY29uc3RhbnRzLlNFUlZJQ0VfTkFNRV9EUF9VUERBVEVfSU5CT1hfSVRFTSxcclxuICAgICAgZm9ybU5hbWU6IHRoaXMuY29uZmlnLmZvcm1OYW1lLFxyXG4gICAgICB1cmxQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgaW5ib3hpZDogdGhpcy5jb25maWcuZm9ybUlkXHJcbiAgICAgIH0sXHJcbiAgICAgIGJvZHk6IHtcclxuICAgICAgICBmbGFnOiBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX0lOQk9YX0lURU0sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRIaXN0b3J5KC4uLmFyZ3MpIHtcclxuICAgIGNvbnN0IFtpZF0gPSBhcmdzO1xyXG4gICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBjb25zdGFudHMuV09SS0ZMT1dfSVRFTVMsXHJcbiAgICAgIGZvcm1JZDogaWQgfHwgdGhpcy5jb25maWcuZm9ybUlkLFxyXG4gICAgICBmb3JtTmFtZTogXCJicG1cIixcclxuICAgIH07XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9MT0FEX0hJU1RPUlksIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEluYm94SXRlbSguLi5hcmdzKSB7XHJcbiAgICBjb25zdCBbaWQsIGluYm94VHlwZV0gPSBhcmdzO1xyXG4gICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgZm9ybU5hbWU6IHRoaXMuY29uZmlnLmZvcm1OYW1lLFxyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25zdGFudHMuVEFSR0VUX1NFUlZFUl9EUCxcclxuICAgICAgc2VydmljZU5hbWU6IGNvbnN0YW50cy5TRVJWSUNFX05BTUVfRFBfSU5CT1hfSVRFTSxcclxuICAgICAgdXJsUGFyYW1ldGVyczoge1xyXG4gICAgICAgIGluYm94aWQ6IGlkLFxyXG4gICAgICAgIGluYm94dHlwZTogaW5ib3hUeXBlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbENhbGxBcGkoYm9keSwgY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0dFVF9JTkJPWF9JVEVNLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwZXJzcGVjdGl2ZUFwcHJvdmVzKGRldGFpbHMpIHtcclxuICAgIGlmICghdGhpcy5jb25maWcucHJvZHVjdGlvbikge1xyXG4gICAgICBkZXRhaWxzID0ge31cclxuICAgIH1cclxuICAgIGxldCBzZXJ2aWNlTmFtZSA9IFwiZm9ybS9cIiArIHRoaXMuY29uZmlnLmZvcm1OYW1lXHJcbiAgICBpZiAodGhpcy5jb25maWcuZm9ybUlkKSB7XHJcbiAgICAgIHNlcnZpY2VOYW1lID0gXCJmb3JtL1wiICsgdGhpcy5jb25maWcuZm9ybUlkXHJcbiAgICB9XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfUE9TVCxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX1dNLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWVcclxuICAgICAgLCBmb3JtTmFtZTogY29uc3RhbnRzLkFQUFJPVkVSU1xyXG4gICAgICAsIGJvZHk6IHtcclxuICAgICAgICBcInJlcXVlc3RcIjoge1xyXG4gICAgICAgICAgXCJkZXRhaWxzXCI6XHJcbiAgICAgICAgICBkZXRhaWxzXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX1JFU1BPTlNFLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdldEF0dGFjaG1lbnRzKGRhdGE6IGFueSwgLi4uYXJnczogYW55KSB7XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfUE9TVCxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX1dNLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogJ2F0dGFjaG1lbnQnXHJcbiAgICAgICwgZm9ybU5hbWU6ICdjb21tb24nXHJcbiAgICAgICwgYm9keToge1xyXG4gICAgICAgIGF0dGFjaG1lbnQ6IHtcclxuICAgICAgICAgIGZpbGVOYW1lOiB0aGlzLmNvbmZpZy5wcm9kdWN0aW9uID8gZGF0YS5maWxlTmFtZSA6ICcnLFxyXG4gICAgICAgICAgbWltZVR5cGU6IHRoaXMuY29uZmlnLnByb2R1Y3Rpb24gPyBkYXRhLm1pbWVUeXBlIDogJycsXHJcbiAgICAgICAgICBmaWxlQ29udGVudHM6IHRoaXMuY29uZmlnLnByb2R1Y3Rpb24gPyBkYXRhLmZpbGVDb250ZW50cyA6ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgICAsIGNvbW1lbnQ6IGRhdGEuYXR0YWNobWVudGNvbW1lbnRcclxuICAgICAgICAsIGRlc2NyaXB0aW9uOiBkYXRhLmZpbGVEZXNjcmlwdGlvbixcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLmdldFJlcXVlc3RPcHRpb25zKCk7XHJcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsQ2FsbEFwaShib2R5LCBjb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fU1VDQ0VTU19SRVNQT05TRSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hFbXBsb3llZSguLi5hcmdzKSB7XHJcbiAgICBsZXQgW3NlYXJjaFN0cmluZ10gPSBhcmdzO1xyXG4gICAgbGV0IGJvZHkgPSB7XHJcbiAgICAgIG1ldGhvZDogY29uc3RhbnRzLkhUVFBfTUVUSE9EX0dFVCxcclxuICAgICAgZm9ybU5hbWU6IHRoaXMuY29uZmlnLmZvcm1OYW1lLFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfRFAsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBjb25zdGFudHMuU0VSVklDRV9OQU1FX0RQX1NFQVJDSF9FTVBMT1lFRSxcclxuICAgICAgcGFyYW1ldGVyczoge1xyXG4gICAgICAgIHE6IHNlYXJjaFN0cmluZyxcclxuICAgICAgICBsaW1pdDogMTBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLmdldFJlcXVlc3RPcHRpb25zKCk7XHJcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsQ2FsbEFwaShib2R5LCBjb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fU1VDQ0VTU19SRVNQT05TRSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbXlSZXF1ZXN0cyhkZXRhaWxzKSB7XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBcImZvcm1cIiAvLywgIC8vdGhpcy5nZXRTZXJ2aWNlTmFtZSgpLFxyXG4gICAgICAsIGZvcm1OYW1lOiBcImhpc3RvcnlcIlxyXG4gICAgICAsIHF1ZXJ5UGFyYW1ldGVyczoge1xyXG4gICAgICAgIGZvcm1OYW1lOiB0aGlzLmNvbmZpZy5mb3JtTmFtZSxcclxuICAgICAgICB5ZWFyOiBkZXRhaWxzLnllYXIsXHJcbiAgICAgICAgbW9udGg6IGRldGFpbHMubW9udGgsXHJcbiAgICAgICAgZW1haWw6IHRoaXMubG9nZ2VkSW5Vc2VySWQoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX1JFU1BPTlNFLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYWxDYWxsQXBpKGJvZHksIHR5cGU6IHN0cmluZywgb3B0aW9ucykge1xyXG4gICAgbGV0IGFwaVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmwgKyB0aGlzLmxhbmd1YWdlICsgdGhpcy5jb25maWcucHJveHlGdWxsQWRkcmVzcyArIHRoaXMuY29uZmlnLnByb3h5U2VydmljZUV4ZWN1dGU7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlT2JqZWN0OiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2VPYmplY3RcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGh0dHBFcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoaHR0cEVycm9yKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9nZ2VkSW5Vc2VySWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyRGF0YVsnbG9nZ2VkSW5Vc2VyRW1haWwnXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTaG9ydE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAobmFtZSkge1xyXG4gICAgICBsZXQgbmFtZVRva2VucyA9IG5hbWUuc3BsaXQoJyAnKTtcclxuICAgICAgaWYgKG5hbWVUb2tlbnMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICByZXR1cm4gW25hbWVUb2tlbnNbMF1dXHJcbiAgICAgIH0gZWxzZSBpZiAobmFtZVRva2Vuc1tuYW1lVG9rZW5zLmxlbmd0aCAtIDJdLnRvTG93ZXJDYXNlKCkgPT0gJ2FsJykge1xyXG4gICAgICAgIHJldHVybiBbbmFtZVRva2Vuc1swXSwgbmFtZVRva2Vuc1tuYW1lVG9rZW5zLmxlbmd0aCAtIDJdLCBuYW1lVG9rZW5zW25hbWVUb2tlbnMubGVuZ3RoIC0gMV1dLmpvaW4oJyAnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gW25hbWVUb2tlbnNbMF0sIG5hbWVUb2tlbnNbbmFtZVRva2Vucy5sZW5ndGggLSAxXV0uam9pbignICcpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZUFwcCgpIHtcclxuICAgIHJldHVybiAod2luZG93IGFzIGFueSkud21Db25maWcuaXNNb2JpbGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5ib3hUeXBlKHJlc3VsdCkge1xyXG4gICAgbGV0IHJ0biA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5sb2dnZWRJblVzZXJJZCgpID09PSByZXN1bHQucHJvZmlsZUluZm9Ecm9wLmVtcGxveWVlRW1haWwpIHtcclxuICAgICAgcnRuID0gY29uc3RhbnRzLklOQk9YX1NUQVRVU19TRU5UO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcnRuID0gY29uc3RhbnRzLklOQk9YX1NUQVRVU19QRU5ESU5HO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJ0bjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc09wZW5PbkluYm94KCkge1xyXG4gICAgcmV0dXJuICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5vdXRsb29rO1xyXG4gIH1cclxufVxyXG4iXX0=
518
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0ksT0FBTyxLQUFLLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQWMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUM7OztBQUsvQyxNQUFNLE9BQU8sV0FBVztJQW1CTztJQUM2QjtJQW5CMUQsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUNYLFNBQVMsQ0FBUztJQUNsQixZQUFZLENBQVM7SUFDWixhQUFhLENBQVM7SUFDaEMsUUFBUSxDQUFTO0lBQ1AsU0FBUyxDQUFLO0lBQ3hCLGdCQUFnQixDQUFLO0lBQzVCLFlBQVksQ0FBUTtJQUNaLGVBQWUsQ0FBVTtJQUN6QixjQUFjLENBQVU7SUFDeEIsZ0JBQWdCLENBQU07SUFDOUIsUUFBUSxDQUFRO0lBQ2hCLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDZixTQUFTLENBQUs7SUFDZCxpQkFBaUIsQ0FBUztJQUMxQixXQUFXLEdBQVUsRUFBRSxDQUFBO0lBQ04sUUFBUSxDQUFVO0lBRW5DLFlBQTZCLElBQWdCLEVBQ2EsTUFBbUI7UUFEaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNhLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDM0UsTUFBTSxRQUFRLEdBQUksTUFBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFFLE1BQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDMUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsWUFBWTtZQUN0QixVQUFVLEVBQUUscUJBQXFCO1lBQ2pDLFNBQVMsRUFBRSwwQ0FBMEM7WUFDckQsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsbUJBQW1CLEVBQUUseUJBQXlCO1NBQy9DLENBQUE7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBSSxNQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDOUMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkQsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7WUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQzNDLFVBQVUsQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFO1lBQzVCLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDO1FBQ2hELE1BQU0sUUFBUSxHQUFJLE1BQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBRSxNQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztRQUN2RCxPQUFPLEdBQUcsT0FBTyxHQUFHLFFBQVEsR0FBRyxXQUFXLEdBQUcsUUFBUSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDdkYsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLFFBQVEsR0FBRztZQUNmLE1BQU0sRUFBRSxTQUFTLENBQUMsZUFBZTtZQUNqQyxXQUFXLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsU0FBUyxDQUFDLG9CQUFvQjtZQUMzQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxFQUFFO1lBQ1Ysd0JBQXdCO1NBQ3pCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sZUFBZSxDQUFDLGFBQWtCO1FBQ3ZDLElBQUksSUFBSSxHQUFHO1lBQ1QsTUFBTSxFQUFFLFNBQVMsQ0FBQyxlQUFlO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0I7WUFDdkMsV0FBVyxFQUFFLFNBQVMsQ0FBQywrQkFBK0I7WUFDdEQsVUFBVSxFQUFFO2dCQUNWLENBQUMsRUFBRSxhQUFhO2FBQ2pCO1NBQ0YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDdkMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLGNBQWMsRUFBRSxtQ0FBbUM7YUFDcEQsQ0FBQztZQUNGLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQyxDQUFDLEVBQ0EsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RSxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3RDLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsY0FBYyxFQUFFLFNBQVMsQ0FBQyx3QkFBd0I7Z0JBQ2xELFVBQVUsRUFBRSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLEVBQUUsR0FBRyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsR0FBRyxTQUFTLEdBQUcsR0FBRzthQUNqTixDQUFDO1lBQ0YsT0FBTyxFQUFFLE1BQU07U0FDaEIsQ0FBQTtJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsR0FBRztRQUNwQixPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFHLElBQUk7UUFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0QsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwSSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7SUFDL0gsQ0FBQztJQUVPLDZCQUE2QixDQUFDLE9BQU87UUFDM0MsT0FBTyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3hHLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBTTtRQUMzQixJQUFJLE1BQU0sS0FBSyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoRCxPQUFPLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQTtRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDLG9CQUFvQixDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQU07UUFDeEIsSUFBSSxNQUFNLEtBQUssU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsU0FBUyxFQUFFLE9BQU87UUFDekMsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUN2RCxPQUFPLEdBQUcsRUFBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsRUFBQyxDQUFDO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDMUQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDdEQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTTtRQUMxRSxJQUFJLElBQUksR0FBRztZQUNULE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0I7WUFDdkMsV0FBVyxFQUFFLFdBQVc7WUFDeEIsVUFBVSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsT0FBTztZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsZUFBZSxFQUFFLEVBQUU7WUFDbkIsVUFBVTtTQUNYLENBQUE7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUVELElBQUksYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUdPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTztRQUM1QixNQUFNLFFBQVEsR0FBSSxNQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoRyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFFekgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkYsR0FBRyxDQUFDLENBQUMsY0FBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUM1RCxVQUFVLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFTLEVBQUUsT0FBWTtRQUNwQyxNQUFNLFFBQVEsR0FBSSxNQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUUsTUFBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoRyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFFM0gsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ3hGLENBQUMsY0FBbUIsRUFBRSxFQUFFO1lBQ3RCLElBQUksWUFBWSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzVDLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25DLFlBQVksR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUNELElBQUksTUFBTSxHQUFHO2dCQUNYLEVBQUUsRUFBRSxJQUFJO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsSUFBSTtvQkFDVixLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsSUFBSTtpQkFDWDtnQkFDRCxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0YsTUFBTSxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLElBQUksWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM5QixNQUFNLENBQUMsWUFBWSxHQUFHO29CQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJO29CQUNwQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLO29CQUN0QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQztpQkFDL0IsQ0FBQTtZQUNILENBQUM7WUFDRCxNQUFNLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7WUFDaEQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLENBQUMsU0FBYyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxTQUFTLENBQUM7UUFDbEIsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBRyxJQUFJO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksTUFBTSxHQUFHLElBQUksSUFBSSxDQUNuQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxDQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ2pFLDRCQUE0QjtRQUM1QixJQUFJLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksVUFBVSxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ2pPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUNsQyxTQUFTLENBQUMsb0NBQW9DLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxhQUFhLEVBQ3hGLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDN0UsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN6RixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFDaEMsa0JBQWtCLENBQUMsT0FBTyxDQUMzQixDQUFDO1FBQ0YseUNBQXlDO1FBQ3pDLElBQUksa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUMxQyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDeEcsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEVBQ2hDLGtCQUFrQixDQUFDLGFBQWEsRUFDaEMsa0JBQWtCLENBQUMsUUFBUSxFQUMzQixrQkFBa0IsQ0FBQyxxQkFBcUIsRUFDeEMsa0JBQWtCLENBQUMsV0FBVyxFQUM5QixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFDaEMsa0JBQWtCLENBQUMsY0FBYyxFQUNqQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFDeEMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsRUFDM0Msa0JBQWtCLENBQUMsV0FBVyxFQUM5QixrQkFBa0IsQ0FBQyxhQUFhLEVBQ2hDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEVBQ3ZDLGtCQUFrQixDQUFDLGdCQUFnQixDQUNwQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEIsSUFBSSxPQUFPLENBQ1QsU0FBUyxDQUFDLDBCQUEwQixFQUNwQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDbFEsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3JCLENBQ0YsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUM5QyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUNoQixJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7d0JBQ25DLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDOzRCQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQy9ILE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUN2QyxTQUFTLENBQUMsb0NBQW9DLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQ3ZFLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQ3JCLENBQUMsQ0FBQzt3QkFDTCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFHRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQzFELENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDM0IsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQzdCLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksb0JBQW9CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEQsSUFBSSxvQkFBb0IsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLEtBQUssS0FBSyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksMEJBQTBCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNJLElBQUksWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7Z0JBQ2hKLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztvQkFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO29CQUN2QyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQzVCLFNBQVMsQ0FBQywwQkFBMEIsRUFDcEMsSUFBSSxhQUFhLENBQ2YsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsd0JBQXdCLEVBQ3hCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUNoRSxFQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUNyQixDQUFDLENBQUE7Z0JBQ0osQ0FBQztxQkFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNsQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUN4QixDQUFDO29CQUNELFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLENBQUM7Z0JBR0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQzNGLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLENBQUM7cUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQy9ELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQixJQUFJLE9BQU8sQ0FDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsU0FBUyxDQUFDLGdDQUFnQyxFQUNwRixJQUFJLGFBQWEsQ0FDZixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUNyRSxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQ3ZELFNBQVMsQ0FBQyxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQzNFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDekYsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUM5RyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFDakIsV0FBVyxFQUNYLENBQUMsS0FBSyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUM3RSxFQUNELEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FDbkQsQ0FDRixDQUFDO29CQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUN4RyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QseUJBQXlCO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9ELElBQUksT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUM1QixFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLENBQ0gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN6RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQUcsSUFBUztRQUMxQixNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxFQUFFLEVBQ2hJLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFZO1FBQy9CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVEsQ0FBQyxlQUFlO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFDLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUM5RixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLElBQUksSUFBSSxHQUFHO1lBQ1QsTUFBTSxFQUFFLFNBQVMsQ0FBQyxlQUFlO1lBQ2pDLFdBQVcsRUFBRSxTQUFTLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxTQUFTLENBQUMsaUNBQWlDO1lBQ3hELFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsYUFBYSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDNUI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLEVBQUU7YUFDVDtTQUNGLENBQUE7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQUcsSUFBSTtRQUN4QixNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsTUFBTSxFQUFFLFNBQVMsQ0FBQyxlQUFlO1lBQ2pDLFdBQVcsRUFBRSxTQUFTLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxTQUFTLENBQUMsY0FBYztZQUNyQyxNQUFNLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUNoQyxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsaUNBQWlDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFHLElBQUk7UUFDekIsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUc7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxTQUFTLENBQUMsZUFBZTtZQUNqQyxXQUFXLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsU0FBUyxDQUFDLDBCQUEwQjtZQUNqRCxhQUFhLEVBQUU7Z0JBQ2IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLFNBQVM7YUFDckI7U0FDRixDQUFBO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsbUNBQW1DLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQU87UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNkLENBQUM7UUFDRCxJQUFJLFdBQVcsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUE7UUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLFdBQVcsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUE7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHO1lBQ1QsTUFBTSxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0I7WUFDbEMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0I7WUFDdkMsV0FBVyxFQUFFLFdBQVc7WUFDdEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxTQUFTO1lBQzdCLElBQUksRUFBRTtnQkFDTixTQUFTLEVBQUU7b0JBQ1QsU0FBUyxFQUNULE9BQU87aUJBQ1I7YUFDRjtTQUNGLENBQUE7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxxQ0FBcUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVMsRUFBRSxHQUFHLElBQVM7UUFDcEMsSUFBSSxJQUFJLEdBQUc7WUFDVCxNQUFNLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtZQUNsQyxXQUFXLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsWUFBWTtZQUN2QixRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUU7Z0JBQ04sVUFBVSxFQUFFO29CQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDckQsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNyRCxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUU7aUJBQzlEO2dCQUNDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCO2dCQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWU7YUFDcEM7U0FDRixDQUFBO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMscUNBQXFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFHLElBQUk7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLElBQUksR0FBRztZQUNULE1BQU0sRUFBRSxTQUFTLENBQUMsZUFBZTtZQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQzlCLFdBQVcsRUFBRSxTQUFTLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxTQUFTLENBQUMsK0JBQStCO1lBQ3RELFVBQVUsRUFBRTtnQkFDVixDQUFDLEVBQUUsWUFBWTtnQkFDZixLQUFLLEVBQUUsRUFBRTthQUNWO1NBQ0YsQ0FBQTtRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBTztRQUN2QixJQUFJLElBQUksR0FBRztZQUNULE1BQU0sRUFBRSxTQUFTLENBQUMsZUFBZTtZQUNqQyxXQUFXLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsTUFBTSxDQUFDLDZCQUE2Qjs7WUFDL0MsUUFBUSxFQUFFLFNBQVM7WUFDbkIsZUFBZSxFQUFFO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2dCQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7Z0JBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDN0I7U0FDRixDQUFBO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMscUNBQXFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBWSxFQUFFLE9BQU87UUFDeEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUM5SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNuRixHQUFHLENBQUMsQ0FBQyxjQUFtQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxjQUFjLENBQUE7UUFDdkIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBWTtRQUM5QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN4QixDQUFDO2lCQUFNLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekcsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBUSxNQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQU07UUFDeEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssTUFBTSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuRSxHQUFHLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFRLE1BQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7dUdBaG9CVSxXQUFXLDRDQW9CRixtQkFBbUI7MkdBcEI1QixXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXFCYyxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHR5cGUge015TGliQ29uZmlnfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zaGFyZWQuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q29tbWVudHNEcm9wLCBGb3JtLCBIZWFkZXIsIEluYm94SXRlbSwgTWVzc2FnZXMsIE1ZX0xJQl9DT05GSUdfVE9LRU4sIFByb2ZpbGVJbmZvRHJvcCwgU2VjdGlvbiwgU2VjdGlvbkhlYWRlcn0gZnJvbSBcIi4uLy4uL3B1YmxpYy1hcGlcIjtcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uL2NvbnN0YW50cydcclxuaW1wb3J0IHtjYXRjaEVycm9yLCBmcm9tLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRocm93RXJyb3J9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7bWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHNhdmVGb3JtSG9va3MgZnJvbSAnLi4vaG9va3Mvc2F2ZS1mb3JtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlcnZpY2Uge1xyXG4gIGFwaVVybDogc3RyaW5nID0gJydcclxuICBwcml2YXRlIGF1dGhUb2tlbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJEYXRhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFVzZXI6IHt9O1xyXG4gIHB1YmxpYyBsb2dnZWRJblVzZXJEYXRhOiB7fTtcclxuICBjdXJyZW50QWN0b3I6IHN0cmluZ1xyXG4gIHByaXZhdGUgYXV0aG9yaXplZEVtYWlsITogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVxdWVzdGVyRW1haWwhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U3VibWl0dGVyOiBhbnk7XHJcbiAgbGFuZ3VhZ2U6IHN0cmluZ1xyXG4gIGFjdGl2aXRpZXMgPSBbXVxyXG4gIGFwcHJvdmFsczogYW55XHJcbiAgaGlzdG9yeURhdGFMb2FkZWQ6IGJvb2xlYW5cclxuICBoaXN0b3J5RGF0YTogYW55W10gPSBbXVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBASW5qZWN0KE1ZX0xJQl9DT05GSUdfVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBNeUxpYkNvbmZpZykge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSk/LndtQ29uZmlnPy5sYW5ndWFnZSA/ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZSA6ICdlbic7XHJcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmwgKyBsYW5ndWFnZSArIHRoaXMuY29uZmlnLnByb3h5RnVsbEFkZHJlc3MgKyB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VFeGVjdXRlO1xyXG4gICAgY29uc29sZS5sb2coJ0NvbmZpZzogJywgdGhpcy5jb25maWcpO1xyXG4gICAgdGhpcy5sb2NhbFVzZXIgPSB7XHJcbiAgICAgIFwiZm9ybVByZWZpeFwiOiBcIkNFUFwiLFxyXG4gICAgICBcImZvcm1JZFwiOiBcIkNFUDU1OTU0MzJcIixcclxuICAgICAgXCJpbmJveFVyaVwiOiBcIlxcL2dyb3VwXFwvaHViXFwvaW5ib3hcIixcclxuICAgICAgXCJiYXNlVXJsXCI6IFwiXFwvZ3JvdXBcXC9pLWdhdGVcXC93bS1icG1cXC9mb3Jtc1xcLy1cXC9wcm94eVwiLFxyXG4gICAgICBcInNob3dQcmludFwiOiB0cnVlLFxyXG4gICAgICBcImxhbmd1YWdlXCI6IFwiZW5cIixcclxuICAgICAgXCJpc01vYmlsZVwiOiB0cnVlLFxyXG4gICAgICBcIm91dGxvb2tcIjogZmFsc2UsXHJcbiAgICAgIFwibG9nZ2VkSW5Vc2VyRW1haWxcIjogXCJpYnJhaGltbWFhLmNAc3RjLmNvbS5zYVwiXHJcbiAgICB9XHJcbiAgICB0aGlzLnByb2plY3RDb25maWcgPSAodGhpcy5jb25maWcucHJvZHVjdGlvbikgPyAod2luZG93IGFzIGFueSlbJ3dtQ29uZmlnJ10gOiBidG9hKEpTT04uc3RyaW5naWZ5KHRoaXMubG9jYWxVc2VyKSk7XHJcbiAgICB0aGlzLnVzZXJEYXRhID0gdGhpcy5wcm9qZWN0Q29uZmlnO1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9ICh3aW5kb3cgYXMgYW55KT8ud21Db25maWc/Lmxhbmd1YWdlID8gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlIDogXCJlblwiO1xyXG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMucHJvamVjdENvbmZpZz8uWydpc01vYmlsZSddO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExvZ2dlZEluVXNlckRhdGEoKSB7XHJcbiAgICBsZXQgbG9nZ2VkSW5FbWFpbCA9IHRoaXMubG9nZ2VkSW5Vc2VySWQoKVxyXG4gICAgdGhpcy5lbXBsb3llZVByb2ZpbGUobG9nZ2VkSW5FbWFpbCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2VkSW5Vc2VyRGF0YSA9IHJlc3BvbnNlPy5bXCJVc2Vyc1wiXT8uWzBdXHJcbiAgICAgIGNvbnNvbGUubG9nKCdnZXRMb2dnZWRJblVzZXJEYXRhJywgcmVzcG9uc2UpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRGb3JtKCkge1xyXG4gICAgY29uc3QgYXV0aFVybCA9IHRoaXMuYnVpbGRBdXRoVXJsKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChhdXRoVXJsLCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB0b2tlbkluZm9ybWF0aW9uID0gcmVzLmJvZHk7XHJcbiAgICAgICAgdGhpcy5hdXRoVG9rZW4gPSB0b2tlbkluZm9ybWF0aW9uLnRva2VuO1xyXG4gICAgICAgIHRoaXMuZ2V0TG9nZ2VkSW5Vc2VyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdG9rZW5JbmZvcm1hdGlvbi5yZWZyZXNoVG9rZW47XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsUG9zdChib2R5LCBvcHRpb25zKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcChwb3N0T2JzZXJ2YWJsZSA9PiBwb3N0T2JzZXJ2YWJsZSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGh0dHBFcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoaHR0cEVycm9yKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQXV0aFVybCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmw7XHJcbiAgICBjb25zdCBsYW5ndWFnZSA9ICh3aW5kb3cgYXMgYW55KT8ud21Db25maWc/Lmxhbmd1YWdlID8gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlIDogJ2VuJztcclxuICAgIGNvbnN0IGZ1bGxBZGRyZXNzID0gdGhpcy5jb25maWcucHJveHlGdWxsQWRkcmVzcztcclxuICAgIGNvbnN0IGF1dGhQYXJ0ID0gdGhpcy5jb25maWcucHJveHlTZXJ2aWNlQXV0aG9yaXphdGlvbjtcclxuICAgIHJldHVybiBgJHtiYXNlVXJsfSR7bGFuZ3VhZ2V9JHtmdWxsQWRkcmVzc30ke2F1dGhQYXJ0fT90cz0keyhuZXcgRGF0ZSgpKS52YWx1ZU9mKCl9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRCb2R5KCk6IG9iamVjdCB7XHJcbiAgICBjb25zdCBiYXNlQm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0ZPUk0sXHJcbiAgICAgIGZvcm1OYW1lOiB0aGlzLmNvbmZpZy5mb3JtTmFtZSxcclxuICAgICAgZm9ybUlkOiBcIlwiLFxyXG4gICAgICAvLyBxdWVyeVBhcmFtZXRlcnM6IG51bGxcclxuICAgIH07XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmZvcm1JZCkge1xyXG4gICAgICBkZWxldGUgYmFzZUJvZHkuZm9ybUlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYmFzZUJvZHkuZm9ybUlkID0gdGhpcy5jb25maWcuZm9ybUlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJhc2VCb2R5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtcGxveWVlUHJvZmlsZShlbXBsb3llZUVtYWlsOiBhbnkpIHtcclxuICAgIGxldCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGZvcm1OYW1lOiB0aGlzLmNvbmZpZy5mb3JtTmFtZSxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX0RQLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogY29uc3RhbnRzLlNFUlZJQ0VfTkFNRV9EUF9TRUFSQ0hfRU1QTE9ZRUUsXHJcbiAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICBxOiBlbXBsb3llZUVtYWlsXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIGJvZHksIHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBhdXRoVG9rZW46IHRoaXMuYXV0aFRva2VuLFxyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6IFwiYm9keVwiXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgfSlcclxuICAgICAgLCBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycilcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0T3B0aW9ucygpIHtcclxuICAgIGNvbnN0IGlzTW9iaWxlID0gL2lQaG9uZXxpUGFkfGlQb2R8QW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBjb25zdCB0cyA9IChuZXcgRGF0ZSgpKS52YWx1ZU9mKCkudG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIGF1dGhUb2tlbjogdGhpcy5hdXRoVG9rZW4sXHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IGNvbnN0YW50cy5IRUFERVJfQ09OVEVOVF9UWVBFX0ZPUk0sXHJcbiAgICAgICAgJ2ZlSGVhZGVyJzogJ3tcImlzTW9iaWxlXCI6JyArIHRoaXMuaXNNb2JpbGUgKyAnLCBcIixhSXNNb2JpbGVcIjonICsgaXNNb2JpbGUgKyAnLHRzOicgKyB0cyArICcsbG9nZ2VkSW5Vc2VyRW1haWw6JyArIHRoaXMubG9nZ2VkSW5Vc2VySWQoKSArICcsZm9ybU5hbWU6JyArIHRoaXMuY29uZmlnLmZvcm1OYW1lICsgJyx1c2VyLWFnZW50OicgKyB1c2VyQWdlbnQgKyAnfSdcclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREcmFmdElkKHZhbCkge1xyXG4gICAgcmV0dXJuIHZhbC50b1VwcGVyQ2FzZSgpLnN0YXJ0c1dpdGgoJ0RSQUZUJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3VibWl0Rm9ybSguLi5hcmdzKSB7XHJcbiAgICBjb25zdCBbc2VjdGlvbiwgYWN0aW9uXSA9IGFyZ3M7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldEh0dHBNZXRob2QoKTtcclxuICAgIGxldCBzZWN0aW9uSWQgPSB0aGlzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb25XcmFwcGVyKHNlY3Rpb24pLmlkO1xyXG4gICAgbGV0IHNlcnZpY2VOYW1lID0gdGhpcy5nZXRTZXJ2aWNlTmFtZShhY3Rpb24pO1xyXG4gICAgbGV0IGZvcm1OYW1lID0gdGhpcy5nZXRGb3JtTmFtZShhY3Rpb24pO1xyXG4gICAgbGV0IGJvZHkgPSB0aGlzLmdldEJvZHlPYmplY3QobWV0aG9kLCBzZXJ2aWNlTmFtZSwgYWN0aW9uLCBmb3JtTmFtZSwgdGhpcy5wb3B1bGF0ZWRQYXlsb2FkKHNlY3Rpb25JZCwgc2VjdGlvbiksIHRoaXMuY29uZmlnLmZvcm1JZCk7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnN1Ym1pdChib2R5LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SHR0cE1ldGhvZCgpIHtcclxuICAgIHJldHVybiAodGhpcy5jb25maWcuZm9ybUlkICYmICF0aGlzLmdldERyYWZ0SWQodGhpcy5jb25maWcuZm9ybUlkKSkgPyBjb25zdGFudHMuSFRUUF9NRVRIT0RfUFVUIDogY29uc3RhbnRzLkhUVFBfTUVUSE9EX1BPU1Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJlZm9yZVRyYW5zcGlsZVNlY3Rpb25XcmFwcGVyKHNlY3Rpb24pIHtcclxuICAgIHJldHVybiBzYXZlRm9ybUhvb2tzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb24gPyBzYXZlRm9ybUhvb2tzLmJlZm9yZVRyYW5zcGlsZVNlY3Rpb24oc2VjdGlvbikgOiBzZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZXJ2aWNlTmFtZShhY3Rpb24pIHtcclxuICAgIGlmIChhY3Rpb24gPT09IGNvbnN0YW50cy5XTV9BQ1RJT05fU0FWRV9DSEFOR0VTKSB7XHJcbiAgICAgIHJldHVybiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0RSQUZUX0ZPUk1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBjb25zdGFudHMuU0VSVklDRV9OQU1FX1dNX0ZPUk1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybU5hbWUoYWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSBjb25zdGFudHMuV01fQUNUSU9OX1NBVkVfQ0hBTkdFUykge1xyXG4gICAgICByZXR1cm4gJ2NvbW1vbic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25maWcuZm9ybU5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlZFBheWxvYWQoc2VjdGlvbklkLCBzZWN0aW9uKSB7XHJcbiAgICBsZXQgcGF5bG9hZDtcclxuICAgIGlmIChzZWN0aW9uSWQgPT09IGNvbnN0YW50cy5TRUNUSU9OX0lEX1JFUVVFU1RfREVUQUlMUykge1xyXG4gICAgICBwYXlsb2FkID0ge3JlcXVlc3Q6IHtkZXRhaWxzOiBzZWN0aW9uLmJvZHkuZGV0YWlsc319O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGF5bG9hZCA9IHt3b3JrZmxvd1N0ZXBzOiB7fX07XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5kZXRhaWxzID0gc2VjdGlvbi5ib2R5LmRldGFpbHM7XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5hY3RvciA9IHRoaXMuY3VycmVudFN1Ym1pdHRlci5hY3RvcjtcclxuICAgICAgcGF5bG9hZC53b3JrZmxvd1N0ZXBzLmFjdG9yLmVtYWlsID0gdGhpcy5jdXJyZW50QWN0b3I7XHJcbiAgICAgIHBheWxvYWQud29ya2Zsb3dTdGVwcy5zdGF0dXMgPSBjb25zdGFudHMuU0VDVElPTl9TVEFUVVNfUEVORElORztcclxuICAgIH1cclxuICAgIHJldHVybiBwYXlsb2FkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCb2R5T2JqZWN0KG1ldGhvZCwgc2VydmljZU5hbWUsIGFjdGlvbiwgZm9ybU5hbWUsIHBheWxvYWQsIGZvcm1JZCkge1xyXG4gICAgbGV0IGJvZHkgPSB7XHJcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgcGFyYW1ldGVyczoge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uXHJcbiAgICAgIH0sXHJcbiAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcclxuICAgICAgYm9keTogcGF5bG9hZCxcclxuICAgICAgZm9ybUlkOiBmb3JtSWQsXHJcbiAgICAgIHF1ZXJ5UGFyYW1ldGVyczoge30sXHJcbiAgICAgIC8vIHBheWxvYWRcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZm9ybUlkKSB7XHJcbiAgICAgIGJvZHkuZm9ybUlkID0gdGhpcy5jb25maWcuZm9ybUlkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5hdXRob3JpemVkRW1haWwgfHwgIXRoaXMuYXV0aG9yaXplZEVtYWlsLmxlbmd0aCB8fCB0aGlzLmF1dGhvcml6ZWRFbWFpbCA9PT0gdGhpcy5yZXF1ZXN0ZXJFbWFpbCkge1xyXG4gICAgICBkZWxldGUgYm9keS5xdWVyeVBhcmFtZXRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNhdmVGb3JtSG9va3MuYmVmb3JlU2VuZFBheWxvYWQpIHtcclxuICAgICAgYm9keS5ib2R5LnBheWxvYWQgPSBzYXZlRm9ybUhvb2tzLmJlZm9yZVNlbmRQYXlsb2FkKGJvZHkuYm9keS5wYXlsb2FkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYm9keTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNhbGxQb3N0KGJvZHksIG9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSk/LndtQ29uZmlnPy5sYW5ndWFnZSA/ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZSA6IFwiZW5cIjtcclxuICAgIGxldCBhcGlVcmwgPSB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VCYXNlVXJsICsgbGFuZ3VhZ2UgKyB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzICsgdGhpcy5jb25maWcucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlT2JqZWN0OiBhbnkpID0+IHRoaXMuc3VjY2Vzc1dtKHJlc3BvbnNlT2JqZWN0KSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGh0dHBFcnJvcjogYW55KSA9PiB0aHJvd0Vycm9yKGh0dHBFcnJvcikpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJtaXQoYm9keTogYW55LCBvcHRpb25zOiBhbnkpIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpPy53bUNvbmZpZz8ubGFuZ3VhZ2UgPyAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2UgOiBcImVuXCI7XHJcbiAgICBjb25zdCBhcGlVcmwgPSB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VCYXNlVXJsICsgbGFuZ3VhZ2UgKyB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzICsgdGhpcy5jb25maWcucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuXHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgIChyZXNwb25zZU9iamVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9ybVJlc3BvbnNlID0gcmVzcG9uc2VPYmplY3QuZGF0YS5mb3JtO1xyXG4gICAgICAgICAgaWYgKHNhdmVGb3JtSG9va3MuYWZ0ZXJTZW5kUGF5bG9hZCkge1xyXG4gICAgICAgICAgICBmb3JtUmVzcG9uc2UgPSBzYXZlRm9ybUhvb2tzLmFmdGVyU2VuZFBheWxvYWQoZm9ybVJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgIGlkOiBudWxsLFxyXG4gICAgICAgICAgICBzdGF0dXM6IG51bGwsXHJcbiAgICAgICAgICAgIG5leHRBcHByb3Zlcjoge1xyXG4gICAgICAgICAgICAgIG5hbWU6IG51bGwsXHJcbiAgICAgICAgICAgICAgZW1haWw6IG51bGwsXHJcbiAgICAgICAgICAgICAgcm9sZTogbnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBjcmVhdGlvbkRhdGU6IG51bGxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXN1bHQuaWQgPSBmb3JtUmVzcG9uc2UuZm9ybUlkO1xyXG4gICAgICAgICAgcmVzdWx0LnN0YXR1cyA9IGZvcm1SZXNwb25zZVsnZm9ybVN0YXR1cyddO1xyXG4gICAgICAgICAgaWYgKGZvcm1SZXNwb25zZS5jdXJyZW50QWN0b3IpIHtcclxuICAgICAgICAgICAgcmVzdWx0Lm5leHRBcHByb3ZlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBmb3JtUmVzcG9uc2UuY3VycmVudEFjdG9yLm5hbWUsXHJcbiAgICAgICAgICAgICAgZW1haWw6IGZvcm1SZXNwb25zZS5jdXJyZW50QWN0b3IuZW1haWwsXHJcbiAgICAgICAgICAgICAgcm9sZTogZm9ybVJlc3BvbnNlWydmb3JtU3RlcCddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJlc3VsdC5jcmVhdGlvbkRhdGUgPSBmb3JtUmVzcG9uc2UuY3JlYXRpb25EYXRlO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9LCAoaHR0cEVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRocm93IGh0dHBFcnJvcjtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1Y2Nlc3NXbSguLi5hcmdzKSB7XHJcbiAgICBsZXQgW3BheWxvYWRdID0gYXJncztcclxuICAgIGxldCB3YXNTZW5kQmFjayA9IGZhbHNlO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBGb3JtKFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUVcclxuICAgICk7XHJcbiAgICB0aGlzLnJlcXVlc3RlckVtYWlsID0gcGF5bG9hZC5kYXRhWydyZXF1ZXN0ZXInXS5lbXBsb3llZUVtYWlsO1xyXG4gICAgdGhpcy5hdXRob3JpemVkRW1haWwgPSBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddLmF1dGhvcml6ZWRFbWFpbDtcclxuICAgIC8qIEdlbmVyYXRlIEhlYWRlciBPYmplY3QgKi9cclxuICAgIGxldCBwYXlsb2FkRm9ybURldGFpbHMgPSBwYXlsb2FkLmRhdGEuZm9ybTtcclxuICAgIGxldCBpc1JlYWRPbmx5ID0gKHBheWxvYWRGb3JtRGV0YWlscy5yZWFkT25seS50b1VwcGVyQ2FzZSgpID09PSBjb25zdGFudHMuVFJVRV9TVFJJTkcgPyBjb25zdGFudHMuVFJVRV9CT09MIDogKHBheWxvYWRGb3JtRGV0YWlscy5yZWFkT25seS50b1VwcGVyQ2FzZSgpID09PSBjb25zdGFudHMuRkFMU0VfU1RSSU5HID8gY29uc3RhbnRzLkZBTFNFX0JPT0wgOiBjb25zdGFudHMuTk9fVkFMVUUpKVxyXG4gICAgcmVzdWx0LmhlYWRlciA9IG5ldyBIZWFkZXIoXHJcbiAgICAgIHBheWxvYWQuZGF0YVsncmVxdWVzdGVyJ10uZnVsbE5hbWUsXHJcbiAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddLmVtcGxveWVlRW1haWwsXHJcbiAgICAgIChwYXlsb2FkRm9ybURldGFpbHMuZm9ybUlkID8gcGF5bG9hZEZvcm1EZXRhaWxzLmZvcm1JZCA6IGNvbnN0YW50cy5ET05UX1NIT1cpLFxyXG4gICAgICAocGF5bG9hZEZvcm1EZXRhaWxzLmNyZWF0aW9uRGF0ZSA/IHBheWxvYWRGb3JtRGV0YWlscy5jcmVhdGlvbkRhdGUgOiBjb25zdGFudHMuRE9OVF9TSE9XKSxcclxuICAgICAgcGF5bG9hZEZvcm1EZXRhaWxzWydmb3JtU3RhdHVzJ10sXHJcbiAgICAgIHBheWxvYWRGb3JtRGV0YWlscy5kZXRhaWxzXHJcbiAgICApO1xyXG4gICAgLyogR2VuZXJhdGUgUHJvZmlsZSBJbmZvcm1hdGlvbiBPYmplY3QgKi9cclxuICAgIGxldCBwYXlsb2FkUHJvZmlsZUluZm8gPSBwYXlsb2FkLmRhdGFbJ3JlcXVlc3RlciddO1xyXG4gICAgcmVzdWx0LnByb2ZpbGVJbmZvRHJvcCA9IG5ldyBQcm9maWxlSW5mb0Ryb3AoXHJcbiAgICAgIChwYXlsb2FkUHJvZmlsZUluZm9bJ29uQmVoYWxmQXV0aG9yaXplZCddID8gSlNPTi5wYXJzZShwYXlsb2FkUHJvZmlsZUluZm9bJ29uQmVoYWxmQXV0aG9yaXplZCddKSA6IG51bGwpLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2VtcGxveWVlSWQnXSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmVtcGxveWVlRW1haWwsXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5mdWxsTmFtZSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmdlbmVyYWxEZXBhcnRtZW50TmFtZSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmpvYlBvc2l0aW9uLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ3NlY3Rvck5hbWUnXSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmRlcGFydG1lbnROYW1lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uZ2VuZXJhbERlcGFydG1lbnRDb2RlLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2h1bWFuUmVzb3VyY2VMb2NhdGlvbiddLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8ubmF0aW9uYWxpdHksXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5idXNpbmVzc1Bob25lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm9bJ2RpcmVjdE1hbmFnZXJOYW1lJ10sXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5zZW5pb3JTZWN0b3JOYW1lXHJcbiAgICApO1xyXG4gICAgcmVzdWx0LnNlY3Rpb25zID0gW107XHJcbiAgICBsZXQgcmVxdWVzdERldGFpbHNIYXNDb21tZW50ID0gZmFsc2U7XHJcbiAgICBpZiAocGF5bG9hZC5kYXRhLnJlcXVlc3QuZGV0YWlscy5jb21tZW50KSB7XHJcbiAgICAgIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXN1bHQuc2VjdGlvbnMucHVzaChcclxuICAgICAgbmV3IFNlY3Rpb24oXHJcbiAgICAgICAgY29uc3RhbnRzLlNFQ1RJT05fSURfUkVRVUVTVF9ERVRBSUxTLFxyXG4gICAgICAgIG5ldyBTZWN0aW9uSGVhZGVyKGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIGNvbnN0YW50cy5ET05UX1NIT1csIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCwgKHBheWxvYWQuZGF0YVsnd29ya2Zsb3dTdGVwcyddID8gY29uc3RhbnRzLlJFQURfT05MWSA6IGlzUmVhZE9ubHkpKSxcclxuICAgICAgICBwYXlsb2FkLmRhdGEucmVxdWVzdFxyXG4gICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChyZXN1bHQuaGVhZGVyLmZvcm1JZCkge1xyXG4gICAgICByZXN1bHQuY29tbWVudHNEcm9wID0gKCFyZXN1bHQuY29tbWVudHNEcm9wID8gW10gOiByZXN1bHQuY29tbWVudHNEcm9wKTtcclxuICAgICAgdGhpcy5sb2FkSGlzdG9yeShyZXN1bHQuaGVhZGVyLmZvcm1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgcmVzcG9uc2UuaXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uc2VxdWVuY2VOdW1iZXIgIT09ICcwJyAmJiBpdGVtLnByb2Nlc3NlZEJ5KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gaXRlbS5wcm9jZXNzZWRCeVsnZmlyc3ROYW1lJ10gKyAnICcgKyBpdGVtLnByb2Nlc3NlZEJ5WydzZWNvbmRNaWRkbGVOYW1lJ10gKyAnICcgKyBpdGVtLnByb2Nlc3NlZEJ5WydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICAgICAgICByZXN1bHQuY29tbWVudHNEcm9wLnB1c2gobmV3IENvbW1lbnRzRHJvcChcclxuICAgICAgICAgICAgICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIGl0ZW0ucHJvY2Vzc2VkQnkuZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgIG5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWVudHMsXHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1bJ21vZGlmaWVkRGF0ZSddLFxyXG4gICAgICAgICAgICAgICAgICBpdGVtLmF0dGFjaG1lbnRzLFxyXG4gICAgICAgICAgICAgICAgICBpdGVtLnByb2Nlc3NlZEJ5LmpvYlxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zdCBpbmJveFR5cGUgPSB0aGlzLmdldEluYm94VHlwZShyZXN1bHQpO1xyXG4gICAgaWYgKHJlc3VsdC5oZWFkZXIuZm9ybUlkICYmICghdGhpcy5pc09wZW5PbkluYm94KCkpKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW5ib3hJdGVtKHJlc3VsdC5oZWFkZXIuZm9ybUlkLCBpbmJveFR5cGUpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSByZXNwb25zZS5pdGVtO1xyXG4gICAgICAgICAgICByZXN1bHQuaW5ib3hJdGVtID0gbmV3IEluYm94SXRlbShcclxuICAgICAgICAgICAgICBpdGVtWydmbGFnZ2luZyddLmZsYWdQcmlvcml0eSxcclxuICAgICAgICAgICAgICBpdGVtWydmbGFnZ2luZyddWydpc0ZsYWdnZWQnXSxcclxuICAgICAgICAgICAgICBpdGVtLmZlZWRiYWNrWydjYW5SZXF1ZXN0RmVlZGJhY2snXSxcclxuICAgICAgICAgICAgICBpdGVtLmZlZWRiYWNrWydoYXNGZWVkYmFjayddLFxyXG4gICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2tbJ2lzUGVuZGluZyddLFxyXG4gICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2tbJ2lzUmVxdWVzdGVkJ10sXHJcbiAgICAgICAgICAgICAgaXRlbS5mZWVkYmFja1snaXNSZXNwb25kZWQnXVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHBheWxvYWRXb3JrZmxvd1N0ZXBzID0gcGF5bG9hZC5kYXRhLndvcmtmbG93U3RlcHM7XHJcbiAgICBpZiAocGF5bG9hZFdvcmtmbG93U3RlcHMgJiYgcGF5bG9hZFdvcmtmbG93U3RlcHMuY29uc3RydWN0b3IgPT09IEFycmF5ICYmIHBheWxvYWRXb3JrZmxvd1N0ZXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcGF5bG9hZFdvcmtmbG93U3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHtcclxuICAgICAgICBsZXQgY3VycmVudElzUmVxdWVzdGVyU2VuZEJhY2sgPSBKU09OLnN0cmluZ2lmeShzdGVwLmRldGFpbHMpID09PSBKU09OLnN0cmluZ2lmeSh7fSk7XHJcbiAgICAgICAgbGV0IGhhc0NvbW1lbnRzID0gKCFjdXJyZW50SXNSZXF1ZXN0ZXJTZW5kQmFjayAmJiAoc3RlcC5kZXRhaWxzLmNvbW1lbnQgfHwgc3RlcC5jb21tZW50KSA/IGNvbnN0YW50cy5IQVNfQ09NTUVOVFMgOiBjb25zdGFudHMuTk9fQ09NTUVOVFMpO1xyXG4gICAgICAgIGxldCBjdXJyZW50QWN0b3IgPSAoc3RlcC5hY3Rvci5lbWFpbCA9PT0gc3RlcC5hY3Rvci5yZWNpcGllbnQuZW1haWwgPyBzdGVwLmFjdG9yLnJlY2lwaWVudCA6IChzdGVwLmFjdG9yLmRlbGVnYXRlID8gc3RlcC5hY3Rvci5kZWxlZ2F0ZSA6IG51bGwpKVxyXG4gICAgICAgIGlmICh3YXNTZW5kQmFjayAmJiBzdGVwLmFjdG9yLnJlY2lwaWVudC5yb2xlID09PSAnUkVRVUVTVEVSJykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXNTZW5kQmFjayAmJiBSRVFVRVNURVJcIilcclxuICAgICAgICAgIHJlc3VsdC5zZWN0aW9ucyA9IFtuZXcgU2VjdGlvbihcclxuICAgICAgICAgICAgY29uc3RhbnRzLlNFQ1RJT05fSURfUkVRVUVTVF9ERVRBSUxTLFxyXG4gICAgICAgICAgICBuZXcgU2VjdGlvbkhlYWRlcihcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgIHJlcXVlc3REZXRhaWxzSGFzQ29tbWVudCxcclxuICAgICAgICAgICAgICAocGF5bG9hZC5kYXRhLndvcmtmbG93U3RlcHMgPyBjb25zdGFudHMuUkVBRF9PTkxZIDogaXNSZWFkT25seSlcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgcGF5bG9hZC5kYXRhLnJlcXVlc3RcclxuICAgICAgICAgICldXHJcbiAgICAgICAgfSBlbHNlIGlmICh3YXNTZW5kQmFjaykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJQb3BcIilcclxuICAgICAgICAgIGlmIChyZXN1bHQuc2VjdGlvbnMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICByZXN1bHQuc2VjdGlvbnMucG9wKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB3YXNTZW5kQmFjayA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmIChzdGVwLmRldGFpbHMuZGVjaXNpb24gJiYgc3RlcC5kZXRhaWxzLmRlY2lzaW9uLmtleSA9PT0gY29uc3RhbnRzLkZPUk1fU1RBVFVTX1NFTkRfQkFDSykge1xyXG4gICAgICAgICAgd2FzU2VuZEJhY2sgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkoc3RlcC5kZXRhaWxzKSAhPT0gSlNPTi5zdHJpbmdpZnkoe30pKSB7XHJcbiAgICAgICAgICByZXN1bHQuc2VjdGlvbnMucHVzaChcclxuICAgICAgICAgICAgbmV3IFNlY3Rpb24oXHJcbiAgICAgICAgICAgICAgc3RlcC5hY3Rvci5yZWNpcGllbnQucm9sZS50b0xvd2VyQ2FzZSgpICsgY29uc3RhbnRzLlNFQ1RJT05fSURfQVBQUk9WQUxfUEFSVElBTF9OQU1FLFxyXG4gICAgICAgICAgICAgIG5ldyBTZWN0aW9uSGVhZGVyKFxyXG4gICAgICAgICAgICAgICAgKGN1cnJlbnRBY3RvciA/IHRoaXMuZ2V0U2hvcnROYW1lKGN1cnJlbnRBY3Rvci5uYW1lKSA6IFwiXCIpLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICBzdGVwLmRhdGUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNob3J0TmFtZShzdGVwLmFjdG9yLnJlY2lwaWVudC5uYW1lKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIHN0ZXAuYWN0b3IucmVjaXBpZW50LmVtYWlsLFxyXG4gICAgICAgICAgICAgICAgKHN0ZXAuYWN0b3IuZGVsZWdhdGU/Lm5hbWUgPyB0aGlzLmdldFNob3J0TmFtZShzdGVwLmFjdG9yLmRlbGVnYXRlLm5hbWUpIDogXCJcIikudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgIChzdGVwLmFjdG9yLmRlbGVnYXRlPy5lbWFpbCA/IGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBzdGVwLmFjdG9yLmRlbGVnYXRlLmVtYWlsIDogXCJcIiksXHJcbiAgICAgICAgICAgICAgICBzdGVwLmFjdG9yLnN0YXR1cyxcclxuICAgICAgICAgICAgICAgIGhhc0NvbW1lbnRzLFxyXG4gICAgICAgICAgICAgICAgKGluZGV4IDwgcGF5bG9hZFdvcmtmbG93U3RlcHMubGVuZ3RoIC0gMSA/IGNvbnN0YW50cy5SRUFEX09OTFkgOiBpc1JlYWRPbmx5KVxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAge2RldGFpbHM6IHN0ZXAuZGV0YWlscywgcHJvY2Vzc2luZ0RhdGU6IHN0ZXAuZGF0ZX1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFN1Ym1pdHRlciA9IHthY3Rvcjogc3RlcC5hY3RvciwgcmVjaXBpZW50OiBzdGVwLnJlY2lwaWVudCwgZGVsZWdhdGU6IHN0ZXAuYWN0b3IuZGVsZWdhdGV9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvKiBDcmVhdGUgTG92IFNlY3Rpb25zICovXHJcbiAgICByZXN1bHQubG92cyA9IChwYXlsb2FkPy5tZXRhPy5sb3ZzID8gcGF5bG9hZC5tZXRhLmxvdnMgOiBudWxsKTtcclxuXHJcbiAgICBpZiAocGF5bG9hZD8ubWV0YT8ubWVzc2FnZXMpIHtcclxuICAgICAgcmVzdWx0Lm1lc3NhZ2VzID0gbmV3IE1lc3NhZ2VzKFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgIFtdXHJcbiAgICAgICk7XHJcbiAgICAgIHBheWxvYWQubWV0YS5tZXNzYWdlcy5mb3JFYWNoKChtZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgcmVzdWx0Lm1lc3NhZ2VzLm9yaWdpbmFsTXNncy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJlc3VsdC5tZXNzYWdlc1ttZXNzYWdlLnR5cGVdLnB1c2gobWVzc2FnZS5tZXNzYWdlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXN1bHQuc2VjdGlvbnNbcmVzdWx0LnNlY3Rpb25zLmxlbmd0aCAtIDFdLmhlYWRlci5yZWFkT25seSA9IGlzUmVhZE9ubHk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRGaWxlKC4uLmFyZ3M6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBbaWRdID0gYXJncztcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzfSR7dGhpcy5jb25maWcucHJveHlTZXJ2aWNlRm9ybXN9JHt0aGlzLmNvbmZpZy5mb3JtSWR9JHt0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VBdHRhY2htZW50fSR7aWR9YCxcclxuICAgICAge29ic2VydmU6ICdyZXNwb25zZSd9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFVUkl0b0Jsb2IoZGF0YVVSSTogYW55KSB7XHJcbiAgICBjb25zdCBieXRlU3RyaW5nID0gYXRvYihkYXRhVVJJKTtcclxuICAgIGNvbnN0IGFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcclxuICAgIGNvbnN0IGludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpbnQ4QXJyYXlbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEJsb2IoW2FycmF5QnVmZmVyXSwge3R5cGU6ICdpbWFnZS9qcGVnJ30pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUZpbGUoZmlsZUluZm9ybWF0aW9uKSB7XHJcbiAgICBjb25zdCBmaWxlQmxvYiA9IHRoaXMuZGF0YVVSSXRvQmxvYihmaWxlSW5mb3JtYXRpb24uZmlsZUNvbnRlbnRzKTtcclxuICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbZmlsZUJsb2JdLCBmaWxlSW5mb3JtYXRpb24uZmlsZU5hbWUsIHt0eXBlOiBmaWxlSW5mb3JtYXRpb24ubWltZVR5cGV9KTtcclxuICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuaHJlZiA9IGJsb2JVcmw7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gZmlsZUluZm9ybWF0aW9uLmZpbGVOYW1lO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gICAgVVJMLnJldm9rZU9iamVjdFVSTChibG9iVXJsKTtcclxuICB9XHJcblxyXG4gIHNldEZsYWdQcmlvcml0eShpZDogc3RyaW5nKSB7XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfUFVULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfRFAsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBjb25zdGFudHMuU0VSVklDRV9OQU1FX0RQX1VQREFURV9JTkJPWF9JVEVNLFxyXG4gICAgICBmb3JtTmFtZTogdGhpcy5jb25maWcuZm9ybU5hbWUsXHJcbiAgICAgIHVybFBhcmFtZXRlcnM6IHtcclxuICAgICAgICBpbmJveGlkOiB0aGlzLmNvbmZpZy5mb3JtSWRcclxuICAgICAgfSxcclxuICAgICAgYm9keToge1xyXG4gICAgICAgIGZsYWc6IGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbENhbGxBcGkoYm9keSwgY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX1NVQ0NFU1NfSU5CT1hfSVRFTSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZEhpc3RvcnkoLi4uYXJncykge1xyXG4gICAgY29uc3QgW2lkXSA9IGFyZ3M7XHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25zdGFudHMuVEFSR0VUX1NFUlZFUl9XTSxcclxuICAgICAgc2VydmljZU5hbWU6IGNvbnN0YW50cy5XT1JLRkxPV19JVEVNUyxcclxuICAgICAgZm9ybUlkOiBpZCB8fCB0aGlzLmNvbmZpZy5mb3JtSWQsXHJcbiAgICAgIGZvcm1OYW1lOiBcImJwbVwiLFxyXG4gICAgfTtcclxuICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbENhbGxBcGkoYm9keSwgY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0xPQURfSElTVE9SWSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5ib3hJdGVtKC4uLmFyZ3MpIHtcclxuICAgIGNvbnN0IFtpZCwgaW5ib3hUeXBlXSA9IGFyZ3M7XHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICBmb3JtTmFtZTogdGhpcy5jb25maWcuZm9ybU5hbWUsXHJcbiAgICAgIG1ldGhvZDogY29uc3RhbnRzLkhUVFBfTUVUSE9EX0dFVCxcclxuICAgICAgZGVzdGluYXRpb246IGNvbnN0YW50cy5UQVJHRVRfU0VSVkVSX0RQLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogY29uc3RhbnRzLlNFUlZJQ0VfTkFNRV9EUF9JTkJPWF9JVEVNLFxyXG4gICAgICB1cmxQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgaW5ib3hpZDogaWQsXHJcbiAgICAgICAgaW5ib3h0eXBlOiBpbmJveFR5cGVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLmdldFJlcXVlc3RPcHRpb25zKCk7XHJcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsQ2FsbEFwaShib2R5LCBjb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fR0VUX0lOQk9YX0lURU0sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBlcnNwZWN0aXZlQXBwcm92ZXMoZGV0YWlscykge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5wcm9kdWN0aW9uKSB7XHJcbiAgICAgIGRldGFpbHMgPSB7fVxyXG4gICAgfVxyXG4gICAgbGV0IHNlcnZpY2VOYW1lID0gXCJmb3JtL1wiICsgdGhpcy5jb25maWcuZm9ybU5hbWVcclxuICAgIGlmICh0aGlzLmNvbmZpZy5mb3JtSWQpIHtcclxuICAgICAgc2VydmljZU5hbWUgPSBcImZvcm0vXCIgKyB0aGlzLmNvbmZpZy5mb3JtSWRcclxuICAgIH1cclxuICAgIGxldCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9QT1NULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZVxyXG4gICAgICAsIGZvcm1OYW1lOiBjb25zdGFudHMuQVBQUk9WRVJTXHJcbiAgICAgICwgYm9keToge1xyXG4gICAgICAgIFwicmVxdWVzdFwiOiB7XHJcbiAgICAgICAgICBcImRldGFpbHNcIjpcclxuICAgICAgICAgIGRldGFpbHNcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbENhbGxBcGkoYm9keSwgY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX1NVQ0NFU1NfUkVTUE9OU0UsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXR0YWNobWVudHMoZGF0YTogYW55LCAuLi5hcmdzOiBhbnkpIHtcclxuICAgIGxldCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9QT1NULFxyXG4gICAgICBkZXN0aW5hdGlvbjogY29uc3RhbnRzLlRBUkdFVF9TRVJWRVJfV00sXHJcbiAgICAgIHNlcnZpY2VOYW1lOiAnYXR0YWNobWVudCdcclxuICAgICAgLCBmb3JtTmFtZTogJ2NvbW1vbidcclxuICAgICAgLCBib2R5OiB7XHJcbiAgICAgICAgYXR0YWNobWVudDoge1xyXG4gICAgICAgICAgZmlsZU5hbWU6IHRoaXMuY29uZmlnLnByb2R1Y3Rpb24gPyBkYXRhLmZpbGVOYW1lIDogJycsXHJcbiAgICAgICAgICBtaW1lVHlwZTogdGhpcy5jb25maWcucHJvZHVjdGlvbiA/IGRhdGEubWltZVR5cGUgOiAnJyxcclxuICAgICAgICAgIGZpbGVDb250ZW50czogdGhpcy5jb25maWcucHJvZHVjdGlvbiA/IGRhdGEuZmlsZUNvbnRlbnRzIDogJycsXHJcbiAgICAgICAgfVxyXG4gICAgICAgICwgY29tbWVudDogZGF0YS5hdHRhY2htZW50Y29tbWVudFxyXG4gICAgICAgICwgZGVzY3JpcHRpb246IGRhdGEuZmlsZURlc2NyaXB0aW9uLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX1JFU1BPTlNFLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEVtcGxveWVlKC4uLmFyZ3MpIHtcclxuICAgIGxldCBbc2VhcmNoU3RyaW5nXSA9IGFyZ3M7XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBjb25zdGFudHMuSFRUUF9NRVRIT0RfR0VULFxyXG4gICAgICBmb3JtTmFtZTogdGhpcy5jb25maWcuZm9ybU5hbWUsXHJcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25zdGFudHMuVEFSR0VUX1NFUlZFUl9EUCxcclxuICAgICAgc2VydmljZU5hbWU6IGNvbnN0YW50cy5TRVJWSUNFX05BTUVfRFBfU0VBUkNIX0VNUExPWUVFLFxyXG4gICAgICBwYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgcTogc2VhcmNoU3RyaW5nLFxyXG4gICAgICAgIGxpbWl0OiAxMFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuZ2V0UmVxdWVzdE9wdGlvbnMoKTtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYWxDYWxsQXBpKGJvZHksIGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TVUNDRVNTX1JFU1BPTlNFLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBteVJlcXVlc3RzKGRldGFpbHMpIHtcclxuICAgIGxldCBib2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25zdGFudHMuVEFSR0VUX1NFUlZFUl9XTSxcclxuICAgICAgc2VydmljZU5hbWU6IFwiZm9ybVwiIC8vLCAgLy90aGlzLmdldFNlcnZpY2VOYW1lKCksXHJcbiAgICAgICwgZm9ybU5hbWU6IFwiaGlzdG9yeVwiXHJcbiAgICAgICwgcXVlcnlQYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgZm9ybU5hbWU6IHRoaXMuY29uZmlnLmZvcm1OYW1lLFxyXG4gICAgICAgIHllYXI6IGRldGFpbHMueWVhcixcclxuICAgICAgICBtb250aDogZGV0YWlscy5tb250aCxcclxuICAgICAgICBlbWFpbDogdGhpcy5sb2dnZWRJblVzZXJJZCgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRSZXF1ZXN0T3B0aW9ucygpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbENhbGxBcGkoYm9keSwgY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX1NVQ0NFU1NfUkVTUE9OU0UsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhbENhbGxBcGkoYm9keSwgdHlwZTogc3RyaW5nLCBvcHRpb25zKSB7XHJcbiAgICBsZXQgYXBpVXJsID0gdGhpcy5jb25maWcucHJveHlTZXJ2aWNlQmFzZVVybCArIHRoaXMubGFuZ3VhZ2UgKyB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzICsgdGhpcy5jb25maWcucHJveHlTZXJ2aWNlRXhlY3V0ZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlVcmwsIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShib2R5KSksIG9wdGlvbnMpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2VPYmplY3Q6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZU9iamVjdFxyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoaHR0cEVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihodHRwRXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dnZWRJblVzZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJEYXRhWydsb2dnZWRJblVzZXJFbWFpbCddO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNob3J0TmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmIChuYW1lKSB7XHJcbiAgICAgIGxldCBuYW1lVG9rZW5zID0gbmFtZS5zcGxpdCgnICcpO1xyXG4gICAgICBpZiAobmFtZVRva2Vucy5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHJldHVybiBbbmFtZVRva2Vuc1swXV1cclxuICAgICAgfSBlbHNlIGlmIChuYW1lVG9rZW5zW25hbWVUb2tlbnMubGVuZ3RoIC0gMl0udG9Mb3dlckNhc2UoKSA9PSAnYWwnKSB7XHJcbiAgICAgICAgcmV0dXJuIFtuYW1lVG9rZW5zWzBdLCBuYW1lVG9rZW5zW25hbWVUb2tlbnMubGVuZ3RoIC0gMl0sIG5hbWVUb2tlbnNbbmFtZVRva2Vucy5sZW5ndGggLSAxXV0uam9pbignICcpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBbbmFtZVRva2Vuc1swXSwgbmFtZVRva2Vuc1tuYW1lVG9rZW5zLmxlbmd0aCAtIDFdXS5qb2luKCcgJyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTW9iaWxlQXBwKCkge1xyXG4gICAgcmV0dXJuICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5pc01vYmlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbmJveFR5cGUocmVzdWx0KSB7XHJcbiAgICBsZXQgcnRuID0gbnVsbDtcclxuICAgIGlmICh0aGlzLmxvZ2dlZEluVXNlcklkKCkgPT09IHJlc3VsdC5wcm9maWxlSW5mb0Ryb3AuZW1wbG95ZWVFbWFpbCkge1xyXG4gICAgICBydG4gPSBjb25zdGFudHMuSU5CT1hfU1RBVFVTX1NFTlQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBydG4gPSBjb25zdGFudHMuSU5CT1hfU1RBVFVTX1BFTkRJTkc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcnRuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzT3Blbk9uSW5ib3goKSB7XHJcbiAgICByZXR1cm4gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLm91dGxvb2s7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -7,8 +7,8 @@ export class CoreI18nService {
7
7
  coreLocales;
8
8
  language;
9
9
  constructor() {
10
- this.language = "en";
11
- // this.language = (window as any).wmConfig.language;
10
+ // this.language = "en";
11
+ this.language = window.wmConfig.language;
12
12
  this.coreLocales = { en: coreEn.default, ar: coreAr.default };
13
13
  }
14
14
  translate(key) {
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
33
33
  providedIn: 'any',
34
34
  }]
35
35
  }], ctorParameters: () => [] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sTUFBTSxZQUFZLENBQUM7O0FBS3JDLE1BQU0sT0FBTyxlQUFlO0lBQ2xCLFdBQVcsQ0FBK0M7SUFDM0QsUUFBUSxDQUFTO0lBRXhCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIscURBQXFEO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBRztRQUNYLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3VHQXRCVSxlQUFlOzJHQUFmLGVBQWUsY0FGWixLQUFLOzsyRkFFUixlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBjb3JlRW4gZnJvbSAnLi4vaTE4bi9lbic7XHJcbmltcG9ydCAqIGFzIGNvcmVBciBmcm9tICcuLi9pMThuL2FyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdhbnknLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUkxOG5TZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvcmVMb2NhbGVzOiB7IFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfTtcclxuICBwdWJsaWMgbGFuZ3VhZ2U6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxhbmd1YWdlID0gXCJlblwiO1xyXG4gICAgLy8gdGhpcy5sYW5ndWFnZSA9ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZTtcclxuICAgIHRoaXMuY29yZUxvY2FsZXMgPSB7IGVuOiBjb3JlRW4uZGVmYXVsdCwgYXI6IGNvcmVBci5kZWZhdWx0IH07XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGUoa2V5KSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gbnVsbDtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuY29yZUxvY2FsZXNbdGhpcy5sYW5ndWFnZV1ba2V5XTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmVzdWx0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQgfHwgJ0kxOE4ga2V5IG5vdCBmb3VuZCc7XHJcbiAgfVxyXG5cclxuICBnZXRMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xyXG4gIH1cclxufVxyXG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sTUFBTSxZQUFZLENBQUM7O0FBS3JDLE1BQU0sT0FBTyxlQUFlO0lBQ2xCLFdBQVcsQ0FBK0M7SUFDM0QsUUFBUSxDQUFTO0lBRXhCO1FBQ0Usd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUksTUFBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFHO1FBQ1gsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLG9CQUFvQixDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7dUdBdEJVLGVBQWU7MkdBQWYsZUFBZSxjQUZaLEtBQUs7OzJGQUVSLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGNvcmVFbiBmcm9tICcuLi9pMThuL2VuJztcclxuaW1wb3J0ICogYXMgY29yZUFyIGZyb20gJy4uL2kxOG4vYXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ2FueScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlSTE4blNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29yZUxvY2FsZXM6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9O1xyXG4gIHB1YmxpYyBsYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIC8vIHRoaXMubGFuZ3VhZ2UgPSBcImVuXCI7XHJcbiAgICB0aGlzLmxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpLndtQ29uZmlnLmxhbmd1YWdlO1xyXG4gICAgdGhpcy5jb3JlTG9jYWxlcyA9IHsgZW46IGNvcmVFbi5kZWZhdWx0LCBhcjogY29yZUFyLmRlZmF1bHQgfTtcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZShrZXkpIHtcclxuICAgIGxldCByZXN1bHQgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmVzdWx0ID0gdGhpcy5jb3JlTG9jYWxlc1t0aGlzLmxhbmd1YWdlXVtrZXldO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXN1bHQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdCB8fCAnSTE4TiBrZXkgbm90IGZvdW5kJztcclxuICB9XHJcblxyXG4gIGdldExhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==