@osovitny/anatoly 3.17.76 → 3.17.78

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 (201) hide show
  1. package/esm2022/lib/anatoly.module.mjs +2 -3
  2. package/esm2022/lib/billing/billing.module.mjs +70 -0
  3. package/esm2022/lib/billing/exports.mjs +19 -0
  4. package/esm2022/lib/billing/models/paypal-models.mjs +16 -0
  5. package/esm2022/lib/billing/payments/components/braintree/braintree.component.mjs +155 -0
  6. package/esm2022/lib/billing/payments/components/exports.mjs +22 -0
  7. package/esm2022/lib/billing/payments/components/index.mjs +25 -0
  8. package/esm2022/lib/billing/payments/components/paypal/paypal-button.component.mjs +157 -0
  9. package/esm2022/lib/billing/payments/components/paypal/paypal.component.mjs +316 -0
  10. package/esm2022/lib/billing/payments/components/stripe/stripe.component.mjs +109 -0
  11. package/esm2022/lib/billing/payments/services/payments.service.mjs +173 -0
  12. package/esm2022/lib/billing/services/paypal-script.service.mjs +84 -0
  13. package/esm2022/lib/core/browser.mjs +3 -3
  14. package/esm2022/lib/core/consts/app-settings.mjs +3 -3
  15. package/esm2022/lib/core/consts/core-settings.mjs +3 -3
  16. package/esm2022/lib/core/consts/formats.mjs +3 -3
  17. package/esm2022/lib/core/consts/ga.mjs +26 -0
  18. package/esm2022/lib/core/converts/convert.mjs +3 -3
  19. package/esm2022/lib/core/converts/dateConvert.mjs +3 -3
  20. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +3 -3
  21. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +3 -3
  22. package/esm2022/lib/core/converts/xmlFormatter.mjs +3 -3
  23. package/esm2022/lib/core/core.module.mjs +10 -3
  24. package/esm2022/lib/core/dom.mjs +7 -7
  25. package/esm2022/lib/core/enums/billing.mjs +51 -0
  26. package/esm2022/lib/core/enums/enums.mjs +21 -0
  27. package/esm2022/lib/core/exports.mjs +63 -0
  28. package/esm2022/lib/core/go/base-go.service.mjs +4 -4
  29. package/esm2022/lib/core/guards/once-import.guard.mjs +4 -4
  30. package/esm2022/lib/core/guards/starter.guard.mjs +3 -3
  31. package/esm2022/lib/core/guid.mjs +3 -3
  32. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +4 -4
  33. package/esm2022/lib/core/is.mjs +3 -3
  34. package/esm2022/lib/core/localization/localization.module.mjs +3 -3
  35. package/esm2022/lib/core/localization/localization.service.mjs +3 -3
  36. package/esm2022/lib/core/localization/localize.pipe.mjs +3 -3
  37. package/esm2022/lib/core/localization/settings.module.mjs +3 -3
  38. package/esm2022/lib/core/localization/utils.mjs +3 -3
  39. package/esm2022/lib/core/logging/globalErrorHandler.mjs +3 -3
  40. package/esm2022/lib/core/logging/logging.service.mjs +3 -3
  41. package/esm2022/lib/core/models/qs.mjs +17 -0
  42. package/esm2022/lib/core/notifications/alerts.mjs +3 -3
  43. package/esm2022/lib/core/notifications/interfaces/notification.mjs +3 -3
  44. package/esm2022/lib/core/notifications/services/notification-service.mjs +3 -3
  45. package/esm2022/lib/core/performance/stopwatch.mjs +4 -4
  46. package/esm2022/lib/core/services/appcontext.service.mjs +3 -3
  47. package/esm2022/lib/core/services/dm.service.mjs +3 -3
  48. package/esm2022/lib/core/services/google-analytics.service.mjs +3 -3
  49. package/esm2022/lib/core/services/idle.service.mjs +3 -3
  50. package/esm2022/lib/core/services/loading.service.mjs +3 -3
  51. package/esm2022/lib/core/services/script.service.mjs +77 -0
  52. package/esm2022/lib/core/services/starter.service.mjs +1 -1
  53. package/esm2022/lib/core/services/web-storage.service.mjs +4 -4
  54. package/esm2022/lib/core/subs.mjs +3 -3
  55. package/esm2022/lib/core/utils/qsutils.mjs +3 -3
  56. package/esm2022/lib/core/utils/utils.mjs +3 -3
  57. package/esm2022/lib/data/base/api.service.mjs +2 -3
  58. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +2 -3
  59. package/esm2022/lib/data/base/grid/grid-read.service.mjs +2 -3
  60. package/esm2022/lib/data/data.module.mjs +10 -3
  61. package/esm2022/lib/data/exports.mjs +22 -0
  62. package/esm2022/lib/data/services/billing/payments-api.service.mjs +67 -0
  63. package/esm2022/lib/data/services/core-api.service.mjs +5 -5
  64. package/esm2022/lib/data/services/emails-api.service.mjs +5 -5
  65. package/esm2022/lib/external/fa.module.mjs +45 -0
  66. package/esm2022/lib/external/kendo.module.mjs +90 -0
  67. package/esm2022/lib/iam/b2c/b2c.mjs +3 -3
  68. package/esm2022/lib/iam/b2c/consts.mjs +3 -3
  69. package/esm2022/lib/iam/b2c/index.mjs +3 -3
  70. package/esm2022/lib/iam/configs.mjs +3 -3
  71. package/esm2022/lib/iam/consts.mjs +3 -3
  72. package/esm2022/lib/iam/exports.mjs +22 -0
  73. package/esm2022/lib/iam/guards/admin.guard.mjs +3 -3
  74. package/esm2022/lib/iam/guards/authentication.guard.mjs +1 -1
  75. package/esm2022/lib/iam/guards/index.mjs +2 -2
  76. package/esm2022/lib/iam/iam-pages.module.mjs +3 -3
  77. package/esm2022/lib/iam/iam-pages.routes.mjs +3 -3
  78. package/esm2022/lib/iam/iam.module.mjs +3 -3
  79. package/esm2022/lib/iam/pages/signin.page.mjs +3 -3
  80. package/esm2022/lib/iam/pages/signout.page.mjs +3 -3
  81. package/esm2022/lib/iam/pages/signup.page.mjs +3 -3
  82. package/esm2022/lib/iam/redirect.mjs +3 -3
  83. package/esm2022/lib/iam/services/auth.service.mjs +2 -2
  84. package/esm2022/lib/iam/storage.mjs +3 -3
  85. package/esm2022/lib/iam/utils.mjs +3 -3
  86. package/esm2022/lib/ui/components/base/components/component.mjs +4 -4
  87. package/esm2022/lib/ui/components/base/components/edit.component.mjs +4 -4
  88. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +4 -4
  89. package/esm2022/lib/ui/components/base/dialog.mjs +3 -3
  90. package/esm2022/lib/ui/components/base/list.mjs +3 -3
  91. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +3 -3
  92. package/esm2022/lib/ui/components/base/pages/page.mjs +3 -3
  93. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +3 -3
  94. package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +3 -3
  95. package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +3 -3
  96. package/esm2022/lib/ui/components/card/card-body.component.mjs +3 -4
  97. package/esm2022/lib/ui/components/card/card-footer.component.mjs +3 -4
  98. package/esm2022/lib/ui/components/card/card-header.component.mjs +3 -4
  99. package/esm2022/lib/ui/components/card/card.component.mjs +3 -4
  100. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +3 -3
  101. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +3 -3
  102. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +3 -3
  103. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +3 -3
  104. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +3 -3
  105. package/esm2022/lib/ui/components/exports.mjs +50 -0
  106. package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +1 -1
  107. package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +3 -3
  108. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +3 -3
  109. package/esm2022/lib/ui/components/html-editor/html-editor.defaultoptions.mjs +3 -3
  110. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +3 -3
  111. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +3 -3
  112. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +3 -3
  113. package/esm2022/lib/ui/components/index.mjs +44 -37
  114. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +3 -3
  115. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +3 -3
  116. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +3 -3
  117. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +3 -3
  118. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +3 -3
  119. package/esm2022/lib/ui/dialogs/exports.mjs +17 -0
  120. package/esm2022/lib/ui/dialogs/index.mjs +7 -4
  121. package/esm2022/lib/ui/directives/exports.mjs +18 -0
  122. package/esm2022/lib/ui/directives/hover.directive.mjs +3 -3
  123. package/esm2022/lib/ui/directives/index.mjs +8 -5
  124. package/esm2022/lib/ui/directives/native-element.directive.mjs +3 -3
  125. package/esm2022/lib/ui/exports.mjs +22 -0
  126. package/esm2022/lib/ui/forms/components/address/address.component.mjs +6 -6
  127. package/esm2022/lib/ui/forms/components/company/company.component.mjs +4 -4
  128. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +3 -3
  129. package/esm2022/lib/ui/forms/exports.mjs +21 -0
  130. package/esm2022/lib/ui/forms/index.mjs +9 -8
  131. package/esm2022/lib/ui/pipes/exports.mjs +19 -0
  132. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +3 -3
  133. package/esm2022/lib/ui/pipes/index.mjs +9 -6
  134. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +3 -3
  135. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +3 -3
  136. package/esm2022/lib/ui/ui.module.mjs +51 -137
  137. package/esm2022/lib/ui/validation/exports.mjs +19 -0
  138. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +3 -3
  139. package/esm2022/lib/ui/validation/index.mjs +8 -6
  140. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +3 -3
  141. package/esm2022/lib/ui/validation/validation-summary.component.mjs +3 -3
  142. package/esm2022/public-api.mjs +9 -14
  143. package/fesm2022/osovitny-anatoly.mjs +1653 -873
  144. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  145. package/lib/billing/billing.module.d.ts +13 -0
  146. package/lib/billing/exports.d.ts +3 -0
  147. package/lib/{payments/PayPal → billing}/models/paypal-models.d.ts +1 -4
  148. package/lib/billing/payments/components/braintree/braintree.component.d.ts +25 -0
  149. package/lib/billing/payments/components/exports.d.ts +4 -0
  150. package/lib/billing/payments/components/index.d.ts +2 -0
  151. package/lib/billing/payments/components/paypal/paypal-button.component.d.ts +18 -0
  152. package/lib/{payments/PayPal/components → billing/payments/components/paypal}/paypal.component.d.ts +3 -3
  153. package/lib/billing/payments/components/stripe/stripe.component.d.ts +21 -0
  154. package/lib/billing/payments/services/payments.service.d.ts +50 -0
  155. package/lib/{payments/PayPal → billing}/services/paypal-script.service.d.ts +3 -4
  156. package/lib/core/consts/ga.d.ts +11 -0
  157. package/lib/core/enums/billing.d.ts +29 -0
  158. package/lib/core/enums/enums.d.ts +4 -0
  159. package/lib/core/{index.d.ts → exports.d.ts} +3 -0
  160. package/lib/core/interceptors/httpInterceptor.d.ts +1 -1
  161. package/lib/core/models/qs.d.ts +4 -0
  162. package/lib/{payments → core}/services/script.service.d.ts +3 -1
  163. package/lib/data/services/billing/payments-api.service.d.ts +13 -0
  164. package/lib/ui/components/base/components/component.d.ts +1 -1
  165. package/lib/ui/components/exports.d.ts +30 -0
  166. package/lib/ui/components/index.d.ts +2 -30
  167. package/lib/ui/dialogs/exports.d.ts +1 -0
  168. package/lib/ui/dialogs/index.d.ts +2 -1
  169. package/lib/ui/directives/exports.d.ts +2 -0
  170. package/lib/ui/directives/index.d.ts +2 -2
  171. package/lib/ui/exports.d.ts +6 -0
  172. package/lib/ui/forms/components/address/address.component.d.ts +2 -2
  173. package/lib/ui/forms/components/company/company.component.d.ts +1 -1
  174. package/lib/ui/forms/exports.d.ts +3 -0
  175. package/lib/ui/forms/index.d.ts +2 -3
  176. package/lib/ui/pipes/exports.d.ts +3 -0
  177. package/lib/ui/pipes/index.d.ts +2 -3
  178. package/lib/ui/ui.module.d.ts +21 -21
  179. package/lib/ui/validation/exports.d.ts +3 -0
  180. package/lib/ui/validation/index.d.ts +2 -3
  181. package/package.json +4 -2
  182. package/public-api.d.ts +6 -11
  183. package/esm2022/lib/core/index.mjs +0 -59
  184. package/esm2022/lib/data/index.mjs +0 -23
  185. package/esm2022/lib/data/urls.mjs +0 -22
  186. package/esm2022/lib/iam/index.mjs +0 -22
  187. package/esm2022/lib/payments/PayPal/components/paypal.component.mjs +0 -317
  188. package/esm2022/lib/payments/PayPal/models/paypal-models.mjs +0 -17
  189. package/esm2022/lib/payments/PayPal/services/paypal-script.service.mjs +0 -98
  190. package/esm2022/lib/payments/index.mjs +0 -22
  191. package/esm2022/lib/payments/payments.module.mjs +0 -54
  192. package/esm2022/lib/payments/services/script.service.mjs +0 -63
  193. package/esm2022/lib/ui/external/fa.module.mjs +0 -46
  194. package/esm2022/lib/ui/external/kendo.module.mjs +0 -91
  195. package/lib/data/urls.d.ts +0 -4
  196. package/lib/payments/index.d.ts +0 -4
  197. package/lib/payments/payments.module.d.ts +0 -8
  198. /package/lib/data/{index.d.ts → exports.d.ts} +0 -0
  199. /package/lib/{ui/external → external}/fa.module.d.ts +0 -0
  200. /package/lib/{ui/external → external}/kendo.module.d.ts +0 -0
  201. /package/lib/iam/{index.d.ts → exports.d.ts} +0 -0
