@ng-atomic/common 19.0.0-preview.9 → 19.1.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 (325) hide show
  1. package/directives/fallback-src/index.d.ts +12 -1
  2. package/directives/ios-safari-scroll-buggyfill/index.d.ts +18 -2
  3. package/directives/molecules/column/index.d.ts +70 -1
  4. package/directives/resize-column/index.d.ts +24 -1
  5. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +3 -3
  6. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +7 -7
  8. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
  9. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +7 -7
  10. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
  11. package/fesm2022/ng-atomic-common-directives-resize-column.mjs +6 -6
  12. package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +1 -1
  13. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -3
  14. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
  15. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +6 -6
  16. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
  17. package/fesm2022/ng-atomic-common-interceptors-token.mjs +3 -3
  18. package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +1 -1
  19. package/fesm2022/ng-atomic-common-interceptors.mjs +4 -4
  20. package/fesm2022/ng-atomic-common-interceptors.mjs.map +1 -1
  21. package/fesm2022/ng-atomic-common-models.mjs.map +1 -1
  22. package/fesm2022/ng-atomic-common-pipes-actions.mjs +3 -3
  23. package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +1 -1
  24. package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +4 -4
  25. package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -1
  26. package/fesm2022/ng-atomic-common-pipes-columns.mjs +3 -3
  27. package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -1
  28. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +3 -3
  29. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +1 -1
  30. package/fesm2022/ng-atomic-common-pipes-domain.mjs +17 -7
  31. package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-common-pipes-error.mjs +11 -6
  33. package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
  34. package/fesm2022/ng-atomic-common-pipes-expression.mjs +3 -3
  35. package/fesm2022/ng-atomic-common-pipes-expression.mjs.map +1 -1
  36. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +3 -3
  37. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +1 -1
  38. package/fesm2022/ng-atomic-common-pipes-index-length.mjs +3 -3
  39. package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +1 -1
  40. package/fesm2022/ng-atomic-common-pipes-index.mjs +3 -3
  41. package/fesm2022/ng-atomic-common-pipes-index.mjs.map +1 -1
  42. package/fesm2022/ng-atomic-common-pipes-keys.mjs +3 -3
  43. package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +1 -1
  44. package/fesm2022/ng-atomic-common-pipes-map.mjs +3 -3
  45. package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -1
  46. package/fesm2022/ng-atomic-common-pipes-page.mjs +3 -3
  47. package/fesm2022/ng-atomic-common-pipes-page.mjs.map +1 -1
  48. package/fesm2022/ng-atomic-common-pipes-pagination.mjs +4 -4
  49. package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  50. package/fesm2022/ng-atomic-common-pipes-query.mjs +4 -4
  51. package/fesm2022/ng-atomic-common-pipes-query.mjs.map +1 -1
  52. package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +3 -3
  53. package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -1
  54. package/fesm2022/ng-atomic-common-pipes-secret.mjs +3 -3
  55. package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +1 -1
  56. package/fesm2022/ng-atomic-common-pipes-select-id.mjs +3 -3
  57. package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +1 -1
  58. package/fesm2022/ng-atomic-common-pipes-signal.mjs +3 -3
  59. package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +1 -1
  60. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +7 -4
  61. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
  62. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +3 -3
  63. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -1
  64. package/fesm2022/ng-atomic-common-pipes-sort.mjs +3 -3
  65. package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -1
  66. package/fesm2022/ng-atomic-common-pipes-style.mjs +3 -3
  67. package/fesm2022/ng-atomic-common-pipes-style.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-common-pipes-yen.mjs +3 -3
  69. package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +1 -1
  70. package/fesm2022/ng-atomic-common-services-app.mjs +6 -6
  71. package/fesm2022/ng-atomic-common-services-app.mjs.map +1 -1
  72. package/fesm2022/ng-atomic-common-services-auth.mjs +29 -6
  73. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  74. package/fesm2022/ng-atomic-common-services-breakpoint.mjs +3 -3
  75. package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -1
  76. package/fesm2022/ng-atomic-common-services-chips-manager.mjs +3 -3
  77. package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +1 -1
  78. package/fesm2022/ng-atomic-common-services-csv.mjs +3 -3
  79. package/fesm2022/ng-atomic-common-services-csv.mjs.map +1 -1
  80. package/fesm2022/ng-atomic-common-services-editing.mjs +56 -0
  81. package/fesm2022/ng-atomic-common-services-editing.mjs.map +1 -0
  82. package/fesm2022/ng-atomic-common-services-fab.mjs +3 -3
  83. package/fesm2022/ng-atomic-common-services-fab.mjs.map +1 -1
  84. package/fesm2022/ng-atomic-common-services-form-_index.mjs +3 -3
  85. package/fesm2022/ng-atomic-common-services-form-_index.mjs.map +1 -1
  86. package/fesm2022/ng-atomic-common-services-form-columns.mjs +3 -3
  87. package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +1 -1
  88. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +127 -19
  89. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +1 -1
  90. package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
  91. package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +1 -1
  92. package/fesm2022/ng-atomic-common-services-form-sort.mjs +3 -3
  93. package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
  94. package/fesm2022/ng-atomic-common-services-form.mjs +37 -2
  95. package/fesm2022/ng-atomic-common-services-form.mjs.map +1 -1
  96. package/fesm2022/ng-atomic-common-services-initializer.mjs +3 -3
  97. package/fesm2022/ng-atomic-common-services-initializer.mjs.map +1 -1
  98. package/fesm2022/ng-atomic-common-services-language.mjs +3 -3
  99. package/fesm2022/ng-atomic-common-services-language.mjs.map +1 -1
  100. package/fesm2022/ng-atomic-common-services-loading.mjs +6 -6
  101. package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-common-services-navigation-history.mjs +3 -3
  103. package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -1
  104. package/fesm2022/ng-atomic-common-services-query-resolver.mjs +7 -7
  105. package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-common-services-root-property.mjs +9 -9
  107. package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
  108. package/fesm2022/ng-atomic-common-services-router.mjs +3 -3
  109. package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-common-services-secret.mjs +3 -3
  111. package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +5 -5
  113. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-common-services-sheets.mjs +11 -14
  115. package/fesm2022/ng-atomic-common-services-sheets.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-common-services-side-app.mjs +6 -6
  117. package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +3 -3
  119. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-common-services-snack-bar.mjs +7 -7
  121. package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +433 -197
  123. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-common-services-ui.mjs +45 -19
  125. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-common-stores-entities.mjs +19 -18
  127. package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-common-stores-entity.mjs.map +1 -1
  129. package/fesm2022/ng-atomic-common-stores-pagination.mjs +3 -3
  130. package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +1 -1
  131. package/fesm2022/ng-atomic-common-stores-query.mjs +3 -3
  132. package/fesm2022/ng-atomic-common-stores-query.mjs.map +1 -1
  133. package/fesm2022/ng-atomic-common-stores-selection.mjs +3 -3
  134. package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
  135. package/fesm2022/ng-atomic-common-stores-sort.mjs +3 -3
  136. package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
  137. package/fesm2022/ng-atomic-common-utils.mjs +22 -12
  138. package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-common.mjs +340 -50
  140. package/fesm2022/ng-atomic-common.mjs.map +1 -1
  141. package/index.d.ts +111 -1
  142. package/interceptors/authorization/index.d.ts +20 -1
  143. package/interceptors/index.d.ts +10 -1
  144. package/interceptors/throttle/index.d.ts +25 -1
  145. package/interceptors/token/index.d.ts +17 -1
  146. package/models/index.d.ts +32 -11
  147. package/package.json +15 -35
  148. package/pipes/actions/index.d.ts +11 -1
  149. package/pipes/auto-columns/index.d.ts +10 -1
  150. package/pipes/columns/index.d.ts +12 -1
  151. package/pipes/data-accessor/index.d.ts +23 -1
  152. package/pipes/domain/index.d.ts +72 -1
  153. package/pipes/error/index.d.ts +21 -1
  154. package/pipes/expression/index.d.ts +13 -1
  155. package/pipes/grouped-by/index.d.ts +13 -1
  156. package/pipes/index/index.d.ts +17 -1
  157. package/pipes/index-length/index.d.ts +15 -1
  158. package/pipes/keys/index.d.ts +12 -1
  159. package/pipes/map/index.d.ts +10 -1
  160. package/pipes/page/index.d.ts +14 -1
  161. package/pipes/pagination/index.d.ts +28 -1
  162. package/pipes/query/index.d.ts +14 -1
  163. package/pipes/resolve-columns/index.d.ts +14 -1
  164. package/pipes/secret/index.d.ts +11 -1
  165. package/pipes/select-id/index.d.ts +16 -1
  166. package/pipes/signal/index.d.ts +15 -1
  167. package/pipes/smart-field/index.d.ts +102 -1
  168. package/pipes/sort/index.d.ts +11 -1
  169. package/pipes/sort-by/index.d.ts +20 -1
  170. package/pipes/style/index.d.ts +22 -1
  171. package/pipes/yen/index.d.ts +10 -1
  172. package/services/app/index.d.ts +37 -1
  173. package/services/auth/index.d.ts +56 -1
  174. package/services/breakpoint/index.d.ts +35 -1
  175. package/services/chips-manager/index.d.ts +14 -1
  176. package/services/csv/index.d.ts +9 -1
  177. package/services/editing/index.d.ts +30 -0
  178. package/services/fab/index.d.ts +22 -1
  179. package/services/form/_index/index.d.ts +61 -1
  180. package/services/form/columns/index.d.ts +68 -1
  181. package/services/form/index.d.ts +34 -1
  182. package/services/form/json-schema/index.d.ts +73 -1
  183. package/services/form/pagination/index.d.ts +21 -1
  184. package/services/form/sort/index.d.ts +21 -1
  185. package/services/initializer/index.d.ts +24 -1
  186. package/services/language/index.d.ts +16 -1
  187. package/services/loading/index.d.ts +33 -1
  188. package/services/navigation-history/index.d.ts +17 -1
  189. package/services/query-resolver/index.d.ts +32 -1
  190. package/services/root-property/index.d.ts +100 -2
  191. package/services/router/index.d.ts +15 -1
  192. package/services/secret/index.d.ts +9 -1
  193. package/services/sheets/actions/index.d.ts +12 -1
  194. package/services/sheets/index.d.ts +20 -2
  195. package/services/side-app/index.d.ts +24 -1
  196. package/services/side-nav-mode/index.d.ts +16 -1
  197. package/services/snack-bar/index.d.ts +22 -2
  198. package/services/spreadsheet/index.d.ts +307 -4
  199. package/services/ui/index.d.ts +104 -2
  200. package/stores/entities/index.d.ts +169 -6
  201. package/stores/entity/index.d.ts +31 -1
  202. package/stores/pagination/index.d.ts +24 -1
  203. package/stores/query/index.d.ts +22 -1
  204. package/stores/selection/index.d.ts +28 -1
  205. package/stores/sort/index.d.ts +25 -1
  206. package/utils/index.d.ts +236 -13
  207. package/common.module.d.ts +0 -15
  208. package/directives/fallback-src/fallback-src.directive.d.ts +0 -9
  209. package/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.d.ts +0 -8
  210. package/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.d.ts +0 -8
  211. package/directives/molecules/column/column.molecule.d.ts +0 -67
  212. package/directives/resize-column/resize-column.directive.d.ts +0 -21
  213. package/directives/resize-column/resize-handle.component.d.ts +0 -5
  214. package/interceptors/authorization/authorization.interceptor.d.ts +0 -16
  215. package/interceptors/interceptors.module.d.ts +0 -7
  216. package/interceptors/throttle/throttle.interceptor.d.ts +0 -23
  217. package/interceptors/token/authorization.interceptor.d.ts +0 -13
  218. package/models/menu-item.d.ts +0 -4
  219. package/pipes/actions/actions.pipe.d.ts +0 -8
  220. package/pipes/auto-columns/auto-columns.pipe.d.ts +0 -7
  221. package/pipes/columns/columns.pipe.d.ts +0 -9
  222. package/pipes/data-accessor/data-accessor.pipe.d.ts +0 -19
  223. package/pipes/domain/domain.pipe.d.ts +0 -59
  224. package/pipes/error/error.pipe.d.ts +0 -16
  225. package/pipes/expression/expression.pipe.d.ts +0 -9
  226. package/pipes/grouped-by/grouped-by.pipe.d.ts +0 -10
  227. package/pipes/index/index.pipe.d.ts +0 -11
  228. package/pipes/index-length/index-length.pipe.d.ts +0 -10
  229. package/pipes/keys/keys.pipe.d.ts +0 -9
  230. package/pipes/map/map.pipe.d.ts +0 -7
  231. package/pipes/page/page.pipe.d.ts +0 -11
  232. package/pipes/pagination/pagination.pipe.d.ts +0 -25
  233. package/pipes/query/query.pipe.d.ts +0 -11
  234. package/pipes/resolve-columns/resolve-columns.pipe.d.ts +0 -11
  235. package/pipes/secret/secret.pipe.d.ts +0 -8
  236. package/pipes/select-id/select-id.pipe.d.ts +0 -12
  237. package/pipes/signal/signal.pipe.d.ts +0 -11
  238. package/pipes/smart-field/smart-field.pipe.d.ts +0 -98
  239. package/pipes/sort/sort.pipe.d.ts +0 -8
  240. package/pipes/sort-by/sort-by.pipe.d.ts +0 -17
  241. package/pipes/style/style.pipe.d.ts +0 -18
  242. package/pipes/yen/yen.pipe.d.ts +0 -7
  243. package/services/app/app.service.d.ts +0 -34
  244. package/services/auth/auth.service.d.ts +0 -48
  245. package/services/breakpoint/breakpoint.service.d.ts +0 -29
  246. package/services/chips-manager/chips.manager.d.ts +0 -11
  247. package/services/csv/csv.service.d.ts +0 -6
  248. package/services/fab/fab.service.d.ts +0 -18
  249. package/services/form/_index/index.service.d.ts +0 -64
  250. package/services/form/columns/columns.service.d.ts +0 -63
  251. package/services/form/form.service.d.ts +0 -7
  252. package/services/form/json-schema/json-schema.d.ts +0 -2
  253. package/services/form/json-schema/json-schema.service.d.ts +0 -65
  254. package/services/form/pagination/pagination.service.d.ts +0 -16
  255. package/services/form/sort/sort.service.d.ts +0 -17
  256. package/services/initializer/initializer.service.d.ts +0 -22
  257. package/services/language/language.service.d.ts +0 -12
  258. package/services/loading/loading.service.d.ts +0 -30
  259. package/services/navigation-history/navigation-history.service.d.ts +0 -14
  260. package/services/query-resolver/query-resolver.service.d.ts +0 -27
  261. package/services/root-property/root-property.di.d.ts +0 -1
  262. package/services/root-property/root-property.service.d.ts +0 -94
  263. package/services/router/router.service.d.ts +0 -10
  264. package/services/secret/secret.service.d.ts +0 -6
  265. package/services/sheets/actions/actions.sheet.d.ts +0 -9
  266. package/services/sheets/sheets.module.d.ts +0 -11
  267. package/services/sheets/sheets.service.d.ts +0 -10
  268. package/services/side-app/side-app.service.d.ts +0 -21
  269. package/services/side-nav-mode/side-nav-mode.service.d.ts +0 -12
  270. package/services/snack-bar/snack-bar.module.d.ts +0 -8
  271. package/services/snack-bar/snack-bar.service.d.ts +0 -11
  272. package/services/spreadsheet/directives/grid-cell.directive.d.ts +0 -41
  273. package/services/spreadsheet/directives/index.d.ts +0 -1
  274. package/services/spreadsheet/features/clipboard.service.d.ts +0 -15
  275. package/services/spreadsheet/features/data.service.d.ts +0 -16
  276. package/services/spreadsheet/features/editor.service.d.ts +0 -22
  277. package/services/spreadsheet/features/grid.service.d.ts +0 -17
  278. package/services/spreadsheet/features/index.d.ts +0 -7
  279. package/services/spreadsheet/features/navigation.service.d.ts +0 -17
  280. package/services/spreadsheet/features/protection.service.d.ts +0 -24
  281. package/services/spreadsheet/features/selection.service.d.ts +0 -40
  282. package/services/spreadsheet/models/cell.model.d.ts +0 -17
  283. package/services/spreadsheet/models/index.d.ts +0 -1
  284. package/services/spreadsheet/spreadsheet.service.d.ts +0 -29
  285. package/services/ui/ui.helpers.d.ts +0 -32
  286. package/services/ui/ui.service.d.ts +0 -22
  287. package/stores/entities/di.d.ts +0 -23
  288. package/stores/entities/entity-store-adapter.d.ts +0 -28
  289. package/stores/entities/entity-store-manager.d.ts +0 -12
  290. package/stores/entities/entity-store.d.ts +0 -71
  291. package/stores/entities/proxy-id.service.d.ts +0 -10
  292. package/stores/entities/task-composer.d.ts +0 -35
  293. package/stores/entity/entity.store.d.ts +0 -26
  294. package/stores/pagination/pagination.store.d.ts +0 -19
  295. package/stores/query/query.store.d.ts +0 -17
  296. package/stores/selection/selection.store.d.ts +0 -23
  297. package/stores/sort/sort.store.d.ts +0 -20
  298. package/utils/comma/comma.d.ts +0 -3
  299. package/utils/comma/index.d.ts +0 -1
  300. package/utils/compare-by-id/compare-by-id.d.ts +0 -5
  301. package/utils/compare-by-id/index.d.ts +0 -1
  302. package/utils/date-utils/date-utils.d.ts +0 -10
  303. package/utils/date-utils/index.d.ts +0 -1
  304. package/utils/diff/diff.d.ts +0 -5
  305. package/utils/diff/index.d.ts +0 -1
  306. package/utils/expression/expression.transformer.d.ts +0 -12
  307. package/utils/expression/index.d.ts +0 -1
  308. package/utils/form/form.d.ts +0 -10
  309. package/utils/form/index.d.ts +0 -1
  310. package/utils/get/get.d.ts +0 -6
  311. package/utils/get/index.d.ts +0 -1
  312. package/utils/inject/index.d.ts +0 -1
  313. package/utils/inject/inject.d.ts +0 -76
  314. package/utils/mat-dayjs-date/dayjs-date.adapter.d.ts +0 -60
  315. package/utils/mat-dayjs-date/dayjs-date.formats.d.ts +0 -5
  316. package/utils/mat-dayjs-date/dayjs-date.module.d.ts +0 -8
  317. package/utils/mat-dayjs-date/dayjs-jp-providers.d.ts +0 -10
  318. package/utils/mat-dayjs-date/index.d.ts +0 -4
  319. package/utils/page/index.d.ts +0 -1
  320. package/utils/page/page.d.ts +0 -11
  321. package/utils/router/index.d.ts +0 -1
  322. package/utils/router/router.d.ts +0 -4
  323. package/utils/time.d.ts +0 -1
  324. package/utils/to-object/index.d.ts +0 -1
  325. package/utils/to-object/to-object.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/form/form.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/inject.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/page/page.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/router/router.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/expression/expression.transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/time.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/index.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import { Signal } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { Observable, distinctUntilChanged, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\n\nexport function getValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.value), control.valueChanges).pipe(\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n}\n\nexport function getValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getValue$(control));\n}\n\nexport function getRawValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\n\nexport function getRawValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getRawValue$(control));\n}\n\nexport function computedRawValue<T>(controlFactory: () => AbstractControl<T>): Signal<T> {\n return computedAsync(() => controlFactory().valueChanges.pipe(\n startWith(null),\n map(() => controlFactory().getRawValue()),\n ), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\n\nexport function getInvalid$<T>(control: AbstractControl<T>): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(null),\n map(() => control.invalid),\n );\n}\n\nexport function getInvalid<T>(form: AbstractControl<T>): Signal<boolean> {\n return toSignal(getInvalid$(form));\n}\n\n","import { get as _get } from 'lodash-es';\n\n// ネストされたオブジェクトのキーの組み合わせを生成する型ヘルパー\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n// ネストされたパスに対応する型を抽出するための型ヘルパー\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\n/** @deprecated use lodash-es */\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path as any);\n}","import { Injectable, Injector, Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, ParamMap, Params, Router } from \"@angular/router\";\nimport { Observable, combineLatest, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Type } from \"@nx-ddd/common/domain/models\";\nimport { get } from \"lodash-es\";\nimport { unflatten } from 'flat';\n\nexport function injectRouterParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\n/** @deprecated */\nexport function injectRouterParam(key: string): Signal<string> {\n return toSignal(injectRouterParam$(key));\n}\n\nexport function injectRouteQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam(key: string): Signal<string> {\n return toSignal(injectRouteQueryParam$(key));\n}\n\n// export function injectRouteParamMap$(): Observable<ParamMap> {\n// return inject(ActivatedRoute).paramMap.pipe(\n// shareReplay(1),\n// takeUntilDestroyed(),\n// );\n// }\n\nexport function injectRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}): Observable<Params> {\n const parentParams = (merge && route.parent) ? injectRouteParams$({merge, route: route.parent}) : of(new Map<string, string>());\n return combineLatest({\n parentParams,\n params: route.params\n }).pipe(\n map(({parentParams, params}) => ({\n ...parentParams,\n ...params,\n })),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectUnflattenRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}) {\n return injectRouteParams$({merge, route}).pipe(\n map((params) => (unflatten(params) as any)),\n );\n}\n\nexport function injectUnflattenRouteParam$<T = any>(key: string): Observable<T> {\n return injectUnflattenRouteParams$().pipe(\n map((params) => params[key]),\n );\n}\n\nexport function injectUnflattenRouteParam<T = any>(key: string): Signal<T> {\n return toSignal(injectUnflattenRouteParam$(key));\n}\n\nexport function injectUnflattenRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<any> {\n return toSignal(injectUnflattenRouteParams$({merge}));\n}\n\nexport function injectRouteParamMap$({\n merge = true,\n}: {\n merge?: boolean,\n} = {}) {\n return injectRouteParams$({merge}).pipe(\n map((params) => new Map(Object.entries(params)) as never as ParamMap),\n );\n}\n\nexport function injectRouteParamMap({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<ParamMap> {\n return toSignal(injectRouteParamMap$({merge}));\n}\n\n// export function injectRouteParams$(): Observable<Record<string, string>> {\n// return inject(ActivatedRoute).paramMap.pipe(\n// map((params) => {\n// const result = {};\n// params.keys.forEach(key => result[key] = params.get(key));\n// return result;\n// }),\n// shareReplay(1),\n// takeUntilDestroyed(),\n// );\n// }\n\nexport function injectRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<Record<string, string>> {\n return toSignal(injectRouteParams$({merge}));\n}\n\nexport function injectRouteNavigated$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => route),\n );\n}\n\nexport function injectRouteNavigated() {\n return toSignal(injectRouteNavigated$());\n}\n\nexport function injectPrimaryPaths$() {\n return injectRouteNavigated$().pipe(\n map(route => {\n const paths = [];\n let current = route.root;\n while (current) {\n paths.push(current?.routeConfig?.path ?? null);\n current = current.firstChild;\n }\n return paths.filter(Boolean);\n }),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectPrimaryPaths() {\n return toSignal(injectPrimaryPaths$());\n}\n\nexport function injectChildRouteParam$(key: string): Observable<string> {\n return injectRouteNavigated$().pipe(\n switchMap((route) => route?.firstChild ? route.firstChild.paramMap : of(new Map<string, string>())),\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRouteParam(key: string): Signal<string> {\n return toSignal(injectChildRouteParam$(key));\n}\n\nexport function injectChildRoute$() {\n return injectRouteNavigated$().pipe(\n map((route) => route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRoute(): Signal<ActivatedRoute> {\n return toSignal(injectChildRoute$());\n}\n\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => !!route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\n\nexport function injectRouterQueryParam$<\n T extends string = string\n>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouterQueryParam<T extends string = string>(key: string): Signal<T> {\n return toSignal(injectRouterQueryParam$(key));\n}\n\nexport function injectRouteData$<T>(path: string): Observable<T> {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path) as T));\n}\n\nexport function injectRouteData<T>(key: string): Signal<T> {\n return toSignal(injectRouteData$(key));\n}\n\nexport function injectActivatedComponents(injector: Injector = inject(Injector)): any[] {\n const components = [];\n let route = injector.get(ActivatedRoute, {optional: true}) ?? null;\n while(route) {\n if (route.component) components.push(route.component);\n route = route.parent;\n }\n return components;\n}\n\n\n\nexport interface Resolver<T> {\n resolve(entry: T): T;\n resolveMany(entities: T[]): T[];\n}\n\nexport function provideResolver(\n Entity: Type<{id: string}>,\n ResolverType: new (params: Record<string, Observable<any>>) => Resolver<any>,\n) {\n return {\n provide: Entity,\n // useFactory: () => new ResolverType(params),\n deps: [],\n multi: true,\n };\n}\n\n@Injectable({providedIn: 'root'})\nexport class ResolverManager {\n protected map = new Map<string, Resolver<any>>();\n\n get(Entity: Type<{id: string}>) {\n if (!this.map.has(Entity.name)) {\n // return this.map.set()\n }\n return this.map.get(Entity.name);\n }\n}\n\nexport function injectResolver$<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, Observable<any>>,\n): Observable<Resolver<T>> {\n return combineLatest(params).pipe(\n map((params) => new ResolverType(params)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function getResolver<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, any>,\n): Resolver<T> {\n return new ResolverType(params);\n}\n\nexport function injectRouteParam$(key: string, {\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Observable<string> {\n return injectRouteParamMap$({merge}).pipe(\n map((params) => params.get(key)),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParam(key: string, injector?: Injector): Signal<string> {\n return toSignal(injectRouteParam$(key), {injector});\n}\n\nexport function injectRouteSkip$(): Observable<boolean> {\n return injectRouteParam$('skip', {merge: false}).pipe(\n map((skip) => skip === 'true'),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectRouteSkip(): Signal<boolean> {\n return toSignal(injectRouteSkip$());\n}\n","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n * {@default false}\n */\n useUtc?: boolean;\n}\n\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Dayjs Dates for use with Angular Material. */\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n // TODO: Implement\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule, Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n provideDayjsDateAdapter(),\n ],\n})\nexport class DayjsDateModule { }\n\nexport function provideDayjsDateAdapter(): Provider[] {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE, \n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n }, \n ]\n}\n","import { PageEvent } from '@angular/material/paginator';\n\nexport interface Page extends PageEvent {\n sortKey: string;\n sortOrder: 'asc' | 'desc';\n}\n\nexport class Page {\n static from(event: Partial<Page> = {}): Page {\n return Object.assign(new Page(), {\n pageSize: 50,\n pageIndex: 0,\n length: 100,\n ...event\n });\n }\n\n get start(): number {\n return this.pageIndex * this.pageSize;\n }\n\n get end(): number {\n return Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n }\n\n patch(obj: Partial<Page>): Page {\n return Page.from({...this, ...obj});\n }\n}\n","import { ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from \"@angular/router\";\n\nexport function walkActivatedRouteSnapshot(\n snapshot: ActivatedRouteSnapshot,\n callback: (snapshot: ActivatedRouteSnapshot) => boolean,\n target: 'children' | 'parent' = 'children',\n): void {\n if(callback(snapshot)) return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\n\n\nexport function skippedResolver(outlet = 'primary') {\n\tlet skipped: boolean;\n\n\treturn (route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot) => {\n\t\tconst routes = [];\n\t\twalkActivatedRouteSnapshot(snapshot.root, snapshot => {\n\t\t\tif (snapshot.outlet === outlet) {\n\t\t\t\troutes.push(snapshot);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif (route === routes.at(-1)) {\n\t\t\treturn skipped = false;\n\t\t}\n\n\t\treturn skipped ??= route !== routes.at(-1);\n\t}\n}\n\nfunction resolveModule(m: any) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\n\nexport function wrapRoutes(routes: Routes) {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => (route.loadChildren() as Promise<Routes>).then(routes => {\n\t\t\t\t\treturn wrapRoutes(resolveModule(routes))\n\t\t\t\t}),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}","import { inject, InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const yenTransform = (value: number, _unit = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport type ExpressionTransformer = (value: string | number | dayjs.Dayjs | any, context?: any) => string;\nexport const defaultExpressionTransformer: ExpressionTransformer = input => {\n if (dayjs.isDayjs(input)) {\n return input.format('YY/MM/DD');\n } else if (Array.isArray(input)) {\n return `${input.length}個のアイテム`;\n } else if (typeof input === 'object') {\n return JSON.stringify(input);\n } else if (typeof input === 'string') {\n return input;\n } else if (typeof input === 'number') {\n return yenTransform(input);\n } else {\n return input;\n }\n}\n\nexport const EXPRESSION_TRANSFORMER = new InjectionToken<ExpressionTransformer>('[@ng-atomic/common] Expression Transformer', {\n providedIn: 'root',\n factory: () => defaultExpressionTransformer,\n});\n\nexport function provideExpressionTransformer(useFactory: () => ExpressionTransformer) {\n return { provide: EXPRESSION_TRANSFORMER, useFactory };\n}\n\nexport function injectParentExpressionTransformer() {\n return inject(EXPRESSION_TRANSFORMER, {skipSelf: true, optional: true}) ?? defaultExpressionTransformer\n}\n\nexport const smartExpTransformer: ExpressionTransformer = defaultExpressionTransformer;\n","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)!.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: obj[k]}), {});\n","// 秒数をhh:mm:ssの形にフォーマットする\nexport function formatSeconds(seconds: number): string {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './form';\nexport * from './get';\nexport * from './inject';\nexport * from './mat-dayjs-date';\nexport * from './page';\nexport * from './router';\nexport * from './expression';\nexport * from './to-object';\n\nexport * from './time';\n// export * from './define-element';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_get","get"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../tmp-esm2022/utils/comma/comma.js","../tmp-esm2022/utils/compare-by-id/compare-by-id.js","../tmp-esm2022/utils/date-utils/date-utils.js","../tmp-esm2022/utils/diff/diff.js","../tmp-esm2022/utils/form/form.js","../tmp-esm2022/utils/get/get.js","../tmp-esm2022/utils/inject/inject.js","../tmp-esm2022/utils/mat-dayjs-date/dayjs-date.adapter.js","../tmp-esm2022/utils/mat-dayjs-date/dayjs-date.formats.js","../tmp-esm2022/utils/mat-dayjs-date/dayjs-jp-providers.js","../tmp-esm2022/utils/mat-dayjs-date/dayjs-date.module.js","../tmp-esm2022/utils/page/page.js","../tmp-esm2022/utils/router/router.js","../tmp-esm2022/utils/expression/expression.transformer.js","../tmp-esm2022/utils/to-object/to-object.js","../tmp-esm2022/utils/time.js","../tmp-esm2022/utils/index.js","../tmp-esm2022/utils/ng-atomic-common-utils.js"],"sourcesContent":["export const comma = (n) => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n) => Math.abs(n);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3V0aWxzL2NvbW1hL2NvbW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQWdCLEVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBQ3pGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNvbW1hID0gKG46IG51bWJlciB8IG51bGwpOiBzdHJpbmcgPT4gbiA9PT0gbnVsbCA/ICcwJyA6IG4udG9Mb2NhbGVTdHJpbmcoKTtcbmV4cG9ydCBjb25zdCBjb21tYVN0ciA9IChuOiBudW1iZXIsIHVuaXQgPSAn5YaGJykgPT4gbiA8IDAgPyBgLSR7Y29tbWEoYWJzKG4pKX0ke3VuaXR9YCA6IGAke2NvbW1hKG4pfSR7dW5pdH1gO1xuZXhwb3J0IGNvbnN0IGFicyA9IChuOiBudW1iZXIpID0+IE1hdGguYWJzKG4pOyJdfQ==","export function compareByIdFactory(key) {\n return (a, b) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvY29tcGFyZS1ieS1pZC9jb21wYXJlLWJ5LWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFXO0lBQzVDLE9BQU8sQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIYXNJZCA9IHsgaWQ6IHN0cmluZyB9O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVCeUlkRmFjdG9yeShrZXk6IHN0cmluZykge1xuICByZXR1cm4gKGE6IGFueSwgYjogYW55KSA9PiBwYXJzZUludChhPy5ba2V5XSwgMTApIC0gcGFyc2VJbnQoYj8uW2tleV0sIDEwKTtcbn1cbmV4cG9ydCBjb25zdCBjb21wYXJlQnlJZCA9IGNvbXBhcmVCeUlkRmFjdG9yeSgnaWQnKTtcbiJdfQ==","import dayjs from 'dayjs';\nexport const removeComma = (str) => str.replace(/\\,/g, '');\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str) => str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str) => str && !!str.match(DATE_REGEX);\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str) => str && !!str.match(ISO_REGEX);\nexport function timestampToDayjs(timestamp) {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvZGF0ZS11dGlscy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUNqRCxNQUFNLFVBQVUsR0FBRyx1REFBdUQsQ0FBQztBQUMzRSxNQUFNLGNBQWMsR0FBRyx1RUFBdUUsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFrQixFQUFpQixFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQWtCLEVBQWlCLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7QUFFbkcsTUFBTSxTQUFTLEdBQUcsMEVBQTBFLENBQUM7QUFDN0YsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBa0IsRUFBaUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQU9oRyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBMkI7SUFDMUQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlQ29tbWEgPSAoc3RyOiBzdHJpbmcpID0+IHN0ci5yZXBsYWNlKC9cXCwvZywgJycpO1xuXG5leHBvcnQgY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWS1NTS1ERFRISDptbTpzcyc7XG5jb25zdCBEQVRFX1JFR0VYID0gL15bMC05XXs0fVxcLygwWzEtOV18MVswLTJdKVxcLygwWzEtOV18WzEyXVswLTldfDNbMDFdKSQvO1xuY29uc3QgREFURVRJTUVfUkVHRVggPSAvXlxcZHs0fS1bMDFdXFxkLVswLTNdXFxkVFswLTJdXFxkOlswLTVdXFxkOlswLTVdXFxkXFwrKFsrLV1bMC0yXVxcZDpbMC01XVxcZCkkLztcbmV4cG9ydCBjb25zdCBpc0RhdGVTdHIgPSAoc3RyOiBzdHJpbmcgfCBudWxsKTogc3RyIGlzIHN0cmluZyA9PiBzdHIgJiYgISFzdHIubWF0Y2goREFURV9SRUdFWCk7XG5leHBvcnQgY29uc3QgaXNEYXRlVGltZVN0ciA9IChzdHI6IHN0cmluZyB8IG51bGwpOiBzdHIgaXMgc3RyaW5nID0+IHN0ciAmJiAhIXN0ci5tYXRjaChEQVRFX1JFR0VYKTtcblxuY29uc3QgSVNPX1JFR0VYID0gL1xcZHs0fS1bMDFdXFxkLVswLTNdXFxkVFswLTJdXFxkOlswLTVdXFxkOlswLTVdXFxkXFwuXFxkKyhbKy1dWzAtMl1cXGQ6WzAtNV1cXGR8WikvO1xuZXhwb3J0IGNvbnN0IGlzSXNvU3RyaW5nID0gKHN0cjogc3RyaW5nIHwgbnVsbCk6IHN0ciBpcyBzdHJpbmcgPT4gc3RyICYmICEhc3RyLm1hdGNoKElTT19SRUdFWCk7XG5cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lc3RhbXAge1xuICB0b0RhdGU6ICgpID0+IERhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lc3RhbXBUb0RheWpzKHRpbWVzdGFtcDogVGltZXN0YW1wIHwgbnVsbCk6IGRheWpzLkRheWpzIHwgbnVsbCB7XG4gIHJldHVybiB0aW1lc3RhbXAgPyBkYXlqcyh0aW1lc3RhbXAudG9EYXRlKCkpIDogbnVsbDtcbn0iXX0=","export function diff(initial, current) {\n return {\n selectedIds: current.selected.filter((id) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id) => !current.isSelected(id)),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvZGlmZi9kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxJQUFJLENBQVUsT0FBMEIsRUFBRSxPQUEwQjtJQUlsRixPQUFPO1FBQ0wsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDM0UsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmY8VCA9IGFueT4oaW5pdGlhbDogU2VsZWN0aW9uTW9kZWw8VD4sIGN1cnJlbnQ6IFNlbGVjdGlvbk1vZGVsPFQ+KToge1xuICBzZWxlY3RlZElkczogVFtdLFxuICB1bnNlbGVjdGVkSWRzOiBUW10sXG59IHtcbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RlZElkczogY3VycmVudC5zZWxlY3RlZC5maWx0ZXIoKGlkOiBUKSA9PiAhaW5pdGlhbC5pc1NlbGVjdGVkKGlkKSksXG4gICAgdW5zZWxlY3RlZElkczogaW5pdGlhbC5zZWxlY3RlZC5maWx0ZXIoKGlkOiBUKSA9PiAhY3VycmVudC5pc1NlbGVjdGVkKGlkKSksXG4gIH1cbn1cbiJdfQ==","import { toSignal } from \"@angular/core/rxjs-interop\";\nimport { distinctUntilChanged, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\nexport function getValue$(control) {\n return merge(of(control.value), control.valueChanges).pipe(distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)));\n}\nexport function getValue(control) {\n return toSignal(getValue$(control));\n}\nexport function getRawValue$(control) {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\nexport function getRawValue(control) {\n return toSignal(getRawValue$(control));\n}\nexport function computedRawValue(controlFactory) {\n return computedAsync(() => controlFactory().valueChanges.pipe(startWith(null), map(() => controlFactory().getRawValue())), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\nexport function getInvalid$(control) {\n return control.statusChanges.pipe(startWith(null), map(() => control.invalid));\n}\nexport function getInvalid(form) {\n return toSignal(getInvalid$(form));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvZm9ybS9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RCxPQUFPLEVBQWMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLFNBQVMsQ0FBSSxPQUEyQjtJQUN0RCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3hELG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2hGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxPQUEyQjtJQUNyRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBSSxPQUEyQjtJQUN6RCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBSSxPQUEyQjtJQUN4RCxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFJLGNBQXdDO0lBQzFFLE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDMUMsRUFBRSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksT0FBMkI7SUFDeEQsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQzNCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBSSxJQUF3QjtJQUNwRCxPQUFPLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1lcmdlLCBvZiwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tIFwibmd4dGVuc2lvbi9jb21wdXRlZC1hc3luY1wiO1xuaW1wb3J0IHsgY29tcHV0ZUZha2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb3JlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZSQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBtZXJnZShvZihjb250cm9sLnZhbHVlKSwgY29udHJvbC52YWx1ZUNoYW5nZXMpLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZSwgY3VyKSA9PiBKU09OLnN0cmluZ2lmeShwcmUpID09PSBKU09OLnN0cmluZ2lmeShjdXIpKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IFNpZ25hbDxUPiB7XG4gIHJldHVybiB0b1NpZ25hbChnZXRWYWx1ZSQoY29udHJvbCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmF3VmFsdWUkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gbWVyZ2Uob2YoY29udHJvbC5nZXRSYXdWYWx1ZSgpKSwgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKCkgPT4gY29udHJvbC5nZXRSYXdWYWx1ZSgpKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmF3VmFsdWU8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogU2lnbmFsPFQ+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGdldFJhd1ZhbHVlJChjb250cm9sKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZFJhd1ZhbHVlPFQ+KGNvbnRyb2xGYWN0b3J5OiAoKSA9PiBBYnN0cmFjdENvbnRyb2w8VD4pOiBTaWduYWw8VD4ge1xuICByZXR1cm4gY29tcHV0ZWRBc3luYygoKSA9PiBjb250cm9sRmFjdG9yeSgpLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICBtYXAoKCkgPT4gY29udHJvbEZhY3RvcnkoKS5nZXRSYXdWYWx1ZSgpKSxcbiAgKSwgeyBpbml0aWFsVmFsdWU6IGNvbXB1dGVGYWtlKGNvbnRyb2xGYWN0b3J5KCkpLmdldFJhd1ZhbHVlKCkgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnZhbGlkJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICBtYXAoKCkgPT4gY29udHJvbC5pbnZhbGlkKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEludmFsaWQ8VD4oZm9ybTogQWJzdHJhY3RDb250cm9sPFQ+KTogU2lnbmFsPGJvb2xlYW4+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGdldEludmFsaWQkKGZvcm0pKTtcbn1cblxuIl19","import { get as _get } from 'lodash-es';\n/** @deprecated use lodash-es */\nexport function get(obj, path) {\n return _get(obj, path);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9nZXQvZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBaUJ4QyxnQ0FBZ0M7QUFDaEMsTUFBTSxVQUFVLEdBQUcsQ0FBMkIsR0FBTSxFQUFFLElBQU87SUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQVcsQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXQgYXMgX2dldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8vIOODjeOCueODiOOBleOCjOOBn+OCquODluOCuOOCp+OCr+ODiOOBruOCreODvOOBrue1hOOBv+WQiOOCj+OBm+OCkueUn+aIkOOBmeOCi+Wei+ODmOODq+ODkeODvFxuZXhwb3J0IHR5cGUgUGF0aEtleXM8VD4gPSBUIGV4dGVuZHMgb2JqZWN0ID8ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiBLIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyID9cbiAgICBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gW0tdIHwgW0ssIC4uLlBhdGhLZXlzPFRbS10+XSA6IFtLXVxuICAgIDogbmV2ZXJcbn1ba2V5b2YgVF0gOiBbXTtcblxuLy8g44ON44K544OI44GV44KM44Gf44OR44K544Gr5a++5b+c44GZ44KL5Z6L44KS5oq95Ye644GZ44KL44Gf44KB44Gu5Z6L44OY44Or44OR44O8XG5leHBvcnQgdHlwZSBOZXN0ZWRHZXRUeXBlPFQsIFAgZXh0ZW5kcyBhbnlbXT4gPSBcbiAgUCBleHRlbmRzIFtpbmZlciBGLCAuLi5pbmZlciBSXVxuICAgID8gRiBleHRlbmRzIGtleW9mIFRcbiAgICAgID8gTmVzdGVkR2V0VHlwZTxUW0ZdLCBSPlxuICAgICAgOiBuZXZlclxuICAgIDogVDtcblxuLyoqIEBkZXByZWNhdGVkIHVzZSBsb2Rhc2gtZXMgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXQ8VCwgUCBleHRlbmRzIFBhdGhLZXlzPFQ+PihvYmo6IFQsIHBhdGg6IFApOiBOZXN0ZWRHZXRUeXBlPFQsIFA+IHtcbiAgcmV0dXJuIF9nZXQob2JqLCBwYXRoIGFzIGFueSk7XG59Il19","import { Injectable, Injector, computed, inject } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\nimport { combineLatest, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { get } from \"lodash-es\";\nimport { unflatten } from 'flat';\nimport * as i0 from \"@angular/core\";\nexport function injectRouterParam$(key) {\n return inject(ActivatedRoute).paramMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());\n}\n/** @deprecated */\nexport function injectRouterParam(key) {\n return toSignal(injectRouterParam$(key));\n}\nexport function injectRouteQueryParam$(key) {\n return inject(ActivatedRoute).queryParamMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectRouteQueryParam(key) {\n return toSignal(injectRouteQueryParam$(key));\n}\n// export function injectRouteParamMap$(): Observable<ParamMap> {\n// return inject(ActivatedRoute).paramMap.pipe(\n// shareReplay(1),\n// takeUntilDestroyed(),\n// );\n// }\nexport function injectRouteParams$({ merge = true, route = inject(ActivatedRoute), } = {}) {\n const parentParams = (merge && route.parent) ? injectRouteParams$({ merge, route: route.parent }) : of(new Map());\n return combineLatest({\n parentParams,\n params: route.params\n }).pipe(map(({ parentParams, params }) => ({\n ...parentParams,\n ...params,\n })), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectUnflattenRouteParams$({ merge = true, route = inject(ActivatedRoute), } = {}) {\n return injectRouteParams$({ merge, route }).pipe(map((params) => unflatten(params)));\n}\nexport function injectUnflattenRouteParam$(key) {\n return injectUnflattenRouteParams$().pipe(map((params) => key ? params[key] : params));\n}\nexport function injectUnflattenRouteParam(key) {\n return toSignal(injectUnflattenRouteParam$(key));\n}\nexport function injectUnflattenRouteParams({ merge = true, } = {}) {\n return toSignal(injectUnflattenRouteParams$({ merge }), { initialValue: {} });\n}\nexport function injectRouteParamMap$({ merge = true, } = {}) {\n return injectRouteParams$({ merge }).pipe(map((params) => new Map(Object.entries(params))));\n}\nexport function injectRouteParamMap({ merge = true, } = {}) {\n return toSignal(injectRouteParamMap$({ merge }));\n}\n// export function injectRouteParams$(): Observable<Record<string, string>> {\n// return inject(ActivatedRoute).paramMap.pipe(\n// map((params) => {\n// const result = {};\n// params.keys.forEach(key => result[key] = params.get(key));\n// return result;\n// }),\n// shareReplay(1),\n// takeUntilDestroyed(),\n// );\n// }\nexport function injectRouteParams({ merge = true, } = {}) {\n return toSignal(injectRouteParams$({ merge }));\n}\nexport function injectRouteNavigated$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => route));\n}\nexport function injectRouteNavigated() {\n return toSignal(injectRouteNavigated$());\n}\nexport function injectPrimaryPaths$() {\n return injectRouteNavigated$().pipe(map(route => {\n const paths = [];\n let current = route.root;\n while (current) {\n paths.push(current?.routeConfig?.path ?? null);\n current = current.firstChild;\n }\n return paths.filter(Boolean);\n }), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectPrimaryPaths() {\n return toSignal(injectPrimaryPaths$());\n}\nexport function injectChildRouteParam$(key) {\n return injectRouteNavigated$().pipe(switchMap((route) => route?.firstChild ? route.firstChild.paramMap : of(new Map())), map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectChildRouteParam(key) {\n return toSignal(injectChildRouteParam$(key));\n}\nexport function injectChildRoute$() {\n return injectRouteNavigated$().pipe(map((route) => route?.firstChild?.firstChild), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectChildRoute() {\n return toSignal(injectChildRoute$());\n}\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(startWith(null), map(() => !!route?.firstChild?.firstChild), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\nexport function injectNavigationExtras() {\n const relativeTo = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return computed(() => ({ relativeTo, replaceUrl: hasNext() }));\n}\nexport function injectRouterQueryParam$(key) {\n return inject(ActivatedRoute).queryParamMap.pipe(map((params) => params.get(key)), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectRouterQueryParam(key) {\n return toSignal(injectRouterQueryParam$(key));\n}\nexport function injectRouteData$(path) {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path)));\n}\nexport function injectRouteData(key) {\n return toSignal(injectRouteData$(key));\n}\nexport function injectRouteDataSnapshot(key) {\n const route = inject(ActivatedRoute);\n return computed(() => route.snapshot.data[key]);\n}\nexport function injectActivatedComponents(injector = inject(Injector)) {\n const components = [];\n let route = injector.get(ActivatedRoute, { optional: true }) ?? null;\n while (route) {\n if (route.component)\n components.push(route.component);\n route = route.parent;\n }\n return components;\n}\nexport function provideResolver(Entity, ResolverType) {\n return {\n provide: Entity,\n // useFactory: () => new ResolverType(params),\n deps: [],\n multi: true,\n };\n}\nexport class ResolverManager {\n constructor() {\n this.map = new Map();\n }\n get(Entity) {\n if (!this.map.has(Entity.name)) {\n // return this.map.set()\n }\n return this.map.get(Entity.name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ResolverManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ResolverManager, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ResolverManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport function injectResolver$(ResolverType, params) {\n const params$ = Object.keys(params).length > 0 ? combineLatest(params) : of({});\n return params$.pipe(map((params) => new ResolverType(params)), shareReplay(1), takeUntilDestroyed());\n}\nexport function getResolver(ResolverType, params) {\n return new ResolverType(params);\n}\nexport function injectRouteParam$(key, { merge = true, } = {}) {\n return injectRouteParamMap$({ merge }).pipe(map((params) => params.get(key)), takeUntilDestroyed());\n}\nexport function injectRouteParam(key, injector) {\n return toSignal(injectRouteParam$(key), { injector });\n}\nexport function injectRouteSkip$() {\n return injectRouteParam$('skip', { merge: false }).pipe(map((skip) => skip === 'true'), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectRouteSkip() {\n return toSignal(injectRouteSkip$());\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9pbmplY3QvaW5qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQXNDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVHLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFakMsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVc7SUFDNUMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2hDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxrQkFBa0IsRUFBRSxDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELGtCQUFrQjtBQUNsQixNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBVztJQUMzQyxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENB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LENBQUMsRUFDekMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLGtCQUFrQixFQUFFLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsWUFBOEQsRUFDOUQsTUFBMkI7SUFFM0IsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxFQUM3QyxLQUFLLEdBQUcsSUFBSSxNQUdWLEVBQUU7SUFDSixPQUFPLG9CQUFvQixDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNoQyxrQkFBa0IsRUFBRSxDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsUUFBbUI7SUFDL0QsT0FBTyxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8saUJBQWlCLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsRUFDOUIsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLGtCQUFrQixFQUFFLENBQ3JCLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsT0FBTyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgU2lnbmFsLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FeHRyYXMsIFBhcmFtTWFwLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmFzZVJlc29sdmVyLCBUeXBlIH0gZnJvbSBcIkBueC1kZGQvY29tbW9uL2RvbWFpblwiO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgdW5mbGF0dGVuIH0gZnJvbSAnZmxhdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZXJQYXJhbSQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICByZXR1cm4gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKS5wYXJhbU1hcC5waXBlKFxuICAgIG1hcCgocGFyYW1zKSA9PiBwYXJhbXMuZ2V0KGtleSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZXJQYXJhbShrZXk6IHN0cmluZyk6IFNpZ25hbDxzdHJpbmc+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdFJvdXRlclBhcmFtJChrZXkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdXRlUXVlcnlQYXJhbSQ8VCBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGluamVjdChBY3RpdmF0ZWRSb3V0ZSkucXVlcnlQYXJhbU1hcC5waXBlKFxuICAgIG1hcCgocGFyYW1zKSA9PiBwYXJhbXMuZ2V0KGtleSkgYXMgVCksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZVF1ZXJ5UGFyYW0oa2V5OiBzdHJpbmcpOiBTaWduYWw8c3RyaW5nPiB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RSb3V0ZVF1ZXJ5UGFyYW0kKGtleSkpO1xufVxuXG4vLyBleHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVQYXJhbU1hcCQoKTogT2JzZXJ2YWJsZTxQYXJhbU1hcD4ge1xuLy8gICByZXR1cm4gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKS5wYXJhbU1hcC5waXBlKFxuLy8gICAgIHNoYXJlUmVwbGF5KDEpLFxuLy8gICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuLy8gICApO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVQYXJhbXMkKHtcbiAgbWVyZ2UgPSB0cnVlLFxuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSksXG59OiB7XG4gIG1lcmdlPzogYm9vbGVhbixcbiAgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSxcbn0gPSB7fSk6IE9ic2VydmFibGU8UGFyYW1zPiB7XG4gIGNvbnN0IHBhcmVudFBhcmFtcyA9IChtZXJnZSAmJiByb3V0ZS5wYXJlbnQpID8gaW5qZWN0Um91dGVQYXJhbXMkKHttZXJnZSwgcm91dGU6IHJvdXRlLnBhcmVudH0pIDogb2YobmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSk7XG4gIHJldHVybiBjb21iaW5lTGF0ZXN0KHtcbiAgICBwYXJlbnRQYXJhbXMsXG4gICAgcGFyYW1zOiByb3V0ZS5wYXJhbXNcbiAgfSkucGlwZShcbiAgICBtYXAoKHtwYXJlbnRQYXJhbXMsIHBhcmFtc30pID0+ICh7XG4gICAgICAuLi5wYXJlbnRQYXJhbXMsXG4gICAgICAuLi5wYXJhbXMsXG4gICAgfSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtcyQoe1xuICBtZXJnZSA9IHRydWUsXG4gIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSxcbn06IHtcbiAgbWVyZ2U/OiBib29sZWFuLFxuICByb3V0ZT86IEFjdGl2YXRlZFJvdXRlLFxufSA9IHt9KSB7XG4gIHJldHVybiBpbmplY3RSb3V0ZVBhcmFtcyQoe21lcmdlLCByb3V0ZX0pLnBpcGUoXG4gICAgbWFwKChwYXJhbXMpID0+ICh1bmZsYXR0ZW4ocGFyYW1zKSBhcyBhbnkpKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFVuZmxhdHRlblJvdXRlUGFyYW0kPFQgPSBhbnk+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbXMkKCkucGlwZShcbiAgICBtYXAoKHBhcmFtcykgPT4ga2V5ID8gcGFyYW1zW2tleV06IHBhcmFtcyksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtPFQgPSBhbnk+KGtleT86IHN0cmluZyk6IFNpZ25hbDxUPiB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtJChrZXkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFVuZmxhdHRlblJvdXRlUGFyYW1zKHtcbiAgbWVyZ2UgPSB0cnVlLFxufToge1xuICBtZXJnZT86IGJvb2xlYW4sXG59ID0ge30pOiBTaWduYWw8YW55PiB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtcyQoe21lcmdlfSksIHtpbml0aWFsVmFsdWU6IHt9fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZVBhcmFtTWFwJCh7XG4gIG1lcmdlID0gdHJ1ZSxcbn06IHtcbiAgbWVyZ2U/OiBib29sZWFuLFxufSA9IHt9KSB7XG4gIHJldHVybiBpbmplY3RSb3V0ZVBhcmFtcyQoe21lcmdlfSkucGlwZShcbiAgICBtYXAoKHBhcmFtcykgPT4gbmV3IE1hcChPYmplY3QuZW50cmllcyhwYXJhbXMpKSBhcyBuZXZlciBhcyBQYXJhbU1hcCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZVBhcmFtTWFwKHtcbiAgbWVyZ2UgPSB0cnVlLFxufToge1xuICBtZXJnZT86IGJvb2xlYW4sXG59ID0ge30pOiBTaWduYWw8UGFyYW1NYXA+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdFJvdXRlUGFyYW1NYXAkKHttZXJnZX0pKTtcbn1cblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdXRlUGFyYW1zJCgpOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbi8vICAgcmV0dXJuIGluamVjdChBY3RpdmF0ZWRSb3V0ZSkucGFyYW1NYXAucGlwZShcbi8vICAgICBtYXAoKHBhcmFtcykgPT4ge1xuLy8gICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4vLyAgICAgICBwYXJhbXMua2V5cy5mb3JFYWNoKGtleSA9PiByZXN1bHRba2V5XSA9IHBhcmFtcy5nZXQoa2V5KSk7XG4vLyAgICAgICByZXR1cm4gcmVzdWx0O1xuLy8gICAgIH0pLFxuLy8gICAgIHNoYXJlUmVwbGF5KDEpLFxuLy8gICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuLy8gICApO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVQYXJhbXMoe1xuICBtZXJnZSA9IHRydWUsXG59OiB7XG4gIG1lcmdlPzogYm9vbGVhbixcbn0gPSB7fSk6IFNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RSb3V0ZVBhcmFtcyQoe21lcmdlfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVOYXZpZ2F0ZWQkKCkge1xuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZXR1cm4gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgIG1hcCgoKSA9PiByb3V0ZSksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZU5hdmlnYXRlZCgpIHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdFJvdXRlTmF2aWdhdGVkJCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFByaW1hcnlQYXRocyQoKSB7XG4gIHJldHVybiBpbmplY3RSb3V0ZU5hdmlnYXRlZCQoKS5waXBlKFxuICAgIG1hcChyb3V0ZSA9PiB7XG4gICAgICBjb25zdCBwYXRocyA9IFtdO1xuICAgICAgbGV0IGN1cnJlbnQgPSByb3V0ZS5yb290O1xuICAgICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgICAgcGF0aHMucHVzaChjdXJyZW50Py5yb3V0ZUNvbmZpZz8ucGF0aCA/PyBudWxsKTtcbiAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuZmlyc3RDaGlsZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXRocy5maWx0ZXIoQm9vbGVhbik7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQcmltYXJ5UGF0aHMoKSB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RQcmltYXJ5UGF0aHMkKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q2hpbGRSb3V0ZVBhcmFtJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gIHJldHVybiBpbmplY3RSb3V0ZU5hdmlnYXRlZCQoKS5waXBlKFxuICAgIHN3aXRjaE1hcCgocm91dGUpID0+IHJvdXRlPy5maXJzdENoaWxkID8gcm91dGUuZmlyc3RDaGlsZC5wYXJhbU1hcCA6IG9mKG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpKSxcbiAgICBtYXAoKHBhcmFtcykgPT4gcGFyYW1zLmdldChrZXkpKSxcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdENoaWxkUm91dGVQYXJhbShrZXk6IHN0cmluZyk6IFNpZ25hbDxzdHJpbmc+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdENoaWxkUm91dGVQYXJhbSQoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RDaGlsZFJvdXRlJCgpIHtcbiAgcmV0dXJuIGluamVjdFJvdXRlTmF2aWdhdGVkJCgpLnBpcGUoXG4gICAgbWFwKChyb3V0ZSkgPT4gcm91dGU/LmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQpLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q2hpbGRSb3V0ZSgpOiBTaWduYWw8QWN0aXZhdGVkUm91dGU+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdENoaWxkUm91dGUkKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SGFzTmV4dCQoKSB7XG4gIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHJldHVybiByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIG1hcCgoKSA9PiAhIXJvdXRlPy5maXJzdENoaWxkPy5maXJzdENoaWxkKSxcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEhhc05leHQoKSB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RIYXNOZXh0JCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5hdmlnYXRpb25FeHRyYXMoKTogU2lnbmFsPE5hdmlnYXRpb25FeHRyYXM+IHtcbiAgY29uc3QgcmVsYXRpdmVUbyA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiAoeyByZWxhdGl2ZVRvLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVyUXVlcnlQYXJhbSQ8XG4gIFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmdcbj4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGluamVjdChBY3RpdmF0ZWRSb3V0ZSkucXVlcnlQYXJhbU1hcC5waXBlKFxuICAgIG1hcCgocGFyYW1zKSA9PiBwYXJhbXMuZ2V0KGtleSkgYXMgVCksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZXJRdWVyeVBhcmFtPFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KGtleTogc3RyaW5nKTogU2lnbmFsPFQ+IHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdFJvdXRlclF1ZXJ5UGFyYW0kKGtleSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um91dGVEYXRhJDxUPihwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGluamVjdChBY3RpdmF0ZWRSb3V0ZSkuZGF0YS5waXBlKG1hcChkYXRhID0+IGdldChkYXRhLCBwYXRoKSBhcyBUKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZURhdGE8VD4oa2V5OiBzdHJpbmcpOiBTaWduYWw8VD4ge1xuICByZXR1cm4gdG9TaWduYWwoaW5qZWN0Um91dGVEYXRhJChrZXkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdXRlRGF0YVNuYXBzaG90PFQ+KGtleTogc3RyaW5nKTogU2lnbmFsPFQ+IHtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gcm91dGUuc25hcHNob3QuZGF0YVtrZXldIGFzIFQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QWN0aXZhdGVkQ29tcG9uZW50cyhpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpKTogYW55W10ge1xuICBjb25zdCBjb21wb25lbnRzID0gW107XG4gIGxldCByb3V0ZSA9IGluamVjdG9yLmdldChBY3RpdmF0ZWRSb3V0ZSwge29wdGlvbmFsOiB0cnVlfSkgPz8gbnVsbDtcbiAgd2hpbGUocm91dGUpIHtcbiAgICBpZiAocm91dGUuY29tcG9uZW50KSBjb21wb25lbnRzLnB1c2gocm91dGUuY29tcG9uZW50KTtcbiAgICByb3V0ZSA9IHJvdXRlLnBhcmVudDtcbiAgfVxuICByZXR1cm4gY29tcG9uZW50cztcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXI8VD4ge1xuICByZXNvbHZlKGVudHJ5OiBUKTogVDtcbiAgcmVzb2x2ZU1hbnkoZW50aXRpZXM6IFRbXSk6IFRbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVSZXNvbHZlcihcbiAgRW50aXR5OiBUeXBlPHtpZDogc3RyaW5nfT4sXG4gIFJlc29sdmVyVHlwZTogbmV3IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4pID0+IFJlc29sdmVyPGFueT4sXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBFbnRpdHksXG4gICAgLy8gdXNlRmFjdG9yeTogKCkgPT4gbmV3IFJlc29sdmVyVHlwZShwYXJhbXMpLFxuICAgIGRlcHM6IFtdLFxuICAgIG11bHRpOiB0cnVlLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBSZXNvbHZlck1hbmFnZXIge1xuICBwcm90ZWN0ZWQgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlc29sdmVyPGFueT4+KCk7XG5cbiAgZ2V0KEVudGl0eTogVHlwZTx7aWQ6IHN0cmluZ30+KSB7XG4gICAgaWYgKCF0aGlzLm1hcC5oYXMoRW50aXR5Lm5hbWUpKSB7XG4gICAgICAvLyByZXR1cm4gdGhpcy5tYXAuc2V0KClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFwLmdldChFbnRpdHkubmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlc29sdmVyJDxUPihcbiAgUmVzb2x2ZXJUeXBlOiBUeXBlPEJhc2VSZXNvbHZlcjxUPj4sXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZTxhbnk+Pixcbik6IE9ic2VydmFibGU8QmFzZVJlc29sdmVyPFQ+PiB7XG4gIGNvbnN0IHBhcmFtcyQgPSBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+IDAgPyBjb21iaW5lTGF0ZXN0KHBhcmFtcykgOiBvZih7fSk7XG4gIHJldHVybiBwYXJhbXMkLnBpcGUoXG4gICAgbWFwKChwYXJhbXMpID0+IG5ldyBSZXNvbHZlclR5cGUocGFyYW1zKSksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvbHZlcjxUPihcbiAgUmVzb2x2ZXJUeXBlOiBuZXcgKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUmVzb2x2ZXI8VD4sXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IFJlc29sdmVyPFQ+IHtcbiAgcmV0dXJuIG5ldyBSZXNvbHZlclR5cGUocGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdXRlUGFyYW0kKGtleTogc3RyaW5nLCB7XG4gIG1lcmdlID0gdHJ1ZSxcbn06IHtcbiAgbWVyZ2U/OiBib29sZWFuLFxufSA9IHt9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGluamVjdFJvdXRlUGFyYW1NYXAkKHttZXJnZX0pLnBpcGUoXG4gICAgbWFwKChwYXJhbXMpID0+IHBhcmFtcy5nZXQoa2V5KSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZVBhcmFtKGtleTogc3RyaW5nLCBpbmplY3Rvcj86IEluamVjdG9yKTogU2lnbmFsPHN0cmluZz4ge1xuICByZXR1cm4gdG9TaWduYWwoaW5qZWN0Um91dGVQYXJhbSQoa2V5KSwge2luamVjdG9yfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3V0ZVNraXAkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gaW5qZWN0Um91dGVQYXJhbSQoJ3NraXAnLCB7bWVyZ2U6IGZhbHNlfSkucGlwZShcbiAgICBtYXAoKHNraXApID0+IHNraXAgPT09ICd0cnVlJyksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdXRlU2tpcCgpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICByZXR1cm4gdG9TaWduYWwoaW5qZWN0Um91dGVTa2lwJCgpKTtcbn1cbiJdfQ==","import { __decorate, __metadata, __param } from \"tslib\";\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken('MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY() {\n return {\n useUtc: false\n };\n}\n/** Creates an array and fills it with values. */\nfunction range(length, valueFunction) {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n/** Adapts Dayjs Dates for use with Angular Material. */\nlet DayjsDateAdapter = class DayjsDateAdapter extends DateAdapter {\n constructor(dateLocale, options) {\n super();\n this.dateLocale = dateLocale;\n this.options = options;\n this.initializeParser(dateLocale);\n }\n // TODO: Implement\n setLocale(locale) {\n super.setLocale(locale);\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n getYear(date) {\n return this.dayJs(date).year();\n }\n getMonth(date) {\n return this.dayJs(date).month();\n }\n getDate(date) {\n return this.dayJs(date).date();\n }\n getDayOfWeek(date) {\n return this.dayJs(date).day();\n }\n getMonthNames(style) {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n getDateNames() {\n return this.localeData.dates;\n }\n getDayOfWeekNames(style) {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n getYearName(date) {\n return this.dayJs(date).format('YYYY');\n }\n getFirstDayOfWeek() {\n return this.localeData.firstDayOfWeek;\n }\n getNumDaysInMonth(date) {\n return this.dayJs(date).daysInMonth();\n }\n clone(date) {\n return date.clone();\n }\n createDate(year, month, date) {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n today() {\n return this.dayJs();\n }\n parse(value, parseFormat) {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n format(date, displayFormat) {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n addCalendarYears(date, years) {\n return date.add(years, 'year');\n }\n addCalendarMonths(date, months) {\n return date.add(months, 'month');\n }\n addCalendarDays(date, days) {\n return date.add(days, 'day');\n }\n toIso8601(date) {\n return date.toISOString();\n }\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n deserialize(value) {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n }\n else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n isDateInstance(obj) {\n return dayjs.isDayjs(obj);\n }\n isValid(date) {\n return this.dayJs(date).isValid();\n }\n invalid() {\n return this.dayJs(null);\n }\n dayJs(input, format, locale) {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n get shouldUseUtc() {\n const { useUtc } = this.options || {};\n return !!useUtc;\n }\n initializeParser(dateLocale) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n this.setLocale(dateLocale);\n }\n};\nDayjsDateAdapter = __decorate([\n __param(0, Optional()),\n __param(0, Inject(MAT_DATE_LOCALE)),\n __param(1, Optional()),\n __param(1, Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS)),\n __metadata(\"design:paramtypes\", [String, Object])\n], DayjsDateAdapter);\nexport { DayjsDateAdapter };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9tYXQtZGF5anMtZGF0ZS9kYXlqcy1kYXRlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBWS9ELGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FDOUQsZ0NBQWdDLEVBQUU7SUFDbEMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHNDQUFzQztDQUNoRCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsc0NBQXNDO0lBQ3BELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSztLQUNkLENBQUM7QUFDSixDQUFDO0FBRUQsaURBQWlEO0FBQ2pELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxD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LEVBQUUsR0FBNEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0QsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFrQjtRQUN6QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGLENBQUE7QUFsTVksZ0JBQWdCO0lBWXhCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFBRSxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQUUsV0FBQSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQTs7R0FiMUMsZ0JBQWdCLENBa001QiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgT3B0aW9uYWwsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gJ2RheWpzJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XG5pbXBvcnQgTG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXG4gICAqIENoYW5naW5nIHRoaXMgd2lsbCBjaGFuZ2UgaG93IEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBsaWtlIERhdGVQaWNrZXIgb3V0cHV0IGRhdGVzLlxuICAgKiB7QGRlZmF1bHQgZmFsc2V9XG4gICAqL1xuICB1c2VVdGM/OiBib29sZWFuO1xufVxuXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIERheWpzIGRhdGUgYWRhcHRlciB0byBjb25maWd1cmUgb3B0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCBNQVRfREFZSlNfREFURV9BREFQVEVSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF5SnNEYXRlQWRhcHRlck9wdGlvbnM+KFxuICAnTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6IE1BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIE1BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICB1c2VVdGM6IGZhbHNlXG4gIH07XG59XG5cbi8qKiBDcmVhdGVzIGFuIGFycmF5IGFuZCBmaWxscyBpdCB3aXRoIHZhbHVlcy4gKi9cbmZ1bmN0aW9uIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzQXJyYXk7XG59XG5cbi8qKiBBZGFwdHMgRGF5anMgRGF0ZXMgZm9yIHVzZSB3aXRoIEFuZ3VsYXIgTWF0ZXJpYWwuICovXG5leHBvcnQgY2xhc3MgRGF5anNEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERheWpzPiB7XG4gIHByaXZhdGUgbG9jYWxlRGF0YSE6IHtcbiAgICBmaXJzdERheU9mV2VlazogbnVtYmVyLFxuICAgIGxvbmdNb250aHM6IHN0cmluZ1tdLFxuICAgIHNob3J0TW9udGhzOiBzdHJpbmdbXSxcbiAgICBkYXRlczogc3RyaW5nW10sXG4gICAgbG9uZ0RheXNPZldlZWs6IHN0cmluZ1tdLFxuICAgIHNob3J0RGF5c09mV2Vlazogc3RyaW5nW10sXG4gICAgbmFycm93RGF5c09mV2Vlazogc3RyaW5nW11cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVRFX0xPQ0FMRSkgcHVibGljIGRhdGVMb2NhbGU6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zPzogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQYXJzZXIoZGF0ZUxvY2FsZSk7XG4gIH1cblxuICAvLyBUT0RPOiBJbXBsZW1lbnRcbiAgb3ZlcnJpZGUgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgc3VwZXIuc2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICBjb25zdCBkYXlKc0xvY2FsZURhdGEgPSB0aGlzLmRheUpzKCkubG9jYWxlRGF0YSgpO1xuICAgIHRoaXMubG9jYWxlRGF0YSA9IHtcbiAgICAgIGZpcnN0RGF5T2ZXZWVrOiBkYXlKc0xvY2FsZURhdGEuZmlyc3REYXlPZldlZWsoKSxcbiAgICAgIGxvbmdNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHMoKSxcbiAgICAgIHNob3J0TW9udGhzOiBkYXlKc0xvY2FsZURhdGEubW9udGhzU2hvcnQoKSxcbiAgICAgIGRhdGVzOiByYW5nZSgzMSwgKGkpID0+IHRoaXMuY3JlYXRlRGF0ZSgyMDE3LCAwLCBpICsgMSkuZm9ybWF0KCdEJykpLFxuICAgICAgbG9uZ0RheXNPZldlZWs6IHJhbmdlKDcsIChpKSA9PiB0aGlzLmRheUpzKCkuc2V0KCdkYXknLCBpKS5mb3JtYXQoJ2RkZGQnKSksXG4gICAgICBzaG9ydERheXNPZldlZWs6IGRheUpzTG9jYWxlRGF0YS53ZWVrZGF5c1Nob3J0KCksXG4gICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBkYXlKc0xvY2FsZURhdGEud2Vla2RheXNNaW4oKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0WWVhcihkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGF5SnMoZGF0ZSkueWVhcigpO1xuICB9XG5cbiAgZ2V0TW9udGgoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRheUpzKGRhdGUpLm1vbnRoKCk7XG4gIH1cblxuICBnZXREYXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kYXlKcyhkYXRlKS5kYXRlKCk7XG4gIH1cblxuICBnZXREYXlPZldlZWsoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRheUpzKGRhdGUpLmRheSgpO1xuICB9XG5cbiAgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBzdHlsZSA9PT0gJ2xvbmcnID8gdGhpcy5sb2NhbGVEYXRhLmxvbmdNb250aHMgOiB0aGlzLmxvY2FsZURhdGEuc2hvcnRNb250aHM7XG4gIH1cblxuICBnZXREYXRlTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEuZGF0ZXM7XG4gIH1cblxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIGlmIChzdHlsZSA9PT0gJ2xvbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhLmxvbmdEYXlzT2ZXZWVrO1xuICAgIH1cbiAgICBpZiAoc3R5bGUgPT09ICdzaG9ydCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEuc2hvcnREYXlzT2ZXZWVrO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhLm5hcnJvd0RheXNPZldlZWs7XG4gIH1cblxuICBnZXRZZWFyTmFtZShkYXRlOiBEYXlqcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF5SnMoZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XG4gIH1cblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEuZmlyc3REYXlPZldlZWs7XG4gIH1cblxuICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGF5SnMoZGF0ZSkuZGF5c0luTW9udGgoKTtcbiAgfVxuXG4gIGNsb25lKGRhdGU6IERheWpzKTogRGF5anMge1xuICAgIHJldHVybiBkYXRlLmNsb25lKCk7XG4gIH1cblxuICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRGF5anMge1xuICAgIGNvbnN0IHJldHVybkRheWpzID0gdGhpcy5kYXlKcygpXG4gICAgICAuc2V0KCd5ZWFyJywgeWVhcilcbiAgICAgIC5zZXQoJ21vbnRoJywgbW9udGgpXG4gICAgICAuc2V0KCdkYXRlJywgZGF0ZSk7XG4gICAgcmV0dXJuIHJldHVybkRheWpzO1xuICB9XG5cbiAgdG9kYXkoKTogRGF5anMge1xuICAgIHJldHVybiB0aGlzLmRheUpzKCk7XG4gIH1cblxuICBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nKTogRGF5anMgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuZGF5SnModmFsdWUsIGRheWpzKCkubG9jYWxlRGF0YSgpLmxvbmdEYXRlRm9ybWF0KHBhcnNlRm9ybWF0KSwgdGhpcy5sb2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgPyB0aGlzLmRheUpzKHZhbHVlKS5sb2NhbGUodGhpcy5sb2NhbGUpIDogbnVsbDtcbiAgfVxuXG4gIGZvcm1hdChkYXRlOiBEYXlqcywgZGlzcGxheUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0RheWpzRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZS5sb2NhbGUodGhpcy5sb2NhbGUpLmZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcbiAgfVxuXG4gIGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogRGF5anMsIHllYXJzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgcmV0dXJuIGRhdGUuYWRkKHllYXJzLCAneWVhcicpO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xuICAgIHJldHVybiBkYXRlLmFkZChtb250aHMsICdtb250aCcpO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IERheWpzLCBkYXlzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgcmV0dXJuIGRhdGUuYWRkKGRheXMsICdkYXknKTtcbiAgfVxuXG4gIHRvSXNvODYwMShkYXRlOiBEYXlqcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBhIHZhbHVlIHRvIGEgdmFsaWQgZGF0ZSBvYmplY3QuIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gcGFyc2luZyBpbiB0aGF0XG4gICAqIGRlc2VyaWFsaXplIHNob3VsZCBvbmx5IGFjY2VwdCBub24tYW1iaWd1b3VzLCBsb2NhbGUtaW5kZXBlbmRlbnQgZm9ybWF0cyAoZS5nLiBhIElTTyA4NjAxXG4gICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxuICAgKiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYWxyZWFkeSBhIHZhbGlkIGRhdGUgb2JqZWN0IG9yIG51bGwuIFRoZSBgPG1hdC1kYXRlcGlja2VyPmAgd2lsbCBjYWxsIHRoaXNcbiAgICogbWV0aG9kIG9uIGFsbCBvZiBpdCdzIGBASW5wdXQoKWAgcHJvcGVydGllcyB0aGF0IGFjY2VwdCBkYXRlcy4gSXQgaXMgdGhlcmVmb3JlIHBvc3NpYmxlIHRvXG4gICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXG4gICAqIHRvIGFsc28gZGVzZXJpYWxpemUgdGhlIGZvcm1hdCB1c2VkIGJ5IHlvdXIgYmFja2VuZC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBkZXNlcmlhbGl6ZWQgaW50byBhIGRhdGUgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBUaGUgZGVzZXJpYWxpemVkIGRhdGUgb2JqZWN0LCBlaXRoZXIgYSB2YWxpZCBkYXRlLCBudWxsIGlmIHRoZSB2YWx1ZSBjYW4gYmVcbiAgICogICAgIGRlc2VyaWFsaXplZCBpbnRvIGEgbnVsbCBkYXRlIChlLmcuIHRoZSBlbXB0eSBzdHJpbmcpLCBvciBhbiBpbnZhbGlkIGRhdGUuXG4gICAqL1xuICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XG4gICAgbGV0IGRhdGU7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZGF0ZSA9IHRoaXMuZGF5SnModmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkpIHtcbiAgICAgIC8vIE5PVEU6IGFzc3VtZXMgdGhhdCBjbG9uaW5nIGFsc28gc2V0cyB0aGUgY29ycmVjdCBsb2NhbGUuXG4gICAgICByZXR1cm4gdGhpcy5jbG9uZSh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgZGF0ZSA9IHRoaXMuZGF5SnModmFsdWUpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIGlmIChkYXRlICYmIHRoaXMuaXNWYWxpZChkYXRlIGFzIERheWpzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF5SnMoZGF0ZSk7IC8vIE5PVEU6IElzIHRoaXMgbmVjZXNzYXJ5IHNpbmNlIERheWpzIGlzIGltbXV0YWJsZSBhbmQgTW9tZW50IHdhcyBub3Q/XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gIH1cblxuICBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXlqcy5pc0RheWpzKG9iaik7XG4gIH1cblxuICBpc1ZhbGlkKGRhdGU6IERheWpzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGF5SnMoZGF0ZSkuaXNWYWxpZCgpO1xuICB9XG5cbiAgaW52YWxpZCgpOiBEYXlqcyB7XG4gICAgcmV0dXJuIHRoaXMuZGF5SnMobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGRheUpzKGlucHV0PzogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IERheWpzIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkVXNlVXRjKSB7XG4gICAgICByZXR1cm4gZGF5anMoaW5wdXQsIHsgZm9ybWF0LCBsb2NhbGUgfSwgbG9jYWxlKTtcbiAgICB9XG4gICAgcmV0dXJuIGRheWpzKGlucHV0LCB7IGZvcm1hdCwgbG9jYWxlLCB1dGM6IHRoaXMuc2hvdWxkVXNlVXRjIH0sIGxvY2FsZSkudXRjKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBzaG91bGRVc2VVdGMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyB1c2VVdGMgfTogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwge307XG4gICAgcmV0dXJuICEhdXNlVXRjO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUGFyc2VyKGRhdGVMb2NhbGU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNob3VsZFVzZVV0Yykge1xuICAgICAgZGF5anMuZXh0ZW5kKHV0Yyk7XG4gICAgfVxuXG4gICAgZGF5anMuZXh0ZW5kKExvY2FsaXplZEZvcm1hdCk7XG4gICAgZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbiAgICBkYXlqcy5leHRlbmQobG9jYWxlRGF0YSk7XG5cbiAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlKTtcbiAgfVxufSJdfQ==","/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS5mb3JtYXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9tYXQtZGF5anMtZGF0ZS9kYXlqcy1kYXRlLmZvcm1hdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBbUI7SUFDcEQsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLFlBQVk7S0FDeEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsWUFBWTtRQUN2QixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbi8qKlxuICogQ3VzdG9tIERhdGUtRm9ybWF0cyBhbmQgQWRhcHRlciAodXNpbmcgaHR0cHM6Ly9naXRodWIuY29tL2lhbWt1bi9kYXlqcylcbiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9EQVlKU19EQVRFX0ZPUk1BVFM6IE1hdERhdGVGb3JtYXRzID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ01NL0REL1lZWVknLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTU0vREQvWVlZWScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9XG59OyJdfQ==","import { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja';\ndayjs.locale('ja');\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtanAtcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9tYXQtZGF5anMtZGF0ZS9kYXlqcy1qcC1wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQTtBQUN4QixLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFtQjtJQUMzRCxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsWUFBWTtLQUN4QjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDNUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFO0NBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREYXRlRm9ybWF0cywgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvamEnXG5kYXlqcy5sb2NhbGUoJ2phJyk7XG5cbmV4cG9ydCBjb25zdCBNQVRfREFZSlNfREFURV9GT1JNQVRTX0ZPUl9KUDogTWF0RGF0ZUZvcm1hdHMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnWVlZWS9NTS9ERCcsXG4gIH0sXG4gIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdZWVlZL01NL0REJyxcbiAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcbiAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNQVRfREFZSlNfSlBfUFJPVklERVJTID0gW1xuICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdqYScgfSxcbiAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTUFUX0RBWUpTX0RBVEVfRk9STUFUU19GT1JfSlAgfSxcbl07XG4iXX0=","import { NgModule } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\nimport * as i0 from \"@angular/core\";\nexport class DayjsDateModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DayjsDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: DayjsDateModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DayjsDateModule, providers: [\n provideDayjsDateAdapter(),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DayjsDateModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n provideDayjsDateAdapter(),\n ],\n }]\n }] });\nexport function provideDayjsDateAdapter() {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE,\n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3V0aWxzL21hdC1kYXlqcy1kYXRlL2RheWpzLWRhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlOytHQUFmLGVBQWUsYUFKZjtZQUNULHVCQUF1QixFQUFFO1NBQzFCOzsyRkFFVSxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCx1QkFBdUIsRUFBRTtxQkFDMUI7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLElBQUksRUFBRTtnQkFDSixlQUFlO2dCQUNmLDhCQUE4QjthQUMvQjtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxzQkFBc0I7U0FDakM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRGF5anNEYXRlQWRhcHRlciwgTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSAnLi9kYXlqcy1kYXRlLmFkYXB0ZXInO1xuaW1wb3J0IHsgTUFUX0RBWUpTX0RBVEVfRk9STUFUUyB9IGZyb20gJy4vZGF5anMtZGF0ZS5mb3JtYXRzJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZURheWpzRGF0ZUFkYXB0ZXIoKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF5anNEYXRlTW9kdWxlIHsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURheWpzRGF0ZUFkYXB0ZXIoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogRGF5anNEYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgTUFUX0RBVEVfTE9DQUxFLCBcbiAgICAgICAgTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TLFxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcbiAgICAgIHVzZVZhbHVlOiBNQVRfREFZSlNfREFURV9GT1JNQVRTLFxuICAgIH0sICBcbiAgXVxufVxuIl19","export class Page {\n static from(event = {}) {\n return Object.assign(new Page(), {\n pageSize: 50,\n pageIndex: 0,\n length: 100,\n ...event\n });\n }\n get start() {\n return this.pageIndex * this.pageSize;\n }\n get end() {\n return Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n }\n patch(obj) {\n return Page.from({ ...this, ...obj });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvcGFnZS9wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxJQUFJO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUF1QixFQUFFO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQy9CLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLENBQUM7WUFDWixNQUFNLEVBQUUsR0FBRztZQUNYLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQWtCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2UgZXh0ZW5kcyBQYWdlRXZlbnQge1xuICBzb3J0S2V5OiBzdHJpbmc7XG4gIHNvcnRPcmRlcjogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBjbGFzcyBQYWdlIHtcbiAgc3RhdGljIGZyb20oZXZlbnQ6IFBhcnRpYWw8UGFnZT4gPSB7fSk6IFBhZ2Uge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBQYWdlKCksIHtcbiAgICAgIHBhZ2VTaXplOiA1MCxcbiAgICAgIHBhZ2VJbmRleDogMCxcbiAgICAgIGxlbmd0aDogMTAwLFxuICAgICAgLi4uZXZlbnRcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBzdGFydCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemU7XG4gIH1cblxuICBnZXQgZW5kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKCh0aGlzLnBhZ2VJbmRleCArIDEpICogdGhpcy5wYWdlU2l6ZSwgdGhpcy5sZW5ndGgpO1xuICB9XG5cbiAgcGF0Y2gob2JqOiBQYXJ0aWFsPFBhZ2U+KTogUGFnZSB7XG4gICAgcmV0dXJuIFBhZ2UuZnJvbSh7Li4udGhpcywgLi4ub2JqfSk7XG4gIH1cbn1cbiJdfQ==","export function walkActivatedRouteSnapshot(snapshot, callback, target = 'children') {\n if (callback(snapshot))\n return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\nexport function skippedResolver(outlet = 'primary') {\n let skipped;\n return (route, snapshot) => {\n const routes = [];\n walkActivatedRouteSnapshot(snapshot.root, snapshot => {\n if (snapshot.outlet === outlet) {\n routes.push(snapshot);\n return false;\n }\n return true;\n });\n if (route === routes.at(-1)) {\n return skipped = false;\n }\n return skipped ??= route !== routes.at(-1);\n };\n}\nfunction resolveModule(m) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\nexport function wrapRoutes(routes) {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => route.loadChildren().then(routes => {\n return wrapRoutes(resolveModule(routes));\n }),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy9yb3V0ZXIvcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsUUFBZ0MsRUFDaEMsUUFBdUQsRUFDdkQsU0FBZ0MsVUFBVTtJQUUxQyxJQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPO0lBQzlCLElBQUksTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7QUFDSCxDQUFDO0FBR0QsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFNLEdBQUcsU0FBUztJQUNqRCxJQUFJLE9BQWdCLENBQUM7SUFFckIsT0FBTyxDQUFDLEtBQTZCLEVBQUUsUUFBNkIsRUFBRSxFQUFFO1FBQ3ZFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQiwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ3BELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEIsT0FBTyxLQUFLLENBQUM7WUFDZCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBRUQsT0FBTyxPQUFPLEtBQUssS0FBSyxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUE7QUFDRixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsQ0FBTTtJQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFjO0lBQ3ZDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBRSxLQUFLLENBQUMsWUFBWSxFQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDL0UsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7Z0JBQ3pDLENBQUMsQ0FBQztnQkFDRSxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO29CQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFO2lCQUMzQjthQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRTtnQkFDUCxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRSxlQUFlLEVBQUU7YUFDM0I7U0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCwgUm91dGVzIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Fsa0FjdGl2YXRlZFJvdXRlU25hcHNob3QoXG4gIHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBjYWxsYmFjazogKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiBib29sZWFuLFxuICB0YXJnZXQ6ICdjaGlsZHJlbicgfCAncGFyZW50JyA9ICdjaGlsZHJlbicsXG4pOiB2b2lkIHtcbiAgaWYoY2FsbGJhY2soc25hcHNob3QpKSByZXR1cm47XG4gIGlmICh0YXJnZXQgPT09ICdjaGlsZHJlbicpIHtcbiAgICBzbmFwc2hvdC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHdhbGtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KGNoaWxkLCBjYWxsYmFjaywgdGFyZ2V0KSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gc2tpcHBlZFJlc29sdmVyKG91dGxldCA9ICdwcmltYXJ5Jykge1xuXHRsZXQgc2tpcHBlZDogYm9vbGVhbjtcblxuXHRyZXR1cm4gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzbmFwc2hvdDogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4ge1xuXHRcdGNvbnN0IHJvdXRlcyA9IFtdO1xuXHRcdHdhbGtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KHNuYXBzaG90LnJvb3QsIHNuYXBzaG90ID0+IHtcblx0XHRcdGlmIChzbmFwc2hvdC5vdXRsZXQgPT09IG91dGxldCkge1xuXHRcdFx0XHRyb3V0ZXMucHVzaChzbmFwc2hvdCk7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0pO1xuXG5cdFx0aWYgKHJvdXRlID09PSByb3V0ZXMuYXQoLTEpKSB7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiBza2lwcGVkID8/PSByb3V0ZSAhPT0gcm91dGVzLmF0KC0xKTtcblx0fVxufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kdWxlKG06IGFueSkge1xuICBpZiAobS5kZWZhdWx0KSB7XG4gICAgcmV0dXJuIG0uZGVmYXVsdDtcbiAgfVxuICByZXR1cm4gbTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBSb3V0ZXMocm91dGVzOiBSb3V0ZXMpIHtcbiAgcmV0dXJuIChyb3V0ZXMgPz8gW10pLm1hcChyb3V0ZSA9PiB7XG4gICAgaWYgKHJvdXRlLmxvYWRDaGlsZHJlbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucm91dGUsXG4gICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT4gKHJvdXRlLmxvYWRDaGlsZHJlbigpIGFzIFByb21pc2U8Um91dGVzPikudGhlbihyb3V0ZXMgPT4ge1xuXHRcdFx0XHRcdHJldHVybiB3cmFwUm91dGVzKHJlc29sdmVNb2R1bGUocm91dGVzKSlcblx0XHRcdFx0fSksXG4gICAgICAgIHJlc29sdmU6IHtcbiAgICAgICAgICAuLi4ocm91dGU/LnJlc29sdmUgfHwge30pLFxuICAgICAgICAgIHNraXBwZWQ6IHNraXBwZWRSZXNvbHZlcigpLFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucm91dGUsXG4gICAgICByZXNvbHZlOiB7XG4gICAgICAgIC4uLihyb3V0ZT8ucmVzb2x2ZSB8fCB7fSksXG4gICAgICAgIHNraXBwZWQ6IHNraXBwZWRSZXNvbHZlcigpLFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcbn0iXX0=","import { inject, InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\nexport const yenTransform = (value, _unit = '') => {\n return `${comma(value)} ${_unit}`;\n};\nexport const defaultExpressionTransformer = input => {\n if (dayjs.isDayjs(input)) {\n return input.format('YY/MM/DD');\n }\n else if (Array.isArray(input)) {\n return `${input.length}個のアイテム`;\n }\n else if (typeof input === 'object') {\n return JSON.stringify(input);\n }\n else if (typeof input === 'string') {\n return input;\n }\n else if (typeof input === 'number') {\n return yenTransform(input);\n }\n else {\n return input;\n }\n};\nexport const EXPRESSION_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Expression Transformer', {\n providedIn: 'root',\n factory: () => defaultExpressionTransformer,\n});\nexport function provideExpressionTransformer(useFactory) {\n return { provide: EXPRESSION_TRANSFORMER, useFactory };\n}\nexport function injectParentExpressionTransformer() {\n return inject(EXPRESSION_TRANSFORMER, { skipSelf: true, optional: true }) ?? defaultExpressionTransformer;\n}\nexport const smartExpTransformer = defaultExpressionTransformer;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvZXhwcmVzc2lvbi9leHByZXNzaW9uLnRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFVLEVBQUU7SUFDaEUsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUE7QUFHRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBMEIsS0FBSyxDQUFDLEVBQUU7SUFDekUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0lBQ2pDLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXdCLDRDQUE0QyxFQUFFO0lBQzVILFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw0QkFBNEI7Q0FDNUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFVBQXVDO0lBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUM7SUFDL0MsT0FBTyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLDRCQUE0QixDQUFBO0FBQ3pHLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMEIsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgY29tbWEgfSBmcm9tICcuLi9jb21tYSc7XG5cbmV4cG9ydCBjb25zdCB5ZW5UcmFuc2Zvcm0gPSAodmFsdWU6IG51bWJlciwgX3VuaXQgPSAnJyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgJHtjb21tYSh2YWx1ZSl9ICR7X3VuaXR9YDtcbn1cblxuZXhwb3J0IHR5cGUgRXhwcmVzc2lvblRyYW5zZm9ybWVyID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBkYXlqcy5EYXlqcyB8IGFueSwgY29udGV4dD86IGFueSkgPT4gc3RyaW5nO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRFeHByZXNzaW9uVHJhbnNmb3JtZXI6IEV4cHJlc3Npb25UcmFuc2Zvcm1lciA9IGlucHV0ID0+IHtcbiAgaWYgKGRheWpzLmlzRGF5anMoaW5wdXQpKSB7XG4gICAgcmV0dXJuIGlucHV0LmZvcm1hdCgnWVkvTU0vREQnKTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgIHJldHVybiBgJHtpbnB1dC5sZW5ndGh95YCL44Gu44Ki44Kk44OG44OgYDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGlucHV0KTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4geWVuVHJhbnNmb3JtKGlucHV0KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEVYUFJFU1NJT05fVFJBTlNGT1JNRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48RXhwcmVzc2lvblRyYW5zZm9ybWVyPignW0BuZy1hdG9taWMvY29tbW9uXSBFeHByZXNzaW9uIFRyYW5zZm9ybWVyJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGRlZmF1bHRFeHByZXNzaW9uVHJhbnNmb3JtZXIsXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFeHByZXNzaW9uVHJhbnNmb3JtZXIodXNlRmFjdG9yeTogKCkgPT4gRXhwcmVzc2lvblRyYW5zZm9ybWVyKSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IEVYUFJFU1NJT05fVFJBTlNGT1JNRVIsIHVzZUZhY3RvcnkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmVudEV4cHJlc3Npb25UcmFuc2Zvcm1lcigpIHtcbiAgcmV0dXJuIGluamVjdChFWFBSRVNTSU9OX1RSQU5TRk9STUVSLCB7c2tpcFNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSkgPz8gZGVmYXVsdEV4cHJlc3Npb25UcmFuc2Zvcm1lclxufVxuXG5leHBvcnQgY29uc3Qgc21hcnRFeHBUcmFuc2Zvcm1lcjogRXhwcmVzc2lvblRyYW5zZm9ybWVyID0gZGVmYXVsdEV4cHJlc3Npb25UcmFuc2Zvcm1lcjtcbiJdfQ==","const getAllProps = (obj, keys = Object.keys(obj)) => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v).get instanceof Function)\n .concat(keys);\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n};\nexport const toObject = (obj) => getAllProps(obj).reduce((p, k) => ({ ...p, [k]: obj[k] }), {});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi91dGlscy90by1vYmplY3QvdG8tb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQWlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQVksRUFBRTtJQUMvRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1NBQ3JDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUM7U0FDOUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUUsQ0FBQyxHQUFHLFlBQVksUUFBUSxDQUFDO1NBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQixPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRBbGxQcm9wcyA9IChvYmo6IG9iamVjdCwga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhvYmopKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopO1xuICBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvdG8pXG4gICAgLmZpbHRlcih2ID0+IHYgIT09ICdfX3Byb3RvX18nKVxuICAgIC5maWx0ZXIodiA9PiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCB2KSEuZ2V0IGluc3RhbmNlb2YgRnVuY3Rpb24pXG4gICAgLmNvbmNhdChrZXlzKTtcblxuICByZXR1cm4gcHJvdG8uY29uc3RydWN0b3IubmFtZSA9PT0gJ09iamVjdCcgPyBrZXlzIDogZ2V0QWxsUHJvcHMocHJvdG8sIGtleXMpO1xufVxuXG5leHBvcnQgY29uc3QgdG9PYmplY3QgPSAob2JqOiBvYmplY3QpOiBvYmplY3QgPT4gZ2V0QWxsUHJvcHMob2JqKS5yZWR1Y2UoKHAsIGspID0+ICh7Li4ucCwgW2tdOiBvYmpba119KSwge30pO1xuIl19","// 秒数をhh:mm:ssの形にフォーマットする\nexport function formatSeconds(seconds) {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUI7QUFDekIsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFlO0lBQzNDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRSxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEUsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOenkuaVsOOCkmhoOm1tOnNz44Gu5b2i44Gr44OV44Kp44O844Oe44OD44OI44GZ44KLXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBoID0gYCR7TWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCl9YC5wYWRTdGFydCgyLCAnMCcpO1xuICBjb25zdCBtID0gYCR7TWF0aC5mbG9vcihzZWNvbmRzICUgMzYwMCAvIDYwKX1gLnBhZFN0YXJ0KDIsICcwJyk7XG4gIGNvbnN0IHMgPSBgJHtNYXRoLmZsb29yKHNlY29uZHMgJSAzNjAwICUgNjApfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgcmV0dXJuIGAke2h9OiR7bX06JHtzfWA7XG59Il19","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './form';\nexport * from './get';\nexport * from './inject';\nexport * from './mat-dayjs-date';\nexport * from './page';\nexport * from './router';\nexport * from './expression';\nexport * from './to-object';\nexport * from './time';\n// export * from './define-element';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1hJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGFyZS1ieS1pZCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWZmJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2dldCc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL21hdC1kYXlqcy1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlcic7XG5leHBvcnQgKiBmcm9tICcuL2V4cHJlc3Npb24nO1xuZXhwb3J0ICogZnJvbSAnLi90by1vYmplY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RpbWUnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9kZWZpbmUtZWxlbWVudCc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvdXRpbHMvbmctYXRvbWljLWNvbW1vbi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["_get","get"],"mappings":"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"}