@1money/component-ui 0.0.99 → 0.0.100

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 (218) hide show
  1. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +38 -39
  2. package/es/business/Dialog/variants/LoadingDialog.js +17 -17
  3. package/es/business/Filter/DateRange/DateRange.js +14 -14
  4. package/es/business/Select/Country/CountrySelect.js +71 -40
  5. package/es/business/Select/Country/interface.d.ts +31 -15
  6. package/es/business/Select/Country/style/CountrySelect.css +33 -0
  7. package/es/business/Select/Country/style/css.js +2 -0
  8. package/es/business/Select/Country/style/index.d.ts +1 -0
  9. package/es/business/Select/Country/style/index.js +2 -0
  10. package/es/business/shared/formCore/useSubmitAction.js +19 -19
  11. package/es/components/Icons/Illustrations.js +15 -15
  12. package/es/components/Notification/NotificationStatic.js +27 -32
  13. package/es/components/ProForm/ProForm.js +47 -51
  14. package/es/components/ProForm/Submitter.js +8 -8
  15. package/es/components/ProForm/core/hooks/useForm.js +77 -88
  16. package/es/components/ProForm/core/runRules.js +56 -61
  17. package/es/components/ProForm/hooks/useFieldRequest.js +19 -19
  18. package/es/components/ProForm/layouts/useOverlayForm.js +9 -11
  19. package/es/components/ProTable/ProTable.js +8 -8
  20. package/es/components/ProTable/useFetchData.js +23 -23
  21. package/es/components/Select/SelectOptionContent.js +8 -1
  22. package/es/components/Select/interface.d.ts +9 -0
  23. package/es/components/Select/interface.js +1 -1
  24. package/es/components/Select/style/Select.css +7 -0
  25. package/es/components/Spinner/Spinner.js +11 -11
  26. package/es/components/Table/internal/kernel/Table.js +8 -8
  27. package/es/index.css +1 -1
  28. package/lib/business/Dialog/BaseDialog/BaseDialog.js +2 -3
  29. package/lib/business/Dialog/Descriptions/Descriptions.js +2 -3
  30. package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +2 -3
  31. package/lib/business/Dialog/FormDialog/FormDialog.js +2 -3
  32. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +39 -41
  33. package/lib/business/Dialog/variants/LoadingDialog.js +18 -19
  34. package/lib/business/FieldList/index.js +2 -3
  35. package/lib/business/Filter/DateRange/DateRange.js +14 -14
  36. package/lib/business/Select/Country/CountrySelect.js +71 -40
  37. package/lib/business/Select/Country/interface.d.ts +31 -15
  38. package/lib/business/Select/Country/style/CountrySelect.css +33 -0
  39. package/lib/business/Select/Country/style/css.js +4 -0
  40. package/lib/business/Select/Country/style/index.d.ts +1 -0
  41. package/lib/business/Select/Country/style/index.js +4 -0
  42. package/lib/business/shared/formCore/useSubmitAction.js +19 -19
  43. package/lib/components/Accordion/Accordion.js +2 -3
  44. package/lib/components/Accordion/index.js +2 -3
  45. package/lib/components/ActionBar/ActionBar.js +2 -3
  46. package/lib/components/Alert/Alert.js +2 -3
  47. package/lib/components/Alert/index.js +2 -3
  48. package/lib/components/Button/Button.js +2 -3
  49. package/lib/components/Button/index.js +2 -3
  50. package/lib/components/Calendar/Calendar.js +2 -3
  51. package/lib/components/Calendar/index.js +2 -3
  52. package/lib/components/Carousel/Carousel.js +2 -3
  53. package/lib/components/Carousel/index.js +2 -3
  54. package/lib/components/Cell/Cell.js +2 -3
  55. package/lib/components/Cell/index.js +2 -3
  56. package/lib/components/Checkbox/BaseCheckbox.js +2 -3
  57. package/lib/components/Checkbox/Checkbox.js +2 -3
  58. package/lib/components/Checkbox/CheckboxGroup.js +2 -3
  59. package/lib/components/Checkbox/index.js +2 -3
  60. package/lib/components/CoachMark/CoachMark.js +2 -3
  61. package/lib/components/CoachMark/index.js +2 -3
  62. package/lib/components/Copy/Clipboard.js +2 -3
  63. package/lib/components/Copy/Copy.js +2 -3
  64. package/lib/components/Copy/index.js +2 -3
  65. package/lib/components/Dialog/index.js +2 -3
  66. package/lib/components/Divider/Divider.js +2 -3
  67. package/lib/components/Drawer/Drawer.js +2 -3
  68. package/lib/components/Empty/Empty.js +2 -3
  69. package/lib/components/Empty/index.js +2 -3
  70. package/lib/components/Flex/Flex.js +2 -3
  71. package/lib/components/FormLayout/FormLayout.js +2 -3
  72. package/lib/components/Grid/Col.js +2 -3
  73. package/lib/components/Grid/Row.js +2 -3
  74. package/lib/components/Icons/Illustrations.js +15 -15
  75. package/lib/components/Icons/Logo.js +2 -3
  76. package/lib/components/Icons/Wrapper.js +2 -3
  77. package/lib/components/Icons/index.js +2 -3
  78. package/lib/components/Input/Amount/Amount.js +2 -3
  79. package/lib/components/Input/Amount/index.js +2 -3
  80. package/lib/components/Input/FieldShell/FieldShell.js +2 -3
  81. package/lib/components/Input/FieldShell/index.js +2 -3
  82. package/lib/components/Input/Input/Input.js +2 -3
  83. package/lib/components/Input/Input/index.js +2 -3
  84. package/lib/components/Input/Mask/Mask.js +2 -3
  85. package/lib/components/Input/Mask/index.js +2 -3
  86. package/lib/components/Input/OTP/index.js +2 -3
  87. package/lib/components/Input/Password/Password.js +2 -3
  88. package/lib/components/Input/Password/index.js +2 -3
  89. package/lib/components/Input/Search/Search.js +2 -3
  90. package/lib/components/Input/Search/index.js +2 -3
  91. package/lib/components/Input/TextArea/TextArea.js +2 -3
  92. package/lib/components/Input/TextArea/index.js +2 -3
  93. package/lib/components/Input/Trade/Trade.js +2 -3
  94. package/lib/components/Input/Trade/index.js +2 -3
  95. package/lib/components/Input/index.js +2 -3
  96. package/lib/components/Link/Link.js +2 -3
  97. package/lib/components/Link/index.js +2 -3
  98. package/lib/components/Navigation/Nav.js +2 -3
  99. package/lib/components/Navigation/Navigation.js +2 -3
  100. package/lib/components/Navigation/NavigationStepper.js +2 -3
  101. package/lib/components/Navigation/index.js +2 -3
  102. package/lib/components/Notification/Notification.js +2 -3
  103. package/lib/components/Notification/NotificationStatic.js +28 -34
  104. package/lib/components/Notification/index.js +2 -3
  105. package/lib/components/Pagination/Pagination.js +2 -3
  106. package/lib/components/Pagination/index.js +2 -3
  107. package/lib/components/PanelLayout/PanelLayout.js +2 -3
  108. package/lib/components/Popconfirm/Popconfirm.js +2 -3
  109. package/lib/components/Popconfirm/index.js +2 -3
  110. package/lib/components/Portal/index.js +2 -3
  111. package/lib/components/ProForm/ProForm.js +48 -53
  112. package/lib/components/ProForm/ProFormDependency.js +2 -3
  113. package/lib/components/ProForm/ProFormItem.js +2 -3
  114. package/lib/components/ProForm/Submitter.js +8 -8
  115. package/lib/components/ProForm/core/devWarning.js +2 -3
  116. package/lib/components/ProForm/core/hooks/useForm.js +78 -90
  117. package/lib/components/ProForm/core/runRules.js +56 -61
  118. package/lib/components/ProForm/core/useFormItem.js +2 -3
  119. package/lib/components/ProForm/fields/ProFormFieldSet.js +2 -3
  120. package/lib/components/ProForm/hooks/useFieldRequest.js +19 -19
  121. package/lib/components/ProForm/layouts/QueryFilter.js +2 -3
  122. package/lib/components/ProForm/layouts/useOverlayForm.js +10 -13
  123. package/lib/components/ProTable/ProTable.js +8 -8
  124. package/lib/components/ProTable/index.js +2 -3
  125. package/lib/components/ProTable/useFetchData.js +23 -23
  126. package/lib/components/Progress/Progress.js +2 -3
  127. package/lib/components/Progress/index.js +2 -3
  128. package/lib/components/Radio/Radio.js +2 -3
  129. package/lib/components/Radio/RadioGroup.js +2 -3
  130. package/lib/components/Radio/index.js +2 -3
  131. package/lib/components/ResizeObserver/Collection.js +2 -3
  132. package/lib/components/ResizeObserver/ResizeObserver.js +2 -3
  133. package/lib/components/ResizeObserver/SingleObserver/index.js +2 -3
  134. package/lib/components/ResizeObserver/useResizeObserver.js +2 -3
  135. package/lib/components/ResizeObserver/utils/reactUtil.js +2 -3
  136. package/lib/components/Segment/Segment.js +2 -3
  137. package/lib/components/Segment/index.js +2 -3
  138. package/lib/components/Select/Select.js +2 -3
  139. package/lib/components/Select/SelectCustom.js +2 -3
  140. package/lib/components/Select/SelectOptionContent.js +8 -1
  141. package/lib/components/Select/interface.d.ts +9 -0
  142. package/lib/components/Select/interface.js +1 -1
  143. package/lib/components/Select/style/Select.css +7 -0
  144. package/lib/components/Skeleton/Skeleton.js +2 -3
  145. package/lib/components/Skeleton/index.js +2 -3
  146. package/lib/components/Slider/Slider.js +2 -3
  147. package/lib/components/Slider/index.js +2 -3
  148. package/lib/components/Space/Space.js +2 -3
  149. package/lib/components/Spinner/Spinner.js +12 -13
  150. package/lib/components/Spinner/index.js +2 -3
  151. package/lib/components/Step/Step.js +2 -3
  152. package/lib/components/Step/index.js +2 -3
  153. package/lib/components/Switch/Switch.js +2 -3
  154. package/lib/components/Switch/index.js +2 -3
  155. package/lib/components/Table/core/useTableSetup.js +2 -3
  156. package/lib/components/Table/internal/index.js +2 -3
  157. package/lib/components/Table/internal/kernel/Body/BodyRow.js +2 -3
  158. package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +2 -3
  159. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +2 -3
  160. package/lib/components/Table/internal/kernel/Body/MeasureRow.js +2 -3
  161. package/lib/components/Table/internal/kernel/Body/index.js +2 -3
  162. package/lib/components/Table/internal/kernel/Cell/index.js +2 -3
  163. package/lib/components/Table/internal/kernel/Cell/useCellRender.js +2 -3
  164. package/lib/components/Table/internal/kernel/ColGroup.js +2 -3
  165. package/lib/components/Table/internal/kernel/FixedHolder/index.js +2 -3
  166. package/lib/components/Table/internal/kernel/Footer/Cell.js +2 -3
  167. package/lib/components/Table/internal/kernel/Footer/Row.js +2 -3
  168. package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +2 -3
  169. package/lib/components/Table/internal/kernel/Footer/index.js +2 -3
  170. package/lib/components/Table/internal/kernel/Header/Header.js +2 -3
  171. package/lib/components/Table/internal/kernel/Header/HeaderRow.js +2 -3
  172. package/lib/components/Table/internal/kernel/Panel/index.js +2 -3
  173. package/lib/components/Table/internal/kernel/Table.js +9 -10
  174. package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +2 -3
  175. package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +2 -3
  176. package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +2 -3
  177. package/lib/components/Table/internal/kernel/VirtualTable/index.js +2 -3
  178. package/lib/components/Table/internal/kernel/context/PerfContext.js +2 -3
  179. package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +2 -3
  180. package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +2 -3
  181. package/lib/components/Table/internal/kernel/hooks/useExpand.js +2 -3
  182. package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +2 -3
  183. package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +2 -3
  184. package/lib/components/Table/internal/kernel/hooks/useHover.js +2 -3
  185. package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +2 -3
  186. package/lib/components/Table/internal/kernel/hooks/useSticky.js +2 -3
  187. package/lib/components/Table/internal/kernel/index.js +2 -3
  188. package/lib/components/Table/internal/kernel/selector-context/Immutable.js +2 -3
  189. package/lib/components/Table/internal/kernel/selector-context/context.js +2 -3
  190. package/lib/components/Table/internal/kernel/stickyScrollBar.js +2 -3
  191. package/lib/components/Table/internal/kernel/utils/expandUtil.js +2 -3
  192. package/lib/components/Table/internal/kernel/utils/useMemo.js +2 -3
  193. package/lib/components/Tabs/Tabs.js +2 -3
  194. package/lib/components/Tabs/index.js +2 -3
  195. package/lib/components/Tag/Tag.js +2 -3
  196. package/lib/components/Tag/index.js +2 -3
  197. package/lib/components/Tooltip/Tooltip.js +2 -3
  198. package/lib/components/Tooltip/index.js +2 -3
  199. package/lib/components/Tour/index.js +2 -3
  200. package/lib/components/Trigger/Trigger.js +2 -3
  201. package/lib/components/Typography/index.js +2 -3
  202. package/lib/components/Typography/utils.js +2 -3
  203. package/lib/components/Upload/Upload.js +2 -3
  204. package/lib/components/Upload/UploadFileBar.js +2 -3
  205. package/lib/components/Upload/index.js +2 -3
  206. package/lib/components/VirtualList/Filler.js +2 -3
  207. package/lib/components/VirtualList/Item.js +2 -3
  208. package/lib/components/VirtualList/ScrollBar.js +2 -3
  209. package/lib/components/VirtualList/VirtualList.js +2 -3
  210. package/lib/components/VirtualList/hooks/useChildren.js +2 -3
  211. package/lib/components/VirtualList/hooks/useDiffItem.js +2 -3
  212. package/lib/components/VirtualList/hooks/useGetSize.js +2 -3
  213. package/lib/components/VirtualList/hooks/useHeights.js +2 -3
  214. package/lib/components/VirtualList/hooks/useScrollDrag.js +2 -3
  215. package/lib/components/VirtualList/hooks/useScrollTo.js +2 -3
  216. package/lib/index.css +1 -1
  217. package/lib/stories/docs/ComponentDocsPage.js +2 -3
  218. package/package.json +23 -17
@@ -152,21 +152,21 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
152
152
  selectedRange = _useState8[0],
153
153
  setSelectedRange = _useState8[1];
154
154
  var _useState9 = useState(EMPTY_RANGE),