@@ -4,8 +4,7 @@
4
4
  @osovitny/anatoly
5
5
 
6
6
  Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
9
8
 
10
9
  Created:
11
10
  29 Aug 2022
@@ -60,4 +59,4 @@ export class AnatolyModule {
60
59
  AnatolyDataModule,
61
60
  AnatolyIAMModule,
62
61
  AnatolyUIModule] }); })();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9seS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYW5hdG9seS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsU0FBUztBQUNULE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7QUFpQmhELE1BQU0sT0FBTyxhQUFhOzhFQUFiLGFBQWE7bUVBQWIsYUFBYTt1RUFidEIsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGVBQWUsRUFHZixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixlQUFlOztpRkFHTixhQUFhO2NBZnpCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZUFBZTtpQkFDaEI7YUFDRjs7d0ZBQ1ksYUFBYSxjQWJ0QixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZUFBZSxhQUdmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy9Nb2R1bGVzXHJcbmltcG9ydCB7IEFuYXRvbHlDb3JlTW9kdWxlIH0gZnJvbSAnLi9jb3JlL2NvcmUubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmF0b2x5RGF0YU1vZHVsZSB9IGZyb20gJy4vZGF0YS9kYXRhLm1vZHVsZSdcclxuaW1wb3J0IHsgQW5hdG9seUlBTU1vZHVsZSB9IGZyb20gJy4vaWFtL2lhbS5tb2R1bGUnXHJcbmltcG9ydCB7IEFuYXRvbHlVSU1vZHVsZSB9IGZyb20gJy4vdWkvdWkubW9kdWxlJ1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBBbmF0b2x5Q29yZU1vZHVsZSxcclxuICAgIEFuYXRvbHlEYXRhTW9kdWxlLFxyXG4gICAgQW5hdG9seUlBTU1vZHVsZSxcclxuICAgIEFuYXRvbHlVSU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQW5hdG9seUNvcmVNb2R1bGUsXHJcbiAgICBBbmF0b2x5RGF0YU1vZHVsZSxcclxuICAgIEFuYXRvbHlJQU1Nb2R1bGUsXHJcbiAgICBBbmF0b2x5VUlNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmF0b2x5TW9kdWxlIHtcclxufVxyXG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9seS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYW5hdG9seS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxTQUFTO0FBQ1QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFBOztBQWlCaEQsTUFBTSxPQUFPLGFBQWE7OEVBQWIsYUFBYTttRUFBYixhQUFhO3VFQWJ0QixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZUFBZSxFQUdmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGVBQWU7O2lGQUdOLGFBQWE7Y0FmekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixlQUFlO2lCQUNoQjthQUNGOzt3RkFDWSxhQUFhLGNBYnRCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixlQUFlLGFBR2YsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyOSBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG4vL01vZHVsZXNcclxuaW1wb3J0IHsgQW5hdG9seUNvcmVNb2R1bGUgfSBmcm9tICcuL2NvcmUvY29yZS5tb2R1bGUnXHJcbmltcG9ydCB7IEFuYXRvbHlEYXRhTW9kdWxlIH0gZnJvbSAnLi9kYXRhL2RhdGEubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmF0b2x5SUFNTW9kdWxlIH0gZnJvbSAnLi9pYW0vaWFtLm1vZHVsZSdcclxuaW1wb3J0IHsgQW5hdG9seVVJTW9kdWxlIH0gZnJvbSAnLi91aS91aS5tb2R1bGUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEFuYXRvbHlDb3JlTW9kdWxlLFxyXG4gICAgQW5hdG9seURhdGFNb2R1bGUsXHJcbiAgICBBbmF0b2x5SUFNTW9kdWxlLFxyXG4gICAgQW5hdG9seVVJTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBbmF0b2x5Q29yZU1vZHVsZSxcclxuICAgIEFuYXRvbHlEYXRhTW9kdWxlLFxyXG4gICAgQW5hdG9seUlBTU1vZHVsZSxcclxuICAgIEFuYXRvbHlVSU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuYXRvbHlNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,70 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+ Anatoly Osovitny anatoly.osovitny@osovitny.com
