ngx-tethys 18.1.1 → 18.2.0-next.1

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 (265) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/alert/styles/mixin.scss +1 -1
  3. package/anchor/style/anchor.scss +4 -2
  4. package/autocomplete/autocomplete.component.d.ts +2 -1
  5. package/avatar/styles/avatar.scss +1 -1
  6. package/back-top/styles/back-top.scss +3 -3
  7. package/button/styles/button-group.scss +9 -9
  8. package/button/styles/button.scss +2 -6
  9. package/button/styles/mixin.scss +6 -53
  10. package/calendar/calendar-header.component.d.ts +2 -0
  11. package/calendar/styles/calendar.scss +3 -11
  12. package/card/styles/card.scss +3 -3
  13. package/carousel/styles/carousel.scss +10 -10
  14. package/cascader/cascader.component.d.ts +1 -0
  15. package/cascader/styles/cascader.scss +3 -2
  16. package/collapse/styles/collapse.scss +4 -2
  17. package/color-picker/color-picker-panel.component.d.ts +3 -1
  18. package/color-picker/styles/alpha.scss +1 -1
  19. package/color-picker/styles/color-picker-panel.scss +1 -1
  20. package/color-picker/styles/hue.scss +1 -1
  21. package/color-picker/styles/saturation.scss +1 -1
  22. package/comment/styles/mixin.scss +1 -1
  23. package/copy/copy.directive.d.ts +1 -0
  24. package/core/index.d.ts +1 -0
  25. package/core/theme/index.d.ts +2 -0
  26. package/core/theme/store.d.ts +12 -0
  27. package/core/theme/theme.d.ts +5 -0
  28. package/date-picker/abstract-picker.component.d.ts +3 -1
  29. package/date-picker/date-helper.service.d.ts +3 -0
  30. package/date-picker/date-picker.config.d.ts +7 -1
  31. package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -1
  32. package/date-picker/lib/calendar/calendar-header.component.d.ts +3 -1
  33. package/date-picker/lib/calendar/calendar-table.component.d.ts +3 -1
  34. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +4 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +3 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +3 -1
  37. package/date-picker/styles/calendar.scss +1 -1
  38. package/date-picker/styles/decade-panel.scss +1 -1
  39. package/date-picker/styles/picker.scss +1 -1
  40. package/date-picker/styles/range-picker.scss +3 -3
  41. package/date-picker/styles/year-panel.scss +2 -2
  42. package/date-range/date-range.component.d.ts +2 -0
  43. package/date-range/optional-dates/optional-dates.component.d.ts +1 -0
  44. package/dialog/confirm/confirm.component.d.ts +1 -0
  45. package/dialog/confirm.config.d.ts +14 -7
  46. package/dialog/styles/dialog.scss +6 -6
  47. package/dropdown/styles/dropdown.scss +3 -3
  48. package/empty/empty.component.d.ts +14 -9
  49. package/empty/empty.config.d.ts +3 -0
  50. package/empty/styles/empty.scss +22 -2
  51. package/esm2022/autocomplete/autocomplete.component.mjs +5 -3
  52. package/esm2022/calendar/calendar-header.component.mjs +9 -5
  53. package/esm2022/carousel/carousel.component.mjs +3 -3
  54. package/esm2022/cascader/cascader.component.mjs +5 -3
  55. package/esm2022/checkbox/checkbox.component.mjs +1 -1
  56. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -3
  57. package/esm2022/copy/copy.directive.mjs +7 -5
  58. package/esm2022/core/index.mjs +2 -1
  59. package/esm2022/core/theme/index.mjs +3 -0
  60. package/esm2022/core/theme/store.mjs +42 -0
  61. package/esm2022/core/theme/theme.mjs +2 -0
  62. package/esm2022/date-picker/abstract-picker.component.mjs +4 -2
  63. package/esm2022/date-picker/base-picker.component.mjs +2 -2
  64. package/esm2022/date-picker/date-helper.service.mjs +4 -2
  65. package/esm2022/date-picker/date-picker.component.mjs +1 -1
  66. package/esm2022/date-picker/date-picker.config.mjs +55 -2
  67. package/esm2022/date-picker/date-picker.directive.mjs +1 -1
  68. package/esm2022/date-picker/date-picker.service.mjs +3 -3
  69. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -3
  70. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +3 -1
  71. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +3 -1
  72. package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -5
  73. package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
  74. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +9 -4
  75. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +3 -3
  76. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  77. package/esm2022/date-picker/lib/month/month-table.component.mjs +3 -2
  78. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +5 -3
  79. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -3
  80. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -3
  81. package/esm2022/date-picker/month-picker.component.mjs +1 -1
  82. package/esm2022/date-picker/quarter-picker.component.mjs +1 -1
  83. package/esm2022/date-picker/range-picker.component.mjs +1 -1
  84. package/esm2022/date-picker/range-picker.directive.mjs +1 -1
  85. package/esm2022/date-picker/week-picker.component.mjs +1 -1
  86. package/esm2022/date-picker/year-picker.component.mjs +1 -1
  87. package/esm2022/date-range/date-range.component.mjs +7 -4
  88. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -2
  89. package/esm2022/dialog/confirm/confirm.component.mjs +14 -3
  90. package/esm2022/dialog/confirm.config.mjs +17 -2
  91. package/esm2022/empty/empty.component.mjs +7 -2
  92. package/esm2022/empty/empty.config.mjs +4 -1
  93. package/esm2022/empty/svgs.mjs +103 -8
  94. package/esm2022/form/form-validator-loader.mjs +17 -15
  95. package/esm2022/guider/guider-hint/guider-hint.component.mjs +5 -3
  96. package/esm2022/i18n/i18n.mjs +2 -0
  97. package/esm2022/i18n/i18n.service.mjs +39 -0
  98. package/esm2022/i18n/i18n.token.mjs +8 -0
  99. package/esm2022/i18n/index.mjs +7 -0
  100. package/esm2022/i18n/locale.mjs +14 -0
  101. package/esm2022/i18n/locales/en-us.mjs +147 -0
  102. package/esm2022/i18n/locales/zh-cn.mjs +127 -0
  103. package/esm2022/i18n/ngx-tethys-i18n.mjs +5 -0
  104. package/esm2022/notify/notify.component.mjs +3 -3
  105. package/esm2022/pagination/pagination.component.mjs +22 -5
  106. package/esm2022/pagination/pagination.module.mjs +26 -5
  107. package/esm2022/pagination/pagination.pipe.mjs +22 -1
  108. package/esm2022/radio/button/radio-button.component.mjs +1 -1
  109. package/esm2022/radio/radio.component.mjs +1 -1
  110. package/esm2022/result/result.component.mjs +3 -3
  111. package/esm2022/select/custom-select/custom-select.component.mjs +9 -3
  112. package/esm2022/strength/strength.component.mjs +21 -20
  113. package/esm2022/table/table-skeleton.component.mjs +3 -3
  114. package/esm2022/time-picker/time-picker-panel.component.mjs +5 -3
  115. package/esm2022/time-picker/time-picker.component.mjs +4 -2
  116. package/esm2022/transfer/transfer-list.component.mjs +5 -3
  117. package/esm2022/tree-select/tree-select.component.mjs +5 -3
  118. package/esm2022/version.mjs +2 -2
  119. package/esm2022/watermark/config.mjs +2 -2
  120. package/esm2022/watermark/watermark.directive.mjs +18 -10
  121. package/fesm2022/ngx-tethys-autocomplete.mjs +4 -2
  122. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-calendar.mjs +8 -5
  124. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  125. package/fesm2022/ngx-tethys-carousel.mjs +2 -2
  126. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  127. package/fesm2022/ngx-tethys-cascader.mjs +4 -2
  128. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  129. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-color-picker.mjs +4 -2
  131. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-copy.mjs +6 -4
  133. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-core.mjs +42 -2
  135. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-date-picker.mjs +95 -30
  137. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys-date-range.mjs +8 -4
  139. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  140. package/fesm2022/ngx-tethys-dialog.mjs +27 -2
  141. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  142. package/fesm2022/ngx-tethys-empty.mjs +111 -8
  143. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  144. package/fesm2022/ngx-tethys-form.mjs +16 -14
  145. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-guider.mjs +4 -2
  147. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  148. package/fesm2022/ngx-tethys-i18n.mjs +338 -0
  149. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -0
  150. package/fesm2022/ngx-tethys-notify.mjs +2 -2
  151. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  152. package/fesm2022/ngx-tethys-pagination.mjs +66 -7
  153. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  154. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-result.mjs +2 -2
  156. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-select.mjs +8 -2
  158. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-strength.mjs +20 -19
  160. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-table.mjs +2 -2
  162. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-time-picker.mjs +6 -3
  164. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-transfer.mjs +4 -2
  166. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-tree-select.mjs +4 -2
  168. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-watermark.mjs +18 -10
  170. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys.mjs +1 -1
  172. package/fesm2022/ngx-tethys.mjs.map +1 -1
  173. package/form/form-validator-loader.d.ts +2 -0
  174. package/form/styles/form-check.scss +1 -1
  175. package/form/styles/forms.scss +2 -3
  176. package/form/styles/mixin.scss +6 -5
  177. package/guider/guider-hint/guider-hint.component.d.ts +3 -1
  178. package/guider/styles/guider-tip.scss +2 -1
  179. package/i18n/i18n.d.ts +143 -0
  180. package/i18n/i18n.service.d.ts +19 -0
  181. package/i18n/i18n.token.d.ts +5 -0
  182. package/i18n/index.d.ts +6 -0
  183. package/i18n/locale.d.ts +4 -0
  184. package/i18n/locales/en-us.d.ts +147 -0
  185. package/i18n/locales/zh-cn.d.ts +126 -0
  186. package/icon/examples/all/all.component.scss +3 -1
  187. package/image/styles/image.scss +15 -11
  188. package/input/styles/input-group.scss +1 -1
  189. package/input/styles/input.scss +2 -2
  190. package/layout/examples/sidebar/sidebar.component.scss +1 -1
  191. package/layout/styles/layout.scss +3 -3
  192. package/menu/examples/theme/theme.component.scss +0 -8
  193. package/menu/styles/theme.scss +4 -4
  194. package/message/styles/message.scss +1 -1
  195. package/nav/examples/basic/basic.component.scss +1 -1
  196. package/nav/examples/extra/extra.component.scss +1 -1
  197. package/nav/examples/fill/fill.component.scss +1 -1
  198. package/nav/examples/lite/lite.component.scss +1 -1
  199. package/nav/examples/pills/pills.component.scss +1 -1
  200. package/nav/examples/responsive/responsive.component.scss +1 -1
  201. package/nav/examples/size/size.component.scss +1 -1
  202. package/nav/examples/tabs/tabs.component.scss +1 -1
  203. package/nav/examples/type/type.component.scss +1 -1
  204. package/nav/examples/vertical/vertical.component.scss +1 -1
  205. package/notify/styles/notify.scss +4 -4
  206. package/package.json +7 -1
  207. package/pagination/pagination.component.d.ts +4 -1
  208. package/pagination/pagination.module.d.ts +1 -1
  209. package/pagination/pagination.pipe.d.ts +6 -0
  210. package/pagination/styles/pagination.scss +2 -2
  211. package/popover/styles.scss +3 -3
  212. package/property/styles/properties.scss +1 -1
  213. package/radio/radio.component.d.ts +0 -2
  214. package/resizable/examples/line/line.component.scss +3 -1
  215. package/resizable/examples/style.scss +7 -5
  216. package/result/styles/result.scss +25 -1
  217. package/schematics/version.d.ts +1 -1
  218. package/schematics/version.js +1 -1
  219. package/segment/styles/mixin.scss +2 -3
  220. package/segment/styles/segment.scss +1 -1
  221. package/select/custom-select/custom-select.component.d.ts +1 -0
  222. package/select/styles/select.scss +1 -1
  223. package/shared/option/styles/option.mixin.scss +1 -1
  224. package/shared/select/styles/select.mixin.scss +2 -2
  225. package/slide/examples/drawer-container/drawer-container.component.scss +1 -1
  226. package/slide/examples/layout/layout.component.scss +4 -2
  227. package/slide/styles/slide.scss +3 -2
  228. package/slider/slider.scss +2 -2
  229. package/stepper/examples/basic/basic.component.scss +3 -1
  230. package/stepper/examples/icon/icon.component.scss +3 -1
  231. package/stepper/styles/stepper.scss +7 -3
  232. package/strength/strength.component.d.ts +21 -2
  233. package/styles/bootstrap/_variables.scss +14 -876
  234. package/styles/bootstrap/utilities/_background.scss +27 -5
  235. package/styles/bootstrap/utilities/_text.scss +29 -31
  236. package/styles/index.scss +2 -1
  237. package/styles/mixins/background-variant.scss +2 -10
  238. package/styles/mixins/utilities.scss +2 -11
  239. package/styles/modules/cdk/drag-drop.scss +6 -8
  240. package/styles/modules/close.scss +1 -1
  241. package/styles/modules/reboot.scss +1 -1
  242. package/styles/modules/tables.scss +1 -1
  243. package/styles/modules/utils.scss +0 -17
  244. package/styles/theme/dark.scss +70 -0
  245. package/styles/theme/default.scss +70 -0
  246. package/styles/theme/index.scss +2 -0
  247. package/styles/variables.scss +114 -76
  248. package/switch/styles/mixin.scss +0 -13
  249. package/table/styles/table.scss +7 -19
  250. package/tabs/styles/tabs.scss +1 -1
  251. package/tag/styles/mixin.scss +7 -42
  252. package/tag/styles/tag.scss +2 -2
  253. package/time-picker/styles/time-panel.scss +1 -1
  254. package/time-picker/time-picker-panel.component.d.ts +3 -1
  255. package/time-picker/time-picker.component.d.ts +3 -1
  256. package/timeline/styles/timeline.scss +2 -2
  257. package/tooltip/styles.scss +4 -4
  258. package/transfer/styles/transfer.scss +2 -2
  259. package/transfer/transfer-list.component.d.ts +3 -1
  260. package/tree/styles/tree.scss +3 -5
  261. package/tree-select/tree-select.component.d.ts +1 -0
  262. package/watermark/config.d.ts +1 -1
  263. package/watermark/watermark.directive.d.ts +23 -2
  264. package/carousel/styles/index.scss +0 -1
  265. package/carousel/styles/variables.scss +0 -5