155
- _useState10 = _slicedToArray(_useState9, 2),
156
- appliedRange = _useState10[0],
157
- setAppliedRange = _useState10[1];
158
- var _useState11 = useState(initialText),
155
+ _useState0 = _slicedToArray(_useState9, 2),
156
+ appliedRange = _useState0[0],
157
+ setAppliedRange = _useState0[1];
158
+ var _useState1 = useState(initialText),
159
+ _useState10 = _slicedToArray(_useState1, 2),
160
+ selectedText = _useState10[0],
161
+ setSelectedText = _useState10[1];
162
+ var _useState11 = useState(false),
159
163
  _useState12 = _slicedToArray(_useState11, 2),
160
- selectedText = _useState12[0],
161
- setSelectedText = _useState12[1];
162
- var _useState13 = useState(false),
164
+ showCustomRange = _useState12[0],
165
+ setShowCustomRange = _useState12[1];
166
+ var _useState13 = useState(undefined),
163
167
  _useState14 = _slicedToArray(_useState13, 2),
164
- showCustomRange = _useState14[0],
165
- setShowCustomRange = _useState14[1];
166
- var _useState15 = useState(undefined),
167
- _useState16 = _slicedToArray(_useState15, 2),
168
- monthView = _useState16[0],
169
- setMonthView = _useState16[1];
168
+ monthView = _useState14[0],
169
+ setMonthView = _useState14[1];
170
170
  useImperativeHandle(ref, function () {
171
171
  return {
172
172
  clear: function clear() {
@@ -397,4 +397,4 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
397
397
  }));
398
398
  };
399
399
  export var DateRangeFilter = /*#__PURE__*/memo(DateRangeFilterBase);
