@decaf-ts/for-fabric 0.12.7 → 0.12.10
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 +177 -146
- package/dist/for-fabric.cjs +3804 -2
- package/dist/for-fabric.js +3908 -2
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/cli-module.cjs +215 -6
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs +3 -3
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientRepository.cjs +2 -2
- package/lib/cjs/client/FabricClientStatement.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/constants.cjs +2 -2
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/index.cjs +2 -2
- package/lib/cjs/client/indexes/generation.cjs +9 -4
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletContract.cjs +72 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +76 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/index.cjs +19 -20
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/models/Audit.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/History.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs +3 -3
- package/lib/cjs/contract/models/OtherBatchShared.cjs +137 -28
- package/lib/cjs/contract/models/OtherLeaflet.cjs +3 -3
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +3 -3
- package/lib/cjs/contract/models/OtherMarket.cjs +3 -3
- package/lib/cjs/contract/models/OtherProduct.cjs +4 -4
- package/lib/cjs/contract/models/OtherProductImage.cjs +3 -3
- package/lib/cjs/contract/models/OtherProductShared.cjs +3 -3
- package/lib/cjs/contract/models/OtherProductStrength.cjs +3 -5
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/SegregatedDocument.cjs +8 -6
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contract/trackedModels/History.cjs +81 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +124 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +121 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +71 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +90 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +83 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +65 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +105 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +91 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/MigrationContract.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/bootstrap.cjs +2 -2
- package/lib/cjs/contracts/crud/crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/constants.cjs +2 -2
- package/lib/cjs/shared/decorators.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/overrides.cjs +2 -2
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/version.cjs +18 -4
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/cli-module.js +214 -5
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js +2 -2
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientRepository.js +1 -1
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/constants.js +1 -1
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/indexes/generation.js +8 -3
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherLeafletContract.js +63 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +67 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/index.js +18 -19
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/models/Audit.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/History.js +1 -1
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js +2 -2
- package/lib/esm/contract/models/OtherBatchShared.js +139 -31
- package/lib/esm/contract/models/OtherLeaflet.js +2 -2
- package/lib/esm/contract/models/OtherLeafletFile.js +2 -2
- package/lib/esm/contract/models/OtherMarket.js +2 -2
- package/lib/esm/contract/models/OtherProduct.js +4 -4
- package/lib/esm/contract/models/OtherProductImage.js +2 -2
- package/lib/esm/contract/models/OtherProductShared.js +2 -2
- package/lib/esm/contract/models/OtherProductStrength.js +2 -4
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/SegregatedDocument.js +8 -6
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators.js +1 -1
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contract/trackedModels/History.js +72 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +115 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +112 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +62 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +81 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +74 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +56 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +96 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +82 -0
- package/lib/esm/contracts/ContractAdapter.js +1 -1
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/MigrationContract.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/bootstrap.js +1 -1
- package/lib/esm/contracts/crud/crud-contract.js +1 -1
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/fabric-overrides.js +3 -3
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/version.js +16 -2
- package/lib/types/contract/OtherLeafletContract.d.cts +18 -0
- package/lib/types/contract/OtherLeafletContract.d.mts +18 -0
- package/lib/types/contract/OtherLeafletFileContract.d.cts +17 -0
- package/lib/types/contract/OtherLeafletFileContract.d.mts +17 -0
- package/lib/types/contract/models/OtherBatchShared.d.cts +43 -6
- package/lib/types/contract/models/OtherBatchShared.d.mts +43 -6
- package/lib/types/contract/trackedModels/History.d.cts +9 -0
- package/lib/types/contract/trackedModels/History.d.mts +9 -0
- package/lib/types/contract/trackedModels/OtherAudit.d.cts +15 -0
- package/lib/types/contract/trackedModels/OtherAudit.d.mts +15 -0
- package/lib/types/contract/trackedModels/OtherLeaflet.d.cts +16 -0
- package/lib/types/contract/trackedModels/OtherLeaflet.d.mts +16 -0
- package/lib/types/contract/trackedModels/OtherLeafletFile.d.cts +10 -0
- package/lib/types/contract/trackedModels/OtherLeafletFile.d.mts +10 -0
- package/lib/types/contract/trackedModels/OtherMarket.d.cts +13 -0
- package/lib/types/contract/trackedModels/OtherMarket.d.mts +13 -0
- package/lib/types/contract/trackedModels/OtherProduct.d.cts +12 -0
- package/lib/types/contract/trackedModels/OtherProduct.d.mts +12 -0
- package/lib/types/contract/trackedModels/OtherProductImage.d.cts +9 -0
- package/lib/types/contract/trackedModels/OtherProductImage.d.mts +9 -0
- package/lib/types/contract/trackedModels/OtherProductShared.d.cts +18 -0
- package/lib/types/contract/trackedModels/OtherProductShared.d.mts +18 -0
- package/lib/types/contract/trackedModels/OtherProductStrength.d.cts +12 -0
- package/lib/types/contract/trackedModels/OtherProductStrength.d.mts +12 -0
- package/lib/types/contracts/FabricContractStatement.d.cts +2 -2
- package/lib/types/contracts/FabricContractStatement.d.mts +2 -2
- package/lib/types/version.d.cts +15 -1
- package/lib/types/version.d.mts +15 -1
- package/package.json +19 -6
- package/dist/for-fabric.cjs.map +0 -1
- package/dist/for-fabric.js.map +0 -1
- package/lib/cjs/bin/cli.cjs.map +0 -1
- package/lib/cjs/cli-module.cjs.map +0 -1
- package/lib/cjs/cli-utils.cjs.map +0 -1
- package/lib/cjs/client/FabricClientAdapter.cjs.map +0 -1
- package/lib/cjs/client/FabricClientDispatch.cjs.map +0 -1
- package/lib/cjs/client/FabricClientPaginator.cjs.map +0 -1
- package/lib/cjs/client/FabricClientRepository.cjs.map +0 -1
- package/lib/cjs/client/FabricClientStatement.cjs.map +0 -1
- package/lib/cjs/client/collections/generation.cjs.map +0 -1
- package/lib/cjs/client/collections/index.cjs.map +0 -1
- package/lib/cjs/client/constants.cjs.map +0 -1
- package/lib/cjs/client/crypto.cjs.map +0 -1
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +0 -1
- package/lib/cjs/client/erc20/index.cjs.map +0 -1
- package/lib/cjs/client/fabric-fs.cjs.map +0 -1
- package/lib/cjs/client/fabric-hsm.cjs.map +0 -1
- package/lib/cjs/client/ids/id-extraction.cjs.map +0 -1
- package/lib/cjs/client/ids/index.cjs.map +0 -1
- package/lib/cjs/client/index.cjs.map +0 -1
- package/lib/cjs/client/indexes/generation.cjs.map +0 -1
- package/lib/cjs/client/indexes/index.cjs.map +0 -1
- package/lib/cjs/client/logging.cjs.map +0 -1
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +0 -1
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +0 -1
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +0 -1
- package/lib/cjs/client/services/constants.cjs.map +0 -1
- package/lib/cjs/client/services/index.cjs.map +0 -1
- package/lib/cjs/client/types.cjs.map +0 -1
- package/lib/cjs/client/utils.cjs.map +0 -1
- package/lib/cjs/contract/Address.cjs.map +0 -1
- package/lib/cjs/contract/AddressContract.cjs.map +0 -1
- package/lib/cjs/contract/AuditContract.cjs.map +0 -1
- package/lib/cjs/contract/BatchContract.cjs.map +0 -1
- package/lib/cjs/contract/MarketContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherAuditContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherBatchContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherMarketContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +0 -1
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +0 -1
- package/lib/cjs/contract/Product.cjs.map +0 -1
- package/lib/cjs/contract/ProductContract.cjs.map +0 -1
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +0 -1
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +0 -1
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +0 -1
- package/lib/cjs/contract/User.cjs.map +0 -1
- package/lib/cjs/contract/UserContract.cjs.map +0 -1
- package/lib/cjs/contract/index.cjs.map +0 -1
- package/lib/cjs/contract/logging-context.cjs.map +0 -1
- package/lib/cjs/contract/models/Audit.cjs.map +0 -1
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +0 -1
- package/lib/cjs/contract/models/BaseModel.cjs.map +0 -1
- package/lib/cjs/contract/models/Batch.cjs.map +0 -1
- package/lib/cjs/contract/models/GtinOwner.cjs.map +0 -1
- package/lib/cjs/contract/models/History.cjs.map +0 -1
- package/lib/cjs/contract/models/Leaflet.cjs.map +0 -1
- package/lib/cjs/contract/models/LeafletFile.cjs.map +0 -1
- package/lib/cjs/contract/models/Market.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherAudit.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherMarket.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProduct.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +0 -1
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +0 -1
- package/lib/cjs/contract/models/Product.cjs.map +0 -1
- package/lib/cjs/contract/models/ProductStrength.cjs.map +0 -1
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +0 -1
- package/lib/cjs/contract/models/constants.cjs.map +0 -1
- package/lib/cjs/contract/models/decorators-private.cjs.map +0 -1
- package/lib/cjs/contract/models/decorators.cjs.map +0 -1
- package/lib/cjs/contract/models/gtin.cjs.map +0 -1
- package/lib/cjs/contract/models/history-dec.cjs.map +0 -1
- package/lib/cjs/contracts/ContractAdapter.cjs.map +0 -1
- package/lib/cjs/contracts/ContractContext.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +0 -1
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +0 -1
- package/lib/cjs/contracts/MigrationContract.cjs.map +0 -1
- package/lib/cjs/contracts/PrivateSequence.cjs.map +0 -1
- package/lib/cjs/contracts/auth/decorators.cjs.map +0 -1
- package/lib/cjs/contracts/auth/index.cjs.map +0 -1
- package/lib/cjs/contracts/bootstrap.cjs.map +0 -1
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +0 -1
- package/lib/cjs/contracts/crud/index.cjs.map +0 -1
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/index.cjs.map +0 -1
- package/lib/cjs/contracts/erc20/models.cjs.map +0 -1
- package/lib/cjs/contracts/fabric-overrides.cjs.map +0 -1
- package/lib/cjs/contracts/index.cjs.map +0 -1
- package/lib/cjs/contracts/logging.cjs.map +0 -1
- package/lib/cjs/contracts/overrides.cjs.map +0 -1
- package/lib/cjs/contracts/types.cjs.map +0 -1
- package/lib/cjs/contracts/uuid.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/shared/ClientSerializer.cjs.map +0 -1
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +0 -1
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +0 -1
- package/lib/cjs/shared/constants.cjs.map +0 -1
- package/lib/cjs/shared/decorators.cjs.map +0 -1
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +0 -1
- package/lib/cjs/shared/erc20/index.cjs.map +0 -1
- package/lib/cjs/shared/errors.cjs.map +0 -1
- package/lib/cjs/shared/events.cjs.map +0 -1
- package/lib/cjs/shared/fabric-types.cjs.map +0 -1
- package/lib/cjs/shared/index.cjs.map +0 -1
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +0 -1
- package/lib/cjs/shared/interfaces/index.cjs.map +0 -1
- package/lib/cjs/shared/math.cjs.map +0 -1
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +0 -1
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +0 -1
- package/lib/cjs/shared/model/Identity.cjs.map +0 -1
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +0 -1
- package/lib/cjs/shared/model/index.cjs.map +0 -1
- package/lib/cjs/shared/overrides/Model.cjs.map +0 -1
- package/lib/cjs/shared/overrides/index.cjs.map +0 -1
- package/lib/cjs/shared/overrides/overrides.cjs.map +0 -1
- package/lib/cjs/shared/types.cjs.map +0 -1
- package/lib/cjs/version.cjs.map +0 -1
- package/lib/esm/bin/cli.js.map +0 -1
- package/lib/esm/cli-module.js.map +0 -1
- package/lib/esm/cli-utils.js.map +0 -1
- package/lib/esm/client/FabricClientAdapter.js.map +0 -1
- package/lib/esm/client/FabricClientDispatch.js.map +0 -1
- package/lib/esm/client/FabricClientPaginator.js.map +0 -1
- package/lib/esm/client/FabricClientRepository.js.map +0 -1
- package/lib/esm/client/FabricClientStatement.js.map +0 -1
- package/lib/esm/client/collections/generation.js.map +0 -1
- package/lib/esm/client/collections/index.js.map +0 -1
- package/lib/esm/client/constants.js.map +0 -1
- package/lib/esm/client/crypto.js.map +0 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +0 -1
- package/lib/esm/client/erc20/index.js.map +0 -1
- package/lib/esm/client/fabric-fs.js.map +0 -1
- package/lib/esm/client/fabric-hsm.js.map +0 -1
- package/lib/esm/client/ids/id-extraction.js.map +0 -1
- package/lib/esm/client/ids/index.js.map +0 -1
- package/lib/esm/client/index.js.map +0 -1
- package/lib/esm/client/indexes/generation.js.map +0 -1
- package/lib/esm/client/indexes/index.js.map +0 -1
- package/lib/esm/client/logging.js.map +0 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +0 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +0 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +0 -1
- package/lib/esm/client/services/constants.js.map +0 -1
- package/lib/esm/client/services/index.js.map +0 -1
- package/lib/esm/client/types.js.map +0 -1
- package/lib/esm/client/utils.js.map +0 -1
- package/lib/esm/contract/Address.js.map +0 -1
- package/lib/esm/contract/AddressContract.js.map +0 -1
- package/lib/esm/contract/AuditContract.js.map +0 -1
- package/lib/esm/contract/BatchContract.js.map +0 -1
- package/lib/esm/contract/MarketContract.js.map +0 -1
- package/lib/esm/contract/OtherAuditContract.js.map +0 -1
- package/lib/esm/contract/OtherBatchContract.js.map +0 -1
- package/lib/esm/contract/OtherMarketContract.js.map +0 -1
- package/lib/esm/contract/OtherProductContract.js.map +0 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +0 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +0 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +0 -1
- package/lib/esm/contract/Product.js.map +0 -1
- package/lib/esm/contract/ProductContract.js.map +0 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +0 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +0 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +0 -1
- package/lib/esm/contract/User.js.map +0 -1
- package/lib/esm/contract/UserContract.js.map +0 -1
- package/lib/esm/contract/index.js.map +0 -1
- package/lib/esm/contract/logging-context.js.map +0 -1
- package/lib/esm/contract/models/Audit.js.map +0 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +0 -1
- package/lib/esm/contract/models/BaseModel.js.map +0 -1
- package/lib/esm/contract/models/Batch.js.map +0 -1
- package/lib/esm/contract/models/GtinOwner.js.map +0 -1
- package/lib/esm/contract/models/History.js.map +0 -1
- package/lib/esm/contract/models/Leaflet.js.map +0 -1
- package/lib/esm/contract/models/LeafletFile.js.map +0 -1
- package/lib/esm/contract/models/Market.js.map +0 -1
- package/lib/esm/contract/models/OtherAudit.js.map +0 -1
- package/lib/esm/contract/models/OtherBatchShared.js.map +0 -1
- package/lib/esm/contract/models/OtherLeaflet.js.map +0 -1
- package/lib/esm/contract/models/OtherLeafletFile.js.map +0 -1
- package/lib/esm/contract/models/OtherMarket.js.map +0 -1
- package/lib/esm/contract/models/OtherProduct.js.map +0 -1
- package/lib/esm/contract/models/OtherProductImage.js.map +0 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +0 -1
- package/lib/esm/contract/models/OtherProductStrength.js.map +0 -1
- package/lib/esm/contract/models/Product.js.map +0 -1
- package/lib/esm/contract/models/ProductStrength.js.map +0 -1
- package/lib/esm/contract/models/SegregatedDocument.js.map +0 -1
- package/lib/esm/contract/models/constants.js.map +0 -1
- package/lib/esm/contract/models/decorators-private.js.map +0 -1
- package/lib/esm/contract/models/decorators.js.map +0 -1
- package/lib/esm/contract/models/gtin.js.map +0 -1
- package/lib/esm/contract/models/history-dec.js.map +0 -1
- package/lib/esm/contracts/ContractAdapter.js.map +0 -1
- package/lib/esm/contracts/ContractContext.js.map +0 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +0 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +0 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +0 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +0 -1
- package/lib/esm/contracts/MigrationContract.js.map +0 -1
- package/lib/esm/contracts/PrivateSequence.js.map +0 -1
- package/lib/esm/contracts/auth/decorators.js.map +0 -1
- package/lib/esm/contracts/auth/index.js.map +0 -1
- package/lib/esm/contracts/bootstrap.js.map +0 -1
- package/lib/esm/contracts/crud/crud-contract.js.map +0 -1
- package/lib/esm/contracts/crud/index.js.map +0 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +0 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +0 -1
- package/lib/esm/contracts/erc20/index.js.map +0 -1
- package/lib/esm/contracts/erc20/models.js.map +0 -1
- package/lib/esm/contracts/fabric-overrides.js.map +0 -1
- package/lib/esm/contracts/index.js.map +0 -1
- package/lib/esm/contracts/logging.js.map +0 -1
- package/lib/esm/contracts/overrides.js.map +0 -1
- package/lib/esm/contracts/types.js.map +0 -1
- package/lib/esm/contracts/uuid.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/shared/ClientSerializer.js.map +0 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +0 -1
- package/lib/esm/shared/constants.js.map +0 -1
- package/lib/esm/shared/decorators.js.map +0 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +0 -1
- package/lib/esm/shared/erc20/index.js.map +0 -1
- package/lib/esm/shared/errors.js.map +0 -1
- package/lib/esm/shared/events.js.map +0 -1
- package/lib/esm/shared/fabric-types.js.map +0 -1
- package/lib/esm/shared/index.js.map +0 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +0 -1
- package/lib/esm/shared/interfaces/index.js.map +0 -1
- package/lib/esm/shared/math.js.map +0 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +0 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
- package/lib/esm/shared/model/Identity.js.map +0 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +0 -1
- package/lib/esm/shared/model/index.js.map +0 -1
- package/lib/esm/shared/overrides/Model.js.map +0 -1
- package/lib/esm/shared/overrides/index.js.map +0 -1
- package/lib/esm/shared/overrides/overrides.js.map +0 -1
- package/lib/esm/shared/types.js.map +0 -1
- package/lib/esm/version.js.map +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.History = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
19
|
+
const core_1 = require("@decaf-ts/core");
|
|
20
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
21
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
22
|
+
const index_js_1 = require("./../../shared/index.cjs");
|
|
23
|
+
let History = class History extends decorator_validation_1.Model {
|
|
24
|
+
constructor(model) {
|
|
25
|
+
super(model);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.History = History;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, core_1.pk)(),
|
|
31
|
+
(0, index_js_1.mirror)("ptp-history-mirror", "PharmaledgerassocMSP"),
|
|
32
|
+
(0, db_decorators_1.composed)(["table", "key", "version"], ":"),
|
|
33
|
+
(0, decoration_1.description)("Unique identifier of the history record."),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], History.prototype, "id", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, core_1.column)(),
|
|
38
|
+
(0, db_decorators_1.readonly)(),
|
|
39
|
+
(0, db_decorators_1.readonly)(),
|
|
40
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
41
|
+
(0, decoration_1.description)("table this history object refers to"),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], History.prototype, "table", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, core_1.column)(),
|
|
46
|
+
(0, decorator_validation_1.required)(),
|
|
47
|
+
(0, db_decorators_1.readonly)(),
|
|
48
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
49
|
+
(0, decoration_1.description)("id of the original object"),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], History.prototype, "key", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, core_1.column)(),
|
|
54
|
+
(0, decorator_validation_1.required)(),
|
|
55
|
+
(0, db_decorators_1.readonly)(),
|
|
56
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
57
|
+
(0, decoration_1.description)("the version of the original object"),
|
|
58
|
+
__metadata("design:type", Number)
|
|
59
|
+
], History.prototype, "version", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, core_1.column)(),
|
|
62
|
+
(0, decorator_validation_1.required)(),
|
|
63
|
+
(0, db_decorators_1.readonly)(),
|
|
64
|
+
(0, decoration_1.description)("the object to keep history of"),
|
|
65
|
+
__metadata("design:type", Object)
|
|
66
|
+
], History.prototype, "record", void 0);
|
|
67
|
+
exports.History = History = __decorate([
|
|
68
|
+
(0, decoration_1.description)("Logs user activity for auditing purposes."),
|
|
69
|
+
(0, decoration_1.uses)(index_js_1.FabricFlavour),
|
|
70
|
+
(0, db_decorators_1.BlockOperations)([
|
|
71
|
+
db_decorators_1.OperationKeys.CREATE,
|
|
72
|
+
db_decorators_1.OperationKeys.UPDATE,
|
|
73
|
+
db_decorators_1.OperationKeys.DELETE,
|
|
74
|
+
]),
|
|
75
|
+
(0, core_1.table)("history"),
|
|
76
|
+
(0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("ptp-history")),
|
|
77
|
+
(0, decorator_validation_1.model)(),
|
|
78
|
+
__metadata("design:paramtypes", [Object])
|
|
79
|
+
], History);
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC90cmFja2VkTW9kZWxzL0hpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBRUwsUUFBUSxHQUNULE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFFBQVEsRUFDUixhQUFhLEVBQ2IsUUFBUSxHQUNULE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLGdDQUFxQjtBQVlmLElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBUSxTQUFRLEtBQUs7SUFrQ2hDLFlBQVksS0FBeUI7UUFDbkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUE7QUFoQ0M7SUFKQyxFQUFFLEVBQUU7SUFDSixNQUFNLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7SUFDcEQsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDMUMsV0FBVyxDQUFDLDBDQUEwQyxDQUFDOzttQ0FDNUM7QUFPWjtJQUxDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxxQ0FBcUMsQ0FBQzs7c0NBQ3BDO0FBT2Y7SUFMQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQUMsMkJBQTJCLENBQUM7O29DQUM1QjtBQU9iO0lBTEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLG9DQUFvQyxDQUFDOzt3Q0FDakM7QUFNakI7SUFKQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixXQUFXLENBQUMsK0JBQStCLENBQUM7O3VDQUNoQjtBQWhDbEIsT0FBTztJQVZuQixXQUFXLENBQUMsMkNBQTJDLENBQUM7SUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNuQixlQUFlLENBQUM7UUFDZixhQUFhLENBQUMsTUFBTTtRQUNwQixhQUFhLENBQUMsTUFBTTtRQUNwQixhQUFhLENBQUMsTUFBTTtLQUNyQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUNoQixVQUFVLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsS0FBSyxFQUFFOztHQUNLLE9BQU8sQ0FxQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIG1vZGVsLFxuICB0eXBlIE1vZGVsQXJnLFxuICByZXF1aXJlZCxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBjb21wb3NlZCxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgcmVhZG9ubHksXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG1pcnJvcixcbiAgTmFtZXNwYWNlQ29sbGVjdGlvbixcbiAgc2hhcmVkRGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZFwiO1xuXG5AZGVzY3JpcHRpb24oXCJMb2dzIHVzZXIgYWN0aXZpdHkgZm9yIGF1ZGl0aW5nIHB1cnBvc2VzLlwiKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkBCbG9ja09wZXJhdGlvbnMoW1xuICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gIE9wZXJhdGlvbktleXMuREVMRVRFLFxuXSlcbkB0YWJsZShcImhpc3RvcnlcIilcbkBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJwdHAtaGlzdG9yeVwiKSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgSGlzdG9yeSBleHRlbmRzIE1vZGVsIHtcbiAgQHBrKClcbiAgQG1pcnJvcihcInB0cC1oaXN0b3J5LW1pcnJvclwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpXG4gIEBjb21wb3NlZChbXCJ0YWJsZVwiLCBcImtleVwiLCBcInZlcnNpb25cIl0sIFwiOlwiKVxuICBAZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaGlzdG9yeSByZWNvcmQuXCIpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVhZG9ubHkoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwidGFibGUgdGhpcyBoaXN0b3J5IG9iamVjdCByZWZlcnMgdG9cIilcbiAgdGFibGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJpZCBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0XCIpXG4gIGtleSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcInRoZSB2ZXJzaW9uIG9mIHRoZSBvcmlnaW5hbCBvYmplY3RcIilcbiAgdmVyc2lvbiE6IG51bWJlcjtcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIG9iamVjdCB0byBrZWVwIGhpc3Rvcnkgb2ZcIilcbiAgcmVjb3JkPzogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPEhpc3Rvcnk+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkhpc3RvcnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFB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LE1BQU0sQ0FBQztDQUNwQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDeEMsa0JBQUEsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNqQixJQUFBLHdCQUFXLEVBQUMsMkNBQTJDLENBQUM7SUFDeEQsSUFBQSxpQkFBSSxFQUFDLHdCQUFhLENBQUM7SUFDbkIsSUFBQSwrQkFBZSxFQUFDO1FBQ1osNkJBQWEsQ0FBQyxNQUFNO1FBQ3BCLDZCQUFhLENBQUMsTUFBTTtRQUNwQiw2QkFBYSxDQUFDLE1BQU07S0FDdkIsQ0FBQztJQUNGLElBQUEsWUFBSyxFQUFDLFNBQVMsQ0FBQztJQUNoQixJQUFBLHFCQUFVLEVBQUMsSUFBQSw4QkFBbUIsRUFBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxJQUFBLDRCQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM1QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRVosOHhJQUE4eEkiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBCbG9ja09wZXJhdGlvbnMsIGNvbXBvc2VkLCBPcGVyYXRpb25LZXlzLCByZWFkb25seSwgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBtaXJyb3IsIE5hbWVzcGFjZUNvbGxlY3Rpb24sIHNoYXJlZERhdGEsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2luZGV4LmpzXCI7XG5sZXQgSGlzdG9yeSA9IGNsYXNzIEhpc3RvcnkgZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IobW9kZWwpIHtcbiAgICAgICAgc3VwZXIobW9kZWwpO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBwaygpLFxuICAgIG1pcnJvcihcInB0cC1oaXN0b3J5LW1pcnJvclwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpLFxuICAgIGNvbXBvc2VkKFtcInRhYmxlXCIsIFwia2V5XCIsIFwidmVyc2lvblwiXSwgXCI6XCIpLFxuICAgIGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGhpc3RvcnkgcmVjb3JkLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgSGlzdG9yeS5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcInRhYmxlIHRoaXMgaGlzdG9yeSBvYmplY3QgcmVmZXJzIHRvXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBIaXN0b3J5LnByb3RvdHlwZSwgXCJ0YWJsZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiaWQgb2YgdGhlIG9yaWdpbmFsIG9iamVjdFwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgSGlzdG9yeS5wcm90b3R5cGUsIFwia2V5XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJ0aGUgdmVyc2lvbiBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBOdW1iZXIpXG5dLCBIaXN0b3J5LnByb3RvdHlwZSwgXCJ2ZXJzaW9uXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgZGVzY3JpcHRpb24oXCJ0aGUgb2JqZWN0IHRvIGtlZXAgaGlzdG9yeSBvZlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgSGlzdG9yeS5wcm90b3R5cGUsIFwicmVjb3JkXCIsIHZvaWQgMCk7XG5IaXN0b3J5ID0gX19kZWNvcmF0ZShbXG4gICAgZGVzY3JpcHRpb24oXCJMb2dzIHVzZXIgYWN0aXZpdHkgZm9yIGF1ZGl0aW5nIHB1cnBvc2VzLlwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIEJsb2NrT3BlcmF0aW9ucyhbXG4gICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgXSksXG4gICAgdGFibGUoXCJoaXN0b3J5XCIpLFxuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcInB0cC1oaXN0b3J5XCIpKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIEhpc3RvcnkpO1xuZXhwb3J0IHsgSGlzdG9yeSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pU0dsemRHOXllUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5amIyNTBjbUZqZEM5MGNtRmphMlZrVFc5a1pXeHpMMGhwYzNSdmNua3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFc1QwRkJUeXhGUVVOTUxFdEJRVXNzUlVGRFRDeExRVUZMTEVWQlJVd3NVVUZCVVN4SFFVTlVMRTFCUVUwc1owTkJRV2RETEVOQlFVTTdRVUZEZUVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeExRVUZMTEVWQlFVVXNZMEZCWXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeG5Ra0ZCWjBJc1EwRkJRenRCUVVNeFJTeFBRVUZQTEVWQlEwd3NaVUZCWlN4RlFVTm1MRkZCUVZFc1JVRkRVaXhoUVVGaExFVkJRMklzVVVGQlVTeEhRVU5VTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRGFrTXNUMEZCVHl4RlFVRkZMRmRCUVZjc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeHpRa0ZCYzBJc1EwRkJRenRCUVVONlJDeFBRVUZQTEVWQlEwd3NZVUZCWVN4RlFVTmlMRTFCUVUwc1JVRkRUaXh0UWtGQmJVSXNSVUZEYmtJc1ZVRkJWU3hIUVVOWUxHZERRVUZ4UWp0QlFWbG1MRWxCUVUwc1QwRkJUeXhIUVVGaUxFMUJRVTBzVDBGQlVTeFRRVUZSTEV0QlFVczdTVUZyUTJoRExGbEJRVmtzUzBGQmVVSTdVVUZEYmtNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBsQlEyWXNRMEZCUXp0RFFVTkdMRU5CUVVFN1FVRm9RME03U1VGS1F5eEZRVUZGTEVWQlFVVTdTVUZEU2l4TlFVRk5MRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNjMEpCUVhOQ0xFTkJRVU03U1VGRGNFUXNVVUZCVVN4RFFVRkRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNN1NVRkRNVU1zVjBGQlZ5eERRVUZETERCRFFVRXdReXhEUVVGRE96dHRRMEZETlVNN1FVRlBXanRKUVV4RExFMUJRVTBzUlVGQlJUdEpRVU5TTEZGQlFWRXNSVUZCUlR0SlFVTldMRkZCUVZFc1JVRkJSVHRKUVVOV0xFdEJRVXNzUTBGQlF5eERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF5OURMRmRCUVZjc1EwRkJReXh4UTBGQmNVTXNRMEZCUXpzN2MwTkJRM0JETzBGQlQyWTdTVUZNUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhSUVVGUkxFVkJRVVU3U1VGRFZpeFJRVUZSTEVWQlFVVTdTVUZEVml4TFFVRkxMRU5CUVVNc1EwRkJReXhqUVVGakxFTkJRVU1zUjBGQlJ5eEZRVUZGTEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVNdlF5eFhRVUZYTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU03TzI5RFFVTTFRanRCUVU5aU8wbEJURU1zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExHOURRVUZ2UXl4RFFVRkRPenQzUTBGRGFrTTdRVUZOYWtJN1NVRktReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFJRVUZSTEVWQlFVVTdTVUZEVml4UlFVRlJMRVZCUVVVN1NVRkRWaXhYUVVGWExFTkJRVU1zSzBKQlFTdENMRU5CUVVNN08zVkRRVU5vUWp0QlFXaERiRUlzVDBGQlR6dEpRVlp1UWl4WFFVRlhMRU5CUVVNc01rTkJRVEpETEVOQlFVTTdTVUZEZUVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF6dEpRVU51UWl4bFFVRmxMRU5CUVVNN1VVRkRaaXhoUVVGaExFTkJRVU1zVFVGQlRUdFJRVU53UWl4aFFVRmhMRU5CUVVNc1RVRkJUVHRSUVVOd1FpeGhRVUZoTEVOQlFVTXNUVUZCVFR0TFFVTnlRaXhEUVVGRE8wbEJRMFFzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXp0SlFVTm9RaXhWUVVGVkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03U1VGRE9VTXNTMEZCU3l4RlFVRkZPenRIUVVOTExFOUJRVThzUTBGeFEyNUNJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRjYmlBZ1RXOWtaV3dzWEc0Z0lHMXZaR1ZzTEZ4dUlDQjBlWEJsSUUxdlpHVnNRWEpuTEZ4dUlDQnlaWEYxYVhKbFpDeGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dZMjlzZFcxdUxDQnBibVJsZUN3Z1QzSmtaWEpFYVhKbFkzUnBiMjRzSUhCckxDQjBZV0pzWlNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUh0Y2JpQWdRbXh2WTJ0UGNHVnlZWFJwYjI1ekxGeHVJQ0JqYjIxd2IzTmxaQ3hjYmlBZ1QzQmxjbUYwYVc5dVMyVjVjeXhjYmlBZ2NtVmhaRzl1Ykhrc1hHNTlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR0l0WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2daR1Z6WTNKcGNIUnBiMjRzSUhWelpYTWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRVpoWW5KcFkwWnNZWFp2ZFhJc1hHNGdJRzFwY25KdmNpeGNiaUFnVG1GdFpYTndZV05sUTI5c2JHVmpkR2x2Yml4Y2JpQWdjMmhoY21Wa1JHRjBZU3hjYm4wZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpGd2lPMXh1WEc1QVpHVnpZM0pwY0hScGIyNG9YQ0pNYjJkeklIVnpaWElnWVdOMGFYWnBkSGtnWm05eUlHRjFaR2wwYVc1bklIQjFjbkJ2YzJWekxsd2lLVnh1UUhWelpYTW9SbUZpY21salJteGhkbTkxY2lsY2JrQkNiRzlqYTA5d1pYSmhkR2x2Ym5Nb1cxeHVJQ0JQY0dWeVlYUnBiMjVMWlhsekxrTlNSVUZVUlN4Y2JpQWdUM0JsY21GMGFXOXVTMlY1Y3k1VlVFUkJWRVVzWEc0Z0lFOXdaWEpoZEdsdmJrdGxlWE11UkVWTVJWUkZMRnh1WFNsY2JrQjBZV0pzWlNoY0ltaHBjM1J2Y25sY0lpbGNia0J6YUdGeVpXUkVZWFJoS0U1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0b1hDSndkSEF0YUdsemRHOXllVndpS1NsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nU0dsemRHOXllU0JsZUhSbGJtUnpJRTF2WkdWc0lIdGNiaUFnUUhCcktDbGNiaUFnUUcxcGNuSnZjaWhjSW5CMGNDMW9hWE4wYjNKNUxXMXBjbkp2Y2x3aUxDQmNJbEJvWVhKdFlXeGxaR2RsY21GemMyOWpUVk5RWENJcFhHNGdJRUJqYjIxd2IzTmxaQ2hiWENKMFlXSnNaVndpTENCY0ltdGxlVndpTENCY0luWmxjbk5wYjI1Y0lsMHNJRndpT2x3aUtWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSlZibWx4ZFdVZ2FXUmxiblJwWm1sbGNpQnZaaUIwYUdVZ2FHbHpkRzl5ZVNCeVpXTnZjbVF1WENJcFhHNGdJR2xrSVRvZ2MzUnlhVzVuTzF4dVhHNGdJRUJqYjJ4MWJXNG9LVnh1SUNCQWNtVmhaRzl1Ykhrb0tWeHVJQ0JBY21WaFpHOXViSGtvS1Z4dUlDQkFhVzVrWlhnb1cwOXlaR1Z5UkdseVpXTjBhVzl1TGtGVFF5d2dUM0prWlhKRWFYSmxZM1JwYjI0dVJGTkRYU2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpZEdGaWJHVWdkR2hwY3lCb2FYTjBiM0o1SUc5aWFtVmpkQ0J5WldabGNuTWdkRzljSWlsY2JpQWdkR0ZpYkdVaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKcFpDQnZaaUIwYUdVZ2IzSnBaMmx1WVd3Z2IySnFaV04wWENJcFhHNGdJR3RsZVNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhKbFlXUnZibXg1S0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSW5Sb1pTQjJaWEp6YVc5dUlHOW1JSFJvWlNCdmNtbG5hVzVoYkNCdlltcGxZM1JjSWlsY2JpQWdkbVZ5YzJsdmJpRTZJRzUxYldKbGNqdGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FISmxZV1J2Ym14NUtDbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lkR2hsSUc5aWFtVmpkQ0IwYnlCclpXVndJR2hwYzNSdmNua2diMlpjSWlsY2JpQWdjbVZqYjNKa1B6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQanRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWh0YjJSbGJEODZJRTF2WkdWc1FYSm5QRWhwYzNSdmNuaytLU0I3WEc0Z0lDQWdjM1Z3WlhJb2JXOWtaV3dwTzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OtherAudit = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
19
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
20
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
21
|
+
const core_1 = require("@decaf-ts/core");
|
|
22
|
+
const BaseModel_js_1 = require("./../models/BaseModel.cjs");
|
|
23
|
+
const constants_js_1 = require("./../models/constants.cjs");
|
|
24
|
+
const index_js_1 = require("./../../shared/index.cjs");
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
|
+
function uuidSeed(m, ...args) {
|
|
27
|
+
try {
|
|
28
|
+
return `${m.model}${m.action}${m.recordId}${m.userId}${m.transaction}${JSON.stringify(m.diffs)}`;
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new db_decorators_1.InternalError(`Failed to generate deterministic uuid: ${e}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
let OtherAudit = class OtherAudit extends BaseModel_js_1.BaseModel {
|
|
35
|
+
constructor(model) {
|
|
36
|
+
super(model);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.OtherAudit = OtherAudit;
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, core_1.pk)(),
|
|
42
|
+
(0, core_1.uuid)(uuidSeed),
|
|
43
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
44
|
+
(0, decoration_1.description)("Unique identifier of the audit record."),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], OtherAudit.prototype, "id", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, core_1.column)(),
|
|
49
|
+
(0, decorator_validation_1.required)(),
|
|
50
|
+
(0, db_decorators_1.readonly)(),
|
|
51
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
52
|
+
(0, decoration_1.description)("model/entity affected by the action"),
|
|
53
|
+
(0, core_1.defaultQueryAttr)(),
|
|
54
|
+
__metadata("design:type", String)
|
|
55
|
+
], OtherAudit.prototype, "model", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, core_1.column)(),
|
|
58
|
+
(0, decorator_validation_1.required)(),
|
|
59
|
+
(0, db_decorators_1.readonly)(),
|
|
60
|
+
(0, decorator_validation_1.type)(String),
|
|
61
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
62
|
+
(0, decoration_1.description)("Type of action performed by the user."),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], OtherAudit.prototype, "action", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, decoration_1.description)("Id from the model recorded in the audit"),
|
|
67
|
+
(0, core_1.column)(),
|
|
68
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
69
|
+
(0, decorator_validation_1.required)(),
|
|
70
|
+
(0, core_1.defaultQueryAttr)(),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], OtherAudit.prototype, "recordId", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, core_1.column)(),
|
|
75
|
+
(0, core_1.createdBy)(),
|
|
76
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
77
|
+
(0, decoration_1.description)("Identifier of the user who performed the action."),
|
|
78
|
+
(0, core_1.defaultQueryAttr)(),
|
|
79
|
+
__metadata("design:type", String)
|
|
80
|
+
], OtherAudit.prototype, "userId", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, core_1.column)(),
|
|
83
|
+
(0, decorator_validation_1.required)(),
|
|
84
|
+
(0, db_decorators_1.readonly)(),
|
|
85
|
+
(0, decorator_validation_1.type)(String),
|
|
86
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
87
|
+
(0, decoration_1.description)("Group or role of the user who performed the action."),
|
|
88
|
+
__metadata("design:type", String)
|
|
89
|
+
], OtherAudit.prototype, "userGroup", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, core_1.column)(),
|
|
92
|
+
(0, decorator_validation_1.required)(),
|
|
93
|
+
(0, db_decorators_1.readonly)(),
|
|
94
|
+
(0, index_js_1.transactionId)(),
|
|
95
|
+
(0, decoration_1.description)("the transaction the audit record was created in"),
|
|
96
|
+
__metadata("design:type", String)
|
|
97
|
+
], OtherAudit.prototype, "transaction", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, core_1.column)(),
|
|
100
|
+
(0, db_decorators_1.readonly)(),
|
|
101
|
+
(0, db_decorators_1.serialize)(),
|
|
102
|
+
(0, decoration_1.description)("the diffs for the action."),
|
|
103
|
+
__metadata("design:type", Object)
|
|
104
|
+
], OtherAudit.prototype, "diffs", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, index_js_1.ownedBy)(),
|
|
107
|
+
(0, decoration_1.description)("the owner (msp) of the audit log"),
|
|
108
|
+
__metadata("design:type", String)
|
|
109
|
+
], OtherAudit.prototype, "owner", void 0);
|
|
110
|
+
exports.OtherAudit = OtherAudit = __decorate([
|
|
111
|
+
(0, decoration_1.description)("Logs user activity for auditing purposes."),
|
|
112
|
+
(0, db_decorators_1.BlockOperations)([
|
|
113
|
+
// OperationKeys.CREATE,
|
|
114
|
+
db_decorators_1.OperationKeys.UPDATE,
|
|
115
|
+
db_decorators_1.OperationKeys.DELETE,
|
|
116
|
+
]),
|
|
117
|
+
(0, decoration_1.uses)(index_js_1.FabricFlavour),
|
|
118
|
+
(0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
|
|
119
|
+
(0, core_1.table)("audit"),
|
|
120
|
+
(0, decorator_validation_1.model)(),
|
|
121
|
+
__metadata("design:paramtypes", [Object])
|
|
122
|
+
], OtherAudit);
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC90cmFja2VkTW9kZWxzL090aGVyQXVkaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNiLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxLQUFLLEVBQ0wsRUFBRSxFQUNGLFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxJQUFJLEVBRUosZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQ0FBNEI7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQ0FBNEI7QUFDdEQsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxHQUNkLGdDQUEyQjtBQUU1Qiw2REFBNkQ7QUFDN0QsU0FBUyxRQUFRLENBQUMsQ0FBYSxFQUFFLEdBQUcsSUFBeUI7SUFDM0QsSUFBSSxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ25HLENBQUM7SUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxhQUFhLENBQUMsMENBQTBDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztBQUNILENBQUM7QUFZTSxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFXLFNBQVEsU0FBUztJQThEdkMsWUFBWSxLQUE0QjtRQUN0QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQTVEQztJQUpDLEVBQUUsRUFBRTtJQUNKLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDZCxNQUFNLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLENBQUM7SUFDbkQsV0FBVyxDQUFDLHdDQUF3QyxDQUFDOztzQ0FDMUM7QUFRWjtJQU5DLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxxQ0FBcUMsQ0FBQztJQUNsRCxnQkFBZ0IsRUFBRTs7eUNBQ0o7QUFRZjtJQU5DLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFFBQVEsRUFBRTtJQUNWLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDWixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQUMsdUNBQXVDLENBQUM7OzBDQUM1QjtBQU96QjtJQUxDLFdBQVcsQ0FBQyx5Q0FBeUMsQ0FBQztJQUN0RCxNQUFNLEVBQUU7SUFDUixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxRQUFRLEVBQUU7SUFDVixnQkFBZ0IsRUFBRTs7NENBQ0Q7QUFPbEI7SUFMQyxNQUFNLEVBQUU7SUFDUixTQUFTLEVBQUU7SUFDWCxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQUMsa0RBQWtELENBQUM7SUFDL0QsZ0JBQWdCLEVBQUU7OzBDQUNIO0FBUWhCO0lBTkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNaLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxxREFBcUQsQ0FBQzs7NkNBQ2hEO0FBT25CO0lBTEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsYUFBYSxFQUFFO0lBQ2YsV0FBVyxDQUFDLGlEQUFpRCxDQUFDOzsrQ0FDMUM7QUFNckI7SUFKQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixTQUFTLEVBQUU7SUFDWCxXQUFXLENBQUMsMkJBQTJCLENBQUM7O3lDQUNiO0FBSTVCO0lBRkMsT0FBTyxFQUFFO0lBQ1QsV0FBVyxDQUFDLGtDQUFrQyxDQUFDOzt5Q0FDakM7QUE1REosVUFBVTtJQVZ0QixXQUFXLENBQUMsMkNBQTJDLENBQUM7SUFDeEQsZUFBZSxDQUFDO1FBQ2Ysd0JBQXdCO1FBQ3hCLGFBQWEsQ0FBQyxNQUFNO1FBQ3BCLGFBQWEsQ0FBQyxNQUFNO0tBQ3JCLENBQUM7SUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25CLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDZCxLQUFLLEVBQUU7O0dBQ0ssVUFBVSxDQWlFdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBtb2RlbCxcbiAgdHlwZSBNb2RlbEFyZyxcbiAgcmVxdWlyZWQsXG4gIHR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gIEJsb2NrT3BlcmF0aW9ucyxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbiAgcmVhZG9ubHksXG4gIHNlcmlhbGl6ZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiwgdXNlcyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgdGFibGUsXG4gIHBrLFxuICBjcmVhdGVkQnksXG4gIGNvbHVtbixcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIGluZGV4LFxuICB1dWlkLFxuICBDb250ZXh0dWFsQXJncyxcbiAgZGVmYXVsdFF1ZXJ5QXR0cixcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL0Jhc2VNb2RlbFwiO1xuaW1wb3J0IHsgQXVkaXRPcGVyYXRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG1pcnJvcixcbiAgTmFtZXNwYWNlQ29sbGVjdGlvbixcbiAgb3duZWRCeSxcbiAgc2hhcmVkRGF0YSxcbiAgdHJhbnNhY3Rpb25JZCxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiB1dWlkU2VlZChtOiBPdGhlckF1ZGl0LCAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxhbnk+KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGAke20ubW9kZWx9JHttLmFjdGlvbn0ke20ucmVjb3JkSWR9JHttLnVzZXJJZH0ke20udHJhbnNhY3Rpb259JHtKU09OLnN0cmluZ2lmeShtLmRpZmZzKX1gO1xuICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBnZW5lcmF0ZSBkZXRlcm1pbmlzdGljIHV1aWQ6ICR7ZX1gKTtcbiAgfVxufVxuXG5AZGVzY3JpcHRpb24oXCJMb2dzIHVzZXIgYWN0aXZpdHkgZm9yIGF1ZGl0aW5nIHB1cnBvc2VzLlwiKVxuQEJsb2NrT3BlcmF0aW9ucyhbXG4gIC8vIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG5dKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpXG5AdGFibGUoXCJhdWRpdFwiKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBPdGhlckF1ZGl0IGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgQHBrKClcbiAgQHV1aWQodXVpZFNlZWQpXG4gIEBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhdWRpdCByZWNvcmQuXCIpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwibW9kZWwvZW50aXR5IGFmZmVjdGVkIGJ5IHRoZSBhY3Rpb25cIilcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBtb2RlbCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQHR5cGUoU3RyaW5nKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiVHlwZSBvZiBhY3Rpb24gcGVyZm9ybWVkIGJ5IHRoZSB1c2VyLlwiKVxuICBhY3Rpb24hOiBBdWRpdE9wZXJhdGlvbnM7XG5cbiAgQGRlc2NyaXB0aW9uKFwiSWQgZnJvbSB0aGUgbW9kZWwgcmVjb3JkZWQgaW4gdGhlIGF1ZGl0XCIpXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQHJlcXVpcmVkKClcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICByZWNvcmRJZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGNyZWF0ZWRCeSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIilcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICB1c2VySWQhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEB0eXBlKFN0cmluZylcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkdyb3VwIG9yIHJvbGUgb2YgdGhlIHVzZXIgd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uLlwiKVxuICB1c2VyR3JvdXAhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEB0cmFuc2FjdGlvbklkKClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIHRyYW5zYWN0aW9uIHRoZSBhdWRpdCByZWNvcmQgd2FzIGNyZWF0ZWQgaW5cIilcbiAgdHJhbnNhY3Rpb24hOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIEBzZXJpYWxpemUoKVxuICBAZGVzY3JpcHRpb24oXCJ0aGUgZGlmZnMgZm9yIHRoZSBhY3Rpb24uXCIpXG4gIGRpZmZzPzogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBAb3duZWRCeSgpXG4gIEBkZXNjcmlwdGlvbihcInRoZSBvd25lciAobXNwKSBvZiB0aGUgYXVkaXQgbG9nXCIpXG4gIG93bmVyITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGVsPzogTW9kZWxBcmc8T3RoZXJBdWRpdD4pIHtcbiAgICBzdXBlcihtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyQXVkaXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENB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LEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFZiw4dU9BQTh1TyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQsIHR5cGUsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tPcGVyYXRpb25zLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCByZWFkb25seSwgc2VyaWFsaXplLCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHRhYmxlLCBwaywgY3JlYXRlZEJ5LCBjb2x1bW4sIE9yZGVyRGlyZWN0aW9uLCBpbmRleCwgdXVpZCwgZGVmYXVsdFF1ZXJ5QXR0ciwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuLy4uL21vZGVscy9CYXNlTW9kZWwuanNcIjtcbmltcG9ydCB7IEF1ZGl0T3BlcmF0aW9ucyB9IGZyb20gXCIuLy4uL21vZGVscy9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIsIG1pcnJvciwgTmFtZXNwYWNlQ29sbGVjdGlvbiwgb3duZWRCeSwgc2hhcmVkRGF0YSwgdHJhbnNhY3Rpb25JZCwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmZ1bmN0aW9uIHV1aWRTZWVkKG0sIC4uLmFyZ3MpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gYCR7bS5tb2RlbH0ke20uYWN0aW9ufSR7bS5yZWNvcmRJZH0ke20udXNlcklkfSR7bS50cmFuc2FjdGlvbn0ke0pTT04uc3RyaW5naWZ5KG0uZGlmZnMpfWA7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgZGV0ZXJtaW5pc3RpYyB1dWlkOiAke2V9YCk7XG4gICAgfVxufVxubGV0IE90aGVyQXVkaXQgPSBjbGFzcyBPdGhlckF1ZGl0IGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbCkge1xuICAgICAgICBzdXBlcihtb2RlbCk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKCksXG4gICAgdXVpZCh1dWlkU2VlZCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhdWRpdCByZWNvcmQuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwibW9kZWwvZW50aXR5IGFmZmVjdGVkIGJ5IHRoZSBhY3Rpb25cIiksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJtb2RlbFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIHR5cGUoU3RyaW5nKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIlR5cGUgb2YgYWN0aW9uIHBlcmZvcm1lZCBieSB0aGUgdXNlci5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcImFjdGlvblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgZGVzY3JpcHRpb24oXCJJZCBmcm9tIHRoZSBtb2RlbCByZWNvcmRlZCBpbiB0aGUgYXVkaXRcIiksXG4gICAgY29sdW1uKCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcInJlY29yZElkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBjcmVhdGVkQnkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIklkZW50aWZpZXIgb2YgdGhlIHVzZXIgd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uLlwiKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcInVzZXJJZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIHR5cGUoU3RyaW5nKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIkdyb3VwIG9yIHJvbGUgb2YgdGhlIHVzZXIgd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwidXNlckdyb3VwXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgdHJhbnNhY3Rpb25JZCgpLFxuICAgIGRlc2NyaXB0aW9uKFwidGhlIHRyYW5zYWN0aW9uIHRoZSBhdWRpdCByZWNvcmQgd2FzIGNyZWF0ZWQgaW5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcInRyYW5zYWN0aW9uXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZWFkb25seSgpLFxuICAgIHNlcmlhbGl6ZSgpLFxuICAgIGRlc2NyaXB0aW9uKFwidGhlIGRpZmZzIGZvciB0aGUgYWN0aW9uLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwiZGlmZnNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIG93bmVkQnkoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSBvd25lciAobXNwKSBvZiB0aGUgYXVkaXQgbG9nXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJvd25lclwiLCB2b2lkIDApO1xuT3RoZXJBdWRpdCA9IF9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiTG9ncyB1c2VyIGFjdGl2aXR5IGZvciBhdWRpdGluZyBwdXJwb3Nlcy5cIiksXG4gICAgQmxvY2tPcGVyYXRpb25zKFtcbiAgICAgICAgLy8gT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICBdKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSksXG4gICAgdGFibGUoXCJhdWRpdFwiKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE90aGVyQXVkaXQpO1xuZXhwb3J0IHsgT3RoZXJBdWRpdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDNSb1pYSkJkV1JwZEM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjUwY21GamRDOTBjbUZqYTJWa1RXOWtaV3h6TDA5MGFHVnlRWFZrYVhRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJRVUVzVDBGQlR5eEZRVU5NTEV0QlFVc3NSVUZGVEN4UlFVRlJMRVZCUTFJc1NVRkJTU3hIUVVOTUxFMUJRVTBzWjBOQlFXZERMRU5CUVVNN1FVRkRlRU1zVDBGQlR5eEZRVU5NTEdWQlFXVXNSVUZEWml4aFFVRmhMRVZCUTJJc1lVRkJZU3hGUVVOaUxGRkJRVkVzUlVGRFVpeFRRVUZUTEVkQlExWXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVU5xUXl4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZEVEN4TFFVRkxMRVZCUTB3c1JVRkJSU3hGUVVOR0xGTkJRVk1zUlVGRFZDeE5RVUZOTEVWQlEwNHNZMEZCWXl4RlFVTmtMRXRCUVVzc1JVRkRUQ3hKUVVGSkxFVkJSVW9zWjBKQlFXZENMRWRCUTJwQ0xFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkRlRUlzVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4cFEwRkJORUk3UVVGRGFFUXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3hwUTBGQk5FSTdRVUZEZEVRc1QwRkJUeXhGUVVOTUxHRkJRV0VzUlVGRFlpeE5RVUZOTEVWQlEwNHNiVUpCUVcxQ0xFVkJRMjVDTEU5QlFVOHNSVUZEVUN4VlFVRlZMRVZCUTFZc1lVRkJZU3hIUVVOa0xHZERRVUV5UWp0QlFVVTFRaXcyUkVGQk5rUTdRVUZETjBRc1UwRkJVeXhSUVVGUkxFTkJRVU1zUTBGQllTeEZRVUZGTEVkQlFVY3NTVUZCZVVJN1NVRkRNMFFzU1VGQlNTeERRVUZETzFGQlEwZ3NUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1VVRkJVU3hIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRMjVITEVOQlFVTTdTVUZCUXl4UFFVRlBMRU5CUVZVc1JVRkJSU3hEUVVGRE8xRkJRM0JDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc01FTkJRVEJETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRla1VzUTBGQlF6dEJRVU5JTEVOQlFVTTdRVUZaVFN4SlFVRk5MRlZCUVZVc1IwRkJhRUlzVFVGQlRTeFZRVUZYTEZOQlFWRXNVMEZCVXp0SlFUaEVka01zV1VGQldTeExRVUUwUWp0UlFVTjBReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEWml4RFFVRkRPME5CUTBZc1EwRkJRVHRCUVRWRVF6dEpRVXBETEVWQlFVVXNSVUZCUlR0SlFVTktMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU03U1VGRFpDeE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzYzBKQlFYTkNMRU5CUVVNN1NVRkRia1FzVjBGQlZ5eERRVUZETEhkRFFVRjNReXhEUVVGRE96dHpRMEZETVVNN1FVRlJXanRKUVU1RExFMUJRVTBzUlVGQlJUdEpRVU5TTEZGQlFWRXNSVUZCUlR0SlFVTldMRkZCUVZFc1JVRkJSVHRKUVVOV0xFdEJRVXNzUTBGQlF5eERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF5OURMRmRCUVZjc1EwRkJReXh4UTBGQmNVTXNRMEZCUXp0SlFVTnNSQ3huUWtGQlowSXNSVUZCUlRzN2VVTkJRMG83UVVGUlpqdEpRVTVETEUxQlFVMHNSVUZCUlR0SlFVTlNMRkZCUVZFc1JVRkJSVHRKUVVOV0xGRkJRVkVzUlVGQlJUdEpRVU5XTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkRXaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2RVTkJRWFZETEVOQlFVTTdPekJEUVVNMVFqdEJRVTk2UWp0SlFVeERMRmRCUVZjc1EwRkJReXg1UTBGQmVVTXNRMEZCUXp0SlFVTjBSQ3hOUVVGTkxFVkJRVVU3U1VGRFVpeExRVUZMTEVOQlFVTXNRMEZCUXl4alFVRmpMRU5CUVVNc1IwRkJSeXhGUVVGRkxHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTXZReXhSUVVGUkxFVkJRVVU3U1VGRFZpeG5Ra0ZCWjBJc1JVRkJSVHM3TkVOQlEwUTdRVUZQYkVJN1NVRk1ReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFRRVUZUTEVWQlFVVTdTVUZEV0N4TFFVRkxMRU5CUVVNc1EwRkJReXhqUVVGakxFTkJRVU1zUjBGQlJ5eEZRVUZGTEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVNdlF5eFhRVUZYTEVOQlFVTXNhMFJCUVd0RUxFTkJRVU03U1VGREwwUXNaMEpCUVdkQ0xFVkJRVVU3T3pCRFFVTklPMEZCVVdoQ08wbEJUa01zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTmFMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJReTlETEZkQlFWY3NRMEZCUXl4eFJFRkJjVVFzUTBGQlF6czdOa05CUTJoRU8wRkJUMjVDTzBsQlRFTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzVVVGQlVTeEZRVUZGTzBsQlExWXNZVUZCWVN4RlFVRkZPMGxCUTJZc1YwRkJWeXhEUVVGRExHbEVRVUZwUkN4RFFVRkRPenNyUTBGRE1VTTdRVUZOY2tJN1NVRktReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRVZCUVVVN1NVRkRXQ3hYUVVGWExFTkJRVU1zTWtKQlFUSkNMRU5CUVVNN08zbERRVU5pTzBGQlNUVkNPMGxCUmtNc1QwRkJUeXhGUVVGRk8wbEJRMVFzVjBGQlZ5eERRVUZETEd0RFFVRnJReXhEUVVGRE96dDVRMEZEYWtNN1FVRTFSRW9zVlVGQlZUdEpRVlowUWl4WFFVRlhMRU5CUVVNc01rTkJRVEpETEVOQlFVTTdTVUZEZUVRc1pVRkJaU3hEUVVGRE8xRkJRMllzZDBKQlFYZENPMUZCUTNoQ0xHRkJRV0VzUTBGQlF5eE5RVUZOTzFGQlEzQkNMR0ZCUVdFc1EwRkJReXhOUVVGTk8wdEJRM0pDTEVOQlFVTTdTVUZEUkN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRE8wbEJRMjVDTEZWQlFWVXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRMnhFTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkRaQ3hMUVVGTExFVkJRVVU3TzBkQlEwc3NWVUZCVlN4RFFXbEZkRUlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZTF4dUlDQnRiMlJsYkN4Y2JpQWdkSGx3WlNCTmIyUmxiRUZ5Wnl4Y2JpQWdjbVZ4ZFdseVpXUXNYRzRnSUhSNWNHVXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdWamIzSmhkRzl5TFhaaGJHbGtZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVKc2IyTnJUM0JsY21GMGFXOXVjeXhjYmlBZ1NXNTBaWEp1WVd4RmNuSnZjaXhjYmlBZ1QzQmxjbUYwYVc5dVMyVjVjeXhjYmlBZ2NtVmhaRzl1Ykhrc1hHNGdJSE5sY21saGJHbDZaU3hjYm4wZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCa1pYTmpjbWx3ZEdsdmJpd2dkWE5sY3lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ2RHRmliR1VzWEc0Z0lIQnJMRnh1SUNCamNtVmhkR1ZrUW5rc1hHNGdJR052YkhWdGJpeGNiaUFnVDNKa1pYSkVhWEpsWTNScGIyNHNYRzRnSUdsdVpHVjRMRnh1SUNCMWRXbGtMRnh1SUNCRGIyNTBaWGgwZFdGc1FYSm5jeXhjYmlBZ1pHVm1ZWFZzZEZGMVpYSjVRWFIwY2l4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWpiM0psWENJN1hHNXBiWEJ2Y25RZ2V5QkNZWE5sVFc5a1pXd2dmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMEpoYzJWTmIyUmxiRndpTzF4dWFXMXdiM0owSUhzZ1FYVmthWFJQY0dWeVlYUnBiMjV6SUgwZ1puSnZiU0JjSWk0dUwyMXZaR1ZzY3k5amIyNXpkR0Z1ZEhOY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVaaFluSnBZMFpzWVhadmRYSXNYRzRnSUcxcGNuSnZjaXhjYmlBZ1RtRnRaWE53WVdObFEyOXNiR1ZqZEdsdmJpeGNiaUFnYjNkdVpXUkNlU3hjYmlBZ2MyaGhjbVZrUkdGMFlTeGNiaUFnZEhKaGJuTmhZM1JwYjI1SlpDeGNibjBnWm5KdmJTQmNJaTR1THk0dUwzTm9ZWEpsWkM5cGJtUmxlRndpTzF4dVhHNHZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhWdWRYTmxaQzEyWVhKelhHNW1kVzVqZEdsdmJpQjFkV2xrVTJWbFpDaHRPaUJQZEdobGNrRjFaR2wwTENBdUxpNWhjbWR6T2lCRGIyNTBaWGgwZFdGc1FYSm5jenhoYm5rK0tTQjdYRzRnSUhSeWVTQjdYRzRnSUNBZ2NtVjBkWEp1SUdBa2UyMHViVzlrWld4OUpIdHRMbUZqZEdsdmJuMGtlMjB1Y21WamIzSmtTV1I5Skh0dExuVnpaWEpKWkgwa2UyMHVkSEpoYm5OaFkzUnBiMjU5Skh0S1UwOU9Mbk4wY21sdVoybG1lU2h0TG1ScFptWnpLWDFnTzF4dUlDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1lFWmhhV3hsWkNCMGJ5Qm5aVzVsY21GMFpTQmtaWFJsY20xcGJtbHpkR2xqSUhWMWFXUTZJQ1I3WlgxZ0tUdGNiaUFnZlZ4dWZWeHVYRzVBWkdWelkzSnBjSFJwYjI0b1hDSk1iMmR6SUhWelpYSWdZV04wYVhacGRIa2dabTl5SUdGMVpHbDBhVzVuSUhCMWNuQnZjMlZ6TGx3aUtWeHVRRUpzYjJOclQzQmxjbUYwYVc5dWN5aGJYRzRnSUM4dklFOXdaWEpoZEdsdmJrdGxlWE11UTFKRlFWUkZMRnh1SUNCUGNHVnlZWFJwYjI1TFpYbHpMbFZRUkVGVVJTeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5NUVSVXhGVkVVc1hHNWRLVnh1UUhWelpYTW9SbUZpY21salJteGhkbTkxY2lsY2JrQnphR0Z5WldSRVlYUmhLRTVoYldWemNHRmpaVU52Ykd4bFkzUnBiMjRvWENKa1pXTmhaaTF1WVcxbGMzQmhZMlZjSWlrcFhHNUFkR0ZpYkdVb1hDSmhkV1JwZEZ3aUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCUGRHaGxja0YxWkdsMElHVjRkR1Z1WkhNZ1FtRnpaVTF2WkdWc0lIdGNiaUFnUUhCcktDbGNiaUFnUUhWMWFXUW9kWFZwWkZObFpXUXBYRzRnSUVCdGFYSnliM0lvWENKdGFYSnliM0l0WTI5c2JHVmpkR2x2Ymx3aUxDQmNJbEJvWVhKdFlXeGxaR2RsY21GemMyOWpUVk5RWENJcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lsVnVhWEYxWlNCcFpHVnVkR2xtYVdWeUlHOW1JSFJvWlNCaGRXUnBkQ0J5WldOdmNtUXVYQ0lwWEc0Z0lHbGtJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFjbVZoWkc5dWJIa29LVnh1SUNCQWFXNWtaWGdvVzA5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXl3Z1QzSmtaWEpFYVhKbFkzUnBiMjR1UkZORFhTbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2liVzlrWld3dlpXNTBhWFI1SUdGbVptVmpkR1ZrSUdKNUlIUm9aU0JoWTNScGIyNWNJaWxjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0J0YjJSbGJDRTZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FISmxZV1J2Ym14NUtDbGNiaUFnUUhSNWNHVW9VM1J5YVc1bktWeHVJQ0JBYVc1a1pYZ29XMDl5WkdWeVJHbHlaV04wYVc5dUxrRlRReXdnVDNKa1pYSkVhWEpsWTNScGIyNHVSRk5EWFNsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVZIbHdaU0J2WmlCaFkzUnBiMjRnY0dWeVptOXliV1ZrSUdKNUlIUm9aU0IxYzJWeUxsd2lLVnh1SUNCaFkzUnBiMjRoT2lCQmRXUnBkRTl3WlhKaGRHbHZibk03WEc1Y2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVNXUWdabkp2YlNCMGFHVWdiVzlrWld3Z2NtVmpiM0prWldRZ2FXNGdkR2hsSUdGMVpHbDBYQ0lwWEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBYVc1a1pYZ29XMDl5WkdWeVJHbHlaV04wYVc5dUxrRlRReXdnVDNKa1pYSkVhWEpsWTNScGIyNHVSRk5EWFNsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0J5WldOdmNtUkpaQ0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUdOeVpXRjBaV1JDZVNncFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKSlpHVnVkR2xtYVdWeUlHOW1JSFJvWlNCMWMyVnlJSGRvYnlCd1pYSm1iM0p0WldRZ2RHaGxJR0ZqZEdsdmJpNWNJaWxjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0IxYzJWeVNXUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnlaV0ZrYjI1c2VTZ3BYRzRnSUVCMGVYQmxLRk4wY21sdVp5bGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrZHliM1Z3SUc5eUlISnZiR1VnYjJZZ2RHaGxJSFZ6WlhJZ2QyaHZJSEJsY21admNtMWxaQ0IwYUdVZ1lXTjBhVzl1TGx3aUtWeHVJQ0IxYzJWeVIzSnZkWEFoT2lCemRISnBibWM3WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUJ5WldGa2IyNXNlU2dwWEc0Z0lFQjBjbUZ1YzJGamRHbHZia2xrS0NsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aWRHaGxJSFJ5WVc1ellXTjBhVzl1SUhSb1pTQmhkV1JwZENCeVpXTnZjbVFnZDJGeklHTnlaV0YwWldRZ2FXNWNJaWxjYmlBZ2RISmhibk5oWTNScGIyNGhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WldGa2IyNXNlU2dwWEc0Z0lFQnpaWEpwWVd4cGVtVW9LVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0owYUdVZ1pHbG1abk1nWm05eUlIUm9aU0JoWTNScGIyNHVYQ0lwWEc0Z0lHUnBabVp6UHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnWVc1NVBqdGNibHh1SUNCQWIzZHVaV1JDZVNncFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0luUm9aU0J2ZDI1bGNpQW9iWE53S1NCdlppQjBhR1VnWVhWa2FYUWdiRzluWENJcFhHNGdJRzkzYm1WeUlUb2djM1J5YVc1bk8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHMXZaR1ZzUHpvZ1RXOWtaV3hCY21jOFQzUm9aWEpCZFdScGRENHBJSHRjYmlBZ0lDQnpkWEJsY2lodGIyUmxiQ2s3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Leaflet = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
19
|
+
const core_1 = require("@decaf-ts/core");
|
|
20
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
21
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
22
|
+
const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
|
|
23
|
+
const index_js_1 = require("./../../shared/index.cjs");
|
|
24
|
+
const decorators_private_js_1 = require("./../models/decorators-private.cjs");
|
|
25
|
+
const history_dec_js_1 = require("./../models/history-dec.cjs");
|
|
26
|
+
const gtin_js_1 = require("./../models/gtin.cjs");
|
|
27
|
+
const OtherLeafletFile_js_1 = require("./OtherLeafletFile.cjs");
|
|
28
|
+
let Leaflet = class Leaflet extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
|
|
29
|
+
constructor(model) {
|
|
30
|
+
super(model);
|
|
31
|
+
this.leafletType = "leaflet";
|
|
32
|
+
}
|
|
33
|
+
compare(other, ...exceptions) {
|
|
34
|
+
return super.compare(other, ...[
|
|
35
|
+
...new Set([
|
|
36
|
+
exceptions,
|
|
37
|
+
"updatedAt",
|
|
38
|
+
"updatedBy",
|
|
39
|
+
"otherFilesContent",
|
|
40
|
+
"xmlFileContent",
|
|
41
|
+
]).values(),
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.Leaflet = Leaflet;
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, core_1.pk)(),
|
|
48
|
+
(0, history_dec_js_1.historyDec)(),
|
|
49
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
50
|
+
(0, decorators_private_js_1.audit)(Leaflet),
|
|
51
|
+
(0, db_decorators_1.composed)(["productCode", "batchNumber", "leafletType", "lang", "epiMarket"], ":", ["batchNumber", "epiMarket"]),
|
|
52
|
+
(0, decoration_1.description)("Unique identifier composed of product code, batch number, and language."),
|
|
53
|
+
__metadata("design:type", String)
|
|
54
|
+
], Leaflet.prototype, "id", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, gtin_js_1.gtin)(),
|
|
57
|
+
(0, core_1.column)(),
|
|
58
|
+
(0, decorator_validation_1.required)(),
|
|
59
|
+
(0, db_decorators_1.readonly)(),
|
|
60
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
61
|
+
(0, decoration_1.description)("GTIN code of the product associated with this leaflet."),
|
|
62
|
+
(0, core_1.defaultQueryAttr)(),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], Leaflet.prototype, "productCode", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, core_1.column)(),
|
|
67
|
+
(0, db_decorators_1.readonly)(),
|
|
68
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
69
|
+
(0, decoration_1.description)("Batch number linked to the product, if applicable."),
|
|
70
|
+
(0, core_1.defaultQueryAttr)(),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], Leaflet.prototype, "batchNumber", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, core_1.column)(),
|
|
75
|
+
(0, decorator_validation_1.required)(),
|
|
76
|
+
(0, db_decorators_1.readonly)(),
|
|
77
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
78
|
+
(0, decoration_1.description)("Type category the leaflet belongs to."),
|
|
79
|
+
__metadata("design:type", String)
|
|
80
|
+
], Leaflet.prototype, "leafletType", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, core_1.column)(),
|
|
83
|
+
(0, decorator_validation_1.required)(),
|
|
84
|
+
(0, db_decorators_1.readonly)(),
|
|
85
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
86
|
+
(0, decoration_1.description)("Language code of the leaflet (e.g., 'en', 'pt', 'es')."),
|
|
87
|
+
__metadata("design:type", String)
|
|
88
|
+
], Leaflet.prototype, "lang", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, core_1.column)(),
|
|
91
|
+
(0, db_decorators_1.readonly)(),
|
|
92
|
+
__metadata("design:type", String)
|
|
93
|
+
], Leaflet.prototype, "epiMarket", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, core_1.column)(),
|
|
96
|
+
(0, decorator_validation_1.required)(),
|
|
97
|
+
(0, decoration_1.description)("Main XML content of the electronic leaflet."),
|
|
98
|
+
(0, core_1.oneToOne)(() => OtherLeafletFile_js_1.OtherLeafletFile, { update: core_1.Cascade.CASCADE, delete: core_1.Cascade.CASCADE }, false),
|
|
99
|
+
(0, decoration_1.description)("file with the xml content of the leaflet"),
|
|
100
|
+
__metadata("design:type", Object)
|
|
101
|
+
], Leaflet.prototype, "xmlFileContent", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
(0, core_1.oneToMany)(() => OtherLeafletFile_js_1.OtherLeafletFile, { update: core_1.Cascade.CASCADE, delete: core_1.Cascade.CASCADE }, false),
|
|
104
|
+
(0, decoration_1.description)("List of additional files linked to the leaflet, such as PDFs or images."),
|
|
105
|
+
__metadata("design:type", Array)
|
|
106
|
+
], Leaflet.prototype, "otherFilesContent", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
(0, index_js_1.ownedBy)(),
|
|
109
|
+
(0, decoration_1.description)("the owner (msp) of the leaflet"),
|
|
110
|
+
__metadata("design:type", String)
|
|
111
|
+
], Leaflet.prototype, "owner", void 0);
|
|
112
|
+
exports.Leaflet = Leaflet = __decorate([
|
|
113
|
+
(0, decoration_1.description)("Represents the ePI leaflet linked to a specific product, batch, and language."),
|
|
114
|
+
(0, decoration_1.uses)(index_js_1.FabricFlavour),
|
|
115
|
+
(0, core_1.table)("other_leaflet"),
|
|
116
|
+
(0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
|
|
117
|
+
(0, decorator_validation_1.model)(),
|
|
118
|
+
__metadata("design:paramtypes", [Object])
|
|
119
|
+
], Leaflet);
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L3RyYWNrZWRNb2RlbHMvT3RoZXJMZWFmbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxFQUFFLEVBQ0YsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFDcEUsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxVQUFVLEdBQ1gsZ0NBQTJCO0FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsMENBQXFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsbUNBQThCO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsNEJBQXVCO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSw4QkFBMkI7QUFTL0MsSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFRLFNBQVEsbUJBQW1CO0lBMEU5QyxZQUFZLEtBQXlCO1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQXZDZixnQkFBVyxHQUFXLFNBQVMsQ0FBQztJQXdDaEMsQ0FBQztJQUVRLE9BQU8sQ0FDZCxLQUFRLEVBQ1IsR0FBRyxVQUF1QjtRQUUxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQ2xCLEtBQVksRUFDWixHQUFJO1lBQ0YsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDVCxVQUFVO2dCQUNWLFdBQVc7Z0JBQ1gsV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLGdCQUFnQjthQUNqQixDQUFDLENBQUMsTUFBTSxFQUFFO1NBQ0YsQ0FDWixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFsRkM7SUFaQyxFQUFFLEVBQUU7SUFDSixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLENBQUM7SUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNkLFFBQVEsQ0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFDbEUsR0FBRyxFQUNILENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUM3QjtJQUNBLFdBQVcsQ0FDVix5RUFBeUUsQ0FDMUU7O21DQUNXO0FBU1o7SUFQQyxJQUFJLEVBQUU7SUFDTixNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQUMsd0RBQXdELENBQUM7SUFDckUsZ0JBQWdCLEVBQUU7OzRDQUNFO0FBT3JCO0lBTEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLG9EQUFvRCxDQUFDO0lBQ2pFLGdCQUFnQixFQUFFOzs0Q0FDRTtBQU9yQjtJQUxDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQzs7NENBQ3JCO0FBT2hDO0lBTEMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHdEQUF3RCxDQUFDOztxQ0FDeEQ7QUFJZDtJQUZDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTs7MENBQ1E7QUFXbkI7SUFUQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixXQUFXLENBQUMsNkNBQTZDLENBQUM7SUFDMUQsUUFBUSxDQUNQLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUN0QixFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQ3BELEtBQUssQ0FDTjtJQUNBLFdBQVcsQ0FBQywwQ0FBMEMsQ0FBQzs7K0NBQ2I7QUFVM0M7SUFSQyxTQUFTLENBQ1IsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQ3RCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFDcEQsS0FBSyxDQUNOO0lBQ0EsV0FBVyxDQUNWLHlFQUF5RSxDQUMxRTs7a0RBQ2lEO0FBSWxEO0lBRkMsT0FBTyxFQUFFO0lBQ1QsV0FBVyxDQUFDLGdDQUFnQyxDQUFDOztzQ0FDL0I7QUF4RUosT0FBTztJQVBuQixXQUFXLENBQ1YsK0VBQStFLENBQ2hGO0lBQ0EsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNuQixLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3RCLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELEtBQUssRUFBRTs7R0FDSyxPQUFPLENBK0ZuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBhcmlzb24sXG4gIE1vZGVsLFxuICB0eXBlIE1vZGVsQXJnLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBDYXNjYWRlLFxuICBjb2x1bW4sXG4gIGRlZmF1bHRRdWVyeUF0dHIsXG4gIGluZGV4LFxuICBvbmVUb01hbnksXG4gIG9uZVRvT25lLFxuICBPcmRlckRpcmVjdGlvbixcbiAgcGssXG4gIHRhYmxlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNvbXBvc2VkLCByZWFkb25seSB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL0Jhc2VJZGVudGlmaWVkTW9kZWxcIjtcbmltcG9ydCB7XG4gIEZhYnJpY0ZsYXZvdXIsXG4gIG1pcnJvcixcbiAgTmFtZXNwYWNlQ29sbGVjdGlvbixcbiAgb3duZWRCeSxcbiAgc2hhcmVkRGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi4vbW9kZWxzL2RlY29yYXRvcnMtcHJpdmF0ZVwiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLi9tb2RlbHMvaGlzdG9yeS1kZWNcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi4vbW9kZWxzL2d0aW5cIjtcbmltcG9ydCB7IE90aGVyTGVhZmxldEZpbGUgfSBmcm9tIFwiLi9PdGhlckxlYWZsZXRGaWxlXCI7XG5cbkBkZXNjcmlwdGlvbihcbiAgXCJSZXByZXNlbnRzIHRoZSBlUEkgbGVhZmxldCBsaW5rZWQgdG8gYSBzcGVjaWZpYyBwcm9kdWN0LCBiYXRjaCwgYW5kIGxhbmd1YWdlLlwiXG4pXG5AdXNlcyhGYWJyaWNGbGF2b3VyKVxuQHRhYmxlKFwib3RoZXJfbGVhZmxldFwiKVxuQHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTGVhZmxldCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAaGlzdG9yeURlYygpXG4gIEBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpXG4gIEBhdWRpdChMZWFmbGV0KVxuICBAY29tcG9zZWQoXG4gICAgW1wicHJvZHVjdENvZGVcIiwgXCJiYXRjaE51bWJlclwiLCBcImxlYWZsZXRUeXBlXCIsIFwibGFuZ1wiLCBcImVwaU1hcmtldFwiXSxcbiAgICBcIjpcIixcbiAgICBbXCJiYXRjaE51bWJlclwiLCBcImVwaU1hcmtldFwiXVxuICApXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSwgYmF0Y2ggbnVtYmVyLCBhbmQgbGFuZ3VhZ2UuXCJcbiAgKVxuICBpZCE6IHN0cmluZztcblxuICBAZ3RpbigpXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiR1RJTiBjb2RlIG9mIHRoZSBwcm9kdWN0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxlYWZsZXQuXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJCYXRjaCBudW1iZXIgbGlua2VkIHRvIHRoZSBwcm9kdWN0LCBpZiBhcHBsaWNhYmxlLlwiKVxuICBAZGVmYXVsdFF1ZXJ5QXR0cigpXG4gIGJhdGNoTnVtYmVyPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiVHlwZSBjYXRlZ29yeSB0aGUgbGVhZmxldCBiZWxvbmdzIHRvLlwiKVxuICBsZWFmbGV0VHlwZTogc3RyaW5nID0gXCJsZWFmbGV0XCI7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJMYW5ndWFnZSBjb2RlIG9mIHRoZSBsZWFmbGV0IChlLmcuLCAnZW4nLCAncHQnLCAnZXMnKS5cIilcbiAgbGFuZyE6IHN0cmluZzsgLy8gVE9ETyAtPiByb2xsYmFjayB0byBsYW5ndWFnZSBwcm9wZXJ0eVxuXG4gIEBjb2x1bW4oKVxuICBAcmVhZG9ubHkoKVxuICBlcGlNYXJrZXQhOiBzdHJpbmc7IC8vIFRPRE8gLT4gQ3JlYXRlIHZhbGlkYXRpb24gZGVjb3JhdG9yLiBDb3VudHJ5TWFya2V0IGlzIGEgQ09ORElUSU9OQUwgcHJvcGVydHkuIGNhbiBvbmx5IGV4aXN0IGZvciBwcm9kdWN0IG9ubHkuIG5vIGJhdGNoXG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBkZXNjcmlwdGlvbihcIk1haW4gWE1MIGNvbnRlbnQgb2YgdGhlIGVsZWN0cm9uaWMgbGVhZmxldC5cIilcbiAgQG9uZVRvT25lKFxuICAgICgpID0+IE90aGVyTGVhZmxldEZpbGUsXG4gICAgeyB1cGRhdGU6IENhc2NhZGUuQ0FTQ0FERSwgZGVsZXRlOiBDYXNjYWRlLkNBU0NBREUgfSxcbiAgICBmYWxzZVxuICApXG4gIEBkZXNjcmlwdGlvbihcImZpbGUgd2l0aCB0aGUgeG1sIGNvbnRlbnQgb2YgdGhlIGxlYWZsZXRcIilcbiAgeG1sRmlsZUNvbnRlbnQhOiBzdHJpbmcgfCBPdGhlckxlYWZsZXRGaWxlO1xuXG4gIEBvbmVUb01hbnkoXG4gICAgKCkgPT4gT3RoZXJMZWFmbGV0RmlsZSxcbiAgICB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LFxuICAgIGZhbHNlXG4gIClcbiAgQGRlc2NyaXB0aW9uKFxuICAgIFwiTGlzdCBvZiBhZGRpdGlvbmFsIGZpbGVzIGxpbmtlZCB0byB0aGUgbGVhZmxldCwgc3VjaCBhcyBQREZzIG9yIGltYWdlcy5cIlxuICApXG4gIG90aGVyRmlsZXNDb250ZW50ITogc3RyaW5nW10gfCBPdGhlckxlYWZsZXRGaWxlW107XG5cbiAgQG93bmVkQnkoKVxuICBAZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGxlYWZsZXRcIilcbiAgb3duZXIhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxMZWFmbGV0Pikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvbXBhcmU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBvdGhlcjogTSxcbiAgICAuLi5leGNlcHRpb25zOiAoa2V5b2YgTSlbXVxuICApOiBDb21wYXJpc29uPE0+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIuY29tcGFyZTxNPihcbiAgICAgIG90aGVyIGFzIGFueSxcbiAgICAgIC4uLihbXG4gICAgICAgIC4uLm5ldyBTZXQoW1xuICAgICAgICAgIGV4Y2VwdGlvbnMsXG4gICAgICAgICAgXCJ1cGRhdGVkQXRcIixcbiAgICAgICAgICBcInVwZGF0ZWRCeVwiLFxuICAgICAgICAgIFwib3RoZXJGaWxlc0NvbnRlbnRcIixcbiAgICAgICAgICBcInhtbEZpbGVDb250ZW50XCIsXG4gICAgICAgIF0pLnZhbHVlcygpLFxuICAgICAgXSBhcyBhbnlbXSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT3RoZXJMZWFmbGV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDNUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVaLHN4UUFBc3hRIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbmltcG9ydCB7IG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENhc2NhZGUsIGNvbHVtbiwgZGVmYXVsdFF1ZXJ5QXR0ciwgaW5kZXgsIG9uZVRvTWFueSwgb25lVG9PbmUsIE9yZGVyRGlyZWN0aW9uLCBwaywgdGFibGUsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCwgcmVhZG9ubHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vLi4vbW9kZWxzL0Jhc2VJZGVudGlmaWVkTW9kZWwuanNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIsIG1pcnJvciwgTmFtZXNwYWNlQ29sbGVjdGlvbiwgb3duZWRCeSwgc2hhcmVkRGF0YSwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbmltcG9ydCB7IGF1ZGl0IH0gZnJvbSBcIi4vLi4vbW9kZWxzL2RlY29yYXRvcnMtcHJpdmF0ZS5qc1wiO1xuaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuLy4uL21vZGVscy9oaXN0b3J5LWRlYy5qc1wiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuLy4uL21vZGVscy9ndGluLmpzXCI7XG5pbXBvcnQgeyBPdGhlckxlYWZsZXRGaWxlIH0gZnJvbSBcIi4vT3RoZXJMZWFmbGV0RmlsZS5qc1wiO1xubGV0IExlYWZsZXQgPSBjbGFzcyBMZWFmbGV0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gICAgY29uc3RydWN0b3IobW9kZWwpIHtcbiAgICAgICAgc3VwZXIobW9kZWwpO1xuICAgICAgICB0aGlzLmxlYWZsZXRUeXBlID0gXCJsZWFmbGV0XCI7XG4gICAgfVxuICAgIGNvbXBhcmUob3RoZXIsIC4uLmV4Y2VwdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNvbXBhcmUob3RoZXIsIC4uLltcbiAgICAgICAgICAgIC4uLm5ldyBTZXQoW1xuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMsXG4gICAgICAgICAgICAgICAgXCJ1cGRhdGVkQXRcIixcbiAgICAgICAgICAgICAgICBcInVwZGF0ZWRCeVwiLFxuICAgICAgICAgICAgICAgIFwib3RoZXJGaWxlc0NvbnRlbnRcIixcbiAgICAgICAgICAgICAgICBcInhtbEZpbGVDb250ZW50XCIsXG4gICAgICAgICAgICBdKS52YWx1ZXMoKSxcbiAgICAgICAgXSk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIHBrKCksXG4gICAgaGlzdG9yeURlYygpLFxuICAgIG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIiksXG4gICAgYXVkaXQoTGVhZmxldCksXG4gICAgY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJiYXRjaE51bWJlclwiLCBcImxlYWZsZXRUeXBlXCIsIFwibGFuZ1wiLCBcImVwaU1hcmtldFwiXSwgXCI6XCIsIFtcImJhdGNoTnVtYmVyXCIsIFwiZXBpTWFya2V0XCJdKSxcbiAgICBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSwgYmF0Y2ggbnVtYmVyLCBhbmQgbGFuZ3VhZ2UuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJpZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgZ3RpbigpLFxuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIkdUSU4gY29kZSBvZiB0aGUgcHJvZHVjdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBsZWFmbGV0LlwiKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcInByb2R1Y3RDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiQmF0Y2ggbnVtYmVyIGxpbmtlZCB0byB0aGUgcHJvZHVjdCwgaWYgYXBwbGljYWJsZS5cIiksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJiYXRjaE51bWJlclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiVHlwZSBjYXRlZ29yeSB0aGUgbGVhZmxldCBiZWxvbmdzIHRvLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwibGVhZmxldFR5cGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIkxhbmd1YWdlIGNvZGUgb2YgdGhlIGxlYWZsZXQgKGUuZy4sICdlbicsICdwdCcsICdlcycpLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwibGFuZ1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTGVhZmxldC5wcm90b3R5cGUsIFwiZXBpTWFya2V0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGRlc2NyaXB0aW9uKFwiTWFpbiBYTUwgY29udGVudCBvZiB0aGUgZWxlY3Ryb25pYyBsZWFmbGV0LlwiKSxcbiAgICBvbmVUb09uZSgoKSA9PiBPdGhlckxlYWZsZXRGaWxlLCB7IHVwZGF0ZTogQ2FzY2FkZS5DQVNDQURFLCBkZWxldGU6IENhc2NhZGUuQ0FTQ0FERSB9LCBmYWxzZSksXG4gICAgZGVzY3JpcHRpb24oXCJmaWxlIHdpdGggdGhlIHhtbCBjb250ZW50IG9mIHRoZSBsZWFmbGV0XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMZWFmbGV0LnByb3RvdHlwZSwgXCJ4bWxGaWxlQ29udGVudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb25lVG9NYW55KCgpID0+IE90aGVyTGVhZmxldEZpbGUsIHsgdXBkYXRlOiBDYXNjYWRlLkNBU0NBREUsIGRlbGV0ZTogQ2FzY2FkZS5DQVNDQURFIH0sIGZhbHNlKSxcbiAgICBkZXNjcmlwdGlvbihcIkxpc3Qgb2YgYWRkaXRpb25hbCBmaWxlcyBsaW5rZWQgdG8gdGhlIGxlYWZsZXQsIHN1Y2ggYXMgUERGcyBvciBpbWFnZXMuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBBcnJheSlcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcIm90aGVyRmlsZXNDb250ZW50XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvd25lZEJ5KCksXG4gICAgZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGxlYWZsZXRcIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIExlYWZsZXQucHJvdG90eXBlLCBcIm93bmVyXCIsIHZvaWQgMCk7XG5MZWFmbGV0ID0gX19kZWNvcmF0ZShbXG4gICAgZGVzY3JpcHRpb24oXCJSZXByZXNlbnRzIHRoZSBlUEkgbGVhZmxldCBsaW5rZWQgdG8gYSBzcGVjaWZpYyBwcm9kdWN0LCBiYXRjaCwgYW5kIGxhbmd1YWdlLlwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIHRhYmxlKFwib3RoZXJfbGVhZmxldFwiKSxcbiAgICBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpLFxuICAgIG1vZGVsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtPYmplY3RdKVxuXSwgTGVhZmxldCk7XG5leHBvcnQgeyBMZWFmbGV0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lUM1JvWlhKTVpXRm1iR1YwTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiblJ5WVdOMEwzUnlZV05yWldSTmIyUmxiSE12VDNSb1pYSk1aV0ZtYkdWMExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096dEJRVXRCTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzWjBOQlFXZERMRU5CUVVNN1FVRkRha1VzVDBGQlR5eEZRVU5NTEU5QlFVOHNSVUZEVUN4TlFVRk5MRVZCUTA0c1owSkJRV2RDTEVWQlEyaENMRXRCUVVzc1JVRkRUQ3hUUVVGVExFVkJRMVFzVVVGQlVTeEZRVU5TTEdOQlFXTXNSVUZEWkN4RlFVRkZMRVZCUTBZc1MwRkJTeXhIUVVOT0xFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkRlRUlzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3g1UWtGQmVVSXNRMEZCUXp0QlFVTTNSQ3hQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MSE5DUVVGelFpeERRVUZETzBGQlEzcEVMRTlCUVU4c1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN3eVEwRkJjME03UVVGRGNFVXNUMEZCVHl4RlFVTk1MR0ZCUVdFc1JVRkRZaXhOUVVGTkxFVkJRMDRzYlVKQlFXMUNMRVZCUTI1Q0xFOUJRVThzUlVGRFVDeFZRVUZWTEVkQlExZ3NaME5CUVRKQ08wRkJRelZDTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc01FTkJRWEZETzBGQlEzSkVMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzYlVOQlFUaENPMEZCUTI1RUxFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNORUpCUVhWQ08wRkJRM1JETEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUlVGQlJTdzRRa0ZCTWtJN1FVRlRMME1zU1VGQlRTeFBRVUZQTEVkQlFXSXNUVUZCVFN4UFFVRlJMRk5CUVZFc2JVSkJRVzFDTzBsQk1FVTVReXhaUVVGWkxFdEJRWGxDTzFGQlEyNURMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRWFpEWml4blFrRkJWeXhIUVVGWExGTkJRVk1zUTBGQlF6dEpRWGREYUVNc1EwRkJRenRKUVVWUkxFOUJRVThzUTBGRFpDeExRVUZSTEVWQlExSXNSMEZCUnl4VlFVRjFRanRSUVVVeFFpeFBRVUZQTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUTJ4Q0xFdEJRVmtzUlVGRFdpeEhRVUZKTzFsQlEwWXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJRenRuUWtGRFZDeFZRVUZWTzJkQ1FVTldMRmRCUVZjN1owSkJRMWdzVjBGQlZ6dG5Ra0ZEV0N4dFFrRkJiVUk3WjBKQlEyNUNMR2RDUVVGblFqdGhRVU5xUWl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRk8xTkJRMFlzUTBGRFdpeERRVUZETzBsQlEwb3NRMEZCUXp0RFFVTkdMRU5CUVVFN1FVRnNSa003U1VGYVF5eEZRVUZGTEVWQlFVVTdTVUZEU2l4VlFVRlZMRVZCUVVVN1NVRkRXaXhOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRVZCUVVVc2MwSkJRWE5DTEVOQlFVTTdTVUZEYmtRc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF6dEpRVU5rTEZGQlFWRXNRMEZEVUN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hoUVVGaExFVkJRVVVzWVVGQllTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WFFVRlhMRU5CUVVNc1JVRkRiRVVzUjBGQlJ5eEZRVU5JTEVOQlFVTXNZVUZCWVN4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVNM1FqdEpRVU5CTEZkQlFWY3NRMEZEVml4NVJVRkJlVVVzUTBGRE1VVTdPMjFEUVVOWE8wRkJVMW83U1VGUVF5eEpRVUZKTEVWQlFVVTdTVUZEVGl4TlFVRk5MRVZCUVVVN1NVRkRVaXhSUVVGUkxFVkJRVVU3U1VGRFZpeFJRVUZSTEVWQlFVVTdTVUZEVml4TFFVRkxMRU5CUVVNc1EwRkJReXhqUVVGakxFTkJRVU1zUjBGQlJ5eEZRVUZGTEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVNdlF5eFhRVUZYTEVOQlFVTXNkMFJCUVhkRUxFTkJRVU03U1VGRGNrVXNaMEpCUVdkQ0xFVkJRVVU3T3pSRFFVTkZPMEZCVDNKQ08wbEJURU1zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1MwRkJTeXhEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NSVUZCUlN4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGREwwTXNWMEZCVnl4RFFVRkRMRzlFUVVGdlJDeERRVUZETzBsQlEycEZMR2RDUVVGblFpeEZRVUZGT3pzMFEwRkRSVHRCUVU5eVFqdEpRVXhETEUxQlFVMHNSVUZCUlR0SlFVTlNMRkZCUVZFc1JVRkJSVHRKUVVOV0xGRkJRVkVzUlVGQlJUdEpRVU5XTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5eDFRMEZCZFVNc1EwRkJRenM3TkVOQlEzSkNPMEZCVDJoRE8wbEJURU1zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExIZEVRVUYzUkN4RFFVRkRPenR4UTBGRGVFUTdRVUZKWkR0SlFVWkRMRTFCUVUwc1JVRkJSVHRKUVVOU0xGRkJRVkVzUlVGQlJUczdNRU5CUTFFN1FVRlhia0k3U1VGVVF5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN1NVRkRWaXhYUVVGWExFTkJRVU1zTmtOQlFUWkRMRU5CUVVNN1NVRkRNVVFzVVVGQlVTeERRVU5RTEVkQlFVY3NSVUZCUlN4RFFVRkRMR2RDUVVGblFpeEZRVU4wUWl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRM0JFTEV0QlFVc3NRMEZEVGp0SlFVTkJMRmRCUVZjc1EwRkJReXd3UTBGQk1FTXNRMEZCUXpzN0swTkJRMkk3UVVGVk0wTTdTVUZTUXl4VFFVRlRMRU5CUTFJc1IwRkJSeXhGUVVGRkxFTkJRVU1zWjBKQlFXZENMRVZCUTNSQ0xFVkJRVVVzVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4UFFVRlBMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZEY0VRc1MwRkJTeXhEUVVOT08wbEJRMEVzVjBGQlZ5eERRVU5XTEhsRlFVRjVSU3hEUVVNeFJUczdhMFJCUTJsRU8wRkJTV3hFTzBsQlJrTXNUMEZCVHl4RlFVRkZPMGxCUTFRc1YwRkJWeXhEUVVGRExHZERRVUZuUXl4RFFVRkRPenR6UTBGREwwSTdRVUY0UlVvc1QwRkJUenRKUVZCdVFpeFhRVUZYTEVOQlExWXNLMFZCUVN0RkxFTkJRMmhHTzBsQlEwRXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRKUVVOdVFpeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRPMGxCUTNSQ0xGVkJRVlVzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxFdEJRVXNzUlVGQlJUczdSMEZEU3l4UFFVRlBMRU5CSzBadVFpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdYRzRnSUVOdmJYQmhjbWx6YjI0c1hHNGdJRTF2WkdWc0xGeHVJQ0IwZVhCbElFMXZaR1ZzUVhKbkxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2V5QnRiMlJsYkN3Z2NtVnhkV2x5WldRZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkRZWE5qWVdSbExGeHVJQ0JqYjJ4MWJXNHNYRzRnSUdSbFptRjFiSFJSZFdWeWVVRjBkSElzWEc0Z0lHbHVaR1Y0TEZ4dUlDQnZibVZVYjAxaGJua3NYRzRnSUc5dVpWUnZUMjVsTEZ4dUlDQlBjbVJsY2tScGNtVmpkR2x2Yml4Y2JpQWdjR3NzWEc0Z0lIUmhZbXhsTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lHTnZiWEJ2YzJWa0xDQnlaV0ZrYjI1c2VTQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR0l0WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2daR1Z6WTNKcGNIUnBiMjRzSUhWelpYTWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lFSmhjMlZKWkdWdWRHbG1hV1ZrVFc5a1pXd2dmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMEpoYzJWSlpHVnVkR2xtYVdWa1RXOWtaV3hjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRVpoWW5KcFkwWnNZWFp2ZFhJc1hHNGdJRzFwY25KdmNpeGNiaUFnVG1GdFpYTndZV05sUTI5c2JHVmpkR2x2Yml4Y2JpQWdiM2R1WldSQ2VTeGNiaUFnYzJoaGNtVmtSR0YwWVN4Y2JuMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzlwYm1SbGVGd2lPMXh1YVcxd2IzSjBJSHNnWVhWa2FYUWdmU0JtY205dElGd2lMaTR2Ylc5a1pXeHpMMlJsWTI5eVlYUnZjbk10Y0hKcGRtRjBaVndpTzF4dWFXMXdiM0owSUhzZ2FHbHpkRzl5ZVVSbFl5QjlJR1p5YjIwZ1hDSXVMaTl0YjJSbGJITXZhR2x6ZEc5eWVTMWtaV05jSWp0Y2JtbHRjRzl5ZENCN0lHZDBhVzRnZlNCbWNtOXRJRndpTGk0dmJXOWtaV3h6TDJkMGFXNWNJanRjYm1sdGNHOXlkQ0I3SUU5MGFHVnlUR1ZoWm14bGRFWnBiR1VnZlNCbWNtOXRJRndpTGk5UGRHaGxja3hsWVdac1pYUkdhV3hsWENJN1hHNWNia0JrWlhOamNtbHdkR2x2YmloY2JpQWdYQ0pTWlhCeVpYTmxiblJ6SUhSb1pTQmxVRWtnYkdWaFpteGxkQ0JzYVc1clpXUWdkRzhnWVNCemNHVmphV1pwWXlCd2NtOWtkV04wTENCaVlYUmphQ3dnWVc1a0lHeGhibWQxWVdkbExsd2lYRzRwWEc1QWRYTmxjeWhHWVdKeWFXTkdiR0YyYjNWeUtWeHVRSFJoWW14bEtGd2liM1JvWlhKZmJHVmhabXhsZEZ3aUtWeHVRSE5vWVhKbFpFUmhkR0VvVG1GdFpYTndZV05sUTI5c2JHVmpkR2x2YmloY0ltUmxZMkZtTFc1aGJXVnpjR0ZqWlZ3aUtTbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1RHVmhabXhsZENCbGVIUmxibVJ6SUVKaGMyVkpaR1Z1ZEdsbWFXVmtUVzlrWld3Z2UxeHVJQ0JBY0dzb0tWeHVJQ0JBYUdsemRHOXllVVJsWXlncFhHNGdJRUJ0YVhKeWIzSW9YQ0p0YVhKeWIzSXRZMjlzYkdWamRHbHZibHdpTENCY0lsQm9ZWEp0WVd4bFpHZGxjbUZ6YzI5alRWTlFYQ0lwWEc0Z0lFQmhkV1JwZENoTVpXRm1iR1YwS1Z4dUlDQkFZMjl0Y0c5elpXUW9YRzRnSUNBZ1cxd2ljSEp2WkhWamRFTnZaR1ZjSWl3Z1hDSmlZWFJqYUU1MWJXSmxjbHdpTENCY0lteGxZV1pzWlhSVWVYQmxYQ0lzSUZ3aWJHRnVaMXdpTENCY0ltVndhVTFoY210bGRGd2lYU3hjYmlBZ0lDQmNJanBjSWl4Y2JpQWdJQ0JiWENKaVlYUmphRTUxYldKbGNsd2lMQ0JjSW1Wd2FVMWhjbXRsZEZ3aVhWeHVJQ0FwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjYmlBZ0lDQmNJbFZ1YVhGMVpTQnBaR1Z1ZEdsbWFXVnlJR052YlhCdmMyVmtJRzltSUhCeWIyUjFZM1FnWTI5a1pTd2dZbUYwWTJnZ2JuVnRZbVZ5TENCaGJtUWdiR0Z1WjNWaFoyVXVYQ0pjYmlBZ0tWeHVJQ0JwWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWjNScGJpZ3BYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWNtVmhaRzl1Ykhrb0tWeHVJQ0JBYVc1a1pYZ29XMDl5WkdWeVJHbHlaV04wYVc5dUxrRlRReXdnVDNKa1pYSkVhWEpsWTNScGIyNHVSRk5EWFNsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVIxUkpUaUJqYjJSbElHOW1JSFJvWlNCd2NtOWtkV04wSUdGemMyOWphV0YwWldRZ2QybDBhQ0IwYUdseklHeGxZV1pzWlhRdVhDSXBYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdjSEp2WkhWamRFTnZaR1VoT2lCemRISnBibWM3WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKQ1lYUmphQ0J1ZFcxaVpYSWdiR2x1YTJWa0lIUnZJSFJvWlNCd2NtOWtkV04wTENCcFppQmhjSEJzYVdOaFlteGxMbHdpS1Z4dUlDQkFaR1ZtWVhWc2RGRjFaWEo1UVhSMGNpZ3BYRzRnSUdKaGRHTm9UblZ0WW1WeVB6b2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWNtVmhaRzl1Ykhrb0tWeHVJQ0JBYVc1a1pYZ29XMDl5WkdWeVJHbHlaV04wYVc5dUxrRlRReXdnVDNKa1pYSkVhWEpsWTNScGIyNHVSRk5EWFNsY2JpQWdRR1JsYzJOeWFYQjBhVzl1S0Z3aVZIbHdaU0JqWVhSbFoyOXllU0IwYUdVZ2JHVmhabXhsZENCaVpXeHZibWR6SUhSdkxsd2lLVnh1SUNCc1pXRm1iR1YwVkhsd1pUb2djM1J5YVc1bklEMGdYQ0pzWldGbWJHVjBYQ0k3WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUJ5WldGa2IyNXNlU2dwWEc0Z0lFQnBibVJsZUNoYlQzSmtaWEpFYVhKbFkzUnBiMjR1UVZORExDQlBjbVJsY2tScGNtVmpkR2x2Ymk1RVUwTmRLVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pNWVc1bmRXRm5aU0JqYjJSbElHOW1JSFJvWlNCc1pXRm1iR1YwSUNobExtY3VMQ0FuWlc0bkxDQW5jSFFuTENBblpYTW5LUzVjSWlsY2JpQWdiR0Z1WnlFNklITjBjbWx1WnpzZ0x5OGdWRTlFVHlBdFBpQnliMnhzWW1GamF5QjBieUJzWVc1bmRXRm5aU0J3Y205d1pYSjBlVnh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBY21WaFpHOXViSGtvS1Z4dUlDQmxjR2xOWVhKclpYUWhPaUJ6ZEhKcGJtYzdJQzh2SUZSUFJFOGdMVDRnUTNKbFlYUmxJSFpoYkdsa1lYUnBiMjRnWkdWamIzSmhkRzl5TGlCRGIzVnVkSEo1VFdGeWEyVjBJR2x6SUdFZ1EwOU9SRWxVU1U5T1FVd2djSEp2Y0dWeWRIa3VJR05oYmlCdmJteDVJR1Y0YVhOMElHWnZjaUJ3Y205a2RXTjBJRzl1YkhrdUlHNXZJR0poZEdOb1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJazFoYVc0Z1dFMU1JR052Ym5SbGJuUWdiMllnZEdobElHVnNaV04wY205dWFXTWdiR1ZoWm14bGRDNWNJaWxjYmlBZ1FHOXVaVlJ2VDI1bEtGeHVJQ0FnSUNncElEMCtJRTkwYUdWeVRHVmhabXhsZEVacGJHVXNYRzRnSUNBZ2V5QjFjR1JoZEdVNklFTmhjMk5oWkdVdVEwRlRRMEZFUlN3Z1pHVnNaWFJsT2lCRFlYTmpZV1JsTGtOQlUwTkJSRVVnZlN4Y2JpQWdJQ0JtWVd4elpWeHVJQ0FwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSW1acGJHVWdkMmwwYUNCMGFHVWdlRzFzSUdOdmJuUmxiblFnYjJZZ2RHaGxJR3hsWVdac1pYUmNJaWxjYmlBZ2VHMXNSbWxzWlVOdmJuUmxiblFoT2lCemRISnBibWNnZkNCUGRHaGxja3hsWVdac1pYUkdhV3hsTzF4dVhHNGdJRUJ2Ym1WVWIwMWhibmtvWEc0Z0lDQWdLQ2tnUFQ0Z1QzUm9aWEpNWldGbWJHVjBSbWxzWlN4Y2JpQWdJQ0I3SUhWd1pHRjBaVG9nUTJGelkyRmtaUzVEUVZORFFVUkZMQ0JrWld4bGRHVTZJRU5oYzJOaFpHVXVRMEZUUTBGRVJTQjlMRnh1SUNBZ0lHWmhiSE5sWEc0Z0lDbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGeHVJQ0FnSUZ3aVRHbHpkQ0J2WmlCaFpHUnBkR2x2Ym1Gc0lHWnBiR1Z6SUd4cGJtdGxaQ0IwYnlCMGFHVWdiR1ZoWm14bGRDd2djM1ZqYUNCaGN5QlFSRVp6SUc5eUlHbHRZV2RsY3k1Y0lseHVJQ0FwWEc0Z0lHOTBhR1Z5Um1sc1pYTkRiMjUwWlc1MElUb2djM1J5YVc1blcxMGdmQ0JQZEdobGNreGxZV1pzWlhSR2FXeGxXMTA3WEc1Y2JpQWdRRzkzYm1Wa1Fua29LVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0owYUdVZ2IzZHVaWElnS0cxemNDa2diMllnZEdobElHeGxZV1pzWlhSY0lpbGNiaUFnYjNkdVpYSWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iVzlrWld3L09pQk5iMlJsYkVGeVp6eE1aV0ZtYkdWMFBpa2dlMXh1SUNBZ0lITjFjR1Z5S0cxdlpHVnNLVHRjYmlBZ2ZWeHVYRzRnSUc5MlpYSnlhV1JsSUdOdmJYQmhjbVU4VFNCbGVIUmxibVJ6SUUxdlpHVnNQaWhjYmlBZ0lDQnZkR2hsY2pvZ1RTeGNiaUFnSUNBdUxpNWxlR05sY0hScGIyNXpPaUFvYTJWNWIyWWdUU2xiWFZ4dUlDQXBPaUJEYjIxd1lYSnBjMjl1UEUwK0lId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQnlaWFIxY200Z2MzVndaWEl1WTI5dGNHRnlaVHhOUGloY2JpQWdJQ0FnSUc5MGFHVnlJR0Z6SUdGdWVTeGNiaUFnSUNBZ0lDNHVMaWhiWEc0Z0lDQWdJQ0FnSUM0dUxtNWxkeUJUWlhRb1cxeHVJQ0FnSUNBZ0lDQWdJR1Y0WTJWd2RHbHZibk1zWEc0Z0lDQWdJQ0FnSUNBZ1hDSjFjR1JoZEdWa1FYUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCY0luVndaR0YwWldSQ2VWd2lMRnh1SUNBZ0lDQWdJQ0FnSUZ3aWIzUm9aWEpHYVd4bGMwTnZiblJsYm5SY0lpeGNiaUFnSUNBZ0lDQWdJQ0JjSW5odGJFWnBiR1ZEYjI1MFpXNTBYQ0lzWEc0Z0lDQWdJQ0FnSUYwcExuWmhiSFZsY3lncExGeHVJQ0FnSUNBZ1hTQmhjeUJoYm5sYlhTbGNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OtherLeafletFile = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
19
|
+
const core_1 = require("@decaf-ts/core");
|
|
20
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
21
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
22
|
+
const BaseIdentifiedModel_js_1 = require("./../models/BaseIdentifiedModel.cjs");
|
|
23
|
+
const index_js_1 = require("./../../shared/index.cjs");
|
|
24
|
+
let OtherLeafletFile = class OtherLeafletFile extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
|
|
25
|
+
constructor(model) {
|
|
26
|
+
super(model);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.OtherLeafletFile = OtherLeafletFile;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, core_1.pk)(),
|
|
32
|
+
(0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
|
|
33
|
+
(0, db_decorators_1.composed)(["leafletId", "fileName"], ":"),
|
|
34
|
+
(0, decoration_1.description)("Unique identifier of the leaflet file."),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], OtherLeafletFile.prototype, "id", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, core_1.column)(),
|
|
39
|
+
(0, decorator_validation_1.required)(),
|
|
40
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
41
|
+
(0, decoration_1.description)("Identifier of the leaflet this file belongs to."),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], OtherLeafletFile.prototype, "leafletId", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, core_1.column)(),
|
|
46
|
+
(0, decorator_validation_1.required)(),
|
|
47
|
+
(0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
|
|
48
|
+
(0, decoration_1.description)("Name of the file, including its extension."),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], OtherLeafletFile.prototype, "fileName", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, core_1.column)(),
|
|
53
|
+
(0, decorator_validation_1.required)(),
|
|
54
|
+
(0, decoration_1.description)("Base64-encoded content of the file."),
|
|
55
|
+
__metadata("design:type", String)
|
|
56
|
+
], OtherLeafletFile.prototype, "fileContent", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, index_js_1.ownedBy)(),
|
|
59
|
+
(0, decoration_1.description)("the owner (msp) of the leaflet"),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], OtherLeafletFile.prototype, "owner", void 0);
|
|
62
|
+
exports.OtherLeafletFile = OtherLeafletFile = __decorate([
|
|
63
|
+
(0, decoration_1.description)("Represents an additional file associated with a leaflet, such as a PDF or image."),
|
|
64
|
+
(0, decoration_1.uses)(index_js_1.FabricFlavour),
|
|
65
|
+
(0, core_1.table)("other_leaflet_file"),
|
|
66
|
+
(0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
|
|
67
|
+
(0, decorator_validation_1.model)(),
|
|
68
|
+
__metadata("design:paramtypes", [Object])
|
|
69
|
+
], OtherLeafletFile);
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0RmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC90cmFja2VkTW9kZWxzL090aGVyTGVhZmxldEZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFDcEUsT0FBTyxFQUNMLGFBQWEsRUFDYixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxVQUFVLEdBQ1gsZ0NBQTJCO0FBU3JCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBNEJ2RCxZQUFZLEtBQWtDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRixDQUFBO0FBMUJDO0lBSkMsRUFBRSxFQUFFO0lBQ0osTUFBTSxDQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO0lBQ25ELFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDeEMsV0FBVyxDQUFDLHdDQUF3QyxDQUFDOzs0Q0FDMUM7QUFNWjtJQUpDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxpREFBaUQsQ0FBQzs7bURBQzVDO0FBTW5CO0lBSkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLDRDQUE0QyxDQUFDOztrREFDeEM7QUFLbEI7SUFIQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixXQUFXLENBQUMscUNBQXFDLENBQUM7O3FEQUM5QjtBQUlyQjtJQUZDLE9BQU8sRUFBRTtJQUNULFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQzs7K0NBQy9CO0FBMUJKLGdCQUFnQjtJQVA1QixXQUFXLENBQ1Ysa0ZBQWtGLENBQ25GO0lBQ0EsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNuQixLQUFLLENBQUMsb0JBQW9CLENBQUM7SUFDM0IsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsS0FBSyxFQUFFOztHQUNLLGdCQUFnQixDQStCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IGNvbXBvc2VkIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIE5hbWVzcGFjZUNvbGxlY3Rpb24sXG4gIG93bmVkQnksXG4gIHNoYXJlZERhdGEsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuQGRlc2NyaXB0aW9uKFxuICBcIlJlcHJlc2VudHMgYW4gYWRkaXRpb25hbCBmaWxlIGFzc29jaWF0ZWQgd2l0aCBhIGxlYWZsZXQsIHN1Y2ggYXMgYSBQREYgb3IgaW1hZ2UuXCJcbilcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AdGFibGUoXCJvdGhlcl9sZWFmbGV0X2ZpbGVcIilcbkBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE90aGVyTGVhZmxldEZpbGUgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgQHBrKClcbiAgQG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIilcbiAgQGNvbXBvc2VkKFtcImxlYWZsZXRJZFwiLCBcImZpbGVOYW1lXCJdLCBcIjpcIilcbiAgQGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGxlYWZsZXQgZmlsZS5cIilcbiAgaWQhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSBsZWFmbGV0IHRoaXMgZmlsZSBiZWxvbmdzIHRvLlwiKVxuICBsZWFmbGV0SWQhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBmaWxlLCBpbmNsdWRpbmcgaXRzIGV4dGVuc2lvbi5cIilcbiAgZmlsZU5hbWUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEBkZXNjcmlwdGlvbihcIkJhc2U2NC1lbmNvZGVkIGNvbnRlbnQgb2YgdGhlIGZpbGUuXCIpXG4gIGZpbGVDb250ZW50ITogc3RyaW5nO1xuXG4gIEBvd25lZEJ5KClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBsZWFmbGV0XCIpXG4gIG93bmVyITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGVsPzogTW9kZWxBcmc8T3RoZXJMZWFmbGV0RmlsZT4pIHtcbiAgICBzdXBlcihtb2RlbCk7XG4gIH1cbn1cbiJdfQ==
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJMZWFmbGV0RmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyTGVhZmxldEZpbGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUs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SUFDL0YsSUFBQSxpQkFBSSxFQUFDLHdCQUFhLENBQUM7SUFDbkIsSUFBQSxZQUFLLEVBQUMsb0JBQW9CLENBQUM7SUFDM0IsSUFBQSxxQkFBVSxFQUFDLElBQUEsOEJBQW1CLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxJQUFBLDRCQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM1QyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFckIsMDlIQUEwOUgiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgY29sdW1uLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IGNvbXBvc2VkIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vLi4vbW9kZWxzL0Jhc2VJZGVudGlmaWVkTW9kZWwuanNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIsIG1pcnJvciwgTmFtZXNwYWNlQ29sbGVjdGlvbiwgb3duZWRCeSwgc2hhcmVkRGF0YSwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbmxldCBPdGhlckxlYWZsZXRGaWxlID0gY2xhc3MgT3RoZXJMZWFmbGV0RmlsZSBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG1vZGVsKSB7XG4gICAgICAgIHN1cGVyKG1vZGVsKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoKSxcbiAgICBtaXJyb3IoXCJtaXJyb3ItY29sbGVjdGlvblwiLCBcIlBoYXJtYWxlZGdlcmFzc29jTVNQXCIpLFxuICAgIGNvbXBvc2VkKFtcImxlYWZsZXRJZFwiLCBcImZpbGVOYW1lXCJdLCBcIjpcIiksXG4gICAgZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgbGVhZmxldCBmaWxlLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJMZWFmbGV0RmlsZS5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSBsZWFmbGV0IHRoaXMgZmlsZSBiZWxvbmdzIHRvLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJMZWFmbGV0RmlsZS5wcm90b3R5cGUsIFwibGVhZmxldElkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgZmlsZSwgaW5jbHVkaW5nIGl0cyBleHRlbnNpb24uXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckxlYWZsZXRGaWxlLnByb3RvdHlwZSwgXCJmaWxlTmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICBkZXNjcmlwdGlvbihcIkJhc2U2NC1lbmNvZGVkIGNvbnRlbnQgb2YgdGhlIGZpbGUuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckxlYWZsZXRGaWxlLnByb3RvdHlwZSwgXCJmaWxlQ29udGVudFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb3duZWRCeSgpLFxuICAgIGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBsZWFmbGV0XCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckxlYWZsZXRGaWxlLnByb3RvdHlwZSwgXCJvd25lclwiLCB2b2lkIDApO1xuT3RoZXJMZWFmbGV0RmlsZSA9IF9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiUmVwcmVzZW50cyBhbiBhZGRpdGlvbmFsIGZpbGUgYXNzb2NpYXRlZCB3aXRoIGEgbGVhZmxldCwgc3VjaCBhcyBhIFBERiBvciBpbWFnZS5cIiksXG4gICAgdXNlcyhGYWJyaWNGbGF2b3VyKSxcbiAgICB0YWJsZShcIm90aGVyX2xlYWZsZXRfZmlsZVwiKSxcbiAgICBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpLFxuICAgIG1vZGVsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtPYmplY3RdKVxuXSwgT3RoZXJMZWFmbGV0RmlsZSk7XG5leHBvcnQgeyBPdGhlckxlYWZsZXRGaWxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lUM1JvWlhKTVpXRm1iR1YwUm1sc1pTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjI1MGNtRmpkQzkwY21GamEyVmtUVzlrWld4ekwwOTBhR1Z5VEdWaFpteGxkRVpwYkdVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJRMEVzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVTnFSU3hQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEV0QlFVc3NSVUZCUlN4alFVRmpMRVZCUVVVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRekZGTEU5QlFVOHNSVUZCUlN4WFFVRlhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzYzBKQlFYTkNMRU5CUVVNN1FVRkRla1FzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEyNUVMRTlCUVU4c1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN3eVEwRkJjME03UVVGRGNFVXNUMEZCVHl4RlFVTk1MR0ZCUVdFc1JVRkRZaXhOUVVGTkxFVkJRMDRzYlVKQlFXMUNMRVZCUTI1Q0xFOUJRVThzUlVGRFVDeFZRVUZWTEVkQlExZ3NaME5CUVRKQ08wRkJVM0pDTEVsQlFVMHNaMEpCUVdkQ0xFZEJRWFJDTEUxQlFVMHNaMEpCUVdsQ0xGTkJRVkVzYlVKQlFXMUNPMGxCTkVKMlJDeFpRVUZaTEV0QlFXdERPMUZCUXpWRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTm1MRU5CUVVNN1EwRkRSaXhEUVVGQk8wRkJNVUpETzBsQlNrTXNSVUZCUlN4RlFVRkZPMGxCUTBvc1RVRkJUU3hEUVVGRExHMUNRVUZ0UWl4RlFVRkZMSE5DUVVGelFpeERRVUZETzBsQlEyNUVMRkZCUVZFc1EwRkJReXhEUVVGRExGZEJRVmNzUlVGQlJTeFZRVUZWTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNN1NVRkRlRU1zVjBGQlZ5eERRVUZETEhkRFFVRjNReXhEUVVGRE96czBRMEZETVVNN1FVRk5XanRKUVVwRExFMUJRVTBzUlVGQlJUdEpRVU5TTEZGQlFWRXNSVUZCUlR0SlFVTldMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJReTlETEZkQlFWY3NRMEZCUXl4cFJFRkJhVVFzUTBGQlF6czdiVVJCUXpWRE8wRkJUVzVDTzBsQlNrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExEUkRRVUUwUXl4RFFVRkRPenRyUkVGRGVFTTdRVUZMYkVJN1NVRklReXhOUVVGTkxFVkJRVVU3U1VGRFVpeFJRVUZSTEVWQlFVVTdTVUZEVml4WFFVRlhMRU5CUVVNc2NVTkJRWEZETEVOQlFVTTdPM0ZFUVVNNVFqdEJRVWx5UWp0SlFVWkRMRTlCUVU4c1JVRkJSVHRKUVVOVUxGZEJRVmNzUTBGQlF5eG5RMEZCWjBNc1EwRkJRenM3SzBOQlF5OUNPMEZCTVVKS0xHZENRVUZuUWp0SlFWQTFRaXhYUVVGWExFTkJRMVlzYTBaQlFXdEdMRU5CUTI1R08wbEJRMEVzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXp0SlFVTnVRaXhMUVVGTExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNN1NVRkRNMElzVlVGQlZTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1NVRkRiRVFzUzBGQlN5eEZRVUZGT3p0SFFVTkxMR2RDUVVGblFpeERRU3RDTlVJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2RIbHdaU0I3SUUxdlpHVnNRWEpuSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnYlc5a1pXd3NJSEpsY1hWcGNtVmtJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dZMjlzZFcxdUxDQnBibVJsZUN3Z1QzSmtaWEpFYVhKbFkzUnBiMjRzSUhCckxDQjBZV0pzWlNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ1pHVnpZM0pwY0hScGIyNHNJSFZ6WlhNZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUdOdmJYQnZjMlZrSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIMGdabkp2YlNCY0lpNHVMMjF2WkdWc2N5OUNZWE5sU1dSbGJuUnBabWxsWkUxdlpHVnNYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkdZV0p5YVdOR2JHRjJiM1Z5TEZ4dUlDQnRhWEp5YjNJc1hHNGdJRTVoYldWemNHRmpaVU52Ykd4bFkzUnBiMjRzWEc0Z0lHOTNibVZrUW5rc1hHNGdJSE5vWVhKbFpFUmhkR0VzWEc1OUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZhVzVrWlhoY0lqdGNibHh1UUdSbGMyTnlhWEIwYVc5dUtGeHVJQ0JjSWxKbGNISmxjMlZ1ZEhNZ1lXNGdZV1JrYVhScGIyNWhiQ0JtYVd4bElHRnpjMjlqYVdGMFpXUWdkMmwwYUNCaElHeGxZV1pzWlhRc0lITjFZMmdnWVhNZ1lTQlFSRVlnYjNJZ2FXMWhaMlV1WENKY2JpbGNia0IxYzJWektFWmhZbkpwWTBac1lYWnZkWElwWEc1QWRHRmliR1VvWENKdmRHaGxjbDlzWldGbWJHVjBYMlpwYkdWY0lpbGNia0J6YUdGeVpXUkVZWFJoS0U1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0b1hDSmtaV05oWmkxdVlXMWxjM0JoWTJWY0lpa3BYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklFOTBhR1Z5VEdWaFpteGxkRVpwYkdVZ1pYaDBaVzVrY3lCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIdGNiaUFnUUhCcktDbGNiaUFnUUcxcGNuSnZjaWhjSW0xcGNuSnZjaTFqYjJ4c1pXTjBhVzl1WENJc0lGd2lVR2hoY20xaGJHVmtaMlZ5WVhOemIyTk5VMUJjSWlsY2JpQWdRR052YlhCdmMyVmtLRnRjSW14bFlXWnNaWFJKWkZ3aUxDQmNJbVpwYkdWT1lXMWxYQ0pkTENCY0lqcGNJaWxjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpVlc1cGNYVmxJR2xrWlc1MGFXWnBaWElnYjJZZ2RHaGxJR3hsWVdac1pYUWdabWxzWlM1Y0lpbGNiaUFnYVdRaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCcGJtUmxlQ2hiVDNKa1pYSkVhWEpsWTNScGIyNHVRVk5ETENCUGNtUmxja1JwY21WamRHbHZiaTVFVTBOZEtWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSkpaR1Z1ZEdsbWFXVnlJRzltSUhSb1pTQnNaV0ZtYkdWMElIUm9hWE1nWm1sc1pTQmlaV3h2Ym1keklIUnZMbHdpS1Z4dUlDQnNaV0ZtYkdWMFNXUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnBibVJsZUNoYlQzSmtaWEpFYVhKbFkzUnBiMjR1UVZORExDQlBjbVJsY2tScGNtVmpkR2x2Ymk1RVUwTmRLVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pPWVcxbElHOW1JSFJvWlNCbWFXeGxMQ0JwYm1Oc2RXUnBibWNnYVhSeklHVjRkR1Z1YzJsdmJpNWNJaWxjYmlBZ1ptbHNaVTVoYldVaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJa0poYzJVMk5DMWxibU52WkdWa0lHTnZiblJsYm5RZ2IyWWdkR2hsSUdacGJHVXVYQ0lwWEc0Z0lHWnBiR1ZEYjI1MFpXNTBJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQnZkMjVsWkVKNUtDbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lkR2hsSUc5M2JtVnlJQ2h0YzNBcElHOW1JSFJvWlNCc1pXRm1iR1YwWENJcFhHNGdJRzkzYm1WeUlUb2djM1J5YVc1bk8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHMXZaR1ZzUHpvZ1RXOWtaV3hCY21jOFQzUm9aWEpNWldGbWJHVjBSbWxzWlQ0cElIdGNiaUFnSUNCemRYQmxjaWh0YjJSbGJDazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|