@@ -8,6 +8,7 @@ import { ThyIcon } from 'ngx-tethys/icon';
8
8
  import { ThyAction } from 'ngx-tethys/action';
9
9
  import { NgClass } from '@angular/common';
10
10
  import { coerceBooleanProperty } from 'ngx-tethys/util';
11
+ import { injectLocale } from 'ngx-tethys/i18n';
11
12
  import * as i0 from "@angular/core";
12
13
  const allDayTimestamp = 24 * 60 * 60;
13
14
  const INPUT_CONTROL_VALUE_ACCESSOR = {
@@ -24,6 +25,7 @@ export class ThyDateRange {
24
25
  constructor() {
25
26
  this.thyPopover = inject(ThyPopover);
26
27
  this.cdr = inject(ChangeDetectorRef);
28
+ this.locale = injectLocale('dateRange');
27
29
  /**
28
30
  * 隐藏下拉选择时间段
29
31
  * @default false
@@ -36,8 +38,9 @@ export class ThyDateRange {
36
38
  this.thyDisabledSwitch = false;
37
39
  /**
38
40
  * 自定义日期选择的展示文字
41
+ * @default 自定义
39
42
  */
40
- this.thyCustomTextValue = '自定义';
43
+ this.thyCustomTextValue = this.locale().custom;
41
44
  /**
42
45
  * 选中的时间段的展示形式,
43
46
  * <br/> `custom`形式:`2023-07-01 ~ 2023-07-31`;
@@ -52,7 +55,7 @@ export class ThyDateRange {
52
55
  this.optionalDateRanges = [
53
56
  {
54
57
  key: 'week',
55
- text: '本周',
58
+ text: this.locale().currentWeek,
56
59
  begin: getUnixTime(startOfISOWeek(new Date())),
57
60
  end: getUnixTime(endOfISOWeek(new Date())),
58
61
  timestamp: {
@@ -62,7 +65,7 @@ export class ThyDateRange {
62
65
  },
63
66
  {
64
67
  key: 'month',
65
- text: '本月',
68
+ text: this.locale().currentMonth,
66
69
  begin: getUnixTime(startOfMonth(new Date())),
67
70
  end: getUnixTime(endOfMonth(new Date())),
68
71
  timestamp: {
@@ -250,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
250
253
  }], thyOnCalendarChange: [{
251
254
  type: Output
252
255
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFL0UsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ2IsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXhELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRXJDLE1BQU0sNEJBQTRCLEdBQVE7SUFDdEMsT0FBTyxFQUFFLGlCQUFpQjtJ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LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSXRlbUluZm8gfSBmcm9tICcuL2RhdGUtcmFuZ2UuY2xhc3MnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBPcHRpb25hbERhdGVSYW5nZXMgfSBmcm9tICcuL29wdGlvbmFsLWRhdGVzL29wdGlvbmFsLWRhdGVzLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gICAgZ2V0VW5peFRpbWUsXG4gICAgc3RhcnRPZklTT1dlZWssXG4gICAgZW5kT2ZJU09XZWVrLFxuICAgIGVuZE9mTW9udGgsXG4gICAgc3RhcnRPZk1vbnRoLFxuICAgIGFkZERheXMsXG4gICAgYWRkTW9udGhzLFxuICAgIGFkZFllYXJzLFxuICAgIGlzU2FtZURheSxcbiAgICBlbmRPZkRheSxcbiAgICBzdGFydE9mRGF5XG59IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFRoeURhdGVQaWNrZXJGb3JtYXRQaXBlIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUFjdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgYWxsRGF5VGltZXN0YW1wID0gMjQgKiA2MCAqIDYwO1xuXG5jb25zdCBJTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGh5RGF0ZVJhbmdlKSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxuLyoqXG4gKiDpooTorr7ml7bpl7TmrrXlj4roh6rlrprkuYnml7bpl7TmrrXpgInmi6nnu4Tku7ZcbiAqIEBuYW1lIHRoeS1kYXRlLXJhbmdlXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZGF0ZS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeUFjdGlvbiwgVGh5SWNvbiwgTmdDbGFzcywgVGh5RGF0ZVBpY2tlckZvcm1hdFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeURhdGVSYW5nZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgdGh5UG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlj6/pgInlgLzliJfooajpoblcbiAgICAgKiBAdHlwZSBEYXRlUmFuZ2VJdGVtSW5mb1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5T3B0aW9uYWxEYXRlUmFuZ2VzKHZhbHVlOiBEYXRlUmFuZ2VJdGVtSW5mb1tdKSB7XG4gICAgICAgIHRoaXMub3B0aW9uYWxEYXRlUmFuZ2VzID0gdmFsdWUubGVuZ3RoID4gMCA/IHZhbHVlIDogdGhpcy5vcHRpb25hbERhdGVSYW5nZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5LiL5ouJ6YCJ5oup5pe26Ze05q61XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlIaWRkZW5NZW51ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDnpoHnlKjlt6blj7PliIfmjaLml7bpl7TmrrVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeURpc2FibGVkU3dpdGNoID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/pgInmi6nnmoTlsZXnpLrmloflrZdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDdXN0b21UZXh0VmFsdWUgPSAn6Ieq5a6a5LmJJztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieaXpeacn+mAieaLqeS4reWPr+mAieaLqeeahOacgOWwj+aXtumXtFxuICAgICAqIEB0eXBlIERhdGUgfCBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNaW5EYXRlOiBEYXRlIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5pel5pyf6YCJ5oup5Lit5Y+v6YCJ5oup55qE5pyA5aSn5pe26Ze0XG4gICAgICogQHR5cGUgRGF0ZSB8IG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1heERhdGU6IERhdGUgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpgInkuK3nmoTml7bpl7TmrrXnmoTlsZXnpLrlvaLlvI/vvIxcbiAgICAgKiA8YnIvPiBgY3VzdG9tYOW9ouW8j++8mmAyMDIzLTA3LTAxIH4gMjAyMy0wNy0zMWDvvJtcbiAgICAgKiA8YnIvPiBgZXhjZXB0aW9uYOW9ouW8j++8mmAyMDIzLTA3LTAxYO+8jOWFt+S9k+Wxleekuui/mOS4jmB0aHlQaWNrZXJGb3JtYXRg5pyJ5YWz44CCXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q3VzdG9tS2V5OiAnY3VzdG9tJyB8ICdleGNlcHRpb24nID0gJ2N1c3RvbSc7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/lsZXnpLrmoLzlvI/vvIzmr5TlpoJgeXl5eeW5tE1N5pyIYO+8jOWPquacieW9k2B0aHlDdXN0b21LZXlg5YC86K6+5Li6YGV4Y2VwdGlvbmDml7bmiY3kvJrnlJ/mlYhcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQaWNrZXJGb3JtYXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieaXpeacn+emgeeUqOaXpeacn1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURpc2FibGVkRGF0ZTogKGQ6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/pgInmi6nml6XmnJ/lm57osINcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8RGF0ZVtdPlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlPbkNhbGVuZGFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWREYXRlPzogRGF0ZVJhbmdlSXRlbUluZm87XG5cbiAgICBwdWJsaWMgb3B0aW9uYWxEYXRlUmFuZ2VzOiBEYXRlUmFuZ2VJdGVtSW5mb1tdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICd3ZWVrJyxcbiAgICAgICAgICAgIHRleHQ6ICfmnKzlkagnLFxuICAgICAgICAgICAgYmVnaW46IGdldFVuaXhUaW1lKHN0YXJ0T2ZJU09XZWVrKG5ldyBEYXRlKCkpKSxcbiAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoZW5kT2ZJU09XZWVrKG5ldyBEYXRlKCkpKSxcbiAgICAgICAgICAgIHRpbWVzdGFtcDoge1xuICAgICAgICAgICAgICAgIGludGVydmFsOiA3LFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdkYXknXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ21vbnRoJyxcbiAgICAgICAgICAgIHRleHQ6ICfmnKzmnIgnLFxuICAgICAgICAgICAgYmVnaW46IGdldFVuaXhUaW1lKHN0YXJ0T2ZNb250aChuZXcgRGF0ZSgpKSksXG4gICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGVuZE9mTW9udGgobmV3IERhdGUoKSkpLFxuICAgICAgICAgICAgdGltZXN0YW1wOiB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWw6IDEsXG4gICAgICAgICAgICAgICAgdW5pdDogJ21vbnRoJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZERhdGVSYW5nZToge1xuICAgICAgICBiZWdpbjogbnVtYmVyO1xuICAgICAgICBlbmQ6IG51bWJlcjtcbiAgICB9O1xuXG4gICAgcHVibGljIG9uTW9kZWxDaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgICBwdWJsaWMgb25Nb2RlbFRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9uYWxEYXRlUmFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5vcHRpb25hbERhdGVSYW5nZXNbMF07XG4gICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkRGF0ZVJhbmdlKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0ZWREYXRlUmFuZ2UoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XG4gICAgICAgICAgICBiZWdpbjogdGhpcy5zZWxlY3RlZERhdGUuYmVnaW4sXG4gICAgICAgICAgICBlbmQ6IHRoaXMuc2VsZWN0ZWREYXRlLmVuZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbGN1bGF0ZU5ld1RpbWUodHlwZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS50aW1lc3RhbXApIHtcbiAgICAgICAgICAgIGNvbnN0IGJlZ2luRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmJlZ2luICogMTAwMCk7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuZW5kICogMTAwMCk7XG4gICAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWREYXRlLnRpbWVzdGFtcC5pbnRlcnZhbDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlLnRpbWVzdGFtcC51bml0ID09PSAnZGF5Jykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJldmlvdXMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoYWRkRGF5cyhiZWdpbkRhdGUsIC0xICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoYWRkRGF5cyhlbmREYXRlLCAtMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShhZGREYXlzKGJlZ2luRGF0ZSwgMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGFkZERheXMoZW5kRGF0ZSwgMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS50aW1lc3RhbXAudW5pdCA9PT0gJ21vbnRoJykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJldmlvdXMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoYWRkTW9udGhzKGJlZ2luRGF0ZSwgLTEgKiBpbnRlcnZhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBnZXRVbml4VGltZShlbmRPZkRheShhZGREYXlzKGJlZ2luRGF0ZSwgLTEpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kSXNFbmREYXlPZk1vbnRoID0gaXNTYW1lRGF5KGVuZERhdGUsIGVuZE9mTW9udGgoZW5kRGF0ZSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IGdldFVuaXhUaW1lKHN0YXJ0T2ZEYXkoYWRkRGF5cyhlbmREYXRlLCAxKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmRJc0VuZERheU9mTW9udGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGdldFVuaXhUaW1lKGVuZE9mTW9udGgoYWRkTW9udGhzKGVuZERhdGUsIDEgKiBpbnRlcnZhbCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZ2V0VW5peFRpbWUoYWRkTW9udGhzKGVuZERhdGUsIDEgKiBpbnRlcnZhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLnRoeUN1c3RvbUtleVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZERhdGUudGltZXN0YW1wLnVuaXQgPT09ICd5ZWFyJykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJldmlvdXMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoYWRkWWVhcnMoYmVnaW5EYXRlLCAtMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGFkZFllYXJzKGVuZERhdGUsIC0xICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy50aHlDdXN0b21LZXlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IGdldFVuaXhUaW1lKGFkZFllYXJzKGJlZ2luRGF0ZSwgMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGFkZFllYXJzKGVuZERhdGUsIDEgKiBpbnRlcnZhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLnRoeUN1c3RvbUtleVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsOiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkRGF0ZS5lbmQgLSB0aGlzLnNlbGVjdGVkRGF0ZS5iZWdpbiArIGFsbERheVRpbWVzdGFtcDtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJldmlvdXMnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IHRoaXMuc2VsZWN0ZWREYXRlLmJlZ2luIC0gaW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogdGhpcy5zZWxlY3RlZERhdGUuZW5kIC0gaW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy50aHlDdXN0b21LZXlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogdGhpcy5zZWxlY3RlZERhdGUuYmVnaW4gKyBpbnRlcnZhbCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNlbGVjdGVkRGF0ZS5lbmQgKyBpbnRlcnZhbCxcbiAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLnRoeUN1c3RvbUtleVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRQcmV2aW91c09yTmV4dERhdGUodHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zZWxlY3RlZERhdGUsIHRoaXMuX2NhbGN1bGF0ZU5ld1RpbWUodHlwZSkpO1xuICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZERhdGVSYW5nZSgpO1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmV2aW91cygpIHtcbiAgICAgICAgdGhpcy5fc2V0UHJldmlvdXNPck5leHREYXRlKCdwcmV2aW91cycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0KCkge1xuICAgICAgICB0aGlzLl9zZXRQcmV2aW91c09yTmV4dERhdGUoJ25leHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3Blbk9wdGlvbmFsRGF0ZVJhbmdlc01lbnUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnRoeUhpZGRlbk1lbnUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoeVBvcG92ZXIub3BlbihPcHRpb25hbERhdGVSYW5nZXMsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ3RoeS1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ3RoeS1kYXRlLXJhbmdlLXRleHQtYWN0aXZlJyxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGhpZGRlbk1lbnU6IHRoaXMudGh5SGlkZGVuTWVudSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbERhdGVSYW5nZXM6IHRoaXMub3B0aW9uYWxEYXRlUmFuZ2VzLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0ZTogdGhpcy5zZWxlY3RlZERhdGUsXG4gICAgICAgICAgICAgICAgbWluRGF0ZTogdGhpcy50aHlNaW5EYXRlLFxuICAgICAgICAgICAgICAgIG1heERhdGU6IHRoaXMudGh5TWF4RGF0ZSxcbiAgICAgICAgICAgICAgICBjdXN0b21WYWx1ZTogdGhpcy50aHlDdXN0b21UZXh0VmFsdWUsXG4gICAgICAgICAgICAgICAgY3VzdG9tS2V5OiB0aGlzLnRoeUN1c3RvbUtleSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZERhdGU6IHRoaXMudGh5RGlzYWJsZWREYXRlLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0ZVJhbmdlOiAoZGF0ZVJhbmdlOiBEYXRlUmFuZ2VJdGVtSW5mbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoZGF0ZVJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlUmFuZ2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjYWxlbmRhckNoYW5nZTogKGRhdGU6IERhdGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeU9uQ2FsZW5kYXJDaGFuZ2UuZW1pdChkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktZGF0ZS1yYW5nZS1jb250YWluZXJcIj5cbiAgQGlmICghdGh5RGlzYWJsZWRTd2l0Y2gpIHtcbiAgICA8YSB0aHlBY3Rpb24gdGh5SWNvbj1cImFuZ2xlLWxlZnRcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cInByZXZpb3VzKClcIj48L2E+XG4gIH1cbiAgPHNwYW5cbiAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAoY2xpY2spPVwib3Blbk9wdGlvbmFsRGF0ZVJhbmdlc01lbnUoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJ0aHktZGF0ZS1yYW5nZS10ZXh0XCJcbiAgICBbbmdDbGFzc109XCJ7ICd0aHktZGF0ZS1yYW5nZS1kaXNhYmxlZCc6IHRoeUhpZGRlbk1lbnUgfVwiPlxuICAgIEBpZiAoc2VsZWN0ZWREYXRlPy5rZXkgPT09ICdjdXN0b20nKSB7XG4gICAgICB7eyBzZWxlY3RlZERhdGU/LmJlZ2luIHwgdGh5RGF0ZVBpY2tlckZvcm1hdCB9fSB+IHt7IHNlbGVjdGVkRGF0ZT8uZW5kIHwgdGh5RGF0ZVBpY2tlckZvcm1hdCB9fVxuICAgIH1cbiAgICBAaWYgKHNlbGVjdGVkRGF0ZT8ua2V5ID09PSAnZXhjZXB0aW9uJykge1xuICAgICAge3sgc2VsZWN0ZWREYXRlPy5iZWdpbiB8IHRoeURhdGVQaWNrZXJGb3JtYXQgOiB0aHlQaWNrZXJGb3JtYXQgfX1cbiAgICB9XG4gICAgQGlmIChzZWxlY3RlZERhdGU/LmtleSAhPT0gJ2N1c3RvbScgJiYgc2VsZWN0ZWREYXRlPy5rZXkgIT09ICdleGNlcHRpb24nKSB7XG4gICAgICB7eyBzZWxlY3RlZERhdGU/LnRleHQgfX1cbiAgICB9XG4gICAgQGlmICghdGh5SGlkZGVuTWVudSkge1xuICAgICAgPHRoeS1pY29uIGNsYXNzPVwidGh5LWRhdGUtcmFuZ2UtdGV4dC1jYXJldC1kb3duIG1sLTJcIiB0aHlJY29uTmFtZT1cImFuZ2xlLWRvd25cIj48L3RoeS1pY29uPlxuICAgIH1cbiAgPC9zcGFuPlxuICBAaWYgKCF0aHlEaXNhYmxlZFN3aXRjaCkge1xuICAgIDxhIHRoeUFjdGlvbiB0aHlJY29uPVwiYW5nbGUtcmlnaHRcIiBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cIm5leHQoKVwiPjwvYT5cbiAgfVxuPC9kaXY+XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFL0UsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ2IsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBc0IsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkUsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFF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S0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFNYSxtQkFBbUI7c0JBQXJDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW1JbmZvIH0gZnJvbSAnLi9kYXRlLXJhbmdlLmNsYXNzJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgT3B0aW9uYWxEYXRlUmFuZ2VzIH0gZnJvbSAnLi9vcHRpb25hbC1kYXRlcy9vcHRpb25hbC1kYXRlcy5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICAgIGdldFVuaXhUaW1lLFxuICAgIHN0YXJ0T2ZJU09XZWVrLFxuICAgIGVuZE9mSVNPV2VlayxcbiAgICBlbmRPZk1vbnRoLFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBhZGREYXlzLFxuICAgIGFkZE1vbnRocyxcbiAgICBhZGRZZWFycyxcbiAgICBpc1NhbWVEYXksXG4gICAgZW5kT2ZEYXksXG4gICAgc3RhcnRPZkRheVxufSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBUaHlEYXRlUGlja2VyRm9ybWF0UGlwZSB9IGZyb20gJ25neC10ZXRoeXMvZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlBY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeURhdGVSYW5nZUxvY2FsZSB9IGZyb20gJ25neC10ZXRoeXMvaTE4bic7XG5cbmNvbnN0IGFsbERheVRpbWVzdGFtcCA9IDI0ICogNjAgKiA2MDtcblxuY29uc3QgSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoeURhdGVSYW5nZSksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbi8qKlxuICog6aKE6K6+5pe26Ze05q615Y+K6Ieq5a6a5LmJ5pe26Ze05q616YCJ5oup57uE5Lu2XG4gKiBAbmFtZSB0aHktZGF0ZS1yYW5nZVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWRhdGUtcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtJTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlBY3Rpb24sIFRoeUljb24sIE5nQ2xhc3MsIFRoeURhdGVQaWNrZXJGb3JtYXRQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlEYXRlUmFuZ2UgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHRoeVBvcG92ZXIgPSBpbmplY3QoVGh5UG9wb3Zlcik7XG4gICAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgbG9jYWxlOiBTaWduYWw8VGh5RGF0ZVJhbmdlTG9jYWxlPiA9IGluamVjdExvY2FsZSgnZGF0ZVJhbmdlJyk7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlj6/pgInlgLzliJfooajpoblcbiAgICAgKiBAdHlwZSBEYXRlUmFuZ2VJdGVtSW5mb1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5T3B0aW9uYWxEYXRlUmFuZ2VzKHZhbHVlOiBEYXRlUmFuZ2VJdGVtSW5mb1tdKSB7XG4gICAgICAgIHRoaXMub3B0aW9uYWxEYXRlUmFuZ2VzID0gdmFsdWUubGVuZ3RoID4gMCA/IHZhbHVlIDogdGhpcy5vcHRpb25hbERhdGVSYW5nZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5LiL5ouJ6YCJ5oup5pe26Ze05q61XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlIaWRkZW5NZW51ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDnpoHnlKjlt6blj7PliIfmjaLml7bpl7TmrrVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeURpc2FibGVkU3dpdGNoID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/pgInmi6nnmoTlsZXnpLrmloflrZdcbiAgICAgKiBAZGVmYXVsdCDoh6rlrprkuYlcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDdXN0b21UZXh0VmFsdWUgPSB0aGlzLmxvY2FsZSgpLmN1c3RvbTtcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieaXpeacn+mAieaLqeS4reWPr+mAieaLqeeahOacgOWwj+aXtumXtFxuICAgICAqIEB0eXBlIERhdGUgfCBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNaW5EYXRlOiBEYXRlIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5pel5pyf6YCJ5oup5Lit5Y+v6YCJ5oup55qE5pyA5aSn5pe26Ze0XG4gICAgICogQHR5cGUgRGF0ZSB8IG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1heERhdGU6IERhdGUgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpgInkuK3nmoTml7bpl7TmrrXnmoTlsZXnpLrlvaLlvI/vvIxcbiAgICAgKiA8YnIvPiBgY3VzdG9tYOW9ouW8j++8mmAyMDIzLTA3LTAxIH4gMjAyMy0wNy0zMWDvvJtcbiAgICAgKiA8YnIvPiBgZXhjZXB0aW9uYOW9ouW8j++8mmAyMDIzLTA3LTAxYO+8jOWFt+S9k+Wxleekuui/mOS4jmB0aHlQaWNrZXJGb3JtYXRg5pyJ5YWz44CCXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q3VzdG9tS2V5OiAnY3VzdG9tJyB8ICdleGNlcHRpb24nID0gJ2N1c3RvbSc7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/lsZXnpLrmoLzlvI/vvIzmr5TlpoJgeXl5eeW5tE1N5pyIYO+8jOWPquacieW9k2B0aHlDdXN0b21LZXlg5YC86K6+5Li6YGV4Y2VwdGlvbmDml7bmiY3kvJrnlJ/mlYhcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQaWNrZXJGb3JtYXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieaXpeacn+emgeeUqOaXpeacn1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURpc2FibGVkRGF0ZTogKGQ6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnml6XmnJ/pgInmi6nml6XmnJ/lm57osINcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8RGF0ZVtdPlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlPbkNhbGVuZGFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWREYXRlPzogRGF0ZVJhbmdlSXRlbUluZm87XG5cbiAgICBwdWJsaWMgb3B0aW9uYWxEYXRlUmFuZ2VzOiBEYXRlUmFuZ2VJdGVtSW5mb1tdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICd3ZWVrJyxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMubG9jYWxlKCkuY3VycmVudFdlZWssXG4gICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoc3RhcnRPZklTT1dlZWsobmV3IERhdGUoKSkpLFxuICAgICAgICAgICAgZW5kOiBnZXRVbml4VGltZShlbmRPZklTT1dlZWsobmV3IERhdGUoKSkpLFxuICAgICAgICAgICAgdGltZXN0YW1wOiB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWw6IDcsXG4gICAgICAgICAgICAgICAgdW5pdDogJ2RheSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnbW9udGgnLFxuICAgICAgICAgICAgdGV4dDogdGhpcy5sb2NhbGUoKS5jdXJyZW50TW9udGgsXG4gICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoc3RhcnRPZk1vbnRoKG5ldyBEYXRlKCkpKSxcbiAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoZW5kT2ZNb250aChuZXcgRGF0ZSgpKSksXG4gICAgICAgICAgICB0aW1lc3RhbXA6IHtcbiAgICAgICAgICAgICAgICBpbnRlcnZhbDogMSxcbiAgICAgICAgICAgICAgICB1bml0OiAnbW9udGgnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHVibGljIHNlbGVjdGVkRGF0ZVJhbmdlOiB7XG4gICAgICAgIGJlZ2luOiBudW1iZXI7XG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH07XG5cbiAgICBwdWJsaWMgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIHB1YmxpYyBvbk1vZGVsVG91Y2hlZDogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25hbERhdGVSYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLm9wdGlvbmFsRGF0ZVJhbmdlc1swXTtcbiAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0ZWREYXRlUmFuZ2UoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBwcml2YXRlIF9zZXRTZWxlY3RlZERhdGVSYW5nZSgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcbiAgICAgICAgICAgIGJlZ2luOiB0aGlzLnNlbGVjdGVkRGF0ZS5iZWdpbixcbiAgICAgICAgICAgIGVuZDogdGhpcy5zZWxlY3RlZERhdGUuZW5kXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3VGltZSh0eXBlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlLnRpbWVzdGFtcCkge1xuICAgICAgICAgICAgY29uc3QgYmVnaW5EYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuYmVnaW4gKiAxMDAwKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5lbmQgKiAxMDAwKTtcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5zZWxlY3RlZERhdGUudGltZXN0YW1wLmludGVydmFsO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUudGltZXN0YW1wLnVuaXQgPT09ICdkYXknKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShhZGREYXlzKGJlZ2luRGF0ZSwgLTEgKiBpbnRlcnZhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBnZXRVbml4VGltZShhZGREYXlzKGVuZERhdGUsIC0xICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy50aHlDdXN0b21LZXlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IGdldFVuaXhUaW1lKGFkZERheXMoYmVnaW5EYXRlLCAxICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoYWRkRGF5cyhlbmREYXRlLCAxICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy50aHlDdXN0b21LZXlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWREYXRlLnRpbWVzdGFtcC51bml0ID09PSAnbW9udGgnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShhZGRNb250aHMoYmVnaW5EYXRlLCAtMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGVuZE9mRGF5KGFkZERheXMoYmVnaW5EYXRlLCAtMSkpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy50aHlDdXN0b21LZXlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJc0VuZERheU9mTW9udGggPSBpc1NhbWVEYXkoZW5kRGF0ZSwgZW5kT2ZNb250aChlbmREYXRlKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoc3RhcnRPZkRheShhZGREYXlzKGVuZERhdGUsIDEpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZElzRW5kRGF5T2ZNb250aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZ2V0VW5peFRpbWUoZW5kT2ZNb250aChhZGRNb250aHMoZW5kRGF0ZSwgMSAqIGludGVydmFsKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBnZXRVbml4VGltZShhZGRNb250aHMoZW5kRGF0ZSwgMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS50aW1lc3RhbXAudW5pdCA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShhZGRZZWFycyhiZWdpbkRhdGUsIC0xICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoYWRkWWVhcnMoZW5kRGF0ZSwgLTEgKiBpbnRlcnZhbCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLnRoeUN1c3RvbUtleVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoYWRkWWVhcnMoYmVnaW5EYXRlLCAxICogaW50ZXJ2YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZ2V0VW5peFRpbWUoYWRkWWVhcnMoZW5kRGF0ZSwgMSAqIGludGVydmFsKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWw6IG51bWJlciA9IHRoaXMuc2VsZWN0ZWREYXRlLmVuZCAtIHRoaXMuc2VsZWN0ZWREYXRlLmJlZ2luICsgYWxsRGF5VGltZXN0YW1wO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogdGhpcy5zZWxlY3RlZERhdGUuYmVnaW4gLSBpbnRlcnZhbCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNlbGVjdGVkRGF0ZS5lbmQgLSBpbnRlcnZhbCxcbiAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLnRoeUN1c3RvbUtleVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiB0aGlzLnNlbGVjdGVkRGF0ZS5iZWdpbiArIGludGVydmFsLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHRoaXMuc2VsZWN0ZWREYXRlLmVuZCArIGludGVydmFsLFxuICAgICAgICAgICAgICAgICAgICBrZXk6IHRoaXMudGh5Q3VzdG9tS2V5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFByZXZpb3VzT3JOZXh0RGF0ZSh0eXBlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnNlbGVjdGVkRGF0ZSwgdGhpcy5fY2FsY3VsYXRlTmV3VGltZSh0eXBlKSk7XG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkRGF0ZVJhbmdlKCk7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByZXZpb3VzKCkge1xuICAgICAgICB0aGlzLl9zZXRQcmV2aW91c09yTmV4dERhdGUoJ3ByZXZpb3VzJyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5leHQoKSB7XG4gICAgICAgIHRoaXMuX3NldFByZXZpb3VzT3JOZXh0RGF0ZSgnbmV4dCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuT3B0aW9uYWxEYXRlUmFuZ2VzTWVudShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5SGlkZGVuTWVudSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5vcGVuKE9wdGlvbmFsRGF0ZVJhbmdlcywge1xuICAgICAgICAgICAgb3JpZ2luOiBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgICBiYWNrZHJvcENsYXNzOiAndGh5LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAndGh5LWRhdGUtcmFuZ2UtdGV4dC1hY3RpdmUnLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgaGlkZGVuTWVudTogdGhpcy50aHlIaWRkZW5NZW51LFxuICAgICAgICAgICAgICAgIG9wdGlvbmFsRGF0ZVJhbmdlczogdGhpcy5vcHRpb25hbERhdGVSYW5nZXMsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlOiB0aGlzLnNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICAgICAgICBtaW5EYXRlOiB0aGlzLnRoeU1pbkRhdGUsXG4gICAgICAgICAgICAgICAgbWF4RGF0ZTogdGhpcy50aHlNYXhEYXRlLFxuICAgICAgICAgICAgICAgIGN1c3RvbVZhbHVlOiB0aGlzLnRoeUN1c3RvbVRleHRWYWx1ZSxcbiAgICAgICAgICAgICAgICBjdXN0b21LZXk6IHRoaXMudGh5Q3VzdG9tS2V5LFxuICAgICAgICAgICAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy50aHlEaXNhYmxlZERhdGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlUmFuZ2U6IChkYXRlUmFuZ2U6IERhdGVSYW5nZUl0ZW1JbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZShkYXRlUmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGVSYW5nZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNhbGVuZGFyQ2hhbmdlOiAoZGF0ZTogRGF0ZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGh5T25DYWxlbmRhckNoYW5nZS5lbWl0KGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1kYXRlLXJhbmdlLWNvbnRhaW5lclwiPlxuICBAaWYgKCF0aHlEaXNhYmxlZFN3aXRjaCkge1xuICAgIDxhIHRoeUFjdGlvbiB0aHlJY29uPVwiYW5nbGUtbGVmdFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPjwvYT5cbiAgfVxuICA8c3BhblxuICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgIChjbGljayk9XCJvcGVuT3B0aW9uYWxEYXRlUmFuZ2VzTWVudSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cInRoeS1kYXRlLXJhbmdlLXRleHRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3RoeS1kYXRlLXJhbmdlLWRpc2FibGVkJzogdGh5SGlkZGVuTWVudSB9XCI+XG4gICAgQGlmIChzZWxlY3RlZERhdGU/LmtleSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIHt7IHNlbGVjdGVkRGF0ZT8uYmVnaW4gfCB0aHlEYXRlUGlja2VyRm9ybWF0IH19IH4ge3sgc2VsZWN0ZWREYXRlPy5lbmQgfCB0aHlEYXRlUGlja2VyRm9ybWF0IH19XG4gICAgfVxuICAgIEBpZiAoc2VsZWN0ZWREYXRlPy5rZXkgPT09ICdleGNlcHRpb24nKSB7XG4gICAgICB7eyBzZWxlY3RlZERhdGU/LmJlZ2luIHwgdGh5RGF0ZVBpY2tlckZvcm1hdCA6IHRoeVBpY2tlckZvcm1hdCB9fVxuICAgIH1cbiAgICBAaWYgKHNlbGVjdGVkRGF0ZT8ua2V5ICE9PSAnY3VzdG9tJyAmJiBzZWxlY3RlZERhdGU/LmtleSAhPT0gJ2V4Y2VwdGlvbicpIHtcbiAgICAgIHt7IHNlbGVjdGVkRGF0ZT8udGV4dCB9fVxuICAgIH1cbiAgICBAaWYgKCF0aHlIaWRkZW5NZW51KSB7XG4gICAgICA8dGh5LWljb24gY2xhc3M9XCJ0aHktZGF0ZS1yYW5nZS10ZXh0LWNhcmV0LWRvd24gbWwtMlwiIHRoeUljb25OYW1lPVwiYW5nbGUtZG93blwiPjwvdGh5LWljb24+XG4gICAgfVxuICA8L3NwYW4+XG4gIEBpZiAoIXRoeURpc2FibGVkU3dpdGNoKSB7XG4gICAgPGEgdGh5QWN0aW9uIHRoeUljb249XCJhbmdsZS1yaWdodFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwibmV4dCgpXCI+PC9hPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -4,6 +4,7 @@ import { FormsModule } from '@angular/forms';
4
4
  import { ThyRangePickerDirective } from 'ngx-tethys/date-picker';
5
5
  import { ThyIcon } from 'ngx-tethys/icon';
6
6
  import { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemExtendIconDirective } from 'ngx-tethys/dropdown';
7
+ import { injectLocale } from 'ngx-tethys/i18n';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@angular/forms";
9
10
  /**
@@ -12,8 +13,9 @@ import * as i1 from "@angular/forms";
12
13
  export class OptionalDateRanges {
13
14
  constructor() {
14
15
  this.thyPopover = inject(ThyPopover);
16
+ this.locale = injectLocale('dateRange');
15
17
  this.hiddenMenu = false;
16
- this.customValue = '自定义';
18
+ this.customValue = this.locale().custom;
17
19
  }
18
20
  ngOnInit() { }
19
21
  _selectDateRange(dateRange) {
@@ -45,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
45
47
  FormsModule
46
48
  ], template: "@if (!hiddenMenu) {\n <thy-dropdown-menu thyImmediateRender class=\"thy-date-range-dropdown-menu-container\">\n @for (dateRange of optionalDateRanges; track $index) {\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"_selectDateRange(dateRange)\">\n <span thyDropdownMenuItemName>{{ dateRange?.text }}</span>\n @if (dateRange.key === selectedDate?.key) {\n <span thyDropdownMenuItemExtendIcon>\n <thy-icon class=\"text-primary\" thyIconName=\"check\"></thy-icon>\n </span>\n }\n </a>\n }\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n thyRangePicker\n [(ngModel)]=\"selectedDate\"\n [thyMinDate]=\"minDate\"\n [thyMaxDate]=\"maxDate\"\n [thyDisabledDate]=\"disabledDate\"\n (ngModelChange)=\"_selectedCustomDate($event)\"\n (thyOnCalendarChange)=\"calendarChange($event)\">\n <span thyDropdownMenuItemName>{{ customValue }}</span>\n @if (customKey === selectedDate?.key) {\n <span thyDropdownMenuItemExtendIcon>\n <thy-icon class=\"text-primary\" thyIconName=\"check\"></thy-icon>\n </span>\n }\n </a>\n </thy-dropdown-menu>\n}\n" }]
47
49
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2Uvb3B0aW9uYWwtZGF0ZXMvb3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2Uvb3B0aW9uYWwtZGF0ZXMvb3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNILHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLHNDQUFzQyxFQUN6QyxNQUFNLHFCQUFxQixDQUFDOzs7QUFFN0I7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLGtCQUFrQjtJQWYvQjtRQWdCWSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FpQ3ZCO0lBakJHLFFBQVEsS0FBSSxDQUFDO0lBRWIsZ0JBQWdCLENBQUMsU0FBNEI7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQXVCO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0F2Q1Esa0JBQWtCO2tHQUFsQixrQkFBa0IsK0VDL0IvQixpckNBK0JBLDRDRFRRLHdCQUF3QiwwR0FDeEIsNEJBQTRCLHNHQUM1QixnQ0FBZ0Msc0VBQ2hDLHNDQUFzQyw0RUFDdEMsT0FBTyxzTUFDUCx1QkFBdUIsMEZBQ3ZCLFdBQVc7OzJGQUdOLGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFFSSxxQkFBcUIsY0FFbkIsSUFBSSxXQUNQO3dCQUNMLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLHNDQUFzQzt3QkFDdEMsT0FBTzt3QkFDUCx1QkFBdUI7d0JBQ3ZCLFdBQVc7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJdGVtSW5mbyB9IGZyb20gJy4uL2RhdGUtcmFuZ2UuY2xhc3MnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeVJhbmdlUGlja2VyRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7XG4gICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb25EaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2RhdGUtcmFuZ2Utb3B0aW9uYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25hbC1kYXRlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlSYW5nZVBpY2tlckRpcmVjdGl2ZSxcbiAgICAgICAgRm9ybXNNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbmFsRGF0ZVJhbmdlcyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSB0aHlQb3BvdmVyID0gaW5qZWN0KFRoeVBvcG92ZXIpO1xuXG4gICAgaGlkZGVuTWVudSA9IGZhbHNlO1xuXG4gICAgb3B0aW9uYWxEYXRlUmFuZ2VzOiBEYXRlUmFuZ2VJdGVtSW5mb1tdO1xuXG4gICAgY3VzdG9tVmFsdWUgPSAn6Ieq5a6a5LmJJztcblxuICAgIGN1c3RvbUtleTogc3RyaW5nO1xuXG4gICAgbWluRGF0ZTogbnVtYmVyIHwgRGF0ZTtcblxuICAgIG1heERhdGU6IG51bWJlciB8IERhdGU7XG5cbiAgICBkaXNhYmxlZERhdGU6IChkOiBEYXRlKSA9PiBib29sZWFuO1xuXG4gICAgc2VsZWN0ZWREYXRlUmFuZ2U6IChkYXRlOiBEYXRlUmFuZ2VJdGVtSW5mbykgPT4gdm9pZDtcblxuICAgIGNhbGVuZGFyQ2hhbmdlOiAoZGF0ZTogRGF0ZVtdKSA9PiB2b2lkO1xuXG4gICAgc2VsZWN0ZWREYXRlOiBEYXRlUmFuZ2VJdGVtSW5mbztcblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIF9zZWxlY3REYXRlUmFuZ2UoZGF0ZVJhbmdlOiBEYXRlUmFuZ2VJdGVtSW5mbykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGVSYW5nZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZShkYXRlUmFuZ2UpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBfc2VsZWN0ZWRDdXN0b21EYXRlKGRhdGU6IERhdGVSYW5nZUl0ZW1JbmZvKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0ge1xuICAgICAgICAgICAgYmVnaW46IGRhdGUuYmVnaW4sXG4gICAgICAgICAgICBlbmQ6IGRhdGUuZW5kLFxuICAgICAgICAgICAga2V5OiB0aGlzLmN1c3RvbUtleSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuY3VzdG9tVmFsdWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gICAgfVxufVxuIiwiQGlmICghaGlkZGVuTWVudSkge1xuICA8dGh5LWRyb3Bkb3duLW1lbnUgdGh5SW1tZWRpYXRlUmVuZGVyIGNsYXNzPVwidGh5LWRhdGUtcmFuZ2UtZHJvcGRvd24tbWVudS1jb250YWluZXJcIj5cbiAgICBAZm9yIChkYXRlUmFuZ2Ugb2Ygb3B0aW9uYWxEYXRlUmFuZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxhIHRoeURyb3Bkb3duTWVudUl0ZW0gaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJfc2VsZWN0RGF0ZVJhbmdlKGRhdGVSYW5nZSlcIj5cbiAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgZGF0ZVJhbmdlPy50ZXh0IH19PC9zcGFuPlxuICAgICAgICBAaWYgKGRhdGVSYW5nZS5rZXkgPT09IHNlbGVjdGVkRGF0ZT8ua2V5KSB7XG4gICAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb24+XG4gICAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIiB0aHlJY29uTmFtZT1cImNoZWNrXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvYT5cbiAgICB9XG4gICAgPGFcbiAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgdGh5UmFuZ2VQaWNrZXJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgIFt0aHlNaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW3RoeU1heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbdGh5RGlzYWJsZWREYXRlXT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJfc2VsZWN0ZWRDdXN0b21EYXRlKCRldmVudClcIlxuICAgICAgKHRoeU9uQ2FsZW5kYXJDaGFuZ2UpPVwiY2FsZW5kYXJDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgY3VzdG9tVmFsdWUgfX08L3NwYW4+XG4gICAgICBAaWYgKGN1c3RvbUtleSA9PT0gc2VsZWN0ZWREYXRlPy5rZXkpIHtcbiAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb24+XG4gICAgICAgICAgPHRoeS1pY29uIGNsYXNzPVwidGV4dC1wcmltYXJ5XCIgdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2E+XG4gIDwvdGh5LWRyb3Bkb3duLW1lbnU+XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2Uvb3B0aW9uYWwtZGF0ZXMvb3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2Uvb3B0aW9uYWwtZGF0ZXMvb3B0aW9uYWwtZGF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyxzQ0FBc0MsRUFDekMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLGlCQUFpQixDQUFDOzs7QUFFbkU7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLGtCQUFrQjtJQWYvQjtRQWdCWSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFdBQU0sR0FBK0IsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZFLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO0tBaUN0QztJQWpCRyxRQUFRLEtBQUksQ0FBQztJQUViLGdCQUFnQixDQUFDLFNBQTRCO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUF1QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3pCLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7OEdBeENRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLCtFQ2hDL0IsaXJDQStCQSw0Q0RSUSx3QkFBd0IsMEdBQ3hCLDRCQUE0QixzR0FDNUIsZ0NBQWdDLHNFQUNoQyxzQ0FBc0MsNEVBQ3RDLE9BQU8sc01BQ1AsdUJBQXVCLDBGQUN2QixXQUFXOzsyRkFHTixrQkFBa0I7a0JBZjlCLFNBQVM7K0JBRUkscUJBQXFCLGNBRW5CLElBQUksV0FDUDt3QkFDTCx3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyxzQ0FBc0M7d0JBQ3RDLE9BQU87d0JBQ1AsdUJBQXVCO3dCQUN2QixXQUFXO3FCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFNpZ25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJdGVtSW5mbyB9IGZyb20gJy4uL2RhdGUtcmFuZ2UuY2xhc3MnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeVJhbmdlUGlja2VyRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7XG4gICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb25EaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeURhdGVSYW5nZUxvY2FsZSB9IGZyb20gJ25neC10ZXRoeXMvaTE4bic7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2RhdGUtcmFuZ2Utb3B0aW9uYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25hbC1kYXRlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlSYW5nZVBpY2tlckRpcmVjdGl2ZSxcbiAgICAgICAgRm9ybXNNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbmFsRGF0ZVJhbmdlcyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSB0aHlQb3BvdmVyID0gaW5qZWN0KFRoeVBvcG92ZXIpO1xuICAgIHByaXZhdGUgbG9jYWxlOiBTaWduYWw8VGh5RGF0ZVJhbmdlTG9jYWxlPiA9IGluamVjdExvY2FsZSgnZGF0ZVJhbmdlJyk7XG5cbiAgICBoaWRkZW5NZW51ID0gZmFsc2U7XG5cbiAgICBvcHRpb25hbERhdGVSYW5nZXM6IERhdGVSYW5nZUl0ZW1JbmZvW107XG5cbiAgICBjdXN0b21WYWx1ZSA9IHRoaXMubG9jYWxlKCkuY3VzdG9tO1xuXG4gICAgY3VzdG9tS2V5OiBzdHJpbmc7XG5cbiAgICBtaW5EYXRlOiBudW1iZXIgfCBEYXRlO1xuXG4gICAgbWF4RGF0ZTogbnVtYmVyIHwgRGF0ZTtcblxuICAgIGRpc2FibGVkRGF0ZTogKGQ6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgICBzZWxlY3RlZERhdGVSYW5nZTogKGRhdGU6IERhdGVSYW5nZUl0ZW1JbmZvKSA9PiB2b2lkO1xuXG4gICAgY2FsZW5kYXJDaGFuZ2U6IChkYXRlOiBEYXRlW10pID0+IHZvaWQ7XG5cbiAgICBzZWxlY3RlZERhdGU6IERhdGVSYW5nZUl0ZW1JbmZvO1xuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgX3NlbGVjdERhdGVSYW5nZShkYXRlUmFuZ2U6IERhdGVSYW5nZUl0ZW1JbmZvKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZVJhbmdlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlKGRhdGVSYW5nZSk7XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5jbG9zZSgpO1xuICAgIH1cblxuICAgIF9zZWxlY3RlZEN1c3RvbURhdGUoZGF0ZTogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB7XG4gICAgICAgICAgICBiZWdpbjogZGF0ZS5iZWdpbixcbiAgICAgICAgICAgIGVuZDogZGF0ZS5lbmQsXG4gICAgICAgICAgICBrZXk6IHRoaXMuY3VzdG9tS2V5LFxuICAgICAgICAgICAgdGV4dDogdGhpcy5jdXN0b21WYWx1ZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgICB9XG59XG4iLCJAaWYgKCFoaWRkZW5NZW51KSB7XG4gIDx0aHktZHJvcGRvd24tbWVudSB0aHlJbW1lZGlhdGVSZW5kZXIgY2xhc3M9XCJ0aHktZGF0ZS1yYW5nZS1kcm9wZG93bi1tZW51LWNvbnRhaW5lclwiPlxuICAgIEBmb3IgKGRhdGVSYW5nZSBvZiBvcHRpb25hbERhdGVSYW5nZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGEgdGh5RHJvcGRvd25NZW51SXRlbSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cIl9zZWxlY3REYXRlUmFuZ2UoZGF0ZVJhbmdlKVwiPlxuICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBkYXRlUmFuZ2U/LnRleHQgfX08L3NwYW4+XG4gICAgICAgIEBpZiAoZGF0ZVJhbmdlLmtleSA9PT0gc2VsZWN0ZWREYXRlPy5rZXkpIHtcbiAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtRXh0ZW5kSWNvbj5cbiAgICAgICAgICAgIDx0aHktaWNvbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiIHRoeUljb25OYW1lPVwiY2hlY2tcIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9hPlxuICAgIH1cbiAgICA8YVxuICAgICAgdGh5RHJvcGRvd25NZW51SXRlbVxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICB0aHlSYW5nZVBpY2tlclxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgW3RoeU1pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbdGh5TWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFt0aHlEaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9zZWxlY3RlZEN1c3RvbURhdGUoJGV2ZW50KVwiXG4gICAgICAodGh5T25DYWxlbmRhckNoYW5nZSk9XCJjYWxlbmRhckNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBjdXN0b21WYWx1ZSB9fTwvc3Bhbj5cbiAgICAgIEBpZiAoY3VzdG9tS2V5ID09PSBzZWxlY3RlZERhdGU/LmtleSkge1xuICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtRXh0ZW5kSWNvbj5cbiAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIiB0aHlJY29uTmFtZT1cImNoZWNrXCI+PC90aHktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgIDwvYT5cbiAgPC90aHktZHJvcGRvd24tbWVudT5cbn1cbiJdfQ==
@@ -5,9 +5,10 @@ import { NgClass } from '@angular/common';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { ThyButton } from 'ngx-tethys/button';
7
7
  import { ThyDialogBody } from '../body/dialog-body.component';
8
- import { THY_CONFIRM_DEFAULT_OPTIONS, THY_CONFIRM_DEFAULT_OPTIONS_VALUE } from '../confirm.config';
8
+ import { THY_CONFIRM_DEFAULT_OPTIONS } from '../confirm.config';
9
9
  import { ThyDialogRef } from '../dialog-ref';
10
10
  import { ThyDialogHeader } from '../header/dialog-header.component';
11
+ import { injectLocale } from 'ngx-tethys/i18n';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "@angular/forms";
13
14
  /**
@@ -18,7 +19,17 @@ export class ThyConfirm {
18
19
  this.dialogRef = inject(ThyDialogRef);
19
20
  this.changeDetectorRef = inject(ChangeDetectorRef);
20
21
  this.defaultConfig = inject(THY_CONFIRM_DEFAULT_OPTIONS);
21
- this.defaultConfig = { ...THY_CONFIRM_DEFAULT_OPTIONS_VALUE, ...this.defaultConfig };
22
+ this.locale = injectLocale('dialog');
23
+ this.defaultConfig = {
24
+ ...{
25
+ title: this.locale().title,
26
+ okText: this.locale().ok,
27
+ okType: 'danger',
28
+ cancelText: this.locale().cancel,
29
+ footerAlign: 'left'
30
+ },
31
+ ...this.defaultConfig
32
+ };
22
33
  }
23
34
  ngOnInit() {
24
35
  this.defaultConfig = { ...this.defaultConfig, ...this.options };
@@ -63,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
63
74
  }], ctorParameters: () => [], propDecorators: { options: [{
64
75
  type: Input
65
76
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBb0IsMkJBQTJCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRXBFOztHQUVHO0FBUUgsTUFBTSxPQUFPLFVBQVU7SUF1Qm5CO1FBdEJRLGNBQVMsR0FBRyxNQUFNLENBQTJCLFlBQVksQ0FBQyxDQUFDO1FBQzNELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFxQnhELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFJLGlDQUFzRCxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9HLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixNQUFNO2lCQUNELElBQUksQ0FDRCxRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQ0w7aUJBQ0EsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNqQixJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsS0FBSSxDQUFDOzhHQWhFUCxVQUFVO2tHQUFWLFVBQVUsK0dDdkJ2Qiw2d0JBY0EsNENET2MsZUFBZSwwTUFBRSxhQUFhLHFIQUFFLFdBQVcsd2RBQUUsZ0JBQWdCLDRKQUFFLGtCQUFrQix3RkFBRSxPQUFPLG9GQUFFLFNBQVM7OzJGQUV0RyxVQUFVO2tCQVB0QixTQUFTOytCQUNJLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7d0RBU3ZHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUsIFRoeUZvcm1Hcm91cEZvb3RlckFsaWduLCBUaHlGb3JtR3JvdXBGb290ZXIgfSBmcm9tICduZ3gtdGV0aHlzL2Zvcm0nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHsgVGh5RGlhbG9nQm9keSB9IGZyb20gJy4uL2JvZHkvZGlhbG9nLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUNvbmZpcm1Db25maWcsIFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OUywgVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TX1ZBTFVFIH0gZnJvbSAnLi4vY29uZmlybS5jb25maWcnO1xuaW1wb3J0IHsgVGh5RGlhbG9nUmVmIH0gZnJvbSAnLi4vZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBUaHlEaWFsb2dIZWFkZXIgfSBmcm9tICcuLi9oZWFkZXIvZGlhbG9nLWhlYWRlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNvbmZpcm0tZGVmYXVsdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeURpYWxvZ0hlYWRlciwgVGh5RGlhbG9nQm9keSwgRm9ybXNNb2R1bGUsIFRoeUZvcm1EaXJlY3RpdmUsIFRoeUZvcm1Hcm91cEZvb3RlciwgTmdDbGFzcywgVGh5QnV0dG9uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb25maXJtIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGlhbG9nUmVmID0gaW5qZWN0PFRoeURpYWxvZ1JlZjxUaHlDb25maXJtPj4oVGh5RGlhbG9nUmVmKTtcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIGRlZmF1bHRDb25maWcgPSBpbmplY3QoVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TKTtcblxuICAgIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBvcHRpb25zOiBUaHlDb25maXJtQ29uZmlnO1xuXG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29udGVudDogc3RyaW5nO1xuXG4gICAgcHVibGljIG9rVGV4dDogc3RyaW5nO1xuXG4gICAgcHVibGljIG9rVHlwZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGNhbmNlbFRleHQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBva0xvYWRpbmdUZXh0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZm9vdGVyQWxpZ246IFRoeUZvcm1Hcm91cEZvb3RlckFsaWduO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4uKFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19WQUxVRSBhcyBUaHlDb25maXJtQ29uZmlnKSwgLi4udGhpcy5kZWZhdWx0Q29uZmlnIH07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuZGVmYXVsdENvbmZpZy50aXRsZTtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5kZWZhdWx0Q29uZmlnLmNvbnRlbnQ7XG4gICAgICAgIHRoaXMub2tUZXh0ID0gdGhpcy5kZWZhdWx0Q29uZmlnLm9rVGV4dDtcbiAgICAgICAgdGhpcy5va1R5cGUgPSB0aGlzLmRlZmF1bHRDb25maWcub2tUeXBlO1xuICAgICAgICB0aGlzLmNhbmNlbFRleHQgPSB0aGlzLmRlZmF1bHRDb25maWcuY2FuY2VsVGV4dDtcbiAgICAgICAgdGhpcy5va0xvYWRpbmdUZXh0ID0gdGhpcy5kZWZhdWx0Q29uZmlnLm9rTG9hZGluZ1RleHQgfHwgdGhpcy5va1RleHQ7XG4gICAgICAgIHRoaXMuZm9vdGVyQWxpZ24gPSB0aGlzLmRlZmF1bHRDb25maWcuZm9vdGVyQWxpZ247XG4gICAgfVxuXG4gICAgY29uZmlybSgpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5vcHRpb25zLm9uT2soKTtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1Y2Nlc3MgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zPy5vbkNhbmNlbD8uKCk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7fVxufVxuIiwiPHRoeS1kaWFsb2ctaGVhZGVyIFt0aHlUaXRsZV09XCJ0aXRsZSB8fCAnSW5zdGFsbCBBbmd1bGFyJ1wiICh0aHlPbkNsb3NlKT1cImNsb3NlKClcIj4gPC90aHktZGlhbG9nLWhlYWRlcj5cbjx0aHktZGlhbG9nLWJvZHkgY2xhc3M9XCJ0aHktZm9ybVwiPlxuICA8Zm9ybSB0aHlGb3JtIG5hbWU9XCJ0aHlDb25maXJtXCIgdGh5TGF5b3V0PVwidmVydGljYWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPHAgW2lubmVySFRNTF09XCJjb250ZW50XCI+PC9wPlxuICAgIDwvZGl2PlxuICAgIDx0aHktZm9ybS1ncm91cC1mb290ZXIgW3RoeUFsaWduXT1cImZvb3RlckFsaWduXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LWNvbmZpcm0tZm9vdGVyXCIgW25nQ2xhc3NdPVwiJ3RoeS1jb25maXJtLWZvb3Rlci0nICsgZm9vdGVyQWxpZ25cIj5cbiAgICAgICAgPGJ1dHRvbiBbdGh5QnV0dG9uXT1cIm9rVHlwZVwiIChjbGljayk9XCJjb25maXJtKClcIiBbdGh5TG9hZGluZ109XCJsb2FkaW5nXCIgW3RoeUxvYWRpbmdUZXh0XT1cIm9rTG9hZGluZ1RleHRcIj57eyBva1RleHQgfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZSgpXCIgY2xhc3M9XCJ0aHktY29uZmlybS1jYW5jZWxcIj57eyBjYW5jZWxUZXh0IH19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3RoeS1mb3JtLWdyb3VwLWZvb3Rlcj5cbiAgPC9mb3JtPlxuPC90aHktZGlhbG9nLWJvZHk+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBb0IsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLGlCQUFpQixDQUFDOzs7QUFFaEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sVUFBVTtJQXdCbkI7UUF2QlEsY0FBUyxHQUFHLE1BQU0sQ0FBMkIsWUFBWSxDQUFDLENBQUM7UUFDM0Qsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxNQUFNLENBQUMsMkJB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Y3RpdmUsIFRoeUZvcm1Hcm91cEZvb3RlckFsaWduLCBUaHlGb3JtR3JvdXBGb290ZXIgfSBmcm9tICduZ3gtdGV0aHlzL2Zvcm0nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFNpZ25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBUaHlEaWFsb2dCb2R5IH0gZnJvbSAnLi4vYm9keS9kaWFsb2ctYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5Q29uZmlybUNvbmZpZywgVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnLi4vY29uZmlybS5jb25maWcnO1xuaW1wb3J0IHsgVGh5RGlhbG9nUmVmIH0gZnJvbSAnLi4vZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBUaHlEaWFsb2dIZWFkZXIgfSBmcm9tICcuLi9oZWFkZXIvZGlhbG9nLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5qZWN0TG9jYWxlLCBUaHlEaWFsb2dMb2NhbGUgfSBmcm9tICduZ3gtdGV0aHlzL2kxOG4nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNvbmZpcm0tZGVmYXVsdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeURpYWxvZ0hlYWRlciwgVGh5RGlhbG9nQm9keSwgRm9ybXNNb2R1bGUsIFRoeUZvcm1EaXJlY3RpdmUsIFRoeUZvcm1Hcm91cEZvb3RlciwgTmdDbGFzcywgVGh5QnV0dG9uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb25maXJtIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGlhbG9nUmVmID0gaW5qZWN0PFRoeURpYWxvZ1JlZjxUaHlDb25maXJtPj4oVGh5RGlhbG9nUmVmKTtcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIGRlZmF1bHRDb25maWcgPSBpbmplY3QoVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TKTtcbiAgICBwcml2YXRlIGxvY2FsZTogU2lnbmFsPFRoeURpYWxvZ0xvY2FsZT4gPSBpbmplY3RMb2NhbGUoJ2RpYWxvZycpO1xuXG4gICAgbG9hZGluZzogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIG9wdGlvbnM6IFRoeUNvbmZpcm1Db25maWc7XG5cbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICAgIHB1YmxpYyBjb250ZW50OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgb2tUZXh0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgb2tUeXBlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY2FuY2VsVGV4dDogc3RyaW5nO1xuXG4gICAgcHVibGljIG9rTG9hZGluZ1RleHQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBmb290ZXJBbGlnbjogVGh5Rm9ybUdyb3VwRm9vdGVyQWxpZ247XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xuICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmxvY2FsZSgpLnRpdGxlLFxuICAgICAgICAgICAgICAgIG9rVGV4dDogdGhpcy5sb2NhbGUoKS5vayxcbiAgICAgICAgICAgICAgICBva1R5cGU6ICdkYW5nZXInLFxuICAgICAgICAgICAgICAgIGNhbmNlbFRleHQ6IHRoaXMubG9jYWxlKCkuY2FuY2VsLFxuICAgICAgICAgICAgICAgIGZvb3RlckFsaWduOiAnbGVmdCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMub3B0aW9ucyB9O1xuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5kZWZhdWx0Q29uZmlnLnRpdGxlO1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRlZmF1bHRDb25maWcuY29udGVudDtcbiAgICAgICAgdGhpcy5va1RleHQgPSB0aGlzLmRlZmF1bHRDb25maWcub2tUZXh0O1xuICAgICAgICB0aGlzLm9rVHlwZSA9IHRoaXMuZGVmYXVsdENvbmZpZy5va1R5cGU7XG4gICAgICAgIHRoaXMuY2FuY2VsVGV4dCA9IHRoaXMuZGVmYXVsdENvbmZpZy5jYW5jZWxUZXh0O1xuICAgICAgICB0aGlzLm9rTG9hZGluZ1RleHQgPSB0aGlzLmRlZmF1bHRDb25maWcub2tMb2FkaW5nVGV4dCB8fCB0aGlzLm9rVGV4dDtcbiAgICAgICAgdGhpcy5mb290ZXJBbGlnbiA9IHRoaXMuZGVmYXVsdENvbmZpZy5mb290ZXJBbGlnbjtcbiAgICB9XG5cbiAgICBjb25maXJtKCkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9wdGlvbnMub25PaygpO1xuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoc3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLm9wdGlvbnM/Lm9uQ2FuY2VsPy4oKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHt9XG59XG4iLCI8dGh5LWRpYWxvZy1oZWFkZXIgW3RoeVRpdGxlXT1cInRpdGxlIHx8ICdJbnN0YWxsIEFuZ3VsYXInXCIgKHRoeU9uQ2xvc2UpPVwiY2xvc2UoKVwiPiA8L3RoeS1kaWFsb2ctaGVhZGVyPlxuPHRoeS1kaWFsb2ctYm9keSBjbGFzcz1cInRoeS1mb3JtXCI+XG4gIDxmb3JtIHRoeUZvcm0gbmFtZT1cInRoeUNvbmZpcm1cIiB0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICA8cCBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIj48L3A+XG4gICAgPC9kaXY+XG4gICAgPHRoeS1mb3JtLWdyb3VwLWZvb3RlciBbdGh5QWxpZ25dPVwiZm9vdGVyQWxpZ25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktY29uZmlybS1mb290ZXJcIiBbbmdDbGFzc109XCIndGh5LWNvbmZpcm0tZm9vdGVyLScgKyBmb290ZXJBbGlnblwiPlxuICAgICAgICA8YnV0dG9uIFt0aHlCdXR0b25dPVwib2tUeXBlXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiIFt0aHlMb2FkaW5nXT1cImxvYWRpbmdcIiBbdGh5TG9hZGluZ1RleHRdPVwib2tMb2FkaW5nVGV4dFwiPnt7IG9rVGV4dCB9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHRoeUJ1dHRvbj1cImxpbmstc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIiBjbGFzcz1cInRoeS1jb25maXJtLWNhbmNlbFwiPnt7IGNhbmNlbFRleHQgfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdGh5LWZvcm0tZ3JvdXAtZm9vdGVyPlxuICA8L2Zvcm0+XG48L3RoeS1kaWFsb2ctYm9keT5cbiJdfQ==
@@ -1,5 +1,9 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ import { injectLocale, ThyI18nService } from 'ngx-tethys/i18n';
2
3
  export const THY_CONFIRM_DEFAULT_OPTIONS = new InjectionToken('thy-confirm-default-options');
4
+ /**
5
+ * @deprecated
6
+ */
3
7
  export const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {
4
8
  title: '确认删除',
5
9
  okText: '确定',
@@ -7,8 +11,19 @@ export const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {
7
11
  cancelText: '取消',
8
12
  footerAlign: 'left'
9
13
  };
14
+ function useConfirmDefaultOptions() {
15
+ const locale = injectLocale('dialog');
16
+ return {
17
+ title: locale().title,
18
+ okText: locale().ok,
19
+ okType: 'danger',
20
+ cancelText: locale().cancel,
21
+ footerAlign: 'left'
22
+ };
23
+ }
10
24
  export const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {
11
25
  provide: THY_CONFIRM_DEFAULT_OPTIONS,
12
- useValue: THY_CONFIRM_DEFAULT_OPTIONS_VALUE
26
+ useFactory: useConfirmDefaultOptions,
27
+ deps: [ThyI18nService]
13
28
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3RC9DLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUFtQiw2QkFBNkIsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHO0lBQzdDLEtBQUssRUFBRSxNQUFNO0lBQ2IsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsTUFBTTtDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFDaEQsT0FBTyxFQUFFLDJCQUEyQjtJQUNwQyxRQUFRLEVBQUUsaUNBQWlDO0NBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5Rm9ybUdyb3VwRm9vdGVyQWxpZ24gfSBmcm9tICduZ3gtdGV0aHlzL2Zvcm0nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIOehruiupOahhumFjee9rlxuICogQHB1YmxpY1xuICogQG9yZGVyIDcwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q29uZmlybUNvbmZpZyB7XG4gICAgLyoqXG4gICAgICog5qCH6aKYXG4gICAgICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrlhoXlrrlcbiAgICAgKi9cbiAgICBjb250ZW50OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDnoa7orqTmjInpkq7nmoTmlofmoYhcbiAgICAgKi9cbiAgICBva1RleHQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDnoa7orqTmjInpkq7nmoTnsbvlnovvvIxwcmltYXJ5IHwgZGFuZ2VyXG4gICAgICovXG4gICAgb2tUeXBlPzogJ3ByaW1hcnknIHwgJ2Rhbmdlcic7XG5cbiAgICAvKipcbiAgICAgKiDnoa7orqTmjInpkq7lpITkuo7mj5DkuqTnirbmgIHml7bnmoTmlofmoYhcbiAgICAgKi9cbiAgICBva0xvYWRpbmdUZXh0Pzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5bqV6YOo5a+56b2Q5pa55byP77yMbGVmdCB8IGNlbnRlciB8IHJpZ2h0XG4gICAgICovXG4gICAgZm9vdGVyQWxpZ24/OiBUaHlGb3JtR3JvdXBGb290ZXJBbGlnbjtcblxuICAgIC8qKlxuICAgICAqIOehruiupOWQjueahOWbnuiwg+S6i+S7tlxuICAgICAqL1xuICAgIG9uT2s/OiAoKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdm9pZDtcblxuICAgIC8qKlxuICAgICAqIOWPlua2iOaMiemSrueahOaWh+ahiFxuICAgICAqL1xuICAgIGNhbmNlbFRleHQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlj5bmtojlkI7nmoTlm57osIPkuovku7ZcbiAgICAgKi9cbiAgICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGh5Q29uZmlybUNvbmZpZz4oJ3RoeS1jb25maXJtLWRlZmF1bHQtb3B0aW9ucycpO1xuXG5leHBvcnQgY29uc3QgVEhZX0NPTkZJUk1fREVGQVVMVF9PUFRJT05TX1ZBTFVFID0ge1xuICAgIHRpdGxlOiAn56Gu6K6k5Yig6ZmkJyxcbiAgICBva1RleHQ6ICfnoa7lrponLFxuICAgIG9rVHlwZTogJ2RhbmdlcicsXG4gICAgY2FuY2VsVGV4dDogJ+WPlua2iCcsXG4gICAgZm9vdGVyQWxpZ246ICdsZWZ0J1xufTtcblxuZXhwb3J0IGNvbnN0IFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19WQUxVRVxufTtcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2NvbmZpcm0uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXVEL0QsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQW1CLDZCQUE2QixDQUFDLENBQUM7QUFFL0c7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRztJQUM3QyxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLE1BQU07Q0FDdEIsQ0FBQztBQUVGLFNBQVMsd0JBQXdCO0lBQzdCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxPQUFPO1FBQ0gsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUs7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU07UUFDM0IsV0FBVyxFQUFFLE1BQU07S0FDdEIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRztJQUNoRCxPQUFPLEVBQUUsMkJBQTJCO0lBQ3BDLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5Rm9ybUdyb3VwRm9vdGVyQWxpZ24gfSBmcm9tICduZ3gtdGV0aHlzL2Zvcm0nO1xuaW1wb3J0IHsgaW5qZWN0TG9jYWxlLCBUaHlJMThuU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvaTE4bic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog56Gu6K6k5qGG6YWN572uXG4gKiBAcHVibGljXG4gKiBAb3JkZXIgNzBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaHlDb25maXJtQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiDmoIfpophcbiAgICAgKi9cbiAgICB0aXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaPkOekuuWGheWuuVxuICAgICAqL1xuICAgIGNvbnRlbnQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOehruiupOaMiemSrueahOaWh+ahiFxuICAgICAqL1xuICAgIG9rVGV4dD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOehruiupOaMiemSrueahOexu+Wei++8jHByaW1hcnkgfCBkYW5nZXJcbiAgICAgKi9cbiAgICBva1R5cGU/OiAncHJpbWFyeScgfCAnZGFuZ2VyJztcblxuICAgIC8qKlxuICAgICAqIOehruiupOaMiemSruWkhOS6juaPkOS6pOeKtuaAgeaXtueahOaWh+ahiFxuICAgICAqL1xuICAgIG9rTG9hZGluZ1RleHQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlupXpg6jlr7npvZDmlrnlvI/vvIxsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiAgICAgKi9cbiAgICBmb290ZXJBbGlnbj86IFRoeUZvcm1Hcm91cEZvb3RlckFsaWduO1xuXG4gICAgLyoqXG4gICAgICog56Gu6K6k5ZCO55qE5Zue6LCD5LqL5Lu2XG4gICAgICovXG4gICAgb25Paz86ICgpID0+IE9ic2VydmFibGU8Ym9vbGVhbj4gfCB2b2lkO1xuXG4gICAgLyoqXG4gICAgICog5Y+W5raI5oyJ6ZKu55qE5paH5qGIXG4gICAgICovXG4gICAgY2FuY2VsVGV4dD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWPlua2iOWQjueahOWbnuiwg+S6i+S7tlxuICAgICAqL1xuICAgIG9uQ2FuY2VsPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUaHlDb25maXJtQ29uZmlnPigndGh5LWNvbmZpcm0tZGVmYXVsdC1vcHRpb25zJyk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19WQUxVRSA9IHtcbiAgICB0aXRsZTogJ+ehruiupOWIoOmZpCcsXG4gICAgb2tUZXh0OiAn56Gu5a6aJyxcbiAgICBva1R5cGU6ICdkYW5nZXInLFxuICAgIGNhbmNlbFRleHQ6ICflj5bmtognLFxuICAgIGZvb3RlckFsaWduOiAnbGVmdCdcbn07XG5cbmZ1bmN0aW9uIHVzZUNvbmZpcm1EZWZhdWx0T3B0aW9ucygpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBpbmplY3RMb2NhbGUoJ2RpYWxvZycpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiBsb2NhbGUoKS50aXRsZSxcbiAgICAgICAgb2tUZXh0OiBsb2NhbGUoKS5vayxcbiAgICAgICAgb2tUeXBlOiAnZGFuZ2VyJyxcbiAgICAgICAgY2FuY2VsVGV4dDogbG9jYWxlKCkuY2FuY2VsLFxuICAgICAgICBmb290ZXJBbGlnbjogJ2xlZnQnXG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFRIWV9DT05GSVJNX0RFRkFVTFRfT1BUSU9OU19QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBUSFlfQ09ORklSTV9ERUZBVUxUX09QVElPTlMsXG4gICAgdXNlRmFjdG9yeTogdXNlQ29uZmlybURlZmF1bHRPcHRpb25zLFxuICAgIGRlcHM6IFtUaHlJMThuU2VydmljZV1cbn07XG4iXX0=
@@ -7,6 +7,7 @@ import { DomSanitizer } from '@angular/platform-browser';
7
7
  import { ThyIcon } from 'ngx-tethys/icon';
8
8
  import { NgClass, NgTemplateOutlet } from '@angular/common';
9
9
  import { coerceBooleanProperty } from 'ngx-tethys/util';
10
+ import { injectLocale } from 'ngx-tethys/i18n';
10
11
  import * as i0 from "@angular/core";
11
12
  const sizeClassMap = {
12
13
  lg: ['thy-empty-state', 'thy-empty-state--lg'],
@@ -42,6 +43,7 @@ export class ThyEmpty {
42
43
  this.elementRef = inject(ElementRef);
43
44
  this.ngZone = inject(NgZone);
44
45
  this.sanitizer = inject(DomSanitizer);
46
+ this.locale = injectLocale('empty');
45
47
  this.size = 'md';
46
48
  this._initialized = false;
47
49
  this.hostRenderer = useHostRenderer();
@@ -74,9 +76,12 @@ export class ThyEmpty {
74
76
  target: this.thyTranslate.instant(this.thyEntityNameTranslateKey)
75
77
  });
76
78
  }
77
- else {
79
+ else if (this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey) !== 'common.tips.NO_RESULT') {
78
80
  return this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey);
79
81
  }
82
+ else {
83
+ return this.locale().noDataText;
84
+ }
80
85
  }
81
86
  _calculatePosition() {
82
87
  const sizeOptions = sizeMap[this.thySize || 'md'];
@@ -175,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
175
180
  type: ContentChild,
176
181
  args: ['extra']
177
182
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFFWCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXhELE1BQU0sWUFBWSxHQUFHO0lBQ2pCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0lBQzlDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ3ZCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0NBQ2pELENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNaLEVBQUUsRUFBRTtRQUNBLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUztRQUN0QixTQUFTLEVBQUUsRUFBRSxFQUFFLDhCQUE4QjtRQUM3QyxnQkFB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QUFhO3NCQUFyQixLQUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFXRyxZQUFZO3NCQUFwQixLQUFLO2dCQU11QyxVQUFVO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFjaUIsZ0JBQWdCO3NCQUF0QyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlUcmFuc2xhdGUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeUVtcHR5Q29uZmlnIH0gZnJvbSAnLi9lbXB0eS5jb25maWcnO1xuaW1wb3J0IHsgUFJFU0VUX1NWRyB9IGZyb20gJy4vc3Zncyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBzaXplQ2xhc3NNYXAgPSB7XG4gICAgbGc6IFsndGh5LWVtcHR5LXN0YXRlJywgJ3RoeS1lbXB0eS1zdGF0ZS0tbGcnXSxcbiAgICBtZDogWyd0aHktZW1wdHktc3RhdGUnXSxcbiAgICBzbTogWyd0aHktZW1wdHktc3RhdGUnLCAndGh5LWVtcHR5LXN0YXRlLS1zbSddXG59O1xuXG5jb25zdCBzaXplTWFwID0ge1xuICAgIGxnOiB7XG4gICAgICAgIGhlaWdodDogMTY4LCAvLyDnqbrmj5DnpLrnmoTpq5jluqZcbiAgICAgICAgb2Zmc2V0VG9wOiAzMCwgLy8g56m65o+Q56S65Zu+5qCH5ZKM5aSn5bCP5LmL6Ze055qE56m655m96Led56a777yM6ZyA6KaB6Zmk5Y6777yM5ZCm5YiZ5Lya5LiN5bGF5LitXG4gICAgICAgIGRlZmF1bHRNYXJnaW5Ub3A6IDEyMCAvLyDkuI3oh6rliqjorqHnrpfpu5jorqTnmoQgdG9wIOi3neemu1xuICAgIH0sXG4gICAgbWQ6IHtcbiAgICAgICAgaGVpZ2h0OiAxMTgsXG4gICAgICAgIG9mZnNldFRvcDogMjAsXG4gICAgICAgIGRlZmF1bHRNYXJnaW5Ub3A6IDEwXG4gICAgfSxcbiAgICBzbToge1xuICAgICAgICBoZWlnaHQ6IDc4LFxuICAgICAgICBvZmZzZXRUb3A6IDEwLFxuICAgICAgICBkZWZhdWx0TWFyZ2luVG9wOiAxMFxuICAgIH1cbn07XG5cbi8qKiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjYXR0ci1pbWctbG9hZGluZyAqL1xuZXhwb3J0IHR5cGUgVGh5RW1wdHlJbWFnZUxvYWRpbmcgPSAnZWFnZXInIHwgJ2xhenknO1xuXG4vKiogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wcmlvcml0eS1oaW50cy8jaWRsLWluZGV4ICovXG5leHBvcnQgdHlwZSBUaHlFbXB0eUltYWdlRmV0Y2hQcmlvcml0eSA9ICdoaWdoJyB8ICdsb3cnIHwgJ2F1dG8nO1xuXG4vKipcbiAqIOepuumhtemdoue7hOS7tlxuICogQG5hbWUgdGh5LWVtcHR5XG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZW1wdHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbXB0eS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RW1wdHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSB0aHlUcmFuc2xhdGUgPSBpbmplY3QoVGh5VHJhbnNsYXRlKTtcbiAgICBwcml2YXRlIHRoeUVtcHR5Q29uZmlnID0gaW5qZWN0KFRoeUVtcHR5Q29uZmlnKTtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65paH5pys5o+Q56S65L+h5oGv44CC5ZCM5pe25Lyg5YWlIHRoeU1lc3NhZ2XvvIx0aHlUcmFuc2xhdGlvbktlee+8jHRoeUVudGl0eU5hbWXvvIx0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5IOaXtuS8mOWFiOe6p+acgOmrmFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYvuekuuaWh+acrOaPkOekuuS/oeaBr+WkmuivreiogCBLZXnjgILlkIzml7bkvKDlhaUgdGh5VHJhbnNsYXRpb25LZXnvvIx0aHlFbnRpdHlOYW1l77yMdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSDml7bkvJjlhYjnuqfmnIDpq5hcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmFuc2xhdGlvbktleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65paH5pys5o+Q56S65L+h5oGv5aSa6K+t6KiAIEtleSDnmoQgVmFsdWVz44CC5Lyg5YWlIHRoeVRyYW5zbGF0aW9uS2V5IOWQju+8jOS8oOWFpei/meS4quaJjeS8mueUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRyYW5zbGF0aW9uVmFsdWVzOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrpu5jorqTmj5DnpLrkv6Hmga/vvIzmm7/mjaLpu5jorqTmj5DnpLrkv6Hmga/nmoTnm67moIflr7nosaHvvIzmr5TlpoLvvJrmsqHmnIkge3RoeUVudGl0eU5hbWV944CC5ZCM5pe25Lyg5YWlIHRoeUVudGl0eU5hbWXvvIx0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5IOaXtuS8mOWFiOe6p+i+g+mrmFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVudGl0eU5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIHRoeUVudGl0eU5hbWUg55qE5aSa6K+t6KiAIEtleeOAgnRoeU1lc3NhZ2XvvIx0aHlUcmFuc2xhdGlvbktlee+8jHRoeUVudGl0eU5hbWUg5Z2H5pyq5Lyg5YWl5pe25omN5Lya55Sf5pWIXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65Zu+5qCH5ZCNXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SWNvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOi3neS4iui3neemu1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1hcmdpblRvcDogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5qC55o2u54i25a655Zmo6K6h566X6auY5bqm77yM5Z6C55u05bGF5LitXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlUb3BBdXRvOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo6K6h566X6auY5bqm5Z6C55u05bGF5LitKOWNsyB0aHlUb3BBdXRvIOS4uiB0cnVlKeaXtu+8jOaUr+aMgeS8oOWFpeiHquWumuS5ieeItuWuueWZqFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIOaPkOekuuWbvueJh+mTvuaOpVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUltYWdlVXJsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0aHlJbWFnZUxvYWRpbmc/OiBUaHlFbXB0eUltYWdlTG9hZGluZztcblxuICAgIEBJbnB1dCgpIHRoeUltYWdlRmV0Y2hQcmlvcml0eT86IFRoeUVtcHR5SW1hZ2VGZXRjaFByaW9yaXR5O1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65paH5pys5o+P6L+wXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHByaXZhdGUgc2l6ZTogc3RyaW5nID0gJ21kJztcblxuICAgIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgcHJlc2V0U3ZnOiBTYWZlQW55O1xuXG4gICAgLyoqXG4gICAgICog6Zmk5o+Q56S65Zu+54mH77yM5paH5pys5aSW55qE5YW25LuW5L+h5oGv5Lyg5YWl5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBnZXQgZGlzcGxheVRleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeU1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeU1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50aHlUcmFuc2xhdGlvbktleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlUcmFuc2xhdGlvbktleSwgdGhpcy50aHlUcmFuc2xhdGlvblZhbHVlcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50aHlFbnRpdHlOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeUVtcHR5Q29uZmlnLm5vUmVzdWx0V2l0aFRhcmdldFRyYW5zbGF0ZUtleSwge1xuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcy50aHlFbnRpdHlOYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeUVudGl0eU5hbWVUcmFuc2xhdGVLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW1wdHlDb25maWcubm9SZXN1bHRXaXRoVGFyZ2V0VHJhbnNsYXRlS2V5LCB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbXB0eUNvbmZpZy5ub1Jlc3VsdFRyYW5zbGF0ZUtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3Qgc2l6ZU9wdGlvbnMgPSBzaXplTWFwW3RoaXMudGh5U2l6ZSB8fCAnbWQnXTtcbiAgICAgICAgbGV0IG1hcmdpblRvcCA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLnRoeVRvcEF1dG8pIHtcbiAgICAgICAgICAgIC8vIOmAieaLqeWPguiAg+eItuWuueWZqOWxheS4rVxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMudGh5Q29udGFpbmVyID8gdGhpcy50aHlDb250YWluZXIubmF0aXZlRWxlbWVudCA6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBjb250YWluZXJFbGVtZW50LmhlaWdodDtcbiAgICAgICAgICAgIGxldCBlbXB0eVN0YXRlSGVpZ2h0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgLy8g6auY5bqm5rKh5pyJ6Ieq5Yqo6K6h566X5Ye65p2l5L2/55So6buY6K6k5YC8XG4gICAgICAgICAgICBpZiAoZW1wdHlTdGF0ZUhlaWdodCA8PSAxMCkge1xuICAgICAgICAgICAgICAgIGVtcHR5U3RhdGVIZWlnaHQgPSBzaXplT3B0aW9ucy5oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW5Ub3AgPSAoY29udGFpbmVyRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBlbXB0eVN0YXRlSGVpZ2h0KSAvIDIgLSBzaXplT3B0aW9ucy5vZmZzZXRUb3A7XG4gICAgICAgICAgICAvLyBtYXJnaW5Ub3AgPSAoY29udGFpbmVyRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBlbXB0eVN0YXRlSGVpZ2h0KSAvIDI7XG4gICAgICAgICAgICBpZiAobWFyZ2luVG9wIDwgMCkge1xuICAgICAgICAgICAgICAgIG1hcmdpblRvcCA9IDA7IC8vIHNpemVPcHRpb25zLmRlZmF1bHRNYXJnaW5Ub3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlNYXJnaW5Ub3ApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3AgPSB0aGlzLnRoeU1hcmdpblRvcDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wID0gMDsgLy8gc2l6ZU9wdGlvbnMuZGVmYXVsdE1hcmdpblRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWFyZ2luVG9wKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5zZXRTdHlsZSgnbWFyZ2luVG9wJywgbWFyZ2luVG9wICsgJ3B4Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzcygpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0UHJlc2V0U3ZnKHRoaXMudGh5SWNvbk5hbWUpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzKCkge1xuICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSBzaXplQ2xhc3NNYXBbdGhpcy5zaXplXSB8fCBzaXplQ2xhc3NNYXBbJ21kJ107XG4gICAgICAgIGlmIChjbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTGlzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMudGh5SWNvbk5hbWUgJiYgY2hhbmdlcy50aHlJY29uTmFtZS5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXMudGh5SWNvbk5hbWUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UHJlc2V0U3ZnKGNoYW5nZXMudGh5SWNvbk5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFByZXNldFN2ZyhpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wcmVzZXRTdmcgPSAnJztcbiAgICAgICAgbGV0IHByZXNldFN2ZyA9IGljb24gPyBQUkVTRVRfU1ZHW2ljb25dIDogUFJFU0VUX1NWRy5kZWZhdWx0O1xuXG4gICAgICAgIHRoaXMucHJlc2V0U3ZnID0gcHJlc2V0U3ZnID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocHJlc2V0U3ZnKSA6ICcnO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktZW1wdHktaWNvblwiPlxuICBAaWYgKHRoeUltYWdlVXJsKSB7XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJ0aHlJbWFnZVVybFwiXG4gICAgICBbYXR0ci5sb2FkaW5nXT1cInRoeUltYWdlTG9hZGluZ1wiXG4gICAgICBbYXR0ci5mZXRjaHByaW9yaXR5XT1cInRoeUltYWdlRmV0Y2hQcmlvcml0eVwiXG4gICAgICBjbGFzcz1cImVtcHR5LWltZ1wiXG4gICAgICAvPlxuICB9IEBlbHNlIHtcbiAgICBAaWYgKHByZXNldFN2Zykge1xuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInByZXNldFN2Z1wiPjwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICh0aHlJY29uTmFtZSkge1xuICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJlbXB0eS1pY29uXCIgW3RoeUljb25OYW1lXT1cInRoeUljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgICAgIH1cbiAgICB9XG4gIH1cbjwvZGl2PlxuXG48ZGl2IFtuZ0NsYXNzXT1cInsgJ3RoeS1lbXB0eS10ZXh0JzogIXRoeURlc2NyaXB0aW9uLCAndGh5LWVtcHR5LXRleHQtd2l0aC1leHRyYSc6IHRoeURlc2NyaXB0aW9uIH1cIj5cbiAge3sgZGlzcGxheVRleHQgfX1cbjwvZGl2PlxuXG5AaWYgKHRoeURlc2NyaXB0aW9uKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aHktZW1wdHktZGVzY3JpcHRpb25cIj5cbiAgICB7eyB0aHlEZXNjcmlwdGlvbiB9fVxuICA8L2Rpdj5cbn1cblxuQGlmIChleHRyYVRlbXBsYXRlUmVmKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aHktZW1wdHktZXh0cmFcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFFWCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0QsTUFBTSxZQUFZLEdBQUc7SUFDakIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7SUFDOUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDdkIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7Q0FDakQsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osRUFBRSxFQUFFO1FBQ0EsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFT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USxzWEFpRUcscUJBQXFCLHlVQ3BJN0MscTFCQWtDQSw0Q0QrQmMsT0FBTyxzTUFBRSxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRW5DLFFBQVE7a0JBTnBCLFNBQVM7K0JBQ0ksV0FBVyxjQUVULElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7OEJBY3BDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLHlCQUF5QjtzQkFBakMsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFXRyxZQUFZO3NCQUFwQixLQUFLO2dCQU11QyxVQUFVO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFjaUIsZ0JBQWdCO3NCQUF0QyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlUcmFuc2xhdGUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBpbmplY3QsXG4gICAgU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlFbXB0eUNvbmZpZyB9IGZyb20gJy4vZW1wdHkuY29uZmlnJztcbmltcG9ydCB7IFBSRVNFVF9TVkcgfSBmcm9tICcuL3N2Z3MnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGluamVjdExvY2FsZSwgVGh5RW1wdHlMb2NhbGUgfSBmcm9tICduZ3gtdGV0aHlzL2kxOG4nO1xuXG5jb25zdCBzaXplQ2xhc3NNYXAgPSB7XG4gICAgbGc6IFsndGh5LWVtcHR5LXN0YXRlJywgJ3RoeS1lbXB0eS1zdGF0ZS0tbGcnXSxcbiAgICBtZDogWyd0aHktZW1wdHktc3RhdGUnXSxcbiAgICBzbTogWyd0aHktZW1wdHktc3RhdGUnLCAndGh5LWVtcHR5LXN0YXRlLS1zbSddXG59O1xuXG5jb25zdCBzaXplTWFwID0ge1xuICAgIGxnOiB7XG4gICAgICAgIGhlaWdodDogMTY4LCAvLyDnqbrmj5DnpLrnmoTpq5jluqZcbiAgICAgICAgb2Zmc2V0VG9wOiAzMCwgLy8g56m65o+Q56S65Zu+5qCH5ZKM5aSn5bCP5LmL6Ze055qE56m655m96Led56a777yM6ZyA6KaB6Zmk5Y6777yM5ZCm5YiZ5Lya5LiN5bGF5LitXG4gICAgICAgIGRlZmF1bHRNYXJnaW5Ub3A6IDEyMCAvLyDkuI3oh6rliqjorqHnrpfpu5jorqTnmoQgdG9wIOi3neemu1xuICAgIH0sXG4gICAgbWQ6IHtcbiAgICAgICAgaGVpZ2h0OiAxMTgsXG4gICAgICAgIG9mZnNldFRvcDogMjAsXG4gICAgICAgIGRlZmF1bHRNYXJnaW5Ub3A6IDEwXG4gICAgfSxcbiAgICBzbToge1xuICAgICAgICBoZWlnaHQ6IDc4LFxuICAgICAgICBvZmZzZXRUb3A6IDEwLFxuICAgICAgICBkZWZhdWx0TWFyZ2luVG9wOiAxMFxuICAgIH1cbn07XG5cbi8qKiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjYXR0ci1pbWctbG9hZGluZyAqL1xuZXhwb3J0IHR5cGUgVGh5RW1wdHlJbWFnZUxvYWRpbmcgPSAnZWFnZXInIHwgJ2xhenknO1xuXG4vKiogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wcmlvcml0eS1oaW50cy8jaWRsLWluZGV4ICovXG5leHBvcnQgdHlwZSBUaHlFbXB0eUltYWdlRmV0Y2hQcmlvcml0eSA9ICdoaWdoJyB8ICdsb3cnIHwgJ2F1dG8nO1xuXG4vKipcbiAqIOepuumhtemdoue7hOS7tlxuICogQG5hbWUgdGh5LWVtcHR5XG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZW1wdHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbXB0eS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RW1wdHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSB0aHlUcmFuc2xhdGUgPSBpbmplY3QoVGh5VHJhbnNsYXRlKTtcbiAgICBwcml2YXRlIHRoeUVtcHR5Q29uZmlnID0gaW5qZWN0KFRoeUVtcHR5Q29uZmlnKTtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICAgIHByaXZhdGUgbG9jYWxlOiBTaWduYWw8VGh5RW1wdHlMb2NhbGU+ID0gaW5qZWN0TG9jYWxlKCdlbXB0eScpO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65paH5pys5o+Q56S65L+h5oGv44CC5ZCM5pe25Lyg5YWlIHRoeU1lc3NhZ2XvvIx0aHlUcmFuc2xhdGlvbktlee+8jHRoeUVudGl0eU5hbWXvvIx0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5IOaXtuS8mOWFiOe6p+acgOmrmFxuICAgICAqIEBkZWZhdWx0IOaaguaXoOaVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g+OAguaYvuekuuaWh+acrOaPkOekuuS/oeaBr+WkmuivreiogCBLZXnjgILlkIzml7bkvKDlhaUgdGh5VHJhbnNsYXRpb25LZXnvvIx0aHlFbnRpdHlOYW1l77yMdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSDml7bkvJjlhYjnuqfmnIDpq5hcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRyYW5zbGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPjgILmmL7npLrmlofmnKzmj5DnpLrkv6Hmga/lpJror63oqIAgS2V5IOeahCBWYWx1ZXPjgILkvKDlhaUgdGh5VHJhbnNsYXRpb25LZXkg5ZCO77yM5Lyg5YWl6L+Z5Liq5omN5Lya55Sf5pWIXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmFuc2xhdGlvblZhbHVlczogYW55O1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD44CC5pi+56S66buY6K6k5o+Q56S65L+h5oGv77yM5pu/5o2i6buY6K6k5o+Q56S65L+h5oGv55qE55uu5qCH5a+56LGh77yM5q+U5aaC77ya5rKh5pyJIHt0aHlFbnRpdHlOYW1lfeOAguWQjOaXtuS8oOWFpSB0aHlFbnRpdHlOYW1l77yMdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSDml7bkvJjlhYjnuqfovoPpq5hcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVudGl0eU5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g+OAgnRoeUVudGl0eU5hbWUg55qE5aSa6K+t6KiAIEtleeOAgnRoeU1lc3NhZ2XvvIx0aHlUcmFuc2xhdGlvbktlee+8jHRoeUVudGl0eU5hbWUg5Z2H5pyq5Lyg5YWl5pe25omN5Lya55Sf5pWIXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrlm77moIflkI1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Led5LiK6Led56a7XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWFyZ2luVG9wOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjmoLnmja7niLblrrnlmajorqHnrpfpq5jluqbvvIzlnoLnm7TlsYXkuK1cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRvcEF1dG86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjorqHnrpfpq5jluqblnoLnm7TlsYXkuK0o5Y2zIHRoeVRvcEF1dG8g5Li6IHRydWUp5pe277yM5pSv5oyB5Lyg5YWl6Ieq5a6a5LmJ54i25a655ZmoXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65Zu+54mH6ZO+5o6lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW1hZ2VVcmw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRoeUltYWdlTG9hZGluZz86IFRoeUVtcHR5SW1hZ2VMb2FkaW5nO1xuXG4gICAgQElucHV0KCkgdGh5SW1hZ2VGZXRjaFByaW9yaXR5PzogVGh5RW1wdHlJbWFnZUZldGNoUHJpb3JpdHk7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj4/ov7BcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzaXplOiBzdHJpbmcgPSAnbWQnO1xuXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcmVzZXRTdmc6IFNhZmVBbnk7XG5cbiAgICAvKipcbiAgICAgKiDpmaTmj5DnpLrlm77niYfvvIzmlofmnKzlpJbnmoTlhbbku5bkv6Hmga/kvKDlhaXmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmFUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGdldCBkaXNwbGF5VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5TWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5TWVzc2FnZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5LCB0aGlzLnRoeVRyYW5zbGF0aW9uVmFsdWVzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeUVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW1wdHlDb25maWcubm9SZXN1bHRXaXRoVGFyZ2V0VHJhbnNsYXRlS2V5LCB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRoeUVudGl0eU5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbXB0eUNvbmZpZy5ub1Jlc3VsdFdpdGhUYXJnZXRUcmFuc2xhdGVLZXksIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeUVtcHR5Q29uZmlnLm5vUmVzdWx0VHJhbnNsYXRlS2V5KSAhPT0gJ2NvbW1vbi50aXBzLk5PX1JFU1VMVCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW1wdHlDb25maWcubm9SZXN1bHRUcmFuc2xhdGVLZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlKCkubm9EYXRhVGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBzaXplT3B0aW9ucyA9IHNpemVNYXBbdGhpcy50aHlTaXplIHx8ICdtZCddO1xuICAgICAgICBsZXQgbWFyZ2luVG9wID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMudGh5VG9wQXV0bykge1xuICAgICAgICAgICAgLy8g6YCJ5oup5Y+C6ICD54i25a655Zmo5bGF5LitXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy50aHlDb250YWluZXIgPyB0aGlzLnRoeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50IDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIC8vIGNvbnRhaW5lckVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICAgICAgbGV0IGVtcHR5U3RhdGVIZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAvLyDpq5jluqbmsqHmnInoh6rliqjorqHnrpflh7rmnaXkvb/nlKjpu5jorqTlgLxcbiAgICAgICAgICAgIGlmIChlbXB0eVN0YXRlSGVpZ2h0IDw9IDEwKSB7XG4gICAgICAgICAgICAgICAgZW1wdHlTdGF0ZUhlaWdodCA9IHNpemVPcHRpb25zLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMiAtIHNpemVPcHRpb25zLm9mZnNldFRvcDtcbiAgICAgICAgICAgIC8vIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMjtcbiAgICAgICAgICAgIGlmIChtYXJnaW5Ub3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wID0gMDsgLy8gc2l6ZU9wdGlvbnMuZGVmYXVsdE1hcmdpblRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeU1hcmdpblRvcCkge1xuICAgICAgICAgICAgICAgIG1hcmdpblRvcCA9IHRoaXMudGh5TWFyZ2luVG9wO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3AgPSAwOyAvLyBzaXplT3B0aW9ucy5kZWZhdWx0TWFyZ2luVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtYXJnaW5Ub3ApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnNldFN0eWxlKCdtYXJnaW5Ub3AnLCBtYXJnaW5Ub3AgKyAncHgnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRQcmVzZXRTdmcodGhpcy50aHlJY29uTmFtZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2xhc3MoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IHNpemVDbGFzc01hcFt0aGlzLnNpemVdIHx8IHNpemVDbGFzc01hcFsnbWQnXTtcbiAgICAgICAgaWYgKGNsYXNzTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoY2xhc3NMaXN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH0sIDUwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy50aHlJY29uTmFtZSAmJiBjaGFuZ2VzLnRoeUljb25OYW1lLmN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlcy50aHlJY29uTmFtZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRQcmVzZXRTdmcoY2hhbmdlcy50aHlJY29uTmFtZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0UHJlc2V0U3ZnKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnByZXNldFN2ZyA9ICcnO1xuICAgICAgICBsZXQgcHJlc2V0U3ZnID0gaWNvbiA/IFBSRVNFVF9TVkdbaWNvbl0gOiBQUkVTRVRfU1ZHLmRlZmF1bHQ7XG5cbiAgICAgICAgdGhpcy5wcmVzZXRTdmcgPSBwcmVzZXRTdmcgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwcmVzZXRTdmcpIDogJyc7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1lbXB0eS1pY29uXCI+XG4gIEBpZiAodGh5SW1hZ2VVcmwpIHtcbiAgICA8aW1nXG4gICAgICBbc3JjXT1cInRoeUltYWdlVXJsXCJcbiAgICAgIFthdHRyLmxvYWRpbmddPVwidGh5SW1hZ2VMb2FkaW5nXCJcbiAgICAgIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5SW1hZ2VGZXRjaFByaW9yaXR5XCJcbiAgICAgIGNsYXNzPVwiZW1wdHktaW1nXCJcbiAgICAgIC8+XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAocHJlc2V0U3ZnKSB7XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicHJlc2V0U3ZnXCI+PC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKHRoeUljb25OYW1lKSB7XG4gICAgICAgIDx0aHktaWNvbiBjbGFzcz1cImVtcHR5LWljb25cIiBbdGh5SWNvbk5hbWVdPVwidGh5SWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyAndGh5LWVtcHR5LXRleHQnOiAhdGh5RGVzY3JpcHRpb24sICd0aHktZW1wdHktdGV4dC13aXRoLWV4dHJhJzogdGh5RGVzY3JpcHRpb24gfVwiPlxuICB7eyBkaXNwbGF5VGV4dCB9fVxuPC9kaXY+XG5cbkBpZiAodGh5RGVzY3JpcHRpb24pIHtcbiAgPGRpdiBjbGFzcz1cInRoeS1lbXB0eS1kZXNjcmlwdGlvblwiPlxuICAgIHt7IHRoeURlc2NyaXB0aW9uIH19XG4gIDwvZGl2PlxufVxuXG5AaWYgKGV4dHJhVGVtcGxhdGVSZWYpIHtcbiAgPGRpdiBjbGFzcz1cInRoeS1lbXB0eS1leHRyYVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJleHRyYVRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG59XG4iXX0=
@@ -1,5 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated
5
+ */
3
6
  export class ThyEmptyConfig {
4
7
  constructor() {
5
8
  this.noResultTranslateKey = 'common.tips.NO_RESULT';
@@ -11,4 +14,4 @@ export class ThyEmptyConfig {
11
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyEmptyConfig, decorators: [{
12
15
  type: Injectable
13
16
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVJLHlCQUFvQixHQUFHLHVCQUF1QixDQUFDO1FBQy9DLG1DQUE4QixHQUFHLDhCQUE4QixDQUFDO0tBQ25FOzhHQUhZLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoeUVtcHR5Q29uZmlnIHtcbiAgICBub1Jlc3VsdFRyYW5zbGF0ZUtleSA9ICdjb21tb24udGlwcy5OT19SRVNVTFQnO1xuICAgIG5vUmVzdWx0V2l0aFRhcmdldFRyYW5zbGF0ZUtleSA9ICdjb21tb24udGlwcy5OT19SRVNVTFRfVEFSR0VUJztcbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRUkseUJBQW9CLEdBQUcsdUJBQXVCLENBQUM7UUFDL0MsbUNBQThCLEdBQUcsOEJBQThCLENBQUM7S0FDbkU7OEdBSFksY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlFbXB0eUNvbmZpZyB7XG4gICAgbm9SZXN1bHRUcmFuc2xhdGVLZXkgPSAnY29tbW9uLnRpcHMuTk9fUkVTVUxUJztcbiAgICBub1Jlc3VsdFdpdGhUYXJnZXRUcmFuc2xhdGVLZXkgPSAnY29tbW9uLnRpcHMuTk9fUkVTVUxUX1RBUkdFVCc7XG59XG4iXX0=