400
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkZsZXgiLCJJY29ucyIsIlJhZGlvIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiQUxMX1RSQU5TQUNUSU9OU19WQUxVRSIsIkRBVEVfUkFOR0VfT1BUSU9OUyIsIldSQVBfQ0xTIiwiQ0FMRU5EQVJfUEFORUxfQ0xTIiwiU0VMRUNUX1BBTkVMX0NMUyIsIlBBTkVMX1dJRFRIX1BSRVNFVCIsIlBBTkVMX1dJRFRIX0NVU1RPTSIsIkNBTEVOREFSX01PTlRIUyIsIkNIRVZST05fU0laRSIsIkJBQ0tfSUNPTl9TSVpFIiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkNVU1RPTV9SQU5HRV9USVRMRSIsIlJBTkdFX1NFUEFSQVRPUiIsIkZVTExfV0lEVEhfU1RZTEUiLCJmbGV4IiwiX0RBVEVfUkFOR0VfT1BUSU9OUyIsIl9zbGljZWRUb0FycmF5IiwiT1BUSU9OX0FMTCIsIk9QVElPTl9MQVNUXzMwX0RBWVMiLCJPUFRJT05fWUVBUl9UT19EQVRFIiwiT1BUSU9OX0xBU1RfMTJfTU9OVEhTIiwiT1BUSU9OX0NVU1RPTSIsIkxBU1RfMzBfREFZU19DT1VOVCIsIkxBU1RfMTJfTU9OVEhTX0NPVU5UIiwiWUVBUl9TVEFSVF9NT05USCIsIkZJUlNUX0RBWV9PRl9NT05USCIsIkRBWV9TVEFSVF9USU1FIiwiREFZX0VORF9USU1FIiwiREFURV9GT1JNQVRfTE9DQUxFIiwiREFURV9GT1JNQVRfT1BUSU9OUyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImRhdGVGb3JtYXR0ZXIiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJFTVBUWV9SQU5HRSIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJzdGFydE9mRGF5IiwiZGF0ZSIsInJlc3VsdCIsIkRhdGUiLCJzZXRIb3VycyIsImFwcGx5IiwiZW5kT2ZEYXkiLCJmb3JtYXREYXRlIiwiZm9ybWF0IiwiZm9ybWF0UmFuZ2UiLCJzdGFydCIsImVuZCIsImNvbmNhdCIsImdldERhdGVGcm9tT3B0aW9uIiwib3B0aW9uIiwicmFuZ2UiLCJ0b2RheSIsInNldERhdGUiLCJnZXREYXRlIiwiZ2V0RnVsbFllYXIiLCJzZXRNb250aCIsImdldE1vbnRoIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJvcGVuIiwic2V0T3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibGFzdFNlbGVjdGVkT3B0aW9uIiwic2V0TGFzdFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZFJhbmdlIiwic2V0U2VsZWN0ZWRSYW5nZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImFwcGxpZWRSYW5nZSIsInNldEFwcGxpZWRSYW5nZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZWxlY3RlZFRleHQiLCJzZXRTZWxlY3RlZFRleHQiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd0N1c3RvbVJhbmdlIiwic2V0U2hvd0N1c3RvbVJhbmdlIiwiX3VzZVN0YXRlMTUiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxNiIsIm1vbnRoVmlldyIsInNldE1vbnRoVmlldyIsImNsZWFyIiwicmVzZXQiLCJnZXREaXNwbGF5TGFiZWwiLCJoYW5kbGVJdGVtQ2xpY2siLCJoYW5kbGVEYXRlU2VsZWN0IiwiZXZlbnQiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIl92YWx1ZSIsImFwcGx5UHJlc2V0IiwiYXBwbHlDdXN0b20iLCJyZXNldFNlbGVjdGlvbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsImNhbGVuZGFyVmFsdWUiLCJyZW5kZXJQcmVzZXRMaXN0IiwiY2hpbGRyZW4iLCJtYXAiLCJvbkNsaWNrIiwic2l6ZSIsInN0cm9uZyIsIm5hbWUiLCJjaGVja2VkIiwiZ2FwIiwiY29sb3IiLCJzdHlsZSIsImRpc2FibGVkIiwicmVuZGVyQ3VzdG9tUmFuZ2UiLCJhbGlnbiIsIndyYXBwZXJDbHMiLCJwYW5lbENsYXNzTmFtZSIsInNlbGVjdGlvbk1vZGUiLCJyZWFkT25seUlucHV0IiwiaGlkZU9uUmFuZ2VTZWxlY3Rpb24iLCJudW1iZXJPZk1vbnRocyIsInZpZXdEYXRlIiwib25WaWV3RGF0ZUNoYW5nZSIsIm9uQ2hhbmdlIiwiQ3VzdG9tIiwiYXNzaWduIiwiYW5pbWF0aW9uIiwicGFuZWxXaWR0aCIsIm9uT3BlbkNoYW5nZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJfcmVmIiwiZm9udFNpemUiLCJEYXRlUmFuZ2VGaWx0ZXIi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SUFDVjBFLFlBQVksRUFBRTlCLGdCQUFnQjtJQUM5QitCLGdCQUFnQixFQUNkdkQsWUFBWSxHQUNSLFVBQUF3RCxJQUFBO01BQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7TUFBQSxPQUNUL0ssSUFBQSxDQUFDZSxjQUFjLEVBQUE7UUFBQ3NJLElBQUksRUFBRTBCLFFBQVE7UUFBRTVGLFNBQVMsS0FBQWIsTUFBQSxDQUFLbEQsUUFBUSxZQUFTO1FBQUE4SCxRQUFBLEVBQzdEbEosSUFBQSxDQUFBLE1BQUEsRUFBQTtVQUFNbUYsU0FBUyxLQUFBYixNQUFBLENBQUtsRCxRQUFRLGtCQUFlO1VBQUE4SCxRQUFBLEVBQUc1QjtRQUFZLENBQUE7TUFBUSxDQUFBLENBQ25EO0lBQUEsQ0FDbEIsR0FDRCxJQUFJO0lBQUE0QixRQUFBLEVBR1QsU0FIU0EsUUFBQUEsQ0FBQTtNQUFBLE9BR0Z4QixlQUFlLEdBQUdtQyxpQkFBaUIsQ0FBQSxDQUFFLEdBQUdaLGdCQUFnQixDQUFBLENBQUU7SUFBQTtFQUFDLENBQUEsQ0FBQSxDQUNyRDtBQUVwQixDQUFDO0FBRUQsT0FBTyxJQUFNK0IsZUFBZSxnQkFBRzNLLElBQUksQ0FBQzJFLG1CQUFtQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0NhbGVuZGFyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9SYWRpbyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEFMTF9UUkFOU0FDVElPTlNfVkFMVUUsIERBVEVfUkFOR0VfT1BUSU9OUywgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlcic7XG4vLyBUaGUgY2FsZW5kYXIgb3ZlcmxheSBpcyBwb3J0YWxlZCB0byA8Ym9keT4sIG91dHNpZGUgV1JBUF9DTFMg4oCUIHRoaXMgaXMgYVxuLy8gc3RhbmRhbG9uZSB0b3AtbGV2ZWwgaG9vayBzbyBpdHMgU0NTUyBjYW4gbGlmdCBpdCBhYm92ZSB0aGUgaG9zdFxuLy8gU2VsZWN0LkN1c3RvbSBwYW5lbCAoei1pbmRleCAxNTAwKS5cbmNvbnN0IENBTEVOREFSX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1jYWxlbmRhci1wYW5lbCc7XG4vLyBUaGUgU2VsZWN0LkN1c3RvbSBwYW5lbCBpcyBwb3J0YWxlZCB0byA8Ym9keT4gdG9vIOKAlCB0b3AtbGV2ZWwgaG9vayBmb3Jcbi8vIHNjb3BpbmcgcGFuZWwtYm9keSBvdmVycmlkZXMgd2l0aG91dCBsZWFraW5nIGludG8gb3RoZXIgU2VsZWN0IHBhbmVscy5cbmNvbnN0IFNFTEVDVF9QQU5FTF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXItcGFuZWwnO1xuY29uc3QgUEFORUxfV0lEVEhfUFJFU0VUID0gMjQwO1xuY29uc3QgUEFORUxfV0lEVEhfQ1VTVE9NID0gMzIwO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhTID0gMjtcbmNvbnN0IENIRVZST05fU0laRSA9IDE2O1xuY29uc3QgQkFDS19JQ09OX1NJWkUgPSAyNDtcbmNvbnN0IFJFU0VUX0xBQkVMID0gJ1Jlc2V0JztcbmNvbnN0IEFQUExZX0xBQkVMID0gJ0FwcGx5JztcbmNvbnN0IENVU1RPTV9SQU5HRV9USVRMRSA9ICdDdXN0b20gZGF0ZSByYW5nZSc7XG5jb25zdCBSQU5HRV9TRVBBUkFUT1IgPSAnIC0gJztcbmNvbnN0IEZVTExfV0lEVEhfU1RZTEUgPSB7IGZsZXg6IDEgfTtcbmNvbnN0IFtPUFRJT05fQUxMLCBPUFRJT05fTEFTVF8zMF9EQVlTLCBPUFRJT05fWUVBUl9UT19EQVRFLCBPUFRJT05fTEFTVF8xMl9NT05USFMsIE9QVElPTl9DVVNUT00sXSA9IERBVEVfUkFOR0VfT1BUSU9OUztcbmNvbnN0IExBU1RfMzBfREFZU19DT1VOVCA9IDMwO1xuY29uc3QgTEFTVF8xMl9NT05USFNfQ09VTlQgPSAxMjtcbmNvbnN0IFlFQVJfU1RBUlRfTU9OVEggPSAwOyAvLyBKYW51YXJ5ICh6ZXJvLWJhc2VkIG1vbnRoIGluZGV4KVxuY29uc3QgRklSU1RfREFZX09GX01PTlRIID0gMTtcbi8vIERheS1ib3VuZGFyeSB0aW1lcyBzbyBhbiBhcHBsaWVkIHJhbmdlIGNvdmVycyB3aG9sZSBkYXlzIGluY2x1c2l2ZWx5OlxuLy8gdGhlIHN0YXJ0IGRheSBmcm9tIDAwOjAwOjAwLjAwMCBhbmQgdGhlIGVuZCBkYXkgdGhyb3VnaCAyMzo1OTo1OS45OTkuXG5jb25zdCBEQVlfU1RBUlRfVElNRSA9IFswLCAwLCAwLCAwXTsgLy8gW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtc11cbmNvbnN0IERBWV9FTkRfVElNRSA9IFsyMywgNTksIDU5LCA5OTldOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFURV9GT1JNQVRfTE9DQUxFID0gJ2VuLVVTJztcbmNvbnN0IERBVEVfRk9STUFUX09QVElPTlMgPSB7XG4gICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG59O1xuY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KERBVEVfRk9STUFUX0xPQ0FMRSwgREFURV9GT1JNQVRfT1BUSU9OUyk7XG5jb25zdCBFTVBUWV9SQU5HRSA9IHsgc3RhcnREYXRlOiBudWxsLCBlbmREYXRlOiBudWxsIH07XG5jb25zdCBzdGFydE9mRGF5ID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICByZXN1bHQuc2V0SG91cnMoLi4uREFZX1NUQVJUX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZW5kT2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfRU5EX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlKSA9PiBkYXRlRm9ybWF0dGVyLmZvcm1hdChkYXRlKTtcbmNvbnN0IGZvcm1hdFJhbmdlID0gKHN0YXJ0LCBlbmQpID0+IGAke2Zvcm1hdERhdGUoc3RhcnQpfSR7UkFOR0VfU0VQQVJBVE9SfSR7Zm9ybWF0RGF0ZShlbmQpfWA7XG5jb25zdCBnZXREYXRlRnJvbU9wdGlvbiA9IChvcHRpb24sIHJhbmdlKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMzBfREFZUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZS5zZXREYXRlKHRvZGF5LmdldERhdGUoKSAtIExBU1RfMzBfREFZU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fWUVBUl9UT19EQVRFOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCBZRUFSX1NUQVJUX01PTlRILCBGSVJTVF9EQVlfT0ZfTU9OVEgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMTJfTU9OVEhTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldE1vbnRoKHRvZGF5LmdldE1vbnRoKCkgLSBMQVNUXzEyX01PTlRIU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fQ1VTVE9NOlxuICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0RGF0ZSAmJiByYW5nZS5lbmREYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHJhbmdlLnN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHJhbmdlLmVuZERhdGUpIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gQUxMX1RSQU5TQUNUSU9OU19WQUxVRTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgIH1cbn07XG5jb25zdCBEYXRlUmFuZ2VGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJhbGxUcmFuc2FjdGlvbnNMYWJlbFwiLCBcImRlZmF1bHRTZWxlY3RBbGxcIiwgXCJvbkFwcGx5XCIsIFwib25SZXNldFwiXSk7XG4gICAgY29uc3QgaW5pdGlhbE9wdGlvbiA9IGRlZmF1bHRTZWxlY3RBbGwgPyBPUFRJT05fQUxMIDogbnVsbDtcbiAgICBjb25zdCBpbml0aWFsVGV4dCA9IGRlZmF1bHRTZWxlY3RBbGwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6ICcnO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRPcHRpb24sIHNldFNlbGVjdGVkT3B0aW9uXSA9IHVzZVN0YXRlKGluaXRpYWxPcHRpb24pO1xuICAgIGNvbnN0IFtsYXN0U2VsZWN0ZWRPcHRpb24sIHNldExhc3RTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRSYW5nZSwgc2V0U2VsZWN0ZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW2FwcGxpZWRSYW5nZSwgc2V0QXBwbGllZFJhbmdlXSA9IHVzZVN0YXRlKEVNUFRZX1JBTkdFKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRUZXh0LCBzZXRTZWxlY3RlZFRleHRdID0gdXNlU3RhdGUoaW5pdGlhbFRleHQpO1xuICAgIGNvbnN0IFtzaG93Q3VzdG9tUmFuZ2UsIHNldFNob3dDdXN0b21SYW5nZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW21vbnRoVmlldywgc2V0TW9udGhWaWV3XSA9IHVzZVN0YXRlKHVuZGVmaW5lZCk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dCgnJyk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICB9KSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgZ2V0RGlzcGxheUxhYmVsID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4gKG9wdGlvbiA9PT0gT1BUSU9OX0FMTCA/IGFsbFRyYW5zYWN0aW9uc0xhYmVsIDogb3B0aW9uKSwgW2FsbFRyYW5zYWN0aW9uc0xhYmVsXSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAob3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVEYXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHZhbHVlO1xuICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XG4gICAgICAgICAgICBzZXRNb250aFZpZXcoc3RhcnQpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IGVuZCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzdGFydCkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IG51bGwgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgYXBwbHlQcmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoZ2V0RGF0ZUZyb21PcHRpb24oc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UpKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGdldERpc3BsYXlMYWJlbChzZWxlY3RlZE9wdGlvbikpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbiwgc2VsZWN0ZWRSYW5nZSwgb25BcHBseSwgZ2V0RGlzcGxheUxhYmVsXSk7XG4gICAgY29uc3QgYXBwbHlDdXN0b20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnREYXRlLCBlbmREYXRlIH0gPSBzZWxlY3RlZFJhbmdlO1xuICAgICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgb25BcHBseSh7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheShlbmREYXRlKSB9KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGZvcm1hdFJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSkpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oT1BUSU9OX0NVU1RPTSk7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG51bGwpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoeyBzdGFydERhdGUsIGVuZERhdGUgfSk7XG4gICAgICAgIHNldFNob3dDdXN0b21SYW5nZSh0cnVlKTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgW3NlbGVjdGVkUmFuZ2UsIG9uQXBwbHldKTtcbiAgICBjb25zdCByZXNldFNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGluaXRpYWxUZXh0KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICB9LCBbaW5pdGlhbE9wdGlvbiwgaW5pdGlhbFRleHQsIG9uUmVzZXRdKTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlQ2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE9wZW4obmV4dE9wZW4pO1xuICAgICAgICBpZiAobmV4dE9wZW4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIE9uIGNsb3NlIHdpdGhvdXQgQXBwbHksIHNuYXAgdGhlIHBhbmVsIGJhY2sgdG8gdGhlIGxhc3QgY29tbWl0dGVkIHN0YXRlXG4gICAgICAgIC8vIHNvIGFuIGFiYW5kb25lZCBlZGl0IGRvZXNuJ3QgbGluZ2VyLlxuICAgICAgICBpZiAobGFzdFNlbGVjdGVkT3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKGFwcGxpZWRSYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obGFzdFNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtsYXN0U2VsZWN0ZWRPcHRpb24sIGFwcGxpZWRSYW5nZV0pO1xuICAgIGNvbnN0IGNhbGVuZGFyVmFsdWUgPSBzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZVxuICAgICAgICA/IHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZVxuICAgICAgICAgICAgPyBbc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUsIHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZV1cbiAgICAgICAgICAgIDogW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlXVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgcmVuZGVyUHJlc2V0TGlzdCA9ICgpID0+IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwidWxcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fbGlzdGAsIGNoaWxkcmVuOiBEQVRFX1JBTkdFX09QVElPTlMubWFwKChvcHRpb24pID0+IChfanN4cyhcImxpXCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9faXRlbWAsIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSAmJiBgJHtXUkFQX0NMU31fX2l0ZW0tLWN1c3RvbWAsIHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1zZWxlY3RlZGApLCBvbkNsaWNrOiAoKSA9PiBoYW5kbGVJdGVtQ2xpY2sob3B0aW9uKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2hpbGRyZW46IGdldERpc3BsYXlMYWJlbChvcHRpb24pIH0pLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gPyAoX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblJpZ2h0Jywgc2l6ZTogQ0hFVlJPTl9TSVpFIH0pKSA6IChfanN4KFJhZGlvLCB7IHNpemU6ICdzbWFsbCcsIGNoZWNrZWQ6IHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gfSkpXSB9LCBvcHRpb24pKSkgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRPcHRpb24sIG9uQ2xpY2s6IGFwcGx5UHJlc2V0LCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pXSB9KSk7XG4gICAgY29uc3QgcmVuZGVyQ3VzdG9tUmFuZ2UgPSAoKSA9PiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tYCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tLWhlYWRlcmAsIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnYXJyb3dMZWZ0Jywgc2l6ZTogQkFDS19JQ09OX1NJWkUsIHdyYXBwZXJDbHM6IGAke1dSQVBfQ0xTfV9fYmFjay1pY29uYCwgb25DbGljazogKCkgPT4gc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKSB9KSwgX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogJ2xnJywgY2hpbGRyZW46IENVU1RPTV9SQU5HRV9USVRMRSB9KV0gfSksIF9qc3goQ2FsZW5kYXIsIHsgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19jYWxlbmRhcmAsIHBhbmVsQ2xhc3NOYW1lOiBDQUxFTkRBUl9QQU5FTF9DTFMsIHNpemU6ICdzbWFsbCcsIHNlbGVjdGlvbk1vZGU6ICdyYW5nZScsIHBsYWNlaG9sZGVyOiAnTU0vREQvWVlZWSAtIE1NL0REL1lZWVknLCByZWFkT25seUlucHV0OiB0cnVlLCBoaWRlT25SYW5nZVNlbGVjdGlvbjogdHJ1ZSwgbnVtYmVyT2ZNb250aHM6IENBTEVOREFSX01PTlRIUywgdmFsdWU6IGNhbGVuZGFyVmFsdWUsIHZpZXdEYXRlOiBtb250aFZpZXcsIG9uVmlld0RhdGVDaGFuZ2U6IChldmVudCkgPT4gc2V0TW9udGhWaWV3KGV2ZW50LnZhbHVlKSwgb25DaGFuZ2U6IGhhbmRsZURhdGVTZWxlY3QgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9X19mb290ZXJgLCBgJHtXUkFQX0NMU31fX2Zvb3Rlci0tYm9yZGVyZWRgKSwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUgfHwgIXNlbGVjdGVkUmFuZ2UuZW5kRGF0ZSwgb25DbGljazogYXBwbHlDdXN0b20sIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LkN1c3RvbSwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcbiAgICAgICAgLy8gRml4ZWQgMzJweCBcIkV4dHJhIFNtYWxsXCIgdHJpZ2dlciB2aWEgdGhlIG5hdGl2ZSBTZWxlY3QgYGV4dHJhLXNtYWxsYFxuICAgICAgICAvLyBzaXplOyBsb2NrZWQgaGVyZSByYXRoZXIgdGhhbiBleHBvc2VkIGFzIGEgcHJvcC5cbiAgICAgICAgc2l6ZTogJ2V4dHJhLXNtYWxsJywgYW5pbWF0aW9uOiBmYWxzZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgcGFuZWxDbGFzc05hbWU6IFNFTEVDVF9QQU5FTF9DTFMsIHBhbmVsV2lkdGg6IHNob3dDdXN0b21SYW5nZSA/IFBBTkVMX1dJRFRIX0NVU1RPTSA6IFBBTkVMX1dJRFRIX1BSRVNFVCwgb3Blbjogb3Blbiwgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLCBzZWxlY3RlZFRlbXBsYXRlOiBzZWxlY3RlZFRleHRcbiAgICAgICAgICAgID8gKHsgZm9udFNpemUgfSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZWAsIGNoaWxkcmVuOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZS1sYWJlbGAsIGNoaWxkcmVuOiBzZWxlY3RlZFRleHQgfSkgfSkpXG4gICAgICAgICAgICA6IG51bGwsIGNoaWxkcmVuOiAoKSA9PiAoc2hvd0N1c3RvbVJhbmdlID8gcmVuZGVyQ3VzdG9tUmFuZ2UoKSA6IHJlbmRlclByZXNldExpc3QoKSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlRmlsdGVyID0gbWVtbyhEYXRlUmFuZ2VGaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
400
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkZsZXgiLCJJY29ucyIsIlJhZGlvIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiQUxMX1RSQU5TQUNUSU9OU19WQUxVRSIsIkRBVEVfUkFOR0VfT1BUSU9OUyIsIldSQVBfQ0xTIiwiQ0FMRU5EQVJfUEFORUxfQ0xTIiwiU0VMRUNUX1BBTkVMX0NMUyIsIlBBTkVMX1dJRFRIX1BSRVNFVCIsIlBBTkVMX1dJRFRIX0NVU1RPTSIsIkNBTEVOREFSX01PTlRIUyIsIkNIRVZST05fU0laRSIsIkJBQ0tfSUNPTl9TSVpFIiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkNVU1RPTV9SQU5HRV9USVRMRSIsIlJBTkdFX1NFUEFSQVRPUiIsIkZVTExfV0lEVEhfU1RZTEUiLCJmbGV4IiwiX0RBVEVfUkFOR0VfT1BUSU9OUyIsIl9zbGljZWRUb0FycmF5IiwiT1BUSU9OX0FMTCIsIk9QVElPTl9MQVNUXzMwX0RBWVMiLCJPUFRJT05fWUVBUl9UT19EQVRFIiwiT1BUSU9OX0xBU1RfMTJfTU9OVEhTIiwiT1BUSU9OX0NVU1RPTSIsIkxBU1RfMzBfREFZU19DT1VOVCIsIkxBU1RfMTJfTU9OVEhTX0NPVU5UIiwiWUVBUl9TVEFSVF9NT05USCIsIkZJUlNUX0RBWV9PRl9NT05USCIsIkRBWV9TVEFSVF9USU1FIiwiREFZX0VORF9USU1FIiwiREFURV9GT1JNQVRfTE9DQUxFIiwiREFURV9GT1JNQVRfT1BUSU9OUyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImRhdGVGb3JtYXR0ZXIiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJFTVBUWV9SQU5HRSIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJzdGFydE9mRGF5IiwiZGF0ZSIsInJlc3VsdCIsIkRhdGUiLCJzZXRIb3VycyIsImFwcGx5IiwiZW5kT2ZEYXkiLCJmb3JtYXREYXRlIiwiZm9ybWF0IiwiZm9ybWF0UmFuZ2UiLCJzdGFydCIsImVuZCIsImNvbmNhdCIsImdldERhdGVGcm9tT3B0aW9uIiwib3B0aW9uIiwicmFuZ2UiLCJ0b2RheSIsInNldERhdGUiLCJnZXREYXRlIiwiZ2V0RnVsbFllYXIiLCJzZXRNb250aCIsImdldE1vbnRoIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJvcGVuIiwic2V0T3BlbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibGFzdFNlbGVjdGVkT3B0aW9uIiwic2V0TGFzdFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZFJhbmdlIiwic2V0U2VsZWN0ZWRSYW5nZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiYXBwbGllZFJhbmdlIiwic2V0QXBwbGllZFJhbmdlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2VsZWN0ZWRUZXh0Iiwic2V0U2VsZWN0ZWRUZXh0IiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNob3dDdXN0b21SYW5nZSIsInNldFNob3dDdXN0b21SYW5nZSIsIl91c2VTdGF0ZTEzIiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMTQiLCJtb250aFZpZXciLCJzZXRNb250aFZpZXciLCJjbGVhciIsInJlc2V0IiwiZ2V0RGlzcGxheUxhYmVsIiwiaGFuZGxlSXRlbUNsaWNrIiwiaGFuZGxlRGF0ZVNlbGVjdCIsImV2ZW50IiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJfdmFsdWUiLCJhcHBseVByZXNldCIsImFwcGx5Q3VzdG9tIiwicmVzZXRTZWxlY3Rpb24iLCJoYW5kbGVPcGVuQ2hhbmdlIiwibmV4dE9wZW4iLCJjYWxlbmRhclZhbHVlIiwicmVuZGVyUHJlc2V0TGlzdCIsImNoaWxkcmVuIiwibWFwIiwib25DbGljayIsInNpemUiLCJzdHJvbmciLCJuYW1lIiwiY2hlY2tlZCIsImdhcCIsImNvbG9yIiwic3R5bGUiLCJkaXNhYmxlZCIsInJlbmRlckN1c3RvbVJhbmdlIiwiYWxpZ24iLCJ3cmFwcGVyQ2xzIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3Rpb25Nb2RlIiwicmVhZE9ubHlJbnB1dCIsImhpZGVPblJhbmdlU2VsZWN0aW9uIiwibnVtYmVyT2ZNb250aHMiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsIkN1c3RvbSIsImFzc2lnbiIsImFuaW1hdGlvbiIsInBhbmVsV2lkdGgiLCJvbk9wZW5DaGFuZ2UiLCJzZWxlY3RlZFRlbXBsYXRlIiwiX3JlZiIsImZvbnRTaXplIiwiRGF0ZVJhbmdlRmlsdGVyIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsRUFDMUVSLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHVixDQUFDLENBQUNHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUM7RUFDekI7RUFDSixPQUFPUixDQUFDO0FBQ1osQ0FBQztBQUNELFNBQVNXLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssRUFBRUMsUUFBUSxJQUFJQyxTQUFTLFFBQVEsbUJBQW1CO0FDWHJGLFNBQVNDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxtQkFBbUIsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEUsU0FBU0MsTUFBTSxRQUFRLDRCQUE0QjtBQUNuRCxTQUFTQyxRQUFRLFFBQVEsOEJBQThCO0FBQ3ZELFNBQVNDLElBQUksUUFBUSwwQkFBMEI7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLDJCQUEyQjtBQUNqRCxTQUFTQyxLQUFLLFFBQVEsMkJBQTJCO0FBQ2pELFNBQVNDLE1BQU0sUUFBUSw0QkFBNEI7QUFDbkQsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hGLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FDRUMsc0JBQXNCLEVBQ3RCQyxrQkFBa0IsUUFDYixhQUFhO0FBU3BCLElBQU1DLFFBQVEsR0FBRyxzQkFBc0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsa0JBQWtCLEdBQUcscUNBQXFDO0FBQ2hFO0FBQ0E7QUFDQSxJQUFNQyxnQkFBZ0IsR0FBRyw0QkFBNEI7QUFDckQsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUM5QixJQUFNQyxrQkFBa0IsR0FBRyxHQUFHO0FBQzlCLElBQU1DLGVBQWUsR0FBRyxDQUFDO0FBQ3pCLElBQU1DLFlBQVksR0FBRyxFQUFFO0FBQ3ZCLElBQU1DLGNBQWMsR0FBRyxFQUFFO0FBQ3pCLElBQU1DLFdBQVcsR0FBRyxPQUFPO0FBQzNCLElBQU1DLFdBQVcsR0FBRyxPQUFPO0FBQzNCLElBQU1DLGtCQUFrQixHQUFHLG1CQUFtQjtBQUM5QyxJQUFNQyxlQUFlLEdBQUcsS0FBSztBQUM3QixJQUFNQyxnQkFBZ0IsR0FBRztFQUFFQyxJQUFJLEVBQUU7QUFBQyxDQUFXO0FBRTdDLElBQUFDLG1CQUFBLEdBQUFDLGNBQUEsQ0FNSWhCLGtCQUFrQjtFQUxwQmlCLFVBQVUsR0FBQUYsbUJBQUE7RUFDVkcsbUJBQW1CLEdBQUFILG1CQUFBO0VBQ25CSSxtQkFBbUIsR0FBQUosbUJBQUE7RUFDbkJLLHFCQUFxQixHQUFBTCxtQkFBQTtFQUNyQk0sYUFBYSxHQUFBTixtQkFBQTtBQUdmLElBQU1PLGtCQUFrQixHQUFHLEVBQUU7QUFDN0IsSUFBTUMsb0JBQW9CLEdBQUcsRUFBRTtBQUMvQixJQUFNQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QixJQUFNQyxrQkFBa0IsR0FBRyxDQUFDO0FBRTVCO0FBQ0E7QUFDQSxJQUFNQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQVUsQ0FBQyxDQUFDO0FBQzlDLElBQU1DLFlBQVksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBVSxDQUFDLENBQUM7QUFFakQsSUFBTUMsa0JBQWtCLEdBQUcsT0FBTztBQUNsQyxJQUFNQyxtQkFBbUIsR0FBK0I7RUFDdERDLEtBQUssRUFBRSxTQUFTO0VBQ2hCQyxHQUFHLEVBQUUsU0FBUztFQUNkQyxJQUFJLEVBQUU7QURSUixDQ1NDO0FBQ0QsSUFBTUMsYUFBYSxHQUFHLElBQUlDLElBQUksQ0FBQ0MsY0FBYyxDQUFDUCxrQkFBa0IsRUFBRUMsbUJBQW1CLENBQUM7QUFTdEYsSUFBTU8sV0FBVyxHQUFpQjtFQUFFQyxTQUFTLEVBQUUsSUFBSTtFQUFFQyxPQUFPLEVBQUU7QUFBSSxDQUFFO0FBRXBFLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxJQUFVLEVBQUk7RUFDaEMsSUFBTUMsTUFBTSxHQUFHLElBQUlDLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0VBQzdCQyxNQUFNLENBQUNFLFFBQVEsQ0FBQUMsS0FBQSxDQUFmSCxNQUFNLEVBQWFmLGNBQWMsQ0FBQztFQUNsQyxPQUFPZSxNQUFNO0FBQ2YsQ0FBQztBQUVELElBQU1JLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJTCxJQUFVLEVBQUk7RUFDOUIsSUFBTUMsTUFBTSxHQUFHLElBQUlDLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0VBQzdCQyxNQUFNLENBQUNFLFFBQVEsQ0FBQUMsS0FBQSxDQUFmSCxNQUFNLEVBQWFkLFlBQVksQ0FBQztFQUNoQyxPQUFPYyxNQUFNO0FBQ2YsQ0FBQztBQUVELElBQU1LLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJTixJQUFVO0VBQUEsT0FBS1AsYUFBYSxDQUFDYyxNQUFNLENBQUNQLElBQUksQ0FBQztBQUFBO0FBRTdELElBQU1RLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxLQUFXLEVBQUVDLEdBQVM7RUFBQSxVQUFBQyxNQUFBLENBQ3RDTCxVQUFVLENBQUNHLEtBQUssQ0FBQyxFQUFBRSxNQUFBLENBQUd2QyxlQUFlLEVBQUF1QyxNQUFBLENBQUdMLFVBQVUsQ0FBQ0ksR0FBRyxDQUFDO0FBQUEsQ0FBRTtBQUU1RCxJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUNyQkMsTUFBdUIsRUFDdkJDLEtBQW1CLEVBQ0k7RUFDdkIsSUFBTUMsS0FBSyxHQUFHLElBQUliLElBQUksQ0FBQSxDQUFFO0VBQ3hCLFFBQVFXLE1BQU07SUFDWixLQUFLbkMsbUJBQW1CO01BQUU7UUFDeEIsSUFBTW1CLFNBQVMsR0FBRyxJQUFJSyxJQUFJLENBQUEsQ0FBRTtRQUM1QkwsU0FBUyxDQUFDbUIsT0FBTyxDQUFDRCxLQUFLLENBQUNFLE9BQU8sQ0FBQSxDQUFFLEdBQUduQyxrQkFBa0IsQ0FBQztRQUN2RCxPQUFPO1VBQUVlLFNBQVMsRUFBRUUsVUFBVSxDQUFDRixTQUFTLENBQUM7VUFBRUMsT0FBTyxFQUFFTyxRQUFRLENBQUNVLEtBQUs7UUFBQyxDQUFFO01BQ3ZFO0lBQ0EsS0FBS3BDLG1CQUFtQjtNQUFFO1FBQ3hCLElBQU1rQixVQUFTLEdBQUcsSUFBSUssSUFBSSxDQUFDYSxLQUFLLENBQUNHLFdBQVcsQ0FBQSxDQUFFLEVBQUVsQyxnQkFBZ0IsRUFBRUMsa0JBQWtCLENBQUM7UUFDckYsT0FBTztVQUFFWSxTQUFTLEVBQUVFLFVBQVUsQ0FBQ0YsVUFBUyxDQUFDO1VBQUVDLE9BQU8sRUFBRU8sUUFBUSxDQUFDVSxLQUFLO1FBQUMsQ0FBRTtNQUN2RTtJQUNBLEtBQUtuQyxxQkFBcUI7TUFBRTtRQUMxQixJQUFNaUIsV0FBUyxHQUFHLElBQUlLLElBQUksQ0FBQSxDQUFFO1FBQzVCTCxXQUFTLENBQUNzQixRQUFRLENBQUNKLEtBQUssQ0FBQ0ssUUFBUSxDQUFBLENBQUUsR0FBR3JDLG9CQUFvQixDQUFDO1FBQzNELE9BQU87VUFBRWMsU0FBUyxFQUFFRSxVQUFVLENBQUNGLFdBQVMsQ0FBQztVQUFFQyxPQUFPLEVBQUVPLFFBQVEsQ0FBQ1UsS0FBSztRQUFDLENBQUU7TUFDdkU7SUFDQSxLQUFLbEMsYUFBYTtNQUNoQixJQUFJaUMsS0FBSyxDQUFDakIsU0FBUyxJQUFJaUIsS0FBSyxDQUFDaEIsT0FBTyxFQUFFO1FBQ3BDLE9BQU87VUFBRUQsU0FBUyxFQUFFRSxVQUFVLENBQUNlLEtBQUssQ0FBQ2pCLFNBQVMsQ0FBQztVQUFFQyxPQUFPLEVBQUVPLFFBQVEsQ0FBQ1MsS0FBSyxDQUFDaEIsT0FBTztRQUFDLENBQUU7TUFDckY7TUFDQSxPQUFPdkMsc0JBQXNCO0lBQy9CO01BQ0UsT0FBT0Esc0JBQXNCO0VBQ2pDO0FBQ0YsQ0FBQztBQUVELElBQU04RCxtQkFBbUIsR0FBNkIsU0FBaERBLG1CQUFtQkEsQ0FBOEJDLEVBVXRELEVBQUk7RURwQ0QsSUMyQkZDLEdBQUcsR0FPSUQsRUFFUixDQVRDQyxHQUFHO0lBQ0hDLFNBQVMsR0FNRkYsRUFFUixDQVJDRSxTQUFTO0lBQ1RDLEtBQUssR0FLRUgsRUFFUixDQVBDRyxLQUFLO0lBQUFDLGNBQUEsR0FLRUosRUFFUixDQU5DSyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxxQkFBQSxHQUliTixFQUVSLENBTENPLG9CQUFvQjtJQUFwQkEsb0JBQW9CLEdBQUFELHFCQUFBLGNBQUcsa0JBQWtCLEdBQUFBLHFCQUFBO0lBQUFFLG1CQUFBLEdBR2xDUixFQUVSLENBSkNTLGdCQUFnQjtJQUFoQkEsZ0JBQWdCLEdBQUFELG1CQUFBLGNBQUcsS0FBSyxHQUFBQSxtQkFBQTtJQUN4QkUsT0FBTyxHQUNBVixFQUVSLENBSENVLE9BQU87SUFDUEMsT0FBTyxHQUFBWCxFQUVSLENBRkNXLE9BQU87SUFDSkMsSUFBSSxHQUFBNUcsTUFBQSxDQUFBZ0csRUFBQSxFQVQ4QyxDQUFBLEtBQUEsRUFBQSxXQUFBLEVBQUEsT0FBQSxFQUFBLGFBQUEsRUFBQSxzQkFBQSxFQUFBLGtCQUFBLEVBQUEsU0FBQSxFQUFBLFNBQUEsQ0FVdEQsQ0FEUTtFQUVQLElBQU1hLGFBQWEsR0FBR0osZ0JBQWdCLEdBQUd0RCxVQUFVLEdBQUcsSUFBSTtFQUMxRCxJQUFNMkQsV0FBVyxHQUFHTCxnQkFBZ0IsR0FBR0Ysb0JBQW9CLEdBQUcsRUFBRTtFQUVoRSxJQUFBUSxTQUFBLEdBQXdCeEYsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBeUYsVUFBQSxHQUFBOUQsY0FBQSxDQUFBNkQsU0FBQTtJQUFoQ0UsSUFBSSxHQUFBRCxVQUFBO0lBQUVFLE9BQU8sR0FBQUYsVUFBQTtFQUNwQixJQUFBRyxVQUFBLEdBQTRDNUYsUUFBUSxDQUF5QnNGLGFBQWEsQ0FBQztJQUFBTyxVQUFBLEdBQUFsRSxjQUFBLENBQUFpRSxVQUFBO0lBQXBGRSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBQUcsVUFBQSxHQUFvRGhHLFFBQVEsQ0FBeUJzRixhQUFhLENBQUM7SUFBQVcsVUFBQSxHQUFBdEUsY0FBQSxDQUFBcUUsVUFBQTtJQUE1RkUsa0JBQWtCLEdBQUFELFVBQUE7SUFBRUUscUJBQXFCLEdBQUFGLFVBQUE7RUFDaEQsSUFBQUcsVUFBQSxHQUEwQ3BHLFFBQVEsQ0FBZStDLFdBQVcsQ0FBQztJQUFBc0QsVUFBQSxHQUFBMUUsY0FBQSxDQUFBeUUsVUFBQTtJQUF0RUUsYUFBYSxHQUFBRCxVQUFBO0lBQUVFLGdCQUFnQixHQUFBRixVQUFBO0VBQ3RDLElBQUFHLFVBQUEsR0FBd0N4RyxRQUFRLENBQWUrQyxXQUFXLENBQUM7SUFBQTBELFVBQUEsR0FBQTlFLGNBQUEsQ0FBQTZFLFVBQUE7SUFBcEVFLFlBQVksR0FBQUQsVUFBQTtJQUFFRSxlQUFlLEdBQUFGLFVBQUE7RUFDcEMsSUFBQUcsVUFBQSxHQUF3QzVHLFFBQVEsQ0FBU3VGLFdBQVcsQ0FBQztJQUFBc0IsV0FBQSxHQUFBbEYsY0FBQSxDQUFBaUYsVUFBQTtJQUE5REUsWUFBWSxHQUFBRCxXQUFBO0lBQUVFLGVBQWUsR0FBQUYsV0FBQTtFQUNwQyxJQUFBRyxXQUFBLEdBQThDaEgsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBaUgsV0FBQSxHQUFBdEYsY0FBQSxDQUFBcUYsV0FBQTtJQUF0REUsZUFBZSxHQUFBRCxXQUFBO0lBQUVFLGtCQUFrQixHQUFBRixXQUFBO0VBQzFDLElBQUFHLFdBQUEsR0FBa0NwSCxRQUFRLENBQW1CcUgsU0FBUyxDQUFDO0lBQUFDLFdBQUEsR0FBQTNGLGNBQUEsQ0FBQXlGLFdBQUE7SUFBaEVHLFNBQVMsR0FBQUQsV0FBQTtJQUFFRSxZQUFZLEdBQUFGLFdBQUE7RUFFOUJ2SCxtQkFBbUIsQ0FDakIyRSxHQUFHLEVBQ0g7SUFBQSxPQUFPO01BQ0wrQyxLQUFLLEVBQUUsU0FBUEEsS0FBS0EsQ0FBQSxFQUFPO1FBQ1YxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDdkJJLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUMzQkksZ0JBQWdCLENBQUN4RCxXQUFXLENBQUM7UUFDN0I0RCxlQUFlLENBQUM1RCxXQUFXLENBQUM7UUFDNUJnRSxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQ25CSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDekJLLFlBQVksQ0FBQ0gsU0FBUyxDQUFDO01BQ3pCLENBQUM7TUFDREssS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUEsRUFBTztRQUNWM0IsaUJBQWlCLENBQUNULGFBQWEsQ0FBQztRQUNoQ2EscUJBQXFCLENBQUNiLGFBQWEsQ0FBQztRQUNwQ2lCLGdCQUFnQixDQUFDeEQsV0FBVyxDQUFDO1FBQzdCNEQsZUFBZSxDQUFDNUQsV0FBVyxDQUFDO1FBQzVCZ0UsZUFBZSxDQUFDeEIsV0FBVyxDQUFDO1FBQzVCNEIsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pCSyxZQUFZLENBQUNILFNBQVMsQ0FBQztRQUN2QmpDLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxDQUFBLENBQUk7TUFDYjtJRHZDRixDQ3dDQztFQUFBLENBQUMsRUFDRixDQUFDRSxhQUFhLEVBQUVDLFdBQVcsRUFBRUgsT0FBTyxDQUFDLENBQ3RDO0VBRUQsSUFBTXVDLGVBQWUsR0FBRzdILFdBQVcsQ0FDakMsVUFBQ2tFLE1BQXVCO0lBQUEsT0FBTUEsTUFBTSxLQUFLcEMsVUFBVSxHQUFHb0Qsb0JBQW9CLEdBQUdoQixNQUFNO0VBQUEsQ0FBQyxFQUNwRixDQUFDZ0Isb0JBQW9CLENBQUMsQ0FDdkI7RUFFRCxJQUFNNEMsZUFBZSxHQUFHOUgsV0FBVyxDQUFDLFVBQUNrRSxNQUF1QixFQUFJO0lBQzlELElBQUlBLE1BQU0sS0FBS2hDLGFBQWEsRUFBRTtNQUM1Qm1GLGtCQUFrQixDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDLE1BQU07TUFDTEEsa0JBQWtCLENBQUMsS0FBSyxDQUFDO01BQ3pCcEIsaUJBQWlCLENBQUMvQixNQUFNLENBQUM7SUFDM0I7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTTZELGdCQUFnQixHQUFHL0gsV0FBVyxDQUFDLFVBQUNnSSxLQUEwQixFQUFJO0lBQ2xFLElBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUFDQyxLQUFLO0lBQ3pCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNGLEtBQUssQ0FBQyxFQUFFO0lBQzNCLElBQUFHLE1BQUEsR0FBQXZHLGNBQUEsQ0FBcUJvRyxLQUFLO01BQW5CbkUsS0FBSyxHQUFBc0UsTUFBQTtNQUFFckUsR0FBRyxHQUFBcUUsTUFBQTtJQUNqQixJQUFJdEUsS0FBSyxJQUFJQyxHQUFHLEVBQUU7TUFDaEIyRCxZQUFZLENBQUM1RCxLQUFLLENBQUM7TUFDbkIyQyxnQkFBZ0IsQ0FBQztRQUFFdkQsU0FBUyxFQUFFWSxLQUFLO1FBQUVYLE9BQU8sRUFBRVk7TUFBRyxDQUFFLENBQUM7SUFDdEQsQ0FBQyxNQUFNLElBQUlELEtBQUssRUFBRTtNQUNoQjJDLGdCQUFnQixDQUFDO1FBQUV2RCxTQUFTLEVBQUVZLEtBQUs7UUFBRVgsT0FBTyxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3ZEO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1rRixXQUFXLEdBQUdySSxXQUFXLENBQUMsWUFBSztJQUNuQyxJQUFJLENBQUNnRyxjQUFjLEVBQUU7SUFDckJYLE9BQU8sQ0FBQ3BCLGlCQUFpQixDQUFDK0IsY0FBYyxFQUFFUSxhQUFhLENBQUMsQ0FBQztJQUN6RFMsZUFBZSxDQUFDWSxlQUFlLENBQUM3QixjQUFjLENBQUMsQ0FBQztJQUNoREsscUJBQXFCLENBQUNMLGNBQWMsQ0FBQztJQUNyQ3FCLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUN6QlosZ0JBQWdCLENBQUN4RCxXQUFXLENBQUM7SUFDN0I0RCxlQUFlLENBQUM1RCxXQUFXLENBQUM7SUFDNUJ5RSxZQUFZLENBQUNILFNBQVMsQ0FBQztJQUN2QjFCLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDaEIsQ0FBQyxFQUFFLENBQUNHLGNBQWMsRUFBRVEsYUFBYSxFQUFFbkIsT0FBTyxFQUFFd0MsZUFBZSxDQUFDLENBQUM7RUFFN0QsSUFBTVMsV0FBVyxHQUFHdEksV0FBVyxDQUFDLFlBQUs7SUFDbkMsSUFBUWtELFNBQVMsR0FBY3NELGFBQWEsQ0FBcEN0RCxTQUFTO01BQUVDLE9BQU8sR0FBS3FELGFBQWEsQ0FBekJyRCxPQUFPO0lBQzFCLElBQUksQ0FBQ0QsU0FBUyxJQUFJLENBQUNDLE9BQU8sRUFBRTtJQUM1QmtDLE9BQU8sQ0FBQztNQUFFbkMsU0FBUyxFQUFFRSxVQUFVLENBQUNGLFNBQVMsQ0FBQztNQUFFQyxPQUFPLEVBQUVPLFFBQVEsQ0FBQ1AsT0FBTztJQUFDLENBQUUsQ0FBQztJQUN6RThELGVBQWUsQ0FBQ3BELFdBQVcsQ0FBQ1gsU0FBUyxFQUFFQyxPQUFPLENBQUMsQ0FBQztJQUNoRGtELHFCQUFxQixDQUFDbkUsYUFBYSxDQUFDO0lBQ3BDK0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBQ3ZCWSxlQUFlLENBQUM7TUFBRTNELFNBQVMsRUFBVEEsU0FBUztNQUFFQyxPQUFPLEVBQVBBO0lBQU8sQ0FBRSxDQUFDO0lBQ3ZDa0Usa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQ3hCeEIsT0FBTyxDQUFDLEtBQUssQ0FBQztFQUNoQixDQUFDLEVBQUUsQ0FBQ1csYUFBYSxFQUFFbkIsT0FBTyxDQUFDLENBQUM7RUFFNUIsSUFBTWtELGNBQWMsR0FBR3ZJLFdBQVcsQ0FBQyxZQUFLO0lBQ3RDaUcsaUJBQWlCLENBQUNULGFBQWEsQ0FBQztJQUNoQ2EscUJBQXFCLENBQUNiLGFBQWEsQ0FBQztJQUNwQ3lCLGVBQWUsQ0FBQ3hCLFdBQVcsQ0FBQztJQUM1QmdCLGdCQUFnQixDQUFDeEQsV0FBVyxDQUFDO0lBQzdCNEQsZUFBZSxDQUFDNUQsV0FBVyxDQUFDO0lBQzVCeUUsWUFBWSxDQUFDSCxTQUFTLENBQUM7SUFDdkJqQyxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sQ0FBQSxDQUFJO0VBQ2IsQ0FBQyxFQUFFLENBQUNFLGFBQWEsRUFBRUMsV0FBVyxFQUFFSCxPQUFPLENBQUMsQ0FBQztFQUV6QyxJQUFNa0QsZ0JBQWdCLEdBQUd4SSxXQUFXLENBQ2xDLFVBQUN5SSxRQUFpQixFQUFJO0lBQ3BCNUMsT0FBTyxDQUFDNEMsUUFBUSxDQUFDO0lBQ2pCLElBQUlBLFFBQVEsRUFBRTtJQUNkO0lBQ0E7SUFDQSxJQUFJckMsa0JBQWtCLEtBQUtsRSxhQUFhLEVBQUU7TUFDeENtRixrQkFBa0IsQ0FBQyxJQUFJLENBQUM7TUFDeEJaLGdCQUFnQixDQUFDRyxZQUFZLENBQUM7SUFDaEMsQ0FBQyxNQUFNO01BQ0xTLGtCQUFrQixDQUFDLEtBQUssQ0FBQztNQUN6QnBCLGlCQUFpQixDQUFDRyxrQkFBa0IsQ0FBQztJQUN2QztFQUNGLENBQUMsRUFDRCxDQUFDQSxrQkFBa0IsRUFBRVEsWUFBWSxDQUFDLENBQ25DO0VBRUQsSUFBTThCLGFBQWEsR0FBR2xDLGFBQWEsQ0FBQ3RELFNBQVMsR0FDekNzRCxhQUFhLENBQUNyRCxPQUFPLEdBQ25CLENBQUNxRCxhQUFhLENBQUN0RCxTQUFTLEVBQUVzRCxhQUFhLENBQUNyRCxPQUFPLENBQUMsR0FDaEQsQ0FBQ3FELGFBQWEsQ0FBQ3RELFNBQVMsQ0FBQyxHQUMzQixJQUFJO0VBRVIsSUFBTXlGLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUE7SUFBQSxPQUNwQi9JLEtBQUEsQ0FBQUUsU0FBQSxFQUFBO01BQUE4SSxRQUFBLEVBQUEsQ0FDRWxKLElBQUEsQ0FBQSxJQUFBLEVBQUE7UUFBSW1GLFNBQVMsS0FBQWIsTUFBQSxDQUFLbEQsUUFBUSxXQUFRO1FBQUE4SCxRQUFBLEVBQy9CL0gsa0JBQWtCLENBQUNnSSxHQUFHLENBQUMsVUFBQzNFLE1BQU07VUFBQSxPQUM3QnRFLEtBQUEsQ0FBQSxJQUFBLEVBQUE7WUFFRWlGLFNBQVMsRUFBRWxFLE9BQU8sSUFBQXFELE1BQUEsQ0FDYmxELFFBQVEsYUFDWG9ELE1BQU0sS0FBS2hDLGFBQWEsT0FBQThCLE1BQUEsQ0FBT2xELFFBQVEsbUJBQWdCLEVBQ3ZEa0YsY0FBYyxLQUFLOUIsTUFBTSxPQUFBRixNQUFBLENBQU9sRCxRQUFRLHFCQUFrQixDQUMzRDtZQUNEZ0ksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7Y0FBQSxPQUFRaEIsZUFBZSxDQUFDNUQsTUFBTSxDQUFDO1lBQUE7WUFBQTBFLFFBQUEsRUFBQSxDQUV0Q2xKLElBQUEsQ0FBQ2UsY0FBYyxFQUFBO2NBQUNzSSxJQUFJLEVBQUMsSUFBSTtjQUFDQyxNQUFNLEVBQUEsSUFBQTtjQUFBSixRQUFBLEVBQUVmLGVBQWUsQ0FBQzNELE1BQU07WUFBQyxDQUFBLENBQWtCLEVBQzFFQSxNQUFNLEtBQUtoQyxhQUFhLEdBQ3ZCeEMsSUFBQSxDQUFDWSxLQUFLLEVBQUE7Y0FBQzJJLElBQUksRUFBQyxjQUFjO2NBQUNGLElBQUksRUFBRTNIO1lBQVksQ0FBQSxDQUFJLEdBRWpEMUIsSUFBQSxDQUFDYSxLQUFLLEVBQUE7Y0FBQ3dJLElBQUksRUFBQyxPQUFPO2NBQUNHLE9BQU8sRUFBRWxELGNBQWMsS0FBSzlCO1lBQU0sQ0FBQSxDQUN2RDtVQUFBLENBQUEsRUFiSUEsTUFBTSxDQWNSO1FBQUEsQ0FDTjtNQUFDLENBQUEsQ0FDQyxFQUNMdEUsS0FBQSxDQUFDUyxJQUFJLEVBQUE7UUFBQzhJLEdBQUcsRUFBRSxDQUFDO1FBQUV0RSxTQUFTLEtBQUFiLE1BQUEsQ0FBS2xELFFBQVEsYUFBVTtRQUFBOEgsUUFBQSxFQUFBLENBQzVDbEosSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFBQ2lKLEtBQUssRUFBQyxNQUFNO1VBQUNMLElBQUksRUFBQyxPQUFPO1VBQUNNLEtBQUssRUFBRTNILGdCQUFnQjtVQUFFb0gsT0FBTyxFQUFFUCxjQUFjO1VBQUFLLFFBQUEsRUFDL0V0SDtRQUFXLENBQUEsQ0FDTCxFQUNUNUIsSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFDTGlKLEtBQUssRUFBQyxTQUFTO1VBQ2ZMLElBQUksRUFBQyxPQUFPO1VBQ1pNLEtBQUssRUFBRTNILGdCQUFnQjtVQUN2QjRILFFBQVEsRUFBRSxDQUFDdEQsY0FBYztVQUN6QjhDLE9BQU8sRUFBRVQsV0FBVztVQUFBTyxRQUFBLEVBRW5Cckg7UUFBVyxDQUFBLENBQ0w7TUFBQSxDQUFBLENBQ0o7SUFBQSxDQUFBLENBQ047RUFBQSxDQUNKO0VBRUQsSUFBTWdJLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUE7SUFBQSxPQUNyQjNKLEtBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS2lGLFNBQVMsS0FBQWIsTUFBQSxDQUFLbEQsUUFBUSxhQUFVO01BQUE4SCxRQUFBLEVBQUEsQ0FDbkNoSixLQUFBLENBQUNTLElBQUksRUFBQTtRQUFDbUosS0FBSyxFQUFDLFFBQVE7UUFBQ0wsR0FBRyxFQUFFLENBQUM7UUFBRXRFLFNBQVMsS0FBQWIsTUFBQSxDQUFLbEQsUUFBUSxvQkFBaUI7UUFBQThILFFBQUEsRUFBQSxDQUNsRWxKLElBQUEsQ0FBQ1ksS0FBSyxFQUFBO1VBQ0oySSxJQUFJLEVBQUMsV0FBVztVQUNoQkYsSUFBSSxFQUFFMUgsY0FBYztVQUNwQm9JLFVBQVUsS0FBQXpGLE1BQUEsQ0FBS2xELFFBQVEsZ0JBQWE7VUFDcENnSSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtZQUFBLE9BQVF6QixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7VUFBQTtRQUFBLENBQUEsQ0FDeEMsRUFDRjNILElBQUEsQ0FBQ2dCLGVBQWUsRUFBQTtVQUFDcUksSUFBSSxFQUFDLElBQUk7VUFBQUgsUUFBQSxFQUFFcEg7UUFBa0IsQ0FBQSxDQUFtQjtNQUFBLENBQUEsQ0FDNUQsRUFDUDlCLElBQUEsQ0FBQ1UsUUFBUSxFQUFBO1FBQ1BxSixVQUFVLEtBQUF6RixNQUFBLENBQUtsRCxRQUFRLGVBQVk7UUFDbkM0SSxjQUFjLEVBQUUzSSxrQkFBa0I7UUFDbENnSSxJQUFJLEVBQUMsT0FBTztRQUNaWSxhQUFhLEVBQUMsT0FBTztRQUNyQjNFLFdBQVcsRUFBQyx5QkFBeUI7UUFDckM0RSxhQUFhLEVBQUEsSUFBQTtRQUNiQyxvQkFBb0IsRUFBQSxJQUFBO1FBQ3BCQyxjQUFjLEVBQUUzSSxlQUFlO1FBQy9COEcsS0FBSyxFQUFFUyxhQUFhO1FBQ3BCcUIsUUFBUSxFQUFFdEMsU0FBUztRQUNuQnVDLGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUdoQyxLQUFLO1VBQUEsT0FBS04sWUFBWSxDQUFDTSxLQUFLLENBQUNDLEtBQUssQ0FBQztRQUFBO1FBQ3REZ0MsUUFBUSxFQUFFbEM7TUFBZ0IsQ0FBQSxDQUMxQixFQUNGbkksS0FBQSxDQUFDUyxJQUFJLEVBQUE7UUFBQzhJLEdBQUcsRUFBRSxDQUFDO1FBQUV0RSxTQUFTLEVBQUVsRSxPQUFPLElBQUFxRCxNQUFBLENBQUlsRCxRQUFRLGtCQUFBa0QsTUFBQSxDQUFlbEQsUUFBUSx1QkFBb0IsQ0FBQztRQUFBOEgsUUFBQSxFQUFBLENBQ3RGbEosSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFBQ2lKLEtBQUssRUFBQyxNQUFNO1VBQUNMLElBQUksRUFBQyxPQUFPO1VBQUNNLEtBQUssRUFBRTNILGdCQUFnQjtVQUFFb0gsT0FBTyxFQUFFUCxjQUFjO1VBQUFLLFFBQUEsRUFDL0V0SDtRQUFXLENBQUEsQ0FDTCxFQUNUNUIsSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFDTGlKLEtBQUssRUFBQyxTQUFTO1VBQ2ZMLElBQUksRUFBQyxPQUFPO1VBQ1pNLEtBQUssRUFBRTNILGdCQUFnQjtVQUN2QjRILFFBQVEsRUFBRSxDQUFDOUMsYUFBYSxDQUFDdEQsU0FBUyxJQUFJLENBQUNzRCxhQUFhLENBQUNyRCxPQUFPO1VBQzVEMkYsT0FBTyxFQUFFUixXQUFXO1VBQUFNLFFBQUEsRUFFbkJySDtRQUFXLENBQUEsQ0FDTDtNQUFBLENBQUEsQ0FDSjtJQUFBLENBQUEsQ0FDSDtFQUFBLENBQ1A7RUFFRCxPQUNFN0IsSUFBQSxDQUFDYyxNQUFNLENBQUMwSixNQUFNLEVBQUFsTCxNQUFBLENBQUFtTCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ1I1RSxJQUFJLEVBQUE7SUFDUjtJQUNBO0lBQ0F3RCxJQUFJLEVBQUMsYUFBYTtJQUNsQnFCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCdEYsS0FBSyxFQUFFQSxLQUFLO0lBQ1pFLFdBQVcsRUFBRUEsV0FBVztJQUN4QkgsU0FBUyxFQUFFbEUsT0FBTyxDQUFDRyxRQUFRLEVBQUUrRCxTQUFTLENBQUM7SUFDdkM2RSxjQUFjLEVBQUUxSSxnQkFBZ0I7SUFDaENxSixVQUFVLEVBQUVqRCxlQUFlLEdBQUdsRyxrQkFBa0IsR0FBR0Qsa0JBQWtCO0lBQ3JFMkUsSUFBSSxFQUFFQSxJQUFJO0lBQ1YwRSxZQUFZLEVBQUU5QixnQkFBZ0I7SUFDOUIrQixnQkFBZ0IsRUFDZHZELFlBQVksR0FDUixVQUFBd0QsSUFBQTtNQUFBLElBQUdDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO01BQUEsT0FDVC9LLElBQUEsQ0FBQ2UsY0FBYyxFQUFBO1FBQUNzSSxJQUFJLEVBQUUwQixRQUFRO1FBQUU1RixTQUFTLEtBQUFiLE1BQUEsQ0FBS2xELFFBQVEsWUFBUztRQUFBOEgsUUFBQSxFQUM3RGxKLElBQUEsQ0FBQSxNQUFBLEVBQUE7VUFBTW1GLFNBQVMsS0FBQWIsTUFBQSxDQUFLbEQsUUFBUSxrQkFBZTtVQUFBOEgsUUFBQSxFQUFHNUI7UUFBWSxDQUFBO01BQVEsQ0FBQSxDQUNuRDtJQUFBLENBQ2xCLEdBQ0QsSUFBSTtJQUFBNEIsUUFBQSxFQUdULFNBSFNBLFFBQUFBLENBQUE7TUFBQSxPQUdGeEIsZUFBZSxHQUFHbUMsaUJBQWlCLENBQUEsQ0FBRSxHQUFHWixnQkFBZ0IsQ0FBQSxDQUFFO0lBQUE7RUFBQyxDQUFBLENBQUEsQ0FDckQ7QUFFcEIsQ0FBQztBQUVELE9BQU8sSUFBTStCLGVBQWUsZ0JBQUczSyxJQUFJLENBQUMyRSxtQkFBbUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9DYWxlbmRhcic7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9JY29ucyc7XG5pbXBvcnQgeyBSYWRpbyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvUmFkaW8nO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFLCBEQVRFX1JBTkdFX09QVElPTlMsIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXInO1xuLy8gVGhlIGNhbGVuZGFyIG92ZXJsYXkgaXMgcG9ydGFsZWQgdG8gPGJvZHk+LCBvdXRzaWRlIFdSQVBfQ0xTIOKAlCB0aGlzIGlzIGFcbi8vIHN0YW5kYWxvbmUgdG9wLWxldmVsIGhvb2sgc28gaXRzIFNDU1MgY2FuIGxpZnQgaXQgYWJvdmUgdGhlIGhvc3Rcbi8vIFNlbGVjdC5DdXN0b20gcGFuZWwgKHotaW5kZXggMTUwMCkuXG5jb25zdCBDQUxFTkRBUl9QQU5FTF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXItY2FsZW5kYXItcGFuZWwnO1xuLy8gVGhlIFNlbGVjdC5DdXN0b20gcGFuZWwgaXMgcG9ydGFsZWQgdG8gPGJvZHk+IHRvbyDigJQgdG9wLWxldmVsIGhvb2sgZm9yXG4vLyBzY29waW5nIHBhbmVsLWJvZHkgb3ZlcnJpZGVzIHdpdGhvdXQgbGVha2luZyBpbnRvIG90aGVyIFNlbGVjdCBwYW5lbHMuXG5jb25zdCBTRUxFQ1RfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLXBhbmVsJztcbmNvbnN0IFBBTkVMX1dJRFRIX1BSRVNFVCA9IDI0MDtcbmNvbnN0IFBBTkVMX1dJRFRIX0NVU1RPTSA9IDMyMDtcbmNvbnN0IENBTEVOREFSX01PTlRIUyA9IDI7XG5jb25zdCBDSEVWUk9OX1NJWkUgPSAxNjtcbmNvbnN0IEJBQ0tfSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBSRVNFVF9MQUJFTCA9ICdSZXNldCc7XG5jb25zdCBBUFBMWV9MQUJFTCA9ICdBcHBseSc7XG5jb25zdCBDVVNUT01fUkFOR0VfVElUTEUgPSAnQ3VzdG9tIGRhdGUgcmFuZ2UnO1xuY29uc3QgUkFOR0VfU0VQQVJBVE9SID0gJyAtICc7XG5jb25zdCBGVUxMX1dJRFRIX1NUWUxFID0geyBmbGV4OiAxIH07XG5jb25zdCBbT1BUSU9OX0FMTCwgT1BUSU9OX0xBU1RfMzBfREFZUywgT1BUSU9OX1lFQVJfVE9fREFURSwgT1BUSU9OX0xBU1RfMTJfTU9OVEhTLCBPUFRJT05fQ1VTVE9NLF0gPSBEQVRFX1JBTkdFX09QVElPTlM7XG5jb25zdCBMQVNUXzMwX0RBWVNfQ09VTlQgPSAzMDtcbmNvbnN0IExBU1RfMTJfTU9OVEhTX0NPVU5UID0gMTI7XG5jb25zdCBZRUFSX1NUQVJUX01PTlRIID0gMDsgLy8gSmFudWFyeSAoemVyby1iYXNlZCBtb250aCBpbmRleClcbmNvbnN0IEZJUlNUX0RBWV9PRl9NT05USCA9IDE7XG4vLyBEYXktYm91bmRhcnkgdGltZXMgc28gYW4gYXBwbGllZCByYW5nZSBjb3ZlcnMgd2hvbGUgZGF5cyBpbmNsdXNpdmVseTpcbi8vIHRoZSBzdGFydCBkYXkgZnJvbSAwMDowMDowMC4wMDAgYW5kIHRoZSBlbmQgZGF5IHRocm91Z2ggMjM6NTk6NTkuOTk5LlxuY29uc3QgREFZX1NUQVJUX1RJTUUgPSBbMCwgMCwgMCwgMF07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVlfRU5EX1RJTUUgPSBbMjMsIDU5LCA1OSwgOTk5XTsgLy8gW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtc11cbmNvbnN0IERBVEVfRk9STUFUX0xPQ0FMRSA9ICdlbi1VUyc7XG5jb25zdCBEQVRFX0ZPUk1BVF9PUFRJT05TID0ge1xuICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgeWVhcjogJ251bWVyaWMnLFxufTtcbmNvbnN0IGRhdGVGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChEQVRFX0ZPUk1BVF9MT0NBTEUsIERBVEVfRk9STUFUX09QVElPTlMpO1xuY29uc3QgRU1QVFlfUkFOR0UgPSB7IHN0YXJ0RGF0ZTogbnVsbCwgZW5kRGF0ZTogbnVsbCB9O1xuY29uc3Qgc3RhcnRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9TVEFSVF9USU1FKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbmNvbnN0IGVuZE9mRGF5ID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICByZXN1bHQuc2V0SG91cnMoLi4uREFZX0VORF9USU1FKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbmNvbnN0IGZvcm1hdERhdGUgPSAoZGF0ZSkgPT4gZGF0ZUZvcm1hdHRlci5mb3JtYXQoZGF0ZSk7XG5jb25zdCBmb3JtYXRSYW5nZSA9IChzdGFydCwgZW5kKSA9PiBgJHtmb3JtYXREYXRlKHN0YXJ0KX0ke1JBTkdFX1NFUEFSQVRPUn0ke2Zvcm1hdERhdGUoZW5kKX1gO1xuY29uc3QgZ2V0RGF0ZUZyb21PcHRpb24gPSAob3B0aW9uLCByYW5nZSkgPT4ge1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICBjYXNlIE9QVElPTl9MQVNUXzMwX0RBWVM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0RGF0ZSh0b2RheS5nZXREYXRlKCkgLSBMQVNUXzMwX0RBWVNfQ09VTlQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX1lFQVJfVE9fREFURToge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUodG9kYXkuZ2V0RnVsbFllYXIoKSwgWUVBUl9TVEFSVF9NT05USCwgRklSU1RfREFZX09GX01PTlRIKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9MQVNUXzEyX01PTlRIUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRNb250aCh0b2RheS5nZXRNb250aCgpIC0gTEFTVF8xMl9NT05USFNfQ09VTlQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX0NVU1RPTTpcbiAgICAgICAgICAgIGlmIChyYW5nZS5zdGFydERhdGUgJiYgcmFuZ2UuZW5kRGF0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShyYW5nZS5zdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheShyYW5nZS5lbmREYXRlKSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gQUxMX1RSQU5TQUNUSU9OU19WQUxVRTtcbiAgICB9XG59O1xuY29uc3QgRGF0ZVJhbmdlRmlsdGVyQmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IHJlZiwgY2xhc3NOYW1lLCBsYWJlbCwgcGxhY2Vob2xkZXIgPSAnRGF0ZScsIGFsbFRyYW5zYWN0aW9uc0xhYmVsID0gJ0FsbCB0cmFuc2FjdGlvbnMnLCBkZWZhdWx0U2VsZWN0QWxsID0gZmFsc2UsIG9uQXBwbHksIG9uUmVzZXQgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJyZWZcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiYWxsVHJhbnNhY3Rpb25zTGFiZWxcIiwgXCJkZWZhdWx0U2VsZWN0QWxsXCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxPcHRpb24gPSBkZWZhdWx0U2VsZWN0QWxsID8gT1BUSU9OX0FMTCA6IG51bGw7XG4gICAgY29uc3QgaW5pdGlhbFRleHQgPSBkZWZhdWx0U2VsZWN0QWxsID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiAnJztcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbGVjdGVkT3B0aW9uLCBzZXRTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBzZXRMYXN0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW3NlbGVjdGVkUmFuZ2UsIHNldFNlbGVjdGVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFthcHBsaWVkUmFuZ2UsIHNldEFwcGxpZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW3NlbGVjdGVkVGV4dCwgc2V0U2VsZWN0ZWRUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxUZXh0KTtcbiAgICBjb25zdCBbc2hvd0N1c3RvbVJhbmdlLCBzZXRTaG93Q3VzdG9tUmFuZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttb250aFZpZXcsIHNldE1vbnRoVmlld10gPSB1c2VTdGF0ZSh1bmRlZmluZWQpO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoJycpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICB9LFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGdldERpc3BsYXlMYWJlbCA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IChvcHRpb24gPT09IE9QVElPTl9BTEwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6IG9wdGlvbiksIFthbGxUcmFuc2FjdGlvbnNMYWJlbF0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlRGF0ZVNlbGVjdCA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHN0YXJ0KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBlbmQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGFwcGx5UHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KGdldERhdGVGcm9tT3B0aW9uKHNlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlKSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChnZXREaXNwbGF5TGFiZWwoc2VsZWN0ZWRPcHRpb24pKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UsIG9uQXBwbHksIGdldERpc3BsYXlMYWJlbF0pO1xuICAgIGNvbnN0IGFwcGx5Q3VzdG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gc2VsZWN0ZWRSYW5nZTtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoeyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkoZW5kRGF0ZSkgfSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChmb3JtYXRSYW5nZShzdGFydERhdGUsIGVuZERhdGUpKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKE9QVElPTl9DVVNUT00pO1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZFJhbmdlLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgcmVzZXRTZWxlY3Rpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBPbiBjbG9zZSB3aXRob3V0IEFwcGx5LCBzbmFwIHRoZSBwYW5lbCBiYWNrIHRvIHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZVxuICAgICAgICAvLyBzbyBhbiBhYmFuZG9uZWQgZWRpdCBkb2Vzbid0IGxpbmdlci5cbiAgICAgICAgaWYgKGxhc3RTZWxlY3RlZE9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShhcHBsaWVkUmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGxhc3RTZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBhcHBsaWVkUmFuZ2VdKTtcbiAgICBjb25zdCBjYWxlbmRhclZhbHVlID0gc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVcbiAgICAgICAgPyBzZWxlY3RlZFJhbmdlLmVuZERhdGVcbiAgICAgICAgICAgID8gW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlLCBzZWxlY3RlZFJhbmdlLmVuZERhdGVdXG4gICAgICAgICAgICA6IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZV1cbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHJlbmRlclByZXNldExpc3QgPSAoKSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2xpc3RgLCBjaGlsZHJlbjogREFURV9SQU5HRV9PUFRJT05TLm1hcCgob3B0aW9uKSA9PiAoX2pzeHMoXCJsaVwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2l0ZW1gLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1jdXN0b21gLCBzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uICYmIGAke1dSQVBfQ0xTfV9faXRlbS0tc2VsZWN0ZWRgKSwgb25DbGljazogKCkgPT4gaGFuZGxlSXRlbUNsaWNrKG9wdGlvbiksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBnZXREaXNwbGF5TGFiZWwob3B0aW9uKSB9KSwgb3B0aW9uID09PSBPUFRJT05fQ1VTVE9NID8gKF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25SaWdodCcsIHNpemU6IENIRVZST05fU0laRSB9KSkgOiAoX2pzeChSYWRpbywgeyBzaXplOiAnc21hbGwnLCBjaGVja2VkOiBzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uIH0pKV0gfSwgb3B0aW9uKSkpIH0pLCBfanN4cyhGbGV4LCB7IGdhcDogOCwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGNoaWxkcmVuOiBbX2pzeChCdXR0b24sIHsgY29sb3I6ICdncmV5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIG9uQ2xpY2s6IHJlc2V0U2VsZWN0aW9uLCBjaGlsZHJlbjogUkVTRVRfTEFCRUwgfSksIF9qc3goQnV0dG9uLCB7IGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBkaXNhYmxlZDogIXNlbGVjdGVkT3B0aW9uLCBvbkNsaWNrOiBhcHBseVByZXNldCwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIGNvbnN0IHJlbmRlckN1c3RvbVJhbmdlID0gKCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2N1c3RvbWAsIGNoaWxkcmVuOiBbX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2N1c3RvbS1oZWFkZXJgLCBjaGlsZHJlbjogW19qc3goSWNvbnMsIHsgbmFtZTogJ2Fycm93TGVmdCcsIHNpemU6IEJBQ0tfSUNPTl9TSVpFLCB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2JhY2staWNvbmAsIG9uQ2xpY2s6ICgpID0+IHNldFNob3dDdXN0b21SYW5nZShmYWxzZSkgfSksIF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6ICdsZycsIGNoaWxkcmVuOiBDVVNUT01fUkFOR0VfVElUTEUgfSldIH0pLCBfanN4KENhbGVuZGFyLCB7IHdyYXBwZXJDbHM6IGAke1dSQVBfQ0xTfV9fY2FsZW5kYXJgLCBwYW5lbENsYXNzTmFtZTogQ0FMRU5EQVJfUEFORUxfQ0xTLCBzaXplOiAnc21hbGwnLCBzZWxlY3Rpb25Nb2RlOiAncmFuZ2UnLCBwbGFjZWhvbGRlcjogJ01NL0REL1lZWVkgLSBNTS9ERC9ZWVlZJywgcmVhZE9ubHlJbnB1dDogdHJ1ZSwgaGlkZU9uUmFuZ2VTZWxlY3Rpb246IHRydWUsIG51bWJlck9mTW9udGhzOiBDQUxFTkRBUl9NT05USFMsIHZhbHVlOiBjYWxlbmRhclZhbHVlLCB2aWV3RGF0ZTogbW9udGhWaWV3LCBvblZpZXdEYXRlQ2hhbmdlOiAoZXZlbnQpID0+IHNldE1vbnRoVmlldyhldmVudC52YWx1ZSksIG9uQ2hhbmdlOiBoYW5kbGVEYXRlU2VsZWN0IH0pLCBfanN4cyhGbGV4LCB7IGdhcDogOCwgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgYCR7V1JBUF9DTFN9X19mb290ZXItLWJvcmRlcmVkYCksIGNoaWxkcmVuOiBbX2pzeChCdXR0b24sIHsgY29sb3I6ICdncmV5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIG9uQ2xpY2s6IHJlc2V0U2VsZWN0aW9uLCBjaGlsZHJlbjogUkVTRVRfTEFCRUwgfSksIF9qc3goQnV0dG9uLCB7IGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBkaXNhYmxlZDogIXNlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlIHx8ICFzZWxlY3RlZFJhbmdlLmVuZERhdGUsIG9uQ2xpY2s6IGFwcGx5Q3VzdG9tLCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pXSB9KSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdC5DdXN0b20sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgXG4gICAgICAgIC8vIEZpeGVkIDMycHggXCJFeHRyYSBTbWFsbFwiIHRyaWdnZXIgdmlhIHRoZSBuYXRpdmUgU2VsZWN0IGBleHRyYS1zbWFsbGBcbiAgICAgICAgLy8gc2l6ZTsgbG9ja2VkIGhlcmUgcmF0aGVyIHRoYW4gZXhwb3NlZCBhcyBhIHByb3AuXG4gICAgICAgIHNpemU6ICdleHRyYS1zbWFsbCcsIGFuaW1hdGlvbjogZmFsc2UsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBTRUxFQ1RfUEFORUxfQ0xTLCBwYW5lbFdpZHRoOiBzaG93Q3VzdG9tUmFuZ2UgPyBQQU5FTF9XSURUSF9DVVNUT00gOiBQQU5FTF9XSURUSF9QUkVTRVQsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRUZXh0XG4gICAgICAgICAgICA/ICh7IGZvbnRTaXplIH0pID0+IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWVgLCBjaGlsZHJlbjogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogc2VsZWN0ZWRUZXh0IH0pIH0pKVxuICAgICAgICAgICAgOiBudWxsLCBjaGlsZHJlbjogKCkgPT4gKHNob3dDdXN0b21SYW5nZSA/IHJlbmRlckN1c3RvbVJhbmdlKCkgOiByZW5kZXJQcmVzZXRMaXN0KCkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZUZpbHRlciA9IG1lbW8oRGF0ZVJhbmdlRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -12,8 +12,51 @@ import { memo, useMemo } from 'react';
12
12
  import { Flex } from '../../../components/Flex';
