@hitsoft/e-donusum 0.0.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.
- package/README.md +24 -0
- package/config/e-donusum-config.module.d.ts +8 -0
- package/config/enums/eDonusum-route-names.d.ts +8 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +3 -0
- package/config/index.d.ts +5 -0
- package/config/providers/branch-route.provider.d.ts +9 -0
- package/config/providers/business-partner-group-route.provider.d.ts +9 -0
- package/config/providers/business-partner-route.provider.d.ts +9 -0
- package/config/providers/despatch-document-reference-route.provider.d.ts +9 -0
- package/config/providers/despatch-line-order-line-reference-route.provider.d.ts +9 -0
- package/config/providers/despatch-line-route.provider.d.ts +9 -0
- package/config/providers/despatch-note-route.provider.d.ts +9 -0
- package/config/providers/despatch-route.provider.d.ts +9 -0
- package/config/providers/gib-partner-pk-all-route.provider.d.ts +9 -0
- package/config/providers/gib-partner-pk-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/branch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/business-partner-group-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/business-partner-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/despatch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/gib-partner-pk-all-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/gib-partner-pk-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/inbound-despatch-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/inbound-invoice-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/invoice-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/note-rule-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/route.provider.d.ts +8 -0
- package/config/providers/hit-providers/wizard-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/xslt-format-route.provider.d.ts +9 -0
- package/config/providers/hit-providers/xslt-rule-route.provider.d.ts +9 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/invoice-document-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-despatch-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-order-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-receipt-line-reference-route.provider.d.ts +9 -0
- package/config/providers/invoice-line-route.provider.d.ts +9 -0
- package/config/providers/invoice-note-route.provider.d.ts +9 -0
- package/config/providers/invoice-route.provider.d.ts +9 -0
- package/config/providers/note-rule-doc-type-route.provider.d.ts +9 -0
- package/config/providers/note-rule-route.provider.d.ts +9 -0
- package/config/providers/note-rule-scenario-route.provider.d.ts +9 -0
- package/config/providers/params-company-route.provider.d.ts +9 -0
- package/config/providers/params-general-route.provider.d.ts +9 -0
- package/config/providers/params-integrator-route.provider.d.ts +9 -0
- package/config/providers/paramse-dispatch-route.provider.d.ts +9 -0
- package/config/providers/paramse-invoice-route.provider.d.ts +9 -0
- package/config/providers/route.provider.d.ts +8 -0
- package/config/providers/xslt-format-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-doc-type-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-route.provider.d.ts +9 -0
- package/config/providers/xslt-rule-scenario-route.provider.d.ts +9 -0
- package/config/public-api.d.ts +3 -0
- package/esm2020/config/e-donusum-config.module.mjs +106 -0
- package/esm2020/config/enums/eDonusum-route-names.mjs +2 -0
- package/esm2020/config/enums/index.mjs +2 -0
- package/esm2020/config/enums/route-names.mjs +2 -0
- package/esm2020/config/hitsoft-e-donusum-config.mjs +5 -0
- package/esm2020/config/providers/branch-route.provider.mjs +19 -0
- package/esm2020/config/providers/business-partner-group-route.provider.mjs +19 -0
- package/esm2020/config/providers/business-partner-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-document-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-line-order-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/despatch-line-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-note-route.provider.mjs +19 -0
- package/esm2020/config/providers/despatch-route.provider.mjs +19 -0
- package/esm2020/config/providers/gib-partner-pk-all-route.provider.mjs +19 -0
- package/esm2020/config/providers/gib-partner-pk-route.provider.mjs +19 -0
- package/esm2020/config/providers/hit-providers/branch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/business-partner-group-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/business-partner-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/despatch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/gib-partner-pk-all-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/gib-partner-pk-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/inbound-despatch-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/inbound-invoice-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/invoice-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/note-rule-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/route.provider.mjs +59 -0
- package/esm2020/config/providers/hit-providers/wizard-route.provider.mjs +19 -0
- package/esm2020/config/providers/hit-providers/xslt-format-route.provider.mjs +20 -0
- package/esm2020/config/providers/hit-providers/xslt-rule-route.provider.mjs +20 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/invoice-document-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-line-despatch-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/invoice-line-order-line-reference-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-line-receipt-line-reference-route.provider.mjs +17 -0
- package/esm2020/config/providers/invoice-line-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-note-route.provider.mjs +19 -0
- package/esm2020/config/providers/invoice-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-doc-type-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-route.provider.mjs +19 -0
- package/esm2020/config/providers/note-rule-scenario-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-company-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-general-route.provider.mjs +19 -0
- package/esm2020/config/providers/params-integrator-route.provider.mjs +19 -0
- package/esm2020/config/providers/paramse-dispatch-route.provider.mjs +19 -0
- package/esm2020/config/providers/paramse-invoice-route.provider.mjs +19 -0
- package/esm2020/config/providers/route.provider.mjs +24 -0
- package/esm2020/config/providers/xslt-format-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-doc-type-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-route.provider.mjs +19 -0
- package/esm2020/config/providers/xslt-rule-scenario-route.provider.mjs +19 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-e-donusum.mjs +5 -0
- package/esm2020/lib/branches/branch/branch-routing.module.mjs +38 -0
- package/esm2020/lib/branches/branch/branch.module.mjs +52 -0
- package/esm2020/lib/branches/branch/components/branch.component.mjs +113 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/business-partner-group-routing.module.mjs +38 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/business-partner-group.module.mjs +52 -0
- package/esm2020/lib/business-partner-groups/business-partner-group/components/business-partner-group.component.mjs +104 -0
- package/esm2020/lib/business-partners/business-partner/business-partner-routing.module.mjs +38 -0
- package/esm2020/lib/business-partners/business-partner/business-partner.module.mjs +52 -0
- package/esm2020/lib/business-partners/business-partner/components/business-partner.component.mjs +112 -0
- package/esm2020/lib/components/e-donusum.component.mjs +18 -0
- package/esm2020/lib/components/hit-branches/hit-branch.component.mjs +28 -0
- package/esm2020/lib/components/hit-branches/hit-branch.module.mjs +55 -0
- package/esm2020/lib/components/hit-business-partner-groups/hit-business-partner-group.component.mjs +28 -0
- package/esm2020/lib/components/hit-business-partner-groups/hit-business-partner-group.module.mjs +52 -0
- package/esm2020/lib/components/hit-business-partners/hit-business-partner.component.mjs +31 -0
- package/esm2020/lib/components/hit-business-partners/hit-business-partner.module.mjs +52 -0
- package/esm2020/lib/components/hit-despatches/hit-despatch.component.mjs +133 -0
- package/esm2020/lib/components/hit-despatches/hit-despatch.module.mjs +71 -0
- package/esm2020/lib/components/hit-despatches/sanitize-html.pipe.mjs +19 -0
- package/esm2020/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.component.mjs +28 -0
- package/esm2020/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.module.mjs +52 -0
- package/esm2020/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.component.mjs +32 -0
- package/esm2020/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.module.mjs +55 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch.component.mjs +135 -0
- package/esm2020/lib/components/hit-inbound-despatches/hit-inbound-despatch.module.mjs +77 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.mjs +119 -0
- package/esm2020/lib/components/hit-inbound-invoices/hit-inbound-invoice.module.mjs +77 -0
- package/esm2020/lib/components/hit-invoices/hit-invoice.component.mjs +124 -0
- package/esm2020/lib/components/hit-invoices/hit-invoice.module.mjs +71 -0
- package/esm2020/lib/components/hit-invoices/sanitize-html.pipe.mjs +19 -0
- package/esm2020/lib/components/hit-note-rules/hit-note-rule.component.mjs +319 -0
- package/esm2020/lib/components/hit-note-rules/hit-note-rule.module.mjs +70 -0
- package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.component.mjs +108 -0
- package/esm2020/lib/components/hit-paramas-invoices/hit-params-invoice.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-companies/hit-params-company.component.mjs +110 -0
- package/esm2020/lib/components/hit-params-companies/hit-params-company.module.mjs +32 -0
- package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.component.mjs +120 -0
- package/esm2020/lib/components/hit-params-dispatches/hit-params-dispatch.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.component.mjs +154 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.module.mjs +39 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.component.mjs +76 -0
- package/esm2020/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.module.mjs +36 -0
- package/esm2020/lib/components/hit-params-integrators/hit-params-integrator.component.mjs +153 -0
- package/esm2020/lib/components/hit-params-integrators/hit-params-integrator.module.mjs +36 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard-routing.module.mjs +38 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard.component.mjs +134 -0
- package/esm2020/lib/components/hit-setup-wizard/hit-setup-wizard.module.mjs +66 -0
- package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.component.mjs +139 -0
- package/esm2020/lib/components/hit-xslt-formats/hit-xslt-format.module.mjs +67 -0
- package/esm2020/lib/components/hit-xslt-rules/hit-xslt-rule.component.mjs +299 -0
- package/esm2020/lib/components/hit-xslt-rules/hit-xslt-rule.module.mjs +73 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/components/despatch-document-reference.component.mjs +117 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/despatch-document-reference-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-document-references/despatch-document-reference/despatch-document-reference.module.mjs +52 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/components/despatch-line-order-line-reference.component.mjs +121 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference.module.mjs +52 -0
- package/esm2020/lib/despatch-lines/despatch-line/components/despatch-line.component.mjs +137 -0
- package/esm2020/lib/despatch-lines/despatch-line/despatch-line-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-lines/despatch-line/despatch-line.module.mjs +52 -0
- package/esm2020/lib/despatch-notes/despatch-note/components/despatch-note.component.mjs +108 -0
- package/esm2020/lib/despatch-notes/despatch-note/despatch-note-routing.module.mjs +38 -0
- package/esm2020/lib/despatch-notes/despatch-note/despatch-note.module.mjs +52 -0
- package/esm2020/lib/despatches/despatch/components/despatch.component.mjs +295 -0
- package/esm2020/lib/despatches/despatch/despatch-routing.module.mjs +38 -0
- package/esm2020/lib/despatches/despatch/despatch.module.mjs +52 -0
- package/esm2020/lib/e-donusum-routing.module.mjs +124 -0
- package/esm2020/lib/e-donusum.module.mjs +91 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/components/gib-partner-pk-all.component.mjs +116 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all-routing.module.mjs +38 -0
- package/esm2020/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all.module.mjs +52 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/components/gib-partner-pk.component.mjs +116 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk-routing.module.mjs +38 -0
- package/esm2020/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk.module.mjs +52 -0
- package/esm2020/lib/hit-proxy/devexpress-query-builder/devexpress-load-options.model.mjs +2 -0
- package/esm2020/lib/hit-proxy/devexpress-query-builder/devexpress-query-builder.mjs +54 -0
- package/esm2020/lib/hit-proxy/hit-branches/hit-branch.service.mjs +32 -0
- package/esm2020/lib/hit-proxy/hit-business-partner-groups/hit-business-partner-group.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-business-partners/hit-business-partner.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-connectors/hit-connector.service.mjs +37 -0
- package/esm2020/lib/hit-proxy/hit-content-master/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-despatch-lines/hit-despatch-line.service.mjs +25 -0
- package/esm2020/lib/hit-proxy/hit-despatches/hit-despatch.service.mjs +70 -0
- package/esm2020/lib/hit-proxy/hit-document-types/hit-document-type.service.mjs +28 -0
- package/esm2020/lib/hit-proxy/hit-entegrators/hit-entegrator.service.mjs +39 -0
- package/esm2020/lib/hit-proxy/hit-file-document-type/hit-file-document-type.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-gib-partner-pk-alls/hit-gib-partner-pk-alls.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-gib-partner-pks/hit-gib-partner-pk.service.mjs +24 -0
- package/esm2020/lib/hit-proxy/hit-inbound-despatches/hit-inbound-despatch.service.mjs +39 -0
- package/esm2020/lib/hit-proxy/hit-inbound-despatches/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.mjs +34 -0
- package/esm2020/lib/hit-proxy/hit-inventory-transfer-addresses/hit-inventory-transfer-address.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-invoices/hit-invoice.service.mjs +84 -0
- package/esm2020/lib/hit-proxy/hit-note-rule-doc-types/hit-note-rule-doc-type.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-note-rule-scenarios/hit-note-rule-scenario.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-note-rules/hit-note-rule.service.mjs +63 -0
- package/esm2020/lib/hit-proxy/hit-note-rules/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-params-companies/hit-params-company.service.mjs +30 -0
- package/esm2020/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-generals/hit-params-general.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-integrators/hit-params-integrator.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.mjs +22 -0
- package/esm2020/lib/hit-proxy/hit-scenario-types/hit-scenario-type.service.mjs +28 -0
- package/esm2020/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.mjs +46 -0
- package/esm2020/lib/hit-proxy/hit-xslt-formats/models.mjs +2 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rule-doc-types/hit-xslt-rule-doc-type.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rule-scenarios/hit-xslt-rule-scenario.service.mjs +23 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rules/hit-xslt-rule.service.mjs +55 -0
- package/esm2020/lib/hit-proxy/hit-xslt-rules/models.mjs +2 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/components/invoice-document-reference.component.mjs +117 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/invoice-document-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-document-references/invoice-document-reference/invoice-document-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/components/invoice-line-despatch-line-reference.component.mjs +115 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/components/invoice-line-order-line-reference.component.mjs +121 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/components/invoice-line-receipt-line-reference.component.mjs +115 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference.module.mjs +52 -0
- package/esm2020/lib/invoice-lines/invoice-line/components/invoice-line.component.mjs +137 -0
- package/esm2020/lib/invoice-lines/invoice-line/invoice-line-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-lines/invoice-line/invoice-line.module.mjs +52 -0
- package/esm2020/lib/invoice-notes/invoice-note/components/invoice-note.component.mjs +108 -0
- package/esm2020/lib/invoice-notes/invoice-note/invoice-note-routing.module.mjs +38 -0
- package/esm2020/lib/invoice-notes/invoice-note/invoice-note.module.mjs +52 -0
- package/esm2020/lib/invoices/invoice/components/invoice.component.mjs +272 -0
- package/esm2020/lib/invoices/invoice/invoice-routing.module.mjs +38 -0
- package/esm2020/lib/invoices/invoice/invoice.module.mjs +52 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/components/note-rule-doc-type.component.mjs +98 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type-routing.module.mjs +38 -0
- package/esm2020/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type.module.mjs +52 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/components/note-rule-scenario.component.mjs +98 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario-routing.module.mjs +38 -0
- package/esm2020/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario.module.mjs +52 -0
- package/esm2020/lib/note-rules/note-rule/components/note-rule.component.mjs +120 -0
- package/esm2020/lib/note-rules/note-rule/note-rule-routing.module.mjs +38 -0
- package/esm2020/lib/note-rules/note-rule/note-rule.module.mjs +52 -0
- package/esm2020/lib/params-companies/params-company/components/params-company.component.mjs +124 -0
- package/esm2020/lib/params-companies/params-company/params-company-routing.module.mjs +38 -0
- package/esm2020/lib/params-companies/params-company/params-company.module.mjs +52 -0
- package/esm2020/lib/params-generals/params-general/components/params-general.component.mjs +108 -0
- package/esm2020/lib/params-generals/params-general/params-general-routing.module.mjs +38 -0
- package/esm2020/lib/params-generals/params-general/params-general.module.mjs +52 -0
- package/esm2020/lib/params-integrators/params-integrator/components/params-integrator.component.mjs +117 -0
- package/esm2020/lib/params-integrators/params-integrator/params-integrator-routing.module.mjs +38 -0
- package/esm2020/lib/params-integrators/params-integrator/params-integrator.module.mjs +52 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.mjs +119 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch-routing.module.mjs +38 -0
- package/esm2020/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.mjs +52 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.mjs +113 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice-routing.module.mjs +38 -0
- package/esm2020/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.mjs +52 -0
- package/esm2020/lib/proxy/branches/branch.service.mjs +51 -0
- package/esm2020/lib/proxy/branches/models.mjs +2 -0
- package/esm2020/lib/proxy/business-partner-groups/business-partner-group.service.mjs +41 -0
- package/esm2020/lib/proxy/business-partner-groups/models.mjs +2 -0
- package/esm2020/lib/proxy/business-partners/business-partner.service.mjs +50 -0
- package/esm2020/lib/proxy/business-partners/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-document-references/despatch-document-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-document-references/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-line-order-line-references/despatch-line-order-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-line-order-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-lines/despatch-line.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-lines/models.mjs +2 -0
- package/esm2020/lib/proxy/despatch-notes/despatch-note.service.mjs +60 -0
- package/esm2020/lib/proxy/despatch-notes/models.mjs +2 -0
- package/esm2020/lib/proxy/despatches/despatch.service.mjs +51 -0
- package/esm2020/lib/proxy/despatches/models.mjs +2 -0
- package/esm2020/lib/proxy/gib-partner-pk-alls/gib-partner-pk-all.service.mjs +51 -0
- package/esm2020/lib/proxy/gib-partner-pk-alls/models.mjs +2 -0
- package/esm2020/lib/proxy/gib-partner-pks/gib-partner-pk.service.mjs +51 -0
- package/esm2020/lib/proxy/gib-partner-pks/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-document-references/invoice-document-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-document-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-despatch-line-references/invoice-line-despatch-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-despatch-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-order-line-references/invoice-line-order-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-order-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-line-receipt-line-references/invoice-line-receipt-line-reference.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-line-receipt-line-references/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-lines/invoice-line.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-lines/models.mjs +2 -0
- package/esm2020/lib/proxy/invoice-notes/invoice-note.service.mjs +60 -0
- package/esm2020/lib/proxy/invoice-notes/models.mjs +2 -0
- package/esm2020/lib/proxy/invoices/invoice.service.mjs +51 -0
- package/esm2020/lib/proxy/invoices/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-doc-types/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rule-doc-types/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-doc-types/note-rule-doc-type.service.mjs +50 -0
- package/esm2020/lib/proxy/note-rule-scenarios/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rule-scenarios/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rule-scenarios/note-rule-scenario.service.mjs +50 -0
- package/esm2020/lib/proxy/note-rules/index.mjs +3 -0
- package/esm2020/lib/proxy/note-rules/models.mjs +2 -0
- package/esm2020/lib/proxy/note-rules/note-rule.service.mjs +51 -0
- package/esm2020/lib/proxy/params-companies/index.mjs +3 -0
- package/esm2020/lib/proxy/params-companies/models.mjs +2 -0
- package/esm2020/lib/proxy/params-companies/params-company.service.mjs +51 -0
- package/esm2020/lib/proxy/params-generals/index.mjs +3 -0
- package/esm2020/lib/proxy/params-generals/models.mjs +2 -0
- package/esm2020/lib/proxy/params-generals/params-general.service.mjs +51 -0
- package/esm2020/lib/proxy/params-integrators/index.mjs +3 -0
- package/esm2020/lib/proxy/params-integrators/models.mjs +2 -0
- package/esm2020/lib/proxy/params-integrators/params-integrator.service.mjs +60 -0
- package/esm2020/lib/proxy/paramse-dispatches/index.mjs +3 -0
- package/esm2020/lib/proxy/paramse-dispatches/models.mjs +2 -0
- package/esm2020/lib/proxy/paramse-dispatches/paramse-dispatch.service.mjs +51 -0
- package/esm2020/lib/proxy/paramse-invoices/index.mjs +3 -0
- package/esm2020/lib/proxy/paramse-invoices/models.mjs +2 -0
- package/esm2020/lib/proxy/paramse-invoices/paramse-invoice.service.mjs +51 -0
- package/esm2020/lib/proxy/shared/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-formats/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-formats/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-formats/xslt-format.service.mjs +41 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rule-doc-types/xslt-rule-doc-type.service.mjs +50 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rule-scenarios/xslt-rule-scenario.service.mjs +50 -0
- package/esm2020/lib/proxy/xslt-rules/index.mjs +3 -0
- package/esm2020/lib/proxy/xslt-rules/models.mjs +2 -0
- package/esm2020/lib/proxy/xslt-rules/xslt-rule.service.mjs +50 -0
- package/esm2020/lib/services/e-donusum.service.mjs +21 -0
- package/esm2020/lib/xslt-formats/xslt-format/components/xslt-format.component.mjs +101 -0
- package/esm2020/lib/xslt-formats/xslt-format/xslt-format-routing.module.mjs +38 -0
- package/esm2020/lib/xslt-formats/xslt-format/xslt-format.module.mjs +52 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/components/xslt-rule-doc-type.component.mjs +98 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type-routing.module.mjs +26 -0
- package/esm2020/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type.module.mjs +52 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/components/xslt-rule-scenario.component.mjs +98 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario-routing.module.mjs +26 -0
- package/esm2020/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario.module.mjs +52 -0
- package/esm2020/lib/xslt-rules/xslt-rule/components/xslt-rule.component.mjs +106 -0
- package/esm2020/lib/xslt-rules/xslt-rule/xslt-rule-routing.module.mjs +38 -0
- package/esm2020/lib/xslt-rules/xslt-rule/xslt-rule.module.mjs +52 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/hitsoft-e-donusum-config.mjs +869 -0
- package/fesm2015/hitsoft-e-donusum-config.mjs.map +1 -0
- package/fesm2015/hitsoft-e-donusum.mjs +10618 -0
- package/fesm2015/hitsoft-e-donusum.mjs.map +1 -0
- package/fesm2020/hitsoft-e-donusum-config.mjs +869 -0
- package/fesm2020/hitsoft-e-donusum-config.mjs.map +1 -0
- package/fesm2020/hitsoft-e-donusum.mjs +10771 -0
- package/fesm2020/hitsoft-e-donusum.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/branches/branch/branch-routing.module.d.ts +7 -0
- package/lib/branches/branch/branch.module.d.ts +15 -0
- package/lib/branches/branch/components/branch.component.d.ts +35 -0
- package/lib/business-partner-groups/business-partner-group/business-partner-group-routing.module.d.ts +7 -0
- package/lib/business-partner-groups/business-partner-group/business-partner-group.module.d.ts +15 -0
- package/lib/business-partner-groups/business-partner-group/components/business-partner-group.component.d.ts +33 -0
- package/lib/business-partners/business-partner/business-partner-routing.module.d.ts +7 -0
- package/lib/business-partners/business-partner/business-partner.module.d.ts +15 -0
- package/lib/business-partners/business-partner/components/business-partner.component.d.ts +33 -0
- package/lib/components/e-donusum.component.d.ts +10 -0
- package/lib/components/hit-branches/hit-branch.component.d.ts +13 -0
- package/lib/components/hit-branches/hit-branch.module.d.ts +15 -0
- package/lib/components/hit-business-partner-groups/hit-business-partner-group.component.d.ts +13 -0
- package/lib/components/hit-business-partner-groups/hit-business-partner-group.module.d.ts +15 -0
- package/lib/components/hit-business-partners/hit-business-partner.component.d.ts +16 -0
- package/lib/components/hit-business-partners/hit-business-partner.module.d.ts +15 -0
- package/lib/components/hit-despatches/hit-despatch.component.d.ts +35 -0
- package/lib/components/hit-despatches/hit-despatch.module.d.ts +16 -0
- package/lib/components/hit-despatches/sanitize-html.pipe.d.ts +10 -0
- package/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.component.d.ts +13 -0
- package/lib/components/hit-gib-partner-pk-alls/hit-gib-partner-pk-all.module.d.ts +15 -0
- package/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.component.d.ts +17 -0
- package/lib/components/hit-gib-partner-pks/hit-gib-partner-pk.module.d.ts +15 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch-routing.module.d.ts +7 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch.component.d.ts +38 -0
- package/lib/components/hit-inbound-despatches/hit-inbound-despatch.module.d.ts +16 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice-routing.module.d.ts +7 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice.component.d.ts +36 -0
- package/lib/components/hit-inbound-invoices/hit-inbound-invoice.module.d.ts +16 -0
- package/lib/components/hit-invoices/hit-invoice.component.d.ts +39 -0
- package/lib/components/hit-invoices/hit-invoice.module.d.ts +16 -0
- package/lib/components/hit-invoices/sanitize-html.pipe.d.ts +10 -0
- package/lib/components/hit-note-rules/hit-note-rule.component.d.ts +67 -0
- package/lib/components/hit-note-rules/hit-note-rule.module.d.ts +15 -0
- package/lib/components/hit-paramas-invoices/hit-params-invoice.component.d.ts +34 -0
- package/lib/components/hit-paramas-invoices/hit-params-invoice.module.d.ts +12 -0
- package/lib/components/hit-params-companies/hit-params-company.component.d.ts +30 -0
- package/lib/components/hit-params-companies/hit-params-company.module.d.ts +11 -0
- package/lib/components/hit-params-dispatches/hit-params-dispatch.component.d.ts +37 -0
- package/lib/components/hit-params-dispatches/hit-params-dispatch.module.d.ts +12 -0
- package/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.component.d.ts +39 -0
- package/lib/components/hit-params-generals/hit-params-generals-part1/hit-params-general-part1.module.d.ts +12 -0
- package/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.component.d.ts +27 -0
- package/lib/components/hit-params-generals/hit-params-generals-part2/hit-params-general-part2.module.d.ts +12 -0
- package/lib/components/hit-params-integrators/hit-params-integrator.component.d.ts +38 -0
- package/lib/components/hit-params-integrators/hit-params-integrator.module.d.ts +12 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard-routing.module.d.ts +7 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard.component.d.ts +37 -0
- package/lib/components/hit-setup-wizard/hit-setup-wizard.module.d.ts +20 -0
- package/lib/components/hit-xslt-formats/hit-xslt-format.component.d.ts +39 -0
- package/lib/components/hit-xslt-formats/hit-xslt-format.module.d.ts +15 -0
- package/lib/components/hit-xslt-rules/hit-xslt-rule.component.d.ts +73 -0
- package/lib/components/hit-xslt-rules/hit-xslt-rule.module.d.ts +15 -0
- package/lib/despatch-document-references/despatch-document-reference/components/despatch-document-reference.component.d.ts +35 -0
- package/lib/despatch-document-references/despatch-document-reference/despatch-document-reference-routing.module.d.ts +7 -0
- package/lib/despatch-document-references/despatch-document-reference/despatch-document-reference.module.d.ts +15 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/components/despatch-line-order-line-reference.component.d.ts +35 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference-routing.module.d.ts +7 -0
- package/lib/despatch-line-order-line-references/despatch-line-order-line-reference/despatch-line-order-line-reference.module.d.ts +15 -0
- package/lib/despatch-lines/despatch-line/components/despatch-line.component.d.ts +35 -0
- package/lib/despatch-lines/despatch-line/despatch-line-routing.module.d.ts +7 -0
- package/lib/despatch-lines/despatch-line/despatch-line.module.d.ts +15 -0
- package/lib/despatch-notes/despatch-note/components/despatch-note.component.d.ts +35 -0
- package/lib/despatch-notes/despatch-note/despatch-note-routing.module.d.ts +7 -0
- package/lib/despatch-notes/despatch-note/despatch-note.module.d.ts +15 -0
- package/lib/despatches/despatch/components/despatch.component.d.ts +35 -0
- package/lib/despatches/despatch/despatch-routing.module.d.ts +7 -0
- package/lib/despatches/despatch/despatch.module.d.ts +15 -0
- package/lib/e-donusum-routing.module.d.ts +7 -0
- package/lib/e-donusum.module.d.ts +17 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/components/gib-partner-pk-all.component.d.ts +35 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all-routing.module.d.ts +7 -0
- package/lib/gib-partner-pk-alls/gib-partner-pk-all/gib-partner-pk-all.module.d.ts +15 -0
- package/lib/gib-partner-pks/gib-partner-pk/components/gib-partner-pk.component.d.ts +35 -0
- package/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk-routing.module.d.ts +7 -0
- package/lib/gib-partner-pks/gib-partner-pk/gib-partner-pk.module.d.ts +15 -0
- package/lib/hit-proxy/devexpress-query-builder/devexpress-load-options.model.d.ts +17 -0
- package/lib/hit-proxy/devexpress-query-builder/devexpress-query-builder.d.ts +18 -0
- package/lib/hit-proxy/hit-branches/hit-branch.service.d.ts +14 -0
- package/lib/hit-proxy/hit-business-partner-groups/hit-business-partner-group.service.d.ts +12 -0
- package/lib/hit-proxy/hit-business-partners/hit-business-partner.service.d.ts +12 -0
- package/lib/hit-proxy/hit-connectors/hit-connector.service.d.ts +12 -0
- package/lib/hit-proxy/hit-content-master/models.d.ts +12 -0
- package/lib/hit-proxy/hit-despatch-lines/hit-despatch-line.service.d.ts +12 -0
- package/lib/hit-proxy/hit-despatches/hit-despatch.service.d.ts +22 -0
- package/lib/hit-proxy/hit-document-types/hit-document-type.service.d.ts +14 -0
- package/lib/hit-proxy/hit-entegrators/hit-entegrator.service.d.ts +12 -0
- package/lib/hit-proxy/hit-file-document-type/hit-file-document-type.service.d.ts +12 -0
- package/lib/hit-proxy/hit-gib-partner-pk-alls/hit-gib-partner-pk-alls.service.d.ts +12 -0
- package/lib/hit-proxy/hit-gib-partner-pks/hit-gib-partner-pk.service.d.ts +12 -0
- package/lib/hit-proxy/hit-inbound-despatches/hit-inbound-despatch.service.d.ts +16 -0
- package/lib/hit-proxy/hit-inbound-despatches/models.d.ts +11 -0
- package/lib/hit-proxy/hit-inbound-invoices/hit-inbound-invoice.service.d.ts +14 -0
- package/lib/hit-proxy/hit-inventory-transfer-addresses/hit-inventory-transfer-address.service.d.ts +10 -0
- package/lib/hit-proxy/hit-invoices/hit-invoice.service.d.ts +24 -0
- package/lib/hit-proxy/hit-note-rule-doc-types/hit-note-rule-doc-type.service.d.ts +11 -0
- package/lib/hit-proxy/hit-note-rule-scenarios/hit-note-rule-scenario.service.d.ts +11 -0
- package/lib/hit-proxy/hit-note-rules/hit-note-rule.service.d.ts +23 -0
- package/lib/hit-proxy/hit-note-rules/models.d.ts +34 -0
- package/lib/hit-proxy/hit-params-companies/hit-params-company.service.d.ts +12 -0
- package/lib/hit-proxy/hit-params-dispatches/hit-params-dispatch.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-generals/hit-params-general.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-integrators/hit-params-integrator.service.d.ts +10 -0
- package/lib/hit-proxy/hit-params-invoices/hit-params-invoice.service.d.ts +10 -0
- package/lib/hit-proxy/hit-scenario-types/hit-scenario-type.service.d.ts +14 -0
- package/lib/hit-proxy/hit-xslt-formats/hit-xslt-format.service.d.ts +19 -0
- package/lib/hit-proxy/hit-xslt-formats/models.d.ts +10 -0
- package/lib/hit-proxy/hit-xslt-rule-doc-types/hit-xslt-rule-doc-type.service.d.ts +11 -0
- package/lib/hit-proxy/hit-xslt-rule-scenarios/hit-xslt-rule-scenario.service.d.ts +11 -0
- package/lib/hit-proxy/hit-xslt-rules/hit-xslt-rule.service.d.ts +22 -0
- package/lib/hit-proxy/hit-xslt-rules/models.d.ts +34 -0
- package/lib/invoice-document-references/invoice-document-reference/components/invoice-document-reference.component.d.ts +35 -0
- package/lib/invoice-document-references/invoice-document-reference/invoice-document-reference-routing.module.d.ts +7 -0
- package/lib/invoice-document-references/invoice-document-reference/invoice-document-reference.module.d.ts +15 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/components/invoice-line-despatch-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-despatch-line-references/invoice-line-despatch-line-reference/invoice-line-despatch-line-reference.module.d.ts +15 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/components/invoice-line-order-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-order-line-references/invoice-line-order-line-reference/invoice-line-order-line-reference.module.d.ts +15 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/components/invoice-line-receipt-line-reference.component.d.ts +35 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference-routing.module.d.ts +7 -0
- package/lib/invoice-line-receipt-line-references/invoice-line-receipt-line-reference/invoice-line-receipt-line-reference.module.d.ts +15 -0
- package/lib/invoice-lines/invoice-line/components/invoice-line.component.d.ts +35 -0
- package/lib/invoice-lines/invoice-line/invoice-line-routing.module.d.ts +7 -0
- package/lib/invoice-lines/invoice-line/invoice-line.module.d.ts +15 -0
- package/lib/invoice-notes/invoice-note/components/invoice-note.component.d.ts +35 -0
- package/lib/invoice-notes/invoice-note/invoice-note-routing.module.d.ts +7 -0
- package/lib/invoice-notes/invoice-note/invoice-note.module.d.ts +15 -0
- package/lib/invoices/invoice/components/invoice.component.d.ts +35 -0
- package/lib/invoices/invoice/invoice-routing.module.d.ts +7 -0
- package/lib/invoices/invoice/invoice.module.d.ts +15 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/components/note-rule-doc-type.component.d.ts +33 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type-routing.module.d.ts +7 -0
- package/lib/note-rule-doc-types/note-rule-doc-type/note-rule-doc-type.module.d.ts +15 -0
- package/lib/note-rule-scenarios/note-rule-scenario/components/note-rule-scenario.component.d.ts +33 -0
- package/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario-routing.module.d.ts +7 -0
- package/lib/note-rule-scenarios/note-rule-scenario/note-rule-scenario.module.d.ts +15 -0
- package/lib/note-rules/note-rule/components/note-rule.component.d.ts +35 -0
- package/lib/note-rules/note-rule/note-rule-routing.module.d.ts +7 -0
- package/lib/note-rules/note-rule/note-rule.module.d.ts +15 -0
- package/lib/params-companies/params-company/components/params-company.component.d.ts +35 -0
- package/lib/params-companies/params-company/params-company-routing.module.d.ts +7 -0
- package/lib/params-companies/params-company/params-company.module.d.ts +15 -0
- package/lib/params-generals/params-general/components/params-general.component.d.ts +35 -0
- package/lib/params-generals/params-general/params-general-routing.module.d.ts +7 -0
- package/lib/params-generals/params-general/params-general.module.d.ts +15 -0
- package/lib/params-integrators/params-integrator/components/params-integrator.component.d.ts +35 -0
- package/lib/params-integrators/params-integrator/params-integrator-routing.module.d.ts +7 -0
- package/lib/params-integrators/params-integrator/params-integrator.module.d.ts +15 -0
- package/lib/paramse-dispatches/paramse-dispatch/components/paramse-dispatch.component.d.ts +35 -0
- package/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch-routing.module.d.ts +7 -0
- package/lib/paramse-dispatches/paramse-dispatch/paramse-dispatch.module.d.ts +15 -0
- package/lib/paramse-invoices/paramse-invoice/components/paramse-invoice.component.d.ts +35 -0
- package/lib/paramse-invoices/paramse-invoice/paramse-invoice-routing.module.d.ts +7 -0
- package/lib/paramse-invoices/paramse-invoice/paramse-invoice.module.d.ts +15 -0
- package/lib/proxy/branches/branch.service.d.ts +19 -0
- package/lib/proxy/branches/models.d.ts +41 -0
- package/lib/proxy/business-partner-groups/business-partner-group.service.d.ts +16 -0
- package/lib/proxy/business-partner-groups/models.d.ts +32 -0
- package/lib/proxy/business-partners/business-partner.service.d.ts +19 -0
- package/lib/proxy/business-partners/models.d.ts +65 -0
- package/lib/proxy/despatch-document-references/despatch-document-reference.service.d.ts +21 -0
- package/lib/proxy/despatch-document-references/models.d.ts +51 -0
- package/lib/proxy/despatch-line-order-line-references/despatch-line-order-line-reference.service.d.ts +21 -0
- package/lib/proxy/despatch-line-order-line-references/models.d.ts +80 -0
- package/lib/proxy/despatch-lines/despatch-line.service.d.ts +21 -0
- package/lib/proxy/despatch-lines/models.d.ts +102 -0
- package/lib/proxy/despatch-notes/despatch-note.service.d.ts +21 -0
- package/lib/proxy/despatch-notes/models.d.ts +30 -0
- package/lib/proxy/despatches/despatch.service.d.ts +19 -0
- package/lib/proxy/despatches/models.d.ts +378 -0
- package/lib/proxy/gib-partner-pk-alls/gib-partner-pk-all.service.d.ts +19 -0
- package/lib/proxy/gib-partner-pk-alls/models.d.ts +57 -0
- package/lib/proxy/gib-partner-pks/gib-partner-pk.service.d.ts +19 -0
- package/lib/proxy/gib-partner-pks/models.d.ts +57 -0
- package/lib/proxy/invoice-document-references/invoice-document-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-document-references/models.d.ts +51 -0
- package/lib/proxy/invoice-line-despatch-line-references/invoice-line-despatch-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-despatch-line-references/models.d.ts +55 -0
- package/lib/proxy/invoice-line-order-line-references/invoice-line-order-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-order-line-references/models.d.ts +80 -0
- package/lib/proxy/invoice-line-receipt-line-references/invoice-line-receipt-line-reference.service.d.ts +21 -0
- package/lib/proxy/invoice-line-receipt-line-references/models.d.ts +55 -0
- package/lib/proxy/invoice-lines/invoice-line.service.d.ts +21 -0
- package/lib/proxy/invoice-lines/models.d.ts +102 -0
- package/lib/proxy/invoice-notes/invoice-note.service.d.ts +21 -0
- package/lib/proxy/invoice-notes/models.d.ts +30 -0
- package/lib/proxy/invoices/invoice.service.d.ts +19 -0
- package/lib/proxy/invoices/models.d.ts +358 -0
- package/lib/proxy/note-rule-doc-types/index.d.ts +2 -0
- package/lib/proxy/note-rule-doc-types/models.d.ts +26 -0
- package/lib/proxy/note-rule-doc-types/note-rule-doc-type.service.d.ts +19 -0
- package/lib/proxy/note-rule-scenarios/index.d.ts +2 -0
- package/lib/proxy/note-rule-scenarios/models.d.ts +26 -0
- package/lib/proxy/note-rule-scenarios/note-rule-scenario.service.d.ts +19 -0
- package/lib/proxy/note-rules/index.d.ts +2 -0
- package/lib/proxy/note-rules/models.d.ts +73 -0
- package/lib/proxy/note-rules/note-rule.service.d.ts +19 -0
- package/lib/proxy/params-companies/index.d.ts +2 -0
- package/lib/proxy/params-companies/models.d.ts +96 -0
- package/lib/proxy/params-companies/params-company.service.d.ts +19 -0
- package/lib/proxy/params-generals/index.d.ts +2 -0
- package/lib/proxy/params-generals/models.d.ts +39 -0
- package/lib/proxy/params-generals/params-general.service.d.ts +19 -0
- package/lib/proxy/params-integrators/index.d.ts +2 -0
- package/lib/proxy/params-integrators/models.d.ts +66 -0
- package/lib/proxy/params-integrators/params-integrator.service.d.ts +21 -0
- package/lib/proxy/paramse-dispatches/index.d.ts +2 -0
- package/lib/proxy/paramse-dispatches/models.d.ts +68 -0
- package/lib/proxy/paramse-dispatches/paramse-dispatch.service.d.ts +19 -0
- package/lib/proxy/paramse-invoices/index.d.ts +2 -0
- package/lib/proxy/paramse-invoices/models.d.ts +43 -0
- package/lib/proxy/paramse-invoices/paramse-invoice.service.d.ts +19 -0
- package/lib/proxy/shared/models.d.ts +11 -0
- package/lib/proxy/xslt-formats/index.d.ts +2 -0
- package/lib/proxy/xslt-formats/models.d.ts +29 -0
- package/lib/proxy/xslt-formats/xslt-format.service.d.ts +16 -0
- package/lib/proxy/xslt-rule-doc-types/index.d.ts +2 -0
- package/lib/proxy/xslt-rule-doc-types/models.d.ts +26 -0
- package/lib/proxy/xslt-rule-doc-types/xslt-rule-doc-type.service.d.ts +19 -0
- package/lib/proxy/xslt-rule-scenarios/index.d.ts +2 -0
- package/lib/proxy/xslt-rule-scenarios/models.d.ts +26 -0
- package/lib/proxy/xslt-rule-scenarios/xslt-rule-scenario.service.d.ts +19 -0
- package/lib/proxy/xslt-rules/index.d.ts +2 -0
- package/lib/proxy/xslt-rules/models.d.ts +56 -0
- package/lib/proxy/xslt-rules/xslt-rule.service.d.ts +19 -0
- package/lib/services/e-donusum.service.d.ts +10 -0
- package/lib/xslt-formats/xslt-format/components/xslt-format.component.d.ts +33 -0
- package/lib/xslt-formats/xslt-format/xslt-format-routing.module.d.ts +7 -0
- package/lib/xslt-formats/xslt-format/xslt-format.module.d.ts +15 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/components/xslt-rule-doc-type.component.d.ts +33 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type-routing.module.d.ts +7 -0
- package/lib/xslt-rule-doc-types/xslt-rule-doc-type/xslt-rule-doc-type.module.d.ts +15 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/components/xslt-rule-scenario.component.d.ts +33 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario-routing.module.d.ts +7 -0
- package/lib/xslt-rule-scenarios/xslt-rule-scenario/xslt-rule-scenario.module.d.ts +15 -0
- package/lib/xslt-rules/xslt-rule/components/xslt-rule.component.d.ts +33 -0
- package/lib/xslt-rules/xslt-rule/xslt-rule-routing.module.d.ts +7 -0
- package/lib/xslt-rules/xslt-rule/xslt-rule.module.d.ts +15 -0
- package/package.json +41 -0
- package/public-api.d.ts +3 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { downloadBlob, ListService } from '@abp/ng.core';
|
|
2
|
+
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
+
import { DateAdapter } from '@abp/ng.theme.shared/extensions';
|
|
4
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
|
+
import { Validators } from '@angular/forms';
|
|
6
|
+
import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import { filter, finalize, switchMap, tap } from 'rxjs/operators';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@abp/ng.core";
|
|
10
|
+
import * as i2 from "../../../proxy/despatches/despatch.service";
|
|
11
|
+
import * as i3 from "@abp/ng.theme.shared";
|
|
12
|
+
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "@angular/common";
|
|
14
|
+
import * as i6 from "@swimlane/ngx-datatable";
|
|
15
|
+
import * as i7 from "@volo/abp.commercial.ng.ui";
|
|
16
|
+
import * as i8 from "@ngx-validate/core";
|
|
17
|
+
import * as i9 from "@ng-bootstrap/ng-bootstrap";
|
|
18
|
+
import * as i10 from "@abp/ng.components/page";
|
|
19
|
+
export class DespatchComponent {
|
|
20
|
+
constructor(list, track, service, confirmation, fb) {
|
|
21
|
+
this.list = list;
|
|
22
|
+
this.track = track;
|
|
23
|
+
this.service = service;
|
|
24
|
+
this.confirmation = confirmation;
|
|
25
|
+
this.fb = fb;
|
|
26
|
+
this.data = {
|
|
27
|
+
items: [],
|
|
28
|
+
totalCount: 0,
|
|
29
|
+
};
|
|
30
|
+
this.filters = {};
|
|
31
|
+
this.isFiltersHidden = true;
|
|
32
|
+
this.isModalBusy = false;
|
|
33
|
+
this.isModalOpen = false;
|
|
34
|
+
this.isExportToExcelBusy = false;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
const getData = (query) => this.service.getList({
|
|
38
|
+
...query,
|
|
39
|
+
...this.filters,
|
|
40
|
+
filterText: query.filter,
|
|
41
|
+
});
|
|
42
|
+
const setData = (list) => (this.data = list);
|
|
43
|
+
this.list.hookToQuery(getData).subscribe(setData);
|
|
44
|
+
}
|
|
45
|
+
clearFilters() {
|
|
46
|
+
this.filters = {};
|
|
47
|
+
}
|
|
48
|
+
buildForm() {
|
|
49
|
+
const { ublVersionId, customizationId, profileId, despatchId, copyIndicator, uuId, issueDate, issueTime, despatchAdviceTypeCode, documentCurrencyCode, taxCurrencyCode, pricingCurrencyCode, paymentCurrencyCode, paymentAlternativeCurrencyCode, accountingCost, lineCountNumeric, invoicePeriodStartDate, invoicePeriodStartTime, invoicePeriodEndDate, invoicePeriodEndTime, invoicePeriodDurationMeasure, invoicePeriodDescription, orderReferenceId, orderReferenceSalesOrderId, orderReferenceIssueDate, orderReferenceOrderTypeCode, despatchSupplierPartyName, despatchSupplierPartySchemeId, despatchSupplierPartyVknTckn, deliveryCustomerPartyName, deliveryCustomerPartySchemeId, deliveryCustomerPartyVknTckn, originatorCustomerPartyPartyName, originatorCustomerPartySchemeId, originatorCustomerPartyVknTckn, accountingSupplierPartyName, accountingSupplierPartySchemeId, accountingSupplierPartyVknTckn, accountingCustomerPartyName, accountingCustomerPartySchemeId, accountingCustomerPartyVknTckn, buyerCustomerPartyName, buyerCustomerPartySchemeId, buyerCustomerPartyVknTckn, sellerSupplierPartyName, sellerSupplierPartySchemeId, sellerSupplierPartyVknTckn, taxRepresentativePartyName, taxRepresentativePartySchemeId, taxRepresentativePartyVknTckn, taxExchangeRateSourceCurrencyCode, taxExchangeRateTargetCurrencyCode, taxExchangeRateCalculationRate, taxExchangeRateDate, pricingExchangeRateSourceCurrencyCode, pricingExchangeRateTargetCurrencyCode, pricingExchangeRateCalculationRate, pricingExchangeRateDate, paymentExchangeRateSourceCurrencyCode, paymentExchangeRateTargetCurrencyCode, paymentExchangeRateCalculationRate, paymentExchangeRateDate, paymentAlternativeExchangeRateSourceCurrencyCode, paymentAlternativeExchangeRateTargetCurrencyCode, paymentAlternativeExchangeRateCalculationRate, paymentAlternativeExchangeRateDate, legalMonetaryTotalLineExtensionAmount, legalMonetaryTotalTaxExclusiveAmount, legalMonetaryTotalTaxInclusiveAmount, legalMonetaryTotalAllowanceTotalAmount, legalMonetaryTotalChargeTotalAmount, legalMonetaryTotalPayableRoundingAmount, legalMonetaryTotalPayableAmount, isCanceled, receiverResponse, receiverResponseDesc, status, resourceDocEntry, resourceDocType, targetDocEntry, targetDocType, docType, senderGB, } = this.selected || {};
|
|
50
|
+
this.form = this.fb.group({
|
|
51
|
+
ublVersionId: [ublVersionId ?? null, [Validators.required, Validators.maxLength(8)]],
|
|
52
|
+
customizationId: [customizationId ?? null, [Validators.required, Validators.maxLength(8)]],
|
|
53
|
+
profileId: [profileId ?? null, [Validators.required, Validators.maxLength(32)]],
|
|
54
|
+
despatchId: [despatchId ?? null, [Validators.required, Validators.maxLength(32)]],
|
|
55
|
+
copyIndicator: [false, []],
|
|
56
|
+
uuId: [uuId ?? null, [Validators.required, Validators.maxLength(64)]],
|
|
57
|
+
issueDate: [issueDate ? new Date(issueDate) : null, []],
|
|
58
|
+
issueTime: [issueTime ? new Date(issueTime) : null, []],
|
|
59
|
+
despatchAdviceTypeCode: [
|
|
60
|
+
despatchAdviceTypeCode ?? null,
|
|
61
|
+
[Validators.required, Validators.maxLength(32)],
|
|
62
|
+
],
|
|
63
|
+
documentCurrencyCode: [
|
|
64
|
+
documentCurrencyCode ?? null,
|
|
65
|
+
[Validators.required, Validators.maxLength(3)],
|
|
66
|
+
],
|
|
67
|
+
taxCurrencyCode: [taxCurrencyCode ?? null, [Validators.maxLength(3)]],
|
|
68
|
+
pricingCurrencyCode: [pricingCurrencyCode ?? null, [Validators.maxLength(3)]],
|
|
69
|
+
paymentCurrencyCode: [paymentCurrencyCode ?? null, [Validators.maxLength(3)]],
|
|
70
|
+
paymentAlternativeCurrencyCode: [
|
|
71
|
+
paymentAlternativeCurrencyCode ?? null,
|
|
72
|
+
[Validators.maxLength(3)],
|
|
73
|
+
],
|
|
74
|
+
accountingCost: [accountingCost ?? null, [Validators.maxLength(32)]],
|
|
75
|
+
lineCountNumeric: [lineCountNumeric ?? null, []],
|
|
76
|
+
invoicePeriodStartDate: [
|
|
77
|
+
invoicePeriodStartDate ? new Date(invoicePeriodStartDate) : null,
|
|
78
|
+
[],
|
|
79
|
+
],
|
|
80
|
+
invoicePeriodStartTime: [
|
|
81
|
+
invoicePeriodStartTime ? new Date(invoicePeriodStartTime) : null,
|
|
82
|
+
[],
|
|
83
|
+
],
|
|
84
|
+
invoicePeriodEndDate: [invoicePeriodEndDate ? new Date(invoicePeriodEndDate) : null, []],
|
|
85
|
+
invoicePeriodEndTime: [invoicePeriodEndTime ? new Date(invoicePeriodEndTime) : null, []],
|
|
86
|
+
invoicePeriodDurationMeasure: [
|
|
87
|
+
invoicePeriodDurationMeasure ? new Date(invoicePeriodDurationMeasure) : null,
|
|
88
|
+
[],
|
|
89
|
+
],
|
|
90
|
+
invoicePeriodDescription: [invoicePeriodDescription ?? null, []],
|
|
91
|
+
orderReferenceId: [orderReferenceId ?? null, [Validators.maxLength(64)]],
|
|
92
|
+
orderReferenceSalesOrderId: [orderReferenceSalesOrderId ?? null, [Validators.maxLength(64)]],
|
|
93
|
+
orderReferenceIssueDate: [
|
|
94
|
+
orderReferenceIssueDate ? new Date(orderReferenceIssueDate) : null,
|
|
95
|
+
[],
|
|
96
|
+
],
|
|
97
|
+
orderReferenceOrderTypeCode: [
|
|
98
|
+
orderReferenceOrderTypeCode ?? null,
|
|
99
|
+
[Validators.maxLength(64)],
|
|
100
|
+
],
|
|
101
|
+
despatchSupplierPartyName: [despatchSupplierPartyName ?? null, [Validators.maxLength(256)]],
|
|
102
|
+
despatchSupplierPartySchemeId: [
|
|
103
|
+
despatchSupplierPartySchemeId ?? null,
|
|
104
|
+
[Validators.maxLength(8)],
|
|
105
|
+
],
|
|
106
|
+
despatchSupplierPartyVknTckn: [
|
|
107
|
+
despatchSupplierPartyVknTckn ?? null,
|
|
108
|
+
[Validators.maxLength(16)],
|
|
109
|
+
],
|
|
110
|
+
deliveryCustomerPartyName: [deliveryCustomerPartyName ?? null, [Validators.maxLength(256)]],
|
|
111
|
+
deliveryCustomerPartySchemeId: [
|
|
112
|
+
deliveryCustomerPartySchemeId ?? null,
|
|
113
|
+
[Validators.maxLength(8)],
|
|
114
|
+
],
|
|
115
|
+
deliveryCustomerPartyVknTckn: [
|
|
116
|
+
deliveryCustomerPartyVknTckn ?? null,
|
|
117
|
+
[Validators.maxLength(16)],
|
|
118
|
+
],
|
|
119
|
+
originatorCustomerPartyPartyName: [
|
|
120
|
+
originatorCustomerPartyPartyName ?? null,
|
|
121
|
+
[Validators.maxLength(256)],
|
|
122
|
+
],
|
|
123
|
+
originatorCustomerPartySchemeId: [
|
|
124
|
+
originatorCustomerPartySchemeId ?? null,
|
|
125
|
+
[Validators.maxLength(8)],
|
|
126
|
+
],
|
|
127
|
+
originatorCustomerPartyVknTckn: [
|
|
128
|
+
originatorCustomerPartyVknTckn ?? null,
|
|
129
|
+
[Validators.maxLength(16)],
|
|
130
|
+
],
|
|
131
|
+
accountingSupplierPartyName: [
|
|
132
|
+
accountingSupplierPartyName ?? null,
|
|
133
|
+
[Validators.maxLength(256)],
|
|
134
|
+
],
|
|
135
|
+
accountingSupplierPartySchemeId: [
|
|
136
|
+
accountingSupplierPartySchemeId ?? null,
|
|
137
|
+
[Validators.maxLength(8)],
|
|
138
|
+
],
|
|
139
|
+
accountingSupplierPartyVknTckn: [
|
|
140
|
+
accountingSupplierPartyVknTckn ?? null,
|
|
141
|
+
[Validators.maxLength(16)],
|
|
142
|
+
],
|
|
143
|
+
accountingCustomerPartyName: [
|
|
144
|
+
accountingCustomerPartyName ?? null,
|
|
145
|
+
[Validators.maxLength(256)],
|
|
146
|
+
],
|
|
147
|
+
accountingCustomerPartySchemeId: [
|
|
148
|
+
accountingCustomerPartySchemeId ?? null,
|
|
149
|
+
[Validators.maxLength(8)],
|
|
150
|
+
],
|
|
151
|
+
accountingCustomerPartyVknTckn: [
|
|
152
|
+
accountingCustomerPartyVknTckn ?? null,
|
|
153
|
+
[Validators.maxLength(16)],
|
|
154
|
+
],
|
|
155
|
+
buyerCustomerPartyName: [buyerCustomerPartyName ?? null, [Validators.maxLength(256)]],
|
|
156
|
+
buyerCustomerPartySchemeId: [buyerCustomerPartySchemeId ?? null, [Validators.maxLength(8)]],
|
|
157
|
+
buyerCustomerPartyVknTckn: [buyerCustomerPartyVknTckn ?? null, [Validators.maxLength(16)]],
|
|
158
|
+
sellerSupplierPartyName: [sellerSupplierPartyName ?? null, [Validators.maxLength(256)]],
|
|
159
|
+
sellerSupplierPartySchemeId: [sellerSupplierPartySchemeId ?? null, [Validators.maxLength(8)]],
|
|
160
|
+
sellerSupplierPartyVknTckn: [sellerSupplierPartyVknTckn ?? null, [Validators.maxLength(16)]],
|
|
161
|
+
taxRepresentativePartyName: [taxRepresentativePartyName ?? null, [Validators.maxLength(256)]],
|
|
162
|
+
taxRepresentativePartySchemeId: [
|
|
163
|
+
taxRepresentativePartySchemeId ?? null,
|
|
164
|
+
[Validators.maxLength(8)],
|
|
165
|
+
],
|
|
166
|
+
taxRepresentativePartyVknTckn: [
|
|
167
|
+
taxRepresentativePartyVknTckn ?? null,
|
|
168
|
+
[Validators.maxLength(16)],
|
|
169
|
+
],
|
|
170
|
+
taxExchangeRateSourceCurrencyCode: [
|
|
171
|
+
taxExchangeRateSourceCurrencyCode ?? null,
|
|
172
|
+
[Validators.maxLength(3)],
|
|
173
|
+
],
|
|
174
|
+
taxExchangeRateTargetCurrencyCode: [
|
|
175
|
+
taxExchangeRateTargetCurrencyCode ?? null,
|
|
176
|
+
[Validators.maxLength(3)],
|
|
177
|
+
],
|
|
178
|
+
taxExchangeRateCalculationRate: [taxExchangeRateCalculationRate ?? null, []],
|
|
179
|
+
taxExchangeRateDate: [taxExchangeRateDate ? new Date(taxExchangeRateDate) : null, []],
|
|
180
|
+
pricingExchangeRateSourceCurrencyCode: [
|
|
181
|
+
pricingExchangeRateSourceCurrencyCode ?? null,
|
|
182
|
+
[Validators.maxLength(3)],
|
|
183
|
+
],
|
|
184
|
+
pricingExchangeRateTargetCurrencyCode: [
|
|
185
|
+
pricingExchangeRateTargetCurrencyCode ?? null,
|
|
186
|
+
[Validators.maxLength(3)],
|
|
187
|
+
],
|
|
188
|
+
pricingExchangeRateCalculationRate: [pricingExchangeRateCalculationRate ?? null, []],
|
|
189
|
+
pricingExchangeRateDate: [
|
|
190
|
+
pricingExchangeRateDate ? new Date(pricingExchangeRateDate) : null,
|
|
191
|
+
[],
|
|
192
|
+
],
|
|
193
|
+
paymentExchangeRateSourceCurrencyCode: [
|
|
194
|
+
paymentExchangeRateSourceCurrencyCode ?? null,
|
|
195
|
+
[Validators.maxLength(3)],
|
|
196
|
+
],
|
|
197
|
+
paymentExchangeRateTargetCurrencyCode: [
|
|
198
|
+
paymentExchangeRateTargetCurrencyCode ?? null,
|
|
199
|
+
[Validators.maxLength(3)],
|
|
200
|
+
],
|
|
201
|
+
paymentExchangeRateCalculationRate: [paymentExchangeRateCalculationRate ?? null, []],
|
|
202
|
+
paymentExchangeRateDate: [
|
|
203
|
+
paymentExchangeRateDate ? new Date(paymentExchangeRateDate) : null,
|
|
204
|
+
[],
|
|
205
|
+
],
|
|
206
|
+
paymentAlternativeExchangeRateSourceCurrencyCode: [
|
|
207
|
+
paymentAlternativeExchangeRateSourceCurrencyCode ?? null,
|
|
208
|
+
[Validators.maxLength(3)],
|
|
209
|
+
],
|
|
210
|
+
paymentAlternativeExchangeRateTargetCurrencyCode: [
|
|
211
|
+
paymentAlternativeExchangeRateTargetCurrencyCode ?? null,
|
|
212
|
+
[Validators.maxLength(3)],
|
|
213
|
+
],
|
|
214
|
+
paymentAlternativeExchangeRateCalculationRate: [
|
|
215
|
+
paymentAlternativeExchangeRateCalculationRate ?? null,
|
|
216
|
+
[],
|
|
217
|
+
],
|
|
218
|
+
paymentAlternativeExchangeRateDate: [paymentAlternativeExchangeRateDate ?? null, []],
|
|
219
|
+
legalMonetaryTotalLineExtensionAmount: [legalMonetaryTotalLineExtensionAmount ?? null, []],
|
|
220
|
+
legalMonetaryTotalTaxExclusiveAmount: [legalMonetaryTotalTaxExclusiveAmount ?? null, []],
|
|
221
|
+
legalMonetaryTotalTaxInclusiveAmount: [legalMonetaryTotalTaxInclusiveAmount ?? null, []],
|
|
222
|
+
legalMonetaryTotalAllowanceTotalAmount: [legalMonetaryTotalAllowanceTotalAmount ?? null, []],
|
|
223
|
+
legalMonetaryTotalChargeTotalAmount: [legalMonetaryTotalChargeTotalAmount ?? null, []],
|
|
224
|
+
legalMonetaryTotalPayableRoundingAmount: [
|
|
225
|
+
legalMonetaryTotalPayableRoundingAmount ?? null,
|
|
226
|
+
[],
|
|
227
|
+
],
|
|
228
|
+
legalMonetaryTotalPayableAmount: [legalMonetaryTotalPayableAmount ?? null, []],
|
|
229
|
+
isCanceled: [false, []],
|
|
230
|
+
receiverResponse: [receiverResponse ?? null, []],
|
|
231
|
+
receiverResponseDesc: [receiverResponseDesc ?? null, [Validators.maxLength(1024)]],
|
|
232
|
+
status: [status ?? null, []],
|
|
233
|
+
resourceDocEntry: [resourceDocEntry ?? null, [Validators.maxLength(64)]],
|
|
234
|
+
resourceDocType: [resourceDocType ?? null, []],
|
|
235
|
+
targetDocEntry: [targetDocEntry ?? null, [Validators.maxLength(64)]],
|
|
236
|
+
targetDocType: [targetDocType ?? null, []],
|
|
237
|
+
docType: [docType ?? null, []],
|
|
238
|
+
senderGB: [senderGB ?? null, []],
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
hideForm() {
|
|
242
|
+
this.isModalOpen = false;
|
|
243
|
+
this.form.reset();
|
|
244
|
+
}
|
|
245
|
+
showForm() {
|
|
246
|
+
this.buildForm();
|
|
247
|
+
this.isModalOpen = true;
|
|
248
|
+
}
|
|
249
|
+
submitForm() {
|
|
250
|
+
if (this.form.invalid)
|
|
251
|
+
return;
|
|
252
|
+
const request = this.selected
|
|
253
|
+
? this.service.update(this.selected.id, {
|
|
254
|
+
...this.form.value,
|
|
255
|
+
concurrencyStamp: this.selected.concurrencyStamp,
|
|
256
|
+
})
|
|
257
|
+
: this.service.create(this.form.value);
|
|
258
|
+
this.isModalBusy = true;
|
|
259
|
+
request
|
|
260
|
+
.pipe(finalize(() => (this.isModalBusy = false)), tap(() => this.hideForm()))
|
|
261
|
+
.subscribe(this.list.get);
|
|
262
|
+
}
|
|
263
|
+
create() {
|
|
264
|
+
this.selected = undefined;
|
|
265
|
+
this.showForm();
|
|
266
|
+
}
|
|
267
|
+
update(record) {
|
|
268
|
+
this.selected = record;
|
|
269
|
+
this.showForm();
|
|
270
|
+
}
|
|
271
|
+
delete(record) {
|
|
272
|
+
this.confirmation
|
|
273
|
+
.warn('eDonusum::DeleteConfirmationMessage', 'eDonusum::AreYouSure', {
|
|
274
|
+
messageLocalizationParams: [],
|
|
275
|
+
})
|
|
276
|
+
.pipe(filter(status => status === Confirmation.Status.confirm), switchMap(() => this.service.delete(record.id)))
|
|
277
|
+
.subscribe(this.list.get);
|
|
278
|
+
}
|
|
279
|
+
exportToExcel() {
|
|
280
|
+
this.isExportToExcelBusy = true;
|
|
281
|
+
this.service
|
|
282
|
+
.getDownloadToken()
|
|
283
|
+
.pipe(switchMap(({ token }) => this.service.getListAsExcelFile({ downloadToken: token, filterText: this.list.filter })), finalize(() => (this.isExportToExcelBusy = false)))
|
|
284
|
+
.subscribe(result => {
|
|
285
|
+
downloadBlob(result, 'Despatch.xlsx');
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
DespatchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DespatchComponent, deps: [{ token: i1.ListService }, { token: i1.TrackByService }, { token: i2.DespatchService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
290
|
+
DespatchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DespatchComponent, selector: "lib-despatch", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], ngImport: i0, template: "<abp-page [title]=\"'eDonusum::Despatches' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.Despatches.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewDespatch' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"ublVersionIdFilter\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"ublVersionIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.ublVersionId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"customizationIdFilter\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"customizationIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.customizationId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"profileIdFilter\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"profileIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.profileId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchIdFilter\">\r\n {{ 'eDonusum::DespatchId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"copyIndicatorFilter\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"copyIndicator\"\r\n id=\"copyIndicatorFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.copyIndicator\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"uuIdFilter\">\r\n {{ 'eDonusum::UuId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"uuIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.uuId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueDate\">\r\n {{ 'eDonusum::MinIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueDate\"\r\n class=\"form-control\"\r\n #minIssueDateInput\r\n #minIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueDateDatepicker.writeValue(null);\r\n minIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueDate\">\r\n {{ 'eDonusum::MaxIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueDate\"\r\n class=\"form-control\"\r\n #maxIssueDateInput\r\n #maxIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueDateDatepicker.writeValue(null);\r\n maxIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueTime\">\r\n {{ 'eDonusum::MinIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueTime\"\r\n class=\"form-control\"\r\n #minIssueTimeInput\r\n #minIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueTimeDatepicker.writeValue(null);\r\n minIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueTime\">\r\n {{ 'eDonusum::MaxIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueTime\"\r\n class=\"form-control\"\r\n #maxIssueTimeInput\r\n #maxIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueTimeDatepicker.writeValue(null);\r\n maxIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchAdviceTypeCodeFilter\">\r\n {{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchAdviceTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchAdviceTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"documentCurrencyCodeFilter\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"documentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.documentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentAlternativeCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCostFilter\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCostFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCost\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineCountNumeric\">\r\n {{ 'eDonusum::MinLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineCountNumeric\">\r\n {{ 'eDonusum::MaxLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodStartDate\">\r\n {{ 'eDonusum::MinInvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodStartDate\"\r\n class=\"form-control\"\r\n #minInvoicePeriodStartDateInput\r\n #minInvoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodStartDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodStartDateDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodStartDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodStartDateDatepicker.writeValue(null);\r\n minInvoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodStartDate\">\r\n {{ 'eDonusum::MaxInvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodStartDate\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodStartDateInput\r\n #maxInvoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodStartDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodStartDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodStartDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodStartDateDatepicker.writeValue(null);\r\n maxInvoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodStartTime\">\r\n {{ 'eDonusum::MinInvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodStartTime\"\r\n class=\"form-control\"\r\n #minInvoicePeriodStartTimeInput\r\n #minInvoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodStartTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodStartTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodStartTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodStartTimeDatepicker.writeValue(null);\r\n minInvoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodStartTime\">\r\n {{ 'eDonusum::MaxInvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodStartTime\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodStartTimeInput\r\n #maxInvoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodStartTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodStartTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodStartTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodStartTimeDatepicker.writeValue(null);\r\n maxInvoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodEndDate\">\r\n {{ 'eDonusum::MinInvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodEndDate\"\r\n class=\"form-control\"\r\n #minInvoicePeriodEndDateInput\r\n #minInvoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodEndDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodEndDateDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodEndDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodEndDateDatepicker.writeValue(null);\r\n minInvoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodEndDate\">\r\n {{ 'eDonusum::MaxInvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodEndDate\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodEndDateInput\r\n #maxInvoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodEndDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodEndDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodEndDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodEndDateDatepicker.writeValue(null);\r\n maxInvoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodEndTime\">\r\n {{ 'eDonusum::MinInvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodEndTime\"\r\n class=\"form-control\"\r\n #minInvoicePeriodEndTimeInput\r\n #minInvoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodEndTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodEndTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodEndTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodEndTimeDatepicker.writeValue(null);\r\n minInvoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodEndTime\">\r\n {{ 'eDonusum::MaxInvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodEndTime\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodEndTimeInput\r\n #maxInvoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodEndTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodEndTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodEndTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodEndTimeDatepicker.writeValue(null);\r\n maxInvoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodDurationMeasure\">\r\n {{ 'eDonusum::MinInvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n #minInvoicePeriodDurationMeasureInput\r\n #minInvoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodDurationMeasure\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodDurationMeasureMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n minInvoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodDurationMeasure\">\r\n {{ 'eDonusum::MaxInvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodDurationMeasureInput\r\n #maxInvoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodDurationMeasure\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodDurationMeasureMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n maxInvoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"invoicePeriodDescriptionFilter\">\r\n {{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"invoicePeriodDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.invoicePeriodDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceIdFilter\">\r\n {{ 'eDonusum::OrderReferenceId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceSalesOrderIdFilter\">\r\n {{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceSalesOrderIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceSalesOrderId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceIssueDate\">\r\n {{ 'eDonusum::MinOrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minOrderReferenceIssueDate\"\r\n class=\"form-control\"\r\n #minOrderReferenceIssueDateInput\r\n #minOrderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minOrderReferenceIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minOrderReferenceIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minOrderReferenceIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.orderReferenceIssueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minOrderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minOrderReferenceIssueDateDatepicker.writeValue(null);\r\n minOrderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceIssueDate\">\r\n {{ 'eDonusum::MaxOrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxOrderReferenceIssueDate\"\r\n class=\"form-control\"\r\n #maxOrderReferenceIssueDateInput\r\n #maxOrderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxOrderReferenceIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxOrderReferenceIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxOrderReferenceIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.orderReferenceIssueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxOrderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxOrderReferenceIssueDateDatepicker.writeValue(null);\r\n maxOrderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceOrderTypeCodeFilter\">\r\n {{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceOrderTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceOrderTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartyNameFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartyNameFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartyPartyNameFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartyPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartyPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyNameFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyNameFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartyNameFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartyNameFilter\">\r\n {{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartyNameFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartySchemeIdFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartyVknTcknFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateDate\">\r\n {{ 'eDonusum::MinTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #minTaxExchangeRateDateInput\r\n #minTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minTaxExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minTaxExchangeRateDateDatepicker.writeValue(null);\r\n minTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateDate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxTaxExchangeRateDateInput\r\n #maxTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxTaxExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxTaxExchangeRateDateDatepicker.writeValue(null);\r\n maxTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPricingExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPricingExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateDate\">\r\n {{ 'eDonusum::MinPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateDateInput\r\n #minPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateDateDatepicker.writeValue(null);\r\n minPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateDate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateDateInput\r\n #maxPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateDateDatepicker.writeValue(null);\r\n maxPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentExchangeRateDateInput\r\n #minPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentExchangeRateDateInput\r\n #maxPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateDate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateDate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isCanceledFilter\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isCanceled\"\r\n id=\"isCanceledFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isCanceled\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minReceiverResponse\">\r\n {{ 'eDonusum::MinReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minReceiverResponse\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxReceiverResponse\">\r\n {{ 'eDonusum::MaxReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxReceiverResponse\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"receiverResponseDescFilter\">\r\n {{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"receiverResponseDescFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minStatus\">\r\n {{ 'eDonusum::MinStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxStatus\">\r\n {{ 'eDonusum::MaxStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"resourceDocEntryFilter\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"resourceDocEntryFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntry\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocType\">\r\n {{ 'eDonusum::MinResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocType\">\r\n {{ 'eDonusum::MaxResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"targetDocEntryFilter\">\r\n {{ 'eDonusum::TargetDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"targetDocEntryFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocEntry\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTargetDocType\">\r\n {{ 'eDonusum::MinTargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTargetDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTargetDocType\">\r\n {{ 'eDonusum::MaxTargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTargetDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDocType\">\r\n {{ 'eDonusum::MinDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.docTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDocType\">\r\n {{ 'eDonusum::MaxDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.docTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"senderGBFilter\">\r\n {{ 'eDonusum::SenderGB' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"senderGBFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.senderGB\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.Despatches.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.Despatches.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UblVersionId' | abpLocalization }}\"\r\n prop=\"ublVersionId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.ublVersionId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CustomizationId' | abpLocalization }}\"\r\n prop=\"customizationId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.customizationId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::ProfileId' | abpLocalization }}\" prop=\"profileId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.profileId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchId' | abpLocalization }}\"\r\n prop=\"despatchId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CopyIndicator' | abpLocalization }}\"\r\n prop=\"copyIndicator\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.copyIndicator\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::UuId' | abpLocalization }}\" prop=\"uuId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.uuId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueDate' | abpLocalization }}\" prop=\"issueDate\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueTime' | abpLocalization }}\" prop=\"issueTime\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }}\"\r\n prop=\"despatchAdviceTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchAdviceTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\"\r\n prop=\"documentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.documentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentAlternativeCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCost' | abpLocalization }}\"\r\n prop=\"accountingCost\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCost }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineCountNumeric' | abpLocalization }}\"\r\n prop=\"lineCountNumeric\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.lineCountNumeric }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodStartDate' | abpLocalization }}\"\r\n prop=\"invoicePeriodStartDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodStartDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodStartTime' | abpLocalization }}\"\r\n prop=\"invoicePeriodStartTime\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodStartTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodEndDate' | abpLocalization }}\"\r\n prop=\"invoicePeriodEndDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodEndDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodEndTime' | abpLocalization }}\"\r\n prop=\"invoicePeriodEndTime\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodEndTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodDurationMeasure' | abpLocalization }}\"\r\n prop=\"invoicePeriodDurationMeasure\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodDurationMeasure | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\"\r\n prop=\"invoicePeriodDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceId' | abpLocalization }}\"\r\n prop=\"orderReferenceId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\"\r\n prop=\"orderReferenceSalesOrderId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceSalesOrderId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceIssueDate' | abpLocalization }}\"\r\n prop=\"orderReferenceIssueDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceIssueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\"\r\n prop=\"orderReferenceOrderTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceOrderTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartyPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartyPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateDate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalLineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalLineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxExclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxInclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalAllowanceTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalChargeTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalChargeTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableRoundingAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableRoundingAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsCanceled' | abpLocalization }}\"\r\n prop=\"isCanceled\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isCanceled\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ReceiverResponse' | abpLocalization }}\"\r\n prop=\"receiverResponse\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.receiverResponse }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\"\r\n prop=\"receiverResponseDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.receiverResponseDesc }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::Status' | abpLocalization }}\" prop=\"status\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.status }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\"\r\n prop=\"resourceDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocType' | abpLocalization }}\"\r\n prop=\"resourceDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TargetDocEntry' | abpLocalization }}\"\r\n prop=\"targetDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.targetDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TargetDocType' | abpLocalization }}\"\r\n prop=\"targetDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.targetDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::DocType' | abpLocalization }}\" prop=\"docType\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.docType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::SenderGB' | abpLocalization }}\" prop=\"senderGB\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.senderGB }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewDespatch') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"despatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-ubl-version-id\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-ubl-version-id\"\r\n formControlName=\"ublVersionId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-customization-id\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-customization-id\"\r\n formControlName=\"customizationId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-profile-id\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-profile-id\"\r\n formControlName=\"profileId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-id\">\r\n {{ 'eDonusum::DespatchId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-id\"\r\n formControlName=\"despatchId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"despatch-copy-indicator\"\r\n formControlName=\"copyIndicator\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"despatch-copy-indicator\" class=\"form-check-label\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-uu-id\">\r\n {{ 'eDonusum::UuId' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"despatch-uu-id\" formControlName=\"uuId\" class=\"form-control\" maxlength=\"64\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-issue-date\">\r\n {{ 'eDonusum::IssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-issue-date\"\r\n formControlName=\"issueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueDateInput\r\n #issueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueDateDatepicker.open()\"\r\n (keyup.space)=\"issueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueDateDatepicker.writeValue(null);\r\n issueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-issue-time\">\r\n {{ 'eDonusum::IssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-issue-time\"\r\n formControlName=\"issueTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueTimeInput\r\n #issueTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueTimeDatepicker.open()\"\r\n (keyup.space)=\"issueTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueTimeDatepicker.writeValue(null);\r\n issueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-advice-type-code\">\r\n {{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-advice-type-code\"\r\n formControlName=\"despatchAdviceTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-document-currency-code\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-document-currency-code\"\r\n formControlName=\"documentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-currency-code\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-currency-code\"\r\n formControlName=\"taxCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-currency-code\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-currency-code\"\r\n formControlName=\"pricingCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-currency-code\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-currency-code\"\r\n formControlName=\"paymentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-alternative-currency-code\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-currency-code\"\r\n formControlName=\"paymentAlternativeCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-cost\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-cost\"\r\n formControlName=\"accountingCost\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-line-count-numeric\">\r\n {{ 'eDonusum::LineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-line-count-numeric\"\r\n formControlName=\"lineCountNumeric\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-start-date\">\r\n {{ 'eDonusum::InvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-start-date\"\r\n formControlName=\"invoicePeriodStartDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodStartDateInput\r\n #invoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodStartDateDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodStartDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodStartDateDatepicker.writeValue(null);\r\n invoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-start-time\">\r\n {{ 'eDonusum::InvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-start-time\"\r\n formControlName=\"invoicePeriodStartTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodStartTimeInput\r\n #invoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodStartTimeDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodStartTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodStartTimeDatepicker.writeValue(null);\r\n invoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-end-date\">\r\n {{ 'eDonusum::InvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-end-date\"\r\n formControlName=\"invoicePeriodEndDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodEndDateInput\r\n #invoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodEndDateDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodEndDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodEndDateDatepicker.writeValue(null);\r\n invoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-end-time\">\r\n {{ 'eDonusum::InvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-end-time\"\r\n formControlName=\"invoicePeriodEndTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodEndTimeInput\r\n #invoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodEndTimeDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodEndTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodEndTimeDatepicker.writeValue(null);\r\n invoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-duration-measure\">\r\n {{ 'eDonusum::InvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-duration-measure\"\r\n formControlName=\"invoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodDurationMeasureInput\r\n #invoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodDurationMeasureDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodDurationMeasureDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n invoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-description\">\r\n {{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-invoice-period-description\"\r\n formControlName=\"invoicePeriodDescription\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-id\">\r\n {{ 'eDonusum::OrderReferenceId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-id\"\r\n formControlName=\"orderReferenceId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-sales-order-id\">\r\n {{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-sales-order-id\"\r\n formControlName=\"orderReferenceSalesOrderId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-issue-date\">\r\n {{ 'eDonusum::OrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-order-reference-issue-date\"\r\n formControlName=\"orderReferenceIssueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #orderReferenceIssueDateInput\r\n #orderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"orderReferenceIssueDateDatepicker.open()\"\r\n (keyup.space)=\"orderReferenceIssueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"orderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n orderReferenceIssueDateDatepicker.writeValue(null);\r\n orderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-order-type-code\">\r\n {{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-order-type-code\"\r\n formControlName=\"orderReferenceOrderTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-name\">\r\n {{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-name\"\r\n formControlName=\"despatchSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-scheme-id\">\r\n {{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-scheme-id\"\r\n formControlName=\"despatchSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-vkn-tckn\"\r\n formControlName=\"despatchSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-name\">\r\n {{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-name\"\r\n formControlName=\"deliveryCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-scheme-id\">\r\n {{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-scheme-id\"\r\n formControlName=\"deliveryCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-vkn-tckn\"\r\n formControlName=\"deliveryCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-party-name\">\r\n {{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-party-name\"\r\n formControlName=\"originatorCustomerPartyPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-scheme-id\">\r\n {{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-scheme-id\"\r\n formControlName=\"originatorCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-vkn-tckn\"\r\n formControlName=\"originatorCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-name\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-name\"\r\n formControlName=\"accountingSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-scheme-id\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-scheme-id\"\r\n formControlName=\"accountingSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-vkn-tckn\"\r\n formControlName=\"accountingSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-name\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-name\"\r\n formControlName=\"accountingCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-scheme-id\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-scheme-id\"\r\n formControlName=\"accountingCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-vkn-tckn\"\r\n formControlName=\"accountingCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-name\">\r\n {{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-name\"\r\n formControlName=\"buyerCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-scheme-id\">\r\n {{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-scheme-id\"\r\n formControlName=\"buyerCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-vkn-tckn\"\r\n formControlName=\"buyerCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-name\">\r\n {{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-name\"\r\n formControlName=\"sellerSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-scheme-id\">\r\n {{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-scheme-id\"\r\n formControlName=\"sellerSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-vkn-tckn\"\r\n formControlName=\"sellerSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-name\">\r\n {{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-name\"\r\n formControlName=\"taxRepresentativePartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-scheme-id\">\r\n {{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-scheme-id\"\r\n formControlName=\"taxRepresentativePartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-vkn-tckn\">\r\n {{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-vkn-tckn\"\r\n formControlName=\"taxRepresentativePartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-exchange-rate-source-currency-code\"\r\n formControlName=\"taxExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-exchange-rate-target-currency-code\"\r\n formControlName=\"taxExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-tax-exchange-rate-calculation-rate\"\r\n formControlName=\"taxExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-date\">\r\n {{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-tax-exchange-rate-date\"\r\n formControlName=\"taxExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #taxExchangeRateDateInput\r\n #taxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"taxExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"taxExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"taxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n taxExchangeRateDateDatepicker.writeValue(null);\r\n taxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-exchange-rate-source-currency-code\"\r\n formControlName=\"pricingExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-exchange-rate-target-currency-code\"\r\n formControlName=\"pricingExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-pricing-exchange-rate-calculation-rate\"\r\n formControlName=\"pricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-date\">\r\n {{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-pricing-exchange-rate-date\"\r\n formControlName=\"pricingExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateDateInput\r\n #pricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateDateDatepicker.writeValue(null);\r\n pricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-payment-exchange-rate-date\"\r\n formControlName=\"paymentExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentExchangeRateDateInput\r\n #paymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentExchangeRateDateDatepicker.writeValue(null);\r\n paymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-calculation-rate\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-alternative-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentAlternativeExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-alternative-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-alternative-exchange-rate-date\"\r\n formControlName=\"paymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-line-extension-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-line-extension-amount\"\r\n formControlName=\"legalMonetaryTotalLineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-tax-exclusive-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-tax-exclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-tax-inclusive-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-tax-inclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-allowance-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-allowance-total-amount\"\r\n formControlName=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-charge-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-charge-total-amount\"\r\n formControlName=\"legalMonetaryTotalChargeTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-payable-rounding-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-payable-rounding-amount\"\r\n formControlName=\"legalMonetaryTotalPayableRoundingAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-payable-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-payable-amount\"\r\n formControlName=\"legalMonetaryTotalPayableAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"despatch-is-canceled\"\r\n formControlName=\"isCanceled\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"despatch-is-canceled\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-receiver-response\">\r\n {{ 'eDonusum::ReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-receiver-response\"\r\n formControlName=\"receiverResponse\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-receiver-response-desc\">\r\n {{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-receiver-response-desc\"\r\n formControlName=\"receiverResponseDesc\"\r\n class=\"form-control\"\r\n maxlength=\"1024\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-status\">\r\n {{ 'eDonusum::Status' | abpLocalization }}\r\n </label>\r\n\r\n <input type=\"number\" id=\"despatch-status\" formControlName=\"status\" class=\"form-control\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-resource-doc-entry\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-resource-doc-entry\"\r\n formControlName=\"resourceDocEntry\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-resource-doc-type\">\r\n {{ 'eDonusum::ResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-resource-doc-type\"\r\n formControlName=\"resourceDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-target-doc-entry\">\r\n {{ 'eDonusum::TargetDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-target-doc-entry\"\r\n formControlName=\"targetDocEntry\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-target-doc-type\">\r\n {{ 'eDonusum::TargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-target-doc-type\"\r\n formControlName=\"targetDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-doc-type\">\r\n {{ 'eDonusum::DocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-doc-type\"\r\n formControlName=\"docType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-sender-gb\">\r\n {{ 'eDonusum::SenderGB' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"despatch-sender-gb\" formControlName=\"senderGB\" class=\"form-control\" />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"despatch\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i6.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i6.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i7.AdvancedEntityFiltersComponent, selector: "abp-advanced-entity-filters", inputs: ["list", "localizationSourceName", "entityFilterPlaceholder"] }, { kind: "component", type: i7.AdvancedEntityFiltersFormComponent, selector: "abp-advanced-entity-filters-form" }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationTargetDirective, selector: "[validationTarget]", exportAs: ["validationTarget"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i9.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "directive", type: i9.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i9.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i9.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i9.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i10.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i10.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DespatchComponent, decorators: [{
|
|
292
|
+
type: Component,
|
|
293
|
+
args: [{ selector: 'lib-despatch', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [title]=\"'eDonusum::Despatches' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"text-lg-end pt-2\">\r\n <button\r\n class=\"btn btn-primary btn-sm mx-2\"\r\n type=\"button\"\r\n [disabled]=\"isExportToExcelBusy\"\r\n (click)=\"exportToExcel()\"\r\n >\r\n {{ 'eDonusum::ExportToExcel' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n *abpPermission=\"'eDonusum.Despatches.Create'\"\r\n class=\"btn btn-primary btn-sm\"\r\n type=\"button\"\r\n (click)=\"create()\"\r\n >\r\n <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\r\n {{ 'eDonusum::NewDespatch' | abpLocalization }}\r\n </button>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <abp-advanced-entity-filters localizationSourceName=\"eDonusum\" [list]=\"list\">\r\n <abp-advanced-entity-filters-form>\r\n <form #filterForm (keyup.enter)=\"list.get()\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"ublVersionIdFilter\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"ublVersionIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.ublVersionId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"customizationIdFilter\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"customizationIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.customizationId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"profileIdFilter\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"profileIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.profileId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchIdFilter\">\r\n {{ 'eDonusum::DespatchId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"copyIndicatorFilter\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"copyIndicator\"\r\n id=\"copyIndicatorFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.copyIndicator\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"uuIdFilter\">\r\n {{ 'eDonusum::UuId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"uuIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.uuId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueDate\">\r\n {{ 'eDonusum::MinIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueDate\"\r\n class=\"form-control\"\r\n #minIssueDateInput\r\n #minIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueDateDatepicker.writeValue(null);\r\n minIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueDate\">\r\n {{ 'eDonusum::MaxIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueDate\"\r\n class=\"form-control\"\r\n #maxIssueDateInput\r\n #maxIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueDateDatepicker.writeValue(null);\r\n maxIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minIssueTime\">\r\n {{ 'eDonusum::MinIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minIssueTime\"\r\n class=\"form-control\"\r\n #minIssueTimeInput\r\n #minIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minIssueTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minIssueTimeDatepicker.writeValue(null);\r\n minIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxIssueTime\">\r\n {{ 'eDonusum::MaxIssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxIssueTime\"\r\n class=\"form-control\"\r\n #maxIssueTimeInput\r\n #maxIssueTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxIssueTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxIssueTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxIssueTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.issueTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxIssueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxIssueTimeDatepicker.writeValue(null);\r\n maxIssueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchAdviceTypeCodeFilter\">\r\n {{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchAdviceTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchAdviceTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"documentCurrencyCodeFilter\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"documentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.documentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentAlternativeCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCostFilter\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCostFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCost\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLineCountNumeric\">\r\n {{ 'eDonusum::MinLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLineCountNumeric\">\r\n {{ 'eDonusum::MaxLineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLineCountNumeric\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.lineCountNumericMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodStartDate\">\r\n {{ 'eDonusum::MinInvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodStartDate\"\r\n class=\"form-control\"\r\n #minInvoicePeriodStartDateInput\r\n #minInvoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodStartDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodStartDateDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodStartDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodStartDateDatepicker.writeValue(null);\r\n minInvoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodStartDate\">\r\n {{ 'eDonusum::MaxInvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodStartDate\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodStartDateInput\r\n #maxInvoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodStartDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodStartDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodStartDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodStartDateDatepicker.writeValue(null);\r\n maxInvoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodStartTime\">\r\n {{ 'eDonusum::MinInvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodStartTime\"\r\n class=\"form-control\"\r\n #minInvoicePeriodStartTimeInput\r\n #minInvoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodStartTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodStartTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodStartTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodStartTimeDatepicker.writeValue(null);\r\n minInvoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodStartTime\">\r\n {{ 'eDonusum::MaxInvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodStartTime\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodStartTimeInput\r\n #maxInvoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodStartTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodStartTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodStartTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodStartTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodStartTimeDatepicker.writeValue(null);\r\n maxInvoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodEndDate\">\r\n {{ 'eDonusum::MinInvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodEndDate\"\r\n class=\"form-control\"\r\n #minInvoicePeriodEndDateInput\r\n #minInvoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodEndDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodEndDateDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodEndDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodEndDateDatepicker.writeValue(null);\r\n minInvoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodEndDate\">\r\n {{ 'eDonusum::MaxInvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodEndDate\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodEndDateInput\r\n #maxInvoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodEndDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodEndDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodEndDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodEndDateDatepicker.writeValue(null);\r\n maxInvoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodEndTime\">\r\n {{ 'eDonusum::MinInvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodEndTime\"\r\n class=\"form-control\"\r\n #minInvoicePeriodEndTimeInput\r\n #minInvoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodEndTime\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodEndTimeDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodEndTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndTimeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodEndTimeDatepicker.writeValue(null);\r\n minInvoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodEndTime\">\r\n {{ 'eDonusum::MaxInvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodEndTime\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodEndTimeInput\r\n #maxInvoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodEndTime\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodEndTimeDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodEndTimeDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodEndTimeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodEndTimeDatepicker.writeValue(null);\r\n maxInvoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minInvoicePeriodDurationMeasure\">\r\n {{ 'eDonusum::MinInvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minInvoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n #minInvoicePeriodDurationMeasureInput\r\n #minInvoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n name=\"minInvoicePeriodDurationMeasure\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n (keyup.space)=\"minInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodDurationMeasureMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minInvoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minInvoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n minInvoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxInvoicePeriodDurationMeasure\">\r\n {{ 'eDonusum::MaxInvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxInvoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n #maxInvoicePeriodDurationMeasureInput\r\n #maxInvoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n name=\"maxInvoicePeriodDurationMeasure\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n (keyup.space)=\"maxInvoicePeriodDurationMeasureDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.invoicePeriodDurationMeasureMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxInvoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxInvoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n maxInvoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"invoicePeriodDescriptionFilter\">\r\n {{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"invoicePeriodDescriptionFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.invoicePeriodDescription\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceIdFilter\">\r\n {{ 'eDonusum::OrderReferenceId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceSalesOrderIdFilter\">\r\n {{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceSalesOrderIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceSalesOrderId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minOrderReferenceIssueDate\">\r\n {{ 'eDonusum::MinOrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minOrderReferenceIssueDate\"\r\n class=\"form-control\"\r\n #minOrderReferenceIssueDateInput\r\n #minOrderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"minOrderReferenceIssueDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minOrderReferenceIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"minOrderReferenceIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.orderReferenceIssueDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minOrderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minOrderReferenceIssueDateDatepicker.writeValue(null);\r\n minOrderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxOrderReferenceIssueDate\">\r\n {{ 'eDonusum::MaxOrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxOrderReferenceIssueDate\"\r\n class=\"form-control\"\r\n #maxOrderReferenceIssueDateInput\r\n #maxOrderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxOrderReferenceIssueDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxOrderReferenceIssueDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxOrderReferenceIssueDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.orderReferenceIssueDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxOrderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxOrderReferenceIssueDateDatepicker.writeValue(null);\r\n maxOrderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"orderReferenceOrderTypeCodeFilter\">\r\n {{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"orderReferenceOrderTypeCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.orderReferenceOrderTypeCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartyNameFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatchSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatchSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.despatchSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartyNameFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"deliveryCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"deliveryCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.deliveryCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartyPartyNameFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartyPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartyPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"originatorCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"originatorCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.originatorCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyNameFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyNameFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"accountingCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"accountingCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.accountingCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartyNameFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartySchemeIdFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"buyerCustomerPartyVknTcknFilter\">\r\n {{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"buyerCustomerPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.buyerCustomerPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartyNameFilter\">\r\n {{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartySchemeIdFilter\">\r\n {{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"sellerSupplierPartyVknTcknFilter\">\r\n {{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"sellerSupplierPartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.sellerSupplierPartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartyNameFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartyNameFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartyName\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartySchemeIdFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartySchemeIdFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartySchemeId\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxRepresentativePartyVknTcknFilter\">\r\n {{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxRepresentativePartyVknTcknFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxRepresentativePartyVknTckn\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"taxExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"taxExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTaxExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.taxExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTaxExchangeRateDate\">\r\n {{ 'eDonusum::MinTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #minTaxExchangeRateDateInput\r\n #minTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minTaxExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minTaxExchangeRateDateDatepicker.writeValue(null);\r\n minTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTaxExchangeRateDate\">\r\n {{ 'eDonusum::MaxTaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxTaxExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxTaxExchangeRateDateInput\r\n #maxTaxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxTaxExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxTaxExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.taxExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxTaxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxTaxExchangeRateDateDatepicker.writeValue(null);\r\n maxTaxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"pricingExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"pricingExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPricingExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPricingExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.pricingExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPricingExchangeRateDate\">\r\n {{ 'eDonusum::MinPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPricingExchangeRateDateInput\r\n #minPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPricingExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPricingExchangeRateDateDatepicker.writeValue(null);\r\n minPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPricingExchangeRateDate\">\r\n {{ 'eDonusum::MaxPricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPricingExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPricingExchangeRateDateInput\r\n #maxPricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPricingExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPricingExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.pricingExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPricingExchangeRateDateDatepicker.writeValue(null);\r\n maxPricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateSourceCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"paymentExchangeRateTargetCurrencyCodeFilter\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"minPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #minPaymentExchangeRateDateInput\r\n #minPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"minPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n container=\"body\"\r\n readonly\r\n (click)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"minPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"minPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n minPaymentExchangeRateDateDatepicker.writeValue(null);\r\n minPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n id=\"maxPaymentExchangeRateDate\"\r\n class=\"form-control\"\r\n #maxPaymentExchangeRateDateInput\r\n #maxPaymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n name=\"maxPaymentExchangeRateDate\"\r\n ngbDatepicker\r\n readonly\r\n (click)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n (keyup.space)=\"maxPaymentExchangeRateDateDatepicker.toggle()\"\r\n [(ngModel)]=\"filters.paymentExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n <div *ngIf=\"maxPaymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n maxPaymentExchangeRateDateDatepicker.writeValue(null);\r\n maxPaymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateSourceCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"paymentAlternativeExchangeRateTargetCurrencyCodeFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateCalculationRate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateCalculationRate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateCalculationRateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MinPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minPaymentAlternativeExchangeRateDate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxPaymentAlternativeExchangeRateDate\">\r\n {{ 'eDonusum::MaxPaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxPaymentAlternativeExchangeRateDate\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.paymentAlternativeExchangeRateDateMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalLineExtensionAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalLineExtensionAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalLineExtensionAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxExclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxExclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxExclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalTaxInclusiveAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalTaxInclusiveAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalTaxInclusiveAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalAllowanceTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalAllowanceTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalAllowanceTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalChargeTotalAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalChargeTotalAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalChargeTotalAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableRoundingAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableRoundingAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableRoundingAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MinLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxLegalMonetaryTotalPayableAmount\">\r\n {{ 'eDonusum::MaxLegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxLegalMonetaryTotalPayableAmount\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.legalMonetaryTotalPayableAmountMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"isCanceledFilter\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n\r\n <select\r\n name=\"isCanceled\"\r\n id=\"isCanceledFilter\"\r\n class=\"form-select form-control\"\r\n [(ngModel)]=\"filters.isCanceled\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (change)=\"list.get()\"\r\n >\r\n <option [ngValue]=\"\"></option>\r\n <option [ngValue]=\"true\">{{ 'AbpUi::Yes' | abpLocalization }}</option>\r\n <option [ngValue]=\"false\">{{ 'AbpUi::No' | abpLocalization }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minReceiverResponse\">\r\n {{ 'eDonusum::MinReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minReceiverResponse\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxReceiverResponse\">\r\n {{ 'eDonusum::MaxReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxReceiverResponse\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"receiverResponseDescFilter\">\r\n {{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"receiverResponseDescFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.receiverResponseDesc\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minStatus\">\r\n {{ 'eDonusum::MinStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxStatus\">\r\n {{ 'eDonusum::MaxStatus' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxStatus\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.statusMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"resourceDocEntryFilter\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"resourceDocEntryFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocEntry\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minResourceDocType\">\r\n {{ 'eDonusum::MinResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxResourceDocType\">\r\n {{ 'eDonusum::MaxResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxResourceDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.resourceDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"targetDocEntryFilter\">\r\n {{ 'eDonusum::TargetDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"targetDocEntryFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocEntry\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minTargetDocType\">\r\n {{ 'eDonusum::MinTargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minTargetDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxTargetDocType\">\r\n {{ 'eDonusum::MaxTargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxTargetDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.targetDocTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"minDocType\">\r\n {{ 'eDonusum::MinDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"minDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.docTypeMin\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"maxDocType\">\r\n {{ 'eDonusum::MaxDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"maxDocType\"\r\n type=\"number\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.docTypeMax\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-auto\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"senderGBFilter\">\r\n {{ 'eDonusum::SenderGB' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"senderGBFilter\"\r\n class=\"form-control\"\r\n [(ngModel)]=\"filters.senderGB\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-auto align-self-end mb-3\">\r\n <div class=\"row\">\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\r\n <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-sm-auto d-grid\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\r\n <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </abp-advanced-entity-filters-form>\r\n </abp-advanced-entity-filters>\r\n\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <ngx-datatable [rows]=\"data.items\" [count]=\"data.totalCount\" [list]=\"list\" default>\r\n <ngx-datatable-column\r\n [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n [maxWidth]=\"150\"\r\n [width]=\"150\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n\r\n <div ngbDropdownMenu>\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.Despatches.Edit'\"\r\n (click)=\"update(row)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"'eDonusum.Despatches.Delete'\"\r\n (click)=\"delete(row)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::UblVersionId' | abpLocalization }}\"\r\n prop=\"ublVersionId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.ublVersionId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CustomizationId' | abpLocalization }}\"\r\n prop=\"customizationId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.customizationId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::ProfileId' | abpLocalization }}\" prop=\"profileId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.profileId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchId' | abpLocalization }}\"\r\n prop=\"despatchId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::CopyIndicator' | abpLocalization }}\"\r\n prop=\"copyIndicator\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.copyIndicator\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::UuId' | abpLocalization }}\" prop=\"uuId\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.uuId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueDate' | abpLocalization }}\" prop=\"issueDate\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::IssueTime' | abpLocalization }}\" prop=\"issueTime\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.issueTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }}\"\r\n prop=\"despatchAdviceTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchAdviceTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }}\"\r\n prop=\"documentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.documentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentAlternativeCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCost' | abpLocalization }}\"\r\n prop=\"accountingCost\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCost }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LineCountNumeric' | abpLocalization }}\"\r\n prop=\"lineCountNumeric\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.lineCountNumeric }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodStartDate' | abpLocalization }}\"\r\n prop=\"invoicePeriodStartDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodStartDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodStartTime' | abpLocalization }}\"\r\n prop=\"invoicePeriodStartTime\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodStartTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodEndDate' | abpLocalization }}\"\r\n prop=\"invoicePeriodEndDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodEndDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodEndTime' | abpLocalization }}\"\r\n prop=\"invoicePeriodEndTime\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodEndTime | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodDurationMeasure' | abpLocalization }}\"\r\n prop=\"invoicePeriodDurationMeasure\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodDurationMeasure | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\"\r\n prop=\"invoicePeriodDescription\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.invoicePeriodDescription }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceId' | abpLocalization }}\"\r\n prop=\"orderReferenceId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\"\r\n prop=\"orderReferenceSalesOrderId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceSalesOrderId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceIssueDate' | abpLocalization }}\"\r\n prop=\"orderReferenceIssueDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceIssueDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\"\r\n prop=\"orderReferenceOrderTypeCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.orderReferenceOrderTypeCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"despatchSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.despatchSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"deliveryCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.deliveryCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartyPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartyPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"originatorCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.originatorCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"accountingSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"accountingCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.accountingCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\"\r\n prop=\"buyerCustomerPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.buyerCustomerPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\"\r\n prop=\"sellerSupplierPartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.sellerSupplierPartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartyName\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartyName }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartySchemeId\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartySchemeId }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\"\r\n prop=\"taxRepresentativePartyVknTckn\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxRepresentativePartyVknTckn }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"taxExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\"\r\n prop=\"taxExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.taxExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\"\r\n prop=\"pricingExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.pricingExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentExchangeRateDate | date }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateSourceCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{\r\n 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization\r\n }}\"\r\n prop=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateTargetCurrencyCode }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateCalculationRate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateCalculationRate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\"\r\n prop=\"paymentAlternativeExchangeRateDate\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.paymentAlternativeExchangeRateDate }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalLineExtensionAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalLineExtensionAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxExclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalTaxInclusiveAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalAllowanceTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalChargeTotalAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalChargeTotalAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableRoundingAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableRoundingAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\"\r\n prop=\"legalMonetaryTotalPayableAmount\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.legalMonetaryTotalPayableAmount }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::IsCanceled' | abpLocalization }}\"\r\n prop=\"isCanceled\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n <ng-template [ngIf]=\"row.isCanceled\" [ngIfThen]=\"yes\" [ngIfElse]=\"no\"></ng-template>\r\n\r\n <ng-template #yes>\r\n <div class=\"text-success\">\r\n <span [title]=\"'AbpUi::Yes' | abpLocalization\">\r\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #no>\r\n <div class=\"text-danger\">\r\n <span [title]=\"'AbpUi::No' | abpLocalization\">\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ReceiverResponse' | abpLocalization }}\"\r\n prop=\"receiverResponse\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.receiverResponse }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\"\r\n prop=\"receiverResponseDesc\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.receiverResponseDesc }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::Status' | abpLocalization }}\" prop=\"status\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.status }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\"\r\n prop=\"resourceDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::ResourceDocType' | abpLocalization }}\"\r\n prop=\"resourceDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.resourceDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TargetDocEntry' | abpLocalization }}\"\r\n prop=\"targetDocEntry\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.targetDocEntry }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column\r\n name=\"{{ 'eDonusum::TargetDocType' | abpLocalization }}\"\r\n prop=\"targetDocType\"\r\n >\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.targetDocType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::DocType' | abpLocalization }}\" prop=\"docType\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.docType }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ngx-datatable-column name=\"{{ 'eDonusum::SenderGB' | abpLocalization }}\" prop=\"senderGB\">\r\n <ng-template let-row=\"row\" ngx-datatable-cell-template>\r\n {{ row.senderGB }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<abp-modal [busy]=\"isModalBusy\" [(visible)]=\"isModalOpen\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{ (selected ? 'AbpUi::Edit' : 'eDonusum::NewDespatch') | abpLocalization }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"despatch\" (ngSubmit)=\"submitForm()\" validateOnSubmit>\r\n <div class=\"mt-2 fade-in-top\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-ubl-version-id\">\r\n {{ 'eDonusum::UblVersionId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-ubl-version-id\"\r\n formControlName=\"ublVersionId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n autofocus\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-customization-id\">\r\n {{ 'eDonusum::CustomizationId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-customization-id\"\r\n formControlName=\"customizationId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-profile-id\">\r\n {{ 'eDonusum::ProfileId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-profile-id\"\r\n formControlName=\"profileId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-id\">\r\n {{ 'eDonusum::DespatchId' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-id\"\r\n formControlName=\"despatchId\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"despatch-copy-indicator\"\r\n formControlName=\"copyIndicator\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"despatch-copy-indicator\" class=\"form-check-label\">\r\n {{ 'eDonusum::CopyIndicator' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-uu-id\">\r\n {{ 'eDonusum::UuId' | abpLocalization }} *\r\n </label>\r\n\r\n <input id=\"despatch-uu-id\" formControlName=\"uuId\" class=\"form-control\" maxlength=\"64\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-issue-date\">\r\n {{ 'eDonusum::IssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-issue-date\"\r\n formControlName=\"issueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueDateInput\r\n #issueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueDateDatepicker.open()\"\r\n (keyup.space)=\"issueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueDateDatepicker.writeValue(null);\r\n issueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-issue-time\">\r\n {{ 'eDonusum::IssueTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-issue-time\"\r\n formControlName=\"issueTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #issueTimeInput\r\n #issueTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"issueTimeDatepicker.open()\"\r\n (keyup.space)=\"issueTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"issueTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n issueTimeDatepicker.writeValue(null);\r\n issueTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-advice-type-code\">\r\n {{ 'eDonusum::DespatchAdviceTypeCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-advice-type-code\"\r\n formControlName=\"despatchAdviceTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-document-currency-code\">\r\n {{ 'eDonusum::DocumentCurrencyCode' | abpLocalization }} *\r\n </label>\r\n\r\n <input\r\n id=\"despatch-document-currency-code\"\r\n formControlName=\"documentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-currency-code\">\r\n {{ 'eDonusum::TaxCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-currency-code\"\r\n formControlName=\"taxCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-currency-code\">\r\n {{ 'eDonusum::PricingCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-currency-code\"\r\n formControlName=\"pricingCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-currency-code\">\r\n {{ 'eDonusum::PaymentCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-currency-code\"\r\n formControlName=\"paymentCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-alternative-currency-code\">\r\n {{ 'eDonusum::PaymentAlternativeCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-currency-code\"\r\n formControlName=\"paymentAlternativeCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-cost\">\r\n {{ 'eDonusum::AccountingCost' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-cost\"\r\n formControlName=\"accountingCost\"\r\n class=\"form-control\"\r\n maxlength=\"32\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-line-count-numeric\">\r\n {{ 'eDonusum::LineCountNumeric' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-line-count-numeric\"\r\n formControlName=\"lineCountNumeric\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-start-date\">\r\n {{ 'eDonusum::InvoicePeriodStartDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-start-date\"\r\n formControlName=\"invoicePeriodStartDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodStartDateInput\r\n #invoicePeriodStartDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodStartDateDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodStartDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodStartDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodStartDateDatepicker.writeValue(null);\r\n invoicePeriodStartDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-start-time\">\r\n {{ 'eDonusum::InvoicePeriodStartTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-start-time\"\r\n formControlName=\"invoicePeriodStartTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodStartTimeInput\r\n #invoicePeriodStartTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodStartTimeDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodStartTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodStartTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodStartTimeDatepicker.writeValue(null);\r\n invoicePeriodStartTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-end-date\">\r\n {{ 'eDonusum::InvoicePeriodEndDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-end-date\"\r\n formControlName=\"invoicePeriodEndDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodEndDateInput\r\n #invoicePeriodEndDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodEndDateDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodEndDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodEndDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodEndDateDatepicker.writeValue(null);\r\n invoicePeriodEndDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-end-time\">\r\n {{ 'eDonusum::InvoicePeriodEndTime' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-end-time\"\r\n formControlName=\"invoicePeriodEndTime\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodEndTimeInput\r\n #invoicePeriodEndTimeDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodEndTimeDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodEndTimeDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodEndTimeInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodEndTimeDatepicker.writeValue(null);\r\n invoicePeriodEndTimeDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-duration-measure\">\r\n {{ 'eDonusum::InvoicePeriodDurationMeasure' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-invoice-period-duration-measure\"\r\n formControlName=\"invoicePeriodDurationMeasure\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #invoicePeriodDurationMeasureInput\r\n #invoicePeriodDurationMeasureDatepicker=\"ngbDatepicker\"\r\n (click)=\"invoicePeriodDurationMeasureDatepicker.open()\"\r\n (keyup.space)=\"invoicePeriodDurationMeasureDatepicker.open()\"\r\n />\r\n <div *ngIf=\"invoicePeriodDurationMeasureInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n invoicePeriodDurationMeasureDatepicker.writeValue(null);\r\n invoicePeriodDurationMeasureDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-invoice-period-description\">\r\n {{ 'eDonusum::InvoicePeriodDescription' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-invoice-period-description\"\r\n formControlName=\"invoicePeriodDescription\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-id\">\r\n {{ 'eDonusum::OrderReferenceId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-id\"\r\n formControlName=\"orderReferenceId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-sales-order-id\">\r\n {{ 'eDonusum::OrderReferenceSalesOrderId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-sales-order-id\"\r\n formControlName=\"orderReferenceSalesOrderId\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-issue-date\">\r\n {{ 'eDonusum::OrderReferenceIssueDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-order-reference-issue-date\"\r\n formControlName=\"orderReferenceIssueDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #orderReferenceIssueDateInput\r\n #orderReferenceIssueDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"orderReferenceIssueDateDatepicker.open()\"\r\n (keyup.space)=\"orderReferenceIssueDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"orderReferenceIssueDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n orderReferenceIssueDateDatepicker.writeValue(null);\r\n orderReferenceIssueDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-order-reference-order-type-code\">\r\n {{ 'eDonusum::OrderReferenceOrderTypeCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-order-reference-order-type-code\"\r\n formControlName=\"orderReferenceOrderTypeCode\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-name\">\r\n {{ 'eDonusum::DespatchSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-name\"\r\n formControlName=\"despatchSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-scheme-id\">\r\n {{ 'eDonusum::DespatchSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-scheme-id\"\r\n formControlName=\"despatchSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-despatch-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::DespatchSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-despatch-supplier-party-vkn-tckn\"\r\n formControlName=\"despatchSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-name\">\r\n {{ 'eDonusum::DeliveryCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-name\"\r\n formControlName=\"deliveryCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-scheme-id\">\r\n {{ 'eDonusum::DeliveryCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-scheme-id\"\r\n formControlName=\"deliveryCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-delivery-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::DeliveryCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-delivery-customer-party-vkn-tckn\"\r\n formControlName=\"deliveryCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-party-name\">\r\n {{ 'eDonusum::OriginatorCustomerPartyPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-party-name\"\r\n formControlName=\"originatorCustomerPartyPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-scheme-id\">\r\n {{ 'eDonusum::OriginatorCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-scheme-id\"\r\n formControlName=\"originatorCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-originator-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::OriginatorCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-originator-customer-party-vkn-tckn\"\r\n formControlName=\"originatorCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-name\">\r\n {{ 'eDonusum::AccountingSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-name\"\r\n formControlName=\"accountingSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-scheme-id\">\r\n {{ 'eDonusum::AccountingSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-scheme-id\"\r\n formControlName=\"accountingSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::AccountingSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-supplier-party-vkn-tckn\"\r\n formControlName=\"accountingSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-name\">\r\n {{ 'eDonusum::AccountingCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-name\"\r\n formControlName=\"accountingCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-scheme-id\">\r\n {{ 'eDonusum::AccountingCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-scheme-id\"\r\n formControlName=\"accountingCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-accounting-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::AccountingCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-accounting-customer-party-vkn-tckn\"\r\n formControlName=\"accountingCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-name\">\r\n {{ 'eDonusum::BuyerCustomerPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-name\"\r\n formControlName=\"buyerCustomerPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-scheme-id\">\r\n {{ 'eDonusum::BuyerCustomerPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-scheme-id\"\r\n formControlName=\"buyerCustomerPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-buyer-customer-party-vkn-tckn\">\r\n {{ 'eDonusum::BuyerCustomerPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-buyer-customer-party-vkn-tckn\"\r\n formControlName=\"buyerCustomerPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-name\">\r\n {{ 'eDonusum::SellerSupplierPartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-name\"\r\n formControlName=\"sellerSupplierPartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-scheme-id\">\r\n {{ 'eDonusum::SellerSupplierPartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-scheme-id\"\r\n formControlName=\"sellerSupplierPartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-seller-supplier-party-vkn-tckn\">\r\n {{ 'eDonusum::SellerSupplierPartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-seller-supplier-party-vkn-tckn\"\r\n formControlName=\"sellerSupplierPartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-name\">\r\n {{ 'eDonusum::TaxRepresentativePartyName' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-name\"\r\n formControlName=\"taxRepresentativePartyName\"\r\n class=\"form-control\"\r\n maxlength=\"256\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-scheme-id\">\r\n {{ 'eDonusum::TaxRepresentativePartySchemeId' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-scheme-id\"\r\n formControlName=\"taxRepresentativePartySchemeId\"\r\n class=\"form-control\"\r\n maxlength=\"8\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-representative-party-vkn-tckn\">\r\n {{ 'eDonusum::TaxRepresentativePartyVknTckn' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-representative-party-vkn-tckn\"\r\n formControlName=\"taxRepresentativePartyVknTckn\"\r\n class=\"form-control\"\r\n maxlength=\"16\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-exchange-rate-source-currency-code\"\r\n formControlName=\"taxExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::TaxExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-tax-exchange-rate-target-currency-code\"\r\n formControlName=\"taxExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::TaxExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-tax-exchange-rate-calculation-rate\"\r\n formControlName=\"taxExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-tax-exchange-rate-date\">\r\n {{ 'eDonusum::TaxExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-tax-exchange-rate-date\"\r\n formControlName=\"taxExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #taxExchangeRateDateInput\r\n #taxExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"taxExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"taxExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"taxExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n taxExchangeRateDateDatepicker.writeValue(null);\r\n taxExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::PricingExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-exchange-rate-source-currency-code\"\r\n formControlName=\"pricingExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::PricingExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-pricing-exchange-rate-target-currency-code\"\r\n formControlName=\"pricingExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PricingExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-pricing-exchange-rate-calculation-rate\"\r\n formControlName=\"pricingExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-pricing-exchange-rate-date\">\r\n {{ 'eDonusum::PricingExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-pricing-exchange-rate-date\"\r\n formControlName=\"pricingExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #pricingExchangeRateDateInput\r\n #pricingExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"pricingExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"pricingExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"pricingExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n pricingExchangeRateDateDatepicker.writeValue(null);\r\n pricingExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-source-currency-code\">\r\n {{ 'eDonusum::PaymentExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-target-currency-code\">\r\n {{ 'eDonusum::PaymentExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-calculation-rate\">\r\n {{ 'eDonusum::PaymentExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <div class=\"input-group\" validationTarget>\r\n <input\r\n readonly\r\n id=\"despatch-payment-exchange-rate-date\"\r\n formControlName=\"paymentExchangeRateDate\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #paymentExchangeRateDateInput\r\n #paymentExchangeRateDateDatepicker=\"ngbDatepicker\"\r\n (click)=\"paymentExchangeRateDateDatepicker.open()\"\r\n (keyup.space)=\"paymentExchangeRateDateDatepicker.open()\"\r\n />\r\n <div *ngIf=\"paymentExchangeRateDateInput.value\" class=\"input-group-append\">\r\n <button\r\n class=\"btn btn-link px-2\"\r\n type=\"button\"\r\n [title]=\"'AbpUi::Clear' | abpLocalization\"\r\n (click)=\"\r\n paymentExchangeRateDateDatepicker.writeValue(null);\r\n paymentExchangeRateDateDatepicker.manualDateChange(null, true)\r\n \"\r\n >\r\n <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-source-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateSourceCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-exchange-rate-source-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateSourceCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-target-currency-code\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateTargetCurrencyCode' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-payment-alternative-exchange-rate-target-currency-code\"\r\n formControlName=\"paymentAlternativeExchangeRateTargetCurrencyCode\"\r\n class=\"form-control\"\r\n maxlength=\"3\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label\r\n class=\"form-label\"\r\n for=\"despatch-payment-alternative-exchange-rate-calculation-rate\"\r\n >\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateCalculationRate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-alternative-exchange-rate-calculation-rate\"\r\n formControlName=\"paymentAlternativeExchangeRateCalculationRate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-payment-alternative-exchange-rate-date\">\r\n {{ 'eDonusum::PaymentAlternativeExchangeRateDate' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-payment-alternative-exchange-rate-date\"\r\n formControlName=\"paymentAlternativeExchangeRateDate\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-line-extension-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalLineExtensionAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-line-extension-amount\"\r\n formControlName=\"legalMonetaryTotalLineExtensionAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-tax-exclusive-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalTaxExclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-tax-exclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxExclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-tax-inclusive-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalTaxInclusiveAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-tax-inclusive-amount\"\r\n formControlName=\"legalMonetaryTotalTaxInclusiveAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-allowance-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalAllowanceTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-allowance-total-amount\"\r\n formControlName=\"legalMonetaryTotalAllowanceTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-charge-total-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalChargeTotalAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-charge-total-amount\"\r\n formControlName=\"legalMonetaryTotalChargeTotalAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-payable-rounding-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableRoundingAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-payable-rounding-amount\"\r\n formControlName=\"legalMonetaryTotalPayableRoundingAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-legal-monetary-total-payable-amount\">\r\n {{ 'eDonusum::LegalMonetaryTotalPayableAmount' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-legal-monetary-total-payable-amount\"\r\n formControlName=\"legalMonetaryTotalPayableAmount\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"form-check mb-3\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"despatch-is-canceled\"\r\n formControlName=\"isCanceled\"\r\n class=\"form-check-input\"\r\n />\r\n\r\n <label for=\"despatch-is-canceled\" class=\"form-check-label\">\r\n {{ 'eDonusum::IsCanceled' | abpLocalization }}\r\n </label>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-receiver-response\">\r\n {{ 'eDonusum::ReceiverResponse' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-receiver-response\"\r\n formControlName=\"receiverResponse\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-receiver-response-desc\">\r\n {{ 'eDonusum::ReceiverResponseDesc' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-receiver-response-desc\"\r\n formControlName=\"receiverResponseDesc\"\r\n class=\"form-control\"\r\n maxlength=\"1024\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-status\">\r\n {{ 'eDonusum::Status' | abpLocalization }}\r\n </label>\r\n\r\n <input type=\"number\" id=\"despatch-status\" formControlName=\"status\" class=\"form-control\" />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-resource-doc-entry\">\r\n {{ 'eDonusum::ResourceDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-resource-doc-entry\"\r\n formControlName=\"resourceDocEntry\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-resource-doc-type\">\r\n {{ 'eDonusum::ResourceDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-resource-doc-type\"\r\n formControlName=\"resourceDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-target-doc-entry\">\r\n {{ 'eDonusum::TargetDocEntry' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n id=\"despatch-target-doc-entry\"\r\n formControlName=\"targetDocEntry\"\r\n class=\"form-control\"\r\n maxlength=\"64\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-target-doc-type\">\r\n {{ 'eDonusum::TargetDocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-target-doc-type\"\r\n formControlName=\"targetDocType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-doc-type\">\r\n {{ 'eDonusum::DocType' | abpLocalization }}\r\n </label>\r\n\r\n <input\r\n type=\"number\"\r\n id=\"despatch-doc-type\"\r\n formControlName=\"docType\"\r\n class=\"form-control\"\r\n />\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\" for=\"despatch-sender-gb\">\r\n {{ 'eDonusum::SenderGB' | abpLocalization }}\r\n </label>\r\n\r\n <input id=\"despatch-sender-gb\" formControlName=\"senderGB\" class=\"form-control\" />\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"despatch\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
294
|
+
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i1.TrackByService }, { type: i2.DespatchService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }]; } });
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzcGF0Y2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvZGVzcGF0Y2hlcy9kZXNwYXRjaC9jb21wb25lbnRzL2Rlc3BhdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2UtZG9udXN1bS9zcmMvbGliL2Rlc3BhdGNoZXMvZGVzcGF0Y2gvY29tcG9uZW50cy9kZXNwYXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQU8sWUFBWSxFQUFFLFdBQVcsRUFBa0MsTUFBTSxjQUFjLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQVVsRSxNQUFNLE9BQU8saUJBQWlCO0lBb0I1QixZQUNrQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUF3QixFQUNoQyxZQUFpQyxFQUNqQyxFQUFlO1FBSlAsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQXhCekIsU0FBSSxHQUFnQztZQUNsQyxLQUFLLEVBQUUsRUFBRTtZQUNULFVBQVUsRUFBRSxDQUFDO1NBQ2QsQ0FBQztRQUVGLFlBQU8sR0FBRyxFQUF3QixDQUFDO1FBSW5DLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztJQVV6QixDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBMEIsRUFBRSxFQUFFLENBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ25CLEdBQUcsS0FBSztZQUNSLEdBQUcsSUFBSSxDQUFDLE9BQU87WUFDZixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDekIsQ0FBQyxDQUFDO1FBRUwsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFpQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUF3QixDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxFQUNKLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsSUFBSSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQiw4QkFBOEIsRUFDOUIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsbUJBQW1CLEVBQ25CLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsa0NBQWtDLEVBQ2xDLHVCQUF1QixFQUN2QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIsZ0RBQWdELEVBQ2hELGdEQUFnRCxFQUNoRCw2Q0FBNkMsRUFDN0Msa0NBQWtDLEVBQ2xDLHFDQUFxQyxFQUNyQyxvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxtQ0FBbUMsRUFDbkMsdUNBQXVDLEVBQ3ZDLCtCQUErQixFQUMvQixVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixjQUFjLEVBQ2QsYUFBYSxFQUNiLE9BQU8sRUFDUCxRQUFRLEdBQ1QsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFlBQVksRUFBRSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRixlQUFlLEVBQUUsQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUYsU0FBUyxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQy9FLFVBQVUsRUFBRSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRixhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRSxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3ZELFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDdkQsc0JBQXNCLEVBQUU7Z0JBQ3RCLHNCQUFzQixJQUFJLElBQUk7Z0JBQzlCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixJQUFJLElBQUk7Z0JBQzVCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsZUFBZSxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxtQkFBbUIsRUFBRSxDQUFDLG1CQUFtQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RSxtQkFBbUIsRUFBRSxDQUFDLG1CQUFtQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RSw4QkFBOEIsRUFBRTtnQkFDOUIsOEJBQThCLElBQUksSUFBSTtnQkFDdEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsY0FBYyxFQUFFLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRSxnQkFBZ0IsRUFBRSxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDaEQsc0JBQXNCLEVBQUU7Z0JBQ3RCLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNoRSxFQUFFO2FBQ0g7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEIsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ2hFLEVBQUU7YUFDSDtZQUNELG9CQUFvQixFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEYsb0JBQW9CLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4Riw0QkFBNEIsRUFBRTtnQkFDNUIsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzVFLEVBQUU7YUFDSDtZQUNELHdCQUF3QixFQUFFLENBQUMsd0JBQXdCLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNoRSxnQkFBZ0IsRUFBRSxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN4RSwwQkFBMEIsRUFBRSxDQUFDLDBCQUEwQixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1Rix1QkFBdUIsRUFBRTtnQkFDdkIsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ2xFLEVBQUU7YUFDSDtZQUNELDJCQUEyQixFQUFFO2dCQUMzQiwyQkFBMkIsSUFBSSxJQUFJO2dCQUNuQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0I7WUFDRCx5QkFBeUIsRUFBRSxDQUFDLHlCQUF5QixJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRiw2QkFBNkIsRUFBRTtnQkFDN0IsNkJBQTZCLElBQUksSUFBSTtnQkFDckMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsNEJBQTRCLEVBQUU7Z0JBQzVCLDRCQUE0QixJQUFJLElBQUk7Z0JBQ3BDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzQjtZQUNELHlCQUF5QixFQUFFLENBQUMseUJBQXlCLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNGLDZCQUE2QixFQUFFO2dCQUM3Qiw2QkFBNkIsSUFBSSxJQUFJO2dCQUNyQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCw0QkFBNEIsRUFBRTtnQkFDNUIsNEJBQTRCLElBQUksSUFBSTtnQkFDcEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsZ0NBQWdDLEVBQUU7Z0JBQ2hDLGdDQUFnQyxJQUFJLElBQUk7Z0JBQ3hDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtZQUNELCtCQUErQixFQUFFO2dCQUMvQiwrQkFBK0IsSUFBSSxJQUFJO2dCQUN2QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCw4QkFBOEIsRUFBRTtnQkFDOUIsOEJBQThCLElBQUksSUFBSTtnQkFDdEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsMkJBQTJCLEVBQUU7Z0JBQzNCLDJCQUEyQixJQUFJLElBQUk7Z0JBQ25DLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtZQUNELCtCQUErQixFQUFFO2dCQUMvQiwrQkFBK0IsSUFBSSxJQUFJO2dCQUN2QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCw4QkFBOEIsRUFBRTtnQkFDOUIsOEJBQThCLElBQUksSUFBSTtnQkFDdEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsMkJBQTJCLEVBQUU7Z0JBQzNCLDJCQUEyQixJQUFJLElBQUk7Z0JBQ25DLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtZQUNELCtCQUErQixFQUFFO2dCQUMvQiwrQkFBK0IsSUFBSSxJQUFJO2dCQUN2QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCw4QkFBOEIsRUFBRTtnQkFDOUIsOEJBQThCLElBQUksSUFBSTtnQkFDdEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO1lBQ0Qsc0JBQXNCLEVBQUUsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckYsMEJBQTBCLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0YseUJBQXlCLEVBQUUsQ0FBQyx5QkFBeUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUYsdUJBQXVCLEVBQUUsQ0FBQyx1QkFBdUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkYsMkJBQTJCLEVBQUUsQ0FBQywyQkFBMkIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0YsMEJBQTBCLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUYsMEJBQTBCLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0YsOEJBQThCLEVBQUU7Z0JBQzlCLDhCQUE4QixJQUFJLElBQUk7Z0JBQ3RDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELDZCQUE2QixFQUFFO2dCQUM3Qiw2QkFBNkIsSUFBSSxJQUFJO2dCQUNyQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0I7WUFDRCxpQ0FBaUMsRUFBRTtnQkFDakMsaUNBQWlDLElBQUksSUFBSTtnQkFDekMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsaUNBQWlDLEVBQUU7Z0JBQ2pDLGlDQUFpQyxJQUFJLElBQUk7Z0JBQ3pDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELDhCQUE4QixFQUFFLENBQUMsOEJBQThCLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUM1RSxtQkFBbUIsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3JGLHFDQUFxQyxFQUFFO2dCQUNyQyxxQ0FBcUMsSUFBSSxJQUFJO2dCQUM3QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCxxQ0FBcUMsRUFBRTtnQkFDckMscUNBQXFDLElBQUksSUFBSTtnQkFDN0MsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0Qsa0NBQWtDLEVBQUUsQ0FBQyxrQ0FBa0MsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BGLHVCQUF1QixFQUFFO2dCQUN2Qix1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDbEUsRUFBRTthQUNIO1lBQ0QscUNBQXFDLEVBQUU7Z0JBQ3JDLHFDQUFxQyxJQUFJLElBQUk7Z0JBQzdDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELHFDQUFxQyxFQUFFO2dCQUNyQyxxQ0FBcUMsSUFBSSxJQUFJO2dCQUM3QyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCxrQ0FBa0MsRUFBRSxDQUFDLGtDQUFrQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEYsdUJBQXVCLEVBQUU7Z0JBQ3ZCLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNsRSxFQUFFO2FBQ0g7WUFDRCxnREFBZ0QsRUFBRTtnQkFDaEQsZ0RBQWdELElBQUksSUFBSTtnQkFDeEQsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsZ0RBQWdELEVBQUU7Z0JBQ2hELGdEQUFnRCxJQUFJLElBQUk7Z0JBQ3hELENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtZQUNELDZDQUE2QyxFQUFFO2dCQUM3Qyw2Q0FBNkMsSUFBSSxJQUFJO2dCQUNyRCxFQUFFO2FBQ0g7WUFDRCxrQ0FBa0MsRUFBRSxDQUFDLGtDQUFrQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEYscUNBQXFDLEVBQUUsQ0FBQyxxQ0FBcUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzFGLG9DQUFvQyxFQUFFLENBQUMsb0NBQW9DLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4RixvQ0FBb0MsRUFBRSxDQUFDLG9DQUFvQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEYsc0NBQXNDLEVBQUUsQ0FBQyxzQ0FBc0MsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzVGLG1DQUFtQyxFQUFFLENBQUMsbUNBQW1DLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0Rix1Q0FBdUMsRUFBRTtnQkFDdkMsdUNBQXVDLElBQUksSUFBSTtnQkFDL0MsRUFBRTthQUNIO1lBQ0QsK0JBQStCLEVBQUUsQ0FBQywrQkFBK0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzlFLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdkIsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hELG9CQUFvQixFQUFFLENBQUMsb0JBQW9CLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sRUFBRSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzVCLGdCQUFnQixFQUFFLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLGVBQWUsRUFBRSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzlDLGNBQWMsRUFBRSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEUsYUFBYSxFQUFFLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDMUMsT0FBTyxFQUFFLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7WUFDOUIsUUFBUSxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDcEMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQ2xCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO2FBQ2pELENBQUM7WUFDSixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUV4QixPQUFPO2FBQ0osSUFBSSxDQUNILFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFDMUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBbUI7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBbUI7UUFDeEIsSUFBSSxDQUFDLFlBQVk7YUFDZCxJQUFJLENBQUMscUNBQXFDLEVBQUUsc0JBQXNCLEVBQUU7WUFDbkUseUJBQXlCLEVBQUUsRUFBRTtTQUM5QixDQUFDO2FBQ0QsSUFBSSxDQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUN4RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ2hEO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPO2FBQ1QsZ0JBQWdCLEVBQUU7YUFDbEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUN4RixFQUNELFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUNuRDthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixZQUFZLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OEdBcllVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVDQUpqQixDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLDBCQ1o5RSx1dGdMQTRvSUE7MkZENW5JYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFDUCx1QkFBdUIsQ0FBQyxPQUFPLGFBQ3JDLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIGRvd25sb2FkQmxvYiwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkRhdGVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHR5cGUgeyBHZXREZXNwYXRjaGVzSW5wdXQsIERlc3BhdGNoRHRvIH0gZnJvbSAnLi4vLi4vLi4vcHJveHkvZGVzcGF0Y2hlcy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEZXNwYXRjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm94eS9kZXNwYXRjaGVzL2Rlc3BhdGNoLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1kZXNwYXRjaCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG4gIHByb3ZpZGVyczogW0xpc3RTZXJ2aWNlLCB7IHByb3ZpZGU6IE5nYkRhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUFkYXB0ZXIgfV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rlc3BhdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVzcGF0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPERlc3BhdGNoRHRvPiA9IHtcclxuICAgIGl0ZW1zOiBbXSxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuXHJcbiAgZmlsdGVycyA9IHt9IGFzIEdldERlc3BhdGNoZXNJbnB1dDtcclxuXHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBpc0ZpbHRlcnNIaWRkZW4gPSB0cnVlO1xyXG5cclxuICBpc01vZGFsQnVzeSA9IGZhbHNlO1xyXG5cclxuICBpc01vZGFsT3BlbiA9IGZhbHNlO1xyXG5cclxuICBpc0V4cG9ydFRvRXhjZWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIHNlbGVjdGVkPzogRGVzcGF0Y2hEdG87XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYWNrOiBUcmFja0J5U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBEZXNwYXRjaFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGdldERhdGEgPSAocXVlcnk6IEFCUC5QYWdlUXVlcnlQYXJhbXMpID0+XHJcbiAgICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KHtcclxuICAgICAgICAuLi5xdWVyeSxcclxuICAgICAgICAuLi50aGlzLmZpbHRlcnMsXHJcbiAgICAgICAgZmlsdGVyVGV4dDogcXVlcnkuZmlsdGVyLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzZXREYXRhID0gKGxpc3Q6IFBhZ2VkUmVzdWx0RHRvPERlc3BhdGNoRHRvPikgPT4gKHRoaXMuZGF0YSA9IGxpc3QpO1xyXG5cclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShnZXREYXRhKS5zdWJzY3JpYmUoc2V0RGF0YSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB7fSBhcyBHZXREZXNwYXRjaGVzSW5wdXQ7XHJcbiAgfVxyXG5cclxuICBidWlsZEZvcm0oKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVibFZlcnNpb25JZCxcclxuICAgICAgY3VzdG9taXphdGlvbklkLFxyXG4gICAgICBwcm9maWxlSWQsXHJcbiAgICAgIGRlc3BhdGNoSWQsXHJcbiAgICAgIGNvcHlJbmRpY2F0b3IsXHJcbiAgICAgIHV1SWQsXHJcbiAgICAgIGlzc3VlRGF0ZSxcclxuICAgICAgaXNzdWVUaW1lLFxyXG4gICAgICBkZXNwYXRjaEFkdmljZVR5cGVDb2RlLFxyXG4gICAgICBkb2N1bWVudEN1cnJlbmN5Q29kZSxcclxuICAgICAgdGF4Q3VycmVuY3lDb2RlLFxyXG4gICAgICBwcmljaW5nQ3VycmVuY3lDb2RlLFxyXG4gICAgICBwYXltZW50Q3VycmVuY3lDb2RlLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGUsXHJcbiAgICAgIGFjY291bnRpbmdDb3N0LFxyXG4gICAgICBsaW5lQ291bnROdW1lcmljLFxyXG4gICAgICBpbnZvaWNlUGVyaW9kU3RhcnREYXRlLFxyXG4gICAgICBpbnZvaWNlUGVyaW9kU3RhcnRUaW1lLFxyXG4gICAgICBpbnZvaWNlUGVyaW9kRW5kRGF0ZSxcclxuICAgICAgaW52b2ljZVBlcmlvZEVuZFRpbWUsXHJcbiAgICAgIGludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmUsXHJcbiAgICAgIGludm9pY2VQZXJpb2REZXNjcmlwdGlvbixcclxuICAgICAgb3JkZXJSZWZlcmVuY2VJZCxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWQsXHJcbiAgICAgIG9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZU9yZGVyVHlwZUNvZGUsXHJcbiAgICAgIGRlc3BhdGNoU3VwcGxpZXJQYXJ0eU5hbWUsXHJcbiAgICAgIGRlc3BhdGNoU3VwcGxpZXJQYXJ0eVNjaGVtZUlkLFxyXG4gICAgICBkZXNwYXRjaFN1cHBsaWVyUGFydHlWa25UY2tuLFxyXG4gICAgICBkZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lLFxyXG4gICAgICBkZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZCxcclxuICAgICAgZGVsaXZlcnlDdXN0b21lclBhcnR5VmtuVGNrbixcclxuICAgICAgb3JpZ2luYXRvckN1c3RvbWVyUGFydHlQYXJ0eU5hbWUsXHJcbiAgICAgIG9yaWdpbmF0b3JDdXN0b21lclBhcnR5U2NoZW1lSWQsXHJcbiAgICAgIG9yaWdpbmF0b3JDdXN0b21lclBhcnR5VmtuVGNrbixcclxuICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lLFxyXG4gICAgICBhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlkLFxyXG4gICAgICBhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZrblRja24sXHJcbiAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZSxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJZCxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuLFxyXG4gICAgICBidXllckN1c3RvbWVyUGFydHlOYW1lLFxyXG4gICAgICBidXllckN1c3RvbWVyUGFydHlTY2hlbWVJZCxcclxuICAgICAgYnV5ZXJDdXN0b21lclBhcnR5VmtuVGNrbixcclxuICAgICAgc2VsbGVyU3VwcGxpZXJQYXJ0eU5hbWUsXHJcbiAgICAgIHNlbGxlclN1cHBsaWVyUGFydHlTY2hlbWVJZCxcclxuICAgICAgc2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja24sXHJcbiAgICAgIHRheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lLFxyXG4gICAgICB0YXhSZXByZXNlbnRhdGl2ZVBhcnR5U2NoZW1lSWQsXHJcbiAgICAgIHRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUsXHJcbiAgICAgIHRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlLFxyXG4gICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUsXHJcbiAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUsXHJcbiAgICAgIHBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGUsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50LFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudCxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnQsXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudCxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudCxcclxuICAgICAgaXNDYW5jZWxlZCxcclxuICAgICAgcmVjZWl2ZXJSZXNwb25zZSxcclxuICAgICAgcmVjZWl2ZXJSZXNwb25zZURlc2MsXHJcbiAgICAgIHN0YXR1cyxcclxuICAgICAgcmVzb3VyY2VEb2NFbnRyeSxcclxuICAgICAgcmVzb3VyY2VEb2NUeXBlLFxyXG4gICAgICB0YXJnZXREb2NFbnRyeSxcclxuICAgICAgdGFyZ2V0RG9jVHlwZSxcclxuICAgICAgZG9jVHlwZSxcclxuICAgICAgc2VuZGVyR0IsXHJcbiAgICB9ID0gdGhpcy5zZWxlY3RlZCB8fCB7fTtcclxuXHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdWJsVmVyc2lvbklkOiBbdWJsVmVyc2lvbklkID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg4KV1dLFxyXG4gICAgICBjdXN0b21pemF0aW9uSWQ6IFtjdXN0b21pemF0aW9uSWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDgpXV0sXHJcbiAgICAgIHByb2ZpbGVJZDogW3Byb2ZpbGVJZCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXHJcbiAgICAgIGRlc3BhdGNoSWQ6IFtkZXNwYXRjaElkID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcclxuICAgICAgY29weUluZGljYXRvcjogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIHV1SWQ6IFt1dUlkID8/IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcclxuICAgICAgaXNzdWVEYXRlOiBbaXNzdWVEYXRlID8gbmV3IERhdGUoaXNzdWVEYXRlKSA6IG51bGwsIFtdXSxcclxuICAgICAgaXNzdWVUaW1lOiBbaXNzdWVUaW1lID8gbmV3IERhdGUoaXNzdWVUaW1lKSA6IG51bGwsIFtdXSxcclxuICAgICAgZGVzcGF0Y2hBZHZpY2VUeXBlQ29kZTogW1xyXG4gICAgICAgIGRlc3BhdGNoQWR2aWNlVHlwZUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSxcclxuICAgICAgXSxcclxuICAgICAgZG9jdW1lbnRDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBkb2N1bWVudEN1cnJlbmN5Q29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHRheEN1cnJlbmN5Q29kZTogW3RheEN1cnJlbmN5Q29kZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldXSxcclxuICAgICAgcHJpY2luZ0N1cnJlbmN5Q29kZTogW3ByaWNpbmdDdXJyZW5jeUNvZGUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXV0sXHJcbiAgICAgIHBheW1lbnRDdXJyZW5jeUNvZGU6IFtwYXltZW50Q3VycmVuY3lDb2RlID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV1dLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICBhY2NvdW50aW5nQ29zdDogW2FjY291bnRpbmdDb3N0ID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcclxuICAgICAgbGluZUNvdW50TnVtZXJpYzogW2xpbmVDb3VudE51bWVyaWMgPz8gbnVsbCwgW11dLFxyXG4gICAgICBpbnZvaWNlUGVyaW9kU3RhcnREYXRlOiBbXHJcbiAgICAgICAgaW52b2ljZVBlcmlvZFN0YXJ0RGF0ZSA/IG5ldyBEYXRlKGludm9pY2VQZXJpb2RTdGFydERhdGUpIDogbnVsbCxcclxuICAgICAgICBbXSxcclxuICAgICAgXSxcclxuICAgICAgaW52b2ljZVBlcmlvZFN0YXJ0VGltZTogW1xyXG4gICAgICAgIGludm9pY2VQZXJpb2RTdGFydFRpbWUgPyBuZXcgRGF0ZShpbnZvaWNlUGVyaW9kU3RhcnRUaW1lKSA6IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIGludm9pY2VQZXJpb2RFbmREYXRlOiBbaW52b2ljZVBlcmlvZEVuZERhdGUgPyBuZXcgRGF0ZShpbnZvaWNlUGVyaW9kRW5kRGF0ZSkgOiBudWxsLCBbXV0sXHJcbiAgICAgIGludm9pY2VQZXJpb2RFbmRUaW1lOiBbaW52b2ljZVBlcmlvZEVuZFRpbWUgPyBuZXcgRGF0ZShpbnZvaWNlUGVyaW9kRW5kVGltZSkgOiBudWxsLCBbXV0sXHJcbiAgICAgIGludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmU6IFtcclxuICAgICAgICBpbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlID8gbmV3IERhdGUoaW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZSkgOiBudWxsLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICBdLFxyXG4gICAgICBpbnZvaWNlUGVyaW9kRGVzY3JpcHRpb246IFtpbnZvaWNlUGVyaW9kRGVzY3JpcHRpb24gPz8gbnVsbCwgW11dLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUlkOiBbb3JkZXJSZWZlcmVuY2VJZCA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXHJcbiAgICAgIG9yZGVyUmVmZXJlbmNlU2FsZXNPcmRlcklkOiBbb3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDY0KV1dLFxyXG4gICAgICBvcmRlclJlZmVyZW5jZUlzc3VlRGF0ZTogW1xyXG4gICAgICAgIG9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlID8gbmV3IERhdGUob3JkZXJSZWZlcmVuY2VJc3N1ZURhdGUpIDogbnVsbCxcclxuICAgICAgICBbXSxcclxuICAgICAgXSxcclxuICAgICAgb3JkZXJSZWZlcmVuY2VPcmRlclR5cGVDb2RlOiBbXHJcbiAgICAgICAgb3JkZXJSZWZlcmVuY2VPcmRlclR5cGVDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDY0KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGRlc3BhdGNoU3VwcGxpZXJQYXJ0eU5hbWU6IFtkZXNwYXRjaFN1cHBsaWVyUGFydHlOYW1lID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXHJcbiAgICAgIGRlc3BhdGNoU3VwcGxpZXJQYXJ0eVNjaGVtZUlkOiBbXHJcbiAgICAgICAgZGVzcGF0Y2hTdXBwbGllclBhcnR5U2NoZW1lSWQgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoOCldLFxyXG4gICAgICBdLFxyXG4gICAgICBkZXNwYXRjaFN1cHBsaWVyUGFydHlWa25UY2tuOiBbXHJcbiAgICAgICAgZGVzcGF0Y2hTdXBwbGllclBhcnR5VmtuVGNrbiA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildLFxyXG4gICAgICBdLFxyXG4gICAgICBkZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lOiBbZGVsaXZlcnlDdXN0b21lclBhcnR5TmFtZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxyXG4gICAgICBkZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZDogW1xyXG4gICAgICAgIGRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVNjaGVtZUlkID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDgpXSxcclxuICAgICAgXSxcclxuICAgICAgZGVsaXZlcnlDdXN0b21lclBhcnR5VmtuVGNrbjogW1xyXG4gICAgICAgIGRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVZrblRja24gPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTYpXSxcclxuICAgICAgXSxcclxuICAgICAgb3JpZ2luYXRvckN1c3RvbWVyUGFydHlQYXJ0eU5hbWU6IFtcclxuICAgICAgICBvcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVBhcnR5TmFtZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXSxcclxuICAgICAgXSxcclxuICAgICAgb3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZDogW1xyXG4gICAgICAgIG9yaWdpbmF0b3JDdXN0b21lclBhcnR5U2NoZW1lSWQgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoOCldLFxyXG4gICAgICBdLFxyXG4gICAgICBvcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja246IFtcclxuICAgICAgICBvcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja24gPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTYpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lOiBbXHJcbiAgICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildLFxyXG4gICAgICBdLFxyXG4gICAgICBhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlkOiBbXHJcbiAgICAgICAgYWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJZCA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCg4KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrbjogW1xyXG4gICAgICAgIGFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrbiA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildLFxyXG4gICAgICBdLFxyXG4gICAgICBhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWU6IFtcclxuICAgICAgICBhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSWQ6IFtcclxuICAgICAgICBhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDgpXSxcclxuICAgICAgXSxcclxuICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuOiBbXHJcbiAgICAgICAgYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGJ1eWVyQ3VzdG9tZXJQYXJ0eU5hbWU6IFtidXllckN1c3RvbWVyUGFydHlOYW1lID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXHJcbiAgICAgIGJ1eWVyQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkOiBbYnV5ZXJDdXN0b21lclBhcnR5U2NoZW1lSWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDgpXV0sXHJcbiAgICAgIGJ1eWVyQ3VzdG9tZXJQYXJ0eVZrblRja246IFtidXllckN1c3RvbWVyUGFydHlWa25UY2tuID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxNildXSxcclxuICAgICAgc2VsbGVyU3VwcGxpZXJQYXJ0eU5hbWU6IFtzZWxsZXJTdXBwbGllclBhcnR5TmFtZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxyXG4gICAgICBzZWxsZXJTdXBwbGllclBhcnR5U2NoZW1lSWQ6IFtzZWxsZXJTdXBwbGllclBhcnR5U2NoZW1lSWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDgpXV0sXHJcbiAgICAgIHNlbGxlclN1cHBsaWVyUGFydHlWa25UY2tuOiBbc2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja24gPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDE2KV1dLFxyXG4gICAgICB0YXhSZXByZXNlbnRhdGl2ZVBhcnR5TmFtZTogW3RheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXV0sXHJcbiAgICAgIHRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZDogW1xyXG4gICAgICAgIHRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZCA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCg4KV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuOiBbXHJcbiAgICAgICAgdGF4UmVwcmVzZW50YXRpdmVQYXJ0eVZrblRja24gPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTYpXSxcclxuICAgICAgXSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgdGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgdGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlOiBbdGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlID8/IG51bGwsIFtdXSxcclxuICAgICAgdGF4RXhjaGFuZ2VSYXRlRGF0ZTogW3RheEV4Y2hhbmdlUmF0ZURhdGUgPyBuZXcgRGF0ZSh0YXhFeGNoYW5nZVJhdGVEYXRlKSA6IG51bGwsIFtdXSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZTogW1xyXG4gICAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlOiBbXHJcbiAgICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSA/PyBudWxsLFxyXG4gICAgICAgIFtWYWxpZGF0b3JzLm1heExlbmd0aCgzKV0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGU6IFtwcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlID8/IG51bGwsIFtdXSxcclxuICAgICAgcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGU6IFtcclxuICAgICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZSA/IG5ldyBEYXRlKHByaWNpbmdFeGNoYW5nZVJhdGVEYXRlKSA6IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlID8/IG51bGwsXHJcbiAgICAgICAgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDMpXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZTogW1xyXG4gICAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICBwYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlOiBbcGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIHBheW1lbnRFeGNoYW5nZVJhdGVEYXRlOiBbXHJcbiAgICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUgPyBuZXcgRGF0ZShwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZSkgOiBudWxsLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICBdLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGU6IFtcclxuICAgICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUgPz8gbnVsbCxcclxuICAgICAgICBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMyldLFxyXG4gICAgICBdLFxyXG4gICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGU6IFtcclxuICAgICAgICBwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgPz8gbnVsbCxcclxuICAgICAgICBbXSxcclxuICAgICAgXSxcclxuICAgICAgcGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZTogW3BheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50OiBbbGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50OiBbbGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICBsZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudDogW2xlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50ID8/IG51bGwsIFtdXSxcclxuICAgICAgbGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50OiBbXHJcbiAgICAgICAgbGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50ID8/IG51bGwsXHJcbiAgICAgICAgW10sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQ6IFtsZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50ID8/IG51bGwsIFtdXSxcclxuICAgICAgaXNDYW5jZWxlZDogW2ZhbHNlLCBbXV0sXHJcbiAgICAgIHJlY2VpdmVyUmVzcG9uc2U6IFtyZWNlaXZlclJlc3BvbnNlID8/IG51bGwsIFtdXSxcclxuICAgICAgcmVjZWl2ZXJSZXNwb25zZURlc2M6IFtyZWNlaXZlclJlc3BvbnNlRGVzYyA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAyNCldXSxcclxuICAgICAgc3RhdHVzOiBbc3RhdHVzID8/IG51bGwsIFtdXSxcclxuICAgICAgcmVzb3VyY2VEb2NFbnRyeTogW3Jlc291cmNlRG9jRW50cnkgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDY0KV1dLFxyXG4gICAgICByZXNvdXJjZURvY1R5cGU6IFtyZXNvdXJjZURvY1R5cGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICB0YXJnZXREb2NFbnRyeTogW3RhcmdldERvY0VudHJ5ID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg2NCldXSxcclxuICAgICAgdGFyZ2V0RG9jVHlwZTogW3RhcmdldERvY1R5cGUgPz8gbnVsbCwgW11dLFxyXG4gICAgICBkb2NUeXBlOiBbZG9jVHlwZSA/PyBudWxsLCBbXV0sXHJcbiAgICAgIHNlbmRlckdCOiBbc2VuZGVyR0IgPz8gbnVsbCwgW11dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuaXNNb2RhbE9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0oKSB7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgdGhpcy5pc01vZGFsT3BlbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VsZWN0ZWRcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuc2VsZWN0ZWQuaWQsIHtcclxuICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcclxuICAgICAgICAgIGNvbmN1cnJlbmN5U3RhbXA6IHRoaXMuc2VsZWN0ZWQuY29uY3VycmVuY3lTdGFtcCxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy5mb3JtLnZhbHVlKTtcclxuXHJcbiAgICB0aGlzLmlzTW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICByZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTW9kYWxCdXN5ID0gZmFsc2UpKSxcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5oaWRlRm9ybSgpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5saXN0LmdldCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93Rm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHJlY29yZDogRGVzcGF0Y2hEdG8pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSByZWNvcmQ7XHJcbiAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUocmVjb3JkOiBEZXNwYXRjaER0bykge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25cclxuICAgICAgLndhcm4oJ2VEb251c3VtOjpEZWxldGVDb25maXJtYXRpb25NZXNzYWdlJywgJ2VEb251c3VtOjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtdLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmRlbGV0ZShyZWNvcmQuaWQpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5saXN0LmdldCk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRUb0V4Y2VsKCkge1xyXG4gICAgdGhpcy5pc0V4cG9ydFRvRXhjZWxCdXN5ID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0RG93bmxvYWRUb2tlbigpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoeyB0b2tlbiB9KSA9PlxyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmdldExpc3RBc0V4Y2VsRmlsZSh7IGRvd25sb2FkVG9rZW46IHRva2VuLCBmaWx0ZXJUZXh0OiB0aGlzLmxpc3QuZmlsdGVyIH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc0V4cG9ydFRvRXhjZWxCdXN5ID0gZmFsc2UpKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBkb3dubG9hZEJsb2IocmVzdWx0LCAnRGVzcGF0Y2gueGxzeCcpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInZURvbnVzdW06OkRlc3BhdGNoZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG14LTJcIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0V4cG9ydFRvRXhjZWxCdXN5XCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwb3J0VG9FeGNlbCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6RXhwb3J0VG9FeGNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKmFicFBlcm1pc3Npb249XCInZURvbnVzdW0uRGVzcGF0Y2hlcy5DcmVhdGUnXCJcclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICB7eyAnZURvbnVzdW06Ok5ld0Rlc3BhdGNoJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcblxyXG4gIDxhYnAtYWR2YW5jZWQtZW50aXR5LWZpbHRlcnMgbG9jYWxpemF0aW9uU291cmNlTmFtZT1cImVEb251c3VtXCIgW2xpc3RdPVwibGlzdFwiPlxyXG4gICAgPGFicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycy1mb3JtPlxyXG4gICAgICA8Zm9ybSAjZmlsdGVyRm9ybSAoa2V5dXAuZW50ZXIpPVwibGlzdC5nZXQoKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwidWJsVmVyc2lvbklkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlVibFZlcnNpb25JZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwidWJsVmVyc2lvbklkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy51YmxWZXJzaW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJjdXN0b21pemF0aW9uSWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6Q3VzdG9taXphdGlvbklkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjdXN0b21pemF0aW9uSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmN1c3RvbWl6YXRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInByb2ZpbGVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcm9maWxlSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInByb2ZpbGVJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJvZmlsZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2hJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaElkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaElkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaElkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiY29weUluZGljYXRvckZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpDb3B5SW5kaWNhdG9yJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJjb3B5SW5kaWNhdG9yXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiY29weUluZGljYXRvckZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuY29weUluZGljYXRvclwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJsaXN0LmdldCgpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+e3sgJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+e3sgJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwidXVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVdUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ1dUlkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy51dUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluSXNzdWVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbklzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSXNzdWVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluSXNzdWVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbklzc3VlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbklzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbklzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVEYXRlTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluSXNzdWVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heElzc3VlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJc3N1ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heElzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heElzc3VlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJc3N1ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJc3N1ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhJc3N1ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heElzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVEYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4SXNzdWVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluSXNzdWVUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbklzc3VlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSXNzdWVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluSXNzdWVUaW1lSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbklzc3VlVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbklzc3VlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbklzc3VlVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVUaW1lTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluSXNzdWVUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Jc3N1ZVRpbWVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heElzc3VlVGltZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJc3N1ZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heElzc3VlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heElzc3VlVGltZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJc3N1ZVRpbWVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJc3N1ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heElzc3VlVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaXNzdWVUaW1lTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4SXNzdWVUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJc3N1ZVRpbWVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2hBZHZpY2VUeXBlQ29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaEFkdmljZVR5cGVDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaEFkdmljZVR5cGVDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZXNwYXRjaEFkdmljZVR5cGVDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZG9jdW1lbnRDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RG9jdW1lbnRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImRvY3VtZW50Q3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kb2N1bWVudEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInRheEN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInRheEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJpY2luZ0N1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmljaW5nQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcmljaW5nQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGF5bWVudEN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwYXltZW50Q3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJhY2NvdW50aW5nQ29zdEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ29zdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYWNjb3VudGluZ0Nvc3RGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmFjY291bnRpbmdDb3N0XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGluZUNvdW50TnVtZXJpY1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MaW5lQ291bnROdW1lcmljJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MaW5lQ291bnROdW1lcmljXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxpbmVDb3VudE51bWVyaWNNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGluZUNvdW50TnVtZXJpY1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMaW5lQ291bnROdW1lcmljJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMaW5lQ291bnROdW1lcmljXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxpbmVDb3VudE51bWVyaWNNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkludm9pY2VQZXJpb2RTdGFydERhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1pbkludm9pY2VQZXJpb2RTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kU3RhcnREYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbkludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbkludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbkludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2RTdGFydERhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnREYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5JbnZvaWNlUGVyaW9kU3RhcnREYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluSW52b2ljZVBlcmlvZFN0YXJ0RGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4SW52b2ljZVBlcmlvZFN0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJbnZvaWNlUGVyaW9kU3RhcnREYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtYXhJbnZvaWNlUGVyaW9kU3RhcnREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZFN0YXJ0RGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJbnZvaWNlUGVyaW9kU3RhcnREYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4SW52b2ljZVBlcmlvZFN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heEludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heEludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2RTdGFydERhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhJbnZvaWNlUGVyaW9kU3RhcnREYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJbnZvaWNlUGVyaW9kU3RhcnREYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SW52b2ljZVBlcmlvZFN0YXJ0RGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkludm9pY2VQZXJpb2RTdGFydFRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1pbkludm9pY2VQZXJpb2RTdGFydFRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kU3RhcnRUaW1lSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbkludm9pY2VQZXJpb2RTdGFydFRpbWVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbkludm9pY2VQZXJpb2RTdGFydFRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbkludm9pY2VQZXJpb2RTdGFydFRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2RTdGFydFRpbWVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5JbnZvaWNlUGVyaW9kU3RhcnRUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5JbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluSW52b2ljZVBlcmlvZFN0YXJ0VGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4SW52b2ljZVBlcmlvZFN0YXJ0VGltZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJbnZvaWNlUGVyaW9kU3RhcnRUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtYXhJbnZvaWNlUGVyaW9kU3RhcnRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZFN0YXJ0VGltZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4SW52b2ljZVBlcmlvZFN0YXJ0VGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heEludm9pY2VQZXJpb2RTdGFydFRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heEludm9pY2VQZXJpb2RTdGFydFRpbWVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2RTdGFydFRpbWVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhJbnZvaWNlUGVyaW9kU3RhcnRUaW1lSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SW52b2ljZVBlcmlvZFN0YXJ0VGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSW52b2ljZVBlcmlvZEVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbkludm9pY2VQZXJpb2RFbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbkludm9pY2VQZXJpb2RFbmREYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaW52b2ljZVBlcmlvZEVuZERhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluSW52b2ljZVBlcmlvZEVuZERhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5JbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4SW52b2ljZVBlcmlvZEVuZERhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4SW52b2ljZVBlcmlvZEVuZERhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heEludm9pY2VQZXJpb2RFbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZEVuZERhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZEVuZERhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJbnZvaWNlUGVyaW9kRW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heEludm9pY2VQZXJpb2RFbmREYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhJbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaW52b2ljZVBlcmlvZEVuZERhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhJbnZvaWNlUGVyaW9kRW5kRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SW52b2ljZVBlcmlvZEVuZERhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5JbnZvaWNlUGVyaW9kRW5kVGltZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5JbnZvaWNlUGVyaW9kRW5kVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluSW52b2ljZVBlcmlvZEVuZFRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kRW5kVGltZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbkludm9pY2VQZXJpb2RFbmRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbkludm9pY2VQZXJpb2RFbmRUaW1lRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5JbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaW52b2ljZVBlcmlvZEVuZFRpbWVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5JbnZvaWNlUGVyaW9kRW5kVGltZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluSW52b2ljZVBlcmlvZEVuZFRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5JbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4SW52b2ljZVBlcmlvZEVuZFRpbWVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4SW52b2ljZVBlcmlvZEVuZFRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heEludm9pY2VQZXJpb2RFbmRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZEVuZFRpbWVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZEVuZFRpbWVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhJbnZvaWNlUGVyaW9kRW5kVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heEludm9pY2VQZXJpb2RFbmRUaW1lRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhJbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuaW52b2ljZVBlcmlvZEVuZFRpbWVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhJbnZvaWNlUGVyaW9kRW5kVGltZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SW52b2ljZVBlcmlvZEVuZFRpbWVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5JbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1pbkludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5JbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pbkludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5JbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbkludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pbkludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5JbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5JbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluSW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4SW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhJbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtYXhJbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4SW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhJbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4SW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heEludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heEludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhJbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhJbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4SW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpbnZvaWNlUGVyaW9kRGVzY3JpcHRpb25GaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SW52b2ljZVBlcmlvZERlc2NyaXB0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJpbnZvaWNlUGVyaW9kRGVzY3JpcHRpb25GaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmludm9pY2VQZXJpb2REZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm9yZGVyUmVmZXJlbmNlSWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6T3JkZXJSZWZlcmVuY2VJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwib3JkZXJSZWZlcmVuY2VJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VJZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm9yZGVyUmVmZXJlbmNlU2FsZXNPcmRlcklkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlU2FsZXNPcmRlcklkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJvcmRlclJlZmVyZW5jZVNhbGVzT3JkZXJJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluT3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pbk9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pbk9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluT3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5PcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4T3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4T3JkZXJSZWZlcmVuY2VJc3N1ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heE9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4T3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4T3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heE9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4T3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJvcmRlclJlZmVyZW5jZU9yZGVyVHlwZUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6T3JkZXJSZWZlcmVuY2VPcmRlclR5cGVDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJvcmRlclJlZmVyZW5jZU9yZGVyVHlwZUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLm9yZGVyUmVmZXJlbmNlT3JkZXJUeXBlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoU3VwcGxpZXJQYXJ0eU5hbWVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVzcGF0Y2hTdXBwbGllclBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2hTdXBwbGllclBhcnR5TmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVzcGF0Y2hTdXBwbGllclBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoU3VwcGxpZXJQYXJ0eVNjaGVtZUlkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc3BhdGNoU3VwcGxpZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaFN1cHBsaWVyUGFydHlTY2hlbWVJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGVzcGF0Y2hTdXBwbGllclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaFN1cHBsaWVyUGFydHlWa25UY2tuRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc3BhdGNoU3VwcGxpZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoU3VwcGxpZXJQYXJ0eVZrblRja25GaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlc3BhdGNoU3VwcGxpZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eU5hbWVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVsaXZlcnlDdXN0b21lclBhcnR5U2NoZW1lSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVsaXZlcnlDdXN0b21lclBhcnR5VmtuVGNrbkZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWxpdmVyeUN1c3RvbWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlWa25UY2tuRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5kZWxpdmVyeUN1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwib3JpZ2luYXRvckN1c3RvbWVyUGFydHlQYXJ0eU5hbWVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6T3JpZ2luYXRvckN1c3RvbWVyUGFydHlQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5UGFydHlOYW1lRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5vcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5U2NoZW1lSWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6T3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwib3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5VmtuVGNrbkZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5VmtuVGNrbkZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMub3JpZ2luYXRvckN1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVNjaGVtZUlkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZrblRja25GaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ1N1cHBsaWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZrblRja25GaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdDdXN0b21lclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5hY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJidXllckN1c3RvbWVyUGFydHlOYW1lRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkJ1eWVyQ3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cImJ1eWVyQ3VzdG9tZXJQYXJ0eU5hbWVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmJ1eWVyQ3VzdG9tZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJidXllckN1c3RvbWVyUGFydHlTY2hlbWVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpCdXllckN1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwiYnV5ZXJDdXN0b21lclBhcnR5U2NoZW1lSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmJ1eWVyQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiYnV5ZXJDdXN0b21lclBhcnR5VmtuVGNrbkZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpCdXllckN1c3RvbWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJidXllckN1c3RvbWVyUGFydHlWa25UY2tuRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5idXllckN1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwic2VsbGVyU3VwcGxpZXJQYXJ0eU5hbWVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6U2VsbGVyU3VwcGxpZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInNlbGxlclN1cHBsaWVyUGFydHlOYW1lRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5zZWxsZXJTdXBwbGllclBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInNlbGxlclN1cHBsaWVyUGFydHlTY2hlbWVJZEZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpTZWxsZXJTdXBwbGllclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInNlbGxlclN1cHBsaWVyUGFydHlTY2hlbWVJZEZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc2VsbGVyU3VwcGxpZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwic2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja25GaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6U2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInNlbGxlclN1cHBsaWVyUGFydHlWa25UY2tuRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5zZWxsZXJTdXBwbGllclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInRheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0YXhSZXByZXNlbnRhdGl2ZVBhcnR5TmFtZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4UmVwcmVzZW50YXRpdmVQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ0YXhSZXByZXNlbnRhdGl2ZVBhcnR5U2NoZW1lSWRGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4UmVwcmVzZW50YXRpdmVQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0YXhSZXByZXNlbnRhdGl2ZVBhcnR5U2NoZW1lSWRGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0YXhSZXByZXNlbnRhdGl2ZVBhcnR5VmtuVGNrbkZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4UmVwcmVzZW50YXRpdmVQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluVGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluVGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhUYXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4VGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhUYXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMudGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5UYXhFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtaW5UYXhFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWluVGF4RXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5UYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtaW5UYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5UYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy50YXhFeGNoYW5nZVJhdGVEYXRlTWluXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWluVGF4RXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluVGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pblRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heFRheEV4Y2hhbmdlUmF0ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21heFRheEV4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFRheEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYXhUYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhUYXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy50YXhFeGNoYW5nZVJhdGVEYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4VGF4RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1heFRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhQcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWluUHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pblByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWluUHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5QcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBpZD1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAjbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAjbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1heFByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4UHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJwYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5QYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJtaW5QYXltZW50RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgI21pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAgICAgI21pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWluUGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluUGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50RXhjaGFuZ2VSYXRlRGF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5QYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pblBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWF4UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICNtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgICNtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWF4UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci50b2dnbGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50RXhjaGFuZ2VSYXRlRGF0ZU1heFwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhQYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1heFBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgZm9yPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5wYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgIGZvcj1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlTWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluUGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5QYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heExlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudE1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1pbkxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5sZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsQWxsb3dhbmNlVG90YWxBbW91bnRNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluTGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4TGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heExlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbENoYXJnZVRvdGFsQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50XCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwibWluTGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudE1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWF4TGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMubGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZVJvdW5kaW5nQW1vdW50TWF4XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluTGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5MZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5MZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnRNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4TGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnRNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJpc0NhbmNlbGVkRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OklzQ2FuY2VsZWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzQ2FuY2VsZWRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJpc0NhbmNlbGVkRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5pc0NhbmNlbGVkXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImxpc3QuZ2V0KClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj57eyAnQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj57eyAnQWJwVWk6Ok5vJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5SZWNlaXZlclJlc3BvbnNlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pblJlY2VpdmVyUmVzcG9uc2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pblJlY2VpdmVyUmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVjZWl2ZXJSZXNwb25zZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhSZWNlaXZlclJlc3BvbnNlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heFJlY2VpdmVyUmVzcG9uc2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFJlY2VpdmVyUmVzcG9uc2VcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVjZWl2ZXJSZXNwb25zZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInJlY2VpdmVyUmVzcG9uc2VEZXNjRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlJlY2VpdmVyUmVzcG9uc2VEZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJyZWNlaXZlclJlc3BvbnNlRGVzY0ZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVjZWl2ZXJSZXNwb25zZURlc2NcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5TdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluU3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5TdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc3RhdHVzTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heFN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5zdGF0dXNNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJyZXNvdXJjZURvY0VudHJ5RmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlJlc291cmNlRG9jRW50cnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInJlc291cmNlRG9jRW50cnlGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnJlc291cmNlRG9jRW50cnlcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5SZXNvdXJjZURvY1R5cGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TWluUmVzb3VyY2VEb2NUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5SZXNvdXJjZURvY1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMucmVzb3VyY2VEb2NUeXBlTWluXCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm1heFJlc291cmNlRG9jVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhSZXNvdXJjZURvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heFJlc291cmNlRG9jVHlwZVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVycy5yZXNvdXJjZURvY1R5cGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ0YXJnZXREb2NFbnRyeUZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXJnZXREb2NFbnRyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwidGFyZ2V0RG9jRW50cnlGaWx0ZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRhcmdldERvY0VudHJ5XCJcclxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWluVGFyZ2V0RG9jVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNaW5UYXJnZXREb2NUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtaW5UYXJnZXREb2NUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRhcmdldERvY1R5cGVNaW5cIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibWF4VGFyZ2V0RG9jVHlwZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpNYXhUYXJnZXREb2NUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJtYXhUYXJnZXREb2NUeXBlXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLnRhcmdldERvY1R5cGVNYXhcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtaW5Eb2NUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1pbkRvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1pbkRvY1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZG9jVHlwZU1pblwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tYXV0b1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJtYXhEb2NUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok1heERvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cIm1heERvY1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZG9jVHlwZU1heFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInNlbmRlckdCRmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlNlbmRlckdCJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzZW5kZXJHQkZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc2VuZGVyR0JcIlxyXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLWF1dG8gYWxpZ24tc2VsZi1lbmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1zbS1hdXRvIGQtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtc20tYXV0byBkLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImxpc3QuZ2V0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0FicFVpOjpSZWZyZXNoJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2FicC1hZHZhbmNlZC1lbnRpdHktZmlsdGVycy1mb3JtPlxyXG4gIDwvYWJwLWFkdmFuY2VkLWVudGl0eS1maWx0ZXJzPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8bmd4LWRhdGF0YWJsZSBbcm93c109XCJkYXRhLml0ZW1zXCIgW2NvdW50XT1cImRhdGEudG90YWxDb3VudFwiIFtsaXN0XT1cImxpc3RcIiBkZWZhdWx0PlxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgW25hbWVdPVwiJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICBbbWF4V2lkdGhdPVwiMTUwXCJcclxuICAgICAgICAgIFt3aWR0aF09XCIxNTBcIlxyXG4gICAgICAgICAgW3NvcnRhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwicm93SW5kZXhcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudT5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLkRlc3BhdGNoZXMuRWRpdCdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidlRG9udXN1bS5EZXNwYXRjaGVzLkRlbGV0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpVYmxWZXJzaW9uSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJ1YmxWZXJzaW9uSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudWJsVmVyc2lvbklkIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6Q3VzdG9taXphdGlvbklkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiY3VzdG9taXphdGlvbklkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmN1c3RvbWl6YXRpb25JZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6UHJvZmlsZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHByb3A9XCJwcm9maWxlSWRcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJvZmlsZUlkIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVzcGF0Y2hJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImRlc3BhdGNoSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuZGVzcGF0Y2hJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkNvcHlJbmRpY2F0b3InIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJjb3B5SW5kaWNhdG9yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInJvdy5jb3B5SW5kaWNhdG9yXCIgW25nSWZUaGVuXT1cInllc1wiIFtuZ0lmRWxzZV09XCJub1wiPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3llcz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpZZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW3RpdGxlXT1cIidBYnBVaTo6Tm8nIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtbiBuYW1lPVwie3sgJ2VEb251c3VtOjpVdUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHByb3A9XCJ1dUlkXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnV1SWQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uIG5hbWU9XCJ7eyAnZURvbnVzdW06Oklzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBwcm9wPVwiaXNzdWVEYXRlXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lmlzc3VlRGF0ZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uIG5hbWU9XCJ7eyAnZURvbnVzdW06Oklzc3VlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBwcm9wPVwiaXNzdWVUaW1lXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lmlzc3VlVGltZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZXNwYXRjaEFkdmljZVR5cGVDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiZGVzcGF0Y2hBZHZpY2VUeXBlQ29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZXNwYXRjaEFkdmljZVR5cGVDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RG9jdW1lbnRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkb2N1bWVudEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kb2N1bWVudEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlRheEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRheEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy50YXhDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcmljaW5nQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJpY2luZ0N1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcmljaW5nQ3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucGF5bWVudEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRBbHRlcm5hdGl2ZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ29zdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImFjY291bnRpbmdDb3N0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmFjY291bnRpbmdDb3N0IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGluZUNvdW50TnVtZXJpYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImxpbmVDb3VudE51bWVyaWNcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cubGluZUNvdW50TnVtZXJpYyB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okludm9pY2VQZXJpb2RTdGFydERhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJpbnZvaWNlUGVyaW9kU3RhcnREYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lmludm9pY2VQZXJpb2RTdGFydERhdGUgfCBkYXRlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SW52b2ljZVBlcmlvZFN0YXJ0VGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImludm9pY2VQZXJpb2RTdGFydFRpbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaW52b2ljZVBlcmlvZFN0YXJ0VGltZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJbnZvaWNlUGVyaW9kRW5kRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImludm9pY2VQZXJpb2RFbmREYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lmludm9pY2VQZXJpb2RFbmREYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Okludm9pY2VQZXJpb2RFbmRUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiaW52b2ljZVBlcmlvZEVuZFRpbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaW52b2ljZVBlcmlvZEVuZFRpbWUgfCBkYXRlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpJbnZvaWNlUGVyaW9kRGVzY3JpcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJpbnZvaWNlUGVyaW9kRGVzY3JpcHRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuaW52b2ljZVBlcmlvZERlc2NyaXB0aW9uIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6T3JkZXJSZWZlcmVuY2VJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yZGVyUmVmZXJlbmNlSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cub3JkZXJSZWZlcmVuY2VJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlU2FsZXNPcmRlcklkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwib3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cub3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lm9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlT3JkZXJUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yZGVyUmVmZXJlbmNlT3JkZXJUeXBlQ29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5vcmRlclJlZmVyZW5jZU9yZGVyVHlwZUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZXNwYXRjaFN1cHBsaWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiZGVzcGF0Y2hTdXBwbGllclBhcnR5TmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZXNwYXRjaFN1cHBsaWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVzcGF0Y2hTdXBwbGllclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZXNwYXRjaFN1cHBsaWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZXNwYXRjaFN1cHBsaWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkRlc3BhdGNoU3VwcGxpZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZXNwYXRjaFN1cHBsaWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRlc3BhdGNoU3VwcGxpZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpEZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiZGVsaXZlcnlDdXN0b21lclBhcnR5TmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6RGVsaXZlcnlDdXN0b21lclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpPcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5UGFydHlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93Lm9yaWdpbmF0b3JDdXN0b21lclBhcnR5UGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6T3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cub3JpZ2luYXRvckN1c3RvbWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06Ok9yaWdpbmF0b3JDdXN0b21lclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5vcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ1N1cHBsaWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5hY2NvdW50aW5nU3VwcGxpZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eU5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImFjY291bnRpbmdDdXN0b21lclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuYWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkFjY291bnRpbmdDdXN0b21lclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImFjY291bnRpbmdDdXN0b21lclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5hY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpCdXllckN1c3RvbWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwiYnV5ZXJDdXN0b21lclBhcnR5TmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5idXllckN1c3RvbWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6QnV5ZXJDdXN0b21lclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJidXllckN1c3RvbWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5idXllckN1c3RvbWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkJ1eWVyQ3VzdG9tZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJidXllckN1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmJ1eWVyQ3VzdG9tZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpTZWxsZXJTdXBwbGllclBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInNlbGxlclN1cHBsaWVyUGFydHlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnNlbGxlclN1cHBsaWVyUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6U2VsbGVyU3VwcGxpZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwic2VsbGVyU3VwcGxpZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnNlbGxlclN1cHBsaWVyUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlNlbGxlclN1cHBsaWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwic2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuc2VsbGVyU3VwcGxpZXJQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhSZXByZXNlbnRhdGl2ZVBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRheFJlcHJlc2VudGF0aXZlUGFydHlOYW1lIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VGF4UmVwcmVzZW50YXRpdmVQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4UmVwcmVzZW50YXRpdmVQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4UmVwcmVzZW50YXRpdmVQYXJ0eVZrblRja25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudGF4UmVwcmVzZW50YXRpdmVQYXJ0eVZrblRja24gfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJ0YXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRheEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy50YXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwidGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy50YXhFeGNoYW5nZVJhdGVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnByaWNpbmdFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJpY2luZ0V4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlByaWNpbmdFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGUgfCBkYXRlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInBheW1lbnRFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwYXltZW50RXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wYXltZW50RXhjaGFuZ2VSYXRlRGF0ZSB8IGRhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3tcclxuICAgICAgICAgICAgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7e1xyXG4gICAgICAgICAgICAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgICAgIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVEYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5sZWdhbE1vbmV0YXJ5VG90YWxMaW5lRXh0ZW5zaW9uQW1vdW50IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsVGF4RXhjbHVzaXZlQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5sZWdhbE1vbmV0YXJ5VG90YWxUYXhJbmNsdXNpdmVBbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LmxlZ2FsTW9uZXRhcnlUb3RhbEFsbG93YW5jZVRvdGFsQW1vdW50IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJsZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5sZWdhbE1vbmV0YXJ5VG90YWxDaGFyZ2VUb3RhbEFtb3VudCB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5sZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnQgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50JyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwibGVnYWxNb25ldGFyeVRvdGFsUGF5YWJsZUFtb3VudFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5sZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlQW1vdW50IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6SXNDYW5jZWxlZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cImlzQ2FuY2VsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93LmlzQ2FuY2VsZWRcIiBbbmdJZlRoZW5dPVwieWVzXCIgW25nSWZFbHNlXT1cIm5vXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjeWVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCInQWJwVWk6OlllcycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiJ0FicFVpOjpObycgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpSZWNlaXZlclJlc3BvbnNlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBwcm9wPVwicmVjZWl2ZXJSZXNwb25zZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5yZWNlaXZlclJlc3BvbnNlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UmVjZWl2ZXJSZXNwb25zZURlc2MnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIHByb3A9XCJyZWNlaXZlclJlc3BvbnNlRGVzY1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5yZWNlaXZlclJlc3BvbnNlRGVzYyB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHByb3A9XCJzdGF0dXNcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuc3RhdHVzIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6UmVzb3VyY2VEb2NFbnRyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInJlc291cmNlRG9jRW50cnlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cucmVzb3VyY2VEb2NFbnRyeSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAgICAgICAgIG5hbWU9XCJ7eyAnZURvbnVzdW06OlJlc291cmNlRG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInJlc291cmNlRG9jVHlwZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5yZXNvdXJjZURvY1R5cGUgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgICBuYW1lPVwie3sgJ2VEb251c3VtOjpUYXJnZXREb2NFbnRyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRhcmdldERvY0VudHJ5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgcm93LnRhcmdldERvY0VudHJ5IH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICAgICAgICAgbmFtZT1cInt7ICdlRG9udXN1bTo6VGFyZ2V0RG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgcHJvcD1cInRhcmdldERvY1R5cGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cudGFyZ2V0RG9jVHlwZSB9fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW4gbmFtZT1cInt7ICdlRG9udXN1bTo6RG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBwcm9wPVwiZG9jVHlwZVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIHt7IHJvdy5kb2NUeXBlIH19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtbiBuYW1lPVwie3sgJ2VEb251c3VtOjpTZW5kZXJHQicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBwcm9wPVwic2VuZGVyR0JcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyByb3cuc2VuZGVyR0IgfX1cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgICAgPC9uZ3gtZGF0YXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48YWJwLW1vZGFsIFtidXN5XT1cImlzTW9kYWxCdXN5XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdEZXNwYXRjaCcpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwiZGVzcGF0Y2hcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZmFkZS1pbi10b3BcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXVibC12ZXJzaW9uLWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VWJsVmVyc2lvbklkJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXVibC12ZXJzaW9uLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidWJsVmVyc2lvbklkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtY3VzdG9taXphdGlvbi1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkN1c3RvbWl6YXRpb25JZCcgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1jdXN0b21pemF0aW9uLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3VzdG9taXphdGlvbklkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1wcm9maWxlLWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJvZmlsZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXByb2ZpbGUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9maWxlSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjMyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1kZXNwYXRjaC1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc3BhdGNoSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19ICpcclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtZGVzcGF0Y2gtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNwYXRjaElkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzMlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWNvcHktaW5kaWNhdG9yXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29weUluZGljYXRvclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNwYXRjaC1jb3B5LWluZGljYXRvclwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkNvcHlJbmRpY2F0b3InIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtdXUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpVdUlkJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dCBpZD1cImRlc3BhdGNoLXV1LWlkXCIgZm9ybUNvbnRyb2xOYW1lPVwidXVJZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiNjRcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtaXNzdWUtZGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Oklzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLWlzc3VlLWRhdGVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjaXNzdWVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAjaXNzdWVEYXRlRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJpc3N1ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cImlzc3VlRGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzc3VlRGF0ZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgaXNzdWVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBpc3N1ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWlzc3VlLXRpbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc3N1ZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1pc3N1ZS10aW1lXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc3N1ZVRpbWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI2lzc3VlVGltZUlucHV0XHJcbiAgICAgICAgICAgICAgI2lzc3VlVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNzdWVUaW1lRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJpc3N1ZVRpbWVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc3N1ZVRpbWVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIGlzc3VlVGltZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgaXNzdWVUaW1lRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1kZXNwYXRjaC1hZHZpY2UtdHlwZS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVzcGF0Y2hBZHZpY2VUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1kZXNwYXRjaC1hZHZpY2UtdHlwZS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzcGF0Y2hBZHZpY2VUeXBlQ29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWRvY3VtZW50LWN1cnJlbmN5LWNvZGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEb2N1bWVudEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gKlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1kb2N1bWVudC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXRheC1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC10YXgtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRheEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcHJpY2luZy1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UHJpY2luZ0N1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcHJpY2luZy1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJpY2luZ0N1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcGF5bWVudC1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcGF5bWVudC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcGF5bWVudC1hbHRlcm5hdGl2ZS1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXltZW50QWx0ZXJuYXRpdmVDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWFjY291bnRpbmctY29zdFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdDb3N0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1hY2NvdW50aW5nLWNvc3RcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50aW5nQ29zdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzJcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWxpbmUtY291bnQtbnVtZXJpY1wiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxpbmVDb3VudE51bWVyaWMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1saW5lLWNvdW50LW51bWVyaWNcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsaW5lQ291bnROdW1lcmljXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWludm9pY2UtcGVyaW9kLXN0YXJ0LWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJbnZvaWNlUGVyaW9kU3RhcnREYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtaW52b2ljZS1wZXJpb2Qtc3RhcnQtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW52b2ljZVBlcmlvZFN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjaW52b2ljZVBlcmlvZFN0YXJ0RGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgI2ludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cImludm9pY2VQZXJpb2RTdGFydERhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbnZvaWNlUGVyaW9kU3RhcnREYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBpbnZvaWNlUGVyaW9kU3RhcnREYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBpbnZvaWNlUGVyaW9kU3RhcnREYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1pbnZvaWNlLXBlcmlvZC1zdGFydC10aW1lXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SW52b2ljZVBlcmlvZFN0YXJ0VGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLWludm9pY2UtcGVyaW9kLXN0YXJ0LXRpbWVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludm9pY2VQZXJpb2RTdGFydFRpbWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI2ludm9pY2VQZXJpb2RTdGFydFRpbWVJbnB1dFxyXG4gICAgICAgICAgICAgICNpbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJpbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJpbnZvaWNlUGVyaW9kU3RhcnRUaW1lRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW52b2ljZVBlcmlvZFN0YXJ0VGltZUlucHV0LnZhbHVlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBweC0yXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBYnBVaTo6Q2xlYXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgaW52b2ljZVBlcmlvZFN0YXJ0VGltZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgaW52b2ljZVBlcmlvZFN0YXJ0VGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtaW52b2ljZS1wZXJpb2QtZW5kLWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJbnZvaWNlUGVyaW9kRW5kRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLWludm9pY2UtcGVyaW9kLWVuZC1kYXRlXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnZvaWNlUGVyaW9kRW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjaW52b2ljZVBlcmlvZEVuZERhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNpbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2ljZVBlcmlvZEVuZERhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cImludm9pY2VQZXJpb2RFbmREYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW52b2ljZVBlcmlvZEVuZERhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIGludm9pY2VQZXJpb2RFbmREYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBpbnZvaWNlUGVyaW9kRW5kRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtaW52b2ljZS1wZXJpb2QtZW5kLXRpbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJbnZvaWNlUGVyaW9kRW5kVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLWludm9pY2UtcGVyaW9kLWVuZC10aW1lXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnZvaWNlUGVyaW9kRW5kVGltZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjaW52b2ljZVBlcmlvZEVuZFRpbWVJbnB1dFxyXG4gICAgICAgICAgICAgICNpbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2ljZVBlcmlvZEVuZFRpbWVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cImludm9pY2VQZXJpb2RFbmRUaW1lRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW52b2ljZVBlcmlvZEVuZFRpbWVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIGludm9pY2VQZXJpb2RFbmRUaW1lRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBpbnZvaWNlUGVyaW9kRW5kVGltZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtaW52b2ljZS1wZXJpb2QtZHVyYXRpb24tbWVhc3VyZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Okludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1pbnZvaWNlLXBlcmlvZC1kdXJhdGlvbi1tZWFzdXJlXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICNpbnZvaWNlUGVyaW9kRHVyYXRpb25NZWFzdXJlSW5wdXRcclxuICAgICAgICAgICAgICAjaW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwiaW52b2ljZVBlcmlvZER1cmF0aW9uTWVhc3VyZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIGludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLndyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgIGludm9pY2VQZXJpb2REdXJhdGlvbk1lYXN1cmVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWludm9pY2UtcGVyaW9kLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SW52b2ljZVBlcmlvZERlc2NyaXB0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1pbnZvaWNlLXBlcmlvZC1kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludm9pY2VQZXJpb2REZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1vcmRlci1yZWZlcmVuY2UtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1vcmRlci1yZWZlcmVuY2UtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcmRlclJlZmVyZW5jZUlkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLXNhbGVzLW9yZGVyLWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6T3JkZXJSZWZlcmVuY2VTYWxlc09yZGVySWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLW9yZGVyLXJlZmVyZW5jZS1zYWxlcy1vcmRlci1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlU2FsZXNPcmRlcklkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLWlzc3VlLWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlclJlZmVyZW5jZUlzc3VlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLW9yZGVyLXJlZmVyZW5jZS1pc3N1ZS1kYXRlXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcmRlclJlZmVyZW5jZUlzc3VlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjb3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNvcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3JkZXJSZWZlcmVuY2VJc3N1ZURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIG9yZGVyUmVmZXJlbmNlSXNzdWVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBvcmRlclJlZmVyZW5jZUlzc3VlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLW9yZGVyLXR5cGUtY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyUmVmZXJlbmNlT3JkZXJUeXBlQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtb3JkZXItcmVmZXJlbmNlLW9yZGVyLXR5cGUtY29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyUmVmZXJlbmNlT3JkZXJUeXBlQ29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNjRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWRlc3BhdGNoLXN1cHBsaWVyLXBhcnR5LW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaFN1cHBsaWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1kZXNwYXRjaC1zdXBwbGllci1wYXJ0eS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzcGF0Y2hTdXBwbGllclBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1kZXNwYXRjaC1zdXBwbGllci1wYXJ0eS1zY2hlbWUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNwYXRjaFN1cHBsaWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtZGVzcGF0Y2gtc3VwcGxpZXItcGFydHktc2NoZW1lLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzcGF0Y2hTdXBwbGllclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjhcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWRlc3BhdGNoLXN1cHBsaWVyLXBhcnR5LXZrbi10Y2tuXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RGVzcGF0Y2hTdXBwbGllclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtZGVzcGF0Y2gtc3VwcGxpZXItcGFydHktdmtuLXRja25cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNwYXRjaFN1cHBsaWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtZGVsaXZlcnktY3VzdG9tZXItcGFydHktbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWRlbGl2ZXJ5LWN1c3RvbWVyLXBhcnR5LW5hbWVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWRlbGl2ZXJ5LWN1c3RvbWVyLXBhcnR5LXNjaGVtZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1kZWxpdmVyeS1jdXN0b21lci1wYXJ0eS1zY2hlbWUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWxpdmVyeUN1c3RvbWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtZGVsaXZlcnktY3VzdG9tZXItcGFydHktdmtuLXRja25cIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZWxpdmVyeUN1c3RvbWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1kZWxpdmVyeS1jdXN0b21lci1wYXJ0eS12a24tdGNrblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlbGl2ZXJ5Q3VzdG9tZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjE2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1vcmlnaW5hdG9yLWN1c3RvbWVyLXBhcnR5LXBhcnR5LW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtb3JpZ2luYXRvci1jdXN0b21lci1wYXJ0eS1wYXJ0eS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwib3JpZ2luYXRvckN1c3RvbWVyUGFydHlQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtb3JpZ2luYXRvci1jdXN0b21lci1wYXJ0eS1zY2hlbWUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1vcmlnaW5hdG9yLWN1c3RvbWVyLXBhcnR5LXNjaGVtZS1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9yaWdpbmF0b3JDdXN0b21lclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjhcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLW9yaWdpbmF0b3ItY3VzdG9tZXItcGFydHktdmtuLXRja25cIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLW9yaWdpbmF0b3ItY3VzdG9tZXItcGFydHktdmtuLXRja25cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcmlnaW5hdG9yQ3VzdG9tZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjE2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1hY2NvdW50aW5nLXN1cHBsaWVyLXBhcnR5LW5hbWVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWFjY291bnRpbmctc3VwcGxpZXItcGFydHktbmFtZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjY291bnRpbmdTdXBwbGllclBhcnR5TmFtZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1hY2NvdW50aW5nLXN1cHBsaWVyLXBhcnR5LXNjaGVtZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWFjY291bnRpbmctc3VwcGxpZXItcGFydHktc2NoZW1lLWlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ1N1cHBsaWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtYWNjb3VudGluZy1zdXBwbGllci1wYXJ0eS12a24tdGNrblwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtYWNjb3VudGluZy1zdXBwbGllci1wYXJ0eS12a24tdGNrblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjY291bnRpbmdTdXBwbGllclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWFjY291bnRpbmctY3VzdG9tZXItcGFydHktbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkFjY291bnRpbmdDdXN0b21lclBhcnR5TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtYWNjb3VudGluZy1jdXN0b21lci1wYXJ0eS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWFjY291bnRpbmctY3VzdG9tZXItcGFydHktc2NoZW1lLWlkXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtYWNjb3VudGluZy1jdXN0b21lci1wYXJ0eS1zY2hlbWUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI4XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1hY2NvdW50aW5nLWN1c3RvbWVyLXBhcnR5LXZrbi10Y2tuXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6QWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1hY2NvdW50aW5nLWN1c3RvbWVyLXBhcnR5LXZrbi10Y2tuXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudGluZ0N1c3RvbWVyUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtYnV5ZXItY3VzdG9tZXItcGFydHktbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkJ1eWVyQ3VzdG9tZXJQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWJ1eWVyLWN1c3RvbWVyLXBhcnR5LW5hbWVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJidXllckN1c3RvbWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWJ1eWVyLWN1c3RvbWVyLXBhcnR5LXNjaGVtZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkJ1eWVyQ3VzdG9tZXJQYXJ0eVNjaGVtZUlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1idXllci1jdXN0b21lci1wYXJ0eS1zY2hlbWUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJidXllckN1c3RvbWVyUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtYnV5ZXItY3VzdG9tZXItcGFydHktdmtuLXRja25cIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpCdXllckN1c3RvbWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1idXllci1jdXN0b21lci1wYXJ0eS12a24tdGNrblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJ1eWVyQ3VzdG9tZXJQYXJ0eVZrblRja25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjE2XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1zZWxsZXItc3VwcGxpZXItcGFydHktbmFtZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlNlbGxlclN1cHBsaWVyUGFydHlOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1zZWxsZXItc3VwcGxpZXItcGFydHktbmFtZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGxlclN1cHBsaWVyUGFydHlOYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXNlbGxlci1zdXBwbGllci1wYXJ0eS1zY2hlbWUtaWRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpTZWxsZXJTdXBwbGllclBhcnR5U2NoZW1lSWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXNlbGxlci1zdXBwbGllci1wYXJ0eS1zY2hlbWUtaWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxsZXJTdXBwbGllclBhcnR5U2NoZW1lSWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjhcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXNlbGxlci1zdXBwbGllci1wYXJ0eS12a24tdGNrblwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlNlbGxlclN1cHBsaWVyUGFydHlWa25UY2tuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1zZWxsZXItc3VwcGxpZXItcGFydHktdmtuLXRja25cIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxsZXJTdXBwbGllclBhcnR5VmtuVGNrblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTZcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXRheC1yZXByZXNlbnRhdGl2ZS1wYXJ0eS1uYW1lXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4UmVwcmVzZW50YXRpdmVQYXJ0eU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXRheC1yZXByZXNlbnRhdGl2ZS1wYXJ0eS1uYW1lXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4UmVwcmVzZW50YXRpdmVQYXJ0eU5hbWVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtdGF4LXJlcHJlc2VudGF0aXZlLXBhcnR5LXNjaGVtZS1pZFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtdGF4LXJlcHJlc2VudGF0aXZlLXBhcnR5LXNjaGVtZS1pZFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRheFJlcHJlc2VudGF0aXZlUGFydHlTY2hlbWVJZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtdGF4LXJlcHJlc2VudGF0aXZlLXBhcnR5LXZrbi10Y2tuXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGF4UmVwcmVzZW50YXRpdmVQYXJ0eVZrblRja24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXRheC1yZXByZXNlbnRhdGl2ZS1wYXJ0eS12a24tdGNrblwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRheFJlcHJlc2VudGF0aXZlUGFydHlWa25UY2tuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxNlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtdGF4LWV4Y2hhbmdlLXJhdGUtc291cmNlLWN1cnJlbmN5LWNvZGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXRheC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC10YXgtZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlRheEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtdGF4LWV4Y2hhbmdlLXJhdGUtdGFyZ2V0LWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXhFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXRheC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC10YXgtZXhjaGFuZ2UtcmF0ZS1jYWxjdWxhdGlvbi1yYXRlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXRheC1leGNoYW5nZS1yYXRlLWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpUYXhFeGNoYW5nZVJhdGVEYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtdGF4LWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGF4RXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjdGF4RXhjaGFuZ2VSYXRlRGF0ZUlucHV0XHJcbiAgICAgICAgICAgICAgI3RheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cInRheEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YXhFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICB0YXhFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5tYW51YWxEYXRlQ2hhbmdlKG51bGwsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtc291cmNlLWN1cnJlbmN5LWNvZGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtc291cmNlLWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljaW5nRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtdGFyZ2V0LWN1cnJlbmN5LWNvZGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtdGFyZ2V0LWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljaW5nRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wcmljaW5nLWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByaWNpbmdFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcHJpY2luZy1leGNoYW5nZS1yYXRlLWRhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICBpZD1cImRlc3BhdGNoLXByaWNpbmctZXhjaGFuZ2UtcmF0ZS1kYXRlXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAjcHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVJbnB1dFxyXG4gICAgICAgICAgICAgICNwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cInByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJpY2luZ0V4Y2hhbmdlUmF0ZURhdGVJbnB1dC52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcHgtMlwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQWJwVWk6OkNsZWFyJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHByaWNpbmdFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICBwcmljaW5nRXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIubWFudWFsRGF0ZUNoYW5nZShudWxsLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLXNvdXJjZS1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEV4Y2hhbmdlUmF0ZVNvdXJjZUN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLXRhcmdldC1jdXJyZW5jeS1jb2RlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLXRhcmdldC1jdXJyZW5jeS1jb2RlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEV4Y2hhbmdlUmF0ZVRhcmdldEN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcGF5bWVudC1leGNoYW5nZS1yYXRlLWNhbGN1bGF0aW9uLXJhdGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXltZW50RXhjaGFuZ2VSYXRlQ2FsY3VsYXRpb25SYXRlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXBheW1lbnQtZXhjaGFuZ2UtcmF0ZS1kYXRlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEV4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIHZhbGlkYXRpb25UYXJnZXQ+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICAgICAgICAgI3BheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXRcclxuICAgICAgICAgICAgICAjcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBheW1lbnRFeGNoYW5nZVJhdGVEYXRlRGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBheW1lbnRFeGNoYW5nZVJhdGVEYXRlSW5wdXQudmFsdWVcIiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHB4LTJcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FicFVpOjpDbGVhcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBwYXltZW50RXhjaGFuZ2VSYXRlRGF0ZURhdGVwaWNrZXIud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgcGF5bWVudEV4Y2hhbmdlUmF0ZURhdGVEYXRlcGlja2VyLm1hbnVhbERhdGVDaGFuZ2UobnVsbCwgdHJ1ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cImRlc3BhdGNoLXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS1zb3VyY2UtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlU291cmNlQ3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtc291cmNlLWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVTb3VyY2VDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cImRlc3BhdGNoLXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS10YXJnZXQtY3VycmVuY3ktY29kZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UGF5bWVudEFsdGVybmF0aXZlRXhjaGFuZ2VSYXRlVGFyZ2V0Q3VycmVuY3lDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtdGFyZ2V0LWN1cnJlbmN5LWNvZGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVUYXJnZXRDdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjNcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbFwiXHJcbiAgICAgICAgICAgIGZvcj1cImRlc3BhdGNoLXBheW1lbnQtYWx0ZXJuYXRpdmUtZXhjaGFuZ2UtcmF0ZS1jYWxjdWxhdGlvbi1yYXRlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpQYXltZW50QWx0ZXJuYXRpdmVFeGNoYW5nZVJhdGVDYWxjdWxhdGlvblJhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtY2FsY3VsYXRpb24tcmF0ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZUNhbGN1bGF0aW9uUmF0ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtZGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1wYXltZW50LWFsdGVybmF0aXZlLWV4Y2hhbmdlLXJhdGUtZGF0ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBheW1lbnRBbHRlcm5hdGl2ZUV4Y2hhbmdlUmF0ZURhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtbGVnYWwtbW9uZXRhcnktdG90YWwtbGluZS1leHRlbnNpb24tYW1vdW50XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsTGluZUV4dGVuc2lvbkFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWxpbmUtZXh0ZW5zaW9uLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbExpbmVFeHRlbnNpb25BbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtbGVnYWwtbW9uZXRhcnktdG90YWwtdGF4LWV4Y2x1c2l2ZS1hbW91bnRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxUYXhFeGNsdXNpdmVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC10YXgtZXhjbHVzaXZlLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbFRheEV4Y2x1c2l2ZUFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC10YXgtaW5jbHVzaXZlLWFtb3VudFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFRheEluY2x1c2l2ZUFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLXRheC1pbmNsdXNpdmUtYW1vdW50XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGVnYWxNb25ldGFyeVRvdGFsVGF4SW5jbHVzaXZlQW1vdW50XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWFsbG93YW5jZS10b3RhbC1hbW91bnRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWxlZ2FsLW1vbmV0YXJ5LXRvdGFsLWFsbG93YW5jZS10b3RhbC1hbW91bnRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsZWdhbE1vbmV0YXJ5VG90YWxBbGxvd2FuY2VUb3RhbEFtb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC1jaGFyZ2UtdG90YWwtYW1vdW50XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6TGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC1jaGFyZ2UtdG90YWwtYW1vdW50XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGVnYWxNb25ldGFyeVRvdGFsQ2hhcmdlVG90YWxBbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtbGVnYWwtbW9uZXRhcnktdG90YWwtcGF5YWJsZS1yb3VuZGluZy1hbW91bnRcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpMZWdhbE1vbmV0YXJ5VG90YWxQYXlhYmxlUm91bmRpbmdBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC1wYXlhYmxlLXJvdW5kaW5nLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVSb3VuZGluZ0Ftb3VudFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC1wYXlhYmxlLWFtb3VudFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OkxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1sZWdhbC1tb25ldGFyeS10b3RhbC1wYXlhYmxlLWFtb3VudFwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxlZ2FsTW9uZXRhcnlUb3RhbFBheWFibGVBbW91bnRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWlzLWNhbmNlbGVkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNDYW5jZWxlZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXNwYXRjaC1pcy1jYW5jZWxlZFwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OklzQ2FuY2VsZWQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcmVjZWl2ZXItcmVzcG9uc2VcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpSZWNlaXZlclJlc3BvbnNlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcmVjZWl2ZXItcmVzcG9uc2VcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZWNlaXZlclJlc3BvbnNlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXJlY2VpdmVyLXJlc3BvbnNlLWRlc2NcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpSZWNlaXZlclJlc3BvbnNlRGVzYycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiZGVzcGF0Y2gtcmVjZWl2ZXItcmVzcG9uc2UtZGVzY1wiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlY2VpdmVyUmVzcG9uc2VEZXNjXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDI0XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1zdGF0dXNcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgaWQ9XCJkZXNwYXRjaC1zdGF0dXNcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1yZXNvdXJjZS1kb2MtZW50cnlcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpSZXNvdXJjZURvY0VudHJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1yZXNvdXJjZS1kb2MtZW50cnlcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZXNvdXJjZURvY0VudHJ5XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI2NFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwiZGVzcGF0Y2gtcmVzb3VyY2UtZG9jLXR5cGVcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpSZXNvdXJjZURvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC1yZXNvdXJjZS1kb2MtdHlwZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlc291cmNlRG9jVHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC10YXJnZXQtZG9jLWVudHJ5XCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6VGFyZ2V0RG9jRW50cnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLXRhcmdldC1kb2MtZW50cnlcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXJnZXREb2NFbnRyeVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNjRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLXRhcmdldC1kb2MtdHlwZVwiPlxyXG4gICAgICAgICAgICB7eyAnZURvbnVzdW06OlRhcmdldERvY1R5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgaWQ9XCJkZXNwYXRjaC10YXJnZXQtZG9jLXR5cGVcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0YXJnZXREb2NUeXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImRlc3BhdGNoLWRvYy10eXBlXCI+XHJcbiAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RG9jVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBpZD1cImRlc3BhdGNoLWRvYy10eXBlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jVHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkZXNwYXRjaC1zZW5kZXItZ2JcIj5cclxuICAgICAgICAgICAge3sgJ2VEb251c3VtOjpTZW5kZXJHQicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgPGlucHV0IGlkPVwiZGVzcGF0Y2gtc2VuZGVyLWdiXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VuZGVyR0JcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIGZvcm1OYW1lPVwiZGVzcGF0Y2hcIj5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
|