9
+
10
+ Created:
11
+ 14 Jun 2024
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { NgModule } from '@angular/core';
18
+ import { CommonModule } from '@angular/common';
19
+ //External Modules
20
+ import { FaModule } from '../external/fa.module';
21
+ import { KendoModule } from '../external/kendo.module';
22
+ //App
23
+ import { ScriptService } from '../core/services/script.service';
24
+ import { PayPalScriptService } from './services/paypal-script.service';
25
+ //Payments
26
+ import { PAYMENTS_COMPONENTS } from './payments/components';
27
+ import { PaymentsService } from './payments/services/payments.service';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "./payments/components/paypal/paypal-button.component";
30
+ import * as i2 from "./payments/components/paypal/paypal.component";
31
+ import * as i3 from "./payments/components/braintree/braintree.component";
32
+ import * as i4 from "./payments/components/stripe/stripe.component";
33
+ export class AnatolyBillingModule {
34
+ static { this.ɵfac = function AnatolyBillingModule_Factory(t) { return new (t || AnatolyBillingModule)(); }; }
35
+ static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyBillingModule }); }
36
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
37
+ ScriptService,
38
+ PayPalScriptService,
39
+ //Payments
40
+ PaymentsService
41
+ ], imports: [CommonModule,
42
+ FaModule,
43
+ KendoModule] }); }
44
+ }
45
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnatolyBillingModule, [{
46
+ type: NgModule,
47
+ args: [{
48
+ imports: [
49
+ CommonModule,
50
+ FaModule,
51
+ KendoModule
52
+ ],
53
+ declarations: [
54
+ PAYMENTS_COMPONENTS
55
+ ],
56
+ exports: [
57
+ PAYMENTS_COMPONENTS
58
+ ],
59
+ providers: [
60
+ ScriptService,
61
+ PayPalScriptService,
62
+ //Payments
63
+ PaymentsService
64
+ ]
65
+ }]
66
+ }], null, null); })();
67
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyBillingModule, { declarations: [i1.PaypalButtonComponent, i2.PayPalComponent, i3.BraintreeDialog, i4.StripeDialog], imports: [CommonModule,
68
+ FaModule,
69
+ KendoModule], exports: [i1.PaypalButtonComponent, i2.PayPalComponent, i3.BraintreeDialog, i4.StripeDialog] }); })();
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9iaWxsaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUV0RCxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFLFVBQVU7QUFDVixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQXVCdkUsTUFBTSxPQUFPLG9CQUFvQjtxRkFBcEIsb0JBQW9CO21FQUFwQixvQkFBb0I7d0VBUnBCO1lBQ1QsYUFBYTtZQUNiLG1CQUFtQjtZQUVuQixVQUFVO1lBQ1YsZUFBZTtTQUNoQixZQWpCQyxZQUFZO1lBRVosUUFBUTtZQUNSLFdBQVc7O2lGQWdCRixvQkFBb0I7Y0FyQmhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFFWixRQUFRO29CQUNSLFdBQVc7aUJBQ1o7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGFBQWE7b0JBQ2IsbUJBQW1CO29CQUVuQixVQUFVO29CQUNWLGVBQWU7aUJBQ2hCO2FBQ0Y7O3dGQUNZLG9CQUFvQixpSEFuQjdCLFlBQVk7UUFFWixRQUFRO1FBQ1IsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBKdW4gMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLy9FeHRlcm5hbCBNb2R1bGVzXHJcbmltcG9ydCB7IEZhTW9kdWxlIH0gZnJvbSAnLi4vZXh0ZXJuYWwvZmEubW9kdWxlJ1xyXG5pbXBvcnQgeyBLZW5kb01vZHVsZSB9IGZyb20gJy4uL2V4dGVybmFsL2tlbmRvLm1vZHVsZSdcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IFNjcmlwdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3NjcmlwdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGF5UGFsU2NyaXB0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGF5cGFsLXNjcmlwdC5zZXJ2aWNlJztcclxuXHJcbi8vUGF5bWVudHNcclxuaW1wb3J0IHsgUEFZTUVOVFNfQ09NUE9ORU5UUyB9IGZyb20gJy4vcGF5bWVudHMvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4vcGF5bWVudHMvc2VydmljZXMvcGF5bWVudHMuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuXHJcbiAgICBGYU1vZHVsZSxcclxuICAgIEtlbmRvTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBBWU1FTlRTX0NPTVBPTkVOVFNcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBBWU1FTlRTX0NPTVBPTkVOVFNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU2NyaXB0U2VydmljZSxcclxuICAgIFBheVBhbFNjcmlwdFNlcnZpY2UsXHJcblxyXG4gICAgLy9QYXltZW50c1xyXG4gICAgUGF5bWVudHNTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUJpbGxpbmdNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 8 Nov 2024
11
+
12
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //Payments
16
+ export * from './payments/components/exports';
17
+ export * from './payments/services/payments.service';
18
+ export * from './services/paypal-script.service';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2V4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLFVBQVU7QUFDVixjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA4IE5vdiAyMDI0XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9QYXltZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnRzL2NvbXBvbmVudHMvZXhwb3J0cydcclxuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50cy9zZXJ2aWNlcy9wYXltZW50cy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9wYXlwYWwtc2NyaXB0LnNlcnZpY2UnO1xyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 14 Jun 2024
11
+
12
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL21vZGVscy9wYXlwYWwtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgSnVuIDIwMjRcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBJUXVlcnlQYXJhbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3FzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheVBhbENvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogQ3VycmVuY3kgLSBEZWZhdWx0cyB0byBVU0QgaWYgbm90IHByb3ZpZGVkXHJcbiAgICovXHJcbiAgY3VycmVuY3k/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZSB3aGVuIGNyZWF0aW5nIG9yZGVyIG9uIGNsaWVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZU9yZGVyT25DbGllbnQ/OiAoZGF0YTogYW55KSA9PiBJQ3JlYXRlT3JkZXJSZXF1ZXN0O1xyXG5cclxuICAvKipcclxuICAgKiBVc2Ugd2hlbiBjcmVhdGluZyBzdWJzY3JpcHRpb24gb24gY2xpZW50XHJcbiAgICovXHJcbiAgY3JlYXRlU3Vic2NyaXB0aW9uT25DbGllbnQ/OiAoZGF0YTogYW55KSA9PiBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXNlIGZvciBjcmVhdGluZyBvcmRlcnMgb24gc2VydmVyLiBQYXlQYWwgZXhwZWN0cyB5b3UgdG8gcmV0dXJuICdvcmRlcklkJyBpbiB0aGlzIG1ldGhvZFxyXG4gICAqL1xyXG4gIGNyZWF0ZU9yZGVyT25TZXJ2ZXI/OiAoZGF0YTogYW55KSA9PiBQcm9taXNlPHN0cmluZz47XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkdmFuY2VkIGNvbmZpZ3VyYXRpb25cclxuICAgKi9cclxuICBhZHZhbmNlZD86IElBZHZhbmNlZENvbmZpZ3VyYXRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIENsaWVudCBpZFxyXG4gICAqL1xyXG4gIGNsaWVudElkOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNoaXBwaW5nIGNhbGxiYWNrXHJcbiAgICogc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLnBheXBhbC5jb20vZG9jcy9jaGVja291dC9pbnRlZ3JhdGlvbi1mZWF0dXJlcy9zaGlwcGluZy1jYWxsYmFjay9cclxuICAgKi9cclxuICBvblNoaXBwaW5nQ2hhbmdlPzogT25TaGlwcGluZ0NoYW5nZUNhbGxiYWNrO1xyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiAnb25BcHByb3ZlJyBldmVudCBvY2N1cnNcclxuICAgKi9cclxuICBvbkFwcHJvdmU/OiAoZGF0YTogSU9uQXBwcm92ZUNhbGxiYWNrRGF0YSwgYWN0aW9uczogYW55KSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiBhdXRob3JpemF0aW9uIG9uIGNsaWVudCBzdWNjZWVkc1xyXG4gICAqL1xyXG4gIG9uQ2xpZW50QXV0aG9yaXphdGlvbj86IChhdXRob3JpemF0aW9uOiBJQ2xpZW50QXV0aG9yaXplQ2FsbGJhY2tEYXRhKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnQgZm9yIGF1dGhvcml6aW5nIG9uIHNlcnZlciBzaWRlXHJcbiAgICovXHJcbiAgYXV0aG9yaXplT25TZXJ2ZXI/OiAoXHJcbiAgICBkYXRhOiBJT25BcHByb3ZlQ2FsbGJhY2tEYXRhLFxyXG4gICAgYWN0aW9uczogYW55XHJcbiAgKSA9PiBQcm9taXNlPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1dHRvbiBzdHlsZSBjb25maWd1cmF0aW9uXHJcbiAgICovXHJcbiAgc3R5bGU/OiBJUGF5UGFsQnV0dG9uU3R5bGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVycm9yIGhhbmRsZXJcclxuICAgKi9cclxuICBvbkVycm9yPzogKGVycjogYW55KSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDbGljayBoYW5kbGVyXHJcbiAgICovXHJcbiAgb25DbGljaz86IChkYXRhOiBhbnksIGFjdGlvbnM6IElPbkNsaWNrQ2FsbGJhY2tBY3Rpb25zKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWwgaGFuZGxlclxyXG4gICAqL1xyXG4gIG9uQ2FuY2VsPzogKGRhdGE6IElDYW5jZWxDYWxsYmFja0RhdGEsIGFjdGlvbnM6IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdCBoYW5kbGVyLlxyXG4gICAqIGNhbiBiZSB1c2VkIGZvciB2YWxpZGF0aW9uLCBzZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLnBheXBhbC5jb20vZG9jcy9jaGVja291dC9pbnRlZ3JhdGlvbi1mZWF0dXJlcy92YWxpZGF0aW9uLyNcclxuICAgKi9cclxuICBvbkluaXQ/OiAoZGF0YTogSUluaXRDYWxsYmFja0RhdGEsIGFjdGlvbnM6IElPbkluaXRDYWxsYmFja0FjdGlvbnMpID0+IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBzdWJzY3JpcHRpb24gaGFuZGxlclxyXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLnBheXBhbC5jb20vZG9jcy9zdWJzY3JpcHRpb25zL2ludGVncmF0ZS9cclxuICAgKlxyXG4gICAqIE5vdGU6IHRoZSB2YXVsdCBwcm9wZXJ0eSBpbiB0aGUgYWR2YW5jZWQgY29uZmlndXJhdGlvbiBhbHNvIGhhcyB0byBiZSBzZXQgdG8gdHJ1ZVxyXG4gICAqL1xyXG4gIGNyZWF0ZVN1YnNjcmlwdGlvbj86IChkYXRhOiBhbnkpID0+IElDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0O1xyXG5cclxuICAvKipcclxuICAgKiBWYXVsdCAtIG11c3QgYmUgc2V0IHRvIHRydWUgd2hlbiBjcmVhdGluZyBzdWJzY3JpcHRpb25zXHJcbiAgICovXHJcbiAgdmF1bHQ/OiBUcnVlRmFsc2U7XHJcbiAgaW50ZW50PzogT3JkZXJJbnRlbnQ7XHJcblxyXG4gIC8qXHJcbiAgICBTZWxlY3QgdHlwZSBvZiBmdW5kaW5nIHNvdXJjZSwgdXNlIGl0IHdoZW4geW91IG5lZWQgc2V0IHR5cGUgb2YgYnV0dG9uIHlvdSB3YW50IHRvIHNlZSwgc2VlOiBodHRwczovL2RldmVsb3Blci5wYXlwYWwuY29tL2RvY3MvY2hlY2tvdXQvc3RhbmRhcmQvY3VzdG9taXplL3N0YW5kYWxvbmUtYnV0dG9ucy9cclxuICAqL1xyXG4gIGZ1bmRpbmdTb3VyY2U/OiBcIlBBWVBBTFwiIHwgXCJDQVJEXCIgfCBcIlBBWUxBVEVSXCIgfCBcIkNSRURJVFwiIHwgXCJWRU5NT1wiO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUcnVlRmFsc2UgPSBcInRydWVcIiB8IFwiZmFsc2VcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheVBhbFVybENvbmZpZyB7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICBjdXJyZW5jeT86IHN0cmluZztcclxuICBmdW5kaW5nPzogYm9vbGVhbjtcclxuICBjb21taXQ/OiBUcnVlRmFsc2U7XHJcbiAgdmF1bHQ/OiBUcnVlRmFsc2U7XHJcbiAgaW50ZW50PzogT3JkZXJJbnRlbnQ7XHJcbiAgbG9jYWxlPzogc3RyaW5nO1xyXG4gIGV4dHJhUGFyYW1zPzogSVF1ZXJ5UGFyYW1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT3JkZXJEZXRhaWxzIHtcclxuICBjcmVhdGVfdGltZTogc3RyaW5nO1xyXG4gIHVwZGF0ZV90aW1lOiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxuICBpbnRlbnQ6IE9yZGVySW50ZW50O1xyXG4gIHBheWVyOiBJUGF5ZXI7XHJcbiAgc3RhdHVzOiBPcmRlclN0YXR1cztcclxuICBsaW5rczogSUxpbmtEZXNjcmlwdGlvbltdO1xyXG4gIHB1cmNoYXNlX3VuaXRzOiBJUHVyY2hhc2VVbml0W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNsaWVudEF1dGhvcml6ZUNhbGxiYWNrRGF0YSBleHRlbmRzIElPcmRlckRldGFpbHMge1xyXG4gIGxpbmtzOiBJTGlua0Rlc2NyaXB0aW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmtEZXNjcmlwdGlvbiB7XHJcbiAgaHJlZjogc3RyaW5nO1xyXG4gIHJlbDogU3RyaW5nO1xyXG4gIG1ldGhvZD86IExpbmtNZXRob2Q7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9uU2hpcHBpbmdDaGFuZ2VDYWxsYmFjayA9IChcclxuICBkYXRhOiBJT25TaGlwcGluZ0NoYW5nZURhdGEsXHJcbiAgYWN0aW9uczogSU9uU2hpcHBpbmdDaGFuZ2VBY3Rpb25zXHJcbikgPT4gYW55O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT25TaGlwcGluZ0NoYW5nZURhdGEge1xyXG4gIHBheW1lbnRUb2tlbjogc3RyaW5nO1xyXG4gIHNoaXBwaW5nX2FkZHJlc3M6IGFueTtcclxuICBzZWxlY3RlZF9zaGlwcGluZ19tZXRob2Q/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uU2hpcHBpbmdDaGFuZ2VBY3Rpb25zIHtcclxuICByZXNvbHZlOiAoKSA9PiBhbnk7XHJcbiAgcmVqZWN0OiAoKSA9PiBhbnk7XHJcbiAgcGF0Y2g6ICgpID0+IGFueTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTGlua01ldGhvZCA9XHJcbiAgfCBcIkdFVFwiXHJcbiAgfCBcIlBPU1RcIlxyXG4gIHwgXCJQVVRcIlxyXG4gIHwgXCJERUxFVEVcIlxyXG4gIHwgXCJIRUFEXCJcclxuICB8IFwiQ09OTkVDVFwiXHJcbiAgfCBcIk9QVElPTlNcIlxyXG4gIHwgXCJQQVRDSFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWR2YW5jZWRDb25maWd1cmF0aW9uIHtcclxuICBjb21taXQ/OiBUcnVlRmFsc2U7XHJcbiAgbG9jYWxlPzogc3RyaW5nO1xyXG4gIGV4dHJhUXVlcnlQYXJhbXM/OiBJUXVlcnlQYXJhbVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPbkFwcHJvdmVDYWxsYmFja0RhdGEge1xyXG4gIG9yZGVySUQ6IHN0cmluZztcclxuICBwYXllcklEOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uSUQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlT3JkZXJDYWxsYmFja0FjdGlvbnMge1xyXG4gIG9yZGVyOiB7XHJcbiAgICBjcmVhdGU6IChvcmRlcjogSUNyZWF0ZU9yZGVyUmVxdWVzdCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNhbmNlbENhbGxiYWNrRGF0YSB7XHJcbiAgb3JkZXJJRDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPbkFwcHJvdmVDYWxsYmFja0FjdGlvbnMge1xyXG4gIHJlZGlyZWN0OiAoKSA9PiB2b2lkO1xyXG4gIHJlc3RhcnQ6ICgpID0+IHZvaWQ7XHJcbiAgb3JkZXI6IHtcclxuICAgIGF1dGhvcml6ZTogKCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gICAgY2FwdHVyZTogKCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gICAgZ2V0OiAoKSA9PiBQcm9taXNlPElPcmRlckRldGFpbHM+O1xyXG4gICAgcGF0Y2g6ICgpID0+IFByb21pc2U8YW55PjtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPbkluaXRDYWxsYmFja0FjdGlvbnMge1xyXG4gIGVuYWJsZTogKCkgPT4gdm9pZDtcclxuICBkaXNhYmxlOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVTdWJzY3JpcHRpb25DYWxsYmFja0FjdGlvbnMge1xyXG4gIHN1YnNjcmlwdGlvbjoge1xyXG4gICAgY3JlYXRlOiAoc3Vic2NyaXB0aW9uOiBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gICAgcmV2aXNlOiAoXHJcbiAgICAgIHN1YnNjcmlwdGlvbklkOiBzdHJpbmcsXHJcbiAgICAgIHN1YnNjcmlwdGlvbjogSUNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3RcclxuICAgICkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIH07XHJcbn1cclxuXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcclxuZXhwb3J0IGludGVyZmFjZSBJSW5pdENhbGxiYWNrRGF0YSB7fVxyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5LWludGVyZmFjZVxyXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVTdWJzY3JpcHRpb25DYWxsYmFja0RhdGEge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9uQ2xpY2tDYWxsYmFja0FjdGlvbnMge1xyXG4gIHJlc29sdmU6ICgpID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXlQYWxCdXR0b25TdHlsZSB7XHJcbiAgbGFiZWw/OlxyXG4gICAgfCBcInBheXBhbFwiXHJcbiAgICB8IFwiY2hlY2tvdXRcIlxyXG4gICAgfCBcInBheVwiXHJcbiAgICB8IFwiaW5zdGFsbG1lbnRcIlxyXG4gICAgfCBcImJ1eW5vd1wiXHJcbiAgICB8IFwic3Vic2NyaWJlXCI7XHJcbiAgc2hhcGU/OiBcInBpbGxcIiB8IFwicmVjdFwiO1xyXG4gIGNvbG9yPzogXCJnb2xkXCIgfCBcImJsdWVcIiB8IFwic2lsdmVyXCIgfCBcIndoaXRlXCIgfCBcImJsYWNrXCI7XHJcbiAgbGF5b3V0PzogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCI7XHJcbiAgdGFnbGluZT86IGJvb2xlYW47XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gIGZ1bmRpbmdpY29ucz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZU9yZGVyUmVxdWVzdCB7XHJcbiAgaW50ZW50OiBPcmRlckludGVudDtcclxuICBwdXJjaGFzZV91bml0czogSVB1cmNoYXNlVW5pdFtdO1xyXG5cclxuICBwYXllcj86IElQYXllcjtcclxuICBhcHBsaWNhdGlvbl9jb250ZXh0PzogSUFwcGxpY2F0aW9uQ29udGV4dDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCB7XHJcbiAgcGxhbl9pZDogc3RyaW5nO1xyXG4gIHF1YW50aXR5PzogbnVtYmVyO1xyXG4gIGN1c3RvbV9pZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXllciB7XHJcbiAgbmFtZT86IElQYXJ0eU5hbWU7XHJcbiAgZW1haWxfYWRkcmVzcz86IHN0cmluZztcclxuICBwYXllcl9pZD86IHN0cmluZztcclxuICBiaXJ0aF9kYXRlPzogc3RyaW5nO1xyXG4gIHRheF9pbmZvPzogSVRheEluZm87XHJcbiAgYWRkcmVzcz86IElBZGRyZXNzUG9ydGFibGU7XHJcbiAgcGhvbmU/OiBJUGhvbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGxpY2F0aW9uQ29udGV4dCB7XHJcbiAgYnJhbmRfbmFtZT86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgbGFuZGluZ19wYWdlPzogUGF5cGFsTGFuZGluZ1BhZ2U7XHJcbiAgc2hpcHBpbmdfcHJlZmVyZW5jZT86IFNoaXBwaW5nUHJlZmVyZW5jZTtcclxuICB1c2VyX2FjdGlvbj86IFBheVBhbFVzZXJBY3Rpb247XHJcbiAgcGF5bWVudF9tZXRob2Q/OiBJUGF5bWVudE1ldGhvZDtcclxuICByZXR1cm5fdXJsPzogc3RyaW5nO1xyXG4gIGNhbmNlbF91cmw/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBheW1lbnRNZXRob2Qge1xyXG4gIHBheWVyX3NlbGVjdGVkPzogUGF5ZXJTZWxlY3RlZDtcclxuICBwYXllZV9wcmVmZXJyZWQ/OiBQYXllZVByZWZlcnJlZDtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGF5ZWVQcmVmZXJyZWQgPSBcIlVOUkVTVFJJQ1RFRFwiIHwgXCJJTU1FRElBVEVfUEFZTUVOVF9SRVFVSVJFRFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5ZXJTZWxlY3RlZCA9IFwiUEFZUEFMX0NSRURJVFwiIHwgXCJQQVlQQUxcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFBheVBhbFVzZXJBY3Rpb24gPSBcIkNPTlRJTlVFXCIgfCBcIlBBWV9OT1dcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nUHJlZmVyZW5jZSA9XHJcbiAgfCBcIkdFVF9GUk9NX0ZJTEVcIlxyXG4gIHwgXCJOT19TSElQUElOR1wiXHJcbiAgfCBcIlNFVF9QUk9WSURFRF9BRERSRVNTXCI7XHJcblxyXG5leHBvcnQgdHlwZSBQYXlwYWxMYW5kaW5nUGFnZSA9IFwiTE9HSU5cIiB8IFwiQklMTElOR1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJJbnRlbnQgPSBcIkNBUFRVUkVcIiB8IFwiQVVUSE9SSVpFXCIgfCBcInN1YnNjcmlwdGlvblwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRGlzYnVyc2VtZW50TW9kZSA9IFwiSU5TVEFOVFwiIHwgXCJERUxBWUVEXCI7XHJcblxyXG5leHBvcnQgdHlwZSBJdGVtQ2F0ZWdvcnkgPSBcIkRJR0lUQUxfR09PRFNcIiB8IFwiUEhZU0lDQUxfR09PRFNcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFBob25lVHlwZSA9IFwiRkFYXCIgfCBcIkhPTUVcIiB8IFwiTU9CSUxFXCIgfCBcIk9USEVSXCIgfCBcIlBBR0VSXCI7XHJcblxyXG5leHBvcnQgdHlwZSBUYXhJZFR5cGUgPSBcIkJSX0NQRlwiIHwgXCJCUl9DTlBKXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQaG9uZSB7XHJcbiAgcGhvbmVfdHlwZT86IFBob25lVHlwZTtcclxuICBwaG9uZV9udW1iZXI/OiBJUGhvbmVOdW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRheEluZm8ge1xyXG4gIHRheF9pZDogc3RyaW5nO1xyXG4gIHRheF9pZF90eXBlOiBUYXhJZFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBob25lTnVtYmVyIHtcclxuICBuYXRpb25hbF9udW1iZXI6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHVyY2hhc2VVbml0IHtcclxuICBhbW91bnQ6IElVbml0QW1vdW50O1xyXG5cclxuICByZWZlcmVuY2VfaWQ/OiBzdHJpbmc7XHJcbiAgcGF5ZWU/OiBJUGF5ZWU7XHJcbiAgcGF5bWVudF9pbnN0cnVjdGlvbj86IElQYXltZW50SW5zdHJ1Y3Rpb25zO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIGN1c3RvbV9pZD86IHN0cmluZztcclxuICBpbnZvaWNlX2lkPzogc3RyaW5nO1xyXG4gIHNvZnRfZGVzY3JpcHRvcj86IHN0cmluZztcclxuICBpdGVtczogSVRyYW5zYWN0aW9uSXRlbVtdO1xyXG4gIHNoaXBwaW5nPzogSVNoaXBwaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXllZSB7XHJcbiAgZW1haWxfYWRkcmVzcz86IHN0cmluZztcclxuICBtZXJjaGFudF9pZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGF5bWVudEluc3RydWN0aW9ucyB7XHJcbiAgcGxhdGZvcm1fZmVlcz86IElQbGF0Zm9ybUZlZVtdO1xyXG4gIGRpc2J1cnNlbWVudF9tb2RlPzogRGlzYnVyc2VtZW50TW9kZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGxhdGZvcm1GZWUge1xyXG4gIGFtb3VudDogSVVuaXRBbW91bnQ7XHJcbiAgcGF5ZWU/OiBJUGF5ZWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWN0aW9uSXRlbSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHVuaXRfYW1vdW50OiBJVW5pdEFtb3VudDtcclxuICBxdWFudGl0eTogc3RyaW5nO1xyXG5cclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBza3U/OiBzdHJpbmc7XHJcbiAgY2F0ZWdvcnk/OiBJdGVtQ2F0ZWdvcnk7XHJcbiAgdGF4PzogSVRheDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVGF4IHtcclxuICBjdXJyZW5jeV9jb2RlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVW5pdEFtb3VudCB7XHJcbiAgY3VycmVuY3lfY29kZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgYnJlYWtkb3duPzogSVVuaXRCcmVha2Rvd247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1vbmV5IHtcclxuICBjdXJyZW5jeV9jb2RlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVW5pdEJyZWFrZG93biB7XHJcbiAgaXRlbV90b3RhbD86IElVbml0QW1vdW50O1xyXG4gIHNoaXBwaW5nPzogSVVuaXRBbW91bnQ7XHJcbiAgaGFuZGxpbmc/OiBJVW5pdEFtb3VudDtcclxuICB0YXhfdG90YWw/OiBJVW5pdEFtb3VudDtcclxuICBpbnN1cmFuY2U/OiBJVW5pdEFtb3VudDtcclxuICBzaGlwcGluZ19kaXNjb3VudD86IElVbml0QW1vdW50O1xyXG4gIGRpc2NvdW50PzogSU1vbmV5O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYXJ0eU5hbWUge1xyXG4gIHByZWZpeD86IHN0cmluZztcclxuICBnaXZlbl9uYW1lPzogc3RyaW5nO1xyXG4gIHN1cm5hbWU/OiBzdHJpbmc7XHJcbiAgbWlkZGxlX25hbWU/OiBzdHJpbmc7XHJcbiAgc3VmZml4Pzogc3RyaW5nO1xyXG4gIGFsdGVybmF0ZV9mdWxsX25hbWU/OiBzdHJpbmc7XHJcbiAgZnVsbF9uYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBZGRyZXNzUG9ydGFibGUge1xyXG4gIGNvdW50cnlfY29kZTogc3RyaW5nO1xyXG5cclxuICBhZGRyZXNzX2xpbmVfMT86IHN0cmluZztcclxuICBhZGRyZXNzX2xpbmVfMj86IHN0cmluZztcclxuICBhZG1pbl9hcmVhXzI/OiBzdHJpbmc7XHJcbiAgYWRtaW5fYXJlYV8xPzogc3RyaW5nO1xyXG4gIHBvc3RhbF9jb2RlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTaGlwcGluZyB7XHJcbiAgbmFtZT86IElQYXJ0eU5hbWU7XHJcbiAgYWRkcmVzcz86IElBZGRyZXNzUG9ydGFibGU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyU3RhdHVzID1cclxuICB8IFwiQVBQUk9WRURcIlxyXG4gIHwgXCJTQVZFRFwiXHJcbiAgfCBcIkNSRUFURURcIlxyXG4gIHwgXCJWT0lERURcIlxyXG4gIHwgXCJDT01QTEVURURcIjtcclxuIl19
@@ -0,0 +1,155 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Dhruv Agarwal dhruv.agarwal@osovitny.com
8
+
9
+ Created:
10
+ 14 Aug 2024
11
+
12
+ Description:
13
+ Credit Card payment form via braintree integration
14
+
15
+ Copyright (c) 2016-2024 Osovitny Inc. All rights reserved.
16
+ </file>
17
+ */
18
+ //Node
19
+ import { Component, Input } from '@angular/core';
20
+ import * as dropin from 'braintree-web-drop-in';
21
+ //App
22
+ import { DialogBase } from '../../../../ui/components/base/dialog';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "../../services/payments.service";
25
+ import * as i2 from "../../../../core/notifications/services/notification-service";
26
+ import * as i3 from "@progress/kendo-angular-dialog";
27
+ function BraintreeDialog_Conditional_0_Template(rf, ctx) { if (rf & 1) {
28
+ const _r2 = i0.ɵɵgetCurrentView();
29
+ i0.ɵɵelementStart(0, "div", 1)(1, "kendo-dialog", 2);
30
+ i0.ɵɵlistener("close", function BraintreeDialog_Conditional_0_Template_kendo_dialog_close_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
31
+ i0.ɵɵelementStart(2, "kendo-dialog-titlebar");
32
+ i0.ɵɵtext(3, "Pay with Credit Card");
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementStart(4, "div", 3);
35
+ i0.ɵɵelement(5, "div", 4);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(6, "kendo-dialog-actions", 5)(7, "button", 6);
38
+ i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onPay()); });
39
+ i0.ɵɵtext(8, "Pay");
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵelementStart(9, "button", 7);
42
+ i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r2); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onClose()); });
43
+ i0.ɵɵtext(10, "Cancel");
44
+ i0.ɵɵelementEnd()()()();
45
+ } if (rf & 2) {
46
+ const ctx_r0 = i0.ɵɵnextContext();
47
+ i0.ɵɵadvance();
48
+ i0.ɵɵproperty("width", 480)("height", 560)("themeColor", ctx_r0.themeColor);
49
+ } }
50
+ export class BraintreeDialog extends DialogBase {
51
+ constructor(ps, ns) {
52
+ super();
53
+ this.ps = ps;
54
+ this.ns = ns;
55
+ }
56
+ ngOnInit() {
57
+ this.setValues();
58
+ }
59
+ setValues() {
60
+ this.ps.showBraintreeDialog$.subscribe((isOpen) => {
61
+ this.isOpen = true;
62
+ this.initializeEmbedForm();
63
+ });
64
+ }
65
+ initializeEmbedForm() {
66
+ const that = this;
67
+ // let totalPrice = this.bs.getTotal().toString();
68
+ // let currency = this.bs.currency;
69
+ this.ps.createBraintreeToken().subscribe((response) => {
70
+ if (response?.token) {
71
+ dropin.create({
72
+ authorization: response?.token,
73
+ container: '#braintree-container',
74
+ card: {
75
+ cardholderName: true
76
+ },
77
+ //UNCOMMENT BELOW FOR GOOGLEPAY / VENMO
78
+ // googlePay: {
79
+ // merchantId: '',
80
+ // transactionInfo: {
81
+ // currencyCode: currency,
82
+ // totalPriceStatus: 'FINAL',
83
+ // totalPrice: totalPrice,
84
+ // }
85
+ // },
86
+ // venmo: {
87
+ // allowNewBrowserTab: false
88
+ // },
89
+ dataCollector: true
90
+ }, function (createErr, instance) {
91
+ if (instance) {
92
+ that.braintreeInstance = instance;
93
+ instance._dataCollector._instance.getDeviceData().then((deviceData) => {
94
+ that.deviceData = deviceData;
95
+ });
96
+ }
97
+ else {
98
+ that.ns.error('Credit Card Payment is facing issues. Please try other payment methods.');
99
+ that.closeDialog();
100
+ }
101
+ });
102
+ }
103
+ });
104
+ }
105
+ submitPayment(payload) {
106
+ this.ps.pay(this.paidFor, payload.nonce, 'COMPLETED', this.deviceData);
107
+ }
108
+ closeDialog() {
109
+ super.close();
110
+ this.braintreeInstance = null;
111
+ }
112
+ //Events
113
+ onPay() {
114
+ if (this.braintreeInstance && this.deviceData) {
115
+ const that = this;
116
+ this.braintreeInstance.requestPaymentMethod(function (requestPaymentErr, payload) {
117
+ that.submitPayment(payload);
118
+ });
119
+ }
120
+ }
121
+ onClose() {
122
+ const closeDialog = this.closeDialog;
123
+ if (this.braintreeInstance) {
124
+ this.braintreeInstance.teardown(function (err) {
125
+ closeDialog();
126
+ });
127
+ }
128
+ else {
129
+ closeDialog();
130
+ }
131
+ }
132
+ get visible() {
133
+ return this.isOpen && this.ps.getTotal() > 0;
134
+ }
135
+ static { this.ɵfac = function BraintreeDialog_Factory(t) { return new (t || BraintreeDialog)(i0.ɵɵdirectiveInject(i1.PaymentsService), i0.ɵɵdirectiveInject(i2.NotificationService)); }; }
136
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BraintreeDialog, selectors: [["anatoly-payments-braintree-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "braintree-container"], ["layout", "end"], ["type", "button", 1, "btn", "btn-sm", "btn-success", 3, "click"], ["type", "button", 1, "btn", "btn-sm", "btn-danger", 3, "click"]], template: function BraintreeDialog_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵtemplate(0, BraintreeDialog_Conditional_0_Template, 11, 3, "div", 0);
138
+ } if (rf & 2) {
139
+ i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
140
+ } }, dependencies: [i3.DialogComponent, i3.DialogTitleBarComponent, i3.DialogActionsComponent], encapsulation: 2 }); }
141
+ }
142
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BraintreeDialog, [{
143
+ type: Component,
144
+ args: [{ selector: 'anatoly-payments-braintree-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='480' [height]='560' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Credit Card</kendo-dialog-titlebar>\r\n <div class='kendo-dialog-content'>\r\n <div id=\"braintree-container\"></div>\r\n </div>\r\n <kendo-dialog-actions layout='end'>\r\n <button class='btn btn-sm btn-success' type='button' (click)='onPay()'>Pay</button>\r\n <button class='btn btn-sm btn-danger' type='button' (click)='onClose()'>Cancel</button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
145
+ }], () => [{ type: i1.PaymentsService }, { type: i2.NotificationService }], { paidFor: [{
146
+ type: Input
147
+ }], title: [{
148
+ type: Input
149
+ }], description: [{
150
+ type: Input
151
+ }], image: [{
152
+ type: Input
153
+ }] }); })();
154
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BraintreeDialog, { className: "BraintreeDialog", filePath: "lib\\billing\\payments\\components\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW50cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL3BheW1lbnRzL2NvbXBvbmVudHMvYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9wYXltZW50cy9jb21wb25lbnRzL2JyYWludHJlZS9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0lDdEJqRSw4QkFBd0Msc0JBQUE7SUFDK0IsMEtBQVMsZUFBQSxnQkFBUyxDQUFBLElBQUM7SUFDdEYsNkNBQXVCO0lBQUEsb0NBQW9CO0lBQUEsaUJBQXdCO0lBQ25FLDhCQUFrQztJQUNoQyx5QkFBb0M7SUFDdEMsaUJBQU07SUFDTiwrQ0FBbUMsZ0JBQUE7SUFDb0Isb0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUFDLG1CQUFHO0lBQUEsaUJBQVM7SUFDbkYsaUNBQXlFO0lBQXBCLG9LQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDO0lBQUMsdUJBQU07SUFBQSxpQkFBUyxFQUFBLEVBQUEsRUFBQTs7O0lBUDlFLGNBQWE7SUFBYiwyQkFBYSxlQUFBLGlDQUFBOztBRDZCL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVM3QyxZQUNTLEVBQW1CLEVBQ2xCLEVBQXVCO1FBQy9CLEtBQUssRUFB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Q0FBQyxVQUFTLEdBQUc7Z0JBQzFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUNJLENBQUM7WUFDSixXQUFXLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztnRkF2R1UsZUFBZTtvRUFBZixlQUFlO1lDL0I1Qix5RUFhQzs7WUFiRCx5Q0FhQzs7O2lGRGtCWSxlQUFlO2NBSjNCLFNBQVM7MkJBQ0UsbUNBQW1DO2tGQU9wQyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLOztrRkFQSyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBEaHJ1diBBZ2Fyd2FsIGRocnV2LmFnYXJ3YWxAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAyNFxyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIENyZWRpdCBDYXJkIHBheW1lbnQgZm9ybSB2aWEgYnJhaW50cmVlIGludGVncmF0aW9uXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgZHJvcGluIGZyb20gJ2JyYWludHJlZS13ZWItZHJvcC1pbic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEaWFsb2dCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1wYXltZW50cy1icmFpbnRyZWUtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJhaW50cmVlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJhaW50cmVlRGlhbG9nIGV4dGVuZHMgRGlhbG9nQmFzZSB7XHJcbiAgYnJhaW50cmVlSW5zdGFuY2U6IGFueTtcclxuICBkZXZpY2VEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHBhaWRGb3I7XHJcbiAgQElucHV0KCkgdGl0bGU7XHJcbiAgQElucHV0KCkgZGVzY3JpcHRpb247XHJcbiAgQElucHV0KCkgaW1hZ2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHBzOiBQYXltZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5zOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLnBzLnNob3dCcmFpbnRyZWVEaWFsb2ckLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pbml0aWFsaXplRW1iZWRGb3JtKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVFbWJlZEZvcm0oKSB7XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgIC8vIGxldCB0b3RhbFByaWNlID0gdGhpcy5icy5nZXRUb3RhbCgpLnRvU3RyaW5nKCk7XHJcbiAgICAvLyBsZXQgY3VycmVuY3kgPSB0aGlzLmJzLmN1cnJlbmN5O1xyXG5cclxuICAgIHRoaXMucHMuY3JlYXRlQnJhaW50cmVlVG9rZW4oKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmKHJlc3BvbnNlPy50b2tlbikge1xyXG4gICAgICAgIGRyb3Bpbi5jcmVhdGUoe1xyXG4gICAgICAgICAgYXV0aG9yaXphdGlvbjogcmVzcG9uc2U/LnRva2VuLFxyXG4gICAgICAgICAgY29udGFpbmVyOiAnI2JyYWludHJlZS1jb250YWluZXInLFxyXG4gICAgICAgICAgY2FyZDoge1xyXG4gICAgICAgICAgICBjYXJkaG9sZGVyTmFtZTogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAvL1VOQ09NTUVOVCBCRUxPVyBGT1IgR09PR0xFUEFZIC8gVkVOTU9cclxuICAgICAgICAgIC8vIGdvb2dsZVBheToge1xyXG4gICAgICAgICAgLy8gICBtZXJjaGFudElkOiAnJyxcclxuICAgICAgICAgIC8vICAgdHJhbnNhY3Rpb25JbmZvOiB7XHJcbiAgICAgICAgICAvLyAgICAgY3VycmVuY3lDb2RlOiBjdXJyZW5jeSxcclxuICAgICAgICAgIC8vICAgICB0b3RhbFByaWNlU3RhdHVzOiAnRklOQUwnLFxyXG4gICAgICAgICAgLy8gICAgIHRvdGFsUHJpY2U6IHRvdGFsUHJpY2UsXHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAvLyB2ZW5tbzoge1xyXG4gICAgICAgICAgLy8gICBhbGxvd05ld0Jyb3dzZXJUYWI6IGZhbHNlXHJcbiAgICAgICAgICAvLyB9LFxyXG4gICAgICAgICAgZGF0YUNvbGxlY3RvcjogdHJ1ZVxyXG4gICAgICAgIH0sIGZ1bmN0aW9uKGNyZWF0ZUVyciwgaW5zdGFuY2UpIHtcclxuICAgICAgICAgIGlmIChpbnN0YW5jZSkge1xyXG4gICAgICAgICAgICB0aGF0LmJyYWludHJlZUluc3RhbmNlID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLl9kYXRhQ29sbGVjdG9yLl9pbnN0YW5jZS5nZXREZXZpY2VEYXRhKCkudGhlbigoZGV2aWNlRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoYXQuZGV2aWNlRGF0YSA9IGRldmljZURhdGE7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhhdC5ucy5lcnJvcignQ3JlZGl0IENhcmQgUGF5bWVudCBpcyBmYWNpbmcgaXNzdWVzLiBQbGVhc2UgdHJ5IG90aGVyIHBheW1lbnQgbWV0aG9kcy4nKVxyXG4gICAgICAgICAgICB0aGF0LmNsb3NlRGlhbG9nKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0UGF5bWVudChwYXlsb2FkKSB7XHJcbiAgICB0aGlzLnBzLnBheSh0aGlzLnBhaWRGb3IsIHBheWxvYWQubm9uY2UsICdDT01QTEVURUQnLCB0aGlzLmRldmljZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICBzdXBlci5jbG9zZSgpO1xyXG4gICAgdGhpcy5icmFpbnRyZWVJbnN0YW5jZSA9IG51bGw7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uUGF5KCkge1xyXG4gICAgaWYgKHRoaXMuYnJhaW50cmVlSW5zdGFuY2UgJiYgdGhpcy5kZXZpY2VEYXRhKSB7XHJcbiAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlLnJlcXVlc3RQYXltZW50TWV0aG9kKGZ1bmN0aW9uKHJlcXVlc3RQYXltZW50RXJyLCBwYXlsb2FkKSB7XHJcbiAgICAgICAgdGhhdC5zdWJtaXRQYXltZW50KHBheWxvYWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKSB7XHJcbiAgICBjb25zdCBjbG9zZURpYWxvZyA9IHRoaXMuY2xvc2VEaWFsb2c7XHJcblxyXG4gICAgaWYgKHRoaXMuYnJhaW50cmVlSW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5icmFpbnRyZWVJbnN0YW5jZS50ZWFyZG93bihmdW5jdGlvbihlcnIpIHtcclxuICAgICAgICBjbG9zZURpYWxvZygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjbG9zZURpYWxvZygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2aXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuICYmIHRoaXMucHMuZ2V0VG90YWwoKSA+IDA7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAodmlzaWJsZSkge1xyXG4gIDxkaXYgY2xhc3M9J3NlbmQtbWVzc2FnZV9fa2VuZG8tZGlhbG9nJz5cclxuICAgIDxrZW5kby1kaWFsb2cgW3dpZHRoXT0nNDgwJyBbaGVpZ2h0XT0nNTYwJyBbdGhlbWVDb2xvcl09J3RoZW1lQ29sb3InIChjbG9zZSk9J29uQ2xvc2UoKSc+XHJcbiAgICAgIDxrZW5kby1kaWFsb2ctdGl0bGViYXI+UGF5IHdpdGggQ3JlZGl0IENhcmQ8L2tlbmRvLWRpYWxvZy10aXRsZWJhcj5cclxuICAgICAgPGRpdiBjbGFzcz0na2VuZG8tZGlhbG9nLWNvbnRlbnQnPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJicmFpbnRyZWUtY29udGFpbmVyXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8a2VuZG8tZGlhbG9nLWFjdGlvbnMgbGF5b3V0PSdlbmQnPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9J2J0biBidG4tc20gYnRuLXN1Y2Nlc3MnIHR5cGU9J2J1dHRvbicgKGNsaWNrKT0nb25QYXkoKSc+UGF5PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz0nYnRuIGJ0bi1zbSBidG4tZGFuZ2VyJyB0eXBlPSdidXR0b24nICAoY2xpY2spPSdvbkNsb3NlKCknPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICA8L2tlbmRvLWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPC9rZW5kby1kaWFsb2c+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
@@ -0,0 +1,22 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 11 Nov 2024
11
+
12
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //braintree
16
+ export * from './braintree/braintree.component';
17
+ //paypal
18
+ export * from './paypal/paypal-button.component';
19
+ export * from './paypal/paypal.component';
20
+ //stripe
21
+ export * from './stripe/stripe.component';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL3BheW1lbnRzL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsV0FBVztBQUNYLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsUUFBUTtBQUNSLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxRQUFRO0FBQ1IsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMSBOb3YgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vYnJhaW50cmVlXHJcbmV4cG9ydCAqIGZyb20gJy4vYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQnO1xyXG5cclxuLy9wYXlwYWxcclxuZXhwb3J0ICogZnJvbSAnLi9wYXlwYWwvcGF5cGFsLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BheXBhbC9wYXlwYWwuY29tcG9uZW50JztcclxuXHJcbi8vc3RyaXBlXHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXBlL3N0cmlwZS5jb21wb25lbnQnO1xyXG5cclxuIl19
@@ -0,0 +1,25 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 8 Nov 2024
11
+
12
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ import { PaypalButtonComponent, PayPalComponent,
16
+ //Dialogs
17
+ BraintreeDialog, StripeDialog } from './exports';
18
+ export const PAYMENTS_COMPONENTS = [
19
+ PaypalButtonComponent,
20
+ PayPalComponent,
21
+ //Dialogs
22
+ BraintreeDialog,
23
+ StripeDialog
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9wYXltZW50cy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWU7QUFFZixTQUFTO0FBQ1QsZUFBZSxFQUNmLFlBQVksRUFDYixNQUFNLFdBQVcsQ0FBQztBQUVuQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxxQkFBcUI7SUFDckIsZUFBZTtJQUVmLFNBQVM7SUFDVCxlQUFlO0lBQ2YsWUFBWTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgOCBOb3YgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgUGF5cGFsQnV0dG9uQ29tcG9uZW50LFxyXG4gIFBheVBhbENvbXBvbmVudCxcclxuXHJcbiAgLy9EaWFsb2dzXHJcbiAgQnJhaW50cmVlRGlhbG9nLFxyXG4gIFN0cmlwZURpYWxvZ1xyXG59IGZyb20gJy4vZXhwb3J0cyc7XHJcblxyXG5leHBvcnQgY29uc3QgUEFZTUVOVFNfQ09NUE9ORU5UUyA9IFtcclxuICBQYXlwYWxCdXR0b25Db21wb25lbnQsXHJcbiAgUGF5UGFsQ29tcG9uZW50LFxyXG5cclxuICAvL0RpYWxvZ3NcclxuICBCcmFpbnRyZWVEaWFsb2csXHJcbiAgU3RyaXBlRGlhbG9nXHJcbl07XHJcbiJdfQ==
@@ -0,0 +1,157 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ Atlas Cross
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 14 Jun 2024
11
+
12
+ Description:
13
+ https://github.com/braintree/braintree-web-drop-in/issues/433
14
+ It's impossible to trigger the paypal flow programmatically, as opening a popup window must be as a result of
15
+ a direct user action. If it is not, the browser will usually block it.
16
+
17
+ https://stackoverflow.com/questions/43276570/trigger-paypal-checkout-button-click
18
+ This isn't something that's supported by the PayPal button right now. The official policy is, only a click on the button
19
+ itself should open a checkout window.
20
+
21
+ shipping_preference:
22
+ https://developer.paypal.com/docs/api/payments/v1/?mark=shipping_preference%20#definition-application_context
23
+
24
+ Copyright (c) 2023-2024 Atlas Cross Inc. All rights reserved.
25
+ </file>
26
+ */
27
+ //Node
28
+ import { Component, Input } from '@angular/core';
29
+ //App
30
+ import { AppCoreSettings } from '../../../../core/consts/core-settings';
31
+ import { ComponentBase } from '../../../../ui/components/base/components/component';
32
+ import { PaymentMethod, PaymentStage } from '../../../../core/enums/billing';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "../../services/payments.service";
35
+ import * as i2 from "./paypal.component";
36
+ function PaypalButtonComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelement(0, "anatoly-payments-paypal-container", 0);
38
+ } if (rf & 2) {
39
+ const ctx_r0 = i0.ɵɵnextContext();
40
+ i0.ɵɵproperty("config", ctx_r0.payPalConfig);
41
+ } }
42
+ export class PaypalButtonComponent extends ComponentBase {
43
+ constructor(ps) {
44
+ super();
45
+ this.ps = ps;
46
+ this.paidForTitle = 'Payment for Prodiuct';
47
+ }
48
+ ngOnInit() {
49
+ this.setDefaults();
50
+ this.setValues();
51
+ }
52
+ setDefaults() {
53
+ }
54
+ setValues() {
55
+ this.initPayPal();
56
+ this.ps.discountCodeApplied$.subscribe((data) => {
57
+ this.initPayPal();
58
+ });
59
+ }
60
+ initPayPal() {
61
+ let that = this;
62
+ let clientId = AppCoreSettings.external.pm.payPal.clientId;
63
+ let totalPrice = this.ps.getTotal().toString();
64
+ let currency = this.ps.currency;
65
+ this.payPalConfig = {
66
+ currency: currency,
67
+ clientId: clientId,
68
+ advanced: {
69
+ commit: 'true',
70
+ extraQueryParams: [
71
+ {
72
+ name: "disable-funding",
73
+ value: "credit,card"
74
+ }
75
+ ]
76
+ },
77
+ style: {
78
+ color: 'white'
79
+ },
80
+ createOrderOnClient: (data) => ({
81
+ intent: 'CAPTURE',
82
+ application_context: {
83
+ shipping_preference: "NO_SHIPPING"
84
+ },
85
+ purchase_units: [
86
+ {
87
+ amount: {
88
+ currency_code: currency,
89
+ value: totalPrice,
90
+ breakdown: {
91
+ item_total: {
92
+ currency_code: currency,
93
+ value: totalPrice
94
+ }
95
+ }
96
+ },
97
+ items: [
98
+ {
99
+ name: this.paidForTitle,
100
+ quantity: '1',
101
+ category: 'DIGITAL_GOODS',
102
+ unit_amount: {
103
+ currency_code: currency,
104
+ value: totalPrice
105
+ },
106
+ }
107
+ ]
108
+ }
109
+ ]
110
+ }),
111
+ onApprove: (data, actions) => {
112
+ return actions.order.capture().then(function (orderData) {
113
+ try {
114
+ let payment = orderData.purchase_units[0].payments.captures[0];
115
+ let paymentId = payment.id;
116
+ let status = payment.status;
117
+ let amount = payment.amount.value;
118
+ let currencyCode = payment.amount.currency_code;
119
+ let details = JSON.stringify(orderData);
120
+ that.ps.pay(that.paidFor, paymentId, status, details);
121
+ }
122
+ catch {
123
+ that.ps.paymentFailed(PaymentStage.External);
124
+ }
125
+ });
126
+ },
127
+ onCancel: (data, actions) => {
128
+ that.ps.paymentInProgress = false;
129
+ },
130
+ onError: err => {
131
+ that.ps.paymentInProgress = false;
132
+ },
133
+ onClick: (data, actions) => {
134
+ that.ps.paymentInProgress = true;
135
+ }
136
+ };
137
+ }
138
+ get visible() {
139
+ return this.ps.selectedPaymentMethod == PaymentMethod.PayPal && this.ps.getTotal() > 0;
140
+ }
141
+ static { this.ɵfac = function PaypalButtonComponent_Factory(t) { return new (t || PaypalButtonComponent)(i0.ɵɵdirectiveInject(i1.PaymentsService)); }; }
142
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaypalButtonComponent, selectors: [["anatoly-payments-paypal-button"]], inputs: { paidForTitle: "paidForTitle", paidFor: "paidFor" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "config"]], template: function PaypalButtonComponent_Template(rf, ctx) { if (rf & 1) {
143
+ i0.ɵɵtemplate(0, PaypalButtonComponent_Conditional_0_Template, 1, 1, "anatoly-payments-paypal-container", 0);
144
+ } if (rf & 2) {
145
+ i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
146
+ } }, dependencies: [i2.PayPalComponent], encapsulation: 2 }); }
147
+ }
148
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaypalButtonComponent, [{
149
+ type: Component,
150
+ args: [{ selector: 'anatoly-payments-paypal-button', template: "@if (visible) {\r\n <anatoly-payments-paypal-container [config]='payPalConfig' />\r\n}\r\n" }]
151
+ }], () => [{ type: i1.PaymentsService }], { paidForTitle: [{
152
+ type: Input
153
+ }], paidFor: [{
154
+ type: Input
155
+ }] }); })();
156
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalButtonComponent, { className: "PaypalButtonComponent", filePath: "lib\\billing\\payments\\components\\paypal\\paypal-button.component.ts", lineNumber: 42 }); })();
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9wYXltZW50cy9jb21wb25lbnRzL3BheXBhbC9wYXlwYWwtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL3BheW1lbnRzL2NvbXBvbmVudHMvcGF5cGFsL3BheXBhbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF5QkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scURBQXFELENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7SUNqQzNFLHVEQUE2RDs7O0lBQTFCLDRDQUF1Qjs7QUR3QzVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTXRELFlBQW1CLEVBQW1CO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFIN0IsaUJBQVksR0FBRyxzQkFBc0IsQ0FBQztJQUsvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFdBQVc7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxD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QU8sRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUNwQyxDQUFDO1lBRUQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLENBQUM7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQ25DLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RixDQUFDO3NGQW5IVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjtZQ3pDbEMsNEdBRUM7O1lBRkQseUNBRUM7OztpRkR1Q1kscUJBQXFCO2NBSmpDLFNBQVM7MkJBQ0UsZ0NBQWdDO2dEQU1qQyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLOztrRkFKSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQXRsYXMgQ3Jvc3NcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgSnVuIDIwMjRcclxuXHJcbiAgRGVzY3JpcHRpb246XHJcbiAgICBodHRwczovL2dpdGh1Yi5jb20vYnJhaW50cmVlL2JyYWludHJlZS13ZWItZHJvcC1pbi9pc3N1ZXMvNDMzXHJcbiAgICBJdCdzIGltcG9zc2libGUgdG8gdHJpZ2dlciB0aGUgcGF5cGFsIGZsb3cgcHJvZ3JhbW1hdGljYWxseSwgYXMgb3BlbmluZyBhIHBvcHVwIHdpbmRvdyBtdXN0IGJlIGFzIGEgcmVzdWx0IG9mXHJcbiAgICBhIGRpcmVjdCB1c2VyIGFjdGlvbi4gSWYgaXQgaXMgbm90LCB0aGUgYnJvd3NlciB3aWxsIHVzdWFsbHkgYmxvY2sgaXQuXHJcblxyXG4gICAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDMyNzY1NzAvdHJpZ2dlci1wYXlwYWwtY2hlY2tvdXQtYnV0dG9uLWNsaWNrXHJcbiAgICBUaGlzIGlzbid0IHNvbWV0aGluZyB0aGF0J3Mgc3VwcG9ydGVkIGJ5IHRoZSBQYXlQYWwgYnV0dG9uIHJpZ2h0IG5vdy4gVGhlIG9mZmljaWFsIHBvbGljeSBpcywgb25seSBhIGNsaWNrIG9uIHRoZSBidXR0b25cclxuICAgIGl0c2VsZiBzaG91bGQgb3BlbiBhIGNoZWNrb3V0IHdpbmRvdy5cclxuXHJcbiAgICBzaGlwcGluZ19wcmVmZXJlbmNlOlxyXG4gICAgaHR0cHM6Ly9kZXZlbG9wZXIucGF5cGFsLmNvbS9kb2NzL2FwaS9wYXltZW50cy92MS8/bWFyaz1zaGlwcGluZ19wcmVmZXJlbmNlJTIwI2RlZmluaXRpb24tYXBwbGljYXRpb25fY29udGV4dFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMjMtMjAyNCBBdGxhcyBDcm9zcyBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnRzL2NvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kLCBQYXltZW50U3RhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2VudW1zL2JpbGxpbmcnO1xyXG5pbXBvcnQgeyBJQ3JlYXRlT3JkZXJSZXF1ZXN0LCBJUGF5UGFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BheXBhbC1tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LXBheW1lbnRzLXBheXBhbC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXlwYWwtYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5cGFsQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbiAgcGF5UGFsQ29uZmlnPzogSVBheVBhbENvbmZpZztcclxuXHJcbiAgQElucHV0KCkgcGFpZEZvclRpdGxlID0gJ1BheW1lbnQgZm9yIFByb2RpdWN0JztcclxuICBASW5wdXQoKSBwYWlkRm9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHM6IFBheW1lbnRzU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0cygpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcygpIHtcclxuICAgIHRoaXMuaW5pdFBheVBhbCgpO1xyXG5cclxuICAgIHRoaXMucHMuZGlzY291bnRDb2RlQXBwbGllZCQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdFBheVBhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRQYXlQYWwoKSB7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICBsZXQgY2xpZW50SWQgPSBBcHBDb3JlU2V0dGluZ3MuZXh0ZXJuYWwucG0ucGF5UGFsLmNsaWVudElkO1xyXG4gICAgbGV0IHRvdGFsUHJpY2UgPSB0aGlzLnBzLmdldFRvdGFsKCkudG9TdHJpbmcoKTtcclxuICAgIGxldCBjdXJyZW5jeSA9IHRoaXMucHMuY3VycmVuY3k7XHJcblxyXG4gICAgdGhpcy5wYXlQYWxDb25maWcgPSB7XHJcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSxcclxuICAgICAgY2xpZW50SWQ6IGNsaWVudElkLFxyXG4gICAgICBhZHZhbmNlZDoge1xyXG4gICAgICAgIGNvbW1pdDogJ3RydWUnLFxyXG4gICAgICAgIGV4dHJhUXVlcnlQYXJhbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogXCJkaXNhYmxlLWZ1bmRpbmdcIixcclxuICAgICAgICAgICAgdmFsdWU6IFwiY3JlZGl0LGNhcmRcIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAgc3R5bGU6IHtcclxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgY3JlYXRlT3JkZXJPbkNsaWVudDogKGRhdGEpID0+IDxJQ3JlYXRlT3JkZXJSZXF1ZXN0PntcclxuICAgICAgICBpbnRlbnQ6ICdDQVBUVVJFJyxcclxuICAgICAgICBhcHBsaWNhdGlvbl9jb250ZXh0OiB7XHJcbiAgICAgICAgICBzaGlwcGluZ19wcmVmZXJlbmNlOiBcIk5PX1NISVBQSU5HXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIHB1cmNoYXNlX3VuaXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGFtb3VudDoge1xyXG4gICAgICAgICAgICAgIGN1cnJlbmN5X2NvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgIHZhbHVlOiB0b3RhbFByaWNlLFxyXG4gICAgICAgICAgICAgIGJyZWFrZG93bjoge1xyXG4gICAgICAgICAgICAgICAgaXRlbV90b3RhbDoge1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW5jeV9jb2RlOiBjdXJyZW5jeSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHRvdGFsUHJpY2VcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5wYWlkRm9yVGl0bGUsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogJzEnLFxyXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnk6ICdESUdJVEFMX0dPT0RTJyxcclxuICAgICAgICAgICAgICAgIHVuaXRfYW1vdW50OiB7XHJcbiAgICAgICAgICAgICAgICAgIGN1cnJlbmN5X2NvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdG90YWxQcmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvbkFwcHJvdmU6IChkYXRhLCBhY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGFjdGlvbnMub3JkZXIuY2FwdHVyZSgpLnRoZW4oZnVuY3Rpb24gKG9yZGVyRGF0YSkge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbGV0IHBheW1lbnQgPSBvcmRlckRhdGEucHVyY2hhc2VfdW5pdHNbMF0ucGF5bWVudHMuY2FwdHVyZXNbMF07XHJcbiAgICAgICAgICAgIGxldCBwYXltZW50SWQgPSBwYXltZW50LmlkO1xyXG4gICAgICAgICAgICBsZXQgc3RhdHVzID0gcGF5bWVudC5zdGF0dXM7XHJcbiAgICAgICAgICAgIGxldCBhbW91bnQgPSBwYXltZW50LmFtb3VudC52YWx1ZTtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbmN5Q29kZSA9IHBheW1lbnQuYW1vdW50LmN1cnJlbmN5X2NvZGU7XHJcbiAgICAgICAgICAgIGxldCBkZXRhaWxzID0gSlNPTi5zdHJpbmdpZnkob3JkZXJEYXRhKTtcclxuXHJcbiAgICAgICAgICAgIHRoYXQucHMucGF5KHRoYXQucGFpZEZvciwgcGF5bWVudElkLCBzdGF0dXMsIGRldGFpbHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY2F0Y2hcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGhhdC5wcy5wYXltZW50RmFpbGVkKFBheW1lbnRTdGFnZS5FeHRlcm5hbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvbkNhbmNlbDogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICB0aGF0LnBzLnBheW1lbnRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvbkVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgIHRoYXQucHMucGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uQ2xpY2s6IChkYXRhLCBhY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgdGhhdC5wcy5wYXltZW50SW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcy5zZWxlY3RlZFBheW1lbnRNZXRob2QgPT0gUGF5bWVudE1ldGhvZC5QYXlQYWwgJiYgdGhpcy5wcy5nZXRUb3RhbCgpID4gMDtcclxuICB9XHJcbn1cclxuIiwiQGlmICh2aXNpYmxlKSB7XHJcbiAgPGFuYXRvbHktcGF5bWVudHMtcGF5cGFsLWNvbnRhaW5lciBbY29uZmlnXT0ncGF5UGFsQ29uZmlnJyAvPlxyXG59XHJcbiJdfQ==