13
13
  import { Select } from '../../../components/Select';
14
14
  import { TypographyBody } from '../../../components/Typography';
15
+ import { joinCls } from '../../../utils/classnames';
16
+ var WRAP_CLS = 'om-country-select';
17
+ var FLAG_CLS = "".concat(WRAP_CLS, "-flag");
18
+ var FLAG_DISABLED_CLS = "".concat(FLAG_CLS, "-disabled");
19
+ var US_CODE = 'US';
20
+ var DEFAULT_UNAVAILABLE_LABEL = 'Not available';
21
+ var toItems = function toItems(options) {
22
+ return Array.isArray(options) ? options : Object.entries(options !== null && options !== void 0 ? options : {}).map(function (_ref) {
23
+ var _ref2 = _slicedToArray(_ref, 2),
24
+ code = _ref2[0],
25
+ name = _ref2[1];
26
+ return {
27
+ code: code,
28
+ name: name
29
+ };
30
+ });
31
+ };
32
+ var byUsThenName = function byUsThenName(a, b) {
33
+ return a.code === US_CODE ? -1 : b.code === US_CODE ? 1 : a.name.localeCompare(b.name);
34
+ };
35
+ var toOption = function toOption(country) {
36
+ var _a;
37
+ // Fail closed: only an absent status or an explicit AVAILABLE stays
38
+ // selectable, so a status this version does not know stays unselectable.
39
+ var disabled = country.status !== undefined && country.status !== 'AVAILABLE';
40
+ return Object.assign({
41
+ value: country.code,
42
+ label: country.name,
43
+ searchText: "".concat(country.name, " ").concat(country.code),
44
+ disabled: disabled
45
+ }, disabled ? {
46
+ badge: {
47
+ label: (_a = country.unavailableLabel) !== null && _a !== void 0 ? _a : DEFAULT_UNAVAILABLE_LABEL
48
+ }
49
+ } : {});
50
+ };
51
+ var renderFlag = function renderFlag(code, disabled) {
52
+ return _jsx("span", {
53
+ className: joinCls(FLAG_CLS, "fi fis fi-".concat(String(code).toLowerCase()), disabled && FLAG_DISABLED_CLS),
54
+ "aria-hidden": true
55
+ });
56
+ };
15
57
  var CountrySelectBase = function CountrySelectBase(_a) {
16
58
  var options = _a.options,
59
+ className = _a.className,
17
60
  _a$label = _a.label,
18
61
  label = _a$label === void 0 ? 'Country' : _a$label,
19
62
  _a$placeholder = _a.placeholder,
@@ -24,62 +67,50 @@ var CountrySelectBase = function CountrySelectBase(_a) {
24
67
  filterInputAutoFocus = _a$filterInputAutoFoc === void 0 ? true : _a$filterInputAutoFoc,
25
68
  _a$strong = _a.strong,
26
69
  strong = _a$strong === void 0 ? true : _a$strong,
27
- rest = __rest(_a, ["options", "label", "placeholder", "searchable", "filterInputAutoFocus", "strong"]);
70
+ rest = __rest(_a, ["options", "className", "label", "placeholder", "searchable", "filterInputAutoFocus", "strong"]);
28
71
  var countries = useMemo(function () {
29
- return Object.entries(options !== null && options !== void 0 ? options : {}).sort(function (_ref, _ref2) {
30
- var _ref3 = _slicedToArray(_ref, 2),
31
- a = _ref3[0],
32
- an = _ref3[1];
33
- var _ref4 = _slicedToArray(_ref2, 2),
34
- b = _ref4[0],
35
- bn = _ref4[1];
36
- return a === 'US' ? -1 : b === 'US' ? 1 : an.localeCompare(bn);
37
- }).map(function (_ref5) {
38
- var _ref6 = _slicedToArray(_ref5, 2),
39
- code = _ref6[0],
40
- name = _ref6[1];
41
- return {
42
- value: code,
43
- label: name,
44
- searchText: "".concat(name, " ").concat(code)
45
- };
46
- });
72
+ return toItems(options).slice().sort(byUsThenName).map(toOption);
47
73
  }, [options]);
48
74
  return _jsx(Select, Object.assign({}, rest, {
49
75
  label: label,
50
76
  placeholder: placeholder,
51
77
  searchable: searchable,
52
78
  filterInputAutoFocus: filterInputAutoFocus,
79
+ className: joinCls(WRAP_CLS, className),
53
80
  options: countries,
54
- renderValue: function renderValue(option, _ref7) {
55
- var fontSize = _ref7.fontSize;
81
+ renderValue: function renderValue(option, _ref3) {
82
+ var fontSize = _ref3.fontSize;
56
83
  return !option || Array.isArray(option) ? placeholder : _jsxs(Flex, {
57
84
  align: 'center',
58
85
  gap: 8,
59
- children: [_jsx("span", {
60
- className: "fi fi-".concat(String(option.value).toLowerCase()),
61
- "aria-hidden": true
62
- }), _jsx(TypographyBody, {
86
+ children: [renderFlag(option.value, false), _jsx(TypographyBody, {
63
87
  size: fontSize,
64
88
  strong: strong,
65
89
  children: option.label
66
90
  })]
67
91
  });
68
92
  },
69
- renderOptionContent: function renderOptionContent(option, _ref8) {
70
- var fontSize = _ref8.fontSize;
71
- return _jsxs(Flex, {
72
- align: 'center',
73
- gap: 8,
74
- children: [_jsx("span", {
75
- className: "fi fi-".concat(String(option.value).toLowerCase()),
76
- "aria-hidden": true
77
- }), _jsx(TypographyBody, {
78
- size: fontSize,
79
- strong: strong,
80
- children: option.label
81
- })]
82
- });
93
+ renderOptionContent: function renderOptionContent(option, _ref4) {
94
+ var fontSize = _ref4.fontSize,
95
+ disabled = _ref4.disabled;
96
+ return (
97
+ // `flex: 1` (not width 100%) so `Select` can lay the availability tag
98
+ // and the selected check out after this content.
99
+ _jsxs(Flex, {
100
+ align: 'center',
101
+ gap: 8,
102
+ style: {
103
+ flex: '1 1 auto',
104
+ minWidth: 0
105
+ },
106
+ children: [renderFlag(option.value, disabled), _jsx(TypographyBody, {
107
+ size: fontSize,
108
+ strong: strong,
109
+ disabled: disabled,
110
+ children: option.label
111
+ })]
112
+ })
113
+ );
83
114
  }
84
115
  }));
85
116
  };
@@ -88,4 +119,4 @@ export var CountrySelect = /*#__PURE__*/memo(CountrySelectBase);
88
119
  // memo() wipes the inferred name, so without this the Item silently skips
89
120
  // value/onChange injection unless the call site happens to pass a placeholder.
90
121
  CountrySelect.displayName = 'CountrySelect';
91
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VNZW1vIiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5IiwiQ291bnRyeVNlbGVjdEJhc2UiLCJfYSIsIm9wdGlvbnMiLCJfYSRsYWJlbCIsImxhYmVsIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJHNlYXJjaGFibGUiLCJzZWFyY2hhYmxlIiwiX2EkZmlsdGVySW5wdXRBdXRvRm9jIiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJfYSRzdHJvbmciLCJzdHJvbmciLCJyZXN0IiwiY291bnRyaWVzIiwiZW50cmllcyIsInNvcnQiLCJfcmVmIiwiX3JlZjIiLCJfcmVmMyIsIl9zbGljZWRUb0FycmF5IiwiYSIsImFuIiwiX3JlZjQiLCJiIiwiYm4iLCJsb2NhbGVDb21wYXJlIiwibWFwIiwiX3JlZjUiLCJfcmVmNiIsImNvZGUiLCJuYW1lIiwidmFsdWUiLCJzZWFyY2hUZXh0IiwiY29uY2F0IiwiYXNzaWduIiwicmVuZGVyVmFsdWUiLCJvcHRpb24iLCJfcmVmNyIsImZvbnRTaXplIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJnYXAiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIlN0cmluZyIsInRvTG93ZXJDYXNlIiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJfcmVmOCIsIkNvdW50cnlT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O0FBRU4sQ0FBQztBQUVELE9BQU8sSUFBTStDLGFBQWEsZ0JBQUd4RCxJQUFJLENBQUNLLGlCQUFpQixDQUFDO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBbUQsYUFBYSxDQUFDQyxXQUFXLEdBQUcsZUFBZSIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvQ291bnRyeS9Db3VudHJ5U2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmNvbnN0IENvdW50cnlTZWxlY3RCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgb3B0aW9ucywgbGFiZWwgPSAnQ291bnRyeScsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBjb3VudHJ5Jywgc2VhcmNoYWJsZSA9IHRydWUsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgc3Ryb25nID0gdHJ1ZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwic2VhcmNoYWJsZVwiLCBcImZpbHRlcklucHV0QXV0b0ZvY3VzXCIsIFwic3Ryb25nXCJdKTtcbiAgICBjb25zdCBjb3VudHJpZXMgPSB1c2VNZW1vKCgpID0+IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IHt9KVxuICAgICAgICAuc29ydCgoW2EsIGFuXSwgW2IsIGJuXSkgPT4gKGEgPT09ICdVUycgPyAtMSA6IGIgPT09ICdVUycgPyAxIDogYW4ubG9jYWxlQ29tcGFyZShibikpKVxuICAgICAgICAubWFwKChbY29kZSwgbmFtZV0pID0+ICh7IHZhbHVlOiBjb2RlLCBsYWJlbDogbmFtZSwgc2VhcmNoVGV4dDogYCR7bmFtZX0gJHtjb2RlfWAgfSkpLCBbb3B0aW9uc10pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHNlYXJjaGFibGU6IHNlYXJjaGFibGUsIGZpbHRlcklucHV0QXV0b0ZvY3VzOiBmaWx0ZXJJbnB1dEF1dG9Gb2N1cywgb3B0aW9uczogY291bnRyaWVzLCByZW5kZXJWYWx1ZTogKG9wdGlvbiwgeyBmb250U2l6ZSB9KSA9PiAhb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSA/IChwbGFjZWhvbGRlcikgOiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogYGZpIGZpLSR7U3RyaW5nKG9wdGlvbi52YWx1ZSkudG9Mb3dlckNhc2UoKX1gLCBcImFyaWEtaGlkZGVuXCI6IHRydWUgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pXSB9KSksIHJlbmRlck9wdGlvbkNvbnRlbnQ6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGBmaSBmaS0ke1N0cmluZyhvcHRpb24udmFsdWUpLnRvTG93ZXJDYXNlKCl9YCwgXCJhcmlhLWhpZGRlblwiOiB0cnVlIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IG9wdGlvbi5sYWJlbCB9KV0gfSkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IENvdW50cnlTZWxlY3QgPSBtZW1vKENvdW50cnlTZWxlY3RCYXNlKTtcbi8vIFByb0Zvcm0uSXRlbSByZWNvZ25pemVzIGZvcm0gY29udHJvbHMgYnkgZGlzcGxheU5hbWUgKEZPUk1fQ09NUE9ORU5UX05BTUVTKTtcbi8vIG1lbW8oKSB3aXBlcyB0aGUgaW5mZXJyZWQgbmFtZSwgc28gd2l0aG91dCB0aGlzIHRoZSBJdGVtIHNpbGVudGx5IHNraXBzXG4vLyB2YWx1ZS9vbkNoYW5nZSBpbmplY3Rpb24gdW5sZXNzIHRoZSBjYWxsIHNpdGUgaGFwcGVucyB0byBwYXNzIGEgcGxhY2Vob2xkZXIuXG5Db3VudHJ5U2VsZWN0LmRpc3BsYXlOYW1lID0gJ0NvdW50cnlTZWxlY3QnOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
122
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VNZW1vIiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5Iiwiam9pbkNscyIsIldSQVBfQ0xTIiwiRkxBR19DTFMiLCJjb25jYXQiLCJGTEFHX0RJU0FCTEVEX0NMUyIsIlVTX0NPREUiLCJERUZBVUxUX1VOQVZBSUxBQkxFX0xBQkVMIiwidG9JdGVtcyIsIm9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJlbnRyaWVzIiwibWFwIiwiX3JlZiIsIl9yZWYyIiwiX3NsaWNlZFRvQXJyYXkiLCJjb2RlIiwibmFtZSIsImJ5VXNUaGVuTmFtZSIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsInRvT3B0aW9uIiwiY291bnRyeSIsIl9hIiwiZGlzYWJsZWQiLCJzdGF0dXMiLCJ1bmRlZmluZWQiLCJhc3NpZ24iLCJ2YWx1ZSIsImxhYmVsIiwic2VhcmNoVGV4dCIsImJhZGdlIiwidW5hdmFpbGFibGVMYWJlbCIsInJlbmRlckZsYWciLCJjbGFzc05hbWUiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIkNvdW50cnlTZWxlY3RCYXNlIiwiX2EkbGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsInJlc3QiLCJjb3VudHJpZXMiLCJzbGljZSIsInNvcnQiLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWYzIiwiZm9udFNpemUiLCJhbGlnbiIsImdhcCIsImNoaWxkcmVuIiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJfcmVmNCIsInN0eWxlIiwiZmxleCIsIm1pbldpZHRoIiwiQ291bnRyeVNlbGVjdCIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FB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b0MsS0FBQSxDQUFScEMsUUFBUTtNQUFBO1FBQ2hEO1FBQ0E7UUFDQS9CLEtBQUEsQ0FBQ0csSUFBSSxFQUFBO1VBQUMyRCxLQUFLLEVBQUMsUUFBUTtVQUFDQyxHQUFHLEVBQUUsQ0FBQztVQUFFSyxLQUFLLEVBQUU7WUFBRUMsSUFBSSxFQUFFLFVBQVU7WUFBRUMsUUFBUSxFQUFFO1VBQUMsQ0FBRTtVQUFBTixRQUFBLEVBQUEsQ0FDbEV4QixVQUFVLENBQUNtQixNQUFNLENBQUN4QixLQUFLLEVBQUVKLFFBQVEsQ0FBQyxFQUNuQ2pDLElBQUEsQ0FBQ08sY0FBYyxFQUFBO1lBQUM0RCxJQUFJLEVBQUVKLFFBQVE7WUFBRVIsTUFBTSxFQUFFQSxNQUFNO1lBQUV0QixRQUFRLEVBQUVBLFFBQVE7WUFBQWlDLFFBQUEsRUFDL0RMLE1BQU0sQ0FBQ3ZCO1VBQUssQ0FBQSxDQUNFO1FBQUEsQ0FBQTtNQUNaO0lBQUE7RUFDUixDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU1tQyxhQUFhLGdCQUFHdEUsSUFBSSxDQUFDMkMsaUJBQWlCLENBQUM7QUFDcEQ7QUFDQTtBQUNBO0FBQ0EyQixhQUFhLENBQUNDLFdBQVcsR0FBRyxlQUFlIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tY291bnRyeS1zZWxlY3QnO1xuY29uc3QgRkxBR19DTFMgPSBgJHtXUkFQX0NMU30tZmxhZ2A7XG5jb25zdCBGTEFHX0RJU0FCTEVEX0NMUyA9IGAke0ZMQUdfQ0xTfS1kaXNhYmxlZGA7XG5jb25zdCBVU19DT0RFID0gJ1VTJztcbmNvbnN0IERFRkFVTFRfVU5BVkFJTEFCTEVfTEFCRUwgPSAnTm90IGF2YWlsYWJsZSc7XG5jb25zdCB0b0l0ZW1zID0gKG9wdGlvbnMpID0+IEFycmF5LmlzQXJyYXkob3B0aW9ucylcbiAgICA/IG9wdGlvbnNcbiAgICA6IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMgIT09IG51bGwgJiYgb3B0aW9ucyAhPT0gdm9pZCAwID8gb3B0aW9ucyA6IHt9KS5tYXAoKFtjb2RlLCBuYW1lXSkgPT4gKHsgY29kZSwgbmFtZSB9KSk7XG5jb25zdCBieVVzVGhlbk5hbWUgPSAoYSwgYikgPT4gYS5jb2RlID09PSBVU19DT0RFID8gLTEgOiBiLmNvZGUgPT09IFVTX0NPREUgPyAxIDogYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcbmNvbnN0IHRvT3B0aW9uID0gKGNvdW50cnkpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgLy8gRmFpbCBjbG9zZWQ6IG9ubHkgYW4gYWJzZW50IHN0YXR1cyBvciBhbiBleHBsaWNpdCBBVkFJTEFCTEUgc3RheXNcbiAgICAvLyBzZWxlY3RhYmxlLCBzbyBhIHN0YXR1cyB0aGlzIHZlcnNpb24gZG9lcyBub3Qga25vdyBzdGF5cyB1bnNlbGVjdGFibGUuXG4gICAgY29uc3QgZGlzYWJsZWQgPSBjb3VudHJ5LnN0YXR1cyAhPT0gdW5kZWZpbmVkICYmIGNvdW50cnkuc3RhdHVzICE9PSAnQVZBSUxBQkxFJztcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IHZhbHVlOiBjb3VudHJ5LmNvZGUsIGxhYmVsOiBjb3VudHJ5Lm5hbWUsIHNlYXJjaFRleHQ6IGAke2NvdW50cnkubmFtZX0gJHtjb3VudHJ5LmNvZGV9YCwgZGlzYWJsZWQgfSwgKGRpc2FibGVkXG4gICAgICAgID8geyBiYWRnZTogeyBsYWJlbDogKF9hID0gY291bnRyeS51bmF2YWlsYWJsZUxhYmVsKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1VOQVZBSUxBQkxFX0xBQkVMIH0gfVxuICAgICAgICA6IHt9KSk7XG59O1xuY29uc3QgcmVuZGVyRmxhZyA9IChjb2RlLCBkaXNhYmxlZCkgPT4gKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKEZMQUdfQ0xTLCBgZmkgZmlzIGZpLSR7U3RyaW5nKGNvZGUpLnRvTG93ZXJDYXNlKCl9YCwgZGlzYWJsZWQgJiYgRkxBR19ESVNBQkxFRF9DTFMpLCBcImFyaWEtaGlkZGVuXCI6IHRydWUgfSkpO1xuY29uc3QgQ291bnRyeVNlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsID0gJ0NvdW50cnknLCBwbGFjZWhvbGRlciA9ICdTZWxlY3QgY291bnRyeScsIHNlYXJjaGFibGUgPSB0cnVlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIHN0cm9uZyA9IHRydWUgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNlYXJjaGFibGVcIiwgXCJmaWx0ZXJJbnB1dEF1dG9Gb2N1c1wiLCBcInN0cm9uZ1wiXSk7XG4gICAgY29uc3QgY291bnRyaWVzID0gdXNlTWVtbygoKSA9PiB0b0l0ZW1zKG9wdGlvbnMpLnNsaWNlKCkuc29ydChieVVzVGhlbk5hbWUpLm1hcCh0b09wdGlvbiksIFtvcHRpb25zXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgc2VhcmNoYWJsZTogc2VhcmNoYWJsZSwgZmlsdGVySW5wdXRBdXRvRm9jdXM6IGZpbHRlcklucHV0QXV0b0ZvY3VzLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIG9wdGlvbnM6IGNvdW50cmllcywgcmVuZGVyVmFsdWU6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4gIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikgPyAocGxhY2Vob2xkZXIpIDogKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbcmVuZGVyRmxhZyhvcHRpb24udmFsdWUsIGZhbHNlKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBvcHRpb24ubGFiZWwgfSldIH0pKSwgcmVuZGVyT3B0aW9uQ29udGVudDogKG9wdGlvbiwgeyBmb250U2l6ZSwgZGlzYWJsZWQgfSkgPT4gKFxuICAgICAgICAvLyBgZmxleDogMWAgKG5vdCB3aWR0aCAxMDAlKSBzbyBgU2VsZWN0YCBjYW4gbGF5IHRoZSBhdmFpbGFiaWxpdHkgdGFnXG4gICAgICAgIC8vIGFuZCB0aGUgc2VsZWN0ZWQgY2hlY2sgb3V0IGFmdGVyIHRoaXMgY29udGVudC5cbiAgICAgICAgX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgc3R5bGU6IHsgZmxleDogJzEgMSBhdXRvJywgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtyZW5kZXJGbGFnKG9wdGlvbi52YWx1ZSwgZGlzYWJsZWQpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pXSB9KSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQ291bnRyeVNlbGVjdCA9IG1lbW8oQ291bnRyeVNlbGVjdEJhc2UpO1xuLy8gUHJvRm9ybS5JdGVtIHJlY29nbml6ZXMgZm9ybSBjb250cm9scyBieSBkaXNwbGF5TmFtZSAoRk9STV9DT01QT05FTlRfTkFNRVMpO1xuLy8gbWVtbygpIHdpcGVzIHRoZSBpbmZlcnJlZCBuYW1lLCBzbyB3aXRob3V0IHRoaXMgdGhlIEl0ZW0gc2lsZW50bHkgc2tpcHNcbi8vIHZhbHVlL29uQ2hhbmdlIGluamVjdGlvbiB1bmxlc3MgdGhlIGNhbGwgc2l0ZSBoYXBwZW5zIHRvIHBhc3MgYSBwbGFjZWhvbGRlci5cbkNvdW50cnlTZWxlY3QuZGlzcGxheU5hbWUgPSAnQ291bnRyeVNlbGVjdCc7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,26 +1,42 @@
1
1
  import type { SelectProps } from "../../../components/Select";
2
+ /**
3
+ * Whether a country can be selected. Consumers must treat any value they do not
4
+ * recognise as not selectable, so a future variant cannot slip through as valid.
5
+ */
6
+ export type CountryAvailability = 'AVAILABLE' | 'NOT_AVAILABLE';
7
+ export interface CountryItem {
8
+ /** ISO-3166-1 alpha-2, e.g. `US`. */
9
+ code: string;
10
+ name: string;
11
+ /** Omitted means selectable. Anything other than `AVAILABLE` disables the option. */
12
+ status?: CountryAvailability;
13
+ /**
14
+ * Tag text shown on a disabled option.
15
+ * @default 'Not available'
16
+ */
17
+ unavailableLabel?: string;
18
+ }
2
19
  export interface CountrySelectProps extends Omit<SelectProps, 'options' | 'renderValue' | 'renderOption' | 'renderOptionContent'> {
3
20
  /**
4
- * Map of ISO-3166-1 alpha-2 country code (e.g. `US`, `GB`) to display name
5
- * the shape returned by typical country/i18n APIs. The component sorts
6
- * entries with `US` pinned to the top and the rest alphabetically, and
7
- * renders each option with its flag via the `flag-icons` CSS class
8
- * `fi fi-<lowercase-code>`. Consumers must import
21
+ * Either a plain `code name` map, or `CountryItem[]` when options carry an
22
+ * availability status. Both forms sort with `US` pinned to the top and the
23
+ * rest alphabetically, and render each option with its flag via the
24
+ * `flag-icons` classes `fi fis fi-<lowercase-code>`. Consumers must import
9
25
  * `flag-icons/css/flag-icons.css` at their app entry.
10
26
  *
11
27
  * @example
12
- * ```ts
13
- * const countries: Record<string, string> = {
14
- * US: 'United States',
15
- * GB: 'United Kingdom',
16
- * JP: 'Japan',
17
- * AD: 'Andorra',
18
- * // ...
19
- * };
20
- * <CountrySelect options={countries} />
28
+ * ```tsx
29
+ * <CountrySelect options={{ US: 'United States', GB: 'United Kingdom' }} />
30
+ *
31
+ * <CountrySelect
32
+ * options={[
33
+ * { code: 'US', name: 'United States', status: 'AVAILABLE' },
34
+ * { code: 'RU', name: 'Russia', status: 'NOT_AVAILABLE' },
35
+ * ]}
36
+ * />
21
37
  * ```
22
38
  */
23
- options: Record<string, string>;
39
+ options: Record<string, string> | CountryItem[];
24
40
  /**
25
41
  * Bold the country name in both the trigger and the dropdown options.
26
42
  * @default true
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Retrieves the spacing value for a given token key.
3
+ *
4
+ * @param {string} $key - The spacing token key (e.g., '100', '200').
5
+ * @return {length|null} The computed spacing value or null if the key is invalid.
6
+ * @example
7
+ * .element {
8
+ * padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
9
+ * }
10
+ */
11
+ /**
12
+ * Computes the spacing value based on a token key or a direct length value.
13
+ *
14
+ * @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
15
+ * @return {length} The computed spacing value.
16
+ * @example
17
+ * .element {
18
+ * margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
19
+ * padding: om-spacing-value(16px); // Returns 16px
20
+ * gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
21
+ * }
22
+ */
23
+ .om-country-select-flag.fi.fis {
24
+ flex: 0 0 auto;
25
+ width: 24px;
26
+ height: 24px;
27
+ background-size: cover;
28
+ border-radius: var(--om-radius-full, 9999px);
29
+ }
30
+
31
+ .om-country-select-flag-disabled {
32
+ opacity: 0.4;
33
+ }
@@ -0,0 +1,2 @@
1
+ import './CountrySelect.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3NyYy9idXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1 @@
1
+ import './CountrySelect.css';
@@ -0,0 +1,2 @@
1
+ import './CountrySelect.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3NyYy9idXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==