@decaf-ts/for-fabric 0.13.31-experimental.3 → 0.13.32
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/dist/for-fabric.cjs +2 -4001
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -4111
- package/dist/for-fabric.js.map +1 -0
- package/lib/cjs/bin/cli.cjs +2 -2
- package/lib/cjs/bin/cli.cjs.map +1 -0
- package/lib/cjs/cli-module.cjs +2 -2
- package/lib/cjs/cli-module.cjs.map +1 -0
- package/lib/cjs/cli-utils.cjs +2 -2
- package/lib/cjs/cli-utils.cjs.map +1 -0
- package/lib/cjs/client/FabricClientAdapter.cjs +2 -2
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
- package/lib/cjs/client/FabricClientContext.cjs +2 -2
- package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +2 -2
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +2 -2
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
- package/lib/cjs/client/collections/generation.cjs +2 -2
- package/lib/cjs/client/collections/generation.cjs.map +1 -0
- package/lib/cjs/client/collections/index.cjs +2 -2
- package/lib/cjs/client/collections/index.cjs.map +1 -0
- package/lib/cjs/client/constants.cjs +2 -2
- package/lib/cjs/client/constants.cjs.map +1 -0
- package/lib/cjs/client/crypto.cjs +2 -2
- package/lib/cjs/client/crypto.cjs.map +1 -0
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
- package/lib/cjs/client/erc20/index.cjs +2 -2
- package/lib/cjs/client/erc20/index.cjs.map +1 -0
- package/lib/cjs/client/fabric-fs.cjs +2 -2
- package/lib/cjs/client/fabric-fs.cjs.map +1 -0
- package/lib/cjs/client/fabric-hsm.cjs +2 -2
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs +2 -2
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
- package/lib/cjs/client/ids/index.cjs +2 -2
- package/lib/cjs/client/ids/index.cjs.map +1 -0
- package/lib/cjs/client/index.cjs +2 -2
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +2 -2
- package/lib/cjs/client/indexes/generation.cjs.map +1 -0
- package/lib/cjs/client/indexes/index.cjs +2 -2
- package/lib/cjs/client/indexes/index.cjs.map +1 -0
- package/lib/cjs/client/logging.cjs +2 -2
- package/lib/cjs/client/logging.cjs.map +1 -0
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
- package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
- package/lib/cjs/client/services/constants.cjs +2 -2
- package/lib/cjs/client/services/constants.cjs.map +1 -0
- package/lib/cjs/client/services/index.cjs +2 -2
- package/lib/cjs/client/services/index.cjs.map +1 -0
- package/lib/cjs/client/types.cjs +2 -2
- package/lib/cjs/client/types.cjs.map +1 -0
- package/lib/cjs/client/utils.cjs +2 -2
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/contract/Address.cjs +2 -2
- package/lib/cjs/contract/Address.cjs.map +1 -0
- package/lib/cjs/contract/AddressContract.cjs +2 -2
- package/lib/cjs/contract/AddressContract.cjs.map +1 -0
- package/lib/cjs/contract/AuditContract.cjs +2 -2
- package/lib/cjs/contract/AuditContract.cjs.map +1 -0
- package/lib/cjs/contract/BatchContract.cjs +2 -2
- package/lib/cjs/contract/BatchContract.cjs.map +1 -0
- package/lib/cjs/contract/MarketContract.cjs +2 -2
- package/lib/cjs/contract/MarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
- package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +2 -2
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +2 -2
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +2 -2
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +2 -2
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +2 -2
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +2 -2
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +2 -2
- package/lib/cjs/contract/models/Audit.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseModel.cjs +2 -2
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
- package/lib/cjs/contract/models/Batch.cjs +2 -2
- package/lib/cjs/contract/models/Batch.cjs.map +1 -0
- package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
- package/lib/cjs/contract/models/History.cjs +2 -2
- package/lib/cjs/contract/models/History.cjs.map +1 -0
- package/lib/cjs/contract/models/Leaflet.cjs +2 -2
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/Market.cjs +2 -2
- package/lib/cjs/contract/models/Market.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherBatchShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/Product.cjs +2 -2
- package/lib/cjs/contract/models/Product.cjs.map +1 -0
- package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/SegregatedDocument.cjs +2 -2
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
- package/lib/cjs/contract/models/constants.cjs +2 -2
- package/lib/cjs/contract/models/constants.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators-private.cjs +2 -2
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators.cjs +2 -2
- package/lib/cjs/contract/models/decorators.cjs.map +1 -0
- package/lib/cjs/contract/models/gtin.cjs +2 -2
- package/lib/cjs/contract/models/gtin.cjs.map +1 -0
- package/lib/cjs/contract/models/history-dec.cjs +2 -2
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/History.cjs +2 -2
- package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
- package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +2 -2
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
- package/lib/cjs/contracts/ContractContext.cjs +2 -2
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
- package/lib/cjs/contracts/MigrationContract.cjs +2 -2
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
- package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
- package/lib/cjs/contracts/auth/decorators.cjs +2 -2
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
- package/lib/cjs/contracts/auth/index.cjs +2 -2
- package/lib/cjs/contracts/auth/index.cjs.map +1 -0
- package/lib/cjs/contracts/bootstrap.cjs +2 -2
- package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/crud/index.cjs +2 -2
- package/lib/cjs/contracts/crud/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/index.cjs +2 -2
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/models.cjs +2 -2
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
- package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
- package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +2 -2
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +2 -2
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +2 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +2 -2
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +2 -2
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +2 -2
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +2 -2
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +2 -2
- package/lib/cjs/shared/decorators.cjs.map +1 -0
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
- package/lib/cjs/shared/erc20/index.cjs +2 -2
- package/lib/cjs/shared/erc20/index.cjs.map +1 -0
- package/lib/cjs/shared/errors.cjs +2 -2
- package/lib/cjs/shared/errors.cjs.map +1 -0
- package/lib/cjs/shared/events.cjs +2 -2
- package/lib/cjs/shared/events.cjs.map +1 -0
- package/lib/cjs/shared/fabric-types.cjs +2 -2
- package/lib/cjs/shared/fabric-types.cjs.map +1 -0
- package/lib/cjs/shared/index.cjs +2 -2
- package/lib/cjs/shared/index.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/index.cjs +2 -2
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
- package/lib/cjs/shared/math.cjs +2 -2
- package/lib/cjs/shared/math.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/Identity.cjs +2 -2
- package/lib/cjs/shared/model/Identity.cjs.map +1 -0
- package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
- package/lib/cjs/shared/model/index.cjs +2 -2
- package/lib/cjs/shared/model/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/Model.cjs +2 -2
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
- package/lib/cjs/shared/overrides/index.cjs +2 -2
- package/lib/cjs/shared/overrides/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/overrides.cjs +2 -2
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/shared/types.cjs +2 -2
- package/lib/cjs/shared/types.cjs.map +1 -0
- package/lib/cjs/version.cjs +5 -5
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/bin/cli.js +1 -1
- package/lib/esm/bin/cli.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/cli-utils.js +1 -1
- package/lib/esm/cli-utils.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +1 -1
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientContext.js +1 -1
- package/lib/esm/client/FabricClientContext.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.js +1 -1
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/FabricClientStatement.js.map +1 -0
- package/lib/esm/client/collections/generation.js +1 -1
- package/lib/esm/client/collections/generation.js.map +1 -0
- package/lib/esm/client/collections/index.js +1 -1
- package/lib/esm/client/collections/index.js.map +1 -0
- package/lib/esm/client/constants.js +1 -1
- package/lib/esm/client/constants.js.map +1 -0
- package/lib/esm/client/crypto.js +1 -1
- package/lib/esm/client/crypto.js.map +1 -0
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/erc20/index.js.map +1 -0
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-fs.js.map +1 -0
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/fabric-hsm.js.map +1 -0
- package/lib/esm/client/ids/id-extraction.js +1 -1
- package/lib/esm/client/ids/id-extraction.js.map +1 -0
- package/lib/esm/client/ids/index.js +1 -1
- package/lib/esm/client/ids/index.js.map +1 -0
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +1 -1
- package/lib/esm/client/indexes/generation.js.map +1 -0
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/indexes/index.js.map +1 -0
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/logging.js.map +1 -0
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/esm/client/services/FabricIdentityService.js +1 -1
- package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
- package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
- package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/constants.js.map +1 -0
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/services/index.js.map +1 -0
- package/lib/esm/client/types.js +1 -1
- package/lib/esm/client/types.js.map +1 -0
- package/lib/esm/client/utils.js +1 -1
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/contract/Address.js +1 -1
- package/lib/esm/contract/Address.js.map +1 -0
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AddressContract.js.map +1 -0
- package/lib/esm/contract/AuditContract.js +1 -1
- package/lib/esm/contract/AuditContract.js.map +1 -0
- package/lib/esm/contract/BatchContract.js +1 -1
- package/lib/esm/contract/BatchContract.js.map +1 -0
- package/lib/esm/contract/MarketContract.js +1 -1
- package/lib/esm/contract/MarketContract.js.map +1 -0
- package/lib/esm/contract/OtherAuditContract.js +1 -1
- package/lib/esm/contract/OtherAuditContract.js.map +1 -0
- package/lib/esm/contract/OtherBatchContract.js +1 -1
- package/lib/esm/contract/OtherBatchContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletContract.js +1 -1
- package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
- package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
- package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
- package/lib/esm/contract/OtherMarketContract.js +1 -1
- package/lib/esm/contract/OtherMarketContract.js.map +1 -0
- package/lib/esm/contract/OtherProductContract.js +1 -1
- package/lib/esm/contract/OtherProductContract.js.map +1 -0
- package/lib/esm/contract/OtherProductImageContract.js +1 -1
- package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
- package/lib/esm/contract/OtherProductSharedContract.js +1 -1
- package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
- package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
- package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/ProductStrengthContract.js +1 -1
- package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
- package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
- package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contract/logging-context.js +1 -1
- package/lib/esm/contract/logging-context.js.map +1 -0
- package/lib/esm/contract/models/Audit.js +1 -1
- package/lib/esm/contract/models/Audit.js.map +1 -0
- package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
- package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
- package/lib/esm/contract/models/BaseModel.js +1 -1
- package/lib/esm/contract/models/BaseModel.js.map +1 -0
- package/lib/esm/contract/models/Batch.js +1 -1
- package/lib/esm/contract/models/Batch.js.map +1 -0
- package/lib/esm/contract/models/GtinOwner.js +1 -1
- package/lib/esm/contract/models/GtinOwner.js.map +1 -0
- package/lib/esm/contract/models/History.js +1 -1
- package/lib/esm/contract/models/History.js.map +1 -0
- package/lib/esm/contract/models/Leaflet.js +1 -1
- package/lib/esm/contract/models/Leaflet.js.map +1 -0
- package/lib/esm/contract/models/LeafletFile.js +1 -1
- package/lib/esm/contract/models/LeafletFile.js.map +1 -0
- package/lib/esm/contract/models/Market.js +1 -1
- package/lib/esm/contract/models/Market.js.map +1 -0
- package/lib/esm/contract/models/OtherAudit.js +1 -1
- package/lib/esm/contract/models/OtherAudit.js.map +1 -0
- package/lib/esm/contract/models/OtherBatchShared.js +1 -1
- package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/models/OtherLeaflet.js +1 -1
- package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/models/OtherMarket.js +1 -1
- package/lib/esm/contract/models/OtherMarket.js.map +1 -0
- package/lib/esm/contract/models/OtherProduct.js +1 -1
- package/lib/esm/contract/models/OtherProduct.js.map +1 -0
- package/lib/esm/contract/models/OtherProductImage.js +1 -1
- package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/models/OtherProductShared.js +1 -1
- package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/models/OtherProductStrength.js +1 -1
- package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
- package/lib/esm/contract/models/Product.js +1 -1
- package/lib/esm/contract/models/Product.js.map +1 -0
- package/lib/esm/contract/models/ProductStrength.js +1 -1
- package/lib/esm/contract/models/ProductStrength.js.map +1 -0
- package/lib/esm/contract/models/SegregatedDocument.js +1 -1
- package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
- package/lib/esm/contract/models/constants.js +1 -1
- package/lib/esm/contract/models/constants.js.map +1 -0
- package/lib/esm/contract/models/decorators-private.js +1 -1
- package/lib/esm/contract/models/decorators-private.js.map +1 -0
- package/lib/esm/contract/models/decorators.js +1 -1
- package/lib/esm/contract/models/decorators.js.map +1 -0
- package/lib/esm/contract/models/gtin.js +1 -1
- package/lib/esm/contract/models/gtin.js.map +1 -0
- package/lib/esm/contract/models/history-dec.js +1 -1
- package/lib/esm/contract/models/history-dec.js.map +1 -0
- package/lib/esm/contract/trackedModels/History.js +1 -1
- package/lib/esm/contract/trackedModels/History.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
- package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherBatchShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
- package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
- package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
- package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
- package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +1 -1
- package/lib/esm/contracts/ContractAdapter.js.map +1 -0
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -0
- package/lib/esm/contracts/FabricContractDispatch.js +1 -1
- package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
- package/lib/esm/contracts/FabricContractPaginator.js +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepository.js +1 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/esm/contracts/FabricContractSequence.js +1 -1
- package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
- package/lib/esm/contracts/MigrationContract.js +1 -1
- package/lib/esm/contracts/MigrationContract.js.map +1 -0
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/auth/decorators.js +1 -1
- package/lib/esm/contracts/auth/decorators.js.map +1 -0
- package/lib/esm/contracts/auth/index.js +1 -1
- package/lib/esm/contracts/auth/index.js.map +1 -0
- package/lib/esm/contracts/bootstrap.js +1 -1
- package/lib/esm/contracts/bootstrap.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.js +1 -1
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/index.js.map +1 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/index.js.map +1 -0
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/erc20/models.js.map +1 -0
- package/lib/esm/contracts/fabric-overrides.js +1 -1
- package/lib/esm/contracts/fabric-overrides.js.map +1 -0
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/overrides.js +1 -1
- package/lib/esm/contracts/overrides.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/contracts/uuid.js +1 -1
- package/lib/esm/contracts/uuid.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/decorators.js.map +1 -0
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/esm/shared/erc20/index.js +1 -1
- package/lib/esm/shared/erc20/index.js.map +1 -0
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/errors.js.map +1 -0
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/events.js.map +1 -0
- package/lib/esm/shared/fabric-types.js +1 -1
- package/lib/esm/shared/fabric-types.js.map +1 -0
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
- package/lib/esm/shared/interfaces/index.js +1 -1
- package/lib/esm/shared/interfaces/index.js.map +1 -0
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/math.js.map +1 -0
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/Identity.js.map +1 -0
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/model/index.js.map +1 -0
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/Model.js.map +1 -0
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/index.js.map +1 -0
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/overrides/overrides.js.map +1 -0
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/shared/types.js.map +1 -0
- package/lib/esm/version.js +4 -4
- package/lib/esm/version.js.map +1 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
|
@@ -449,5 +449,5 @@ class FabricClientStatement extends core_1.Statement {
|
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
451
|
exports.FabricClientStatement = FabricClientStatement;
|
|
452
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ2xpZW50U3RhdGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC9GYWJyaWNDbGllbnRTdGF0ZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxhQUFhLEVBRWIsUUFBUSxFQUVSLGVBQWUsRUFFZixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLFVBQVUsRUFDVixVQUFVLEVBRVYsUUFBUSxFQUNSLFNBQVMsR0FHVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd2RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsaUJBQWlCLEVBSWpCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUdqQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQXNCaEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRS9DLFNBQVMsdUJBQXVCLENBQUMsS0FBYTtJQUM1QyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sUUFBUSxDQUFDO0lBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxD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QUssSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBaUIsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFpQixDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBaUIsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQ3JCLElBQXlCO1FBRXpCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRhcHRlckZsYWdzLFxuICBDb25kaXRpb24sXG4gIEdyb3VwT3BlcmF0b3IsXG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgT3BlcmF0b3IsXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBQZXJzaXN0ZW5jZUtleXMsXG4gIFByZXBhcmVkU3RhdGVtZW50LFxuICBQcmVwYXJlZFN0YXRlbWVudEtleXMsXG4gIFF1ZXJ5Q2xhdXNlLFxuICBRdWVyeUVycm9yLFxuICBSZXBvc2l0b3J5LFxuICBTZWxlY3RTZWxlY3RvcixcbiAgU2VxdWVuY2UsXG4gIFN0YXRlbWVudCxcbiAgU3RhdGVtZW50RXhlY3V0b3IsXG4gIFZpZXdLaW5kLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgRmFicmljQ2xpZW50QWRhcHRlciB9IGZyb20gXCIuL0ZhYnJpY0NsaWVudEFkYXB0ZXJcIjtcbmltcG9ydCB7IEZhYnJpY0NsaWVudENvbnRleHQgfSBmcm9tIFwiLi9GYWJyaWNDbGllbnRDb250ZXh0XCI7XG5pbXBvcnQge1xuICBDb3VjaERCS2V5cyxcbiAgQ291Y2hEQk9wZXJhdG9yLFxuICBDb3VjaERCR3JvdXBPcGVyYXRvcixcbiAgQ291Y2hEQlF1ZXJ5TGltaXQsXG4gIE1hbmdvUXVlcnksXG4gIE1hbmdvT3BlcmF0b3IsXG4gIE1hbmdvU2VsZWN0b3IsXG4gIHRyYW5zbGF0ZU9wZXJhdG9ycyxcbiAgZ2VuZXJhdGVEZXNpZ25Eb2NOYW1lLFxuICBnZW5lcmF0ZVZpZXdOYW1lLFxuICBmaW5kVmlld01ldGFkYXRhLFxuICBDb3VjaERCVmlld01ldGFkYXRhLFxuICBWaWV3UmVzcG9uc2UsXG59IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBEQktleXMsIEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbnR5cGUgRmFicmljVmlld0Rlc2NyaXB0b3IgPSB7XG4gIGRkb2M6IHN0cmluZztcbiAgdmlldzogc3RyaW5nO1xuICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxudHlwZSBGYWJyaWNBZ2dyZWdhdGVJbmZvID1cbiAgfCB7XG4gICAgICBraW5kOiBWaWV3S2luZDtcbiAgICAgIG1ldGE6IENvdWNoREJWaWV3TWV0YWRhdGE7XG4gICAgICBkZXNjcmlwdG9yOiBGYWJyaWNWaWV3RGVzY3JpcHRvcjtcbiAgICAgIGNvdW50RGlzdGluY3Q/OiBib29sZWFuO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiBcImF2Z1wiO1xuICAgICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgICBzdW1EZXNjcmlwdG9yOiBGYWJyaWNWaWV3RGVzY3JpcHRvcjtcbiAgICAgIGNvdW50RGVzY3JpcHRvcjogRmFicmljVmlld0Rlc2NyaXB0b3I7XG4gICAgfTtcblxuY29uc3QgZXNjYXBlUmVnRXhwID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdmFsdWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csIFwiXFxcXCQmXCIpO1xuXG5mdW5jdGlvbiBuZXh0TGV4aWNvZ3JhcGhpY1N0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIFwiXFx1MDAwMFwiO1xuICBjb25zdCBjaGFycyA9IEFycmF5LmZyb20odmFsdWUpO1xuICBmb3IgKGxldCBpID0gY2hhcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICBjb25zdCBjb2RlID0gY2hhcnNbaV0uY29kZVBvaW50QXQoMCk7XG4gICAgaWYgKGNvZGUgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgaWYgKGNvZGUgPCAweDEwZmZmZikge1xuICAgICAgY2hhcnNbaV0gPSBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlICsgMSk7XG4gICAgICByZXR1cm4gY2hhcnMuc2xpY2UoMCwgaSArIDEpLmpvaW4oXCJcIik7XG4gICAgfVxuICB9XG4gIHJldHVybiBgJHt2YWx1ZX1cXHUwMDAwYDtcbn1cblxuZnVuY3Rpb24gcHJlZml4UmFuZ2UocHJlZml4OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtcbiAgICBzdGFydDogcHJlZml4LFxuICAgIGVuZDogbmV4dExleGljb2dyYXBoaWNTdHJpbmcocHJlZml4KSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEZhYnJpY0NsaWVudFN0YXRlbWVudDxNIGV4dGVuZHMgTW9kZWwsIFI+IGV4dGVuZHMgU3RhdGVtZW50PFxuICBNLFxuICBGYWJyaWNDbGllbnRBZGFwdGVyLFxuICBSLFxuICBNYW5nb1F1ZXJ5XG4+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogRmFicmljQ2xpZW50QWRhcHRlciwgb3ZlcnJpZGVzPzogUGFydGlhbDxBZGFwdGVyRmxhZ3M+KSB7XG4gICAgc3VwZXIoYWRhcHRlciwgb3ZlcnJpZGVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzcXVhc2goXG4gICAgY3R4OiBGYWJyaWNDbGllbnRDb250ZXh0XG4gICk6IFByZXBhcmVkU3RhdGVtZW50PGFueT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHNxdWFzaGVkOiBQcmVwYXJlZFN0YXRlbWVudDxNPiB8IHVuZGVmaW5lZCA9IHN1cGVyLnNxdWFzaChcbiAgICAgIGN0eCBhcyBuZXZlclxuICAgICk7XG4gICAgaWYgKCFzcXVhc2hlZCkgcmV0dXJuIHNxdWFzaGVkO1xuXG4gICAgY29uc3QgeyBtZXRob2QsIHBhcmFtcywgYXJncyB9ID0gc3F1YXNoZWQ7XG4gICAgY29uc3QgeyBkaXJlY3Rpb24sIGxpbWl0IH0gPSBwYXJhbXM7XG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkQ6XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRTpcbiAgICAgICAgYXJncy5wdXNoKGRpcmVjdGlvbiwgbGltaXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfQlk6XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWTpcbiAgICAgICAgYXJncy5wdXNoKGRpcmVjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWTpcbiAgICAgICAgYXJncy5wdXNoKGRpcmVjdGlvbiwgbGltaXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBVbnN1cHBvcnRlZCBtZXRob2QgJHttZXRob2R9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNxdWFzaGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVQcmVwYXJlZChcbiAgICAuLi5hcmd6OiBNYXliZUNvbnRleHR1YWxBcmc8RmFicmljQ2xpZW50Q29udGV4dD5cbiAgKTogUHJvbWlzZTxSPiB7XG4gICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwodGhpcy5mcm9tU2VsZWN0b3IsIHRoaXMuYWRhcHRlci5hbGlhcyk7XG4gICAgY29uc3QgeyBtZXRob2QsIGFyZ3MgfSA9IHRoaXMucHJlcGFyZWQgYXMgUHJlcGFyZWRTdGF0ZW1lbnQ8YW55PjtcbiAgICByZXR1cm4gcmVwby5zdGF0ZW1lbnQobWV0aG9kLCAuLi5hcmdzLCAuLi5hcmd6KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHByZXBhcmUoXG4gICAgY3R4PzogRmFicmljQ2xpZW50Q29udGV4dFxuICApOiBQcm9taXNlPFN0YXRlbWVudEV4ZWN1dG9yPE0sIFI+PiB7XG4gICAgY3R4ID1cbiAgICAgIGN0eCB8fFxuICAgICAgKGF3YWl0IHRoaXMuYWRhcHRlci5jb250ZXh0KFxuICAgICAgICBQZXJzaXN0ZW5jZUtleXMuUVVFUlksXG4gICAgICAgIHRoaXMub3ZlcnJpZGVzIHx8IHt9LFxuICAgICAgICB0aGlzLmZyb21TZWxlY3RvclxuICAgICAgKSk7XG5cbiAgICBpZiAoIWN0eCkgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJObyBjb250ZXh0IGF2YWlsYWJsZSBmb3Igc3RhdGVtZW50XCIpO1xuXG4gICAgaWYgKHRoaXMuaXNTaW1wbGVRdWVyeSgpICYmIGN0eC5nZXQoXCJmb3JjZVByZXBhcmVTaW1wbGVRdWVyaWVzXCIpKSB7XG4gICAgICBjb25zdCBzcXVhc2hlZCA9IHRoaXMuc3F1YXNoKGN0eCk7XG4gICAgICBpZiAoc3F1YXNoZWQpIHtcbiAgICAgICAgdGhpcy5wcmVwYXJlZCA9IHNxdWFzaGVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgYXJnczogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge30gYXMgYW55O1xuXG4gICAgY29uc3QgcHJlcGFyZWQ6IFByZXBhcmVkU3RhdGVtZW50PGFueT4gPSB7XG4gICAgICBjbGFzczogdGhpcy5mcm9tU2VsZWN0b3IsXG4gICAgICBhcmdzLFxuICAgICAgcGFyYW1zLFxuICAgIH0gYXMgYW55O1xuXG4gICAgY29uc3QgbWV0aG9kOiBzdHJpbmdbXSA9IFtRdWVyeUNsYXVzZS5GSU5EX0JZXTtcblxuICAgIGlmICh0aGlzLndoZXJlQ29uZGl0aW9uKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnByZXBhcmVDb25kaXRpb24odGhpcy53aGVyZUNvbmRpdGlvbiwgY3R4IGFzIG5ldmVyKTtcbiAgICAgIG1ldGhvZC5wdXNoKHBhcnNlZC5tZXRob2QpO1xuICAgICAgaWYgKHBhcnNlZC5hcmdzICYmIHBhcnNlZC5hcmdzLmxlbmd0aClcbiAgICAgICAgYXJncy5wdXNoKC4uLihwYXJzZWQuYXJncyBhcyAoc3RyaW5nIHwgbnVtYmVyKVtdKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdFNlbGVjdG9yKVxuICAgICAgbWV0aG9kLnB1c2goXG4gICAgICAgIFF1ZXJ5Q2xhdXNlLlNFTEVDVCxcbiAgICAgICAgdGhpcy5zZWxlY3RTZWxlY3Rvci5qb2luKGAgJHtRdWVyeUNsYXVzZS5BTkQudG9Mb3dlckNhc2UoKX0gYClcbiAgICAgICk7XG4gICAgaWYgKHRoaXMub3JkZXJCeVNlbGVjdG9ycz8ubGVuZ3RoKSB7XG4gICAgICBtZXRob2QucHVzaChRdWVyeUNsYXVzZS5PUkRFUl9CWSwgdGhpcy5vcmRlckJ5U2VsZWN0b3JzWzBdWzBdIGFzIHN0cmluZyk7XG4gICAgICBhcmdzLnB1c2godGhpcy5vcmRlckJ5U2VsZWN0b3JzWzBdWzFdIGFzIGFueSk7XG4gICAgfVxuICAgIHByZXBhcmVkLm1ldGhvZCA9IHRvQ2FtZWxDYXNlKG1ldGhvZC5qb2luKFwiIFwiKSk7XG4gICAgcHJlcGFyZWQucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMucHJlcGFyZWQgPSBwcmVwYXJlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJvY2Vzc2VzIGEgcmVjb3JkIGZyb20gQ291Y2hEQi9GYWJyaWNcbiAgICogQHN1bW1hcnkgRXh0cmFjdHMgdGhlIElEIGZyb20gYSBDb3VjaERCIGRvY3VtZW50IGFuZCByZXZlcnRzIGl0IHRvIGEgbW9kZWwgaW5zdGFuY2VcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcm9jZXNzUmVjb3JkKFxuICAgIHJlY29yZDogYW55LFxuICAgIGN0eDogRmFicmljQ2xpZW50Q29udGV4dFxuICApOiBNIHtcbiAgICBjb25zdCBwa0F0dHIgPSBNb2RlbC5wayh0aGlzLmZyb21TZWxlY3Rvcik7XG4gICAgY29uc3QgdHlwZSA9IE1ldGFkYXRhLmdldChcbiAgICAgIHRoaXMuZnJvbVNlbGVjdG9yLFxuICAgICAgTWV0YWRhdGEua2V5KERCS2V5cy5JRCwgcGtBdHRyIGFzIHN0cmluZylcbiAgICApPy50eXBlO1xuXG4gICAgaWYgKHJlY29yZFtDb3VjaERCS2V5cy5JRF0pIHtcbiAgICAgIGNvbnN0IFssIC4uLmtleUFyZ3NdID0gcmVjb3JkW0NvdWNoREJLZXlzLklEXS5zcGxpdChDb3VjaERCS2V5cy5TRVBBUkFUT1IpO1xuICAgICAgY29uc3QgaWQgPSBrZXlBcmdzLmpvaW4oXCJfXCIpO1xuICAgICAgcmVjb3JkW3BrQXR0cl0gPSBTZXF1ZW5jZS5wYXJzZVZhbHVlKHR5cGUgYXMgYW55LCBpZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLnByb2Nlc3NSZWNvcmQocmVjb3JkLCBjdHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBhIHJhdyBNYW5nbyBxdWVyeVxuICAgKiBAc3VtbWFyeSBTZW5kcyBhIHJhdyBNYW5nbyBxdWVyeSB0byBGYWJyaWMgYW5kIHByb2Nlc3NlcyB0aGUgcmVzdWx0c1xuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcmF3PFI+KHJhd0lucHV0OiBNYW5nb1F1ZXJ5LCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJhdyk7XG4gICAgY29uc3QgYWdncmVnYXRvciA9IChyYXdJbnB1dCBhcyBhbnkpPy5hZ2dyZWdhdGVJbmZvO1xuICAgIGlmICgocmF3SW5wdXQgYXMgYW55KT8uYWdncmVnYXRlICYmIGFnZ3JlZ2F0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBZ2dyZWdhdGU8Uj4oYWdncmVnYXRvciwgY3R4KTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0czogYW55W10gPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmF3KFxuICAgICAgcmF3SW5wdXQsXG4gICAgICB0cnVlLFxuICAgICAgdGhpcy5mcm9tU2VsZWN0b3IsXG4gICAgICBjdHhcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdFNlbGVjdG9yKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWQgPSByZXN1bHRzLm1hcCgocikgPT4gdGhpcy5wcm9jZXNzUmVjb3JkKHIsIGN0eCkpO1xuICAgICAgaWYgKCFjdHguZ2V0T3JVbmRlZmluZWQoXCJhZnRlclF1ZXJ5SGFuZGxlcnNcIikpIHtcbiAgICAgICAgcmV0dXJuIHByb2Nlc3NlZCBhcyB1bmtub3duIGFzIFI7XG4gICAgICB9XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXBwbHlBZnRlckhhbmRsZXJzVG9SZXN1bHQocHJvY2Vzc2VkLCBjdHgpKSBhcyBSO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0cyBhcyBSO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgYSBDb3VjaERCIE1hbmdvIHF1ZXJ5IGZyb20gdGhlIHN0YXRlbWVudFxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyB0aGUgc3RhdGVtZW50J3MgY29uZGl0aW9ucywgc2VsZWN0b3JzLCBhbmQgb3B0aW9ucyBpbnRvIGEgQ291Y2hEQiBNYW5nbyBxdWVyeVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGJ1aWxkKCk6IE1hbmdvUXVlcnkge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmJ1aWxkKTtcbiAgICBjb25zdCBhZ2dyZWdhdGVRdWVyeSA9IHRoaXMuYnVpbGRBZ2dyZWdhdGVRdWVyeSgpO1xuICAgIGlmIChhZ2dyZWdhdGVRdWVyeSkgcmV0dXJuIGFnZ3JlZ2F0ZVF1ZXJ5O1xuICAgIGNvbnN0IHNlbGVjdG9yczogTWFuZ29TZWxlY3RvciA9IHt9O1xuICAgIHNlbGVjdG9yc1tDb3VjaERCS2V5cy5UQUJMRV0gPSB7fTtcbiAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID0gTW9kZWwudGFibGVOYW1lKHRoaXMuZnJvbVNlbGVjdG9yKTtcbiAgICBjb25zdCBxdWVyeTogTWFuZ29RdWVyeSA9IHsgc2VsZWN0b3I6IHNlbGVjdG9ycyB9O1xuICAgIGlmICh0aGlzLnNlbGVjdFNlbGVjdG9yKSBxdWVyeS5maWVsZHMgPSB0aGlzLnNlbGVjdFNlbGVjdG9yIGFzIHN0cmluZ1tdO1xuXG4gICAgaWYgKHRoaXMud2hlcmVDb25kaXRpb24pIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbjogTWFuZ29TZWxlY3RvciA9IHRoaXMucGFyc2VDb25kaXRpb24oXG4gICAgICAgIENvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgdGhpcy53aGVyZUNvbmRpdGlvbixcbiAgICAgICAgICBDb25kaXRpb24uYXR0cmlidXRlPE0+KENvdWNoREJLZXlzLlRBQkxFIGFzIGtleW9mIE0pLmVxKFxuICAgICAgICAgICAgcXVlcnkuc2VsZWN0b3JbQ291Y2hEQktleXMuVEFCTEVdXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApLnNlbGVjdG9yO1xuICAgICAgY29uc3Qgc2VsZWN0b3JLZXlzID0gT2JqZWN0LmtleXMoY29uZGl0aW9uKSBhcyBNYW5nb09wZXJhdG9yW107XG4gICAgICBpZiAoXG4gICAgICAgIHNlbGVjdG9yS2V5cy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhDb3VjaERCR3JvdXBPcGVyYXRvcikuaW5kZXhPZihzZWxlY3RvcktleXNbMF0pICE9PSAtMVxuICAgICAgKVxuICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yS2V5c1swXSkge1xuICAgICAgICAgIGNhc2UgQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EOlxuICAgICAgICAgICAgY29uZGl0aW9uW0NvdWNoREJHcm91cE9wZXJhdG9yLkFORF0gPSBbXG4gICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uW0NvdWNoREJHcm91cE9wZXJhdG9yLkFORF0gYXMgTWFuZ29TZWxlY3RvclxuICAgICAgICAgICAgICApLnJlZHVjZSgoYWNjdW06IE1hbmdvU2VsZWN0b3JbXSwgdmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsKTtcbiAgICAgICAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIFwiVG9vIG1hbnkga2V5cyBpbiBxdWVyeSBzZWxlY3Rvci4gc2hvdWxkIGJlIG9uZVwiXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXlzWzBdO1xuICAgICAgICAgICAgICAgIGlmIChrID09PSBDb3VjaERCR3JvdXBPcGVyYXRvci5BTkQpXG4gICAgICAgICAgICAgICAgICBhY2N1bS5wdXNoKC4uLih2YWxba10gYXMgYW55W10pKTtcbiAgICAgICAgICAgICAgICBlbHNlIGFjY3VtLnB1c2godmFsKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBxdWVyeS5zZWxlY3RvciA9IGNvbmRpdGlvbjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQ291Y2hEQkdyb3VwT3BlcmF0b3IuT1I6IHtcbiAgICAgICAgICAgIGNvbnN0IHM6IFJlY29yZDxhbnksIGFueT4gPSB7fTtcbiAgICAgICAgICAgIHNbQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EXSA9IFtcbiAgICAgICAgICAgICAgY29uZGl0aW9uLFxuICAgICAgICAgICAgICAuLi5PYmplY3QuZW50cmllcyhxdWVyeS5zZWxlY3RvcikubWFwKChba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8YW55LCBhbnk+ID0ge307XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcXVlcnkuc2VsZWN0b3IgPSBzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIHNob3VsZCBiZSBpbXBvc3NpYmxlXCIpO1xuICAgICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoY29uZGl0aW9uKS5mb3JFYWNoKChba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgICAgaWYgKHF1ZXJ5LnNlbGVjdG9yW2tleV0pXG4gICAgICAgICAgICBsb2cud2FybihcbiAgICAgICAgICAgICAgYEEgJHtrZXl9IHF1ZXJ5IHBhcmFtIGlzIGFib3V0IHRvIGJlIG92ZXJyaWRkZW46ICR7cXVlcnkuc2VsZWN0b3Jba2V5XX0gYnkgJHt2YWx9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBxdWVyeS5zZWxlY3RvcltrZXldID0gdmFsO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcmRlckJ5U2VsZWN0b3JzPy5sZW5ndGgpIHtcbiAgICAgIHF1ZXJ5LnNvcnQgPSBxdWVyeS5zb3J0IHx8IFtdO1xuICAgICAgcXVlcnkuc2VsZWN0b3IgPSBxdWVyeS5zZWxlY3RvciB8fCAoe30gYXMgTWFuZ29TZWxlY3Rvcik7XG4gICAgICBmb3IgKGNvbnN0IFtzZWxlY3RvcktleSwgZGlyZWN0aW9uXSBvZiB0aGlzLm9yZGVyQnlTZWxlY3RvcnMpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0b3IgPSBzZWxlY3RvcktleSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHJlYzogUmVjb3JkPHN0cmluZywgT3JkZXJEaXJlY3Rpb24+ID0ge307XG4gICAgICAgIHJlY1tzZWxlY3Rvcl0gPSBkaXJlY3Rpb24gYXMgT3JkZXJEaXJlY3Rpb247XG4gICAgICAgIChxdWVyeS5zb3J0IGFzIFJlY29yZDxzdHJpbmcsIE9yZGVyRGlyZWN0aW9uPltdKS5wdXNoKHJlYyk7XG4gICAgICAgIGlmICghcXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdKSB7XG4gICAgICAgICAgcXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgICAgICAocXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdIGFzIE1hbmdvU2VsZWN0b3IpW0NvdWNoREJPcGVyYXRvci5CSUdHRVJdID1cbiAgICAgICAgICAgIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5saW1pdFNlbGVjdG9yKSB7XG4gICAgICBxdWVyeS5saW1pdCA9IHRoaXMubGltaXRTZWxlY3RvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLndhcm4oXG4gICAgICAgIGBObyBsaW1pdCBzZWxlY3RvciBkZWZpbmVkLiBVc2luZyBkZWZhdWx0IGNvdWNoZGIgbGltaXQgb2YgJHtDb3VjaERCUXVlcnlMaW1pdH1gXG4gICAgICApO1xuICAgICAgcXVlcnkubGltaXQgPSBDb3VjaERCUXVlcnlMaW1pdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vZmZzZXRTZWxlY3RvcikgcXVlcnkuc2tpcCA9IHRoaXMub2Zmc2V0U2VsZWN0b3I7XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhIGNvbmRpdGlvbiBpbnRvIGEgQ291Y2hEQiBNYW5nbyBxdWVyeSBzZWxlY3RvclxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyBhIENvbmRpdGlvbiBvYmplY3QgaW50byBhIENvdWNoREIgTWFuZ28gcXVlcnkgc2VsZWN0b3Igc3RydWN0dXJlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcGFyc2VDb25kaXRpb24oY29uZGl0aW9uOiBDb25kaXRpb248TT4pOiBNYW5nb1F1ZXJ5IHtcbiAgICBmdW5jdGlvbiBtZXJnZShcbiAgICAgIG9wOiBNYW5nb09wZXJhdG9yLFxuICAgICAgb2JqMTogTWFuZ29TZWxlY3RvcixcbiAgICAgIG9iajI6IE1hbmdvU2VsZWN0b3JcbiAgICApOiBNYW5nb1F1ZXJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdDogTWFuZ29RdWVyeSA9IHsgc2VsZWN0b3I6IHt9IGFzIE1hbmdvU2VsZWN0b3IgfTtcbiAgICAgIHJlc3VsdC5zZWxlY3RvcltvcF0gPSBbb2JqMSwgb2JqMl07XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHsgYXR0cjEsIG9wZXJhdG9yLCBjb21wYXJpc29uIH0gPSBjb25kaXRpb24gYXMgdW5rbm93biBhcyB7XG4gICAgICBhdHRyMTogc3RyaW5nIHwgQ29uZGl0aW9uPE0+O1xuICAgICAgb3BlcmF0b3I6IE9wZXJhdG9yIHwgR3JvdXBPcGVyYXRvcjtcbiAgICAgIGNvbXBhcmlzb246IGFueTtcbiAgICB9O1xuXG4gICAgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5TVEFSVFNfV0lUSCkge1xuICAgICAgaWYgKHR5cGVvZiBhdHRyMSAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJTVEFSVFNfV0lUSCByZXF1aXJlcyBhbiBhdHRyaWJ1dGUgbmFtZVwiKTtcbiAgICAgIGlmICh0eXBlb2YgY29tcGFyaXNvbiAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJTVEFSVFNfV0lUSCByZXF1aXJlcyBhIHN0cmluZyBjb21wYXJpc29uXCIpO1xuICAgICAgY29uc3QgcmFuZ2UgPSBwcmVmaXhSYW5nZShjb21wYXJpc29uKTtcbiAgICAgIGNvbnN0IHNlbGVjdG9yOiBNYW5nb1NlbGVjdG9yID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIHNlbGVjdG9yW2F0dHIxXSA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICAoc2VsZWN0b3JbYXR0cjFdIGFzIE1hbmdvU2VsZWN0b3IpW0NvdWNoREJPcGVyYXRvci5CSUdHRVJfRVFdID0gcmFuZ2Uuc3RhcnQ7XG4gICAgICAoc2VsZWN0b3JbYXR0cjFdIGFzIE1hbmdvU2VsZWN0b3IpW0NvdWNoREJPcGVyYXRvci5TTUFMTEVSXSA9IHJhbmdlLmVuZDtcbiAgICAgIHJldHVybiB7IHNlbGVjdG9yIH07XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5FTkRTX1dJVEgpIHtcbiAgICAgIGlmICh0eXBlb2YgYXR0cjEgIT09IFwic3RyaW5nXCIpXG4gICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFwiRU5EU19XSVRIIHJlcXVpcmVzIGFuIGF0dHJpYnV0ZSBuYW1lXCIpO1xuICAgICAgaWYgKHR5cGVvZiBjb21wYXJpc29uICE9PSBcInN0cmluZ1wiKVxuICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcIkVORFNfV0lUSCByZXF1aXJlcyBhIHN0cmluZyBjb21wYXJpc29uXCIpO1xuICAgICAgY29uc3Qgc2VsZWN0b3I6IE1hbmdvU2VsZWN0b3IgPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgc2VsZWN0b3JbYXR0cjFdID0ge1xuICAgICAgICBbQ291Y2hEQk9wZXJhdG9yLlJFR0VYUF06IGAke2VzY2FwZVJlZ0V4cChjb21wYXJpc29uKX0kYCxcbiAgICAgIH0gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIHJldHVybiB7IHNlbGVjdG9yIH07XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5CRVRXRUVOKSB7XG4gICAgICBjb25zdCBhdHRyID0gYXR0cjEgYXMgc3RyaW5nO1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbXBhcmlzb24pIHx8IGNvbXBhcmlzb24ubGVuZ3RoICE9PSAyKVxuICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcIkJFVFdFRU4gb3BlcmF0b3IgcmVxdWlyZXMgW21pbiwgbWF4XSBjb21wYXJpc29uXCIpO1xuICAgICAgY29uc3QgW21pbiwgbWF4XSA9IGNvbXBhcmlzb247XG4gICAgICBjb25zdCBvcEJldHdlZW46IE1hbmdvU2VsZWN0b3IgPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgb3BCZXR3ZWVuW2F0dHJdID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIChvcEJldHdlZW5bYXR0cl0gYXMgTWFuZ29TZWxlY3RvcilbXG4gICAgICAgIHRyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5CSUdHRVJfRVEpXG4gICAgICBdID0gbWluO1xuICAgICAgKG9wQmV0d2VlblthdHRyXSBhcyBNYW5nb1NlbGVjdG9yKVtcbiAgICAgICAgdHJhbnNsYXRlT3BlcmF0b3JzKE9wZXJhdG9yLlNNQUxMRVJfRVEpXG4gICAgICBdID0gbWF4O1xuICAgICAgcmV0dXJuIHsgc2VsZWN0b3I6IG9wQmV0d2VlbiB9O1xuICAgIH1cblxuICAgIGxldCBvcDogTWFuZ29TZWxlY3RvciA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgaWYgKFxuICAgICAgW0dyb3VwT3BlcmF0b3IuQU5ELCBHcm91cE9wZXJhdG9yLk9SLCBPcGVyYXRvci5OT1RdLmluZGV4T2YoXG4gICAgICAgIG9wZXJhdG9yIGFzIEdyb3VwT3BlcmF0b3JcbiAgICAgICkgPT09IC0xXG4gICAgKSB7XG4gICAgICBvcFthdHRyMSBhcyBzdHJpbmddID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIChvcFthdHRyMSBhcyBzdHJpbmddIGFzIE1hbmdvU2VsZWN0b3IpW3RyYW5zbGF0ZU9wZXJhdG9ycyhvcGVyYXRvcildID1cbiAgICAgICAgY29tcGFyaXNvbjtcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5OT1QpIHtcbiAgICAgIG9wID0gdGhpcy5wYXJzZUNvbmRpdGlvbihhdHRyMSBhcyBDb25kaXRpb248TT4pLnNlbGVjdG9yIGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICBvcFt0cmFuc2xhdGVPcGVyYXRvcnMoT3BlcmF0b3IuTk9UKV0gPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgKG9wW3RyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5OT1QpXSBhcyBNYW5nb1NlbGVjdG9yKVtcbiAgICAgICAgKGF0dHIxIGFzIHVua25vd24gYXMgeyBhdHRyMTogc3RyaW5nIH0pLmF0dHIxXG4gICAgICBdID0gY29tcGFyaXNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3AxOiBhbnkgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxIGFzIENvbmRpdGlvbjxNPikuc2VsZWN0b3I7XG4gICAgICBjb25zdCBvcDI6IGFueSA9IHRoaXMucGFyc2VDb25kaXRpb24oY29tcGFyaXNvbiBhcyBDb25kaXRpb248TT4pLnNlbGVjdG9yO1xuICAgICAgb3AgPSBtZXJnZSh0cmFuc2xhdGVPcGVyYXRvcnMob3BlcmF0b3IpLCBvcDEsIG9wMikuc2VsZWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc2VsZWN0b3I6IG9wIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyBhbiBhZ2dyZWdhdGUgcXVlcnkgaWYgYWdncmVnYXRpb24gaXMgcmVxdWVzdGVkXG4gICAqIEBzdW1tYXJ5IENoZWNrcyBmb3IgYWdncmVnYXRlIG9wZXJhdGlvbnMgYW5kIHJldHVybnMgYSBzcGVjaWFsIE1hbmdvUXVlcnkgZm9yIHRoZW1cbiAgICovXG4gIHByaXZhdGUgYnVpbGRBZ2dyZWdhdGVRdWVyeSgpOiBNYW5nb1F1ZXJ5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuZnJvbVNlbGVjdG9yKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmF2Z1NlbGVjdG9yKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBTdHJpbmcodGhpcy5hdmdTZWxlY3Rvcik7XG4gICAgICBjb25zdCBzdW1JbmZvID0gdGhpcy5jcmVhdGVBZ2dyZWdhdGVEZXNjcmlwdG9yKFwic3VtXCIsIGF0dHJpYnV0ZSk7XG4gICAgICBjb25zdCBjb3VudEluZm8gPSB0aGlzLmNyZWF0ZUFnZ3JlZ2F0ZURlc2NyaXB0b3IoXCJjb3VudFwiLCBhdHRyaWJ1dGUpO1xuICAgICAgaWYgKCFzdW1JbmZvIHx8ICFjb3VudEluZm8pXG4gICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICAgIGBBdmcgb3BlcmF0aW9uIHJlcXVpcmVzIHN1bSBhbmQgY291bnQgdmlld3MgZm9yIGF0dHJpYnV0ZSAke2F0dHJpYnV0ZX1gXG4gICAgICAgICk7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVBZ2dyZWdhdGVRdWVyeSh7XG4gICAgICAgIGtpbmQ6IFwiYXZnXCIsXG4gICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgc3VtRGVzY3JpcHRvcjogc3VtSW5mby5kZXNjcmlwdG9yLFxuICAgICAgICBjb3VudERlc2NyaXB0b3I6IGNvdW50SW5mby5kZXNjcmlwdG9yLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvdW50RGlzdGluY3RTZWxlY3RvciAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgY29uc3QgYXR0cmlidXRlID1cbiAgICAgICAgdGhpcy5jb3VudERpc3RpbmN0U2VsZWN0b3IgPT0gbnVsbFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiBTdHJpbmcodGhpcy5jb3VudERpc3RpbmN0U2VsZWN0b3IpO1xuICAgICAgY29uc3QgaW5mbyA9IHRoaXMuY3JlYXRlQWdncmVnYXRlRGVzY3JpcHRvcihcImRpc3RpbmN0XCIsIGF0dHJpYnV0ZSk7XG4gICAgICBpZiAoaW5mbykge1xuICAgICAgICBpbmZvLmNvdW50RGlzdGluY3QgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVBZ2dyZWdhdGVRdWVyeShpbmZvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZ2dyZWdhdG9yVXNlZCA9XG4gICAgICB0eXBlb2YgdGhpcy5jb3VudFNlbGVjdG9yICE9PSBcInVuZGVmaW5lZFwiIHx8XG4gICAgICB0eXBlb2YgdGhpcy5jb3VudERpc3RpbmN0U2VsZWN0b3IgIT09IFwidW5kZWZpbmVkXCIgfHxcbiAgICAgICEhdGhpcy5taW5TZWxlY3RvciB8fFxuICAgICAgISF0aGlzLm1heFNlbGVjdG9yIHx8XG4gICAgICAhIXRoaXMuc3VtU2VsZWN0b3IgfHxcbiAgICAgICEhdGhpcy5kaXN0aW5jdFNlbGVjdG9yO1xuXG4gICAgY29uc3QgYWdncmVnYXRvckNoZWNrczogQXJyYXk8W1ZpZXdLaW5kLCBTZWxlY3RTZWxlY3RvcjxNPiB8IHVuZGVmaW5lZF0+ID0gW1xuICAgICAgW1xuICAgICAgICBcImNvdW50XCIsXG4gICAgICAgICh0aGlzLmNvdW50U2VsZWN0b3IgPz8gdW5kZWZpbmVkKSBhcyBTZWxlY3RTZWxlY3RvcjxNPiB8IHVuZGVmaW5lZCxcbiAgICAgIF0sXG4gICAgICBbXCJtYXhcIiwgdGhpcy5tYXhTZWxlY3Rvcl0sXG4gICAgICBbXCJtaW5cIiwgdGhpcy5taW5TZWxlY3Rvcl0sXG4gICAgICBbXCJzdW1cIiwgdGhpcy5zdW1TZWxlY3Rvcl0sXG4gICAgICBbXCJkaXN0aW5jdFwiLCB0aGlzLmRpc3RpbmN0U2VsZWN0b3JdLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IFtraW5kLCBzZWxlY3Rvcl0gb2YgYWdncmVnYXRvckNoZWNrcykge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gc2VsZWN0b3IgPyBTdHJpbmcoc2VsZWN0b3IpIDogdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaW5mbyA9IHRoaXMuY3JlYXRlQWdncmVnYXRlRGVzY3JpcHRvcihraW5kLCBhdHRyaWJ1dGUpO1xuICAgICAgaWYgKGluZm8pIHJldHVybiB0aGlzLmNyZWF0ZUFnZ3JlZ2F0ZVF1ZXJ5KGluZm8pO1xuICAgIH1cblxuICAgIGlmIChhZ2dyZWdhdG9yVXNlZCkge1xuICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXG4gICAgICAgIGBObyBDb3VjaERCIHZpZXcgbWV0YWRhdGEgZm91bmQgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKFxuICAgICAgICAgIHRoaXMuZnJvbVNlbGVjdG9yXG4gICAgICAgICl9IGFnZ3JlZ2F0b3JgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuIGFnZ3JlZ2F0ZSBkZXNjcmlwdG9yIGZvciBhIHZpZXctYmFzZWQgYWdncmVnYXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQWdncmVnYXRlRGVzY3JpcHRvcihcbiAgICBraW5kOiBWaWV3S2luZCxcbiAgICBhdHRyaWJ1dGU/OiBzdHJpbmdcbiAgKTogRXh0cmFjdDxGYWJyaWNBZ2dyZWdhdGVJbmZvLCB7IGtpbmQ6IFZpZXdLaW5kIH0+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMuZnJvbVNlbGVjdG9yKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1ldGFzID0gZmluZFZpZXdNZXRhZGF0YSh0aGlzLmZyb21TZWxlY3Rvciwga2luZCwgYXR0cmlidXRlKTtcbiAgICBpZiAoIW1ldGFzLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBtZXRhID0gbWV0YXNbMF07XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKHRoaXMuZnJvbVNlbGVjdG9yKTtcbiAgICBjb25zdCB2aWV3TmFtZSA9IGdlbmVyYXRlVmlld05hbWUodGFibGVOYW1lLCBtZXRhLmF0dHJpYnV0ZSwga2luZCwgbWV0YSk7XG4gICAgY29uc3QgZGRvYyA9IG1ldGEuZGRvYyB8fCBnZW5lcmF0ZURlc2lnbkRvY05hbWUodGFibGVOYW1lLCB2aWV3TmFtZSk7XG4gICAgY29uc3Qgb3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgICAgIHJlZHVjZTogbWV0YS5yZWR1Y2UgIT09IHVuZGVmaW5lZCA/IHRydWUgOiAhbWV0YS5yZXR1cm5Eb2NzLFxuICAgIH07XG4gICAgaWYgKGtpbmQgPT09IFwiZGlzdGluY3RcIiB8fCBraW5kID09PSBcImdyb3VwQnlcIikgb3B0aW9ucy5ncm91cCA9IHRydWU7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQsXG4gICAgICBtZXRhLFxuICAgICAgZGVzY3JpcHRvcjoge1xuICAgICAgICBkZG9jLFxuICAgICAgICB2aWV3OiB2aWV3TmFtZSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyB0aGUgc3BlY2lhbCBhZ2dyZWdhdGUgTWFuZ29RdWVyeSBtYXJrZXJcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQWdncmVnYXRlUXVlcnkoXG4gICAgaW5mbzogRmFicmljQWdncmVnYXRlSW5mb1xuICApOiBNYW5nb1F1ZXJ5ICYgeyBhZ2dyZWdhdGU6IHRydWU7IGFnZ3JlZ2F0ZUluZm86IEZhYnJpY0FnZ3JlZ2F0ZUluZm8gfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbGVjdG9yOiB7fSxcbiAgICAgIGFnZ3JlZ2F0ZTogdHJ1ZSxcbiAgICAgIGFnZ3JlZ2F0ZUluZm86IGluZm8sXG4gICAgfSBhcyBNYW5nb1F1ZXJ5ICYgeyBhZ2dyZWdhdGU6IHRydWU7IGFnZ3JlZ2F0ZUluZm86IEZhYnJpY0FnZ3JlZ2F0ZUluZm8gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgYWRhcHRlciBjYXN0IHRvIEZhYnJpY0NsaWVudEFkYXB0ZXIgZm9yIHZpZXcgYWNjZXNzXG4gICAqL1xuICBwcml2YXRlIGdldEZhYnJpY0FkYXB0ZXIoKTogRmFicmljQ2xpZW50QWRhcHRlciB7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlciBhcyBGYWJyaWNDbGllbnRBZGFwdGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBhbiBhZ2dyZWdhdGUgcXVlcnkgdmlhIGFkYXB0ZXIncyB2aWV3IG1ldGhvZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlQWdncmVnYXRlPFI+KFxuICAgIGluZm86IEZhYnJpY0FnZ3JlZ2F0ZUluZm8sXG4gICAgY3R4OiBGYWJyaWNDbGllbnRDb250ZXh0XG4gICk6IFByb21pc2U8Uj4ge1xuICAgIGlmICghdGhpcy5pc1ZpZXdBZ2dyZWdhdGUoaW5mbykpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUF2ZXJhZ2U8Uj4oaW5mbywgY3R4KTtcbiAgICB9XG4gICAgY29uc3QgZmFicmljQWRhcHRlciA9IHRoaXMuZ2V0RmFicmljQWRhcHRlcigpO1xuICAgIGNvbnN0IHZpZXdJbmZvID0gaW5mbyBhcyBFeHRyYWN0PEZhYnJpY0FnZ3JlZ2F0ZUluZm8sIHsga2luZDogVmlld0tpbmQgfT47XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmYWJyaWNBZGFwdGVyLnZpZXc8Vmlld1Jlc3BvbnNlPihcbiAgICAgIHZpZXdJbmZvLmRlc2NyaXB0b3IuZGRvYyxcbiAgICAgIHZpZXdJbmZvLmRlc2NyaXB0b3IudmlldyxcbiAgICAgIHZpZXdJbmZvLmRlc2NyaXB0b3Iub3B0aW9ucyxcbiAgICAgIGN0eFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMucHJvY2Vzc1ZpZXdSZXNwb25zZTxSPihpbmZvLCByZXNwb25zZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgYXZlcmFnZSBjYWxjdWxhdGlvbiBmcm9tIHN1bSBhbmQgY291bnQgdmlld3NcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlQXZlcmFnZTxSPihcbiAgICBpbmZvOiBGYWJyaWNBZ2dyZWdhdGVJbmZvLFxuICAgIGN0eDogRmFicmljQ2xpZW50Q29udGV4dFxuICApOiBQcm9taXNlPFI+IHtcbiAgICBpZiAoaW5mby5raW5kICE9PSBcImF2Z1wiKVxuICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJBdmVyYWdlIGRlc2NyaXB0b3IgaXMgbm90IHZhbGlkXCIpO1xuICAgIGNvbnN0IGZhYnJpY0FkYXB0ZXIgPSB0aGlzLmdldEZhYnJpY0FkYXB0ZXIoKTtcbiAgICBjb25zdCBbc3VtRGVzYywgY291bnREZXNjXSA9IFtpbmZvLnN1bURlc2NyaXB0b3IsIGluZm8uY291bnREZXNjcmlwdG9yXTtcbiAgICBjb25zdCBbc3VtUmVzcG9uc2UsIGNvdW50UmVzcG9uc2VdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZmFicmljQWRhcHRlci52aWV3PFZpZXdSZXNwb25zZT4oXG4gICAgICAgIHN1bURlc2MuZGRvYyxcbiAgICAgICAgc3VtRGVzYy52aWV3LFxuICAgICAgICBzdW1EZXNjLm9wdGlvbnMsXG4gICAgICAgIGN0eFxuICAgICAgKSxcbiAgICAgIGZhYnJpY0FkYXB0ZXIudmlldzxWaWV3UmVzcG9uc2U+KFxuICAgICAgICBjb3VudERlc2MuZGRvYyxcbiAgICAgICAgY291bnREZXNjLnZpZXcsXG4gICAgICAgIGNvdW50RGVzYy5vcHRpb25zLFxuICAgICAgICBjdHhcbiAgICAgICksXG4gICAgXSk7XG4gICAgY29uc3Qgc3VtID0gc3VtUmVzcG9uc2Uucm93cz8uWzBdPy52YWx1ZSA/PyAwO1xuICAgIGNvbnN0IGNvdW50ID0gY291bnRSZXNwb25zZS5yb3dzPy5bMF0/LnZhbHVlID8/IDA7XG4gICAgaWYgKCFjb3VudCkgcmV0dXJuIDAgYXMgdW5rbm93biBhcyBSO1xuICAgIHJldHVybiAoc3VtIC8gY291bnQpIGFzIHVua25vd24gYXMgUjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJvY2Vzc2VzIHRoZSB2aWV3IHJlc3BvbnNlIGJhc2VkIG9uIGFnZ3JlZ2F0ZSBraW5kXG4gICAqL1xuICBwcml2YXRlIHByb2Nlc3NWaWV3UmVzcG9uc2U8Uj4oXG4gICAgaW5mbzogRmFicmljQWdncmVnYXRlSW5mbyxcbiAgICByZXNwb25zZTogVmlld1Jlc3BvbnNlXG4gICk6IFIge1xuICAgIGlmIChpbmZvLmtpbmQgPT09IFwiYXZnXCIpXG4gICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgXCJBdmVyYWdlIHJlc3VsdHMgc2hvdWxkIGJlIGhhbmRsZWQgYmVmb3JlIHByb2Nlc3Npbmcgcm93c1wiXG4gICAgICApO1xuICAgIGNvbnN0IHJvd3MgPSByZXNwb25zZS5yb3dzIHx8IFtdO1xuICAgIGNvbnN0IHZpZXdJbmZvID0gaW5mbyBhcyBFeHRyYWN0PEZhYnJpY0FnZ3JlZ2F0ZUluZm8sIHsga2luZDogVmlld0tpbmQgfT47XG4gICAgY29uc3QgbWV0YSA9IHZpZXdJbmZvLm1ldGE7XG4gICAgaWYgKHZpZXdJbmZvLmNvdW50RGlzdGluY3QpIHtcbiAgICAgIHJldHVybiAocm93cy5sZW5ndGggfHwgMCkgYXMgdW5rbm93biBhcyBSO1xuICAgIH1cbiAgICBpZiAodmlld0luZm8ua2luZCA9PT0gXCJkaXN0aW5jdFwiIHx8IHZpZXdJbmZvLmtpbmQgPT09IFwiZ3JvdXBCeVwiKSB7XG4gICAgICByZXR1cm4gcm93cy5tYXAoKHJvdykgPT4gcm93LmtleSA/PyByb3cudmFsdWUpIGFzIHVua25vd24gYXMgUjtcbiAgICB9XG4gICAgaWYgKG1ldGEucmV0dXJuRG9jcykge1xuICAgICAgcmV0dXJuIHJvd3MubWFwKChyb3cpID0+IHJvdy52YWx1ZSA/PyByb3cuZG9jID8/IHJvdykgYXMgdW5rbm93biBhcyBSO1xuICAgIH1cbiAgICBpZiAoIXJvd3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gKHZpZXdJbmZvLmtpbmQgPT09IFwiY291bnRcIiA/IDAgOiBudWxsKSBhcyB1bmtub3duIGFzIFI7XG4gICAgfVxuICAgIHJldHVybiAocm93c1swXS52YWx1ZSA/PyByb3dzWzBdLmtleSA/PyBudWxsKSBhcyB1bmtub3duIGFzIFI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgaW5mbyBpcyBhIHZpZXctYmFzZWQgYWdncmVnYXRlXG4gICAqL1xuICBwcml2YXRlIGlzVmlld0FnZ3JlZ2F0ZShcbiAgICBpbmZvOiBGYWJyaWNBZ2dyZWdhdGVJbmZvXG4gICk6IGluZm8gaXMgRXh0cmFjdDxGYWJyaWNBZ2dyZWdhdGVJbmZvLCB7IGtpbmQ6IFZpZXdLaW5kIH0+IHtcbiAgICByZXR1cm4gaW5mby5raW5kICE9PSBcImF2Z1wiO1xuICB9XG59XG4iXX0=
|
|
453
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ2xpZW50U3RhdGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRmFicmljQ2xpZW50U3RhdGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF1SztBQUN2Syx5RUFBdUQ7QUFDdkQsdURBQThMO0FBQzlMLCtDQUFnRDtBQUNoRCwyREFBZ0U7QUFDaEUscURBQWdEO0FBQ2hELE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzdFLFNBQVMsdUJBQXVCLENBQUMsS0FBSztJQUNsQyxJQUFJLENBQUMsS0FBSztRQUNOLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxLQUFLLFNBQVM7WUFDbEIsU0FBUztRQUNiLElBQUksSUFBSSxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDNUIsQ0FBQztBQUNE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Q29udGVudCI6WyJpbXBvcnQgeyBDb25kaXRpb24sIEdyb3VwT3BlcmF0b3IsIE9wZXJhdG9yLCBQZXJzaXN0ZW5jZUtleXMsIFByZXBhcmVkU3RhdGVtZW50S2V5cywgUXVlcnlDbGF1c2UsIFF1ZXJ5RXJyb3IsIFJlcG9zaXRvcnksIFNlcXVlbmNlLCBTdGF0ZW1lbnQsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJLZXlzLCBDb3VjaERCT3BlcmF0b3IsIENvdWNoREJHcm91cE9wZXJhdG9yLCBDb3VjaERCUXVlcnlMaW1pdCwgdHJhbnNsYXRlT3BlcmF0b3JzLCBnZW5lcmF0ZURlc2lnbkRvY05hbWUsIGdlbmVyYXRlVmlld05hbWUsIGZpbmRWaWV3TWV0YWRhdGEsIH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItY291Y2hkYlwiO1xuaW1wb3J0IHsgdG9DYW1lbENhc2UgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IERCS2V5cywgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmNvbnN0IGVzY2FwZVJlZ0V4cCA9ICh2YWx1ZSkgPT4gdmFsdWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csIFwiXFxcXCQmXCIpO1xuZnVuY3Rpb24gbmV4dExleGljb2dyYXBoaWNTdHJpbmcodmFsdWUpIHtcbiAgICBpZiAoIXZhbHVlKVxuICAgICAgICByZXR1cm4gXCJcXHUwMDAwXCI7XG4gICAgY29uc3QgY2hhcnMgPSBBcnJheS5mcm9tKHZhbHVlKTtcbiAgICBmb3IgKGxldCBpID0gY2hhcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgICAgY29uc3QgY29kZSA9IGNoYXJzW2ldLmNvZGVQb2ludEF0KDApO1xuICAgICAgICBpZiAoY29kZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIGlmIChjb2RlIDwgMHgxMGZmZmYpIHtcbiAgICAgICAgICAgIGNoYXJzW2ldID0gU3RyaW5nLmZyb21Db2RlUG9pbnQoY29kZSArIDEpO1xuICAgICAgICAgICAgcmV0dXJuIGNoYXJzLnNsaWNlKDAsIGkgKyAxKS5qb2luKFwiXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgJHt2YWx1ZX1cXHUwMDAwYDtcbn1cbmZ1bmN0aW9uIHByZWZpeFJhbmdlKHByZWZpeCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXJ0OiBwcmVmaXgsXG4gICAgICAgIGVuZDogbmV4dExleGljb2dyYXBoaWNTdHJpbmcocHJlZml4KSxcbiAgICB9O1xufVxuZXhwb3J0IGNsYXNzIEZhYnJpY0NsaWVudFN0YXRlbWVudCBleHRlbmRzIFN0YXRlbWVudCB7XG4gICAgY29uc3RydWN0b3IoYWRhcHRlciwgb3ZlcnJpZGVzKSB7XG4gICAgICAgIHN1cGVyKGFkYXB0ZXIsIG92ZXJyaWRlcyk7XG4gICAgfVxuICAgIHNxdWFzaChjdHgpIHtcbiAgICAgICAgY29uc3Qgc3F1YXNoZWQgPSBzdXBlci5zcXVhc2goY3R4KTtcbiAgICAgICAgaWYgKCFzcXVhc2hlZClcbiAgICAgICAgICAgIHJldHVybiBzcXVhc2hlZDtcbiAgICAgICAgY29uc3QgeyBtZXRob2QsIHBhcmFtcywgYXJncyB9ID0gc3F1YXNoZWQ7XG4gICAgICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBsaW1pdCB9ID0gcGFyYW1zO1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0U6XG4gICAgICAgICAgICAgICAgYXJncy5wdXNoKGRpcmVjdGlvbiwgbGltaXQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWTpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkxJU1RfQlk6XG4gICAgICAgICAgICAgICAgYXJncy5wdXNoKGRpcmVjdGlvbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFByZXBhcmVkU3RhdGVtZW50S2V5cy5QQUdFX0JZOlxuICAgICAgICAgICAgICAgIGFyZ3MucHVzaChkaXJlY3Rpb24sIGxpbWl0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgVW5zdXBwb3J0ZWQgbWV0aG9kICR7bWV0aG9kfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzcXVhc2hlZDtcbiAgICB9XG4gICAgYXN5bmMgZXhlY3V0ZVByZXBhcmVkKC4uLmFyZ3opIHtcbiAgICAgICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwodGhpcy5mcm9tU2VsZWN0b3IsIHRoaXMuYWRhcHRlci5hbGlhcyk7XG4gICAgICAgIGNvbnN0IHsgbWV0aG9kLCBhcmdzIH0gPSB0aGlzLnByZXBhcmVkO1xuICAgICAgICByZXR1cm4gcmVwby5zdGF0ZW1lbnQobWV0aG9kLCAuLi5hcmdzLCAuLi5hcmd6KTtcbiAgICB9XG4gICAgYXN5bmMgcHJlcGFyZShjdHgpIHtcbiAgICAgICAgY3R4ID1cbiAgICAgICAgICAgIGN0eCB8fFxuICAgICAgICAgICAgICAgIChhd2FpdCB0aGlzLmFkYXB0ZXIuY29udGV4dChQZXJzaXN0ZW5jZUtleXMuUVVFUlksIHRoaXMub3ZlcnJpZGVzIHx8IHt9LCB0aGlzLmZyb21TZWxlY3RvcikpO1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm8gY29udGV4dCBhdmFpbGFibGUgZm9yIHN0YXRlbWVudFwiKTtcbiAgICAgICAgaWYgKHRoaXMuaXNTaW1wbGVRdWVyeSgpICYmIGN0eC5nZXQoXCJmb3JjZVByZXBhcmVTaW1wbGVRdWVyaWVzXCIpKSB7XG4gICAgICAgICAgICBjb25zdCBzcXVhc2hlZCA9IHRoaXMuc3F1YXNoKGN0eCk7XG4gICAgICAgICAgICBpZiAoc3F1YXNoZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmVkID0gc3F1YXNoZWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYXJncyA9IFtdO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICAgICAgY29uc3QgcHJlcGFyZWQgPSB7XG4gICAgICAgICAgICBjbGFzczogdGhpcy5mcm9tU2VsZWN0b3IsXG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtZXRob2QgPSBbUXVlcnlDbGF1c2UuRklORF9CWV07XG4gICAgICAgIGlmICh0aGlzLndoZXJlQ29uZGl0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnByZXBhcmVDb25kaXRpb24odGhpcy53aGVyZUNvbmRpdGlvbiwgY3R4KTtcbiAgICAgICAgICAgIG1ldGhvZC5wdXNoKHBhcnNlZC5tZXRob2QpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZC5hcmdzICYmIHBhcnNlZC5hcmdzLmxlbmd0aClcbiAgICAgICAgICAgICAgICBhcmdzLnB1c2goLi4ucGFyc2VkLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdFNlbGVjdG9yKVxuICAgICAgICAgICAgbWV0aG9kLnB1c2goUXVlcnlDbGF1c2UuU0VMRUNULCB0aGlzLnNlbGVjdFNlbGVjdG9yLmpvaW4oYCAke1F1ZXJ5Q2xhdXNlLkFORC50b0xvd2VyQ2FzZSgpfSBgKSk7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyQnlTZWxlY3RvcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0aG9kLnB1c2goUXVlcnlDbGF1c2UuT1JERVJfQlksIHRoaXMub3JkZXJCeVNlbGVjdG9yc1swXVswXSk7XG4gICAgICAgICAgICBhcmdzLnB1c2godGhpcy5vcmRlckJ5U2VsZWN0b3JzWzBdWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBwcmVwYXJlZC5tZXRob2QgPSB0b0NhbWVsQ2FzZShtZXRob2Quam9pbihcIiBcIikpO1xuICAgICAgICBwcmVwYXJlZC5wYXJhbXMgPSBwYXJhbXM7XG4gICAgICAgIHRoaXMucHJlcGFyZWQgPSBwcmVwYXJlZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBQcm9jZXNzZXMgYSByZWNvcmQgZnJvbSBDb3VjaERCL0ZhYnJpY1xuICAgICAqIEBzdW1tYXJ5IEV4dHJhY3RzIHRoZSBJRCBmcm9tIGEgQ291Y2hEQiBkb2N1bWVudCBhbmQgcmV2ZXJ0cyBpdCB0byBhIG1vZGVsIGluc3RhbmNlXG4gICAgICovXG4gICAgcHJvY2Vzc1JlY29yZChyZWNvcmQsIGN0eCkge1xuICAgICAgICBjb25zdCBwa0F0dHIgPSBNb2RlbC5wayh0aGlzLmZyb21TZWxlY3Rvcik7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBNZXRhZGF0YS5nZXQodGhpcy5mcm9tU2VsZWN0b3IsIE1ldGFkYXRhLmtleShEQktleXMuSUQsIHBrQXR0cikpPy50eXBlO1xuICAgICAgICBpZiAocmVjb3JkW0NvdWNoREJLZXlzLklEXSkge1xuICAgICAgICAgICAgY29uc3QgWywgLi4ua2V5QXJnc10gPSByZWNvcmRbQ291Y2hEQktleXMuSURdLnNwbGl0KENvdWNoREJLZXlzLlNFUEFSQVRPUik7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGtleUFyZ3Muam9pbihcIl9cIik7XG4gICAgICAgICAgICByZWNvcmRbcGtBdHRyXSA9IFNlcXVlbmNlLnBhcnNlVmFsdWUodHlwZSwgaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdXBlci5wcm9jZXNzUmVjb3JkKHJlY29yZCwgY3R4KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IE1hbmdvIHF1ZXJ5XG4gICAgICogQHN1bW1hcnkgU2VuZHMgYSByYXcgTWFuZ28gcXVlcnkgdG8gRmFicmljIGFuZCBwcm9jZXNzZXMgdGhlIHJlc3VsdHNcbiAgICAgKi9cbiAgICBhc3luYyByYXcocmF3SW5wdXQsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmF3KTtcbiAgICAgICAgY29uc3QgYWdncmVnYXRvciA9IHJhd0lucHV0Py5hZ2dyZWdhdGVJbmZvO1xuICAgICAgICBpZiAocmF3SW5wdXQ/LmFnZ3JlZ2F0ZSAmJiBhZ2dyZWdhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRlQWdncmVnYXRlKGFnZ3JlZ2F0b3IsIGN0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuYWRhcHRlci5yYXcocmF3SW5wdXQsIHRydWUsIHRoaXMuZnJvbVNlbGVjdG9yLCBjdHgpO1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0U2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZCA9IHJlc3VsdHMubWFwKChyKSA9PiB0aGlzLnByb2Nlc3NSZWNvcmQociwgY3R4KSk7XG4gICAgICAgICAgICBpZiAoIWN0eC5nZXRPclVuZGVmaW5lZChcImFmdGVyUXVlcnlIYW5kbGVyc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXBwbHlBZnRlckhhbmRsZXJzVG9SZXN1bHQocHJvY2Vzc2VkLCBjdHgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyBhIENvdWNoREIgTWFuZ28gcXVlcnkgZnJvbSB0aGUgc3RhdGVtZW50XG4gICAgICogQHN1bW1hcnkgQ29udmVydHMgdGhlIHN0YXRlbWVudCdzIGNvbmRpdGlvbnMsIHNlbGVjdG9ycywgYW5kIG9wdGlvbnMgaW50byBhIENvdWNoREIgTWFuZ28gcXVlcnlcbiAgICAgKi9cbiAgICBidWlsZCgpIHtcbiAgICAgICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuYnVpbGQpO1xuICAgICAgICBjb25zdCBhZ2dyZWdhdGVRdWVyeSA9IHRoaXMuYnVpbGRBZ2dyZWdhdGVRdWVyeSgpO1xuICAgICAgICBpZiAoYWdncmVnYXRlUXVlcnkpXG4gICAgICAgICAgICByZXR1cm4gYWdncmVnYXRlUXVlcnk7XG4gICAgICAgIGNvbnN0IHNlbGVjdG9ycyA9IHt9O1xuICAgICAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID0ge307XG4gICAgICAgIHNlbGVjdG9yc1tDb3VjaERCS2V5cy5UQUJMRV0gPSBNb2RlbC50YWJsZU5hbWUodGhpcy5mcm9tU2VsZWN0b3IpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHsgc2VsZWN0b3I6IHNlbGVjdG9ycyB9O1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RTZWxlY3RvcilcbiAgICAgICAgICAgIHF1ZXJ5LmZpZWxkcyA9IHRoaXMuc2VsZWN0U2VsZWN0b3I7XG4gICAgICAgIGlmICh0aGlzLndoZXJlQ29uZGl0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb24gPSB0aGlzLnBhcnNlQ29uZGl0aW9uKENvbmRpdGlvbi5hbmQodGhpcy53aGVyZUNvbmRpdGlvbiwgQ29uZGl0aW9uLmF0dHJpYnV0ZShDb3VjaERCS2V5cy5UQUJMRSkuZXEocXVlcnkuc2VsZWN0b3JbQ291Y2hEQktleXMuVEFCTEVdKSkpLnNlbGVjdG9yO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0b3JLZXlzID0gT2JqZWN0LmtleXMoY29uZGl0aW9uKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RvcktleXMubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhDb3VjaERCR3JvdXBPcGVyYXRvcikuaW5kZXhPZihzZWxlY3RvcktleXNbMF0pICE9PSAtMSlcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yS2V5c1swXSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIENvdWNoREJHcm91cE9wZXJhdG9yLkFORDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbltDb3VjaERCR3JvdXBPcGVyYXRvci5BTkRdID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZGl0aW9uW0NvdWNoREJHcm91cE9wZXJhdG9yLkFORF0pLnJlZHVjZSgoYWNjdW0sIHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoICE9PSAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVG9vIG1hbnkga2V5cyBpbiBxdWVyeSBzZWxlY3Rvci4gc2hvdWxkIGJlIG9uZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleXNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrID09PSBDb3VjaERCR3JvdXBPcGVyYXRvci5BTkQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2N1bS5wdXNoKC4uLnZhbFtrXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY3VtLnB1c2godmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeS5zZWxlY3RvciA9IGNvbmRpdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIENvdWNoREJHcm91cE9wZXJhdG9yLk9SOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICBzW0NvdWNoREJHcm91cE9wZXJhdG9yLkFORF0gPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLk9iamVjdC5lbnRyaWVzKHF1ZXJ5LnNlbGVjdG9yKS5tYXAoKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yID0gcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIHNob3VsZCBiZSBpbXBvc3NpYmxlXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbmRpdGlvbikuZm9yRWFjaCgoW2tleSwgdmFsXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocXVlcnkuc2VsZWN0b3Jba2V5XSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZy53YXJuKGBBICR7a2V5fSBxdWVyeSBwYXJhbSBpcyBhYm91dCB0byBiZSBvdmVycmlkZGVuOiAke3F1ZXJ5LnNlbGVjdG9yW2tleV19IGJ5ICR7dmFsfWApO1xuICAgICAgICAgICAgICAgICAgICBxdWVyeS5zZWxlY3RvcltrZXldID0gdmFsO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9yZGVyQnlTZWxlY3RvcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcXVlcnkuc29ydCA9IHF1ZXJ5LnNvcnQgfHwgW107XG4gICAgICAgICAgICBxdWVyeS5zZWxlY3RvciA9IHF1ZXJ5LnNlbGVjdG9yIHx8IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBbc2VsZWN0b3JLZXksIGRpcmVjdGlvbl0gb2YgdGhpcy5vcmRlckJ5U2VsZWN0b3JzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0b3IgPSBzZWxlY3RvcktleTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWMgPSB7fTtcbiAgICAgICAgICAgICAgICByZWNbc2VsZWN0b3JdID0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgICAgIHF1ZXJ5LnNvcnQucHVzaChyZWMpO1xuICAgICAgICAgICAgICAgIGlmICghcXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdKSB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yW3NlbGVjdG9yXSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBxdWVyeS5zZWxlY3RvcltzZWxlY3Rvcl1bQ291Y2hEQk9wZXJhdG9yLkJJR0dFUl0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubGltaXRTZWxlY3Rvcikge1xuICAgICAgICAgICAgcXVlcnkubGltaXQgPSB0aGlzLmxpbWl0U2VsZWN0b3I7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsb2cud2FybihgTm8gbGltaXQgc2VsZWN0b3IgZGVmaW5lZC4gVXNpbmcgZGVmYXVsdCBjb3VjaGRiIGxpbWl0IG9mICR7Q291Y2hEQlF1ZXJ5TGltaXR9YCk7XG4gICAgICAgICAgICBxdWVyeS5saW1pdCA9IENvdWNoREJRdWVyeUxpbWl0O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9mZnNldFNlbGVjdG9yKVxuICAgICAgICAgICAgcXVlcnkuc2tpcCA9IHRoaXMub2Zmc2V0U2VsZWN0b3I7XG4gICAgICAgIHJldHVybiBxdWVyeTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhIGNvbmRpdGlvbiBpbnRvIGEgQ291Y2hEQiBNYW5nbyBxdWVyeSBzZWxlY3RvclxuICAgICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgQ29uZGl0aW9uIG9iamVjdCBpbnRvIGEgQ291Y2hEQiBNYW5nbyBxdWVyeSBzZWxlY3RvciBzdHJ1Y3R1cmVcbiAgICAgKi9cbiAgICBwYXJzZUNvbmRpdGlvbihjb25kaXRpb24pIHtcbiAgICAgICAgZnVuY3Rpb24gbWVyZ2Uob3AsIG9iajEsIG9iajIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHsgc2VsZWN0b3I6IHt9IH07XG4gICAgICAgICAgICByZXN1bHQuc2VsZWN0b3Jbb3BdID0gW29iajEsIG9iajJdO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGF0dHIxLCBvcGVyYXRvciwgY29tcGFyaXNvbiB9ID0gY29uZGl0aW9uO1xuICAgICAgICBpZiAob3BlcmF0b3IgPT09IE9wZXJhdG9yLlNUQVJUU19XSVRIKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGF0dHIxICE9PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFwiU1RBUlRTX1dJVEggcmVxdWlyZXMgYW4gYXR0cmlidXRlIG5hbWVcIik7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBhcmlzb24gIT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJTVEFSVFNfV0lUSCByZXF1aXJlcyBhIHN0cmluZyBjb21wYXJpc29uXCIpO1xuICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBwcmVmaXhSYW5nZShjb21wYXJpc29uKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdG9yID0ge307XG4gICAgICAgICAgICBzZWxlY3RvclthdHRyMV0gPSB7fTtcbiAgICAgICAgICAgIHNlbGVjdG9yW2F0dHIxXVtDb3VjaERCT3BlcmF0b3IuQklHR0VSX0VRXSA9IHJhbmdlLnN0YXJ0O1xuICAgICAgICAgICAgc2VsZWN0b3JbYXR0cjFdW0NvdWNoREJPcGVyYXRvci5TTUFMTEVSXSA9IHJhbmdlLmVuZDtcbiAgICAgICAgICAgIHJldHVybiB7IHNlbGVjdG9yIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5FTkRTX1dJVEgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYXR0cjEgIT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJFTkRTX1dJVEggcmVxdWlyZXMgYW4gYXR0cmlidXRlIG5hbWVcIik7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBhcmlzb24gIT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJFTkRTX1dJVEggcmVxdWlyZXMgYSBzdHJpbmcgY29tcGFyaXNvblwiKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdG9yID0ge307XG4gICAgICAgICAgICBzZWxlY3RvclthdHRyMV0gPSB7XG4gICAgICAgICAgICAgICAgW0NvdWNoREJPcGVyYXRvci5SRUdFWFBdOiBgJHtlc2NhcGVSZWdFeHAoY29tcGFyaXNvbil9JGAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHsgc2VsZWN0b3IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BlcmF0b3IgPT09IE9wZXJhdG9yLkJFVFdFRU4pIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHIgPSBhdHRyMTtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjb21wYXJpc29uKSB8fCBjb21wYXJpc29uLmxlbmd0aCAhPT0gMilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcIkJFVFdFRU4gb3BlcmF0b3IgcmVxdWlyZXMgW21pbiwgbWF4XSBjb21wYXJpc29uXCIpO1xuICAgICAgICAgICAgY29uc3QgW21pbiwgbWF4XSA9IGNvbXBhcmlzb247XG4gICAgICAgICAgICBjb25zdCBvcEJldHdlZW4gPSB7fTtcbiAgICAgICAgICAgIG9wQmV0d2VlblthdHRyXSA9IHt9O1xuICAgICAgICAgICAgb3BCZXR3ZWVuW2F0dHJdW3RyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5CSUdHRVJfRVEpXSA9IG1pbjtcbiAgICAgICAgICAgIG9wQmV0d2VlblthdHRyXVt0cmFuc2xhdGVPcGVyYXRvcnMoT3BlcmF0b3IuU01BTExFUl9FUSldID0gbWF4O1xuICAgICAgICAgICAgcmV0dXJuIHsgc2VsZWN0b3I6IG9wQmV0d2VlbiB9O1xuICAgICAgICB9XG4gICAgICAgIGxldCBvcCA9IHt9O1xuICAgICAgICBpZiAoW0dyb3VwT3BlcmF0b3IuQU5ELCBHcm91cE9wZXJhdG9yLk9SLCBPcGVyYXRvci5OT1RdLmluZGV4T2Yob3BlcmF0b3IpID09PSAtMSkge1xuICAgICAgICAgICAgb3BbYXR0cjFdID0ge307XG4gICAgICAgICAgICBvcFthdHRyMV1bdHJhbnNsYXRlT3BlcmF0b3JzKG9wZXJhdG9yKV0gPVxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb247XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAob3BlcmF0b3IgPT09IE9wZXJhdG9yLk5PVCkge1xuICAgICAgICAgICAgb3AgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxKS5zZWxlY3RvcjtcbiAgICAgICAgICAgIG9wW3RyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5OT1QpXSA9IHt9O1xuICAgICAgICAgICAgb3BbdHJhbnNsYXRlT3BlcmF0b3JzKE9wZXJhdG9yLk5PVCldW2F0dHIxLmF0dHIxXSA9IGNvbXBhcmlzb247XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvcDEgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxKS5zZWxlY3RvcjtcbiAgICAgICAgICAgIGNvbnN0IG9wMiA9IHRoaXMucGFyc2VDb25kaXRpb24oY29tcGFyaXNvbikuc2VsZWN0b3I7XG4gICAgICAgICAgICBvcCA9IG1lcmdlKHRyYW5zbGF0ZU9wZXJhdG9ycyhvcGVyYXRvciksIG9wMSwgb3AyKS5zZWxlY3RvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzZWxlY3Rvcjogb3AgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyBhbiBhZ2dyZWdhdGUgcXVlcnkgaWYgYWdncmVnYXRpb24gaXMgcmVxdWVzdGVkXG4gICAgICogQHN1bW1hcnkgQ2hlY2tzIGZvciBhZ2dyZWdhdGUgb3BlcmF0aW9ucyBhbmQgcmV0dXJucyBhIHNwZWNpYWwgTWFuZ29RdWVyeSBmb3IgdGhlbVxuICAgICAqL1xuICAgIGJ1aWxkQWdncmVnYXRlUXVlcnkoKSB7XG4gICAgICAgIGlmICghdGhpcy5mcm9tU2VsZWN0b3IpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5hdmdTZWxlY3Rvcikge1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlID0gU3RyaW5nKHRoaXMuYXZnU2VsZWN0b3IpO1xuICAgICAgICAgICAgY29uc3Qgc3VtSW5mbyA9IHRoaXMuY3JlYXRlQWdncmVnYXRlRGVzY3JpcHRvcihcInN1bVwiLCBhdHRyaWJ1dGUpO1xuICAgICAgICAgICAgY29uc3QgY291bnRJbmZvID0gdGhpcy5jcmVhdGVBZ2dyZWdhdGVEZXNjcmlwdG9yKFwiY291bnRcIiwgYXR0cmlidXRlKTtcbiAgICAgICAgICAgIGlmICghc3VtSW5mbyB8fCAhY291bnRJbmZvKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKGBBdmcgb3BlcmF0aW9uIHJlcXVpcmVzIHN1bSBhbmQgY291bnQgdmlld3MgZm9yIGF0dHJpYnV0ZSAke2F0dHJpYnV0ZX1gKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUFnZ3JlZ2F0ZVF1ZXJ5KHtcbiAgICAgICAgICAgICAgICBraW5kOiBcImF2Z1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICBzdW1EZXNjcmlwdG9yOiBzdW1JbmZvLmRlc2NyaXB0b3IsXG4gICAgICAgICAgICAgICAgY291bnREZXNjcmlwdG9yOiBjb3VudEluZm8uZGVzY3JpcHRvcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb3VudERpc3RpbmN0U2VsZWN0b3IgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuY291bnREaXN0aW5jdFNlbGVjdG9yID09IG51bGxcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogU3RyaW5nKHRoaXMuY291bnREaXN0aW5jdFNlbGVjdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmNyZWF0ZUFnZ3JlZ2F0ZURlc2NyaXB0b3IoXCJkaXN0aW5jdFwiLCBhdHRyaWJ1dGUpO1xuICAgICAgICAgICAgaWYgKGluZm8pIHtcbiAgICAgICAgICAgICAgICBpbmZvLmNvdW50RGlzdGluY3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUFnZ3JlZ2F0ZVF1ZXJ5KGluZm8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFnZ3JlZ2F0b3JVc2VkID0gdHlwZW9mIHRoaXMuY291bnRTZWxlY3RvciAhPT0gXCJ1bmRlZmluZWRcIiB8fFxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuY291bnREaXN0aW5jdFNlbGVjdG9yICE9PSBcInVuZGVmaW5lZFwiIHx8XG4gICAgICAgICAgICAhIXRoaXMubWluU2VsZWN0b3IgfHxcbiAgICAgICAgICAgICEhdGhpcy5tYXhTZWxlY3RvciB8fFxuICAgICAgICAgICAgISF0aGlzLnN1bVNlbGVjdG9yIHx8XG4gICAgICAgICAgICAhIXRoaXMuZGlzdGluY3RTZWxlY3RvcjtcbiAgICAgICAgY29uc3QgYWdncmVnYXRvckNoZWNrcyA9IFtcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBcImNvdW50XCIsXG4gICAgICAgICAgICAgICAgKHRoaXMuY291bnRTZWxlY3RvciA/PyB1bmRlZmluZWQpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtcIm1heFwiLCB0aGlzLm1heFNlbGVjdG9yXSxcbiAgICAgICAgICAgIFtcIm1pblwiLCB0aGlzLm1pblNlbGVjdG9yXSxcbiAgICAgICAgICAgIFtcInN1bVwiLCB0aGlzLnN1bVNlbGVjdG9yXSxcbiAgICAgICAgICAgIFtcImRpc3RpbmN0XCIsIHRoaXMuZGlzdGluY3RTZWxlY3Rvcl0sXG4gICAgICAgIF07XG4gICAgICAgIGZvciAoY29uc3QgW2tpbmQsIHNlbGVjdG9yXSBvZiBhZ2dyZWdhdG9yQ2hlY2tzKSB7XG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSBzZWxlY3RvciA/IFN0cmluZyhzZWxlY3RvcikgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5jcmVhdGVBZ2dyZWdhdGVEZXNjcmlwdG9yKGtpbmQsIGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICBpZiAoaW5mbylcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVBZ2dyZWdhdGVRdWVyeShpbmZvKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWdncmVnYXRvclVzZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKGBObyBDb3VjaERCIHZpZXcgbWV0YWRhdGEgZm91bmQgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKHRoaXMuZnJvbVNlbGVjdG9yKX0gYWdncmVnYXRvcmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuIGFnZ3JlZ2F0ZSBkZXNjcmlwdG9yIGZvciBhIHZpZXctYmFzZWQgYWdncmVnYXRpb25cbiAgICAgKi9cbiAgICBjcmVhdGVBZ2dyZWdhdGVEZXNjcmlwdG9yKGtpbmQsIGF0dHJpYnV0ZSkge1xuICAgICAgICBpZiAoIXRoaXMuZnJvbVNlbGVjdG9yKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgbWV0YXMgPSBmaW5kVmlld01ldGFkYXRhKHRoaXMuZnJvbVNlbGVjdG9yLCBraW5kLCBhdHRyaWJ1dGUpO1xuICAgICAgICBpZiAoIW1ldGFzLmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG1ldGEgPSBtZXRhc1swXTtcbiAgICAgICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKHRoaXMuZnJvbVNlbGVjdG9yKTtcbiAgICAgICAgY29uc3Qgdmlld05hbWUgPSBnZW5lcmF0ZVZpZXdOYW1lKHRhYmxlTmFtZSwgbWV0YS5hdHRyaWJ1dGUsIGtpbmQsIG1ldGEpO1xuICAgICAgICBjb25zdCBkZG9jID0gbWV0YS5kZG9jIHx8IGdlbmVyYXRlRGVzaWduRG9jTmFtZSh0YWJsZU5hbWUsIHZpZXdOYW1lKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIHJlZHVjZTogbWV0YS5yZWR1Y2UgIT09IHVuZGVmaW5lZCA/IHRydWUgOiAhbWV0YS5yZXR1cm5Eb2NzLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoa2luZCA9PT0gXCJkaXN0aW5jdFwiIHx8IGtpbmQgPT09IFwiZ3JvdXBCeVwiKVxuICAgICAgICAgICAgb3B0aW9ucy5ncm91cCA9IHRydWU7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbWV0YSxcbiAgICAgICAgICAgIGRlc2NyaXB0b3I6IHtcbiAgICAgICAgICAgICAgICBkZG9jLFxuICAgICAgICAgICAgICAgIHZpZXc6IHZpZXdOYW1lLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyB0aGUgc3BlY2lhbCBhZ2dyZWdhdGUgTWFuZ29RdWVyeSBtYXJrZXJcbiAgICAgKi9cbiAgICBjcmVhdGVBZ2dyZWdhdGVRdWVyeShpbmZvKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZWxlY3Rvcjoge30sXG4gICAgICAgICAgICBhZ2dyZWdhdGU6IHRydWUsXG4gICAgICAgICAgICBhZ2dyZWdhdGVJbmZvOiBpbmZvLFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgYWRhcHRlciBjYXN0IHRvIEZhYnJpY0NsaWVudEFkYXB0ZXIgZm9yIHZpZXcgYWNjZXNzXG4gICAgICovXG4gICAgZ2V0RmFicmljQWRhcHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlcjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGFuIGFnZ3JlZ2F0ZSBxdWVyeSB2aWEgYWRhcHRlcidzIHZpZXcgbWV0aG9kXG4gICAgICovXG4gICAgYXN5bmMgZXhlY3V0ZUFnZ3JlZ2F0ZShpbmZvLCBjdHgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmlld0FnZ3JlZ2F0ZShpbmZvKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlQXZlcmFnZShpbmZvLCBjdHgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZhYnJpY0FkYXB0ZXIgPSB0aGlzLmdldEZhYnJpY0FkYXB0ZXIoKTtcbiAgICAgICAgY29uc3Qgdmlld0luZm8gPSBpbmZvO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZhYnJpY0FkYXB0ZXIudmlldyh2aWV3SW5mby5kZXNjcmlwdG9yLmRkb2MsIHZpZXdJbmZvLmRlc2NyaXB0b3Iudmlldywgdmlld0luZm8uZGVzY3JpcHRvci5vcHRpb25zLCBjdHgpO1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVmlld1Jlc3BvbnNlKGluZm8sIHJlc3BvbnNlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgYXZlcmFnZSBjYWxjdWxhdGlvbiBmcm9tIHN1bSBhbmQgY291bnQgdmlld3NcbiAgICAgKi9cbiAgICBhc3luYyBoYW5kbGVBdmVyYWdlKGluZm8sIGN0eCkge1xuICAgICAgICBpZiAoaW5mby5raW5kICE9PSBcImF2Z1wiKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXCJBdmVyYWdlIGRlc2NyaXB0b3IgaXMgbm90IHZhbGlkXCIpO1xuICAgICAgICBjb25zdCBmYWJyaWNBZGFwdGVyID0gdGhpcy5nZXRGYWJyaWNBZGFwdGVyKCk7XG4gICAgICAgIGNvbnN0IFtzdW1EZXNjLCBjb3VudERlc2NdID0gW2luZm8uc3VtRGVzY3JpcHRvciwgaW5mby5jb3VudERlc2NyaXB0b3JdO1xuICAgICAgICBjb25zdCBbc3VtUmVzcG9uc2UsIGNvdW50UmVzcG9uc2VdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgZmFicmljQWRhcHRlci52aWV3KHN1bURlc2MuZGRvYywgc3VtRGVzYy52aWV3LCBzdW1EZXNjLm9wdGlvbnMsIGN0eCksXG4gICAgICAgICAgICBmYWJyaWNBZGFwdGVyLnZpZXcoY291bnREZXNjLmRkb2MsIGNvdW50RGVzYy52aWV3LCBjb3VudERlc2Mub3B0aW9ucywgY3R4KSxcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnN0IHN1bSA9IHN1bVJlc3BvbnNlLnJvd3M/LlswXT8udmFsdWUgPz8gMDtcbiAgICAgICAgY29uc3QgY291bnQgPSBjb3VudFJlc3BvbnNlLnJvd3M/LlswXT8udmFsdWUgPz8gMDtcbiAgICAgICAgaWYgKCFjb3VudClcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICByZXR1cm4gKHN1bSAvIGNvdW50KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFByb2Nlc3NlcyB0aGUgdmlldyByZXNwb25zZSBiYXNlZCBvbiBhZ2dyZWdhdGUga2luZFxuICAgICAqL1xuICAgIHByb2Nlc3NWaWV3UmVzcG9uc2UoaW5mbywgcmVzcG9uc2UpIHtcbiAgICAgICAgaWYgKGluZm8ua2luZCA9PT0gXCJhdmdcIilcbiAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFwiQXZlcmFnZSByZXN1bHRzIHNob3VsZCBiZSBoYW5kbGVkIGJlZm9yZSBwcm9jZXNzaW5nIHJvd3NcIik7XG4gICAgICAgIGNvbnN0IHJvd3MgPSByZXNwb25zZS5yb3dzIHx8IFtdO1xuICAgICAgICBjb25zdCB2aWV3SW5mbyA9IGluZm87XG4gICAgICAgIGNvbnN0IG1ldGEgPSB2aWV3SW5mby5tZXRhO1xuICAgICAgICBpZiAodmlld0luZm8uY291bnREaXN0aW5jdCkge1xuICAgICAgICAgICAgcmV0dXJuIChyb3dzLmxlbmd0aCB8fCAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmlld0luZm8ua2luZCA9PT0gXCJkaXN0aW5jdFwiIHx8IHZpZXdJbmZvLmtpbmQgPT09IFwiZ3JvdXBCeVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93cy5tYXAoKHJvdykgPT4gcm93LmtleSA/PyByb3cudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRhLnJldHVybkRvY3MpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dzLm1hcCgocm93KSA9PiByb3cudmFsdWUgPz8gcm93LmRvYyA/PyByb3cpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcm93cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAodmlld0luZm8ua2luZCA9PT0gXCJjb3VudFwiID8gMCA6IG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAocm93c1swXS52YWx1ZSA/PyByb3dzWzBdLmtleSA/PyBudWxsKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgaW5mbyBpcyBhIHZpZXctYmFzZWQgYWdncmVnYXRlXG4gICAgICovXG4gICAgaXNWaWV3QWdncmVnYXRlKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGluZm8ua2luZCAhPT0gXCJhdmdcIjtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSbUZpY21salEyeHBaVzUwVTNSaGRHVnRaVzUwTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZjM0pqTDJOc2FXVnVkQzlHWVdKeWFXTkRiR2xsYm5SVGRHRjBaVzFsYm5RdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVVZNTEZOQlFWTXNSVUZEVkN4aFFVRmhMRVZCUldJc1VVRkJVU3hGUVVWU0xHVkJRV1VzUlVGRlppeHhRa0ZCY1VJc1JVRkRja0lzVjBGQlZ5eEZRVU5ZTEZWQlFWVXNSVUZEVml4VlFVRlZMRVZCUlZZc1VVRkJVU3hGUVVOU0xGTkJRVk1zUjBGSFZpeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRM2hDTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVZDJSQ3hQUVVGUExFVkJRMHdzVjBGQlZ5eEZRVU5ZTEdWQlFXVXNSVUZEWml4dlFrRkJiMElzUlVGRGNFSXNhVUpCUVdsQ0xFVkJTV3BDTEd0Q1FVRnJRaXhGUVVOc1FpeHhRa0ZCY1VJc1JVRkRja0lzWjBKQlFXZENMRVZCUTJoQ0xHZENRVUZuUWl4SFFVZHFRaXhOUVVGTkxIVkNRVUYxUWl4RFFVRkRPMEZCUXk5Q0xFOUJRVThzUlVGQlJTeFhRVUZYTEVWQlFVVXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU5vUkN4UFFVRlBMRVZCUVVVc1RVRkJUU3hGUVVGRkxHRkJRV0VzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRMmhGTEU5QlFVOHNSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3h6UWtGQmMwSXNRMEZCUXp0QlFYTkNhRVFzVFVGQlRTeFpRVUZaTEVkQlFVY3NRMEZCUXl4TFFVRmhMRVZCUVZVc1JVRkJSU3hEUVVNM1F5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUlM5RExGTkJRVk1zZFVKQlFYVkNMRU5CUVVNc1MwRkJZVHRKUVVNMVF5eEpRVUZKTEVOQlFVTXNTMEZCU3p0UlFVRkZMRTlCUVU4c1VVRkJVU3hEUVVGRE8wbEJRelZDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEYUVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVNNVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKRExFbEJRVWtzU1VGQlNTeExRVUZMTEZOQlFWTTdXVUZCUlN4VFFVRlRPMUZCUTJwRExFbEJRVWtzU1VGQlNTeEhRVUZITEZGQlFWRXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXhReXhQUVVGUExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRlRU1zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZEUkN4UFFVRlBMRWRCUVVjc1MwRkJTeXhSUVVGUkxFTkJRVU03UVVGRE1VSXNRMEZCUXp0QlFVVkVMRk5CUVZNc1YwRkJWeXhEUVVGRExFMUJRV003U1VGRGFrTXNUMEZCVHp0UlFVTk1MRXRCUVVzc1JVRkJSU3hOUVVGTk8xRkJRMklzUjBGQlJ5eEZRVUZGTEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF6dExRVU55UXl4RFFVRkRPMEZCUTBvc1EwRkJRenRCUVVWRUxFMUJRVTBzVDBGQlR5eHhRa0ZCTUVNc1UwRkJVU3hUUVVzNVJEdEpRVU5ETEZsQlFWa3NUMEZCTkVJc1JVRkJSU3hUUVVGcFF6dFJRVU42UlN4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETzBsQlF6VkNMRU5CUVVNN1NVRkZhMElzVFVGQlRTeERRVU4yUWl4SFFVRjNRanRSUVVWNFFpeE5RVUZOTEZGQlFWRXNSMEZCY1VNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGRE4wUXNSMEZCV1N4RFFVTmlMRU5CUVVNN1VVRkRSaXhKUVVGSkxFTkJRVU1zVVVGQlVUdFpRVUZGTEU5QlFVOHNVVUZCVVN4RFFVRkRPMUZCUlM5Q0xFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExGRkJRVkVzUTBGQlF6dFJRVU14UXl4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVTndReXhSUVVGUkxFMUJRVTBzUlVGQlJTeERRVUZETzFsQlEyWXNTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTzJkQ1FVTTNRaXhOUVVGTk8xbEJRMUlzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSk8yZENRVU0zUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0blFrRkROVUlzVFVGQlRUdFpRVU5TTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR6dG5Ra0ZEYUVNc1RVRkJUVHRaUVVOU0xFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1QwRkJUenRuUWtGRGFFTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dG5Ra0ZEY2tJc1RVRkJUVHRaUVVOU0xFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1QwRkJUenRuUWtGRGFFTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUXpWQ0xFMUJRVTA3V1VGRFVpeExRVUZMTEhGQ1FVRnhRaXhEUVVGRExGZEJRVmM3WjBKQlEzQkRMRTFCUVUwN1dVRkRVanRuUWtGRFJTeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMSE5DUVVGelFpeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUXpWRUxFTkJRVU03VVVGRlJDeFBRVUZQTEZGQlFWRXNRMEZCUXp0SlFVTnNRaXhEUVVGRE8wbEJSV3RDTEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUTNSRExFZEJRVWNzU1VGQk5rTTdVVUZGYUVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRlRVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQmEwTXNRMEZCUXp0UlFVTnFSU3hQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1NVRkJTU3hGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEYkVRc1EwRkJRenRKUVVWUkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlEzQkNMRWRCUVhsQ08xRkJSWHBDTEVkQlFVYzdXVUZEUkN4SFFVRkhPMmRDUVVOSUxFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkRla0lzWlVGQlpTeERRVUZETEV0QlFVc3NSVUZEY2tJc1NVRkJTU3hEUVVGRExGTkJRVk1zU1VGQlNTeEZRVUZGTEVWQlEzQkNMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRMnhDTEVOQlFVTXNRMEZCUXp0UlFVVk1MRWxCUVVrc1EwRkJReXhIUVVGSE8xbEJRVVVzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl4dlEwRkJiME1zUTBGQlF5eERRVUZETzFGQlJYaEZMRWxCUVVrc1NVRkJTU3hEUVVGRExHRkJRV0VzUlVGQlJTeEpRVUZKTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc01rSkJRVEpDTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTJwRkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGJFTXNTVUZCU1N4UlFVRlJMRVZCUVVVc1EwRkJRenRuUWtGRFlpeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRkZCUVZFc1EwRkJRenRuUWtGRGVrSXNUMEZCVHl4SlFVRkpMRU5CUVVNN1dVRkRaQ3hEUVVGRE8xRkJRMGdzUTBGQlF6dFJRVU5FTEUxQlFVMHNTVUZCU1N4SFFVRjNRaXhGUVVGRkxFTkJRVU03VVVGRGNrTXNUVUZCVFN4TlFVRk5MRWRCUVZFc1JVRkJVeXhEUVVGRE8xRkJSVGxDTEUxQlFVMHNVVUZCVVN4SFFVRXlRanRaUVVOMlF5eExRVUZMTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmxCUVZrN1dVRkRlRUlzU1VGQlNUdFpRVU5LTEUxQlFVMDdVMEZEUVN4RFFVRkRPMUZCUlZRc1RVRkJUU3hOUVVGTkxFZEJRV0VzUTBGQlF5eFhRVUZYTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkZMME1zU1VGQlNTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkRlRUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1IwRkJXU3hEUVVGRExFTkJRVU03V1VGRGVFVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZETTBJc1NVRkJTU3hOUVVGTkxFTkJRVU1zU1VGQlNTeEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUVHRuUWtGRGJrTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSkxFMUJRVTBzUTBGQlF5eEpRVUUwUWl4RFFVRkRMRU5CUVVNN1VVRkRka1FzUTBGQlF6dFJRVU5FTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNN1dVRkRja0lzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZEVkN4WFFVRlhMRU5CUVVNc1RVRkJUU3hGUVVOc1FpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVNdlJDeERRVUZETzFGQlEwb3NTVUZCU1N4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN1dVRkRiRU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFWY3NRMEZCUXl4RFFVRkRPMWxCUTNwRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hEUVVGRExFTkJRVU03VVVGRGFFUXNRMEZCUXp0UlFVTkVMRkZCUVZFc1EwRkJReXhOUVVGTkxFZEJRVWNzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5vUkN4UlFVRlJMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dFJRVU42UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hIUVVGSExGRkJRVkVzUTBGQlF6dFJRVU42UWl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOa0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRaMElzWVVGQllTeERRVU01UWl4TlFVRlhMRVZCUTFnc1IwRkJkMEk3VVVGRmVFSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1VVRkRNME1zVFVGQlRTeEpRVUZKTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkRka0lzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZEYWtJc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RlFVRkZMRTFCUVdkQ0xFTkJRVU1zUTBGRE1VTXNSVUZCUlN4SlFVRkpMRU5CUVVNN1VVRkZVaXhKUVVGSkxFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVNelFpeE5RVUZOTEVOQlFVTXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0WlFVTXpSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRemRDTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVsQlFWY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVONFJDeERRVUZETzFGQlJVUXNUMEZCVHl4TFFVRkxMRU5CUVVNc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTXhReXhEUVVGRE8wbEJSVVE3T3p0UFFVZEhPMGxCUTAwc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlNTeFJRVUZ2UWl4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVONFJDeE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRelZETEUxQlFVMHNWVUZCVlN4SFFVRkpMRkZCUVdkQ0xFVkJRVVVzWVVGQllTeERRVUZETzFGQlEzQkVMRWxCUVVzc1VVRkJaMElzUlVGQlJTeFRRVUZUTEVsQlFVa3NWVUZCVlN4RlFVRkZMRU5CUVVNN1dVRkRMME1zVDBGQlR5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVWtzVlVGQlZTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTI1RUxFTkJRVU03VVVGRFJDeE5RVUZOTEU5QlFVOHNSMEZCVlN4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVU16UXl4UlFVRlJMRVZCUTFJc1NVRkJTU3hGUVVOS0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlEycENMRWRCUVVjc1EwRkRTaXhEUVVGRE8xRkJSVVlzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRaUVVONlFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTJwRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVWQlFVVXNRMEZCUXp0blFrRkRPVU1zVDBGQlR5eFRRVUY1UWl4RFFVRkRPMWxCUTI1RExFTkJRVU03V1VGRFJDeFBRVUZQTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGTkxFTkJRVU03VVVGRGRFVXNRMEZCUXp0UlFVTkVMRTlCUVU4c1QwRkJXU3hEUVVGRE8wbEJRM1JDTEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFowSXNTMEZCU3p0UlFVTjBRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEY2tNc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU03VVVGRGJFUXNTVUZCU1N4alFVRmpPMWxCUVVVc1QwRkJUeXhqUVVGakxFTkJRVU03VVVGRE1VTXNUVUZCVFN4VFFVRlRMRWRCUVd0Q0xFVkJRVVVzUTBGQlF6dFJRVU53UXl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTnNReXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUTJ4RkxFMUJRVTBzUzBGQlN5eEhRVUZsTEVWQlFVVXNVVUZCVVN4RlFVRkZMRk5CUVZNc1JVRkJSU3hEUVVGRE8xRkJRMnhFTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNN1dVRkJSU3hMUVVGTExFTkJRVU1zVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRXdRaXhEUVVGRE8xRkJSWGhGTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xbEJRM2hDTEUxQlFVMHNVMEZCVXl4SFFVRnJRaXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVU5zUkN4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVOWUxFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlEyNUNMRk5CUVZNc1EwRkJReXhUUVVGVExFTkJRVWtzVjBGQlZ5eERRVUZETEV0QlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRM0pFTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVU5zUXl4RFFVTkdMRU5CUTBZc1EwRkJReXhSUVVGUkxFTkJRVU03V1VGRFdDeE5RVUZOTEZsQlFWa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQmIwSXNRMEZCUXp0WlFVTXZSQ3hKUVVORkxGbEJRVmtzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXp0blFrRkRla0lzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUlc1RkxGRkJRVkVzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNN2IwSkJRM2hDTEV0QlFVc3NiMEpCUVc5Q0xFTkJRVU1zUjBGQlJ6dDNRa0ZETTBJc1UwRkJVeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSE96UkNRVU53UXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRMlFzVTBGQlV5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFZEJRVWNzUTBGQmEwSXNRMEZEY2tRc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eExRVUZ6UWl4RlFVRkZMRWRCUVZFc1JVRkJSU3hGUVVGRk8yZERRVU0xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMmREUVVNNVFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJRenR2UTBGRGJrSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkRZaXhuUkVGQlowUXNRMEZEYWtRc1EwRkJRenRuUTBGRFNpeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBOQlEyeENMRWxCUVVrc1EwRkJReXhMUVVGTExHOUNRVUZ2UWl4RFFVRkRMRWRCUVVjN2IwTkJRMmhETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZYTEVOQlFVTXNRMEZCUXpzN2IwTkJRemxDTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03WjBOQlEzSkNMRTlCUVU4c1MwRkJTeXhEUVVGRE96UkNRVU5tTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNN2VVSkJRMUFzUTBGQlF6dDNRa0ZEUml4TFFVRkxMRU5CUVVNc1VVRkJVU3hIUVVGSExGTkJRVk1zUTBGQlF6dDNRa0ZETTBJc1RVRkJUVHR2UWtGRFVpeExRVUZMTEc5Q1FVRnZRaXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUXpkQ0xFMUJRVTBzUTBGQlF5eEhRVUZ4UWl4RlFVRkZMRU5CUVVNN2QwSkJReTlDTEVOQlFVTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnpzMFFrRkROVUlzVTBGQlV6czBRa0ZEVkN4SFFVRkhMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVVN1owTkJRMjVFTEUxQlFVMHNUVUZCVFN4SFFVRnhRaXhGUVVGRkxFTkJRVU03WjBOQlEzQkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTTdaME5CUTJ4Q0xFOUJRVThzVFVGQlRTeERRVUZET3pSQ1FVTm9RaXhEUVVGRExFTkJRVU03ZVVKQlEwZ3NRMEZCUXp0M1FrRkRSaXhMUVVGTExFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXp0M1FrRkRia0lzVFVGQlRUdHZRa0ZEVWl4RFFVRkRPMjlDUVVORU8zZENRVU5GTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc01rSkJRVEpDTEVOQlFVTXNRMEZCUXp0blFrRkRha1FzUTBGQlF6dHBRa0ZEUlN4RFFVRkRPMmRDUVVOS0xFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGREwwTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF6dDNRa0ZEY2tJc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpeExRVUZMTEVkQlFVY3NNa05CUVRKRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1IwRkJSeXhGUVVGRkxFTkJRMjVHTEVOQlFVTTdiMEpCUTBvc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1owSkJRelZDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTB3c1EwRkJRenRSUVVOSUxFTkJRVU03VVVGRlJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXp0WlFVTnNReXhMUVVGTExFTkJRVU1zU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRemxDTEV0QlFVc3NRMEZCUXl4UlFVRlJMRWRCUVVjc1MwRkJTeXhEUVVGRExGRkJRVkVzU1VGQlN5eEZRVUZ2UWl4RFFVRkRPMWxCUTNwRUxFdEJRVXNzVFVGQlRTeERRVUZETEZkQlFWY3NSVUZCUlN4VFFVRlRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJRenRuUWtGRE4wUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1YwRkJjVUlzUTBGQlF6dG5Ra0ZEZGtNc1RVRkJUU3hIUVVGSExFZEJRVzFETEVWQlFVVXNRMEZCUXp0blFrRkRMME1zUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRk5CUVRKQ0xFTkJRVU03WjBKQlF6TkRMRXRCUVVzc1EwRkJReXhKUVVGNVF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRE0wUXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNRMEZCUXp0dlFrRkRPVUlzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhGUVVGdFFpeERRVUZETzI5Q1FVTTVReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCYlVJc1EwRkJReXhsUVVGbExFTkJRVU1zVFVGQlRTeERRVUZETzNkQ1FVTnFSU3hKUVVGSkxFTkJRVU03WjBKQlExUXNRMEZCUXp0WlFVTklMRU5CUVVNN1VVRkRTQ3hEUVVGRE8xRkJSVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZMRU5CUVVNN1dVRkRka0lzUzBGQlN5eERRVUZETEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRE8xRkJRMjVETEVOQlFVTTdZVUZCVFN4RFFVRkRPMWxCUTA0c1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpdzJSRUZCTmtRc2FVSkJRV2xDTEVWQlFVVXNRMEZEYWtZc1EwRkJRenRaUVVOR0xFdEJRVXNzUTBGQlF5eExRVUZMTEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU03VVVGRGJFTXNRMEZCUXp0UlFVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV003V1VGQlJTeExRVUZMTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU03VVVGRk1VUXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaaXhEUVVGRE8wbEJSVVE3T3p0UFFVZEhPMGxCUTJkQ0xHTkJRV01zUTBGQlF5eFRRVUYxUWp0UlFVTjJSQ3hUUVVGVExFdEJRVXNzUTBGRFdpeEZRVUZwUWl4RlFVTnFRaXhKUVVGdFFpeEZRVU51UWl4SlFVRnRRanRaUVVWdVFpeE5RVUZOTEUxQlFVMHNSMEZCWlN4RlFVRkZMRkZCUVZFc1JVRkJSU3hGUVVGdFFpeEZRVUZGTEVOQlFVTTdXVUZETjBRc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU51UXl4UFFVRlBMRTFCUVUwc1EwRkJRenRSUVVOb1FpeERRVUZETzFGQlJVUXNUVUZCVFN4RlFVRkZMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVkQlFVY3NVMEZKZGtNc1EwRkJRenRSUVVWR0xFbEJRVWtzVVVGQlVTeExRVUZMTEZGQlFWRXNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRaUVVOMFF5eEpRVUZKTEU5QlFVOHNTMEZCU3l4TFFVRkxMRkZCUVZFN1owSkJRek5DTEUxQlFVMHNTVUZCU1N4VlFVRlZMRU5CUVVNc2QwTkJRWGRETEVOQlFVTXNRMEZCUXp0WlFVTnFSU3hKUVVGSkxFOUJRVThzVlVGQlZTeExRVUZMTEZGQlFWRTdaMEpCUTJoRExFMUJRVTBzU1VGQlNTeFZRVUZWTEVOQlFVTXNNRU5CUVRCRExFTkJRVU1zUTBGQlF6dFpRVU51UlN4TlFVRk5MRXRCUVVzc1IwRkJSeXhYUVVGWExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdXVUZEZEVNc1RVRkJUU3hSUVVGUkxFZEJRV3RDTEVWQlFXMUNMRU5CUVVNN1dVRkRjRVFzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVcxQ0xFTkJRVU03V1VGRGNrTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJiVUlzUTBGQlF5eGxRVUZsTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFpRVU16UlN4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGdFFpeERRVUZETEdWQlFXVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETzFsQlEzaEZMRTlCUVU4c1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6dFJRVU4wUWl4RFFVRkRPMUZCUlVRc1NVRkJTU3hSUVVGUkxFdEJRVXNzVVVGQlVTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUTNCRExFbEJRVWtzVDBGQlR5eExRVUZMTEV0QlFVc3NVVUZCVVR0blFrRkRNMElzVFVGQlRTeEpRVUZKTEZWQlFWVXNRMEZCUXl4elEwRkJjME1zUTBGQlF5eERRVUZETzFsQlF5OUVMRWxCUVVrc1QwRkJUeXhWUVVGVkxFdEJRVXNzVVVGQlVUdG5Ra0ZEYUVNc1RVRkJUU3hKUVVGSkxGVkJRVlVzUTBGQlF5eDNRMEZCZDBNc1EwRkJReXhEUVVGRE8xbEJRMnBGTEUxQlFVMHNVVUZCVVN4SFFVRnJRaXhGUVVGdFFpeERRVUZETzFsQlEzQkVMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ6dG5Ra0ZEYUVJc1EwRkJReXhsUVVGbExFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSMEZCUnl4WlFVRlpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWM3WVVGRGVFTXNRMEZCUXp0WlFVTnVRaXhQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEVOQlFVTTdVVUZEZEVJc1EwRkJRenRSUVVWRUxFbEJRVWtzVVVGQlVTeExRVUZMTEZGQlFWRXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVOc1F5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRmxMRU5CUVVNN1dVRkROMElzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRPMmRDUVVOMlJDeE5RVUZOTEVsQlFVa3NWVUZCVlN4RFFVRkRMR2xFUVVGcFJDeERRVUZETEVOQlFVTTdXVUZETVVVc1RVRkJUU3hEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNN1dVRkRPVUlzVFVGQlRTeFRRVUZUTEVkQlFXdENMRVZCUVcxQ0xFTkJRVU03V1VGRGNrUXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFVkJRVzFDTEVOQlFVTTdXVUZEY2tNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQmJVSXNRMEZEYUVNc2EwSkJRV3RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVOMlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVTlFMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVzFDTEVOQlEyaERMR3RDUVVGclFpeERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkRlRU1zUjBGQlJ5eEhRVUZITEVOQlFVTTdXVUZEVWl4UFFVRlBMRVZCUVVVc1VVRkJVU3hGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETzFGQlEycERMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFVkJRVVVzUjBGQmEwSXNSVUZCYlVJc1EwRkJRenRSUVVNMVF5eEpRVU5GTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1JVRkJSU3hoUVVGaExFTkJRVU1zUlVGQlJTeEZRVUZGTEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRM3BFTEZGQlFYbENMRU5CUXpGQ0xFdEJRVXNzUTBGQlF5eERRVUZETEVWQlExSXNRMEZCUXp0WlFVTkVMRVZCUVVVc1EwRkJReXhMUVVGbExFTkJRVU1zUjBGQlJ5eEZRVUZ0UWl4RFFVRkRPMWxCUTNwRExFVkJRVVVzUTBGQlF5eExRVUZsTEVOQlFXMUNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1owSkJRMnhGTEZWQlFWVXNRMEZCUXp0UlFVTm1MRU5CUVVNN1lVRkJUU3hKUVVGSkxGRkJRVkVzUzBGQlN5eFJRVUZSTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkRja01zUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1MwRkJjVUlzUTBGQlF5eERRVUZETEZGQlFYbENMRU5CUVVNN1dVRkRNVVVzUlVGQlJTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVcxQ0xFTkJRVU03V1VGRE1VUXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJiVUlzUTBGRGNFUXNTMEZCYzBNc1EwRkJReXhMUVVGTExFTkJRemxETEVkQlFVY3NWVUZCVlN4RFFVRkRPMUZCUTJwQ0xFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNUVUZCVFN4SFFVRkhMRWRCUVZFc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eExRVUZ4UWl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRE8xbEJRM0pGTEUxQlFVMHNSMEZCUnl4SFFVRlJMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVlVGQk1FSXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJRenRaUVVNeFJTeEZRVUZGTEVkQlFVY3NTMEZCU3l4RFFVRkRMR3RDUVVGclFpeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTTdVVUZET1VRc1EwRkJRenRSUVVWRUxFOUJRVThzUlVGQlJTeFJRVUZSTEVWQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNN1NVRkRNVUlzUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOTExHMUNRVUZ0UWp0UlFVTjZRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWazdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVONlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRaUVVOeVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFsQlF6TkRMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJReXhMUVVGTExFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdXVUZEYWtVc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEhsQ1FVRjVRaXhEUVVGRExFOUJRVThzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0WlFVTnlSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXp0blFrRkRlRUlzVFVGQlRTeEpRVUZKTEZWQlFWVXNRMEZEYkVJc05FUkJRVFJFTEZOQlFWTXNSVUZCUlN4RFFVTjRSU3hEUVVGRE8xbEJRMG9zVDBGQlR5eEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU03WjBKQlF5OUNMRWxCUVVrc1JVRkJSU3hMUVVGTE8yZENRVU5ZTEZOQlFWTTdaMEpCUTFRc1lVRkJZU3hGUVVGRkxFOUJRVThzUTBGQlF5eFZRVUZWTzJkQ1FVTnFReXhsUVVGbExFVkJRVVVzVTBGQlV5eERRVUZETEZWQlFWVTdZVUZEZEVNc1EwRkJReXhEUVVGRE8xRkJRMHdzUTBGQlF6dFJRVVZFTEVsQlFVa3NUMEZCVHl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEV0QlFVc3NWMEZCVnl4RlFVRkZMRU5CUVVNN1dVRkRkRVFzVFVGQlRTeFRRVUZUTEVkQlEySXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeEpRVUZKTEVsQlFVazdaMEpCUTJoRExFTkJRVU1zUTBGQlF5eFRRVUZUTzJkQ1FVTllMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU03V1VGRGVrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExIbENRVUY1UWl4RFFVRkRMRlZCUVZVc1JVRkJSU3hUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU51UlN4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8yZENRVU5VTEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1NVRkJTU3hEUVVGRE8yZENRVU14UWl4UFFVRlBMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVONlF5eERRVUZETzFGQlEwZ3NRMEZCUXp0UlFVVkVMRTFCUVUwc1kwRkJZeXhIUVVOc1FpeFBRVUZQTEVsQlFVa3NRMEZCUXl4aFFVRmhMRXRCUVVzc1YwRkJWenRaUVVONlF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUzBGQlN5eFhRVUZYTzFsQlEycEVMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ6dFpRVU5zUWl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmM3V1VGRGJFSXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWE8xbEJRMnhDTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdVVUZGTVVJc1RVRkJUU3huUWtGQlowSXNSMEZCY1VRN1dVRkRla1U3WjBKQlEwVXNUMEZCVHp0blFrRkRVQ3hEUVVGRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVsQlFVa3NVMEZCVXl4RFFVRnJRenRoUVVOdVJUdFpRVU5FTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU03V1VGRGVrSXNRMEZCUXl4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF6dFpRVU42UWl4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETzFsQlEzcENMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJRenRUUVVOd1F5eERRVUZETzFGQlJVWXNTMEZCU3l4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxGRkJRVkVzUTBGQlF5eEpRVUZKTEdkQ1FVRm5RaXhGUVVGRkxFTkJRVU03V1VGRGFFUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF6dFpRVU14UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETzFsQlF6ZEVMRWxCUVVrc1NVRkJTVHRuUWtGQlJTeFBRVUZQTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTnVSQ3hEUVVGRE8xRkJSVVFzU1VGQlNTeGpRVUZqTEVWQlFVVXNRMEZCUXp0WlFVTnVRaXhOUVVGTkxFbEJRVWtzVlVGQlZTeERRVU5zUWl3MFEwRkJORU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZEZWtRc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGRGJFSXNZVUZCWVN4RFFVTm1MRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRMFFzVDBGQlR5eFRRVUZUTEVOQlFVTTdTVUZEYmtJc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NlVUpCUVhsQ0xFTkJReTlDTEVsQlFXTXNSVUZEWkN4VFFVRnJRanRSUVVWc1FpeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrN1dVRkJSU3hQUVVGUExGTkJRVk1zUTBGQlF6dFJRVU42UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTnVSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMDdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVOd1F5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRFSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1VVRkRja1FzVFVGQlRTeFJRVUZSTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzcEZMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NjVUpCUVhGQ0xFTkJRVU1zVTBGQlV5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNKRkxFMUJRVTBzVDBGQlR5eEhRVUYzUWp0WlFVTnVReXhOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNTMEZCU3l4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWVHRUUVVNMVJDeERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRXRCUVVzc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUzBGQlN5eFRRVUZUTzFsQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGNFVXNUMEZCVHp0WlFVTk1MRWxCUVVrN1dVRkRTaXhKUVVGSk8xbEJRMG9zVlVGQlZTeEZRVUZGTzJkQ1FVTldMRWxCUVVrN1owSkJRMG9zU1VGQlNTeEZRVUZGTEZGQlFWRTdaMEpCUTJRc1QwRkJUenRoUVVOU08xTkJRMFlzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOTExHOUNRVUZ2UWl4RFFVTXhRaXhKUVVGNVFqdFJRVVY2UWl4UFFVRlBPMWxCUTB3c1VVRkJVU3hGUVVGRkxFVkJRVVU3V1VGRFdpeFRRVUZUTEVWQlFVVXNTVUZCU1R0WlFVTm1MR0ZCUVdFc1JVRkJSU3hKUVVGSk8xTkJRMjlFTEVOQlFVTTdTVUZETlVVc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NaMEpCUVdkQ08xRkJRM1JDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRTlCUVRoQ0xFTkJRVU03U1VGRE4wTXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMHNzUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhEUVVNMVFpeEpRVUY1UWl4RlFVTjZRaXhIUVVGM1FqdFJRVVY0UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTJoRExFOUJRVThzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCU1N4SlFVRkpMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE1VTXNRMEZCUXp0UlFVTkVMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3hEUVVGRE8xRkJRemxETEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVhkRUxFTkJRVU03VVVGRE1VVXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hoUVVGaExFTkJRVU1zU1VGQlNTeERRVU4yUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUlVGRGVFSXNVVUZCVVN4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFVkJRM2hDTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1QwRkJUeXhGUVVNelFpeEhRVUZITEVOQlEwb3NRMEZCUXp0UlFVTkdMRTlCUVU4c1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkpMRWxCUVVrc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF6dEpRVU55UkN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eExRVUZMTEVOQlFVTXNZVUZCWVN4RFFVTjZRaXhKUVVGNVFpeEZRVU42UWl4SFFVRjNRanRSUVVWNFFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1MwRkJTenRaUVVOeVFpeE5RVUZOTEVsQlFVa3NWVUZCVlN4RFFVRkRMR2xEUVVGcFF5eERRVUZETEVOQlFVTTdVVUZETVVRc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFTkJRVU03VVVGRE9VTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETzFGQlEzaEZMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzWVVGQllTeERRVUZETEVkQlFVY3NUVUZCVFN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRE8xbEJRM0pFTEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUTJoQ0xFOUJRVThzUTBGQlF5eEpRVUZKTEVWQlExb3NUMEZCVHl4RFFVRkRMRWxCUVVrc1JVRkRXaXhQUVVGUExFTkJRVU1zVDBGQlR5eEZRVU5tTEVkQlFVY3NRMEZEU2p0WlFVTkVMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRMmhDTEZOQlFWTXNRMEZCUXl4SlFVRkpMRVZCUTJRc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGRFpDeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVTnFRaXhIUVVGSExFTkJRMG83VTBGRFJpeERRVUZETEVOQlFVTTdVVUZEU0N4TlFVRk5MRWRCUVVjc1IwRkJSeXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU01UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhoUVVGaExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5zUkN4SlFVRkpMRU5CUVVNc1MwRkJTenRaUVVGRkxFOUJRVThzUTBGQmFVSXNRMEZCUXp0UlFVTnlReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCYVVJc1EwRkJRenRKUVVOMlF5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTeXh0UWtGQmJVSXNRMEZEZWtJc1NVRkJlVUlzUlVGRGVrSXNVVUZCYzBJN1VVRkZkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4TFFVRkxMRXRCUVVzN1dVRkRja0lzVFVGQlRTeEpRVUZKTEZWQlFWVXNRMEZEYkVJc01FUkJRVEJFTEVOQlF6TkVMRU5CUVVNN1VVRkRTaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eFJRVUZSTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOcVF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRjNSQ3hEUVVGRE8xRkJRekZGTEUxQlFVMHNTVUZCU1N4SFFVRkhMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRE0wSXNTVUZCU1N4UlFVRlJMRU5CUVVNc1lVRkJZU3hGUVVGRkxFTkJRVU03V1VGRE0wSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eERRVUZwUWl4RFFVRkRPMUZCUXpWRExFTkJRVU03VVVGRFJDeEpRVUZKTEZGQlFWRXNRMEZCUXl4SlFVRkpMRXRCUVVzc1ZVRkJWU3hKUVVGSkxGRkJRVkVzUTBGQlF5eEpRVUZKTEV0QlFVc3NVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkRhRVVzVDBGQlR5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRV2xDTEVOQlFVTTdVVUZEYWtVc1EwRkJRenRSUVVORUxFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xFOUJRVThzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NTVUZCU1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQmFVSXNRMEZCUXp0UlFVTjRSU3hEUVVGRE8xRkJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVOcVFpeFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1MwRkJTeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGcFFpeERRVUZETzFGQlEyaEZMRU5CUVVNN1VVRkRSQ3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRWxCUVVrc1EwRkJhVUlzUTBGQlF6dEpRVU5vUlN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eGxRVUZsTEVOQlEzSkNMRWxCUVhsQ08xRkJSWHBDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRWxCUVVrc1MwRkJTeXhMUVVGTExFTkJRVU03U1VGRE4wSXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRjYmlBZ1FXUmhjSFJsY2tac1lXZHpMRnh1SUNCRGIyNWthWFJwYjI0c1hHNGdJRWR5YjNWd1QzQmxjbUYwYjNJc1hHNGdJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaeXhjYmlBZ1QzQmxjbUYwYjNJc1hHNGdJRTl5WkdWeVJHbHlaV04wYVc5dUxGeHVJQ0JRWlhKemFYTjBaVzVqWlV0bGVYTXNYRzRnSUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwTEZ4dUlDQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE1zWEc0Z0lGRjFaWEo1UTJ4aGRYTmxMRnh1SUNCUmRXVnllVVZ5Y205eUxGeHVJQ0JTWlhCdmMybDBiM0o1TEZ4dUlDQlRaV3hsWTNSVFpXeGxZM1J2Y2l4Y2JpQWdVMlZ4ZFdWdVkyVXNYRzRnSUZOMFlYUmxiV1Z1ZEN4Y2JpQWdVM1JoZEdWdFpXNTBSWGhsWTNWMGIzSXNYRzRnSUZacFpYZExhVzVrTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lFMXZaR1ZzSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnUm1GaWNtbGpRMnhwWlc1MFFXUmhjSFJsY2lCOUlHWnliMjBnWENJdUwwWmhZbkpwWTBOc2FXVnVkRUZrWVhCMFpYSmNJanRjYm1sdGNHOXlkQ0I3SUVaaFluSnBZME5zYVdWdWRFTnZiblJsZUhRZ2ZTQm1jbTl0SUZ3aUxpOUdZV0p5YVdORGJHbGxiblJEYjI1MFpYaDBYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQkRiM1ZqYUVSQ1MyVjVjeXhjYmlBZ1EyOTFZMmhFUWs5d1pYSmhkRzl5TEZ4dUlDQkRiM1ZqYUVSQ1IzSnZkWEJQY0dWeVlYUnZjaXhjYmlBZ1EyOTFZMmhFUWxGMVpYSjVUR2x0YVhRc1hHNGdJRTFoYm1kdlVYVmxjbmtzWEc0Z0lFMWhibWR2VDNCbGNtRjBiM0lzWEc0Z0lFMWhibWR2VTJWc1pXTjBiM0lzWEc0Z0lIUnlZVzV6YkdGMFpVOXdaWEpoZEc5eWN5eGNiaUFnWjJWdVpYSmhkR1ZFWlhOcFoyNUViMk5PWVcxbExGeHVJQ0JuWlc1bGNtRjBaVlpwWlhkT1lXMWxMRnh1SUNCbWFXNWtWbWxsZDAxbGRHRmtZWFJoTEZ4dUlDQkRiM1ZqYUVSQ1ZtbGxkMDFsZEdGa1lYUmhMRnh1SUNCV2FXVjNVbVZ6Y0c5dWMyVXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12Wm05eUxXTnZkV05vWkdKY0lqdGNibWx0Y0c5eWRDQjdJSFJ2UTJGdFpXeERZWE5sSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5c2IyZG5hVzVuWENJN1hHNXBiWEJ2Y25RZ2V5QkVRa3RsZVhNc0lFbHVkR1Z5Ym1Gc1JYSnliM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSaUxXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0I3SUUxbGRHRmtZWFJoSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYVc5dVhDSTdYRzVjYm5SNWNHVWdSbUZpY21salZtbGxkMFJsYzJOeWFYQjBiM0lnUFNCN1hHNGdJR1JrYjJNNklITjBjbWx1Wnp0Y2JpQWdkbWxsZHpvZ2MzUnlhVzVuTzF4dUlDQnZjSFJwYjI1ek9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytPMXh1ZlR0Y2JseHVkSGx3WlNCR1lXSnlhV05CWjJkeVpXZGhkR1ZKYm1adklEMWNiaUFnZkNCN1hHNGdJQ0FnSUNCcmFXNWtPaUJXYVdWM1MybHVaRHRjYmlBZ0lDQWdJRzFsZEdFNklFTnZkV05vUkVKV2FXVjNUV1YwWVdSaGRHRTdYRzRnSUNBZ0lDQmtaWE5qY21sd2RHOXlPaUJHWVdKeWFXTldhV1YzUkdWelkzSnBjSFJ2Y2p0Y2JpQWdJQ0FnSUdOdmRXNTBSR2x6ZEdsdVkzUS9PaUJpYjI5c1pXRnVPMXh1SUNBZ0lIMWNiaUFnZkNCN1hHNGdJQ0FnSUNCcmFXNWtPaUJjSW1GMloxd2lPMXh1SUNBZ0lDQWdZWFIwY21saWRYUmxPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0lDQnpkVzFFWlhOamNtbHdkRzl5T2lCR1lXSnlhV05XYVdWM1JHVnpZM0pwY0hSdmNqdGNiaUFnSUNBZ0lHTnZkVzUwUkdWelkzSnBjSFJ2Y2pvZ1JtRmljbWxqVm1sbGQwUmxjMk55YVhCMGIzSTdYRzRnSUNBZ2ZUdGNibHh1WTI5dWMzUWdaWE5qWVhCbFVtVm5SWGh3SUQwZ0tIWmhiSFZsT2lCemRISnBibWNwT2lCemRISnBibWNnUFQ1Y2JpQWdkbUZzZFdVdWNtVndiR0ZqWlNndld5NHFLejllSkh0OUtDbDhXMXhjWFZ4Y1hGeGRMMmNzSUZ3aVhGeGNYQ1FtWENJcE8xeHVYRzVtZFc1amRHbHZiaUJ1WlhoMFRHVjRhV052WjNKaGNHaHBZMU4wY21sdVp5aDJZV3gxWlRvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdhV1lnS0NGMllXeDFaU2tnY21WMGRYSnVJRndpWEZ4MU1EQXdNRndpTzF4dUlDQmpiMjV6ZENCamFHRnljeUE5SUVGeWNtRjVMbVp5YjIwb2RtRnNkV1VwTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnWTJoaGNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwSUMwOUlERXBJSHRjYmlBZ0lDQmpiMjV6ZENCamIyUmxJRDBnWTJoaGNuTmJhVjB1WTI5a1pWQnZhVzUwUVhRb01DazdYRzRnSUNBZ2FXWWdLR052WkdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnWTI5dWRHbHVkV1U3WEc0Z0lDQWdhV1lnS0dOdlpHVWdQQ0F3ZURFd1ptWm1aaWtnZTF4dUlDQWdJQ0FnWTJoaGNuTmJhVjBnUFNCVGRISnBibWN1Wm5KdmJVTnZaR1ZRYjJsdWRDaGpiMlJsSUNzZ01TazdYRzRnSUNBZ0lDQnlaWFIxY200Z1kyaGhjbk11YzJ4cFkyVW9NQ3dnYVNBcklERXBMbXB2YVc0b1hDSmNJaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQmdKSHQyWVd4MVpYMWNYSFV3TURBd1lEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NISmxabWw0VW1GdVoyVW9jSEpsWm1sNE9pQnpkSEpwYm1jcElIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQnpkR0Z5ZERvZ2NISmxabWw0TEZ4dUlDQWdJR1Z1WkRvZ2JtVjRkRXhsZUdsamIyZHlZWEJvYVdOVGRISnBibWNvY0hKbFptbDRLU3hjYmlBZ2ZUdGNibjFjYmx4dVpYaHdiM0owSUdOc1lYTnpJRVpoWW5KcFkwTnNhV1Z1ZEZOMFlYUmxiV1Z1ZER4TklHVjRkR1Z1WkhNZ1RXOWtaV3dzSUZJK0lHVjRkR1Z1WkhNZ1UzUmhkR1Z0Wlc1MFBGeHVJQ0JOTEZ4dUlDQkdZV0p5YVdORGJHbGxiblJCWkdGd2RHVnlMRnh1SUNCU0xGeHVJQ0JOWVc1bmIxRjFaWEo1WEc0K0lIdGNiaUFnWTI5dWMzUnlkV04wYjNJb1lXUmhjSFJsY2pvZ1JtRmljbWxqUTJ4cFpXNTBRV1JoY0hSbGNpd2diM1psY25KcFpHVnpQem9nVUdGeWRHbGhiRHhCWkdGd2RHVnlSbXhoWjNNK0tTQjdYRzRnSUNBZ2MzVndaWElvWVdSaGNIUmxjaXdnYjNabGNuSnBaR1Z6S1R0Y2JpQWdmVnh1WEc0Z0lIQnliM1JsWTNSbFpDQnZkbVZ5Y21sa1pTQnpjWFZoYzJnb1hHNGdJQ0FnWTNSNE9pQkdZV0p5YVdORGJHbGxiblJEYjI1MFpYaDBYRzRnSUNrNklGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFBHRnVlVDRnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUdOdmJuTjBJSE54ZFdGemFHVmtPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRHhOUGlCOElIVnVaR1ZtYVc1bFpDQTlJSE4xY0dWeUxuTnhkV0Z6YUNoY2JpQWdJQ0FnSUdOMGVDQmhjeUJ1WlhabGNseHVJQ0FnSUNrN1hHNGdJQ0FnYVdZZ0tDRnpjWFZoYzJobFpDa2djbVYwZFhKdUlITnhkV0Z6YUdWa08xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCdFpYUm9iMlFzSUhCaGNtRnRjeXdnWVhKbmN5QjlJRDBnYzNGMVlYTm9aV1E3WEc0Z0lDQWdZMjl1YzNRZ2V5QmthWEpsWTNScGIyNHNJR3hwYldsMElIMGdQU0J3WVhKaGJYTTdYRzRnSUNBZ2MzZHBkR05vSUNodFpYUm9iMlFwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtaSlRrUTZYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVVFRkhSVHBjYmlBZ0lDQWdJQ0FnWVhKbmN5NXdkWE5vS0dScGNtVmpkR2x2Yml3Z2JHbHRhWFFwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJR05oYzJVZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtSZlFsazZYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVRFbFRWRjlDV1RwY2JpQWdJQ0FnSUNBZ1lYSm5jeTV3ZFhOb0tHUnBjbVZqZEdsdmJpazdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ1kyRnpaU0JRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVVFRkhSVjlDV1RwY2JpQWdJQ0FnSUNBZ1lYSm5jeTV3ZFhOb0tHUnBjbVZqZEdsdmJpd2diR2x0YVhRcE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUdOaGMyVWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtaSlRrUmZUMDVGWDBKWk9seHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLR0JWYm5OMWNIQnZjblJsWkNCdFpYUm9iMlFnSkh0dFpYUm9iMlI5WUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE54ZFdGemFHVmtPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUc5MlpYSnlhV1JsSUdGemVXNWpJR1Y0WldOMWRHVlFjbVZ3WVhKbFpDaGNiaUFnSUNBdUxpNWhjbWQ2T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFJtRmljbWxqUTJ4cFpXNTBRMjl1ZEdWNGRENWNiaUFnS1RvZ1VISnZiV2x6WlR4U1BpQjdYRzRnSUNBZ1kyOXVjM1FnY21Wd2J5QTlJRkpsY0c5emFYUnZjbmt1Wm05eVRXOWtaV3dvZEdocGN5NW1jbTl0VTJWc1pXTjBiM0lzSUhSb2FYTXVZV1JoY0hSbGNpNWhiR2xoY3lrN1hHNGdJQ0FnWTI5dWMzUWdleUJ0WlhSb2IyUXNJR0Z5WjNNZ2ZTQTlJSFJvYVhNdWNISmxjR0Z5WldRZ1lYTWdVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUThZVzU1UGp0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ3Ynk1emRHRjBaVzFsYm5Rb2JXVjBhRzlrTENBdUxpNWhjbWR6TENBdUxpNWhjbWQ2S1R0Y2JpQWdmVnh1WEc0Z0lHOTJaWEp5YVdSbElHRnplVzVqSUhCeVpYQmhjbVVvWEc0Z0lDQWdZM1I0UHpvZ1JtRmljbWxqUTJ4cFpXNTBRMjl1ZEdWNGRGeHVJQ0FwT2lCUWNtOXRhWE5sUEZOMFlYUmxiV1Z1ZEVWNFpXTjFkRzl5UEUwc0lGSStQaUI3WEc0Z0lDQWdZM1I0SUQxY2JpQWdJQ0FnSUdOMGVDQjhmRnh1SUNBZ0lDQWdLR0YzWVdsMElIUm9hWE11WVdSaGNIUmxjaTVqYjI1MFpYaDBLRnh1SUNBZ0lDQWdJQ0JRWlhKemFYTjBaVzVqWlV0bGVYTXVVVlZGVWxrc1hHNGdJQ0FnSUNBZ0lIUm9hWE11YjNabGNuSnBaR1Z6SUh4OElIdDlMRnh1SUNBZ0lDQWdJQ0IwYUdsekxtWnliMjFUWld4bFkzUnZjbHh1SUNBZ0lDQWdLU2s3WEc1Y2JpQWdJQ0JwWmlBb0lXTjBlQ2tnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YQ0pPYnlCamIyNTBaWGgwSUdGMllXbHNZV0pzWlNCbWIzSWdjM1JoZEdWdFpXNTBYQ0lwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOVGFXMXdiR1ZSZFdWeWVTZ3BJQ1ltSUdOMGVDNW5aWFFvWENKbWIzSmpaVkJ5WlhCaGNtVlRhVzF3YkdWUmRXVnlhV1Z6WENJcEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCemNYVmhjMmhsWkNBOUlIUm9hWE11YzNGMVlYTm9LR04wZUNrN1hHNGdJQ0FnSUNCcFppQW9jM0YxWVhOb1pXUXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXdjbVZ3WVhKbFpDQTlJSE54ZFdGemFHVmtPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ1lYSm5jem9nS0hOMGNtbHVaeUI4SUc1MWJXSmxjaWxiWFNBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUhCaGNtRnRjem9nWVc1NUlEMGdlMzBnWVhNZ1lXNTVPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NISmxjR0Z5WldRNklGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFBHRnVlVDRnUFNCN1hHNGdJQ0FnSUNCamJHRnpjem9nZEdocGN5NW1jbTl0VTJWc1pXTjBiM0lzWEc0Z0lDQWdJQ0JoY21kekxGeHVJQ0FnSUNBZ2NHRnlZVzF6TEZ4dUlDQWdJSDBnWVhNZ1lXNTVPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXVjBhRzlrT2lCemRISnBibWRiWFNBOUlGdFJkV1Z5ZVVOc1lYVnpaUzVHU1U1RVgwSlpYVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbmRvWlhKbFEyOXVaR2wwYVc5dUtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCd1lYSnpaV1FnUFNCMGFHbHpMbkJ5WlhCaGNtVkRiMjVrYVhScGIyNG9kR2hwY3k1M2FHVnlaVU52Ym1ScGRHbHZiaXdnWTNSNElHRnpJRzVsZG1WeUtUdGNiaUFnSUNBZ0lHMWxkR2h2WkM1d2RYTm9LSEJoY25ObFpDNXRaWFJvYjJRcE8xeHVJQ0FnSUNBZ2FXWWdLSEJoY25ObFpDNWhjbWR6SUNZbUlIQmhjbk5sWkM1aGNtZHpMbXhsYm1kMGFDbGNiaUFnSUNBZ0lDQWdZWEpuY3k1d2RYTm9LQzR1TGlod1lYSnpaV1F1WVhKbmN5QmhjeUFvYzNSeWFXNW5JSHdnYm5WdFltVnlLVnRkS1NrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMGFHbHpMbk5sYkdWamRGTmxiR1ZqZEc5eUtWeHVJQ0FnSUNBZ2JXVjBhRzlrTG5CMWMyZ29YRzRnSUNBZ0lDQWdJRkYxWlhKNVEyeGhkWE5sTGxORlRFVkRWQ3hjYmlBZ0lDQWdJQ0FnZEdocGN5NXpaV3hsWTNSVFpXeGxZM1J2Y2k1cWIybHVLR0FnSkh0UmRXVnllVU5zWVhWelpTNUJUa1F1ZEc5TWIzZGxja05oYzJVb0tYMGdZQ2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXViM0prWlhKQ2VWTmxiR1ZqZEc5eWN6OHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQnRaWFJvYjJRdWNIVnphQ2hSZFdWeWVVTnNZWFZ6WlM1UFVrUkZVbDlDV1N3Z2RHaHBjeTV2Y21SbGNrSjVVMlZzWldOMGIzSnpXekJkV3pCZElHRnpJSE4wY21sdVp5azdYRzRnSUNBZ0lDQmhjbWR6TG5CMWMyZ29kR2hwY3k1dmNtUmxja0o1VTJWc1pXTjBiM0p6V3pCZFd6RmRJR0Z6SUdGdWVTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhCeVpYQmhjbVZrTG0xbGRHaHZaQ0E5SUhSdlEyRnRaV3hEWVhObEtHMWxkR2h2WkM1cWIybHVLRndpSUZ3aUtTazdYRzRnSUNBZ2NISmxjR0Z5WldRdWNHRnlZVzF6SUQwZ2NHRnlZVzF6TzF4dUlDQWdJSFJvYVhNdWNISmxjR0Z5WldRZ1BTQndjbVZ3WVhKbFpEdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1VISnZZMlZ6YzJWeklHRWdjbVZqYjNKa0lHWnliMjBnUTI5MVkyaEVRaTlHWVdKeWFXTmNiaUFnSUNvZ1FITjFiVzFoY25rZ1JYaDBjbUZqZEhNZ2RHaGxJRWxFSUdaeWIyMGdZU0JEYjNWamFFUkNJR1J2WTNWdFpXNTBJR0Z1WkNCeVpYWmxjblJ6SUdsMElIUnZJR0VnYlc5a1pXd2dhVzV6ZEdGdVkyVmNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0J2ZG1WeWNtbGtaU0J3Y205alpYTnpVbVZqYjNKa0tGeHVJQ0FnSUhKbFkyOXlaRG9nWVc1NUxGeHVJQ0FnSUdOMGVEb2dSbUZpY21salEyeHBaVzUwUTI5dWRHVjRkRnh1SUNBcE9pQk5JSHRjYmlBZ0lDQmpiMjV6ZENCd2EwRjBkSElnUFNCTmIyUmxiQzV3YXloMGFHbHpMbVp5YjIxVFpXeGxZM1J2Y2lrN1hHNGdJQ0FnWTI5dWMzUWdkSGx3WlNBOUlFMWxkR0ZrWVhSaExtZGxkQ2hjYmlBZ0lDQWdJSFJvYVhNdVpuSnZiVk5sYkdWamRHOXlMRnh1SUNBZ0lDQWdUV1YwWVdSaGRHRXVhMlY1S0VSQ1MyVjVjeTVKUkN3Z2NHdEJkSFJ5SUdGeklITjBjbWx1WnlsY2JpQWdJQ0FwUHk1MGVYQmxPMXh1WEc0Z0lDQWdhV1lnS0hKbFkyOXlaRnREYjNWamFFUkNTMlY1Y3k1SlJGMHBJSHRjYmlBZ0lDQWdJR052Ym5OMElGc3NJQzR1TG10bGVVRnlaM05kSUQwZ2NtVmpiM0prVzBOdmRXTm9SRUpMWlhsekxrbEVYUzV6Y0d4cGRDaERiM1ZqYUVSQ1MyVjVjeTVUUlZCQlVrRlVUMUlwTzF4dUlDQWdJQ0FnWTI5dWMzUWdhV1FnUFNCclpYbEJjbWR6TG1wdmFXNG9YQ0pmWENJcE8xeHVJQ0FnSUNBZ2NtVmpiM0prVzNCclFYUjBjbDBnUFNCVFpYRjFaVzVqWlM1d1lYSnpaVlpoYkhWbEtIUjVjR1VnWVhNZ1lXNTVMQ0JwWkNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE4xY0dWeUxuQnliMk5sYzNOU1pXTnZjbVFvY21WamIzSmtMQ0JqZEhncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCRmVHVmpkWFJsY3lCaElISmhkeUJOWVc1bmJ5QnhkV1Z5ZVZ4dUlDQWdLaUJBYzNWdGJXRnllU0JUWlc1a2N5QmhJSEpoZHlCTllXNW5ieUJ4ZFdWeWVTQjBieUJHWVdKeWFXTWdZVzVrSUhCeWIyTmxjM05sY3lCMGFHVWdjbVZ6ZFd4MGMxeHVJQ0FnS2k5Y2JpQWdiM1psY25KcFpHVWdZWE41Ym1NZ2NtRjNQRkkrS0hKaGQwbHVjSFYwT2lCTllXNW5iMUYxWlhKNUxDQXVMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOFVqNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRJSDBnUFNCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCMGFHbHpMbkpoZHlrN1hHNGdJQ0FnWTI5dWMzUWdZV2RuY21WbllYUnZjaUE5SUNoeVlYZEpibkIxZENCaGN5QmhibmtwUHk1aFoyZHlaV2RoZEdWSmJtWnZPMXh1SUNBZ0lHbG1JQ2dvY21GM1NXNXdkWFFnWVhNZ1lXNTVLVDh1WVdkbmNtVm5ZWFJsSUNZbUlHRm5aM0psWjJGMGIzSXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1WNFpXTjFkR1ZCWjJkeVpXZGhkR1U4VWo0b1lXZG5jbVZuWVhSdmNpd2dZM1I0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwY3pvZ1lXNTVXMTBnUFNCaGQyRnBkQ0IwYUdsekxtRmtZWEIwWlhJdWNtRjNLRnh1SUNBZ0lDQWdjbUYzU1c1d2RYUXNYRzRnSUNBZ0lDQjBjblZsTEZ4dUlDQWdJQ0FnZEdocGN5NW1jbTl0VTJWc1pXTjBiM0lzWEc0Z0lDQWdJQ0JqZEhoY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnYVdZZ0tDRjBhR2x6TG5ObGJHVmpkRk5sYkdWamRHOXlLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQndjbTlqWlhOelpXUWdQU0J5WlhOMWJIUnpMbTFoY0Nnb2Npa2dQVDRnZEdocGN5NXdjbTlqWlhOelVtVmpiM0prS0hJc0lHTjBlQ2twTzF4dUlDQWdJQ0FnYVdZZ0tDRmpkSGd1WjJWMFQzSlZibVJsWm1sdVpXUW9YQ0poWm5SbGNsRjFaWEo1U0dGdVpHeGxjbk5jSWlrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIQnliMk5sYzNObFpDQmhjeUIxYm10dWIzZHVJR0Z6SUZJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnS0dGM1lXbDBJSFJvYVhNdVlYQndiSGxCWm5SbGNraGhibVJzWlhKelZHOVNaWE4xYkhRb2NISnZZMlZ6YzJWa0xDQmpkSGdwS1NCaGN5QlNPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBjeUJoY3lCU08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCQ2RXbHNaSE1nWVNCRGIzVmphRVJDSUUxaGJtZHZJSEYxWlhKNUlHWnliMjBnZEdobElITjBZWFJsYldWdWRGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCRGIyNTJaWEowY3lCMGFHVWdjM1JoZEdWdFpXNTBKM01nWTI5dVpHbDBhVzl1Y3l3Z2MyVnNaV04wYjNKekxDQmhibVFnYjNCMGFXOXVjeUJwYm5SdklHRWdRMjkxWTJoRVFpQk5ZVzVuYnlCeGRXVnllVnh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUc5MlpYSnlhV1JsSUdKMWFXeGtLQ2s2SUUxaGJtZHZVWFZsY25rZ2UxeHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlIUm9hWE11Ykc5bkxtWnZjaWgwYUdsekxtSjFhV3hrS1R0Y2JpQWdJQ0JqYjI1emRDQmhaMmR5WldkaGRHVlJkV1Z5ZVNBOUlIUm9hWE11WW5WcGJHUkJaMmR5WldkaGRHVlJkV1Z5ZVNncE8xeHVJQ0FnSUdsbUlDaGhaMmR5WldkaGRHVlJkV1Z5ZVNrZ2NtVjBkWEp1SUdGblozSmxaMkYwWlZGMVpYSjVPMXh1SUNBZ0lHTnZibk4wSUhObGJHVmpkRzl5Y3pvZ1RXRnVaMjlUWld4bFkzUnZjaUE5SUh0OU8xeHVJQ0FnSUhObGJHVmpkRzl5YzF0RGIzVmphRVJDUzJWNWN5NVVRVUpNUlYwZ1BTQjdmVHRjYmlBZ0lDQnpaV3hsWTNSdmNuTmJRMjkxWTJoRVFrdGxlWE11VkVGQ1RFVmRJRDBnVFc5a1pXd3VkR0ZpYkdWT1lXMWxLSFJvYVhNdVpuSnZiVk5sYkdWamRHOXlLVHRjYmlBZ0lDQmpiMjV6ZENCeGRXVnllVG9nVFdGdVoyOVJkV1Z5ZVNBOUlIc2djMlZzWldOMGIzSTZJSE5sYkdWamRHOXljeUI5TzF4dUlDQWdJR2xtSUNoMGFHbHpMbk5sYkdWamRGTmxiR1ZqZEc5eUtTQnhkV1Z5ZVM1bWFXVnNaSE1nUFNCMGFHbHpMbk5sYkdWamRGTmxiR1ZqZEc5eUlHRnpJSE4wY21sdVoxdGRPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVkMmhsY21WRGIyNWthWFJwYjI0cElIdGNiaUFnSUNBZ0lHTnZibk4wSUdOdmJtUnBkR2x2YmpvZ1RXRnVaMjlUWld4bFkzUnZjaUE5SUhSb2FYTXVjR0Z5YzJWRGIyNWthWFJwYjI0b1hHNGdJQ0FnSUNBZ0lFTnZibVJwZEdsdmJpNWhibVFvWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTUzYUdWeVpVTnZibVJwZEdsdmJpeGNiaUFnSUNBZ0lDQWdJQ0JEYjI1a2FYUnBiMjR1WVhSMGNtbGlkWFJsUEUwK0tFTnZkV05vUkVKTFpYbHpMbFJCUWt4RklHRnpJR3RsZVc5bUlFMHBMbVZ4S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdjWFZsY25rdWMyVnNaV04wYjNKYlEyOTFZMmhFUWt0bGVYTXVWRUZDVEVWZFhHNGdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FwTG5ObGJHVmpkRzl5TzF4dUlDQWdJQ0FnWTI5dWMzUWdjMlZzWldOMGIzSkxaWGx6SUQwZ1QySnFaV04wTG10bGVYTW9ZMjl1WkdsMGFXOXVLU0JoY3lCTllXNW5iMDl3WlhKaGRHOXlXMTA3WEc0Z0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lITmxiR1ZqZEc5eVMyVjVjeTVzWlc1bmRHZ2dQVDA5SURFZ0ppWmNiaUFnSUNBZ0lDQWdUMkpxWldOMExuWmhiSFZsY3loRGIzVmphRVJDUjNKdmRYQlBjR1Z5WVhSdmNpa3VhVzVrWlhoUFppaHpaV3hsWTNSdmNrdGxlWE5iTUYwcElDRTlQU0F0TVZ4dUlDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hObGJHVmpkRzl5UzJWNWMxc3dYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnUTI5MVkyaEVRa2R5YjNWd1QzQmxjbUYwYjNJdVFVNUVPbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVaR2wwYVc5dVcwTnZkV05vUkVKSGNtOTFjRTl3WlhKaGRHOXlMa0ZPUkYwZ1BTQmJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNHVMazlpYW1WamRDNTJZV3gxWlhNb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVaR2wwYVc5dVcwTnZkV05vUkVKSGNtOTFjRTl3WlhKaGRHOXlMa0ZPUkYwZ1lYTWdUV0Z1WjI5VFpXeGxZM1J2Y2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FwTG5KbFpIVmpaU2dvWVdOamRXMDZJRTFoYm1kdlUyVnNaV04wYjNKYlhTd2dkbUZzT2lCaGJua3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JyWlhseklEMGdUMkpxWldOMExtdGxlWE1vZG1Gc0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYTJWNWN5NXNaVzVuZEdnZ0lUMDlJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2lWRzl2SUcxaGJua2dhMlY1Y3lCcGJpQnhkV1Z5ZVNCelpXeGxZM1J2Y2k0Z2MyaHZkV3hrSUdKbElHOXVaVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdzZ1BTQnJaWGx6V3pCZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hySUQwOVBTQkRiM1ZqYUVSQ1IzSnZkWEJQY0dWeVlYUnZjaTVCVGtRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhZMk4xYlM1d2RYTm9LQzR1TGloMllXeGJhMTBnWVhNZ1lXNTVXMTBwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR0ZqWTNWdExuQjFjMmdvZG1Gc0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lXTmpkVzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBzSUZ0ZEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4ZFdWeWVTNXpaV3hsWTNSdmNpQTlJR052Ym1ScGRHbHZianRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnUTI5MVkyaEVRa2R5YjNWd1QzQmxjbUYwYjNJdVQxSTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhNNklGSmxZMjl5WkR4aGJua3NJR0Z1ZVQ0Z1BTQjdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITmJRMjkxWTJoRVFrZHliM1Z3VDNCbGNtRjBiM0l1UVU1RVhTQTlJRnRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1WkdsMGFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVMaTVQWW1wbFkzUXVaVzUwY21sbGN5aHhkV1Z5ZVM1elpXeGxZM1J2Y2lrdWJXRndLQ2hiYTJWNUxDQjJZV3hkS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwT2lCU1pXTnZjbVE4WVc1NUxDQmhibmsrSUQwZ2UzMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MFcydGxlVjBnUFNCMllXdzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjWFZsY25rdWMyVnNaV04wYjNJZ1BTQnpPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKVWFHbHpJSE5vYjNWc1pDQmlaU0JwYlhCdmMzTnBZbXhsWENJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1WdWRISnBaWE1vWTI5dVpHbDBhVzl1S1M1bWIzSkZZV05vS0NoYmEyVjVMQ0IyWVd4ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSEYxWlhKNUxuTmxiR1ZqZEc5eVcydGxlVjBwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNiMmN1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1lFRWdKSHRyWlhsOUlIRjFaWEo1SUhCaGNtRnRJR2x6SUdGaWIzVjBJSFJ2SUdKbElHOTJaWEp5YVdSa1pXNDZJQ1I3Y1hWbGNua3VjMlZzWldOMGIzSmJhMlY1WFgwZ1lua2dKSHQyWVd4OVlGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQnhkV1Z5ZVM1elpXeGxZM1J2Y2x0clpYbGRJRDBnZG1Gc08xeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXZjbVJsY2tKNVUyVnNaV04wYjNKelB5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lIRjFaWEo1TG5OdmNuUWdQU0J4ZFdWeWVTNXpiM0owSUh4OElGdGRPMXh1SUNBZ0lDQWdjWFZsY25rdWMyVnNaV04wYjNJZ1BTQnhkV1Z5ZVM1elpXeGxZM1J2Y2lCOGZDQW9lMzBnWVhNZ1RXRnVaMjlUWld4bFkzUnZjaWs3WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUZ0elpXeGxZM1J2Y2t0bGVTd2daR2x5WldOMGFXOXVYU0J2WmlCMGFHbHpMbTl5WkdWeVFubFRaV3hsWTNSdmNuTXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjMlZzWldOMGIzSWdQU0J6Wld4bFkzUnZja3RsZVNCaGN5QnpkSEpwYm1jN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKbFl6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1QzSmtaWEpFYVhKbFkzUnBiMjQrSUQwZ2UzMDdYRzRnSUNBZ0lDQWdJSEpsWTF0elpXeGxZM1J2Y2wwZ1BTQmthWEpsWTNScGIyNGdZWE1nVDNKa1pYSkVhWEpsWTNScGIyNDdYRzRnSUNBZ0lDQWdJQ2h4ZFdWeWVTNXpiM0owSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUU5eVpHVnlSR2x5WldOMGFXOXVQbHRkS1M1d2RYTm9LSEpsWXlrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY1hWbGNua3VjMlZzWldOMGIzSmJjMlZzWldOMGIzSmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NYVmxjbmt1YzJWc1pXTjBiM0piYzJWc1pXTjBiM0pkSUQwZ2UzMGdZWE1nVFdGdVoyOVRaV3hsWTNSdmNqdGNiaUFnSUNBZ0lDQWdJQ0FvY1hWbGNua3VjMlZzWldOMGIzSmJjMlZzWldOMGIzSmRJR0Z6SUUxaGJtZHZVMlZzWldOMGIzSXBXME52ZFdOb1JFSlBjR1Z5WVhSdmNpNUNTVWRIUlZKZElEMWNiaUFnSUNBZ0lDQWdJQ0FnSUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNhVzFwZEZObGJHVmpkRzl5S1NCN1hHNGdJQ0FnSUNCeGRXVnllUzVzYVcxcGRDQTlJSFJvYVhNdWJHbHRhWFJUWld4bFkzUnZjanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2JHOW5MbmRoY200b1hHNGdJQ0FnSUNBZ0lHQk9ieUJzYVcxcGRDQnpaV3hsWTNSdmNpQmtaV1pwYm1Wa0xpQlZjMmx1WnlCa1pXWmhkV3gwSUdOdmRXTm9aR0lnYkdsdGFYUWdiMllnSkh0RGIzVmphRVJDVVhWbGNubE1hVzFwZEgxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NYVmxjbmt1YkdsdGFYUWdQU0JEYjNWamFFUkNVWFZsY25sTWFXMXBkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXZabVp6WlhSVFpXeGxZM1J2Y2lrZ2NYVmxjbmt1YzJ0cGNDQTlJSFJvYVhNdWIyWm1jMlYwVTJWc1pXTjBiM0k3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjWFZsY25rN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZCaGNuTmxjeUJoSUdOdmJtUnBkR2x2YmlCcGJuUnZJR0VnUTI5MVkyaEVRaUJOWVc1bmJ5QnhkV1Z5ZVNCelpXeGxZM1J2Y2x4dUlDQWdLaUJBYzNWdGJXRnllU0JEYjI1MlpYSjBjeUJoSUVOdmJtUnBkR2x2YmlCdlltcGxZM1FnYVc1MGJ5QmhJRU52ZFdOb1JFSWdUV0Z1WjI4Z2NYVmxjbmtnYzJWc1pXTjBiM0lnYzNSeWRXTjBkWEpsWEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2IzWmxjbkpwWkdVZ2NHRnljMlZEYjI1a2FYUnBiMjRvWTI5dVpHbDBhVzl1T2lCRGIyNWthWFJwYjI0OFRUNHBPaUJOWVc1bmIxRjFaWEo1SUh0Y2JpQWdJQ0JtZFc1amRHbHZiaUJ0WlhKblpTaGNiaUFnSUNBZ0lHOXdPaUJOWVc1bmIwOXdaWEpoZEc5eUxGeHVJQ0FnSUNBZ2IySnFNVG9nVFdGdVoyOVRaV3hsWTNSdmNpeGNiaUFnSUNBZ0lHOWlhakk2SUUxaGJtZHZVMlZzWldOMGIzSmNiaUFnSUNBcE9pQk5ZVzVuYjFGMVpYSjVJSHRjYmlBZ0lDQWdJR052Ym5OMElISmxjM1ZzZERvZ1RXRnVaMjlSZFdWeWVTQTlJSHNnYzJWc1pXTjBiM0k2SUh0OUlHRnpJRTFoYm1kdlUyVnNaV04wYjNJZ2ZUdGNiaUFnSUNBZ0lISmxjM1ZzZEM1elpXeGxZM1J2Y2x0dmNGMGdQU0JiYjJKcU1Td2diMkpxTWwwN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhzZ1lYUjBjakVzSUc5d1pYSmhkRzl5TENCamIyMXdZWEpwYzI5dUlIMGdQU0JqYjI1a2FYUnBiMjRnWVhNZ2RXNXJibTkzYmlCaGN5QjdYRzRnSUNBZ0lDQmhkSFJ5TVRvZ2MzUnlhVzVuSUh3Z1EyOXVaR2wwYVc5dVBFMCtPMXh1SUNBZ0lDQWdiM0JsY21GMGIzSTZJRTl3WlhKaGRHOXlJSHdnUjNKdmRYQlBjR1Z5WVhSdmNqdGNiaUFnSUNBZ0lHTnZiWEJoY21semIyNDZJR0Z1ZVR0Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnYVdZZ0tHOXdaWEpoZEc5eUlEMDlQU0JQY0dWeVlYUnZjaTVUVkVGU1ZGTmZWMGxVU0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmhkSFJ5TVNBaFBUMGdYQ0p6ZEhKcGJtZGNJaWxjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZGMVpYSjVSWEp5YjNJb1hDSlRWRUZTVkZOZlYwbFVTQ0J5WlhGMWFYSmxjeUJoYmlCaGRIUnlhV0oxZEdVZ2JtRnRaVndpS1R0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyOXRjR0Z5YVhOdmJpQWhQVDBnWENKemRISnBibWRjSWlsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGRjFaWEo1UlhKeWIzSW9YQ0pUVkVGU1ZGTmZWMGxVU0NCeVpYRjFhWEpsY3lCaElITjBjbWx1WnlCamIyMXdZWEpwYzI5dVhDSXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2NtRnVaMlVnUFNCd2NtVm1hWGhTWVc1blpTaGpiMjF3WVhKcGMyOXVLVHRjYmlBZ0lDQWdJR052Ym5OMElITmxiR1ZqZEc5eU9pQk5ZVzVuYjFObGJHVmpkRzl5SUQwZ2UzMGdZWE1nVFdGdVoyOVRaV3hsWTNSdmNqdGNiaUFnSUNBZ0lITmxiR1ZqZEc5eVcyRjBkSEl4WFNBOUlIdDlJR0Z6SUUxaGJtZHZVMlZzWldOMGIzSTdYRzRnSUNBZ0lDQW9jMlZzWldOMGIzSmJZWFIwY2pGZElHRnpJRTFoYm1kdlUyVnNaV04wYjNJcFcwTnZkV05vUkVKUGNHVnlZWFJ2Y2k1Q1NVZEhSVkpmUlZGZElEMGdjbUZ1WjJVdWMzUmhjblE3WEc0Z0lDQWdJQ0FvYzJWc1pXTjBiM0piWVhSMGNqRmRJR0Z6SUUxaGJtZHZVMlZzWldOMGIzSXBXME52ZFdOb1JFSlBjR1Z5WVhSdmNpNVRUVUZNVEVWU1hTQTlJSEpoYm1kbExtVnVaRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdJSE5sYkdWamRHOXlJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c5d1pYSmhkRzl5SUQwOVBTQlBjR1Z5WVhSdmNpNUZUa1JUWDFkSlZFZ3BJSHRjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnWVhSMGNqRWdJVDA5SUZ3aWMzUnlhVzVuWENJcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QlJkV1Z5ZVVWeWNtOXlLRndpUlU1RVUxOVhTVlJJSUhKbGNYVnBjbVZ6SUdGdUlHRjBkSEpwWW5WMFpTQnVZVzFsWENJcE8xeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmpiMjF3WVhKcGMyOXVJQ0U5UFNCY0luTjBjbWx1WjF3aUtWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVWFZsY25sRmNuSnZjaWhjSWtWT1JGTmZWMGxVU0NCeVpYRjFhWEpsY3lCaElITjBjbWx1WnlCamIyMXdZWEpwYzI5dVhDSXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2MyVnNaV04wYjNJNklFMWhibWR2VTJWc1pXTjBiM0lnUFNCN2ZTQmhjeUJOWVc1bmIxTmxiR1ZqZEc5eU8xeHVJQ0FnSUNBZ2MyVnNaV04wYjNKYllYUjBjakZkSUQwZ2UxeHVJQ0FnSUNBZ0lDQmJRMjkxWTJoRVFrOXdaWEpoZEc5eUxsSkZSMFZZVUYwNklHQWtlMlZ6WTJGd1pWSmxaMFY0Y0NoamIyMXdZWEpwYzI5dUtYMGtZQ3hjYmlBZ0lDQWdJSDBnWVhNZ1RXRnVaMjlUWld4bFkzUnZjanRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdJSE5sYkdWamRHOXlJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c5d1pYSmhkRzl5SUQwOVBTQlBjR1Z5WVhSdmNpNUNSVlJYUlVWT0tTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCaGRIUnlJRDBnWVhSMGNqRWdZWE1nYzNSeWFXNW5PMXh1SUNBZ0lDQWdhV1lnS0NGQmNuSmhlUzVwYzBGeWNtRjVLR052YlhCaGNtbHpiMjRwSUh4OElHTnZiWEJoY21semIyNHViR1Z1WjNSb0lDRTlQU0F5S1Z4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1VYVmxjbmxGY25KdmNpaGNJa0pGVkZkRlJVNGdiM0JsY21GMGIzSWdjbVZ4ZFdseVpYTWdXMjFwYml3Z2JXRjRYU0JqYjIxd1lYSnBjMjl1WENJcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnVzIxcGJpd2diV0Y0WFNBOUlHTnZiWEJoY21semIyNDdYRzRnSUNBZ0lDQmpiMjV6ZENCdmNFSmxkSGRsWlc0NklFMWhibWR2VTJWc1pXTjBiM0lnUFNCN2ZTQmhjeUJOWVc1bmIxTmxiR1ZqZEc5eU8xeHVJQ0FnSUNBZ2IzQkNaWFIzWldWdVcyRjBkSEpkSUQwZ2UzMGdZWE1nVFdGdVoyOVRaV3hsWTNSdmNqdGNiaUFnSUNBZ0lDaHZjRUpsZEhkbFpXNWJZWFIwY2wwZ1lYTWdUV0Z1WjI5VFpXeGxZM1J2Y2lsYlhHNGdJQ0FnSUNBZ0lIUnlZVzV6YkdGMFpVOXdaWEpoZEc5eWN5aFBjR1Z5WVhSdmNpNUNTVWRIUlZKZlJWRXBYRzRnSUNBZ0lDQmRJRDBnYldsdU8xeHVJQ0FnSUNBZ0tHOXdRbVYwZDJWbGJsdGhkSFJ5WFNCaGN5Qk5ZVzVuYjFObGJHVmpkRzl5S1Z0Y2JpQWdJQ0FnSUNBZ2RISmhibk5zWVhSbFQzQmxjbUYwYjNKektFOXdaWEpoZEc5eUxsTk5RVXhNUlZKZlJWRXBYRzRnSUNBZ0lDQmRJRDBnYldGNE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2MyVnNaV04wYjNJNklHOXdRbVYwZDJWbGJpQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHeGxkQ0J2Y0RvZ1RXRnVaMjlUWld4bFkzUnZjaUE5SUh0OUlHRnpJRTFoYm1kdlUyVnNaV04wYjNJN1hHNGdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ1cwZHliM1Z3VDNCbGNtRjBiM0l1UVU1RUxDQkhjbTkxY0U5d1pYSmhkRzl5TGs5U0xDQlBjR1Z5WVhSdmNpNU9UMVJkTG1sdVpHVjRUMllvWEc0Z0lDQWdJQ0FnSUc5d1pYSmhkRzl5SUdGeklFZHliM1Z3VDNCbGNtRjBiM0pjYmlBZ0lDQWdJQ2tnUFQwOUlDMHhYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnZjRnRoZEhSeU1TQmhjeUJ6ZEhKcGJtZGRJRDBnZTMwZ1lYTWdUV0Z1WjI5VFpXeGxZM1J2Y2p0Y2JpQWdJQ0FnSUNodmNGdGhkSFJ5TVNCaGN5QnpkSEpwYm1kZElHRnpJRTFoYm1kdlUyVnNaV04wYjNJcFczUnlZVzV6YkdGMFpVOXdaWEpoZEc5eWN5aHZjR1Z5WVhSdmNpbGRJRDFjYmlBZ0lDQWdJQ0FnWTI5dGNHRnlhWE52Ymp0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c5d1pYSmhkRzl5SUQwOVBTQlBjR1Z5WVhSdmNpNU9UMVFwSUh0Y2JpQWdJQ0FnSUc5d0lEMGdkR2hwY3k1d1lYSnpaVU52Ym1ScGRHbHZiaWhoZEhSeU1TQmhjeUJEYjI1a2FYUnBiMjQ4VFQ0cExuTmxiR1ZqZEc5eUlHRnpJRTFoYm1kdlUyVnNaV04wYjNJN1hHNGdJQ0FnSUNCdmNGdDBjbUZ1YzJ4aGRHVlBjR1Z5WVhSdmNuTW9UM0JsY21GMGIzSXVUazlVS1YwZ1BTQjdmU0JoY3lCTllXNW5iMU5sYkdWamRHOXlPMXh1SUNBZ0lDQWdLRzl3VzNSeVlXNXpiR0YwWlU5d1pYSmhkRzl5Y3loUGNHVnlZWFJ2Y2k1T1QxUXBYU0JoY3lCTllXNW5iMU5sYkdWamRHOXlLVnRjYmlBZ0lDQWdJQ0FnS0dGMGRISXhJR0Z6SUhWdWEyNXZkMjRnWVhNZ2V5QmhkSFJ5TVRvZ2MzUnlhVzVuSUgwcExtRjBkSEl4WEc0Z0lDQWdJQ0JkSUQwZ1kyOXRjR0Z5YVhOdmJqdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiM0F4T2lCaGJua2dQU0IwYUdsekxuQmhjbk5sUTI5dVpHbDBhVzl1S0dGMGRISXhJR0Z6SUVOdmJtUnBkR2x2Ymp4TlBpa3VjMlZzWldOMGIzSTdYRzRnSUNBZ0lDQmpiMjV6ZENCdmNESTZJR0Z1ZVNBOUlIUm9hWE11Y0dGeWMyVkRiMjVrYVhScGIyNG9ZMjl0Y0dGeWFYTnZiaUJoY3lCRGIyNWthWFJwYjI0OFRUNHBMbk5sYkdWamRHOXlPMXh1SUNBZ0lDQWdiM0FnUFNCdFpYSm5aU2gwY21GdWMyeGhkR1ZQY0dWeVlYUnZjbk1vYjNCbGNtRjBiM0lwTENCdmNERXNJRzl3TWlrdWMyVnNaV04wYjNJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSHNnYzJWc1pXTjBiM0k2SUc5d0lIMDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFSjFhV3hrY3lCaGJpQmhaMmR5WldkaGRHVWdjWFZsY25rZ2FXWWdZV2RuY21WbllYUnBiMjRnYVhNZ2NtVnhkV1Z6ZEdWa1hHNGdJQ0FxSUVCemRXMXRZWEo1SUVOb1pXTnJjeUJtYjNJZ1lXZG5jbVZuWVhSbElHOXdaWEpoZEdsdmJuTWdZVzVrSUhKbGRIVnlibk1nWVNCemNHVmphV0ZzSUUxaGJtZHZVWFZsY25rZ1ptOXlJSFJvWlcxY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1luVnBiR1JCWjJkeVpXZGhkR1ZSZFdWeWVTZ3BPaUJOWVc1bmIxRjFaWEo1SUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCcFppQW9JWFJvYVhNdVpuSnZiVk5sYkdWamRHOXlLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtRjJaMU5sYkdWamRHOXlLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmhkSFJ5YVdKMWRHVWdQU0JUZEhKcGJtY29kR2hwY3k1aGRtZFRaV3hsWTNSdmNpazdYRzRnSUNBZ0lDQmpiMjV6ZENCemRXMUpibVp2SUQwZ2RHaHBjeTVqY21WaGRHVkJaMmR5WldkaGRHVkVaWE5qY21sd2RHOXlLRndpYzNWdFhDSXNJR0YwZEhKcFluVjBaU2s3WEc0Z0lDQWdJQ0JqYjI1emRDQmpiM1Z1ZEVsdVptOGdQU0IwYUdsekxtTnlaV0YwWlVGblozSmxaMkYwWlVSbGMyTnlhWEIwYjNJb1hDSmpiM1Z1ZEZ3aUxDQmhkSFJ5YVdKMWRHVXBPMXh1SUNBZ0lDQWdhV1lnS0NGemRXMUpibVp2SUh4OElDRmpiM1Z1ZEVsdVptOHBYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJSZFdWeWVVVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQkJkbWNnYjNCbGNtRjBhVzl1SUhKbGNYVnBjbVZ6SUhOMWJTQmhibVFnWTI5MWJuUWdkbWxsZDNNZ1ptOXlJR0YwZEhKcFluVjBaU0FrZTJGMGRISnBZblYwWlgxZ1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqY21WaGRHVkJaMmR5WldkaGRHVlJkV1Z5ZVNoN1hHNGdJQ0FnSUNBZ0lHdHBibVE2SUZ3aVlYWm5YQ0lzWEc0Z0lDQWdJQ0FnSUdGMGRISnBZblYwWlN4Y2JpQWdJQ0FnSUNBZ2MzVnRSR1Z6WTNKcGNIUnZjam9nYzNWdFNXNW1ieTVrWlhOamNtbHdkRzl5TEZ4dUlDQWdJQ0FnSUNCamIzVnVkRVJsYzJOeWFYQjBiM0k2SUdOdmRXNTBTVzVtYnk1a1pYTmpjbWx3ZEc5eUxGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjBhR2x6TG1OdmRXNTBSR2x6ZEdsdVkzUlRaV3hsWTNSdmNpQWhQVDBnWENKMWJtUmxabWx1WldSY0lpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1lYUjBjbWxpZFhSbElEMWNiaUFnSUNBZ0lDQWdkR2hwY3k1amIzVnVkRVJwYzNScGJtTjBVMlZzWldOMGIzSWdQVDBnYm5Wc2JGeHVJQ0FnSUNBZ0lDQWdJRDhnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FnSUNBZ09pQlRkSEpwYm1jb2RHaHBjeTVqYjNWdWRFUnBjM1JwYm1OMFUyVnNaV04wYjNJcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1bWJ5QTlJSFJvYVhNdVkzSmxZWFJsUVdkbmNtVm5ZWFJsUkdWelkzSnBjSFJ2Y2loY0ltUnBjM1JwYm1OMFhDSXNJR0YwZEhKcFluVjBaU2s3WEc0Z0lDQWdJQ0JwWmlBb2FXNW1ieWtnZTF4dUlDQWdJQ0FnSUNCcGJtWnZMbU52ZFc1MFJHbHpkR2x1WTNRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWpjbVZoZEdWQloyZHlaV2RoZEdWUmRXVnllU2hwYm1adktUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JoWjJkeVpXZGhkRzl5VlhObFpDQTlYRzRnSUNBZ0lDQjBlWEJsYjJZZ2RHaHBjeTVqYjNWdWRGTmxiR1ZqZEc5eUlDRTlQU0JjSW5WdVpHVm1hVzVsWkZ3aUlIeDhYRzRnSUNBZ0lDQjBlWEJsYjJZZ2RHaHBjeTVqYjNWdWRFUnBjM1JwYm1OMFUyVnNaV04wYjNJZ0lUMDlJRndpZFc1a1pXWnBibVZrWENJZ2ZIeGNiaUFnSUNBZ0lDRWhkR2hwY3k1dGFXNVRaV3hsWTNSdmNpQjhmRnh1SUNBZ0lDQWdJU0YwYUdsekxtMWhlRk5sYkdWamRHOXlJSHg4WEc0Z0lDQWdJQ0FoSVhSb2FYTXVjM1Z0VTJWc1pXTjBiM0lnZkh4Y2JpQWdJQ0FnSUNFaGRHaHBjeTVrYVhOMGFXNWpkRk5sYkdWamRHOXlPMXh1WEc0Z0lDQWdZMjl1YzNRZ1lXZG5jbVZuWVhSdmNrTm9aV05yY3pvZ1FYSnlZWGs4VzFacFpYZExhVzVrTENCVFpXeGxZM1JUWld4bFkzUnZjanhOUGlCOElIVnVaR1ZtYVc1bFpGMCtJRDBnVzF4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNCY0ltTnZkVzUwWENJc1hHNGdJQ0FnSUNBZ0lDaDBhR2x6TG1OdmRXNTBVMlZzWldOMGIzSWdQejhnZFc1a1pXWnBibVZrS1NCaGN5QlRaV3hsWTNSVFpXeGxZM1J2Y2p4TlBpQjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWENKdFlYaGNJaXdnZEdocGN5NXRZWGhUWld4bFkzUnZjbDBzWEc0Z0lDQWdJQ0JiWENKdGFXNWNJaXdnZEdocGN5NXRhVzVUWld4bFkzUnZjbDBzWEc0Z0lDQWdJQ0JiWENKemRXMWNJaXdnZEdocGN5NXpkVzFUWld4bFkzUnZjbDBzWEc0Z0lDQWdJQ0JiWENKa2FYTjBhVzVqZEZ3aUxDQjBhR2x6TG1ScGMzUnBibU4wVTJWc1pXTjBiM0pkTEZ4dUlDQWdJRjA3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUZ0cmFXNWtMQ0J6Wld4bFkzUnZjbDBnYjJZZ1lXZG5jbVZuWVhSdmNrTm9aV05yY3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWVhSMGNtbGlkWFJsSUQwZ2MyVnNaV04wYjNJZ1B5QlRkSEpwYm1jb2MyVnNaV04wYjNJcElEb2dkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FXNW1ieUE5SUhSb2FYTXVZM0psWVhSbFFXZG5jbVZuWVhSbFJHVnpZM0pwY0hSdmNpaHJhVzVrTENCaGRIUnlhV0oxZEdVcE8xeHVJQ0FnSUNBZ2FXWWdLR2x1Wm04cElISmxkSFZ5YmlCMGFHbHpMbU55WldGMFpVRm5aM0psWjJGMFpWRjFaWEo1S0dsdVptOHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hoWjJkeVpXZGhkRzl5VlhObFpDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRkYxWlhKNVJYSnliM0lvWEc0Z0lDQWdJQ0FnSUdCT2J5QkRiM1ZqYUVSQ0lIWnBaWGNnYldWMFlXUmhkR0VnWm05MWJtUWdabTl5SUhSaFlteGxJQ1I3VFc5a1pXd3VkR0ZpYkdWT1lXMWxLRnh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVabkp2YlZObGJHVmpkRzl5WEc0Z0lDQWdJQ0FnSUNsOUlHRm5aM0psWjJGMGIzSmdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJEY21WaGRHVnpJR0Z1SUdGblozSmxaMkYwWlNCa1pYTmpjbWx3ZEc5eUlHWnZjaUJoSUhacFpYY3RZbUZ6WldRZ1lXZG5jbVZuWVhScGIyNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdZM0psWVhSbFFXZG5jbVZuWVhSbFJHVnpZM0pwY0hSdmNpaGNiaUFnSUNCcmFXNWtPaUJXYVdWM1MybHVaQ3hjYmlBZ0lDQmhkSFJ5YVdKMWRHVS9PaUJ6ZEhKcGJtZGNiaUFnS1RvZ1JYaDBjbUZqZER4R1lXSnlhV05CWjJkeVpXZGhkR1ZKYm1adkxDQjdJR3RwYm1RNklGWnBaWGRMYVc1a0lIMCtJSHdnZFc1a1pXWnBibVZrSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11Wm5KdmJWTmxiR1ZqZEc5eUtTQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdOdmJuTjBJRzFsZEdGeklEMGdabWx1WkZacFpYZE5aWFJoWkdGMFlTaDBhR2x6TG1aeWIyMVRaV3hsWTNSdmNpd2dhMmx1WkN3Z1lYUjBjbWxpZFhSbEtUdGNiaUFnSUNCcFppQW9JVzFsZEdGekxteGxibWQwYUNrZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYjI1emRDQnRaWFJoSUQwZ2JXVjBZWE5iTUYwN1hHNGdJQ0FnWTI5dWMzUWdkR0ZpYkdWT1lXMWxJRDBnVFc5a1pXd3VkR0ZpYkdWT1lXMWxLSFJvYVhNdVpuSnZiVk5sYkdWamRHOXlLVHRjYmlBZ0lDQmpiMjV6ZENCMmFXVjNUbUZ0WlNBOUlHZGxibVZ5WVhSbFZtbGxkMDVoYldVb2RHRmliR1ZPWVcxbExDQnRaWFJoTG1GMGRISnBZblYwWlN3Z2EybHVaQ3dnYldWMFlTazdYRzRnSUNBZ1kyOXVjM1FnWkdSdll5QTlJRzFsZEdFdVpHUnZZeUI4ZkNCblpXNWxjbUYwWlVSbGMybG5ia1J2WTA1aGJXVW9kR0ZpYkdWT1lXMWxMQ0IyYVdWM1RtRnRaU2s3WEc0Z0lDQWdZMjl1YzNRZ2IzQjBhVzl1Y3pvZ1VtVmpiM0prUEhOMGNtbHVaeXdnWVc1NVBpQTlJSHRjYmlBZ0lDQWdJSEpsWkhWalpUb2diV1YwWVM1eVpXUjFZMlVnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JSFJ5ZFdVZ09pQWhiV1YwWVM1eVpYUjFjbTVFYjJOekxGeHVJQ0FnSUgwN1hHNGdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2laR2x6ZEdsdVkzUmNJaUI4ZkNCcmFXNWtJRDA5UFNCY0ltZHliM1Z3UW5sY0lpa2diM0IwYVc5dWN5NW5jbTkxY0NBOUlIUnlkV1U3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHdHBibVFzWEc0Z0lDQWdJQ0J0WlhSaExGeHVJQ0FnSUNBZ1pHVnpZM0pwY0hSdmNqb2dlMXh1SUNBZ0lDQWdJQ0JrWkc5akxGeHVJQ0FnSUNBZ0lDQjJhV1YzT2lCMmFXVjNUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ2IzQjBhVzl1Y3l4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTNKbFlYUmxjeUIwYUdVZ2MzQmxZMmxoYkNCaFoyZHlaV2RoZEdVZ1RXRnVaMjlSZFdWeWVTQnRZWEpyWlhKY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kzSmxZWFJsUVdkbmNtVm5ZWFJsVVhWbGNua29YRzRnSUNBZ2FXNW1iem9nUm1GaWNtbGpRV2RuY21WbllYUmxTVzVtYjF4dUlDQXBPaUJOWVc1bmIxRjFaWEo1SUNZZ2V5QmhaMmR5WldkaGRHVTZJSFJ5ZFdVN0lHRm5aM0psWjJGMFpVbHVabTg2SUVaaFluSnBZMEZuWjNKbFoyRjBaVWx1Wm04Z2ZTQjdYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUhObGJHVmpkRzl5T2lCN2ZTeGNiaUFnSUNBZ0lHRm5aM0psWjJGMFpUb2dkSEoxWlN4Y2JpQWdJQ0FnSUdGblozSmxaMkYwWlVsdVptODZJR2x1Wm04c1hHNGdJQ0FnZlNCaGN5Qk5ZVzVuYjFGMVpYSjVJQ1lnZXlCaFoyZHlaV2RoZEdVNklIUnlkV1U3SUdGblozSmxaMkYwWlVsdVptODZJRVpoWW5KcFkwRm5aM0psWjJGMFpVbHVabThnZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUjJWMGN5QjBhR1VnWVdSaGNIUmxjaUJqWVhOMElIUnZJRVpoWW5KcFkwTnNhV1Z1ZEVGa1lYQjBaWElnWm05eUlIWnBaWGNnWVdOalpYTnpYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR2RsZEVaaFluSnBZMEZrWVhCMFpYSW9LVG9nUm1GaWNtbGpRMnhwWlc1MFFXUmhjSFJsY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVlXUmhjSFJsY2lCaGN5QkdZV0p5YVdORGJHbGxiblJCWkdGd2RHVnlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkZlR1ZqZFhSbGN5QmhiaUJoWjJkeVpXZGhkR1VnY1hWbGNua2dkbWxoSUdGa1lYQjBaWEluY3lCMmFXVjNJRzFsZEdodlpGeHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCbGVHVmpkWFJsUVdkbmNtVm5ZWFJsUEZJK0tGeHVJQ0FnSUdsdVptODZJRVpoWW5KcFkwRm5aM0psWjJGMFpVbHVabThzWEc0Z0lDQWdZM1I0T2lCR1lXSnlhV05EYkdsbGJuUkRiMjUwWlhoMFhHNGdJQ2s2SUZCeWIyMXBjMlU4VWo0Z2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWnBaWGRCWjJkeVpXZGhkR1VvYVc1bWJ5a3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1oaGJtUnNaVUYyWlhKaFoyVThVajRvYVc1bWJ5d2dZM1I0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ1ptRmljbWxqUVdSaGNIUmxjaUE5SUhSb2FYTXVaMlYwUm1GaWNtbGpRV1JoY0hSbGNpZ3BPMXh1SUNBZ0lHTnZibk4wSUhacFpYZEpibVp2SUQwZ2FXNW1ieUJoY3lCRmVIUnlZV04wUEVaaFluSnBZMEZuWjNKbFoyRjBaVWx1Wm04c0lIc2dhMmx1WkRvZ1ZtbGxkMHRwYm1RZ2ZUNDdYRzRnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0JtWVdKeWFXTkJaR0Z3ZEdWeUxuWnBaWGM4Vm1sbGQxSmxjM0J2Ym5ObFBpaGNiaUFnSUNBZ0lIWnBaWGRKYm1adkxtUmxjMk55YVhCMGIzSXVaR1J2WXl4Y2JpQWdJQ0FnSUhacFpYZEpibVp2TG1SbGMyTnlhWEIwYjNJdWRtbGxkeXhjYmlBZ0lDQWdJSFpwWlhkSmJtWnZMbVJsYzJOeWFYQjBiM0l1YjNCMGFXOXVjeXhjYmlBZ0lDQWdJR04wZUZ4dUlDQWdJQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y0hKdlkyVnpjMVpwWlhkU1pYTndiMjV6WlR4U1BpaHBibVp2TENCeVpYTndiMjV6WlNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVoaGJtUnNaWE1nWVhabGNtRm5aU0JqWVd4amRXeGhkR2x2YmlCbWNtOXRJSE4xYlNCaGJtUWdZMjkxYm5RZ2RtbGxkM05jYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdhR0Z1Wkd4bFFYWmxjbUZuWlR4U1BpaGNiaUFnSUNCcGJtWnZPaUJHWVdKeWFXTkJaMmR5WldkaGRHVkpibVp2TEZ4dUlDQWdJR04wZURvZ1JtRmljbWxqUTJ4cFpXNTBRMjl1ZEdWNGRGeHVJQ0FwT2lCUWNtOXRhWE5sUEZJK0lIdGNiaUFnSUNCcFppQW9hVzVtYnk1cmFXNWtJQ0U5UFNCY0ltRjJaMXdpS1Z4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZGMVpYSjVSWEp5YjNJb1hDSkJkbVZ5WVdkbElHUmxjMk55YVhCMGIzSWdhWE1nYm05MElIWmhiR2xrWENJcE8xeHVJQ0FnSUdOdmJuTjBJR1poWW5KcFkwRmtZWEIwWlhJZ1BTQjBhR2x6TG1kbGRFWmhZbkpwWTBGa1lYQjBaWElvS1R0Y2JpQWdJQ0JqYjI1emRDQmJjM1Z0UkdWell5d2dZMjkxYm5SRVpYTmpYU0E5SUZ0cGJtWnZMbk4xYlVSbGMyTnlhWEIwYjNJc0lHbHVabTh1WTI5MWJuUkVaWE5qY21sd2RHOXlYVHRjYmlBZ0lDQmpiMjV6ZENCYmMzVnRVbVZ6Y0c5dWMyVXNJR052ZFc1MFVtVnpjRzl1YzJWZElEMGdZWGRoYVhRZ1VISnZiV2x6WlM1aGJHd29XMXh1SUNBZ0lDQWdabUZpY21salFXUmhjSFJsY2k1MmFXVjNQRlpwWlhkU1pYTndiMjV6WlQ0b1hHNGdJQ0FnSUNBZ0lITjFiVVJsYzJNdVpHUnZZeXhjYmlBZ0lDQWdJQ0FnYzNWdFJHVnpZeTUyYVdWM0xGeHVJQ0FnSUNBZ0lDQnpkVzFFWlhOakxtOXdkR2x2Ym5Nc1hHNGdJQ0FnSUNBZ0lHTjBlRnh1SUNBZ0lDQWdLU3hjYmlBZ0lDQWdJR1poWW5KcFkwRmtZWEIwWlhJdWRtbGxkenhXYVdWM1VtVnpjRzl1YzJVK0tGeHVJQ0FnSUNBZ0lDQmpiM1Z1ZEVSbGMyTXVaR1J2WXl4Y2JpQWdJQ0FnSUNBZ1kyOTFiblJFWlhOakxuWnBaWGNzWEc0Z0lDQWdJQ0FnSUdOdmRXNTBSR1Z6WXk1dmNIUnBiMjV6TEZ4dUlDQWdJQ0FnSUNCamRIaGNiaUFnSUNBZ0lDa3NYRzRnSUNBZ1hTazdYRzRnSUNBZ1kyOXVjM1FnYzNWdElEMGdjM1Z0VW1WemNHOXVjMlV1Y205M2N6OHVXekJkUHk1MllXeDFaU0EvUHlBd08xeHVJQ0FnSUdOdmJuTjBJR052ZFc1MElEMGdZMjkxYm5SU1pYTndiMjV6WlM1eWIzZHpQeTViTUYwL0xuWmhiSFZsSUQ4L0lEQTdYRzRnSUNBZ2FXWWdLQ0ZqYjNWdWRDa2djbVYwZFhKdUlEQWdZWE1nZFc1cmJtOTNiaUJoY3lCU08xeHVJQ0FnSUhKbGRIVnliaUFvYzNWdElDOGdZMjkxYm5RcElHRnpJSFZ1YTI1dmQyNGdZWE1nVWp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVUhKdlkyVnpjMlZ6SUhSb1pTQjJhV1YzSUhKbGMzQnZibk5sSUdKaGMyVmtJRzl1SUdGblozSmxaMkYwWlNCcmFXNWtYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJSEJ5YjJObGMzTldhV1YzVW1WemNHOXVjMlU4VWo0b1hHNGdJQ0FnYVc1bWJ6b2dSbUZpY21salFXZG5jbVZuWVhSbFNXNW1ieXhjYmlBZ0lDQnlaWE53YjI1elpUb2dWbWxsZDFKbGMzQnZibk5sWEc0Z0lDazZJRklnZTF4dUlDQWdJR2xtSUNocGJtWnZMbXRwYm1RZ1BUMDlJRndpWVhablhDSXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVWFZsY25sRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKQmRtVnlZV2RsSUhKbGMzVnNkSE1nYzJodmRXeGtJR0psSUdoaGJtUnNaV1FnWW1WbWIzSmxJSEJ5YjJObGMzTnBibWNnY205M2Mxd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhKdmQzTWdQU0J5WlhOd2IyNXpaUzV5YjNkeklIeDhJRnRkTzF4dUlDQWdJR052Ym5OMElIWnBaWGRKYm1adklEMGdhVzVtYnlCaGN5QkZlSFJ5WVdOMFBFWmhZbkpwWTBGblozSmxaMkYwWlVsdVptOHNJSHNnYTJsdVpEb2dWbWxsZDB0cGJtUWdmVDQ3WEc0Z0lDQWdZMjl1YzNRZ2JXVjBZU0E5SUhacFpYZEpibVp2TG0xbGRHRTdYRzRnSUNBZ2FXWWdLSFpwWlhkSmJtWnZMbU52ZFc1MFJHbHpkR2x1WTNRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2NtOTNjeTVzWlc1bmRHZ2dmSHdnTUNrZ1lYTWdkVzVyYm05M2JpQmhjeUJTTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZG1sbGQwbHVabTh1YTJsdVpDQTlQVDBnWENKa2FYTjBhVzVqZEZ3aUlIeDhJSFpwWlhkSmJtWnZMbXRwYm1RZ1BUMDlJRndpWjNKdmRYQkNlVndpS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY205M2N5NXRZWEFvS0hKdmR5a2dQVDRnY205M0xtdGxlU0EvUHlCeWIzY3VkbUZzZFdVcElHRnpJSFZ1YTI1dmQyNGdZWE1nVWp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0cxbGRHRXVjbVYwZFhKdVJHOWpjeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSEp2ZDNNdWJXRndLQ2h5YjNjcElEMCtJSEp2ZHk1MllXeDFaU0EvUHlCeWIzY3VaRzlqSUQ4L0lISnZkeWtnWVhNZ2RXNXJibTkzYmlCaGN5QlNPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9JWEp2ZDNNdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnS0hacFpYZEpibVp2TG10cGJtUWdQVDA5SUZ3aVkyOTFiblJjSWlBL0lEQWdPaUJ1ZFd4c0tTQmhjeUIxYm10dWIzZHVJR0Z6SUZJN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQW9jbTkzYzFzd1hTNTJZV3gxWlNBL1B5QnliM2R6V3pCZExtdGxlU0EvUHlCdWRXeHNLU0JoY3lCMWJtdHViM2R1SUdGeklGSTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGUjVjR1VnWjNWaGNtUWdkRzhnWTJobFkyc2dhV1lnYVc1bWJ5QnBjeUJoSUhacFpYY3RZbUZ6WldRZ1lXZG5jbVZuWVhSbFhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHbHpWbWxsZDBGblozSmxaMkYwWlNoY2JpQWdJQ0JwYm1adk9pQkdZV0p5YVdOQloyZHlaV2RoZEdWSmJtWnZYRzRnSUNrNklHbHVabThnYVhNZ1JYaDBjbUZqZER4R1lXSnlhV05CWjJkeVpXZGhkR1ZKYm1adkxDQjdJR3RwYm1RNklGWnBaWGRMYVc1a0lIMCtJSHRjYmlBZ0lDQnlaWFIxY200Z2FXNW1ieTVyYVc1a0lDRTlQU0JjSW1GMloxd2lPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
452
|
+
//# sourceMappingURL=FabricClientStatement.js.map
|
|
453
|
+
//# sourceMappingURL=FabricClientStatement.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client/FabricClientStatement.cjs","sourceRoot":"","sources":["client/FabricClientStatement.js"],"names":[],"mappings":"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"}
|
|
@@ -110,5 +110,5 @@ function writeCollectionDesignDocs(docs, p = process.cwd(), collection) {
|
|
|
110
110
|
return;
|
|
111
111
|
(0, generation_js_1.writeDesignDocs)(docs, p, collection);
|
|
112
112
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29sbGVjdGlvbnMvZ2VuZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUNBQThCO0FBc0R4RCxNQUFNLFVBQVUsYUFBYSxDQUMzQixjQUFzQixFQUN0QixNQUFjLEVBQ2QsaUJBQXlCLEVBQ3pCLFlBQW9CLEVBQ3BCLFdBQW1CLEVBQ25CLGNBQXVCLEVBQ3ZCLGVBQXdCO0lBRXhCLE9BQU87UUFDTCxJQUFJLEVBQUUsY0FBYztRQUNwQixNQUFNLEVBQUUsTUFBTTtRQUNkLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxlQUFlO0tBQ2hCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxLQUFhLEVBQ2IsaUJBQXlCLEdBQUcsS0FBSyxTQUFTLEVBQzFDLG9CQUE0QixDQUFDLEVBQzdCLGVBQXVCLENBQUMsRUFDeEIsY0FBc0IsQ0FBQyxFQUN2QixpQkFBMEIsSUFBSSxFQUM5QixrQkFBMkIsSUFBSTtJQUUvQixNQUFNLENBQUMsR0FBRyxhQUFhLENBQ3JCLGNBQWMsRUFDZCxPQUFPLEtBQUssV0FBVyxFQUN2QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFdBQVcsRUFDWCxjQUFjLEVBQ2QsZUFBZSxDQUNoQixDQUFDO0lBRUYsQ0FBQyxDQUFDLGlCQUFpQixHQUFHO1FBQ3BCLGVBQWUsRUFBRSxPQUFPLEtBQUssU0FBUztLQUN2QyxDQUFDO0lBQ0YsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxNQUFnQixFQUNoQixjQUFz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Q0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJEZXNpZ25Eb2MgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb25SZXNvbHZlciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcbmltcG9ydCB7IHdyaXRlRGVzaWduRG9jcyB9IGZyb20gXCIuLi9pbmRleGVzL2dlbmVyYXRpb25cIjtcblxuLy9cbi8vIGV4cG9ydCB0eXBlIEZhYnJpY0NvbGxlY3Rpb24gPSB7XG4vLyAgIG5hbWU6IFwiY29sbGVjdGlvbk1hcmJsZXNcIjtcbi8vICAgcG9saWN5OiBcIk9SKCdPcmcxTVNQLm1lbWJlcicsICdPcmcyTVNQLm1lbWJlcicpXCI7XG4vLyAgIHJlcXVpcmVkUGVlckNvdW50OiAwO1xuLy8gICBtYXhQZWVyQ291bnQ6IDM7XG4vLyAgIGJsb2NrVG9MaXZlOiAwO1xuLy8gICBtZW1iZXJPbmx5UmVhZDogdHJ1ZTtcbi8vICAgbWVtYmVyT25seVdyaXRlOiB0cnVlO1xuLy8gICBlbmRvcnNlbWVudFBvbGljeToge1xuLy8gICAgIGlkZW50aXRpZXM6IFtcbi8vICAgICAgIHsgcm9sZTogeyBuYW1lOiBcIm1lbWJlclwiOyBtc3BJZDogXCJPcmcxTVNQXCIgfSB9LFxuLy8gICAgICAgeyByb2xlOiB7IG5hbWU6IFwibWVtYmVyXCI7IG1zcElkOiBcIk9yZzJNU1BcIiB9IH0sXG4vLyAgICAgXTtcbi8vICAgICBydWxlOiBcIk9SKCdPcmcxTVNQLm1lbWJlcicsICdPcmcyTVNQLm1lbWJlcicpXCI7XG4vLyAgIH07XG4vLyB9O1xuXG5leHBvcnQgdHlwZSBGYWJyaWNQb2xpY3lJZGVudGl0eSA9IHtcbiAgcm9sZToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtc3BJZDogc3RyaW5nO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgRmFicmljQ29sbGVjdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwb2xpY3k6IHN0cmluZztcbiAgcmVxdWlyZWRQZWVyQ291bnQ6IG51bWJlcjtcbiAgbWF4UGVlckNvdW50OiBudW1iZXI7XG4gIGJsb2NrVG9MaXZlOiBudW1iZXI7XG4gIG1lbWJlck9ubHlSZWFkOiBib29sZWFuO1xuICBtZW1iZXJPbmx5V3JpdGU6IGJvb2xlYW47XG4gIGVuZG9yc2VtZW50UG9saWN5OiB7XG4gICAgaWRlbnRpdGllczogRmFicmljUG9saWN5SWRlbnRpdHlbXTtcbiAgICBydWxlOiBzdHJpbmc7XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBQcml2YXRlQ29sbGVjdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwb2xpY3k6IHN0cmluZztcbiAgcmVxdWlyZWRQZWVyQ291bnQ6IG51bWJlcjtcbiAgbWF4UGVlckNvdW50OiBudW1iZXI7XG4gIGJsb2NrVG9MaXZlOiBudW1iZXI7XG4gIG1lbWJlck9ubHlSZWFkOiBib29sZWFuO1xuICBtZW1iZXJPbmx5V3JpdGU6IGJvb2xlYW47XG4gIGVuZG9yc2VtZW50UG9saWN5Pzoge1xuICAgIHNpZ25hdHVyZVBvbGljeTogc3RyaW5nO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbGxlY3Rpb25Gb3IoXG4gIGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsXG4gIHBvbGljeTogc3RyaW5nLFxuICByZXF1aXJlZFBlZXJDb3VudDogbnVtYmVyLFxuICBtYXhQZWVyQ291bnQ6IG51bWJlcixcbiAgYmxvY2tUb0xpdmU6IG51bWJlcixcbiAgbWVtYmVyT25seVJlYWQ6IGJvb2xlYW4sXG4gIG1lbWJlck9ubHlXcml0ZTogYm9vbGVhblxuKTogUHJpdmF0ZUNvbGxlY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGNvbGxlY3Rpb25OYW1lLFxuICAgIHBvbGljeTogcG9saWN5LFxuICAgIHJlcXVpcmVkUGVlckNvdW50LFxuICAgIG1heFBlZXJDb3VudCxcbiAgICBibG9ja1RvTGl2ZSxcbiAgICBtZW1iZXJPbmx5UmVhZCxcbiAgICBtZW1iZXJPbmx5V3JpdGUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcml2YXRlQ29sbGVjdGlvbkZvcihcbiAgbXNwSWQ6IHN0cmluZyxcbiAgY29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IGAke21zcElkfVByaXZhdGVgLFxuICByZXF1aXJlZFBlZXJDb3VudDogbnVtYmVyID0gMCxcbiAgbWF4UGVlckNvdW50OiBudW1iZXIgPSAwLFxuICBibG9ja1RvTGl2ZTogbnVtYmVyID0gMCxcbiAgbWVtYmVyT25seVJlYWQ6IGJvb2xlYW4gPSB0cnVlLFxuICBtZW1iZXJPbmx5V3JpdGU6IGJvb2xlYW4gPSB0cnVlXG4pOiBQcml2YXRlQ29sbGVjdGlvbiB7XG4gIGNvbnN0IGMgPSBjb2xsZWN0aW9uRm9yKFxuICAgIGNvbGxlY3Rpb25OYW1lLFxuICAgIGBPUignJHttc3BJZH0ubWVtYmVyJylgLFxuICAgIHJlcXVpcmVkUGVlckNvdW50LFxuICAgIG1heFBlZXJDb3VudCxcbiAgICBibG9ja1RvTGl2ZSxcbiAgICBtZW1iZXJPbmx5UmVhZCxcbiAgICBtZW1iZXJPbmx5V3JpdGVcbiAgKTtcblxuICBjLmVuZG9yc2VtZW50UG9saWN5ID0ge1xuICAgIHNpZ25hdHVyZVBvbGljeTogYE9SKCcke21zcElkfS5wZWVyJylgLFxuICB9O1xuICByZXR1cm4gYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlZENvbGxlY3Rpb25Gb3IoXG4gIG1zcElkczogc3RyaW5nW10sXG4gIGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsXG4gIHJlcXVpcmVkUGVlckNvdW50OiBudW1iZXIgPSAxLFxuICBtYXhQZWVyQ291bnQ6IG51bWJlciA9IDIsXG4gIGJsb2NrVG9MaXZlOiBudW1iZXIgPSAwLFxuICBtZW1iZXJPbmx5UmVhZDogYm9vbGVhbiA9IHRydWUsXG4gIG1lbWJlck9ubHlXcml0ZTogYm9vbGVhbiA9IHRydWVcbik6IFByaXZhdGVDb2xsZWN0aW9uIHtcbiAgY29uc3QgYyA9IGNvbGxlY3Rpb25Gb3IoXG4gICAgY29sbGVjdGlvbk5hbWUsXG4gICAgYE9SKCR7bXNwSWRzLm1hcCgobSkgPT4gYCcke219Lm1lbWJlcidgKS5qb2luKFwiLFwiKX0pYCxcbiAgICByZXF1aXJlZFBlZXJDb3VudCxcbiAgICBtYXhQZWVyQ291bnQsXG4gICAgYmxvY2tUb0xpdmUsXG4gICAgbWVtYmVyT25seVJlYWQsXG4gICAgbWVtYmVyT25seVdyaXRlXG4gICk7XG4gIGMuZW5kb3JzZW1lbnRQb2xpY3kgPSB7XG4gICAgc2lnbmF0dXJlUG9saWN5OiBgQU5EKCR7bXNwSWRzLm1hcCgobSkgPT4gYCcke219LnBlZXInYCkuam9pbihcIixcIil9KWAsXG4gIH07XG4gIHJldHVybiBjO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXh0cmFjdENvbGxlY3Rpb25zPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIG06IENvbnN0cnVjdG9yPE0+LFxuICBtc3BJZHM6IHN0cmluZ1tdLFxuICBvdmVycmlkZXM6IHtcbiAgICBwcml2YXRlQ29scz86IFBhcnRpYWw8UHJpdmF0ZUNvbGxlY3Rpb24+O1xuICAgIHNoYXJlZENvbHM/OiBQYXJ0aWFsPFByaXZhdGVDb2xsZWN0aW9uPjtcbiAgfSA9IHt9LFxuICBtaXJyb3I6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIGxldCB7IHByaXZhdGVDb2xzLCBzaGFyZWRDb2xzIH0gPSBNb2RlbC5jb2xsZWN0aW9uc0ZvcihtKTtcblxuICBmdW5jdGlvbiByZXNvbHZlQ29sbGVjdGlvbihhcmc6IHN0cmluZyB8IENvbGxlY3Rpb25SZXNvbHZlcik6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2YgYXJnID09PSBcInN0cmluZ1wiKSByZXR1cm4gYXJnO1xuICAgICAgcmV0dXJuIGFyZyhtLCBtc3BJZHNbMF0pIGFzIHN0cmluZztcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlQ29scyA9IHByaXZhdGVDb2xzLm1hcChyZXNvbHZlQ29sbGVjdGlvbik7XG4gIHNoYXJlZENvbHMgPSBzaGFyZWRDb2xzLm1hcChyZXNvbHZlQ29sbGVjdGlvbik7XG5cbiAgY29uc3QgcHJpdmF0ZURlZmF1bHRzID0gT2JqZWN0LmFzc2lnbihcbiAgICB7fSxcbiAgICB7XG4gICAgICByZXF1aXJlZFBlZXJDb3VudDogMCxcbiAgICAgIG1heFBlZXJDb3VudDogMCxcbiAgICAgIGJsb2NrVG9MaXZlOiAwLFxuICAgICAgbWVtYmVyT25seVJlYWQ6IHRydWUsXG4gICAgICBtZW1iZXJPbmx5V3JpdGU6IHRydWUsXG4gICAgfSxcbiAgICBvdmVycmlkZXM/LnByaXZhdGVDb2xzIHx8IHt9XG4gICk7XG4gIGNvbnN0IHNoYXJlZERlZmF1bHRzID0gT2JqZWN0LmFzc2lnbihcbiAgICB7fSxcbiAgICB7XG4gICAgICByZXF1aXJlZFBlZXJDb3VudDogMSxcbiAgICAgIG1heFBlZXJDb3VudDogMixcbiAgICAgIGJsb2NrVG9MaXZlOiAwLFxuICAgICAgbWVtYmVyT25seVJlYWQ6IHRydWUsXG4gICAgICBtZW1iZXJPbmx5V3JpdGU6IHRydWUsXG4gICAgfSxcbiAgICBvdmVycmlkZXM/LnNoYXJlZENvbHMgfHwge31cbiAgKTtcblxuICBjb25zdCBtaXJyb3JNZXRhID0gbWlycm9yID8gTW9kZWwubWlycm9yZWRBdChtKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBwcml2YXRlcyA9IG1zcElkc1xuICAgIC5tYXAoKG1zcElkKSA9PlxuICAgICAgKHByaXZhdGVDb2xzIGFzIHN0cmluZ1tdKS5tYXAoKHApID0+IHtcbiAgICAgICAgY29uc3QgeyByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQgfSA9XG4gICAgICAgICAgcHJpdmF0ZURlZmF1bHRzO1xuICAgICAgICByZXR1cm4gcHJpdmF0ZUNvbGxlY3Rpb25Gb3IoXG4gICAgICAgICAgbXNwSWQsXG4gICAgICAgICAgcCxcbiAgICAgICAgICByZXF1aXJlZFBlZXJDb3VudCxcbiAgICAgICAgICBtYXhQZWVyQ291bnQsXG4gICAgICAgICAgYmxvY2tUb0xpdmUsXG4gICAgICAgICAgbWVtYmVyT25seVJlYWQsXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKVxuICAgIC5mbGF0KCk7XG5cbiAgaWYgKG1pcnJvck1ldGEgJiYgbWlycm9yTWV0YS5tc3BJZCkge1xuICAgIGNvbnN0IHJlc29sdmVkID1cbiAgICAgIHR5cGVvZiBtaXJyb3JNZXRhLnJlc29sdmVyID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gbWlycm9yTWV0YS5yZXNvbHZlclxuICAgICAgICA6IG1pcnJvck1ldGEucmVzb2x2ZXIobSwgbWlycm9yTWV0YS5tc3BJZCk7XG4gICAgaWYgKFxuICAgICAgcmVzb2x2ZWQgJiZcbiAgICAgICFwcml2YXRlcy5zb21lKFxuICAgICAgICAocCkgPT4gcC5uYW1lID09PSByZXNvbHZlZCAmJiBwLnBvbGljeS5pbmNsdWRlcyhtaXJyb3JNZXRhLm1zcElkKVxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3QgeyByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQgfSA9XG4gICAgICAgIHByaXZhdGVEZWZhdWx0cztcbiAgICAgIHByaXZhdGVzLnB1c2goXG4gICAgICAgIHByaXZhdGVDb2xsZWN0aW9uRm9yKFxuICAgICAgICAgIG1pcnJvck1ldGEubXNwSWQsXG4gICAgICAgICAgcmVzb2x2ZWQsXG4gICAgICAgICAgcmVxdWlyZWRQZWVyQ291bnQsXG4gICAgICAgICAgbWF4UGVlckNvdW50LFxuICAgICAgICAgIGJsb2NrVG9MaXZlLFxuICAgICAgICAgIG1lbWJlck9ubHlSZWFkLFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2hhcmVkID0gKHNoYXJlZENvbHMgYXMgc3RyaW5nW10pLm1hcCgocCkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHJlcXVpcmVkUGVlckNvdW50LFxuICAgICAgbWF4UGVlckNvdW50LFxuICAgICAgYmxvY2tUb0xpdmUsXG4gICAgICBtZW1iZXJPbmx5UmVhZCxcbiAgICAgIG1lbWJlck9ubHlXcml0ZSxcbiAgICB9ID0gc2hhcmVkRGVmYXVsdHM7XG4gICAgcmV0dXJuIHNoYXJlZENvbGxlY3Rpb25Gb3IoXG4gICAgICBtc3BJZHMsXG4gICAgICBwLFxuICAgICAgcmVxdWlyZWRQZWVyQ291bnQsXG4gICAgICBtYXhQZWVyQ291bnQsXG4gICAgICBibG9ja1RvTGl2ZSxcbiAgICAgIG1lbWJlck9ubHlSZWFkLFxuICAgICAgbWVtYmVyT25seVdyaXRlXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBwcml2YXRlcyxcbiAgICBzaGFyZWQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUNvbGxlY3Rpb25zKFxuICBjb2xzOiBQcml2YXRlQ29sbGVjdGlvbltdLFxuICBwOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpLFxuICBmaWxlTmFtZSA9IFwiY29sbGVjdGlvbnNfY29uZmlnXCJcbikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuXG4gIGZ1bmN0aW9uIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgZGlybmFtZTogc3RyaW5nID0gcGF0aC5kaXJuYW1lKGZpbGVQYXRoKSBhcyBzdHJpbmc7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZGlybmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbnN1cmVEaXJlY3RvcnlFeGlzdGVuY2UoZGlybmFtZSk7XG4gICAgZnMubWtkaXJTeW5jKGRpcm5hbWUpO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IHBhdGgucmVzb2x2ZShwYXRoLmpvaW4ocCwgYC4vTUVUQS1JTkYvJHtmaWxlTmFtZX0uanNvbmApKTtcbiAgZW5zdXJlRGlyZWN0b3J5RXhpc3RlbmNlKGZpbGUpO1xuICBmcy53cml0ZUZpbGVTeW5jKGZpbGUsIEpTT04uc3RyaW5naWZ5KGNvbHMsIHVuZGVmaW5lZCwgMikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVDb2xsZWN0aW9uRGVzaWduRG9jcyhcbiAgZG9jczogQ291Y2hEQkRlc2lnbkRvY1tdLFxuICBwOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpLFxuICBjb2xsZWN0aW9uPzogc3RyaW5nXG4pIHtcbiAgaWYgKCFkb2NzPy5sZW5ndGgpIHJldHVybjtcbiAgd3JpdGVEZXNpZ25Eb2NzKGRvY3MsIHAsIGNvbGxlY3Rpb24pO1xufVxuIl19
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdlbmVyYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxzQ0FVQztBQUNELG9EQU1DO0FBQ0Qsa0RBTUM7QUFDRCxnREFxREM7QUFDRCw0Q0FnQkM7QUFDRCw4REFJQztBQXZHRCx5RUFBdUQ7QUFDdkQsMkRBQXdEO0FBQ3hELDhEQUE2RDtBQUM3RCxTQUFnQixhQUFhLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxlQUFlO0lBQy9ILE9BQU87UUFDSCxJQUFJLEVBQUUsY0FBYztRQUNwQixNQUFNLEVBQUUsTUFBTTtRQUNkLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxlQUFlO0tBQ2xCLENBQUM7QUFDTixDQUFDO0FBQ0QsU0FBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxHQUFHLEtBQUssU0FBUyxFQUFFLGlCQUFpQixHQUFHLENBQUMsRUFBRSxZQUFZLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsY0FBYyxHQUFHLElBQUksRUFBRSxlQUFlLEdBQUcsSUFBSTtJQUNuTCxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsY0FBYyxFQUFFLE9BQU8sS0FBSyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDaEosQ0FBQyxDQUFDLGlCQUFpQixHQUFHO1FBQ2xCLGVBQWUsRUFBRSxPQUFPLEtBQUssU0FBUztLQUN6QyxDQUFDO0lBQ0YsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBQ0QsU0FBZ0IsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsR0FBRyxDQUFDLEVBQUUsWUFBWSxHQUFHLENBQUMsRUFBRSxXQUFXLEdBQUcs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IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHdyaXRlRGVzaWduRG9jcyB9IGZyb20gXCIuLy4uL2luZGV4ZXMvZ2VuZXJhdGlvbi5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGNvbGxlY3Rpb25Gb3IoY29sbGVjdGlvbk5hbWUsIHBvbGljeSwgcmVxdWlyZWRQZWVyQ291bnQsIG1heFBlZXJDb3VudCwgYmxvY2tUb0xpdmUsIG1lbWJlck9ubHlSZWFkLCBtZW1iZXJPbmx5V3JpdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBjb2xsZWN0aW9uTmFtZSxcbiAgICAgICAgcG9saWN5OiBwb2xpY3ksXG4gICAgICAgIHJlcXVpcmVkUGVlckNvdW50LFxuICAgICAgICBtYXhQZWVyQ291bnQsXG4gICAgICAgIGJsb2NrVG9MaXZlLFxuICAgICAgICBtZW1iZXJPbmx5UmVhZCxcbiAgICAgICAgbWVtYmVyT25seVdyaXRlLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcHJpdmF0ZUNvbGxlY3Rpb25Gb3IobXNwSWQsIGNvbGxlY3Rpb25OYW1lID0gYCR7bXNwSWR9UHJpdmF0ZWAsIHJlcXVpcmVkUGVlckNvdW50ID0gMCwgbWF4UGVlckNvdW50ID0gMCwgYmxvY2tUb0xpdmUgPSAwLCBtZW1iZXJPbmx5UmVhZCA9IHRydWUsIG1lbWJlck9ubHlXcml0ZSA9IHRydWUpIHtcbiAgICBjb25zdCBjID0gY29sbGVjdGlvbkZvcihjb2xsZWN0aW9uTmFtZSwgYE9SKCcke21zcElkfS5tZW1iZXInKWAsIHJlcXVpcmVkUGVlckNvdW50LCBtYXhQZWVyQ291bnQsIGJsb2NrVG9MaXZlLCBtZW1iZXJPbmx5UmVhZCwgbWVtYmVyT25seVdyaXRlKTtcbiAgICBjLmVuZG9yc2VtZW50UG9saWN5ID0ge1xuICAgICAgICBzaWduYXR1cmVQb2xpY3k6IGBPUignJHttc3BJZH0ucGVlcicpYCxcbiAgICB9O1xuICAgIHJldHVybiBjO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlZENvbGxlY3Rpb25Gb3IobXNwSWRzLCBjb2xsZWN0aW9uTmFtZSwgcmVxdWlyZWRQZWVyQ291bnQgPSAxLCBtYXhQZWVyQ291bnQgPSAyLCBibG9ja1RvTGl2ZSA9IDAsIG1lbWJlck9ubHlSZWFkID0gdHJ1ZSwgbWVtYmVyT25seVdyaXRlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGMgPSBjb2xsZWN0aW9uRm9yKGNvbGxlY3Rpb25OYW1lLCBgT1IoJHttc3BJZHMubWFwKChtKSA9PiBgJyR7bX0ubWVtYmVyJ2ApLmpvaW4oXCIsXCIpfSlgLCByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQsIG1lbWJlck9ubHlXcml0ZSk7XG4gICAgYy5lbmRvcnNlbWVudFBvbGljeSA9IHtcbiAgICAgICAgc2lnbmF0dXJlUG9saWN5OiBgQU5EKCR7bXNwSWRzLm1hcCgobSkgPT4gYCcke219LnBlZXInYCkuam9pbihcIixcIil9KWAsXG4gICAgfTtcbiAgICByZXR1cm4gYztcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleHRyYWN0Q29sbGVjdGlvbnMobSwgbXNwSWRzLCBvdmVycmlkZXMgPSB7fSwgbWlycm9yID0gZmFsc2UpIHtcbiAgICBsZXQgeyBwcml2YXRlQ29scywgc2hhcmVkQ29scyB9ID0gTW9kZWwuY29sbGVjdGlvbnNGb3IobSk7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUNvbGxlY3Rpb24oYXJnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGFyZyA9PT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgICAgICAgcmV0dXJuIGFyZyhtLCBtc3BJZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlQ29scyA9IHByaXZhdGVDb2xzLm1hcChyZXNvbHZlQ29sbGVjdGlvbik7XG4gICAgc2hhcmVkQ29scyA9IHNoYXJlZENvbHMubWFwKHJlc29sdmVDb2xsZWN0aW9uKTtcbiAgICBjb25zdCBwcml2YXRlRGVmYXVsdHMgPSBPYmplY3QuYXNzaWduKHt9LCB7XG4gICAgICAgIHJlcXVpcmVkUGVlckNvdW50OiAwLFxuICAgICAgICBtYXhQZWVyQ291bnQ6IDAsXG4gICAgICAgIGJsb2NrVG9MaXZlOiAwLFxuICAgICAgICBtZW1iZXJPbmx5UmVhZDogdHJ1ZSxcbiAgICAgICAgbWVtYmVyT25seVdyaXRlOiB0cnVlLFxuICAgIH0sIG92ZXJyaWRlcz8ucHJpdmF0ZUNvbHMgfHwge30pO1xuICAgIGNvbnN0IHNoYXJlZERlZmF1bHRzID0gT2JqZWN0LmFzc2lnbih7fSwge1xuICAgICAgICByZXF1aXJlZFBlZXJDb3VudDogMSxcbiAgICAgICAgbWF4UGVlckNvdW50OiAyLFxuICAgICAgICBibG9ja1RvTGl2ZTogMCxcbiAgICAgICAgbWVtYmVyT25seVJlYWQ6IHRydWUsXG4gICAgICAgIG1lbWJlck9ubHlXcml0ZTogdHJ1ZSxcbiAgICB9LCBvdmVycmlkZXM/LnNoYXJlZENvbHMgfHwge30pO1xuICAgIGNvbnN0IG1pcnJvck1ldGEgPSBtaXJyb3IgPyBNb2RlbC5taXJyb3JlZEF0KG0pIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByaXZhdGVzID0gbXNwSWRzXG4gICAgICAgIC5tYXAoKG1zcElkKSA9PiBwcml2YXRlQ29scy5tYXAoKHApID0+IHtcbiAgICAgICAgY29uc3QgeyByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQgfSA9IHByaXZhdGVEZWZhdWx0cztcbiAgICAgICAgcmV0dXJuIHByaXZhdGVDb2xsZWN0aW9uRm9yKG1zcElkLCBwLCByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQsIGZhbHNlKTtcbiAgICB9KSlcbiAgICAgICAgLmZsYXQoKTtcbiAgICBpZiAobWlycm9yTWV0YSAmJiBtaXJyb3JNZXRhLm1zcElkKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gdHlwZW9mIG1pcnJvck1ldGEucmVzb2x2ZXIgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gbWlycm9yTWV0YS5yZXNvbHZlclxuICAgICAgICAgICAgOiBtaXJyb3JNZXRhLnJlc29sdmVyKG0sIG1pcnJvck1ldGEubXNwSWQpO1xuICAgICAgICBpZiAocmVzb2x2ZWQgJiZcbiAgICAgICAgICAgICFwcml2YXRlcy5zb21lKChwKSA9PiBwLm5hbWUgPT09IHJlc29sdmVkICYmIHAucG9saWN5LmluY2x1ZGVzKG1pcnJvck1ldGEubXNwSWQpKSkge1xuICAgICAgICAgICAgY29uc3QgeyByZXF1aXJlZFBlZXJDb3VudCwgbWF4UGVlckNvdW50LCBibG9ja1RvTGl2ZSwgbWVtYmVyT25seVJlYWQgfSA9IHByaXZhdGVEZWZhdWx0cztcbiAgICAgICAgICAgIHByaXZhdGVzLnB1c2gocHJpdmF0ZUNvbGxlY3Rpb25Gb3IobWlycm9yTWV0YS5tc3BJZCwgcmVzb2x2ZWQsIHJlcXVpcmVkUGVlckNvdW50LCBtYXhQZWVyQ291bnQsIGJsb2NrVG9MaXZlLCBtZW1iZXJPbmx5UmVhZCwgZmFsc2UpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzaGFyZWQgPSBzaGFyZWRDb2xzLm1hcCgocCkgPT4ge1xuICAgICAgICBjb25zdCB7IHJlcXVpcmVkUGVlckNvdW50LCBtYXhQZWVyQ291bnQsIGJsb2NrVG9MaXZlLCBtZW1iZXJPbmx5UmVhZCwgbWVtYmVyT25seVdyaXRlLCB9ID0gc2hhcmVkRGVmYXVsdHM7XG4gICAgICAgIHJldHVybiBzaGFyZWRDb2xsZWN0aW9uRm9yKG1zcElkcywgcCwgcmVxdWlyZWRQZWVyQ291bnQsIG1heFBlZXJDb3VudCwgYmxvY2tUb0xpdmUsIG1lbWJlck9ubHlSZWFkLCBtZW1iZXJPbmx5V3JpdGUpO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByaXZhdGVzLFxuICAgICAgICBzaGFyZWQsXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUNvbGxlY3Rpb25zKGNvbHMsIHAgPSBwcm9jZXNzLmN3ZCgpLCBmaWxlTmFtZSA9IFwiY29sbGVjdGlvbnNfY29uZmlnXCIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgY29uc3QgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuICAgIGZ1bmN0aW9uIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlUGF0aCkge1xuICAgICAgICBjb25zdCBkaXJuYW1lID0gcGF0aC5kaXJuYW1lKGZpbGVQYXRoKTtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoZGlybmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShkaXJuYW1lKTtcbiAgICAgICAgZnMubWtkaXJTeW5jKGRpcm5hbWUpO1xuICAgIH1cbiAgICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbihwLCBgLi9NRVRBLUlORi8ke2ZpbGVOYW1lfS5qc29uYCkpO1xuICAgIGVuc3VyZURpcmVjdG9yeUV4aXN0ZW5jZShmaWxlKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGUsIEpTT04uc3RyaW5naWZ5KGNvbHMsIHVuZGVmaW5lZCwgMikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlQ29sbGVjdGlvbkRlc2lnbkRvY3MoZG9jcywgcCA9IHByb2Nlc3MuY3dkKCksIGNvbGxlY3Rpb24pIHtcbiAgICBpZiAoIWRvY3M/Lmxlbmd0aClcbiAgICAgICAgcmV0dXJuO1xuICAgIHdyaXRlRGVzaWduRG9jcyhkb2NzLCBwLCBjb2xsZWN0aW9uKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVoyVnVaWEpoZEdsdmJpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYkdsbGJuUXZZMjlzYkdWamRHbHZibk12WjJWdVpYSmhkR2x2Ymk1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGRrUXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCUlhoRUxFOUJRVThzUlVGQlJTeGxRVUZsTEVWQlFVVXNiVU5CUVRoQ08wRkJjMFI0UkN4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVNelFpeGpRVUZ6UWl4RlFVTjBRaXhOUVVGakxFVkJRMlFzYVVKQlFYbENMRVZCUTNwQ0xGbEJRVzlDTEVWQlEzQkNMRmRCUVcxQ0xFVkJRMjVDTEdOQlFYVkNMRVZCUTNaQ0xHVkJRWGRDTzBsQlJYaENMRTlCUVU4N1VVRkRUQ3hKUVVGSkxFVkJRVVVzWTBGQll6dFJRVU53UWl4TlFVRk5MRVZCUVVVc1RVRkJUVHRSUVVOa0xHbENRVUZwUWp0UlFVTnFRaXhaUVVGWk8xRkJRMW9zVjBGQlZ6dFJRVU5ZTEdOQlFXTTdVVUZEWkN4bFFVRmxPMHRCUTJoQ0xFTkJRVU03UVVGRFNpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzlDUVVGdlFpeERRVU5zUXl4TFFVRmhMRVZCUTJJc2FVSkJRWGxDTEVkQlFVY3NTMEZCU3l4VFFVRlRMRVZCUXpGRExHOUNRVUUwUWl4RFFVRkRMRVZCUXpkQ0xHVkJRWFZDTEVOQlFVTXNSVUZEZUVJc1kwRkJjMElzUTBGQlF5eEZRVU4yUWl4cFFrRkJNRUlzU1VGQlNTeEZRVU01UWl4clFrRkJNa0lzU1VGQlNUdEpRVVV2UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhoUVVGaExFTkJRM0pDTEdOQlFXTXNSVUZEWkN4UFFVRlBMRXRCUVVzc1YwRkJWeXhGUVVOMlFpeHBRa0ZCYVVJc1JVRkRha0lzV1VGQldTeEZRVU5hTEZkQlFWY3NSVUZEV0N4alFVRmpMRVZCUTJRc1pVRkJaU3hEUVVOb1FpeERRVUZETzBsQlJVWXNRMEZCUXl4RFFVRkRMR2xDUVVGcFFpeEhRVUZITzFGQlEzQkNMR1ZCUVdVc1JVRkJSU3hQUVVGUExFdEJRVXNzVTBGQlV6dExRVU4yUXl4RFFVRkRPMGxCUTBZc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGRFdDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzFDUVVGdFFpeERRVU5xUXl4TlFVRm5RaXhGUVVOb1FpeGpRVUZ6UWl4RlFVTjBRaXh2UWtGQk5FSXNRMEZCUXl4RlFVTTNRaXhsUVVGMVFpeERRVUZETEVWQlEzaENMR05CUVhOQ0xFTkJRVU1zUlVGRGRrSXNhVUpCUVRCQ0xFbEJRVWtzUlVGRE9VSXNhMEpCUVRKQ0xFbEJRVWs3U1VGRkwwSXNUVUZCVFN4RFFVRkRMRWRCUVVjc1lVRkJZU3hEUVVOeVFpeGpRVUZqTEVWQlEyUXNUVUZCVFN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUTNKRUxHbENRVUZwUWl4RlFVTnFRaXhaUVVGWkxFVkJRMW9zVjBGQlZ5eEZRVU5ZTEdOQlFXTXNSVUZEWkN4bFFVRmxMRU5CUTJoQ0xFTkJRVU03U1VGRFJpeERRVUZETEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWM3VVVGRGNFSXNaVUZCWlN4RlFVRkZMRTlCUVU4c1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSenRMUVVOMFJTeERRVUZETzBsQlEwWXNUMEZCVHl4RFFVRkRMRU5CUVVNN1FVRkRXQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeERRVUZETEV0QlFVc3NWVUZCVlN4clFrRkJhMElzUTBGRGRFTXNRMEZCYVVJc1JVRkRha0lzVFVGQlowSXNSVUZEYUVJc1dVRkhTU3hGUVVGRkxFVkJRMDRzVTBGQmEwSXNTMEZCU3p0SlFVVjJRaXhKUVVGSkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEZWQlFWVXNSVUZCUlN4SFFVRkhMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGTVVRc1UwRkJVeXhwUWtGQmFVSXNRMEZCUXl4SFFVRm5RenRSUVVONlJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4SlFVRkpMRTlCUVU4c1IwRkJSeXhMUVVGTExGRkJRVkU3WjBKQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN1dVRkRlRU1zVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlZ5eERRVUZETzFGQlEzSkRMRU5CUVVNN1VVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzFsQlEzQkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zUTBGQlZTeERRVUZETEVOQlFVTTdVVUZEZEVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTJwRUxGVkJRVlVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdTVUZGTDBNc1RVRkJUU3hsUVVGbExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZEYmtNc1JVRkJSU3hGUVVOR08xRkJRMFVzYVVKQlFXbENMRVZCUVVVc1EwRkJRenRSUVVOd1FpeFpRVUZaTEVWQlFVVXNRMEZCUXp0UlFVTm1MRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRMlFzWTBGQll5eEZRVUZGTEVsQlFVazdVVUZEY0VJc1pVRkJaU3hGUVVGRkxFbEJRVWs3UzBGRGRFSXNSVUZEUkN4VFFVRlRMRVZCUVVVc1YwRkJWeXhKUVVGSkxFVkJRVVVzUTBGRE4wSXNRMEZCUXp0SlFVTkdMRTFCUVUwc1kwRkJZeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlEyeERMRVZCUVVVc1JVRkRSanRSUVVORkxHbENRVUZwUWl4RlFVRkZMRU5CUVVNN1VVRkRjRUlzV1VGQldTeEZRVUZGTEVOQlFVTTdVVUZEWml4WFFVRlhMRVZCUVVVc1EwRkJRenRSUVVOa0xHTkJRV01zUlVGQlJTeEpRVUZKTzFGQlEzQkNMR1ZCUVdVc1JVRkJSU3hKUVVGSk8wdEJRM1JDTEVWQlEwUXNVMEZCVXl4RlFVRkZMRlZCUVZVc1NVRkJTU3hGUVVGRkxFTkJRelZDTEVOQlFVTTdTVUZGUml4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXp0SlFVVTFSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTzFOQlEzQkNMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlExb3NWMEZCZDBJc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTnNReXhOUVVGTkxFVkJRVVVzYVVKQlFXbENMRVZCUVVVc1dVRkJXU3hGUVVGRkxGZEJRVmNzUlVGQlJTeGpRVUZqTEVWQlFVVXNSMEZEY0VVc1pVRkJaU3hEUVVGRE8xRkJRMnhDTEU5QlFVOHNiMEpCUVc5Q0xFTkJRM3BDTEV0QlFVc3NSVUZEVEN4RFFVRkRMRVZCUTBRc2FVSkJRV2xDTEVWQlEycENMRmxCUVZrc1JVRkRXaXhYUVVGWExFVkJRMWdzWTBGQll5eEZRVU5rTEV0QlFVc3NRMEZEVGl4RFFVRkRPMGxCUTBvc1EwRkJReXhEUVVGRExFTkJRMGc3VTBGRFFTeEpRVUZKTEVWQlFVVXNRMEZCUXp0SlFVVldMRWxCUVVrc1ZVRkJWU3hKUVVGSkxGVkJRVlVzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0UlFVTnVReXhOUVVGTkxGRkJRVkVzUjBGRFdpeFBRVUZQTEZWQlFWVXNRMEZCUXl4UlFVRlJMRXRCUVVzc1VVRkJVVHRaUVVOeVF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFN1dVRkRja0lzUTBGQlF5eERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXZReXhKUVVORkxGRkJRVkU3V1VGRFVpeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUTFvc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGRGJFVXNSVUZEUkN4RFFVRkRPMWxCUTBRc1RVRkJUU3hGUVVGRkxHbENRVUZwUWl4RlFVRkZMRmxCUVZrc1JVRkJSU3hYUVVGWExFVkJRVVVzWTBGQll5eEZRVUZGTEVkQlEzQkZMR1ZCUVdVc1EwRkJRenRaUVVOc1FpeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVTllMRzlDUVVGdlFpeERRVU5zUWl4VlFVRlZMRU5CUVVNc1MwRkJTeXhGUVVOb1FpeFJRVUZSTEVWQlExSXNhVUpCUVdsQ0xFVkJRMnBDTEZsQlFWa3NSVUZEV2l4WFFVRlhMRVZCUTFnc1kwRkJZeXhGUVVOa0xFdEJRVXNzUTBGRFRpeERRVU5HTEVOQlFVTTdVVUZEU2l4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRUxFMUJRVTBzVFVGQlRTeEhRVUZKTEZWQlFYVkNMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYUVRc1RVRkJUU3hGUVVOS0xHbENRVUZwUWl4RlFVTnFRaXhaUVVGWkxFVkJRMW9zVjBGQlZ5eEZRVU5ZTEdOQlFXTXNSVUZEWkN4bFFVRmxMRWRCUTJoQ0xFZEJRVWNzWTBGQll5eERRVUZETzFGQlEyNUNMRTlCUVU4c2JVSkJRVzFDTEVOQlEzaENMRTFCUVUwc1JVRkRUaXhEUVVGRExFVkJRMFFzYVVKQlFXbENMRVZCUTJwQ0xGbEJRVmtzUlVGRFdpeFhRVUZYTEVWQlExZ3NZMEZCWXl4RlFVTmtMR1ZCUVdVc1EwRkRhRUlzUTBGQlF6dEpRVU5LTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlVnc1QwRkJUenRSUVVOTUxGRkJRVkU3VVVGRFVpeE5RVUZOTzB0QlExQXNRMEZCUXp0QlFVTktMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUXpsQ0xFbEJRWGxDTEVWQlEzcENMRWxCUVZrc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVU42UWl4UlFVRlJMRWRCUVVjc2IwSkJRVzlDTzBsQlJTOUNMR2xGUVVGcFJUdEpRVU5xUlN4TlFVRk5MRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEZWtJc2FVVkJRV2xGTzBsQlEycEZMRTFCUVUwc1NVRkJTU3hIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVVTNRaXhUUVVGVExIZENRVUYzUWl4RFFVRkRMRkZCUVdkQ08xRkJRMmhFTEUxQlFVMHNUMEZCVHl4SFFVRlhMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZYTEVOQlFVTTdVVUZEZWtRc1NVRkJTU3hGUVVGRkxFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRNMElzVDBGQlR5eEpRVUZKTEVOQlFVTTdVVUZEWkN4RFFVRkRPMUZCUTBRc2QwSkJRWGRDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRiRU1zUlVGQlJTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVONFFpeERRVUZETzBsQlJVUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hqUVVGakxGRkJRVkVzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjJSU3gzUWtGQmQwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNdlFpeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NSVUZCUlN4VFFVRlRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU0zUkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxIbENRVUY1UWl4RFFVTjJReXhKUVVGM1FpeEZRVU40UWl4SlFVRlpMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGRGVrSXNWVUZCYlVJN1NVRkZia0lzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5PMUZCUVVVc1QwRkJUenRKUVVNeFFpeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU4yUXl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUTI5dWMzUnlkV04wYjNJZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUVOdmRXTm9SRUpFWlhOcFoyNUViMk1nZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJadmNpMWpiM1ZqYUdSaVhDSTdYRzVwYlhCdmNuUWdleUJOYjJSbGJDQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lFbHVkR1Z5Ym1Gc1JYSnliM0lnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSaUxXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0I3SUVOdmJHeGxZM1JwYjI1U1pYTnZiSFpsY2lCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZhVzVrWlhoY0lqdGNibWx0Y0c5eWRDQjdJSGR5YVhSbFJHVnphV2R1Ukc5amN5QjlJR1p5YjIwZ1hDSXVMaTlwYm1SbGVHVnpMMmRsYm1WeVlYUnBiMjVjSWp0Y2JseHVMeTljYmk4dklHVjRjRzl5ZENCMGVYQmxJRVpoWW5KcFkwTnZiR3hsWTNScGIyNGdQU0I3WEc0dkx5QWdJRzVoYldVNklGd2lZMjlzYkdWamRHbHZiazFoY21Kc1pYTmNJanRjYmk4dklDQWdjRzlzYVdONU9pQmNJazlTS0NkUGNtY3hUVk5RTG0xbGJXSmxjaWNzSUNkUGNtY3lUVk5RTG0xbGJXSmxjaWNwWENJN1hHNHZMeUFnSUhKbGNYVnBjbVZrVUdWbGNrTnZkVzUwT2lBd08xeHVMeThnSUNCdFlYaFFaV1Z5UTI5MWJuUTZJRE03WEc0dkx5QWdJR0pzYjJOclZHOU1hWFpsT2lBd08xeHVMeThnSUNCdFpXMWlaWEpQYm14NVVtVmhaRG9nZEhKMVpUdGNiaTh2SUNBZ2JXVnRZbVZ5VDI1c2VWZHlhWFJsT2lCMGNuVmxPMXh1THk4Z0lDQmxibVJ2Y25ObGJXVnVkRkJ2YkdsamVUb2dlMXh1THk4Z0lDQWdJR2xrWlc1MGFYUnBaWE02SUZ0Y2JpOHZJQ0FnSUNBZ0lIc2djbTlzWlRvZ2V5QnVZVzFsT2lCY0ltMWxiV0psY2x3aU95QnRjM0JKWkRvZ1hDSlBjbWN4VFZOUVhDSWdmU0I5TEZ4dUx5OGdJQ0FnSUNBZ2V5QnliMnhsT2lCN0lHNWhiV1U2SUZ3aWJXVnRZbVZ5WENJN0lHMXpjRWxrT2lCY0lrOXlaekpOVTFCY0lpQjlJSDBzWEc0dkx5QWdJQ0FnWFR0Y2JpOHZJQ0FnSUNCeWRXeGxPaUJjSWs5U0tDZFBjbWN4VFZOUUxtMWxiV0psY2ljc0lDZFBjbWN5VFZOUUxtMWxiV0psY2ljcFhDSTdYRzR2THlBZ0lIMDdYRzR2THlCOU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCR1lXSnlhV05RYjJ4cFkzbEpaR1Z1ZEdsMGVTQTlJSHRjYmlBZ2NtOXNaVG9nZTF4dUlDQWdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdJQ0J0YzNCSlpEb2djM1J5YVc1bk8xeHVJQ0I5TzF4dWZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JtRmljbWxqUTI5c2JHVmpkR2x2YmlBOUlIdGNiaUFnYm1GdFpUb2djM1J5YVc1bk8xeHVJQ0J3YjJ4cFkzazZJSE4wY21sdVp6dGNiaUFnY21WeGRXbHlaV1JRWldWeVEyOTFiblE2SUc1MWJXSmxjanRjYmlBZ2JXRjRVR1ZsY2tOdmRXNTBPaUJ1ZFcxaVpYSTdYRzRnSUdKc2IyTnJWRzlNYVhabE9pQnVkVzFpWlhJN1hHNGdJRzFsYldKbGNrOXViSGxTWldGa09pQmliMjlzWldGdU8xeHVJQ0J0WlcxaVpYSlBibXg1VjNKcGRHVTZJR0p2YjJ4bFlXNDdYRzRnSUdWdVpHOXljMlZ0Wlc1MFVHOXNhV041T2lCN1hHNGdJQ0FnYVdSbGJuUnBkR2xsY3pvZ1JtRmljbWxqVUc5c2FXTjVTV1JsYm5ScGRIbGJYVHRjYmlBZ0lDQnlkV3hsT2lCemRISnBibWM3WEc0Z0lIMDdYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JRY21sMllYUmxRMjlzYkdWamRHbHZiaUE5SUh0Y2JpQWdibUZ0WlRvZ2MzUnlhVzVuTzF4dUlDQndiMnhwWTNrNklITjBjbWx1Wnp0Y2JpQWdjbVZ4ZFdseVpXUlFaV1Z5UTI5MWJuUTZJRzUxYldKbGNqdGNiaUFnYldGNFVHVmxja052ZFc1ME9pQnVkVzFpWlhJN1hHNGdJR0pzYjJOclZHOU1hWFpsT2lCdWRXMWlaWEk3WEc0Z0lHMWxiV0psY2s5dWJIbFNaV0ZrT2lCaWIyOXNaV0Z1TzF4dUlDQnRaVzFpWlhKUGJteDVWM0pwZEdVNklHSnZiMnhsWVc0N1hHNGdJR1Z1Wkc5eWMyVnRaVzUwVUc5c2FXTjVQem9nZTF4dUlDQWdJSE5wWjI1aGRIVnlaVkJ2YkdsamVUb2djM1J5YVc1bk8xeHVJQ0I5TzF4dWZUdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR052Ykd4bFkzUnBiMjVHYjNJb1hHNGdJR052Ykd4bFkzUnBiMjVPWVcxbE9pQnpkSEpwYm1jc1hHNGdJSEJ2YkdsamVUb2djM1J5YVc1bkxGeHVJQ0J5WlhGMWFYSmxaRkJsWlhKRGIzVnVkRG9nYm5WdFltVnlMRnh1SUNCdFlYaFFaV1Z5UTI5MWJuUTZJRzUxYldKbGNpeGNiaUFnWW14dlkydFViMHhwZG1VNklHNTFiV0psY2l4Y2JpQWdiV1Z0WW1WeVQyNXNlVkpsWVdRNklHSnZiMnhsWVc0c1hHNGdJRzFsYldKbGNrOXViSGxYY21sMFpUb2dZbTl2YkdWaGJseHVLVG9nVUhKcGRtRjBaVU52Ykd4bFkzUnBiMjRnZTF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUc1aGJXVTZJR052Ykd4bFkzUnBiMjVPWVcxbExGeHVJQ0FnSUhCdmJHbGplVG9nY0c5c2FXTjVMRnh1SUNBZ0lISmxjWFZwY21Wa1VHVmxja052ZFc1MExGeHVJQ0FnSUcxaGVGQmxaWEpEYjNWdWRDeGNiaUFnSUNCaWJHOWphMVJ2VEdsMlpTeGNiaUFnSUNCdFpXMWlaWEpQYm14NVVtVmhaQ3hjYmlBZ0lDQnRaVzFpWlhKUGJteDVWM0pwZEdVc1hHNGdJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQndjbWwyWVhSbFEyOXNiR1ZqZEdsdmJrWnZjaWhjYmlBZ2JYTndTV1E2SUhOMGNtbHVaeXhjYmlBZ1kyOXNiR1ZqZEdsdmJrNWhiV1U2SUhOMGNtbHVaeUE5SUdBa2UyMXpjRWxrZlZCeWFYWmhkR1ZnTEZ4dUlDQnlaWEYxYVhKbFpGQmxaWEpEYjNWdWREb2diblZ0WW1WeUlEMGdNQ3hjYmlBZ2JXRjRVR1ZsY2tOdmRXNTBPaUJ1ZFcxaVpYSWdQU0F3TEZ4dUlDQmliRzlqYTFSdlRHbDJaVG9nYm5WdFltVnlJRDBnTUN4Y2JpQWdiV1Z0WW1WeVQyNXNlVkpsWVdRNklHSnZiMnhsWVc0Z1BTQjBjblZsTEZ4dUlDQnRaVzFpWlhKUGJteDVWM0pwZEdVNklHSnZiMnhsWVc0Z1BTQjBjblZsWEc0cE9pQlFjbWwyWVhSbFEyOXNiR1ZqZEdsdmJpQjdYRzRnSUdOdmJuTjBJR01nUFNCamIyeHNaV04wYVc5dVJtOXlLRnh1SUNBZ0lHTnZiR3hsWTNScGIyNU9ZVzFsTEZ4dUlDQWdJR0JQVWlnbkpIdHRjM0JKWkgwdWJXVnRZbVZ5SnlsZ0xGeHVJQ0FnSUhKbGNYVnBjbVZrVUdWbGNrTnZkVzUwTEZ4dUlDQWdJRzFoZUZCbFpYSkRiM1Z1ZEN4Y2JpQWdJQ0JpYkc5amExUnZUR2wyWlN4Y2JpQWdJQ0J0WlcxaVpYSlBibXg1VW1WaFpDeGNiaUFnSUNCdFpXMWlaWEpQYm14NVYzSnBkR1ZjYmlBZ0tUdGNibHh1SUNCakxtVnVaRzl5YzJWdFpXNTBVRzlzYVdONUlEMGdlMXh1SUNBZ0lITnBaMjVoZEhWeVpWQnZiR2xqZVRvZ1lFOVNLQ2NrZTIxemNFbGtmUzV3WldWeUp5bGdMRnh1SUNCOU8xeHVJQ0J5WlhSMWNtNGdZenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlITm9ZWEpsWkVOdmJHeGxZM1JwYjI1R2IzSW9YRzRnSUcxemNFbGtjem9nYzNSeWFXNW5XMTBzWEc0Z0lHTnZiR3hsWTNScGIyNU9ZVzFsT2lCemRISnBibWNzWEc0Z0lISmxjWFZwY21Wa1VHVmxja052ZFc1ME9pQnVkVzFpWlhJZ1BTQXhMRnh1SUNCdFlYaFFaV1Z5UTI5MWJuUTZJRzUxYldKbGNpQTlJRElzWEc0Z0lHSnNiMk5yVkc5TWFYWmxPaUJ1ZFcxaVpYSWdQU0F3TEZ4dUlDQnRaVzFpWlhKUGJteDVVbVZoWkRvZ1ltOXZiR1ZoYmlBOUlIUnlkV1VzWEc0Z0lHMWxiV0psY2s5dWJIbFhjbWwwWlRvZ1ltOXZiR1ZoYmlBOUlIUnlkV1ZjYmlrNklGQnlhWFpoZEdWRGIyeHNaV04wYVc5dUlIdGNiaUFnWTI5dWMzUWdZeUE5SUdOdmJHeGxZM1JwYjI1R2IzSW9YRzRnSUNBZ1kyOXNiR1ZqZEdsdmJrNWhiV1VzWEc0Z0lDQWdZRTlTS0NSN2JYTndTV1J6TG0xaGNDZ29iU2tnUFQ0Z1lDY2tlMjE5TG0xbGJXSmxjaWRnS1M1cWIybHVLRndpTEZ3aUtYMHBZQ3hjYmlBZ0lDQnlaWEYxYVhKbFpGQmxaWEpEYjNWdWRDeGNiaUFnSUNCdFlYaFFaV1Z5UTI5MWJuUXNYRzRnSUNBZ1lteHZZMnRVYjB4cGRtVXNYRzRnSUNBZ2JXVnRZbVZ5VDI1c2VWSmxZV1FzWEc0Z0lDQWdiV1Z0WW1WeVQyNXNlVmR5YVhSbFhHNGdJQ2s3WEc0Z0lHTXVaVzVrYjNKelpXMWxiblJRYjJ4cFkza2dQU0I3WEc0Z0lDQWdjMmxuYm1GMGRYSmxVRzlzYVdONU9pQmdRVTVFS0NSN2JYTndTV1J6TG0xaGNDZ29iU2tnUFQ0Z1lDY2tlMjE5TG5CbFpYSW5ZQ2t1YW05cGJpaGNJaXhjSWlsOUtXQXNYRzRnSUgwN1hHNGdJSEpsZEhWeWJpQmpPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1lYTjVibU1nWm5WdVkzUnBiMjRnWlhoMGNtRmpkRU52Ykd4bFkzUnBiMjV6UEUwZ1pYaDBaVzVrY3lCTmIyUmxiRDRvWEc0Z0lHMDZJRU52Ym5OMGNuVmpkRzl5UEUwK0xGeHVJQ0J0YzNCSlpITTZJSE4wY21sdVoxdGRMRnh1SUNCdmRtVnljbWxrWlhNNklIdGNiaUFnSUNCd2NtbDJZWFJsUTI5c2N6ODZJRkJoY25ScFlXdzhVSEpwZG1GMFpVTnZiR3hsWTNScGIyNCtPMXh1SUNBZ0lITm9ZWEpsWkVOdmJITS9PaUJRWVhKMGFXRnNQRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVQanRjYmlBZ2ZTQTlJSHQ5TEZ4dUlDQnRhWEp5YjNJNklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlZ4dUtTQjdYRzRnSUd4bGRDQjdJSEJ5YVhaaGRHVkRiMnh6TENCemFHRnlaV1JEYjJ4eklIMGdQU0JOYjJSbGJDNWpiMnhzWldOMGFXOXVjMFp2Y2lodEtUdGNibHh1SUNCbWRXNWpkR2x2YmlCeVpYTnZiSFpsUTI5c2JHVmpkR2x2YmloaGNtYzZJSE4wY21sdVp5QjhJRU52Ykd4bFkzUnBiMjVTWlhOdmJIWmxjaWs2SUhOMGNtbHVaeUI3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1lYSm5JRDA5UFNCY0luTjBjbWx1WjF3aUtTQnlaWFIxY200Z1lYSm5PMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnlaeWh0TENCdGMzQkpaSE5iTUYwcElHRnpJSE4wY21sdVp6dGNiaUFnSUNCOUlHTmhkR05vSUNobE9pQjFibXR1YjNkdUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2lobElHRnpJRVZ5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbWwyWVhSbFEyOXNjeUE5SUhCeWFYWmhkR1ZEYjJ4ekxtMWhjQ2h5WlhOdmJIWmxRMjlzYkdWamRHbHZiaWs3WEc0Z0lITm9ZWEpsWkVOdmJITWdQU0J6YUdGeVpXUkRiMnh6TG0xaGNDaHlaWE52YkhabFEyOXNiR1ZqZEdsdmJpazdYRzVjYmlBZ1kyOXVjM1FnY0hKcGRtRjBaVVJsWm1GMWJIUnpJRDBnVDJKcVpXTjBMbUZ6YzJsbmJpaGNiaUFnSUNCN2ZTeGNiaUFnSUNCN1hHNGdJQ0FnSUNCeVpYRjFhWEpsWkZCbFpYSkRiM1Z1ZERvZ01DeGNiaUFnSUNBZ0lHMWhlRkJsWlhKRGIzVnVkRG9nTUN4Y2JpQWdJQ0FnSUdKc2IyTnJWRzlNYVhabE9pQXdMRnh1SUNBZ0lDQWdiV1Z0WW1WeVQyNXNlVkpsWVdRNklIUnlkV1VzWEc0Z0lDQWdJQ0J0WlcxaVpYSlBibXg1VjNKcGRHVTZJSFJ5ZFdVc1hHNGdJQ0FnZlN4Y2JpQWdJQ0J2ZG1WeWNtbGtaWE0vTG5CeWFYWmhkR1ZEYjJ4eklIeDhJSHQ5WEc0Z0lDazdYRzRnSUdOdmJuTjBJSE5vWVhKbFpFUmxabUYxYkhSeklEMGdUMkpxWldOMExtRnpjMmxuYmloY2JpQWdJQ0I3ZlN4Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0J5WlhGMWFYSmxaRkJsWlhKRGIzVnVkRG9nTVN4Y2JpQWdJQ0FnSUcxaGVGQmxaWEpEYjNWdWREb2dNaXhjYmlBZ0lDQWdJR0pzYjJOclZHOU1hWFpsT2lBd0xGeHVJQ0FnSUNBZ2JXVnRZbVZ5VDI1c2VWSmxZV1E2SUhSeWRXVXNYRzRnSUNBZ0lDQnRaVzFpWlhKUGJteDVWM0pwZEdVNklIUnlkV1VzWEc0Z0lDQWdmU3hjYmlBZ0lDQnZkbVZ5Y21sa1pYTS9Mbk5vWVhKbFpFTnZiSE1nZkh3Z2UzMWNiaUFnS1R0Y2JseHVJQ0JqYjI1emRDQnRhWEp5YjNKTlpYUmhJRDBnYldseWNtOXlJRDhnVFc5a1pXd3ViV2x5Y205eVpXUkJkQ2h0S1NBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNCamIyNXpkQ0J3Y21sMllYUmxjeUE5SUcxemNFbGtjMXh1SUNBZ0lDNXRZWEFvS0cxemNFbGtLU0E5UGx4dUlDQWdJQ0FnS0hCeWFYWmhkR1ZEYjJ4eklHRnpJSE4wY21sdVoxdGRLUzV0WVhBb0tIQXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZXlCeVpYRjFhWEpsWkZCbFpYSkRiM1Z1ZEN3Z2JXRjRVR1ZsY2tOdmRXNTBMQ0JpYkc5amExUnZUR2wyWlN3Z2JXVnRZbVZ5VDI1c2VWSmxZV1FnZlNBOVhHNGdJQ0FnSUNBZ0lDQWdjSEpwZG1GMFpVUmxabUYxYkhSek8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISnBkbUYwWlVOdmJHeGxZM1JwYjI1R2IzSW9YRzRnSUNBZ0lDQWdJQ0FnYlhOd1NXUXNYRzRnSUNBZ0lDQWdJQ0FnY0N4Y2JpQWdJQ0FnSUNBZ0lDQnlaWEYxYVhKbFpGQmxaWEpEYjNWdWRDeGNiaUFnSUNBZ0lDQWdJQ0J0WVhoUVpXVnlRMjkxYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdZbXh2WTJ0VWIweHBkbVVzWEc0Z0lDQWdJQ0FnSUNBZ2JXVnRZbVZ5VDI1c2VWSmxZV1FzWEc0Z0lDQWdJQ0FnSUNBZ1ptRnNjMlZjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgwcFhHNGdJQ0FnS1Z4dUlDQWdJQzVtYkdGMEtDazdYRzVjYmlBZ2FXWWdLRzFwY25KdmNrMWxkR0VnSmlZZ2JXbHljbTl5VFdWMFlTNXRjM0JKWkNrZ2UxeHVJQ0FnSUdOdmJuTjBJSEpsYzI5c2RtVmtJRDFjYmlBZ0lDQWdJSFI1Y0dWdlppQnRhWEp5YjNKTlpYUmhMbkpsYzI5c2RtVnlJRDA5UFNCY0luTjBjbWx1WjF3aVhHNGdJQ0FnSUNBZ0lEOGdiV2x5Y205eVRXVjBZUzV5WlhOdmJIWmxjbHh1SUNBZ0lDQWdJQ0E2SUcxcGNuSnZjazFsZEdFdWNtVnpiMngyWlhJb2JTd2diV2x5Y205eVRXVjBZUzV0YzNCSlpDazdYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdjbVZ6YjJ4MlpXUWdKaVpjYmlBZ0lDQWdJQ0Z3Y21sMllYUmxjeTV6YjIxbEtGeHVJQ0FnSUNBZ0lDQW9jQ2tnUFQ0Z2NDNXVZVzFsSUQwOVBTQnlaWE52YkhabFpDQW1KaUJ3TG5CdmJHbGplUzVwYm1Oc2RXUmxjeWh0YVhKeWIzSk5aWFJoTG0xemNFbGtLVnh1SUNBZ0lDQWdLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2V5QnlaWEYxYVhKbFpGQmxaWEpEYjNWdWRDd2diV0Y0VUdWbGNrTnZkVzUwTENCaWJHOWphMVJ2VEdsMlpTd2diV1Z0WW1WeVQyNXNlVkpsWVdRZ2ZTQTlYRzRnSUNBZ0lDQWdJSEJ5YVhaaGRHVkVaV1poZFd4MGN6dGNiaUFnSUNBZ0lIQnlhWFpoZEdWekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUhCeWFYWmhkR1ZEYjJ4c1pXTjBhVzl1Um05eUtGeHVJQ0FnSUNBZ0lDQWdJRzFwY25KdmNrMWxkR0V1YlhOd1NXUXNYRzRnSUNBZ0lDQWdJQ0FnY21WemIyeDJaV1FzWEc0Z0lDQWdJQ0FnSUNBZ2NtVnhkV2x5WldSUVpXVnlRMjkxYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdiV0Y0VUdWbGNrTnZkVzUwTEZ4dUlDQWdJQ0FnSUNBZ0lHSnNiMk5yVkc5TWFYWmxMRnh1SUNBZ0lDQWdJQ0FnSUcxbGJXSmxjazl1YkhsU1pXRmtMRnh1SUNBZ0lDQWdJQ0FnSUdaaGJITmxYRzRnSUNBZ0lDQWdJQ2xjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWTI5dWMzUWdjMmhoY21Wa0lEMGdLSE5vWVhKbFpFTnZiSE1nWVhNZ2MzUnlhVzVuVzEwcExtMWhjQ2dvY0NrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUhKbGNYVnBjbVZrVUdWbGNrTnZkVzUwTEZ4dUlDQWdJQ0FnYldGNFVHVmxja052ZFc1MExGeHVJQ0FnSUNBZ1lteHZZMnRVYjB4cGRtVXNYRzRnSUNBZ0lDQnRaVzFpWlhKUGJteDVVbVZoWkN4Y2JpQWdJQ0FnSUcxbGJXSmxjazl1YkhsWGNtbDBaU3hjYmlBZ0lDQjlJRDBnYzJoaGNtVmtSR1ZtWVhWc2RITTdYRzRnSUNBZ2NtVjBkWEp1SUhOb1lYSmxaRU52Ykd4bFkzUnBiMjVHYjNJb1hHNGdJQ0FnSUNCdGMzQkpaSE1zWEc0Z0lDQWdJQ0J3TEZ4dUlDQWdJQ0FnY21WeGRXbHlaV1JRWldWeVEyOTFiblFzWEc0Z0lDQWdJQ0J0WVhoUVpXVnlRMjkxYm5Rc1hHNGdJQ0FnSUNCaWJHOWphMVJ2VEdsMlpTeGNiaUFnSUNBZ0lHMWxiV0psY2s5dWJIbFNaV0ZrTEZ4dUlDQWdJQ0FnYldWdFltVnlUMjVzZVZkeWFYUmxYRzRnSUNBZ0tUdGNiaUFnZlNrN1hHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQndjbWwyWVhSbGN5eGNiaUFnSUNCemFHRnlaV1FzWEc0Z0lIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCM2NtbDBaVU52Ykd4bFkzUnBiMjV6S0Z4dUlDQmpiMnh6T2lCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Ymx0ZExGeHVJQ0J3T2lCemRISnBibWNnUFNCd2NtOWpaWE56TG1OM1pDZ3BMRnh1SUNCbWFXeGxUbUZ0WlNBOUlGd2lZMjlzYkdWamRHbHZibk5mWTI5dVptbG5YQ0pjYmlrZ2UxeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYSmxjWFZwY21VdGFXMXdiM0owYzF4dUlDQmpiMjV6ZENCbWN5QTlJSEpsY1hWcGNtVW9YQ0ptYzF3aUtUdGNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MXlaWEYxYVhKbExXbHRjRzl5ZEhOY2JpQWdZMjl1YzNRZ2NHRjBhQ0E5SUhKbGNYVnBjbVVvWENKd1lYUm9YQ0lwTzF4dVhHNGdJR1oxYm1OMGFXOXVJR1Z1YzNWeVpVUnBjbVZqZEc5eWVVVjRhWE4wWlc1alpTaG1hV3hsVUdGMGFEb2djM1J5YVc1bktTQjdYRzRnSUNBZ1kyOXVjM1FnWkdseWJtRnRaVG9nYzNSeWFXNW5JRDBnY0dGMGFDNWthWEp1WVcxbEtHWnBiR1ZRWVhSb0tTQmhjeUJ6ZEhKcGJtYzdYRzRnSUNBZ2FXWWdLR1p6TG1WNGFYTjBjMU41Ym1Nb1pHbHlibUZ0WlNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnSUNCbGJuTjFjbVZFYVhKbFkzUnZjbmxGZUdsemRHVnVZMlVvWkdseWJtRnRaU2s3WEc0Z0lDQWdabk11Yld0a2FYSlRlVzVqS0dScGNtNWhiV1VwTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnWm1sc1pTQTlJSEJoZEdndWNtVnpiMngyWlNod1lYUm9MbXB2YVc0b2NDd2dZQzR2VFVWVVFTMUpUa1l2Skh0bWFXeGxUbUZ0WlgwdWFuTnZibUFwS1R0Y2JpQWdaVzV6ZFhKbFJHbHlaV04wYjNKNVJYaHBjM1JsYm1ObEtHWnBiR1VwTzF4dUlDQm1jeTUzY21sMFpVWnBiR1ZUZVc1aktHWnBiR1VzSUVwVFQwNHVjM1J5YVc1bmFXWjVLR052YkhNc0lIVnVaR1ZtYVc1bFpDd2dNaWtwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkM0pwZEdWRGIyeHNaV04wYVc5dVJHVnphV2R1Ukc5amN5aGNiaUFnWkc5amN6b2dRMjkxWTJoRVFrUmxjMmxuYmtSdlkxdGRMRnh1SUNCd09pQnpkSEpwYm1jZ1BTQndjbTlqWlhOekxtTjNaQ2dwTEZ4dUlDQmpiMnhzWldOMGFXOXVQem9nYzNSeWFXNW5YRzRwSUh0Y2JpQWdhV1lnS0NGa2IyTnpQeTVzWlc1bmRHZ3BJSEpsZEhWeWJqdGNiaUFnZDNKcGRHVkVaWE5wWjI1RWIyTnpLR1J2WTNNc0lIQXNJR052Ykd4bFkzUnBiMjRwTzF4dWZWeHVJbDE5Il19
|
|
113
|
+
//# sourceMappingURL=generation.js.map
|
|
114
|
+
//# sourceMappingURL=generation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client/collections/generation.cjs","sourceRoot":"","sources":["client/collections/generation.js"],"names":[],"mappings":"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"}
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./generation.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
19
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client/collections/index.cjs","sourceRoot":"","sources":["client/collections/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iCAAiC"}
|
|
@@ -14,5 +14,5 @@ exports.DefaultFabricClientFlags = Object.assign({
|
|
|
14
14
|
encryptTransient: false,
|
|
15
15
|
syntheticEvents: true,
|
|
16
16
|
});
|
|
17
|
-
//# sourceMappingURL=
|
|
18
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
18
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client/constants.cjs","sourceRoot":"","sources":["client/constants.js"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE,KAAK;IACb,wBAAwB,EAAE,KAAK;IAC/B,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,KAAK;IAC/B,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,KAAK;IACvB,eAAe,EAAE,IAAI;CACxB,CAAC,CAAC;AACH,qCAAqC"}
|