@coti-io/coti-contracts 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/access/DataPrivacyFramework/DataPrivacyFramework.sol +1 -1
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +1 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +2 -4
- package/contracts/disperse/disperseToken/MintDisperser.sol +1 -3
- package/contracts/disperse/disperseToken/TokenDisperser.sol +1 -1
- package/contracts/messaging/PrivateMessaging.sol +1 -1
- package/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock.sol +1 -1
- package/contracts/mocks/messaging/PrivateMessagingHarness.sol +1 -1
- package/contracts/mocks/oracle/CotiPriceConsumerMock.sol +1 -1
- package/contracts/mocks/token/ERC20DecimalsMock.sol +1 -1
- package/contracts/mocks/token/ERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +1 -1
- package/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ArithmeticAddTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/ArithmeticMulTestsContract.sol +194 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned128TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ArithmeticSigned256TestsContract.sol +107 -0
- package/contracts/mocks/utils/mpc/ArithmeticSignedNarrowTestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/ArithmeticSubTestsContract.sol +196 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +1 -1
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +4 -4
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +1 -1
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +1 -1
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/StringTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +1 -1
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +2 -2
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +1 -1
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +1 -1
- package/contracts/node/CotiNodeRewards.sol +3 -3
- package/contracts/node/SoulboundNodeNFT.sol +1 -2
- package/contracts/onboard/AccountOnboard.sol +1 -1
- package/contracts/oracle/ICotiPriceConsumer.sol +1 -1
- package/contracts/pod/IInbox.sol +231 -0
- package/contracts/pod/IInboxMiner.sol +53 -0
- package/contracts/pod/InboxUser.sol +29 -0
- package/contracts/pod/InboxUserCotiTestnet.sol +13 -0
- package/contracts/pod/PodNetworkConstants.sol +30 -0
- package/contracts/pod/examples/MpcAdder.sol +57 -0
- package/contracts/pod/examples/MpcAdderPausable.sol +25 -0
- package/contracts/pod/examples/MpcAdderPausable.sol.bak +25 -0
- package/contracts/pod/examples/it128/PodAdder128.sol +48 -0
- package/contracts/pod/examples/it256/PodAdder256.sol +48 -0
- package/contracts/pod/fee/IInboxFeeManager.sol +40 -0
- package/contracts/pod/manifest.json +52 -0
- package/contracts/pod/mpc/PodLib.sol +10 -0
- package/contracts/pod/mpc/PodLib128.sol +361 -0
- package/contracts/pod/mpc/PodLib256.sol +361 -0
- package/contracts/pod/mpc/PodLib64.sol +385 -0
- package/contracts/pod/mpc/PodLibBase.sol +72 -0
- package/contracts/pod/mpc/PodUser.sol +58 -0
- package/contracts/pod/mpc/PodUserFuji.sol +14 -0
- package/contracts/pod/mpc/PodUserSepolia.sol +13 -0
- package/contracts/pod/mpc/coti-side/IPodExecutorOps.sol +99 -0
- package/contracts/pod/mpccodec/MpcAbiCodec.sol +482 -0
- package/contracts/pod/privacy/IPodPriceOracle.sol +20 -0
- package/contracts/pod/privacy/IPrivacyPortal.sol +248 -0
- package/contracts/pod/privacy/IPrivacyPortalFactory.sol +88 -0
- package/contracts/pod/privacy/PortalFeeOracle.sol +51 -0
- package/contracts/pod/privacy/PrivacyPortal.sol +871 -0
- package/contracts/pod/privacy/PrivacyPortalFactory.sol +492 -0
- package/contracts/pod/privacy/PrivacyPortalFeeLib.sol +98 -0
- package/contracts/pod/privacy/mocks/CloneHelper.sol +14 -0
- package/contracts/pod/privacy/mocks/MockERC20.sol +26 -0
- package/contracts/pod/privacy/mocks/MockPodERC20ForPortal.sol +160 -0
- package/contracts/pod/privacy/mocks/MockPrivacyPortalFactory.sol +125 -0
- package/contracts/pod/privacy/mocks/MockWrappedNative.sol +24 -0
- package/contracts/pod/token/erc7984/Erc7984Constants.sol +9 -0
- package/contracts/pod/token/erc7984/Erc7984Pointers.sol +29 -0
- package/contracts/pod/token/erc7984/IERC7984.sol +69 -0
- package/contracts/pod/token/erc7984/IERC7984PortalWrapper.sol +31 -0
- package/contracts/pod/token/erc7984/PodErc7984Mixin.sol +125 -0
- package/contracts/pod/token/erc7984/README.md +60 -0
- package/contracts/pod/token/perc20/IPodERC20.sol +298 -0
- package/contracts/pod/token/perc20/PodERC20.sol +1021 -0
- package/contracts/pod/token/perc20/PodErc20Mintable.sol +88 -0
- package/contracts/pod/token/perc20/PodErc20MintableInitializable.sol +42 -0
- package/contracts/pod/token/perc20/cotiside/IPodErc20CotiSide.sol +88 -0
- package/contracts/pod/token/perc20/cotiside/PodErc20CotiMother.sol +529 -0
- package/contracts/pod/utils/IWrappedNative.sol +11 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +5 -5
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +1 -1
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +1 -1
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +1 -1
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +1 -1
- package/contracts/token/PrivateERC20/PrivateERC20.sol +5 -5
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +1 -1
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +1 -1
- package/contracts/token/PrivateERC721/IERC721Errors.sol +1 -1
- package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +1 -1
- package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +1 -1
- package/contracts/token/points/CotiTokenPoints004.sol +43 -0
- package/contracts/utils/mpc/MpcCore.sol +610 -1
- package/contracts/utils/mpc/MpcInterface.sol +1 -1
- package/hardhat.config.ts +5 -14
- package/package.json +4 -4
- package/scripts/deployCotiTokenPoints004.ts +61 -0
- package/scripts/deployFixedRatioCoinDisperserUnlimitedWindow.ts +68 -0
- package/scripts/verifyCotiTokenPoints004.ts +123 -0
- package/scripts/verifyFixedRatioCoinDisperserUnlimitedWindow.ts +112 -0
- package/test/messaging/PrivateMessaging.test.ts +5 -5
- package/test/pod/privacy/PrivacyPortal.access.test.ts +756 -0
- package/test/pod/privacy/PrivacyPortal.recovery.test.ts +263 -0
- package/test/privacyBridge/UnifiedPrivacyBridges.test.cjs +5 -3
- package/test/utils/mpc/CheckedSignedArithmetic256.test.ts +163 -0
- package/test/utils/mpc/NegativeCases.test.ts +3 -3
- package/test/utils/mpc/Precompile.test.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/access/AccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts +2 -2
- package/typechain-types/@openzeppelin/contracts/access/extensions/AccessControlEnumerable.ts +375 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable.ts +329 -0
- package/typechain-types/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC1363.ts +412 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/IERC5267.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +6 -50
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +313 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.ts +356 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.ts +423 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +6 -6
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/utils/Nonces.ts +85 -0
- package/typechain-types/@openzeppelin/contracts/utils/Pausable.ts +150 -0
- package/typechain-types/@openzeppelin/contracts/utils/ReentrancyGuard.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/ShortStrings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/Strings.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/EIP712.ts +151 -0
- package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/utils/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/SafeCast.ts +69 -0
- package/typechain-types/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/contracts/mocks/token/ERC20DecimalsMock.ts +6 -50
- package/typechain-types/contracts/mocks/token/ERC20Mock.ts +6 -50
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.ts +16 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.ts +2 -2
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +2 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridge.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeCotiNative.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDCe.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeUSDT.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWADA.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWBTC.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgeWETH.ts +16 -2
- package/typechain-types/contracts/privacyBridge/PrivacyBridgegCoti.ts +16 -2
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTI.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.ts +2 -2
- package/typechain-types/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.ts +2 -2
- package/typechain-types/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/CotiTokenPoints004.ts +826 -0
- package/typechain-types/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +22 -1
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +22 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/AccessControlEnumerable__factory.ts +316 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/IAccessControlEnumerable__factory.ts +265 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/extensions/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1363__factory.ts +393 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC5267__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts +127 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts +111 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +84 -110
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +364 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable__factory.ts +382 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit__factory.ts +540 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +3 -3
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +3 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.ts +96 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC721/ERC721__factory.ts +98 -59
- package/typechain-types/factories/@openzeppelin/contracts/utils/Nonces__factory.ts +57 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ReentrancyGuard__factory.ts +30 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.ts +83 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.ts +90 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/EIP712__factory.ts +87 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +118 -0
- package/typechain-types/factories/@openzeppelin/contracts/utils/math/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow__factory.ts +39 -1
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +23 -1
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +12 -1
- package/typechain-types/factories/contracts/messaging/PrivateMessaging__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/messaging/PrivateMessagingHarness__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/ERC20DecimalsMock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/ERC20Mock__factory.ts +90 -52
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock__factory.ts +90 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +28 -2
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/node/CotiNodeRewards__factory.ts +28 -1
- package/typechain-types/factories/contracts/node/SoulboundNodeNFT.sol/SoulboundNodeNFT__factory.ts +126 -1
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeCotiNative__factory.ts +79 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeERC20.sol/PrivacyBridgeERC20__factory.ts +89 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDCe__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeUSDT__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWADA__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWBTC__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgeWETH__factory.ts +90 -2
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridge__factory.ts +78 -1
- package/typechain-types/factories/contracts/privacyBridge/PrivacyBridgegCoti__factory.ts +90 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +27 -1
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateCOTI__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateTetherUSD__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedADA__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/PrivateERC20/tokens/PrivateWrappedEther__factory.ts +28 -2
- package/typechain-types/factories/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004.sol/COTITokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/CotiTokenPoints004__factory.ts +992 -0
- package/typechain-types/factories/contracts/token/points/index.ts +4 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +360 -0
- package/typechain-types/index.ts +36 -4
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +0 -408
|
@@ -336,7 +336,7 @@ const _abi = [
|
|
|
336
336
|
] as const;
|
|
337
337
|
|
|
338
338
|
const _bytecode =
|
|
339
|
-
"0x60808060405234610016576140f8908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816324ad7b3014613793575080632e544aa01461374c5780637df4fdd1146125e157806380f937bc14612574578063971bbe6f14612550578063acb38169146124f7578063d3e4744d146124d3578063d9c538e414611307578063ebb571fd1461127b5763f24b62591461008d57600080fd5b34611276576040600319360112611276576100a6613892565b6100ae6138a2565b6100b6613b5f565b916100bf613b9d565b926100c8613bbc565b6100d0613be7565b906100dc8585856138b2565b825160208401516040805163ce8c713d60e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af18015610cf25761014891600091611255575b50613cd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16600883901b61ff00161790556040848101516060860151825163ce8c713d60e01b81527f0202000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152919791908180606481010381600060645af1908115610cf257600091611234575b508152835160608501516040805163ce8c713d60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091611213575b5060208281019190915260408581015191860151815163ce8c713d60e01b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610cf2576000916111f2575b50604082015261ffff6102cc60ff8916926139c0565b16036111ae57608083015160a08401516040805163ce8c713d60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161118d575b508152825160a08401516040805163ce8c713d60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161116c575b506020820152610401604060808501516020860151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161114b575b506040828101919091528381015160a0850151825163ce8c713d60e01b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf25760009161112a575b5060608201526104e6604060808501516060860151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff9261051292600091611109575b506080820152613a13565b1660ff8616036110c55760c082015160e08301516040805163ce8c713d60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916110a4575b508152815160e08301516040805163ce8c713d60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091611083575b50602082015261064b604060c08401516020850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091611062575b506040828101919091528281015160e0840151825163ce8c713d60e01b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091611041575b506060820152610730604060c08401516060850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091611020575b5060808281019190915282015160e08301516040805163ce8c713d60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091610fff575b5060a0820152610818604060c084015160a0850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff9261084892600091610fde575b5060c0820152613a98565b1660ff851603610f9a5760208101516040805163ce8c713d60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf25761090c91600091610f79575b5082516040805163ce8c713d60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092610f4f575b5061092f60ff91613cd9565b1660ff8616149081610f36575b5015610ecc5760608101516040805163ce8c713d60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf2576109fd91600091610eab575b50604083810151815163ce8c713d60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf257600092610e80575b50610a2161ffff91613df3565b1660ff8616149081610e66575b5015610dfc5760a08101516040805163ce8c713d60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257610af191600091610ddb575b5060808301516040805163ce8c713d60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092610dae575b50610b1763ffffffff91613f11565b1660ff8616149081610d92575b5015610d285760e08101516040805163ce8c713d60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf257600092610cfe575b5060c001516040805163ce8c713d60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf257600092610cb1575b50610c0667ffffffffffffffff91614037565b1660ff8316149081610c91575b5015610c275760209060ff60405191168152f35b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff9150610ca590614037565b1660ff82161438610c13565b67ffffffffffffffff919250610ce1610c069160403d604011610ceb575b610cd98183613851565b810190613cc3565b9050929150610bf3565b503d610ccf565b6040513d6000823e3d90fd5b604091925060c0610d1d60ff92843d8611610ceb57610cd98183613851565b905093925050610b8e565b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff9150610da290613f11565b1660ff85161438610b24565b63ffffffff919250610dd1610b179160403d604011610ceb57610cd98183613851565b9050929150610b08565b610df4915060403d604011610ceb57610cd98183613851565b905038610a99565b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff9150610e7490613df3565b1660ff85161438610a2e565b61ffff919250610ea1610a219160403d604011610ceb57610cd98183613851565b9050929150610a14565b610ec4915060403d604011610ceb57610cd98183613851565b9050386109a7565b608460405162461bcd60e51b815260206004820152602760248201527f737562546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff9150610f4390613cd9565b1660ff8516143861093c565b60ff919250610f6f61092f9160403d604011610ceb57610cd98183613851565b9050929150610923565b610f92915060403d604011610ceb57610cd98183613851565b9050386108b7565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203634206661696c65640000000000000000006044820152fd5b610ff7915060403d604011610ceb57610cd98183613851565b90503861083d565b611018915060403d604011610ceb57610cd98183613851565b9050386107b5565b611039915060403d604011610ceb57610cd98183613851565b905038610747565b61105a915060403d604011610ceb57610cd98183613851565b9050386106cd565b61107b915060403d604011610ceb57610cd98183613851565b905038610662565b61109c915060403d604011610ceb57610cd98183613851565b9050386105e8565b6110bd915060403d604011610ceb57610cd98183613851565b905038610582565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203332206661696c65640000000000000000006044820152fd5b611122915060403d604011610ceb57610cd98183613851565b905038610507565b611143915060403d604011610ceb57610cd98183613851565b905038610483565b611164915060403d604011610ceb57610cd98183613851565b905038610418565b611185915060403d604011610ceb57610cd98183613851565b90503861039e565b6111a6915060403d604011610ceb57610cd98183613851565b905038610338565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203136206661696c65640000000000000000006044820152fd5b61120b915060403d604011610ceb57610cd98183613851565b9050386102b6565b61122c915060403d604011610ceb57610cd98183613851565b90503861024b565b61124d915060403d604011610ceb57610cd98183613851565b9050386101e5565b61126e915060403d604011610ceb57610cd98183613851565b905038610142565b600080fd5b3461127657600319360161014081126112765761010013611276576040516112a281613834565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e08201526101043560ff8116810361127657610124359060ff8216820361127657611305926138b2565b005b3461127657604060031936011261127657611320613892565b6113286138a2565b611330613b5f565b91611339613b9d565b92611342613bbc565b61134a613be7565b906113568585856138b2565b8251602084015160408051630915497f60e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af18015610cf2576113c1916000916124b25750613cd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16601083901b62ff00001617905560408481015160608601518251630915497f60e01b81527f0202000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152919791908180606481010381600060645af1908115610cf257600091612491575b5081528351606085015160408051630915497f60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091612470575b50602082810191909152604085810151918601518151630915497f60e01b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1918215610cf25761ffff926115439260009161244f575b5060408201526139c0565b1660ff87160361240b57608083015160a084015160408051630915497f60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916123ea575b508152825160a084015160408051630915497f60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916123c9575b50602082015261167c6040608085015160208601519082519384928392630915497f60e01b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf2576000916123a8575b506040828101919091528381015160a08501518251630915497f60e01b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091612387575b5060608201526117616040608085015160608601519082519384928392630915497f60e01b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff9261178c9260009161236657506080820152613a13565b1660ff8616036123225760c082015160e083015160408051630915497f60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091612301575b508152815160e083015160408051630915497f60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916122e0575b5060208201526118c5604060c084015160208501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf2576000916122bf575b506040828101919091528281015160e08401518251630915497f60e01b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf25760009161229e575b5060608201526119aa604060c084015160608501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161227d575b5060808281019190915282015160e083015160408051630915497f60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161225c575b5060a0820152611a92604060c084015160a08501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff92611ac19260009161223b575060c0820152613a98565b1660ff8516036121f757602081015160408051630915497f60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611b85916000916121d6575b50825160408051630915497f60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf2576000926121ac575b50611ba860ff91613cd9565b1660ff8616149081612193575b501561212957606081015160408051630915497f60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611c7691600091612108575b506040838101518151630915497f60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf2576000926120dd575b50611c9a61ffff91613df3565b1660ff86161490816120c3575b50156120595760a081015160408051630915497f60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611d6a91600091612038575b50608083015160408051630915497f60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf25760009261200b575b50611d9063ffffffff91613f11565b1660ff8616149081611fef575b5015611f855760e081015160408051630915497f60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf257600092611f5b575b5060c0015160408051630915497f60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf257600092611f2a575b50611e7f67ffffffffffffffff91614037565b1660ff8316149081611f0a575b5015611ea05760209060ff60405191168152f35b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff9150611f1e90614037565b1660ff82161482611e8c565b67ffffffffffffffff919250611f51611e7f9160403d604011610ceb57610cd98183613851565b9050929150611e6c565b604091925060c0611f7a60ff92843d8611610ceb57610cd98183613851565b905093925050611e07565b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff9150611fff90613f11565b1660ff85161485611d9d565b63ffffffff91925061202e611d909160403d604011610ceb57610cd98183613851565b9050929150611d81565b612051915060403d604011610ceb57610cd98183613851565b905086611d12565b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff91506120d190613df3565b1660ff85161485611ca7565b61ffff9192506120fe611c9a9160403d604011610ceb57610cd98183613851565b9050929150611c8d565b612121915060403d604011610ceb57610cd98183613851565b905086611c20565b608460405162461bcd60e51b815260206004820152602760248201527f6d756c546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff91506121a090613cd9565b1660ff85161485611bb5565b60ff9192506121cc611ba89160403d604011610ceb57610cd98183613851565b9050929150611b9c565b6121ef915060403d604011610ceb57610cd98183613851565b905086611b30565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203634206661696c65640000000000000000006044820152fd5b612254915060403d604011610ceb57610cd98183613851565b90508861083d565b612275915060403d604011610ceb57610cd98183613851565b905086611a2f565b612296915060403d604011610ceb57610cd98183613851565b9050866119c1565b6122b7915060403d604011610ceb57610cd98183613851565b905086611947565b6122d8915060403d604011610ceb57610cd98183613851565b9050866118dc565b6122f9915060403d604011610ceb57610cd98183613851565b905086611862565b61231a915060403d604011610ceb57610cd98183613851565b9050866117fc565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203332206661696c65640000000000000000006044820152fd5b61237f915060403d604011610ceb57610cd98183613851565b905089610507565b6123a0915060403d604011610ceb57610cd98183613851565b9050876116fe565b6123c1915060403d604011610ceb57610cd98183613851565b905087611693565b6123e2915060403d604011610ceb57610cd98183613851565b905087611619565b612403915060403d604011610ceb57610cd98183613851565b9050876115b3565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203136206661696c65640000000000000000006044820152fd5b612468915060403d604011610ceb57610cd98183613851565b90508a611538565b612489915060403d604011610ceb57610cd98183613851565b9050886114c5565b6124aa915060403d604011610ceb57610cd98183613851565b90508861145f565b6124cb915060403d604011610ceb57610cd98183613851565b905088610142565b3461127657600060031936011261127657602060ff60005460101c16604051908152f35b346112765760a060031936011261127657602061254260405161251981613818565b600435815260243583820152604435604082015260643560608201526084356080820152613a13565b63ffffffff60405191168152f35b3461127657600060031936011261127657602060ff60005460081c16604051908152f35b346112765760e06003193601126112765760206125cf604051612596816137fc565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613a98565b67ffffffffffffffff60405191168152f35b34611276576040600319360112611276576125fa613892565b6126026138a2565b61260a613b5f565b91612613613b9d565b9261261c613bbc565b612624613be7565b906126308585856138b2565b82516020840151604080516307ac0fd160e51b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760ff9161269f9160009161372b5750613cd9565b1695867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055612727604080860151606087015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161370a575b50815283516060850151604080516307ac0fd160e51b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916136e9575b506020828101919091526040858101519186015181516307ac0fd160e51b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610cf257889261ffff92612823926000916136c8575060408201526139c0565b160361368457608083015160a0840151604080516307ac0fd160e51b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091613663575b508152825160a0840151604080516307ac0fd160e51b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091613642575b50602082015261295860406080850151602086015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613621575b506040828101919091528381015160a085015182516307ac0fd160e51b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091613600575b506060820152612a3d60406080850151606086015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff92612a689260009161236657506080820152613a13565b1685036135bc5760c082015160e0830151604080516307ac0fd160e51b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161359b575b508152815160e0830151604080516307ac0fd160e51b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161357a575b506020820152612b9e604060c0840151602085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613559575b506040828101919091528281015160e084015182516307ac0fd160e51b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091613538575b506060820152612c83604060c0840151606085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613517575b5060808281019190915282015160e0830151604080516307ac0fd160e51b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916134f6575b5060a0820152612d6b604060c084015160a085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff92612d9a9260009161223b575060c0820152613a98565b1684036134b2576020810151604080516307ac0fd160e51b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257612e5b91600091613491575b508251604080516307ac0fd160e51b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092613467575b50612e7e60ff91613cd9565b1685149081613451575b50156133e7576060810151604080516307ac0fd160e51b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257612f49916000916133c6575b5060408381015181516307ac0fd160e51b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf25760009261339b575b50612f6d61ffff91613df3565b1685149081613384575b501561331a5760a0810151604080516307ac0fd160e51b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf25761303a916000916132f9575b506080830151604080516307ac0fd160e51b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf2576000926132cc575b5061306063ffffffff91613f11565b16851490816132b3575b50156132495760e0810151604080516307ac0fd160e51b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf25760009261321f575b5060c00151604080516307ac0fd160e51b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf2576000926131ee575b5061314c67ffffffffffffffff91614037565b16821490816131d1575b501561316757602090604051908152f35b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff91506131e590614037565b16811482613156565b67ffffffffffffffff91925061321561314c9160403d604011610ceb57610cd98183613851565b9050929150613139565b604091925060c061323e60ff92843d8611610ceb57610cd98183613851565b9050939250506130d4565b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff91506132c390613f11565b1684148561306a565b63ffffffff9192506132ef6130609160403d604011610ceb57610cd98183613851565b9050929150613051565b613312915060403d604011610ceb57610cd98183613851565b905086612fe2565b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff915061339290613df3565b16841485612f77565b61ffff9192506133bc612f6d9160403d604011610ceb57610cd98183613851565b9050929150612f60565b6133df915060403d604011610ceb57610cd98183613851565b905086612ef3565b608460405162461bcd60e51b815260206004820152602760248201527f616464546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff915061345e90613cd9565b16841485612e88565b60ff919250613487612e7e9160403d604011610ceb57610cd98183613851565b9050929150612e72565b6134aa915060403d604011610ceb57610cd98183613851565b905086612e06565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203634206661696c65640000000000000000006044820152fd5b61350f915060403d604011610ceb57610cd98183613851565b905086612d08565b613530915060403d604011610ceb57610cd98183613851565b905086612c9a565b613551915060403d604011610ceb57610cd98183613851565b905086612c20565b613572915060403d604011610ceb57610cd98183613851565b905086612bb5565b613593915060403d604011610ceb57610cd98183613851565b905086612b3b565b6135b4915060403d604011610ceb57610cd98183613851565b905086612ad5565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203332206661696c65640000000000000000006044820152fd5b613619915060403d604011610ceb57610cd98183613851565b9050876129da565b61363a915060403d604011610ceb57610cd98183613851565b90508761296f565b61365b915060403d604011610ceb57610cd98183613851565b9050876128f5565b61367c915060403d604011610ceb57610cd98183613851565b90508761288f565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203136206661696c65640000000000000000006044820152fd5b6136e1915060403d604011610ceb57610cd98183613851565b90508b611538565b613702915060403d604011610ceb57610cd98183613851565b9050886127a4565b613723915060403d604011610ceb57610cd98183613851565b90508861273e565b613744915060403d604011610ceb57610cd98183613851565b905089610142565b3461127657606060031936011261127657602061378760405161376e816137b1565b60043581526024358382015260443560408201526139c0565b61ffff60405191168152f35b346112765760006003193601126112765760209060ff600054168152f35b6060810190811067ffffffffffffffff8211176137cd57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176137cd57604052565b60a0810190811067ffffffffffffffff8211176137cd57604052565b610100810190811067ffffffffffffffff8211176137cd57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176137cd57604052565b6004359060ff8216820361127657565b6024359060ff8216820361127657565b916139249061391a60ff8060e0956138c981613c1f565b88526138d485613c1f565b602089015216926138e484613d7f565b604088015216916138f483613d7f565b606087015261390281613e9b565b608087015261391083613e9b565b60a0870152613fbd565b60c0850152613fbd565b910152565b1561393057565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b6139f66139cd8251613df3565b9161ffff806139df6020840151613df3565b169080851691821492836139f9575b505050613929565b90565b613a099192935060400151613df3565b16143880806139ee565b6139f6613a208251613f11565b9163ffffffff80613a346020840151613f11565b16908085169182149283613a7f575b83613a66575b83613a5657505050613929565b613a099192935060600151613f11565b925080613a766080850151613f11565b16821492613a49565b925080613a8f6040850151613f11565b16821492613a43565b6139f6613aa58251614037565b9167ffffffffffffffff80613abd6020840151614037565b16908085169182149283613b46575b83613b2d575b83613b14575b83613afb575b83613aeb57505050613929565b613a099192935060a00151614037565b925080613b0b60c0850151614037565b16821492613ade565b925080613b246060850151614037565b16821492613ad8565b925080613b3d6080850151614037565b16821492613ad2565b925080613b566040850151614037565b16821492613acc565b60405190613b6c82613834565b8160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190613baa826137b1565b60006040838281528260208201520152565b60405190613bc982613818565b60006080838281528260208201528260408201528260608201520152565b60405190613bf4826137fc565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b906020823d8211613cbb575b81613cab60209383613851565b81010312613cb857505190565b80fd5b3d9150613c9e565b9190826040910312611276576020825192015190565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f010000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613d4d575b60ff91501690565b6020823d8211613d77575b81613d6560209383613851565b81010312613cb8575060ff9051613d45565b3d9150613d58565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f020000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613e68575b61ffff91501690565b6020823d8211613e93575b81613e8060209383613851565b81010312613cb8575061ffff9051613e5f565b3d9150613e73565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f030000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613f88575b63ffffffff91501690565b6020823d8211613fb5575b81613fa060209383613851565b81010312613cb8575063ffffffff9051613f7d565b3d9150613f93565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f040000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf2576000906140b2575b67ffffffffffffffff91501690565b6020823d82116140e3575b816140ca60209383613851565b81010312613cb8575067ffffffffffffffff90516140a3565b3d91506140bd56fea164736f6c6343000813000a";
|
|
339
|
+
"0x60808060405234610016576140f8908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816324ad7b3014613793575080632e544aa01461374c5780637df4fdd1146125e157806380f937bc14612574578063971bbe6f14612550578063acb38169146124f7578063d3e4744d146124d3578063d9c538e414611307578063ebb571fd1461127b5763f24b62591461008d57600080fd5b34611276576040600319360112611276576100a6613892565b6100ae6138a2565b6100b6613b5f565b916100bf613b9d565b926100c8613bbc565b6100d0613be7565b906100dc8585856138b2565b825160208401516040805163ce8c713d60e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af18015610cf25761014891600091611255575b50613cd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16600883901b61ff00161790556040848101516060860151825163ce8c713d60e01b81527f0202000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152919791908180606481010381600060645af1908115610cf257600091611234575b508152835160608501516040805163ce8c713d60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091611213575b5060208281019190915260408581015191860151815163ce8c713d60e01b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610cf2576000916111f2575b50604082015261ffff6102cc60ff8916926139c0565b16036111ae57608083015160a08401516040805163ce8c713d60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161118d575b508152825160a08401516040805163ce8c713d60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161116c575b506020820152610401604060808501516020860151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161114b575b506040828101919091528381015160a0850151825163ce8c713d60e01b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf25760009161112a575b5060608201526104e6604060808501516060860151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff9261051292600091611109575b506080820152613a13565b1660ff8616036110c55760c082015160e08301516040805163ce8c713d60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916110a4575b508152815160e08301516040805163ce8c713d60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091611083575b50602082015261064b604060c08401516020850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091611062575b506040828101919091528281015160e0840151825163ce8c713d60e01b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091611041575b506060820152610730604060c08401516060850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091611020575b5060808281019190915282015160e08301516040805163ce8c713d60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091610fff575b5060a0820152610818604060c084015160a0850151908251938492839263ce8c713d60e01b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff9261084892600091610fde575b5060c0820152613a98565b1660ff851603610f9a5760208101516040805163ce8c713d60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf25761090c91600091610f79575b5082516040805163ce8c713d60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092610f4f575b5061092f60ff91613cd9565b1660ff8616149081610f36575b5015610ecc5760608101516040805163ce8c713d60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf2576109fd91600091610eab575b50604083810151815163ce8c713d60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf257600092610e80575b50610a2161ffff91613df3565b1660ff8616149081610e66575b5015610dfc5760a08101516040805163ce8c713d60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257610af191600091610ddb575b5060808301516040805163ce8c713d60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092610dae575b50610b1763ffffffff91613f11565b1660ff8616149081610d92575b5015610d285760e08101516040805163ce8c713d60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf257600092610cfe575b5060c001516040805163ce8c713d60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf257600092610cb1575b50610c0667ffffffffffffffff91614037565b1660ff8316149081610c91575b5015610c275760209060ff60405191168152f35b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff9150610ca590614037565b1660ff82161438610c13565b67ffffffffffffffff919250610ce1610c069160403d604011610ceb575b610cd98183613851565b810190613cc3565b9050929150610bf3565b503d610ccf565b6040513d6000823e3d90fd5b604091925060c0610d1d60ff92843d8611610ceb57610cd98183613851565b905093925050610b8e565b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff9150610da290613f11565b1660ff85161438610b24565b63ffffffff919250610dd1610b179160403d604011610ceb57610cd98183613851565b9050929150610b08565b610df4915060403d604011610ceb57610cd98183613851565b905038610a99565b608460405162461bcd60e51b815260206004820152602860248201527f737562546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff9150610e7490613df3565b1660ff85161438610a2e565b61ffff919250610ea1610a219160403d604011610ceb57610cd98183613851565b9050929150610a14565b610ec4915060403d604011610ceb57610cd98183613851565b9050386109a7565b608460405162461bcd60e51b815260206004820152602760248201527f737562546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff9150610f4390613cd9565b1660ff8516143861093c565b60ff919250610f6f61092f9160403d604011610ceb57610cd98183613851565b9050929150610923565b610f92915060403d604011610ceb57610cd98183613851565b9050386108b7565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203634206661696c65640000000000000000006044820152fd5b610ff7915060403d604011610ceb57610cd98183613851565b90503861083d565b611018915060403d604011610ceb57610cd98183613851565b9050386107b5565b611039915060403d604011610ceb57610cd98183613851565b905038610747565b61105a915060403d604011610ceb57610cd98183613851565b9050386106cd565b61107b915060403d604011610ceb57610cd98183613851565b905038610662565b61109c915060403d604011610ceb57610cd98183613851565b9050386105e8565b6110bd915060403d604011610ceb57610cd98183613851565b905038610582565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203332206661696c65640000000000000000006044820152fd5b611122915060403d604011610ceb57610cd98183613851565b905038610507565b611143915060403d604011610ceb57610cd98183613851565b905038610483565b611164915060403d604011610ceb57610cd98183613851565b905038610418565b611185915060403d604011610ceb57610cd98183613851565b90503861039e565b6111a6915060403d604011610ceb57610cd98183613851565b905038610338565b606460405162461bcd60e51b815260206004820152601760248201527f737562546573743a2063617374203136206661696c65640000000000000000006044820152fd5b61120b915060403d604011610ceb57610cd98183613851565b9050386102b6565b61122c915060403d604011610ceb57610cd98183613851565b90503861024b565b61124d915060403d604011610ceb57610cd98183613851565b9050386101e5565b61126e915060403d604011610ceb57610cd98183613851565b905038610142565b600080fd5b3461127657600319360161014081126112765761010013611276576040516112a281613834565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e08201526101043560ff8116810361127657610124359060ff8216820361127657611305926138b2565b005b3461127657604060031936011261127657611320613892565b6113286138a2565b611330613b5f565b91611339613b9d565b92611342613bbc565b61134a613be7565b906113568585856138b2565b8251602084015160408051630915497f60e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af18015610cf2576113c1916000916124b25750613cd9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16601083901b62ff00001617905560408481015160608601518251630915497f60e01b81527f0202000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152919791908180606481010381600060645af1908115610cf257600091612491575b5081528351606085015160408051630915497f60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091612470575b50602082810191909152604085810151918601518151630915497f60e01b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1918215610cf25761ffff926115439260009161244f575b5060408201526139c0565b1660ff87160361240b57608083015160a084015160408051630915497f60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916123ea575b508152825160a084015160408051630915497f60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916123c9575b50602082015261167c6040608085015160208601519082519384928392630915497f60e01b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf2576000916123a8575b506040828101919091528381015160a08501518251630915497f60e01b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091612387575b5060608201526117616040608085015160608601519082519384928392630915497f60e01b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff9261178c9260009161236657506080820152613a13565b1660ff8616036123225760c082015160e083015160408051630915497f60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091612301575b508152815160e083015160408051630915497f60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916122e0575b5060208201526118c5604060c084015160208501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf2576000916122bf575b506040828101919091528281015160e08401518251630915497f60e01b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf25760009161229e575b5060608201526119aa604060c084015160608501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161227d575b5060808281019190915282015160e083015160408051630915497f60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161225c575b5060a0820152611a92604060c084015160a08501519082519384928392630915497f60e01b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff92611ac19260009161223b575060c0820152613a98565b1660ff8516036121f757602081015160408051630915497f60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611b85916000916121d6575b50825160408051630915497f60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf2576000926121ac575b50611ba860ff91613cd9565b1660ff8616149081612193575b501561212957606081015160408051630915497f60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611c7691600091612108575b506040838101518151630915497f60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf2576000926120dd575b50611c9a61ffff91613df3565b1660ff86161490816120c3575b50156120595760a081015160408051630915497f60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257611d6a91600091612038575b50608083015160408051630915497f60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf25760009261200b575b50611d9063ffffffff91613f11565b1660ff8616149081611fef575b5015611f855760e081015160408051630915497f60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf257600092611f5b575b5060c0015160408051630915497f60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf257600092611f2a575b50611e7f67ffffffffffffffff91614037565b1660ff8316149081611f0a575b5015611ea05760209060ff60405191168152f35b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff9150611f1e90614037565b1660ff82161482611e8c565b67ffffffffffffffff919250611f51611e7f9160403d604011610ceb57610cd98183613851565b9050929150611e6c565b604091925060c0611f7a60ff92843d8611610ceb57610cd98183613851565b905093925050611e07565b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff9150611fff90613f11565b1660ff85161485611d9d565b63ffffffff91925061202e611d909160403d604011610ceb57610cd98183613851565b9050929150611d81565b612051915060403d604011610ceb57610cd98183613851565b905086611d12565b608460405162461bcd60e51b815260206004820152602860248201527f6d756c546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff91506120d190613df3565b1660ff85161485611ca7565b61ffff9192506120fe611c9a9160403d604011610ceb57610cd98183613851565b9050929150611c8d565b612121915060403d604011610ceb57610cd98183613851565b905086611c20565b608460405162461bcd60e51b815260206004820152602760248201527f6d756c546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff91506121a090613cd9565b1660ff85161485611bb5565b60ff9192506121cc611ba89160403d604011610ceb57610cd98183613851565b9050929150611b9c565b6121ef915060403d604011610ceb57610cd98183613851565b905086611b30565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203634206661696c65640000000000000000006044820152fd5b612254915060403d604011610ceb57610cd98183613851565b90508861083d565b612275915060403d604011610ceb57610cd98183613851565b905086611a2f565b612296915060403d604011610ceb57610cd98183613851565b9050866119c1565b6122b7915060403d604011610ceb57610cd98183613851565b905086611947565b6122d8915060403d604011610ceb57610cd98183613851565b9050866118dc565b6122f9915060403d604011610ceb57610cd98183613851565b905086611862565b61231a915060403d604011610ceb57610cd98183613851565b9050866117fc565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203332206661696c65640000000000000000006044820152fd5b61237f915060403d604011610ceb57610cd98183613851565b905089610507565b6123a0915060403d604011610ceb57610cd98183613851565b9050876116fe565b6123c1915060403d604011610ceb57610cd98183613851565b905087611693565b6123e2915060403d604011610ceb57610cd98183613851565b905087611619565b612403915060403d604011610ceb57610cd98183613851565b9050876115b3565b606460405162461bcd60e51b815260206004820152601760248201527f6d756c546573743a2063617374203136206661696c65640000000000000000006044820152fd5b612468915060403d604011610ceb57610cd98183613851565b90508a611538565b612489915060403d604011610ceb57610cd98183613851565b9050886114c5565b6124aa915060403d604011610ceb57610cd98183613851565b90508861145f565b6124cb915060403d604011610ceb57610cd98183613851565b905088610142565b3461127657600060031936011261127657602060ff60005460101c16604051908152f35b346112765760a060031936011261127657602061254260405161251981613818565b600435815260243583820152604435604082015260643560608201526084356080820152613a13565b63ffffffff60405191168152f35b3461127657600060031936011261127657602060ff60005460081c16604051908152f35b346112765760e06003193601126112765760206125cf604051612596816137fc565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613a98565b67ffffffffffffffff60405191168152f35b34611276576040600319360112611276576125fa613892565b6126026138a2565b61260a613b5f565b91612613613b9d565b9261261c613bbc565b612624613be7565b906126308585856138b2565b82516020840151604080516307ac0fd160e51b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760ff9161269f9160009161372b5750613cd9565b1695867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055612727604080860151606087015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf25760009161370a575b50815283516060850151604080516307ac0fd160e51b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916136e9575b506020828101919091526040858101519186015181516307ac0fd160e51b81527f0201000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610cf257889261ffff92612823926000916136c8575060408201526139c0565b160361368457608083015160a0840151604080516307ac0fd160e51b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091613663575b508152825160a0840151604080516307ac0fd160e51b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf257600091613642575b50602082015261295860406080850151602086015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0301000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613621575b506040828101919091528381015160a085015182516307ac0fd160e51b81527f020300000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091613600575b506060820152612a3d60406080850151606086015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0302000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25763ffffffff92612a689260009161236657506080820152613a13565b1685036135bc5760c082015160e0830151604080516307ac0fd160e51b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161359b575b508152815160e0830151604080516307ac0fd160e51b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf25760009161357a575b506020820152612b9e604060c0840151602085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0401000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613559575b506040828101919091528281015160e084015182516307ac0fd160e51b81527f020400000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015290816064816000825af1908115610cf257600091613538575b506060820152612c83604060c0840151606085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0402000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1908115610cf257600091613517575b5060808281019190915282015160e0830151604080516307ac0fd160e51b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830191909152816064816000825af1908115610cf2576000916134f6575b5060a0820152612d6b604060c084015160a085015190825193849283926307ac0fd160e51b8452600484016040909392919360608101947f0403000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af1918215610cf25767ffffffffffffffff92612d9a9260009161223b575060c0820152613a98565b1684036134b2576020810151604080516307ac0fd160e51b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257612e5b91600091613491575b508251604080516307ac0fd160e51b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf257600092613467575b50612e7e60ff91613cd9565b1685149081613451575b50156133e7576060810151604080516307ac0fd160e51b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf257612f49916000916133c6575b5060408381015181516307ac0fd160e51b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff8716604482015292839081906064820190565b0381600060645af1918215610cf25760009261339b575b50612f6d61ffff91613df3565b1685149081613384575b501561331a5760a0810151604080516307ac0fd160e51b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff851660248201526044810192909252816064816000825af18015610cf25761303a916000916132f9575b506080830151604080516307ac0fd160e51b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff871660448301529092839081906064820190565b0381600060645af1918215610cf2576000926132cc575b5061306063ffffffff91613f11565b16851490816132b3575b50156132495760e0810151604080516307ac0fd160e51b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff9490941660248501526044840191909152826064816000825af1918215610cf25760009261321f575b5060c00151604080516307ac0fd160e51b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019290925260ff93909316604482015291826064816000825af1918215610cf2576000926131ee575b5061314c67ffffffffffffffff91614037565b16821490816131d1575b501561316757602090604051908152f35b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b67ffffffffffffffff91506131e590614037565b16811482613156565b67ffffffffffffffff91925061321561314c9160403d604011610ceb57610cd98183613851565b9050929150613139565b604091925060c061323e60ff92843d8611610ceb57610cd98183613851565b9050939250506130d4565b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b63ffffffff91506132c390613f11565b1684148561306a565b63ffffffff9192506132ef6130609160403d604011610ceb57610cd98183613851565b9050929150613051565b613312915060403d604011610ceb57610cd98183613851565b905086612fe2565b608460405162461bcd60e51b815260206004820152602860248201527f616464546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b61ffff915061339290613df3565b16841485612f77565b61ffff9192506133bc612f6d9160403d604011610ceb57610cd98183613851565b9050929150612f60565b6133df915060403d604011610ceb57610cd98183613851565b905086612ef3565b608460405162461bcd60e51b815260206004820152602760248201527f616464546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60ff915061345e90613cd9565b16841485612e88565b60ff919250613487612e7e9160403d604011610ceb57610cd98183613851565b9050929150612e72565b6134aa915060403d604011610ceb57610cd98183613851565b905086612e06565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203634206661696c65640000000000000000006044820152fd5b61350f915060403d604011610ceb57610cd98183613851565b905086612d08565b613530915060403d604011610ceb57610cd98183613851565b905086612c9a565b613551915060403d604011610ceb57610cd98183613851565b905086612c20565b613572915060403d604011610ceb57610cd98183613851565b905086612bb5565b613593915060403d604011610ceb57610cd98183613851565b905086612b3b565b6135b4915060403d604011610ceb57610cd98183613851565b905086612ad5565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203332206661696c65640000000000000000006044820152fd5b613619915060403d604011610ceb57610cd98183613851565b9050876129da565b61363a915060403d604011610ceb57610cd98183613851565b90508761296f565b61365b915060403d604011610ceb57610cd98183613851565b9050876128f5565b61367c915060403d604011610ceb57610cd98183613851565b90508761288f565b606460405162461bcd60e51b815260206004820152601760248201527f616464546573743a2063617374203136206661696c65640000000000000000006044820152fd5b6136e1915060403d604011610ceb57610cd98183613851565b90508b611538565b613702915060403d604011610ceb57610cd98183613851565b9050886127a4565b613723915060403d604011610ceb57610cd98183613851565b90508861273e565b613744915060403d604011610ceb57610cd98183613851565b905089610142565b3461127657606060031936011261127657602061378760405161376e816137b1565b60043581526024358382015260443560408201526139c0565b61ffff60405191168152f35b346112765760006003193601126112765760209060ff600054168152f35b6060810190811067ffffffffffffffff8211176137cd57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176137cd57604052565b60a0810190811067ffffffffffffffff8211176137cd57604052565b610100810190811067ffffffffffffffff8211176137cd57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176137cd57604052565b6004359060ff8216820361127657565b6024359060ff8216820361127657565b916139249061391a60ff8060e0956138c981613c1f565b88526138d485613c1f565b602089015216926138e484613d7f565b604088015216916138f483613d7f565b606087015261390281613e9b565b608087015261391083613e9b565b60a0870152613fbd565b60c0850152613fbd565b910152565b1561393057565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b6139f66139cd8251613df3565b9161ffff806139df6020840151613df3565b169080851691821492836139f9575b505050613929565b90565b613a099192935060400151613df3565b16143880806139ee565b6139f6613a208251613f11565b9163ffffffff80613a346020840151613f11565b16908085169182149283613a7f575b83613a66575b83613a5657505050613929565b613a099192935060600151613f11565b925080613a766080850151613f11565b16821492613a49565b925080613a8f6040850151613f11565b16821492613a43565b6139f6613aa58251614037565b9167ffffffffffffffff80613abd6020840151614037565b16908085169182149283613b46575b83613b2d575b83613b14575b83613afb575b83613aeb57505050613929565b613a099192935060a00151614037565b925080613b0b60c0850151614037565b16821492613ade565b925080613b246060850151614037565b16821492613ad8565b925080613b3d6080850151614037565b16821492613ad2565b925080613b566040850151614037565b16821492613acc565b60405190613b6c82613834565b8160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190613baa826137b1565b60006040838281528260208201520152565b60405190613bc982613818565b60006080838281528260208201528260408201528260608201520152565b60405190613bf4826137fc565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b906020823d8211613cbb575b81613cab60209383613851565b81010312613cb857505190565b80fd5b3d9150613c9e565b9190826040910312611276576020825192015190565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f010000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613d4d575b60ff91501690565b6020823d8211613d77575b81613d6560209383613851565b81010312613cb8575060ff9051613d45565b3d9150613d58565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f020000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613e68575b61ffff91501690565b6020823d8211613e93575b81613e8060209383613851565b81010312613cb8575061ffff9051613e5f565b3d9150613e73565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f030000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf257600090613f88575b63ffffffff91501690565b6020823d8211613fb5575b81613fa060209383613851565b81010312613cb8575063ffffffff9051613f7d565b3d9150613f93565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610cf257600091613c92575090565b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f040000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610cf2576000906140b2575b67ffffffffffffffff91501690565b6020823d82116140e3575b816140ca60209383613851565b81010312613cb8575067ffffffffffffffff90516140a3565b3d91506140bd56fea164736f6c6343000814000a";
|
|
340
340
|
|
|
341
341
|
type CheckedArithmeticWithOverflowBitTestsContractConstructorParams =
|
|
342
342
|
| [signer?: Signer]
|
package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts
CHANGED
|
@@ -240,7 +240,7 @@ const _abi = [
|
|
|
240
240
|
] as const;
|
|
241
241
|
|
|
242
242
|
const _bytecode =
|
|
243
|
-
"
|
|
243
|
+
"0x6080806040523461001657610a5c908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c8063053cfe9814610730578063097c446b146106165780630d980bf0146105f257806329875348146105cf5780632e5950eb146105ab5780632fd37f4b146105875780632ff336bf14610450578063645e46371461033c578063748533df146102215780637d2e0f48146101fd5780639a0c13d8146101dc5763df2ce28e146100a557600080fd5b346101c557806003193601126101c55760206100bf610849565b6100d96100d36100cd61086d565b92610993565b91610993565b83517fdd1486930000000000000000000000000000000000000000000000000000000081527f050500000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101d1578293610198575b5061015b6020936108fc565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff65ff00000000008560281b16911617905551908152f35b92506020833d82116101c9575b816101b26020938361088c565b810103126101c55791519161015b61014f565b5080fd5b3d91506101a5565b5051903d90823e3d90fd5b50346101c557816003193601126101c55760ff602092541690519015158152f35b50346101c557816003193601126101c55760ff6020925460181c1690519015158152f35b50346101c557806003193601126101c557602061023c610849565b61024a6100d36100cd61086d565b83517f6d82e45e0000000000000000000000000000000000000000000000000000000081527f050500000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101d1578293610307575b506102cc6020936108fc565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000008560181b16911617905551908152f35b92506020833d8211610334575b816103216020938361088c565b810103126101c5579151916102cc6102c0565b3d9150610314565b50346101c557806003193601126101c5576020610357610849565b6103656100d36100cd61086d565b83517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f050500000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101d157829361041b575b506103e76020936108fc565b1515917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff841617905551908152f35b92506020833d8211610448575b816104356020938361088c565b810103126101c5579151916103e76103db565b3d9150610428565b50346101c557806003193601126101c5576104ef61046c610849565b9361048761048161047b61086d565b96610993565b95610993565b8351809381927f145fca2c000000000000000000000000000000000000000000000000000000008352602098899584016040909392919360608101947f0505000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818660645af1801561057b578390610548575b61050d91506108fc565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff0000000085871b16911617905551908152f35b508381813d8311610574575b61055e818361088c565b810103126105705761050d9051610503565b8280fd5b503d610554565b505051903d90823e3d90fd5b50346101c557816003193601126101c55760ff6020925460101c1690519015158152f35b50346101c557816003193601126101c55760ff6020925460281c1690519015158152f35b50346101c557816003193601126101c55760ff60209254915191831c1615158152f35b50346101c557816003193601126101c55760ff6020925460081c1690519015158152f35b50346101c557806003193601126101c5576020610631610849565b61063f6100d36100cd61086d565b83517f813b20740000000000000000000000000000000000000000000000000000000081527f050500000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101d15782936106fb575b506106c16020936108fc565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008560101b16911617905551908152f35b92506020833d8211610728575b816107156020938361088c565b810103126101c5579151916106c16106b5565b3d9150610708565b50346101c557806003193601126101c557602061074b610849565b6107596100d36100cd61086d565b83517f42094c560000000000000000000000000000000000000000000000000000000081527f050500000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101d1578293610814575b506107db6020936108fc565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008560081b16911617905551908152f35b92506020833d8211610841575b8161082e6020938361088c565b810103126101c5579151916107db6107cf565b3d9150610821565b600435906fffffffffffffffffffffffffffffffff8216820361086857565b600080fd5b602435906fffffffffffffffffffffffffffffffff8216820361086857565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108cd57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af1918215610987578092610950575b5050151590565b9091506020823d821161097f575b8161096b6020938361088c565b8101031261097c5750513880610949565b80fd5b3d915061095e565b604051903d90823e3d90fd5b6fffffffffffffffffffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f05000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610a4357600091610a15575090565b906020823d8211610a3b575b81610a2e6020938361088c565b8101031261097c57505190565b3d9150610a21565b6040513d6000823e3d90fdfea164736f6c6343000814000a";
|
|
244
244
|
|
|
245
245
|
type Comparison128TestsContractConstructorParams =
|
|
246
246
|
| [signer?: Signer]
|
package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts
CHANGED
|
@@ -332,7 +332,7 @@ const _abi = [
|
|
|
332
332
|
] as const;
|
|
333
333
|
|
|
334
334
|
const _bytecode =
|
|
335
|
-
"0x608080604052346100165761425c908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806308c90f0d1461286e57806329875348146128485780632e544aa01461280d5780632e5950eb146127e757806379117549146114f15780637d2e0f48146114ce57806380f937bc146114735780638b6e7a8c14610170578063acb381691461011b5763ebb571fd1461008a57600080fd5b3461011657600319360161014081126101165761010013610116576040516100b181613c02565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e08201526101043560ff8116810361011657610124359060ff821682036101165761011492613c60565b005b600080fd5b346101165760a060031936011261011657602061016660405161013d81613be6565b600435815260243583820152604435604082015260643560608201526084356080820152613dbb565b6040519015158152f35b3461011657604060031936011261011657610189613b5f565b610191613b6f565b610199613ef3565b906101a2613f31565b926101ab613f50565b6101b3613f7b565b906101bf848487613c60565b845160208087015160405163dd14869360e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d5760009161143f575b5061022c6102bd91613fb3565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008a60101b1691161760005560206040880151606089015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061140b575b81528651606088015160405163dd14869360e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906113d7575b6103a192506020820152602060408801518189015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57889260009161139e575b5060408201526103c890613d6e565b15150361135a57608085015160a086015160405163dd14869360e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090611326575b8152855160a087015160405163dd14869360e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906112f2575b60208281019190915260808701518782015160405163dd14869360e01b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906112be575b610573925060408201526020604087015160a088015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061128a575b60608281019190915260808701519087015160405163dd14869360e01b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090611256575b61060b92506080820152613dbb565b151585036112125760c084015160e085015160405163dd14869360e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d576000906111de575b8152845160e086015160405163dd14869360e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906111aa575b60208281019190915260c08601518682015160405163dd14869360e01b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090611176575b6107b7925060408201526020604086015160e087015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090611142575b60608281019190915260c08601519086015160405163dd14869360e01b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061110e575b60808281019190915285015160e086015160405163dd14869360e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906110da575b60a08281019190915260c08601519086015160405163dd14869360e01b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906110a6575b610934925060c0820152613e38565b151584036110625760208381015160405163dd14869360e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d5760009061102e575b6109a89150613fb3565b1515841480610f87575b15610f1d57606083015160405163dd14869360e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090610ee9575b610a239150613fb3565b1515841480610e3f575b15610dd55760a083015160405163dd14869360e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090610da1575b610a9e9150613fb3565b1515841480610cf7575b15610c8d5760e083015160405163dd14869360e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090610c59575b610b189150613fb3565b151583149182610b9f575b505015610b3557602090604051908152f35b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b60c0015160405163dd14869360e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090610c19575b610c0e9150613fb3565b151581148280610b23565b506020813d602011610c45575b81610c3360209383613c1f565b8101031261011657610c0e9051610c04565b3d9150610c26565b6040513d6000823e3d90fd5b506020813d602011610c85575b81610c7360209383613c1f565b8101031261011657610b189051610b0e565b3d9150610c66565b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b50608083015160405163dd14869360e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610d6d575b610d649150613fb3565b15158414610aa8565b506020813d602011610d99575b81610d8760209383613c1f565b8101031261011657610d649051610d5a565b3d9150610d7a565b506020813d602011610dcd575b81610dbb60209383613c1f565b8101031261011657610a9e9051610a94565b3d9150610dae565b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b50604083810151905163dd14869360e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610eb5575b610eac9150613fb3565b15158414610a2d565b506020813d602011610ee1575b81610ecf60209383613c1f565b8101031261011657610eac9051610ea2565b3d9150610ec2565b506020813d602011610f15575b81610f0360209383613c1f565b8101031261011657610a239051610a19565b3d9150610ef6565b608460405162461bcd60e51b815260206004820152602760248201527f6c6574546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b50825160405163dd14869360e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610ffa575b610ff19150613fb3565b151584146109b2565b506020813d602011611026575b8161101460209383613c1f565b8101031261011657610ff19051610fe7565b3d9150611007565b506020813d60201161105a575b8161104860209383613c1f565b81010312610116576109a8905161099e565b3d915061103b565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203634206661696c65640000000000000000006044820152fd5b506020823d6020116110d2575b816110c060209383613c1f565b81010312610116576109349151610925565b3d91506110b3565b506020823d602011611106575b816110f460209383613c1f565b810103126101165761090f91516108b2565b3d91506110e7565b506020823d60201161113a575b8161112860209383613c1f565b810103126101165761089c9151610840565b3d915061111b565b506020823d60201161116e575b8161115c60209383613c1f565b810103126101165761082a91516107cd565b3d915061114f565b506020823d6020116111a2575b8161119060209383613c1f565b81010312610116576107b79151610752565b3d9150611183565b506020823d6020116111d6575b816111c460209383613c1f565b810103126101165761073c91516106e1565b3d91506111b7565b506020823d60201161120a575b816111f860209383613c1f565b81010312610116576106cb9151610677565b3d91506111eb565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203332206661696c65640000000000000000006044820152fd5b506020823d602011611282575b8161127060209383613c1f565b810103126101165761060b91516105fc565b3d9150611263565b506020823d6020116112b6575b816112a460209383613c1f565b81010312610116576105e69151610589565b3d9150611297565b506020823d6020116112ea575b816112d860209383613c1f565b8101031261011657610573915161050e565b3d91506112cb565b506020823d60201161131e575b8161130c60209383613c1f565b81010312610116576104f8915161049d565b3d91506112ff565b506020823d602011611352575b8161134060209383613c1f565b81010312610116576104879151610433565b3d9150611333565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203136206661696c65640000000000000000006044820152fd5b919250506020813d6020116113cf575b816113bb60209383613c1f565b8101031261011657518791906103c86103b9565b3d91506113ae565b506020823d602011611403575b816113f160209383613c1f565b81010312610116576103a1915161033d565b3d91506113e4565b506020823d602011611437575b8161142560209383613c1f565b810103126101165761032791516102d3565b3d9150611418565b90506020813d60201161146b575b8161145a60209383613c1f565b81010312610116575161022c61021f565b3d915061144d565b346101165760e060031936011261011657602061016660405161149581613bca565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613e38565b3461011657600060031936011261011657602060ff600054166040519015158152f35b346101165760406003193601126101165761150a613b5f565b611512613b6f565b61151a613ef3565b90611523613f31565b9261152c613f50565b611534613f7b565b90611540848487613c60565b8451602080870151604051630517f28b60e21b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d576000916127b3575b506115ad61163d91613fb3565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008a60081b16911617600055602060408801516060890151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061277f575b815286516060880151604051630517f28b60e21b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061274b575b611721925060208201526020604088015181890151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d578892600091612712575b50604082015261174890613d6e565b1515036126ce57608085015160a0860151604051630517f28b60e21b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d5760009061269a575b8152855160a0870151604051630517f28b60e21b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090612666575b602082810191909152608087015187820151604051630517f28b60e21b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090612632575b6118f3925060408201526020604087015160a0880151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d576000906125fe575b606082810191909152608087015190870151604051630517f28b60e21b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906125ca575b61198b92506080820152613dbb565b151585036125865760c084015160e0850151604051630517f28b60e21b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090612552575b8152845160e0860151604051630517f28b60e21b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061251e575b60208281019190915260c086015186820151604051630517f28b60e21b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906124ea575b611b37925060408201526020604086015160e0870151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d576000906124b6575b60608281019190915260c086015190860151604051630517f28b60e21b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090612482575b60808281019190915285015160e0860151604051630517f28b60e21b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061244e575b60a08281019190915260c086015190860151604051630517f28b60e21b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061241a575b611cb4925060c0820152613e38565b151584036123d657602083810151604051630517f28b60e21b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d576000906123a2575b611d289150613fb3565b15158414806122fb575b15612291576060830151604051630517f28b60e21b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d5760009061225d575b611da39150613fb3565b15158414806121b3575b156121495760a0830151604051630517f28b60e21b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090612115575b611e1e9150613fb3565b151584148061206b575b156120015760e0830151604051630517f28b60e21b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090611fcd575b611e989150613fb3565b151583149182611f1f575b505015611eb557602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60c00151604051630517f28b60e21b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090611f99575b611f8e9150613fb3565b151581148280611ea3565b506020813d602011611fc5575b81611fb360209383613c1f565b8101031261011657611f8e9051611f84565b3d9150611fa6565b506020813d602011611ff9575b81611fe760209383613c1f565b8101031261011657611e989051611e8e565b3d9150611fda565b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051630517f28b60e21b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906120e1575b6120d89150613fb3565b15158414611e28565b506020813d60201161210d575b816120fb60209383613c1f565b81010312610116576120d890516120ce565b3d91506120ee565b506020813d602011612141575b8161212f60209383613c1f565b8101031261011657611e1e9051611e14565b3d9150612122565b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051630517f28b60e21b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090612229575b6122209150613fb3565b15158414611dad565b506020813d602011612255575b8161224360209383613c1f565b81010312610116576122209051612216565b3d9150612236565b506020813d602011612289575b8161227760209383613c1f565b8101031261011657611da39051611d99565b3d915061226a565b608460405162461bcd60e51b815260206004820152602660248201527f6c65546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b508251604051630517f28b60e21b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d5760009061236e575b6123659150613fb3565b15158414611d32565b506020813d60201161239a575b8161238860209383613c1f565b8101031261011657612365905161235b565b3d915061237b565b506020813d6020116123ce575b816123bc60209383613c1f565b8101031261011657611d289051611d1e565b3d91506123af565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d602011612446575b8161243460209383613c1f565b8101031261011657611cb49151611ca5565b3d9150612427565b506020823d60201161247a575b8161246860209383613c1f565b8101031261011657611c8f9151611c32565b3d915061245b565b506020823d6020116124ae575b8161249c60209383613c1f565b8101031261011657611c1c9151611bc0565b3d915061248f565b506020823d6020116124e2575b816124d060209383613c1f565b8101031261011657611baa9151611b4d565b3d91506124c3565b506020823d602011612516575b8161250460209383613c1f565b8101031261011657611b379151611ad2565b3d91506124f7565b506020823d60201161254a575b8161253860209383613c1f565b8101031261011657611abc9151611a61565b3d915061252b565b506020823d60201161257e575b8161256c60209383613c1f565b8101031261011657611a4b91516119f7565b3d915061255f565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d6020116125f6575b816125e460209383613c1f565b810103126101165761198b915161197c565b3d91506125d7565b506020823d60201161262a575b8161261860209383613c1f565b81010312610116576119669151611909565b3d915061260b565b506020823d60201161265e575b8161264c60209383613c1f565b81010312610116576118f3915161188e565b3d915061263f565b506020823d602011612692575b8161268060209383613c1f565b8101031261011657611878915161181d565b3d9150612673565b506020823d6020116126c6575b816126b460209383613c1f565b810103126101165761180791516117b3565b3d91506126a7565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011612743575b8161272f60209383613c1f565b810103126101165751879190611748611739565b3d9150612722565b506020823d602011612777575b8161276560209383613c1f565b810103126101165761172191516116bd565b3d9150612758565b506020823d6020116127ab575b8161279960209383613c1f565b81010312610116576116a79151611653565b3d915061278c565b90506020813d6020116127df575b816127ce60209383613c1f565b8101031261011657516115ad6115a0565b3d91506127c1565b3461011657600060031936011261011657602060ff60005460101c166040519015158152f35b3461011657606060031936011261011657602061016660405161282f81613b7f565b6004358152602435838201526044356040820152613d6e565b3461011657600060031936011261011657602060ff60005460081c166040519015158152f35b3461011657604060031936011261011657612887613b5f565b61288f613b6f565b612897613ef3565b906128a0613f31565b926128a9613f50565b6128b1613f7b565b906128bd848487613c60565b84516020808701516040516336c1722f60e11b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d57600091613b2b575b5061292a6129b591613fb3565b1515967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541660ff8916176000556020604088015160608901519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090613af7575b8152865160608801516040516336c1722f60e11b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613ac3575b612a999250602082015260206040880151818901519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d578892600091613a8a575b506040820152612ac090613d6e565b151503613a4657608085015160a08601516040516336c1722f60e11b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090613a12575b8152855160a08701516040516336c1722f60e11b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906139de575b6020828101919091526080870151878201516040516336c1722f60e11b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906139aa575b612c6b925060408201526020604087015160a08801519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090613976575b6060828101919091526080870151908701516040516336c1722f60e11b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613942575b612d0392506080820152613dbb565b151585036138fe5760c084015160e08501516040516336c1722f60e11b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d576000906138ca575b8152845160e08601516040516336c1722f60e11b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613896575b60208281019190915260c0860151868201516040516336c1722f60e11b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090613862575b612eaf925060408201526020604086015160e08701519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061382e575b60608281019190915260c0860151908601516040516336c1722f60e11b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906137fa575b60808281019190915285015160e08601516040516336c1722f60e11b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906137c6575b60a08281019190915260c0860151908601516040516336c1722f60e11b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613792575b61302c925060c0820152613e38565b1515840361374e576020838101516040516336c1722f60e11b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d5760009061371a575b6130a09150613fb3565b1515841480613673575b156136095760608301516040516336c1722f60e11b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d576000906135d5575b61311b9150613fb3565b151584148061352b575b156134c15760a08301516040516336c1722f60e11b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d5760009061348d575b6131969150613fb3565b15158414806133e3575b156133795760e08301516040516336c1722f60e11b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090613345575b6132109150613fb3565b151583149182613297575b50501561322d57602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60c001516040516336c1722f60e11b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090613311575b6133069150613fb3565b15158114828061321b565b506020813d60201161333d575b8161332b60209383613c1f565b810103126101165761330690516132fc565b3d915061331e565b506020813d602011613371575b8161335f60209383613c1f565b81010312610116576132109051613206565b3d9150613352565b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060808301516040516336c1722f60e11b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090613459575b6134509150613fb3565b151584146131a0565b506020813d602011613485575b8161347360209383613c1f565b81010312610116576134509051613446565b3d9150613466565b506020813d6020116134b9575b816134a760209383613c1f565b8101031261011657613196905161318c565b3d915061349a565b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060408381015190516336c1722f60e11b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906135a1575b6135989150613fb3565b15158414613125565b506020813d6020116135cd575b816135bb60209383613c1f565b8101031261011657613598905161358e565b3d91506135ae565b506020813d602011613601575b816135ef60209383613c1f565b810103126101165761311b9051613111565b3d91506135e2565b608460405162461bcd60e51b815260206004820152602660248201527f6774546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b5082516040516336c1722f60e11b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906136e6575b6136dd9150613fb3565b151584146130aa565b506020813d602011613712575b8161370060209383613c1f565b81010312610116576136dd90516136d3565b3d91506136f3565b506020813d602011613746575b8161373460209383613c1f565b81010312610116576130a09051613096565b3d9150613727565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116137be575b816137ac60209383613c1f565b810103126101165761302c915161301d565b3d915061379f565b506020823d6020116137f2575b816137e060209383613c1f565b81010312610116576130079151612faa565b3d91506137d3565b506020823d602011613826575b8161381460209383613c1f565b8101031261011657612f949151612f38565b3d9150613807565b506020823d60201161385a575b8161384860209383613c1f565b8101031261011657612f229151612ec5565b3d915061383b565b506020823d60201161388e575b8161387c60209383613c1f565b8101031261011657612eaf9151612e4a565b3d915061386f565b506020823d6020116138c2575b816138b060209383613c1f565b8101031261011657612e349151612dd9565b3d91506138a3565b506020823d6020116138f6575b816138e460209383613c1f565b8101031261011657612dc39151612d6f565b3d91506138d7565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d60201161396e575b8161395c60209383613c1f565b8101031261011657612d039151612cf4565b3d915061394f565b506020823d6020116139a2575b8161399060209383613c1f565b8101031261011657612cde9151612c81565b3d9150613983565b506020823d6020116139d6575b816139c460209383613c1f565b8101031261011657612c6b9151612c06565b3d91506139b7565b506020823d602011613a0a575b816139f860209383613c1f565b8101031261011657612bf09151612b95565b3d91506139eb565b506020823d602011613a3e575b81613a2c60209383613c1f565b8101031261011657612b7f9151612b2b565b3d9150613a1f565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011613abb575b81613aa760209383613c1f565b810103126101165751879190612ac0612ab1565b3d9150613a9a565b506020823d602011613aef575b81613add60209383613c1f565b8101031261011657612a999151612a35565b3d9150613ad0565b506020823d602011613b23575b81613b1160209383613c1f565b8101031261011657612a1f91516129cb565b3d9150613b04565b90506020813d602011613b57575b81613b4660209383613c1f565b81010312610116575161292a61291d565b3d9150613b39565b6004359060ff8216820361011657565b6024359060ff8216820361011657565b6060810190811067ffffffffffffffff821117613b9b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff821117613b9b57604052565b60a0810190811067ffffffffffffffff821117613b9b57604052565b610100810190811067ffffffffffffffff821117613b9b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117613b9b57604052565b91613cd290613cc860ff8060e095613c778161404a565b8852613c828561404a565b60208901521692613c92846140eb565b60408801521691613ca2836140eb565b6060870152613cb08161415f565b6080870152613cbe8361415f565b60a08701526141d5565b60c08501526141d5565b910152565b15613cde57565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b613d9f613d7b8251613fb3565b91613d896020820151613fb3565b15158315159081149182613da2575b5050613cd7565b90565b613db191925060400151613fb3565b1515143880613d98565b613d9f613dc88251613fb3565b91613dd66020820151613fb3565b15158315159081149182613e1f575b82613e06575b82613df7575050613cd7565b613db191925060600151613fb3565b9150613e156080830151613fb3565b1515811491613deb565b9150613e2e6040830151613fb3565b1515811491613de5565b613d9f613e458251613fb3565b91613e536020820151613fb3565b15158315159081149182613eda575b82613ec1575b82613ea8575b82613e8f575b82613e80575050613cd7565b613db191925060a00151613fb3565b9150613e9e60c0830151613fb3565b1515811491613e74565b9150613eb76060830151613fb3565b1515811491613e6e565b9150613ed06080830151613fb3565b1515811491613e68565b9150613ee96040830151613fb3565b1515811491613e62565b60405190613f0082613c02565b8160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190613f3e82613b7f565b60006040838281528260208201520152565b60405190613f5d82613be6565b60006080838281528260208201528260408201528260608201520152565b60405190613f8882613bca565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561403e578092614007575b5050151590565b9091506020823d8211614036575b8161402260209383613c1f565b810103126140335750513880614000565b80fd5b3d9150614015565b604051903d90823e3d90fd5b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b906020823d82116140e3575b816140d660209383613c1f565b8101031261403357505190565b3d91506140c9565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd57509056fea164736f6c6343000813000a";
|
|
335
|
+
"0x608080604052346100165761425c908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806308c90f0d1461286e57806329875348146128485780632e544aa01461280d5780632e5950eb146127e757806379117549146114f15780637d2e0f48146114ce57806380f937bc146114735780638b6e7a8c14610170578063acb381691461011b5763ebb571fd1461008a57600080fd5b3461011657600319360161014081126101165761010013610116576040516100b181613c02565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e08201526101043560ff8116810361011657610124359060ff821682036101165761011492613c60565b005b600080fd5b346101165760a060031936011261011657602061016660405161013d81613be6565b600435815260243583820152604435604082015260643560608201526084356080820152613dbb565b6040519015158152f35b3461011657604060031936011261011657610189613b5f565b610191613b6f565b610199613ef3565b906101a2613f31565b926101ab613f50565b6101b3613f7b565b906101bf848487613c60565b845160208087015160405163dd14869360e01b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d5760009161143f575b5061022c6102bd91613fb3565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008a60101b1691161760005560206040880151606089015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061140b575b81528651606088015160405163dd14869360e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906113d7575b6103a192506020820152602060408801518189015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57889260009161139e575b5060408201526103c890613d6e565b15150361135a57608085015160a086015160405163dd14869360e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090611326575b8152855160a087015160405163dd14869360e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906112f2575b60208281019190915260808701518782015160405163dd14869360e01b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906112be575b610573925060408201526020604087015160a088015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061128a575b60608281019190915260808701519087015160405163dd14869360e01b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090611256575b61060b92506080820152613dbb565b151585036112125760c084015160e085015160405163dd14869360e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d576000906111de575b8152845160e086015160405163dd14869360e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906111aa575b60208281019190915260c08601518682015160405163dd14869360e01b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090611176575b6107b7925060408201526020604086015160e087015190604051948592839263dd14869360e01b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090611142575b60608281019190915260c08601519086015160405163dd14869360e01b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061110e575b60808281019190915285015160e086015160405163dd14869360e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906110da575b60a08281019190915260c08601519086015160405163dd14869360e01b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906110a6575b610934925060c0820152613e38565b151584036110625760208381015160405163dd14869360e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d5760009061102e575b6109a89150613fb3565b1515841480610f87575b15610f1d57606083015160405163dd14869360e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090610ee9575b610a239150613fb3565b1515841480610e3f575b15610dd55760a083015160405163dd14869360e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090610da1575b610a9e9150613fb3565b1515841480610cf7575b15610c8d5760e083015160405163dd14869360e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090610c59575b610b189150613fb3565b151583149182610b9f575b505015610b3557602090604051908152f35b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420363420626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b60c0015160405163dd14869360e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090610c19575b610c0e9150613fb3565b151581148280610b23565b506020813d602011610c45575b81610c3360209383613c1f565b8101031261011657610c0e9051610c04565b3d9150610c26565b6040513d6000823e3d90fd5b506020813d602011610c85575b81610c7360209383613c1f565b8101031261011657610b189051610b0e565b3d9150610c66565b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420333220626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b50608083015160405163dd14869360e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610d6d575b610d649150613fb3565b15158414610aa8565b506020813d602011610d99575b81610d8760209383613c1f565b8101031261011657610d649051610d5a565b3d9150610d7a565b506020813d602011610dcd575b81610dbb60209383613c1f565b8101031261011657610a9e9051610a94565b3d9150610dae565b608460405162461bcd60e51b815260206004820152602860248201527f6c6574546573743a207465737420313620626974732077697468207363616c6160448201527f72206661696c65640000000000000000000000000000000000000000000000006064820152fd5b50604083810151905163dd14869360e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610eb5575b610eac9150613fb3565b15158414610a2d565b506020813d602011610ee1575b81610ecf60209383613c1f565b8101031261011657610eac9051610ea2565b3d9150610ec2565b506020813d602011610f15575b81610f0360209383613c1f565b8101031261011657610a239051610a19565b3d9150610ef6565b608460405162461bcd60e51b815260206004820152602760248201527f6c6574546573743a2074657374203820626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b50825160405163dd14869360e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090610ffa575b610ff19150613fb3565b151584146109b2565b506020813d602011611026575b8161101460209383613c1f565b8101031261011657610ff19051610fe7565b3d9150611007565b506020813d60201161105a575b8161104860209383613c1f565b81010312610116576109a8905161099e565b3d915061103b565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203634206661696c65640000000000000000006044820152fd5b506020823d6020116110d2575b816110c060209383613c1f565b81010312610116576109349151610925565b3d91506110b3565b506020823d602011611106575b816110f460209383613c1f565b810103126101165761090f91516108b2565b3d91506110e7565b506020823d60201161113a575b8161112860209383613c1f565b810103126101165761089c9151610840565b3d915061111b565b506020823d60201161116e575b8161115c60209383613c1f565b810103126101165761082a91516107cd565b3d915061114f565b506020823d6020116111a2575b8161119060209383613c1f565b81010312610116576107b79151610752565b3d9150611183565b506020823d6020116111d6575b816111c460209383613c1f565b810103126101165761073c91516106e1565b3d91506111b7565b506020823d60201161120a575b816111f860209383613c1f565b81010312610116576106cb9151610677565b3d91506111eb565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203332206661696c65640000000000000000006044820152fd5b506020823d602011611282575b8161127060209383613c1f565b810103126101165761060b91516105fc565b3d9150611263565b506020823d6020116112b6575b816112a460209383613c1f565b81010312610116576105e69151610589565b3d9150611297565b506020823d6020116112ea575b816112d860209383613c1f565b8101031261011657610573915161050e565b3d91506112cb565b506020823d60201161131e575b8161130c60209383613c1f565b81010312610116576104f8915161049d565b3d91506112ff565b506020823d602011611352575b8161134060209383613c1f565b81010312610116576104879151610433565b3d9150611333565b606460405162461bcd60e51b815260206004820152601760248201527f6c6574546573743a2063617374203136206661696c65640000000000000000006044820152fd5b919250506020813d6020116113cf575b816113bb60209383613c1f565b8101031261011657518791906103c86103b9565b3d91506113ae565b506020823d602011611403575b816113f160209383613c1f565b81010312610116576103a1915161033d565b3d91506113e4565b506020823d602011611437575b8161142560209383613c1f565b810103126101165761032791516102d3565b3d9150611418565b90506020813d60201161146b575b8161145a60209383613c1f565b81010312610116575161022c61021f565b3d915061144d565b346101165760e060031936011261011657602061016660405161149581613bca565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613e38565b3461011657600060031936011261011657602060ff600054166040519015158152f35b346101165760406003193601126101165761150a613b5f565b611512613b6f565b61151a613ef3565b90611523613f31565b9261152c613f50565b611534613f7b565b90611540848487613c60565b8451602080870151604051630517f28b60e21b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d576000916127b3575b506115ad61163d91613fb3565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008a60081b16911617600055602060408801516060890151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061277f575b815286516060880151604051630517f28b60e21b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061274b575b611721925060208201526020604088015181890151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d578892600091612712575b50604082015261174890613d6e565b1515036126ce57608085015160a0860151604051630517f28b60e21b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d5760009061269a575b8152855160a0870151604051630517f28b60e21b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090612666575b602082810191909152608087015187820151604051630517f28b60e21b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090612632575b6118f3925060408201526020604087015160a0880151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d576000906125fe575b606082810191909152608087015190870151604051630517f28b60e21b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906125ca575b61198b92506080820152613dbb565b151585036125865760c084015160e0850151604051630517f28b60e21b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090612552575b8152845160e0860151604051630517f28b60e21b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061251e575b60208281019190915260c086015186820151604051630517f28b60e21b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906124ea575b611b37925060408201526020604086015160e0870151906040519485928392630517f28b60e21b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d576000906124b6575b60608281019190915260c086015190860151604051630517f28b60e21b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090612482575b60808281019190915285015160e0860151604051630517f28b60e21b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061244e575b60a08281019190915260c086015190860151604051630517f28b60e21b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d5760009061241a575b611cb4925060c0820152613e38565b151584036123d657602083810151604051630517f28b60e21b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d576000906123a2575b611d289150613fb3565b15158414806122fb575b15612291576060830151604051630517f28b60e21b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d5760009061225d575b611da39150613fb3565b15158414806121b3575b156121495760a0830151604051630517f28b60e21b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d57600090612115575b611e1e9150613fb3565b151584148061206b575b156120015760e0830151604051630517f28b60e21b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090611fcd575b611e989150613fb3565b151583149182611f1f575b505015611eb557602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60c00151604051630517f28b60e21b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090611f99575b611f8e9150613fb3565b151581148280611ea3565b506020813d602011611fc5575b81611fb360209383613c1f565b8101031261011657611f8e9051611f84565b3d9150611fa6565b506020813d602011611ff9575b81611fe760209383613c1f565b8101031261011657611e989051611e8e565b3d9150611fda565b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051630517f28b60e21b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906120e1575b6120d89150613fb3565b15158414611e28565b506020813d60201161210d575b816120fb60209383613c1f565b81010312610116576120d890516120ce565b3d91506120ee565b506020813d602011612141575b8161212f60209383613c1f565b8101031261011657611e1e9051611e14565b3d9150612122565b608460405162461bcd60e51b815260206004820152602760248201527f6c65546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051630517f28b60e21b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090612229575b6122209150613fb3565b15158414611dad565b506020813d602011612255575b8161224360209383613c1f565b81010312610116576122209051612216565b3d9150612236565b506020813d602011612289575b8161227760209383613c1f565b8101031261011657611da39051611d99565b3d915061226a565b608460405162461bcd60e51b815260206004820152602660248201527f6c65546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b508251604051630517f28b60e21b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d5760009061236e575b6123659150613fb3565b15158414611d32565b506020813d60201161239a575b8161238860209383613c1f565b8101031261011657612365905161235b565b3d915061237b565b506020813d6020116123ce575b816123bc60209383613c1f565b8101031261011657611d289051611d1e565b3d91506123af565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d602011612446575b8161243460209383613c1f565b8101031261011657611cb49151611ca5565b3d9150612427565b506020823d60201161247a575b8161246860209383613c1f565b8101031261011657611c8f9151611c32565b3d915061245b565b506020823d6020116124ae575b8161249c60209383613c1f565b8101031261011657611c1c9151611bc0565b3d915061248f565b506020823d6020116124e2575b816124d060209383613c1f565b8101031261011657611baa9151611b4d565b3d91506124c3565b506020823d602011612516575b8161250460209383613c1f565b8101031261011657611b379151611ad2565b3d91506124f7565b506020823d60201161254a575b8161253860209383613c1f565b8101031261011657611abc9151611a61565b3d915061252b565b506020823d60201161257e575b8161256c60209383613c1f565b8101031261011657611a4b91516119f7565b3d915061255f565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d6020116125f6575b816125e460209383613c1f565b810103126101165761198b915161197c565b3d91506125d7565b506020823d60201161262a575b8161261860209383613c1f565b81010312610116576119669151611909565b3d915061260b565b506020823d60201161265e575b8161264c60209383613c1f565b81010312610116576118f3915161188e565b3d915061263f565b506020823d602011612692575b8161268060209383613c1f565b8101031261011657611878915161181d565b3d9150612673565b506020823d6020116126c6575b816126b460209383613c1f565b810103126101165761180791516117b3565b3d91506126a7565b606460405162461bcd60e51b815260206004820152601660248201527f6c65546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011612743575b8161272f60209383613c1f565b810103126101165751879190611748611739565b3d9150612722565b506020823d602011612777575b8161276560209383613c1f565b810103126101165761172191516116bd565b3d9150612758565b506020823d6020116127ab575b8161279960209383613c1f565b81010312610116576116a79151611653565b3d915061278c565b90506020813d6020116127df575b816127ce60209383613c1f565b8101031261011657516115ad6115a0565b3d91506127c1565b3461011657600060031936011261011657602060ff60005460101c166040519015158152f35b3461011657606060031936011261011657602061016660405161282f81613b7f565b6004358152602435838201526044356040820152613d6e565b3461011657600060031936011261011657602060ff60005460081c166040519015158152f35b3461011657604060031936011261011657612887613b5f565b61288f613b6f565b612897613ef3565b906128a0613f31565b926128a9613f50565b6128b1613f7b565b906128bd848487613c60565b84516020808701516040516336c1722f60e11b81527f0101000000000000000000000000000000000000000000000000000000000000600482015260248101939093526044830152816064816000825af1908115610c4d57600091613b2b575b5061292a6129b591613fb3565b1515967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541660ff8916176000556020604088015160608901519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090613af7575b8152865160608801516040516336c1722f60e11b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613ac3575b612a999250602082015260206040880151818901519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0201000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d578892600091613a8a575b506040820152612ac090613d6e565b151503613a4657608085015160a08601516040516336c1722f60e11b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d57600090613a12575b8152855160a08701516040516336c1722f60e11b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906139de575b6020828101919091526080870151878201516040516336c1722f60e11b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d576000906139aa575b612c6b925060408201526020604087015160a08801519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d57600090613976575b6060828101919091526080870151908701516040516336c1722f60e11b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613942575b612d0392506080820152613dbb565b151585036138fe5760c084015160e08501516040516336c1722f60e11b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610c4d576000906138ca575b8152845160e08601516040516336c1722f60e11b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613896575b60208281019190915260c0860151868201516040516336c1722f60e11b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610c4d57600090613862575b612eaf925060408201526020604086015160e08701519060405194859283926336c1722f60e11b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610c4d5760009061382e575b60608281019190915260c0860151908601516040516336c1722f60e11b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906137fa575b60808281019190915285015160e08601516040516336c1722f60e11b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d576000906137c6575b60a08281019190915260c0860151908601516040516336c1722f60e11b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610c4d57600090613792575b61302c925060c0820152613e38565b1515840361374e576020838101516040516336c1722f60e11b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff84166024820152604481019190915290816064816000825af18015610c4d5760009061371a575b6130a09150613fb3565b1515841480613673575b156136095760608301516040516336c1722f60e11b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d576000906135d5575b61311b9150613fb3565b151584148061352b575b156134c15760a08301516040516336c1722f60e11b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610c4d5760009061348d575b6131969150613fb3565b15158414806133e3575b156133795760e08301516040516336c1722f60e11b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610c4d57600090613345575b6132109150613fb3565b151583149182613297575b50501561322d57602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b60c001516040516336c1722f60e11b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610c4d57600090613311575b6133069150613fb3565b15158114828061321b565b506020813d60201161333d575b8161332b60209383613c1f565b810103126101165761330690516132fc565b3d915061331e565b506020813d602011613371575b8161335f60209383613c1f565b81010312610116576132109051613206565b3d9150613352565b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060808301516040516336c1722f60e11b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d57600090613459575b6134509150613fb3565b151584146131a0565b506020813d602011613485575b8161347360209383613c1f565b81010312610116576134509051613446565b3d9150613466565b506020813d6020116134b9575b816134a760209383613c1f565b8101031261011657613196905161318c565b3d915061349a565b608460405162461bcd60e51b815260206004820152602760248201527f6774546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060408381015190516336c1722f60e11b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906135a1575b6135989150613fb3565b15158414613125565b506020813d6020116135cd575b816135bb60209383613c1f565b8101031261011657613598905161358e565b3d91506135ae565b506020813d602011613601575b816135ef60209383613c1f565b810103126101165761311b9051613111565b3d91506135e2565b608460405162461bcd60e51b815260206004820152602660248201527f6774546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b5082516040516336c1722f60e11b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610c4d576000906136e6575b6136dd9150613fb3565b151584146130aa565b506020813d602011613712575b8161370060209383613c1f565b81010312610116576136dd90516136d3565b3d91506136f3565b506020813d602011613746575b8161373460209383613c1f565b81010312610116576130a09051613096565b3d9150613727565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116137be575b816137ac60209383613c1f565b810103126101165761302c915161301d565b3d915061379f565b506020823d6020116137f2575b816137e060209383613c1f565b81010312610116576130079151612faa565b3d91506137d3565b506020823d602011613826575b8161381460209383613c1f565b8101031261011657612f949151612f38565b3d9150613807565b506020823d60201161385a575b8161384860209383613c1f565b8101031261011657612f229151612ec5565b3d915061383b565b506020823d60201161388e575b8161387c60209383613c1f565b8101031261011657612eaf9151612e4a565b3d915061386f565b506020823d6020116138c2575b816138b060209383613c1f565b8101031261011657612e349151612dd9565b3d91506138a3565b506020823d6020116138f6575b816138e460209383613c1f565b8101031261011657612dc39151612d6f565b3d91506138d7565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d60201161396e575b8161395c60209383613c1f565b8101031261011657612d039151612cf4565b3d915061394f565b506020823d6020116139a2575b8161399060209383613c1f565b8101031261011657612cde9151612c81565b3d9150613983565b506020823d6020116139d6575b816139c460209383613c1f565b8101031261011657612c6b9151612c06565b3d91506139b7565b506020823d602011613a0a575b816139f860209383613c1f565b8101031261011657612bf09151612b95565b3d91506139eb565b506020823d602011613a3e575b81613a2c60209383613c1f565b8101031261011657612b7f9151612b2b565b3d9150613a1f565b606460405162461bcd60e51b815260206004820152601660248201527f6774546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011613abb575b81613aa760209383613c1f565b810103126101165751879190612ac0612ab1565b3d9150613a9a565b506020823d602011613aef575b81613add60209383613c1f565b8101031261011657612a999151612a35565b3d9150613ad0565b506020823d602011613b23575b81613b1160209383613c1f565b8101031261011657612a1f91516129cb565b3d9150613b04565b90506020813d602011613b57575b81613b4660209383613c1f565b81010312610116575161292a61291d565b3d9150613b39565b6004359060ff8216820361011657565b6024359060ff8216820361011657565b6060810190811067ffffffffffffffff821117613b9b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff821117613b9b57604052565b60a0810190811067ffffffffffffffff821117613b9b57604052565b610100810190811067ffffffffffffffff821117613b9b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117613b9b57604052565b91613cd290613cc860ff8060e095613c778161404a565b8852613c828561404a565b60208901521692613c92846140eb565b60408801521691613ca2836140eb565b6060870152613cb08161415f565b6080870152613cbe8361415f565b60a08701526141d5565b60c08501526141d5565b910152565b15613cde57565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b613d9f613d7b8251613fb3565b91613d896020820151613fb3565b15158315159081149182613da2575b5050613cd7565b90565b613db191925060400151613fb3565b1515143880613d98565b613d9f613dc88251613fb3565b91613dd66020820151613fb3565b15158315159081149182613e1f575b82613e06575b82613df7575050613cd7565b613db191925060600151613fb3565b9150613e156080830151613fb3565b1515811491613deb565b9150613e2e6040830151613fb3565b1515811491613de5565b613d9f613e458251613fb3565b91613e536020820151613fb3565b15158315159081149182613eda575b82613ec1575b82613ea8575b82613e8f575b82613e80575050613cd7565b613db191925060a00151613fb3565b9150613e9e60c0830151613fb3565b1515811491613e74565b9150613eb76060830151613fb3565b1515811491613e6e565b9150613ed06080830151613fb3565b1515811491613e68565b9150613ee96040830151613fb3565b1515811491613e62565b60405190613f0082613c02565b8160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190613f3e82613b7f565b60006040838281528260208201520152565b60405190613f5d82613be6565b60006080838281528260208201528260408201528260608201520152565b60405190613f8882613bca565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561403e578092614007575b5050151590565b9091506020823d8211614036575b8161402260209383613c1f565b810103126140335750513880614000565b80fd5b3d9150614015565b604051903d90823e3d90fd5b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b906020823d82116140e3575b816140d660209383613c1f565b8101031261403357505190565b3d91506140c9565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd575090565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610c4d576000916140bd57509056fea164736f6c6343000814000a";
|
|
336
336
|
|
|
337
337
|
type Comparison1TestsContractConstructorParams =
|
|
338
338
|
| [signer?: Signer]
|
package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts
CHANGED
|
@@ -240,7 +240,7 @@ const _abi = [
|
|
|
240
240
|
] as const;
|
|
241
241
|
|
|
242
242
|
const _bytecode =
|
|
243
|
-
"
|
|
243
|
+
"0x60808060405234610016576109b8908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c8063048bf4da146106dd5780630d980bf0146106b95780631ba7b4041461059357806329875348146105705780632e5950eb1461054c5780632fd37f4b146105285780637d2e0f48146105045780639a0c13d8146104e35780639a71cc41146103da578063a506da36146102cf578063c5c64242146101c75763e1e5238c146100a557600080fd5b346101b05760206100c26100c86100bb366107df565b9290610901565b91610901565b83517f42094c560000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101bc578293610183575b5061014a60209361086a565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008560081b16911617905551908152f35b92506020833d82116101b4575b8161019d602093836107fa565b810103126101b05791519161014a61013e565b5080fd5b3d9150610190565b5051903d90823e3d90fd5b50346101b05760206100c26101de6100bb366107df565b83517f813b20740000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101bc57829361029a575b5061026060209361086a565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008560101b16911617905551908152f35b92506020833d82116102c7575b816102b4602093836107fa565b810103126101b057915191610260610254565b3d91506102a7565b50346101b05760206100c26102e66100bb366107df565b83517fdd1486930000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101bc5782936103a5575b5061036860209361086a565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff65ff00000000008560281b16911617905551908152f35b92506020833d82116103d2575b816103bf602093836107fa565b810103126101b05791519161036861035c565b3d91506103b2565b50346101b05760206100c26103f16100bb366107df565b83517f6d82e45e0000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101bc5782936104ae575b5061047360209361086a565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000008560181b16911617905551908152f35b92506020833d82116104db575b816104c8602093836107fa565b810103126101b057915191610473610467565b3d91506104bb565b50346101b057816003193601126101b05760ff602092541690519015158152f35b50346101b057816003193601126101b05760ff6020925460181c1690519015158152f35b50346101b057816003193601126101b05760ff6020925460101c1690519015158152f35b50346101b057816003193601126101b05760ff6020925460281c1690519015158152f35b50346101b057816003193601126101b05760ff60209254915191831c1615158152f35b50346101b0576106216105b3936105b96105ac366107df565b9690610901565b95610901565b8351809381927f145fca2c000000000000000000000000000000000000000000000000000000008352602098899584016040909392919360608101947f0606000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818660645af180156106ad57839061067a575b61063f915061086a565b15159180547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff0000000085871b16911617905551908152f35b508381813d83116106a6575b61069081836107fa565b810103126106a25761063f9051610635565b8280fd5b503d610686565b505051903d90823e3d90fd5b50346101b057816003193601126101b05760ff6020925460081c1690519015158152f35b50346101b05760206100c26106f46100bb366107df565b83517f7c12a1eb0000000000000000000000000000000000000000000000000000000081527f060600000000000000000000000000000000000000000000000000000000000096810196875260208701929092526040860152938490819060600103818560645af19283156101bc5782936107aa575b5061077660209361086a565b1515917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff841617905551908152f35b92506020833d82116107d7575b816107c4602093836107fa565b810103126101b05791519161077661076a565b3d91506107b7565b60031960409101126107f5576004359060243590565b600080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761083b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af19182156108f55780926108be575b5050151590565b9091506020823d82116108ed575b816108d9602093836107fa565b810103126108ea57505138806108b7565b80fd5b3d91506108cc565b604051903d90823e3d90fd5b604051907fd9b60b600000000000000000000000000000000000000000000000000000000082527f060000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af190811561099f57600091610971575090565b906020823d8211610997575b8161098a602093836107fa565b810103126108ea57505190565b3d915061097d565b6040513d6000823e3d90fdfea164736f6c6343000814000a";
|
|
244
244
|
|
|
245
245
|
type Comparison256TestsContractConstructorParams =
|
|
246
246
|
| [signer?: Signer]
|
package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts
CHANGED
|
@@ -342,7 +342,7 @@ const _abi = [
|
|
|
342
342
|
] as const;
|
|
343
343
|
|
|
344
344
|
const _bytecode =
|
|
345
|
-
"0x608080604052346100165761444d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c9081630d980bf014613c97575080631988e3221461298b5780632e544aa0146129505780632fd37f4b1461292a5780636b04608f1461288a57806370eb37ee1461150057806380f937bc146114a55780639a0c13d814611482578063acb381691461142d5763bc3aa1ed1461008d57600080fd5b34610bc3576040600319360112610bc3576100a6613cba565b6100ae613cca565b6100b6614071565b906100bf6140bd565b926100c86140dc565b6100d0614107565b906100dc848487613dbb565b8451602086810151604051632104a62b60e11b815260006004820152602481019390935260448301528180606481010381600060645af18015610bd0576000906113f9575b61012b91506141d5565b5060408581015160608701519151632104a62b60e11b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd0576000916113c5575b506101a0610230916141d5565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008a60081b169116176000556020608088015160a0890151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090611391575b815260408781015160a08901519151632104a62b60e11b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd05760009061135d575b60208281019190915260808801516060890151604051632104a62b60e11b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091611324575b50604082015261033990613eec565b1515036112e05760c085015160e0860151604051632104a62b60e11b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd0576000906112ac575b815260408681015160e08801519151632104a62b60e11b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090611278575b60208281019190915260c08701516060880151604051632104a62b60e11b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090611244575b6104eb925060408201526020608087015160e0880151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090611210575b606082015260c086015160a0870151604051632104a62b60e11b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906111dc575b61058092506080820152613f39565b1515850361119857610100840151610120850151604051632104a62b60e11b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090611164575b81526040858101516101208701519151632104a62b60e11b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090611130575b6020828101919091526101008601516060870151604051632104a62b60e11b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0576000906110fc575b6107389250604082015260206080860151610120870151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd0576000906110c8575b606082015261010085015160a0860151604051632104a62b60e11b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090611094575b608082015260c0850151610120860151604051632104a62b60e11b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090611060575b60a082015261010085015160e0860151604051632104a62b60e11b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd05760009061102c575b6108b0925060c0820152613fb6565b15158403610fe8576060830151604051632104a62b60e11b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610fb4575b61092491506141d5565b1515841480610f0a575b15610ea05760a0830151604051632104a62b60e11b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610e6c575b61099f91506141d5565b1515841480610dc2575b15610d585760e0830151604051632104a62b60e11b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610d24575b610a1a91506141d5565b1515841480610c7a575b15610c1057610120830151604051632104a62b60e11b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd057600090610bdc575b610a9591506141d5565b151583149182610b1c575b505015610ab257602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b6101000151604051632104a62b60e11b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090610b97575b610b8c91506141d5565b151581143880610aa0565b506020813d602011610bc8575b81610bb160209383613d7a565b81010312610bc357610b8c9051610b82565b600080fd5b3d9150610ba4565b6040513d6000823e3d90fd5b506020813d602011610c08575b81610bf660209383613d7a565b81010312610bc357610a959051610a8b565b3d9150610be9565b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c0830151604051632104a62b60e11b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610cf0575b610ce791506141d5565b15158414610a24565b506020813d602011610d1c575b81610d0a60209383613d7a565b81010312610bc357610ce79051610cdd565b3d9150610cfd565b506020813d602011610d50575b81610d3e60209383613d7a565b81010312610bc357610a1a9051610a10565b3d9150610d31565b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051632104a62b60e11b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610e38575b610e2f91506141d5565b151584146109a9565b506020813d602011610e64575b81610e5260209383613d7a565b81010312610bc357610e2f9051610e25565b3d9150610e45565b506020813d602011610e98575b81610e8660209383613d7a565b81010312610bc35761099f9051610995565b3d9150610e79565b608460405162461bcd60e51b815260206004820152602660248201527f6e65546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051632104a62b60e11b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610f80575b610f7791506141d5565b1515841461092e565b506020813d602011610fac575b81610f9a60209383613d7a565b81010312610bc357610f779051610f6d565b3d9150610f8d565b506020813d602011610fe0575b81610fce60209383613d7a565b81010312610bc357610924905161091a565b3d9150610fc1565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d602011611058575b8161104660209383613d7a565b81010312610bc3576108b091516108a1565b3d9150611039565b506020823d60201161108c575b8161107a60209383613d7a565b81010312610bc35761088b9151610830565b3d915061106d565b506020823d6020116110c0575b816110ae60209383613d7a565b81010312610bc35761081a91516107bf565b3d91506110a1565b506020823d6020116110f4575b816110e260209383613d7a565b81010312610bc3576107a9915161074e565b3d91506110d5565b506020823d602011611128575b8161111660209383613d7a565b81010312610bc35761073891516106d2565b3d9150611109565b506020823d60201161115c575b8161114a60209383613d7a565b81010312610bc3576106bc915161065f565b3d915061113d565b506020823d602011611190575b8161117e60209383613d7a565b81010312610bc35761064991516105ee565b3d9150611171565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011611208575b816111f660209383613d7a565b81010312610bc3576105809151610571565b3d91506111e9565b506020823d60201161123c575b8161122a60209383613d7a565b81010312610bc35761055b9151610501565b3d915061121d565b506020823d602011611270575b8161125e60209383613d7a565b81010312610bc3576104eb9151610486565b3d9150611251565b506020823d6020116112a4575b8161129260209383613d7a565b81010312610bc3576104709151610414565b3d9150611285565b506020823d6020116112d8575b816112c660209383613d7a565b81010312610bc3576103fe91516103a4565b3d91506112b9565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011611355575b8161134160209383613d7a565b81010312610bc3575187919061033961032a565b3d9150611334565b506020823d602011611389575b8161137760209383613d7a565b81010312610bc35761031291516102b6565b3d915061136a565b506020823d6020116113bd575b816113ab60209383613d7a565b81010312610bc3576102a09151610246565b3d915061139e565b90506020813d6020116113f1575b816113e060209383613d7a565b81010312610bc357516101a0610193565b3d91506113d3565b506020813d602011611425575b8161141360209383613d7a565b81010312610bc35761012b9051610121565b3d9150611406565b34610bc35760a0600319360112610bc357602061147860405161144f81613d5e565b600435815260243583820152604435604082015260643560608201526084356080820152613f39565b6040519015158152f35b34610bc3576000600319360112610bc357602060ff600054166040519015158152f35b34610bc35760e0600319360112610bc35760206114786040516114c781613d42565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613fb6565b34610bc3576040600319360112610bc357611519613cba565b611521613cca565b611529614071565b906115326140bd565b9261153b6140dc565b611543614107565b9061154f848487613dbb565b8451602086810151604051637c12a1eb60e01b815260006004820152602481019390935260448301528180606481010381600060645af18015610bd057600090612856575b61159e91506141d5565b5060408581015160608701519151637c12a1eb60e01b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd057600091612822575b5061161361169e916141d5565b1515967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541660ff8916176000556020608088015160a0890151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd0576000906127ee575b815260408781015160a08901519151637c12a1eb60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906127ba575b60208281019190915260808801516060890151604051637c12a1eb60e01b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091612781575b5060408201526117a790613eec565b15150361273d5760c085015160e0860151604051637c12a1eb60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090612709575b815260408681015160e08801519151637c12a1eb60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906126d5575b60208281019190915260c08701516060880151604051637c12a1eb60e01b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0576000906126a1575b611959925060408201526020608087015160e0880151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd05760009061266d575b606082015260c086015160a0870151604051637c12a1eb60e01b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090612639575b6119ee92506080820152613f39565b151585036125f557610100840151610120850151604051637c12a1eb60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd0576000906125c1575b81526040858101516101208701519151637c12a1eb60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd05760009061258d575b6020828101919091526101008601516060870151604051637c12a1eb60e01b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090612559575b611ba69250604082015260206080860151610120870151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090612525575b606082015261010085015160a0860151604051637c12a1eb60e01b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906124f1575b608082015260c0850151610120860151604051637c12a1eb60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906124bd575b60a082015261010085015160e0860151604051637c12a1eb60e01b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090612489575b611d1e925060c0820152613fb6565b15158403612445576060830151604051637c12a1eb60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090612411575b611d9291506141d5565b1515841480612367575b156122fd5760a0830151604051637c12a1eb60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd0576000906122c9575b611e0d91506141d5565b151584148061221f575b156121b55760e0830151604051637c12a1eb60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090612181575b611e8891506141d5565b15158414806120d7575b1561206d57610120830151604051637c12a1eb60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd057600090612039575b611f0391506141d5565b151583149182611f8a575b505015611f2057602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b6101000151604051637c12a1eb60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090612005575b611ffa91506141d5565b151581148280611f0e565b506020813d602011612031575b8161201f60209383613d7a565b81010312610bc357611ffa9051611ff0565b3d9150612012565b506020813d602011612065575b8161205360209383613d7a565b81010312610bc357611f039051611ef9565b3d9150612046565b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c0830151604051637c12a1eb60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061214d575b61214491506141d5565b15158414611e92565b506020813d602011612179575b8161216760209383613d7a565b81010312610bc357612144905161213a565b3d915061215a565b506020813d6020116121ad575b8161219b60209383613d7a565b81010312610bc357611e889051611e7e565b3d915061218e565b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051637c12a1eb60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090612295575b61228c91506141d5565b15158414611e17565b506020813d6020116122c1575b816122af60209383613d7a565b81010312610bc35761228c9051612282565b3d91506122a2565b506020813d6020116122f5575b816122e360209383613d7a565b81010312610bc357611e0d9051611e03565b3d91506122d6565b608460405162461bcd60e51b815260206004820152602660248201527f6571546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051637c12a1eb60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd0576000906123dd575b6123d491506141d5565b15158414611d9c565b506020813d602011612409575b816123f760209383613d7a565b81010312610bc3576123d490516123ca565b3d91506123ea565b506020813d60201161243d575b8161242b60209383613d7a565b81010312610bc357611d929051611d88565b3d915061241e565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116124b5575b816124a360209383613d7a565b81010312610bc357611d1e9151611d0f565b3d9150612496565b506020823d6020116124e9575b816124d760209383613d7a565b81010312610bc357611cf99151611c9e565b3d91506124ca565b506020823d60201161251d575b8161250b60209383613d7a565b81010312610bc357611c889151611c2d565b3d91506124fe565b506020823d602011612551575b8161253f60209383613d7a565b81010312610bc357611c179151611bbc565b3d9150612532565b506020823d602011612585575b8161257360209383613d7a565b81010312610bc357611ba69151611b40565b3d9150612566565b506020823d6020116125b9575b816125a760209383613d7a565b81010312610bc357611b2a9151611acd565b3d915061259a565b506020823d6020116125ed575b816125db60209383613d7a565b81010312610bc357611ab79151611a5c565b3d91506125ce565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011612665575b8161265360209383613d7a565b81010312610bc3576119ee91516119df565b3d9150612646565b506020823d602011612699575b8161268760209383613d7a565b81010312610bc3576119c9915161196f565b3d915061267a565b506020823d6020116126cd575b816126bb60209383613d7a565b81010312610bc35761195991516118f4565b3d91506126ae565b506020823d602011612701575b816126ef60209383613d7a565b81010312610bc3576118de9151611882565b3d91506126e2565b506020823d602011612735575b8161272360209383613d7a565b81010312610bc35761186c9151611812565b3d9150612716565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d6020116127b2575b8161279e60209383613d7a565b81010312610bc357518791906117a7611798565b3d9150612791565b506020823d6020116127e6575b816127d460209383613d7a565b81010312610bc3576117809151611724565b3d91506127c7565b506020823d60201161281a575b8161280860209383613d7a565b81010312610bc35761170e91516116b4565b3d91506127fb565b90506020813d60201161284e575b8161283d60209383613d7a565b81010312610bc35751611613611606565b3d9150612830565b506020813d602011612882575b8161287060209383613d7a565b81010312610bc35761159e9051611594565b3d9150612863565b34610bc35760031936016101808112610bc35761014013610bc3576040516128b181613d25565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e082015261010435610100820152610124356101208201526101443560ff81168103610bc357610164359060ff82168203610bc35761292892613dbb565b005b34610bc3576000600319360112610bc357602060ff60005460101c166040519015158152f35b34610bc3576060600319360112610bc357602061147860405161297281613cda565b6004358152602435838201526044356040820152613eec565b34610bc3576040600319360112610bc3576129a4613cba565b6129ac613cca565b6129b4614071565b906129bd6140bd565b926129c66140dc565b6129ce614107565b906129da848487613dbb565b6040858101516060870151915163204ec81d60e21b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd057600091613c63575b50612a4e612adf916141d5565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008a60101b169116176000556020608088015160a089015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613c2f575b815260408781015160a0890151915163204ec81d60e21b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090613bfb575b6020828101919091526080880151606089015160405163204ec81d60e21b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091613bc2575b506040820152612be890613eec565b151503613b7e5760c085015160e086015160405163204ec81d60e21b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090613b4a575b815260408681015160e0880151915163204ec81d60e21b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090613b16575b60208281019190915260c0870151606088015160405163204ec81d60e21b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090613ae2575b612d9a925060408201526020608087015160e088015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613aae575b606082015260c086015160a087015160405163204ec81d60e21b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090613a7a575b612e2f92506080820152613f39565b15158503613a365761010084015161012085015160405163204ec81d60e21b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090613a02575b8152604085810151610120870151915163204ec81d60e21b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906139ce575b602082810191909152610100860151606087015160405163204ec81d60e21b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd05760009061399a575b612fe7925060408201526020608086015161012087015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613966575b606082015261010085015160a086015160405163204ec81d60e21b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090613932575b608082015260c085015161012086015160405163204ec81d60e21b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906138fe575b60a082015261010085015160e086015160405163204ec81d60e21b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906138ca575b61315f925060c0820152613fb6565b1515840361388657606083015160405163204ec81d60e21b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090613852575b6131d391506141d5565b15158414806137a8575b1561373e5760a083015160405163204ec81d60e21b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd05760009061370a575b61324e91506141d5565b1515841480613660575b156135f65760e083015160405163204ec81d60e21b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd0576000906135c2575b6132c991506141d5565b1515841480613518575b156134ae5761012083015160405163204ec81d60e21b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd05760009061347a575b61334491506141d5565b1515831491826133cb575b50501561336157602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b610100015160405163204ec81d60e21b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090613446575b61343b91506141d5565b15158114828061334f565b506020813d602011613472575b8161346060209383613d7a565b81010312610bc35761343b9051613431565b3d9150613453565b506020813d6020116134a6575b8161349460209383613d7a565b81010312610bc357613344905161333a565b3d9150613487565b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c083015160405163204ec81d60e21b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061358e575b61358591506141d5565b151584146132d3565b506020813d6020116135ba575b816135a860209383613d7a565b81010312610bc357613585905161357b565b3d915061359b565b506020813d6020116135ee575b816135dc60209383613d7a565b81010312610bc3576132c990516132bf565b3d91506135cf565b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b50608083015160405163204ec81d60e21b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd0576000906136d6575b6136cd91506141d5565b15158414613258565b506020813d602011613702575b816136f060209383613d7a565b81010312610bc3576136cd90516136c3565b3d91506136e3565b506020813d602011613736575b8161372460209383613d7a565b81010312610bc35761324e9051613244565b3d9150613717565b608460405162461bcd60e51b815260206004820152602660248201527f6765546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b50604083810151905163204ec81d60e21b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061381e575b61381591506141d5565b151584146131dd565b506020813d60201161384a575b8161383860209383613d7a565b81010312610bc357613815905161380b565b3d915061382b565b506020813d60201161387e575b8161386c60209383613d7a565b81010312610bc3576131d390516131c9565b3d915061385f565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116138f6575b816138e460209383613d7a565b81010312610bc35761315f9151613150565b3d91506138d7565b506020823d60201161392a575b8161391860209383613d7a565b81010312610bc35761313a91516130df565b3d915061390b565b506020823d60201161395e575b8161394c60209383613d7a565b81010312610bc3576130c9915161306e565b3d915061393f565b506020823d602011613992575b8161398060209383613d7a565b81010312610bc3576130589151612ffd565b3d9150613973565b506020823d6020116139c6575b816139b460209383613d7a565b81010312610bc357612fe79151612f81565b3d91506139a7565b506020823d6020116139fa575b816139e860209383613d7a565b81010312610bc357612f6b9151612f0e565b3d91506139db565b506020823d602011613a2e575b81613a1c60209383613d7a565b81010312610bc357612ef89151612e9d565b3d9150613a0f565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011613aa6575b81613a9460209383613d7a565b81010312610bc357612e2f9151612e20565b3d9150613a87565b506020823d602011613ada575b81613ac860209383613d7a565b81010312610bc357612e0a9151612db0565b3d9150613abb565b506020823d602011613b0e575b81613afc60209383613d7a565b81010312610bc357612d9a9151612d35565b3d9150613aef565b506020823d602011613b42575b81613b3060209383613d7a565b81010312610bc357612d1f9151612cc3565b3d9150613b23565b506020823d602011613b76575b81613b6460209383613d7a565b81010312610bc357612cad9151612c53565b3d9150613b57565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011613bf3575b81613bdf60209383613d7a565b81010312610bc35751879190612be8612bd9565b3d9150613bd2565b506020823d602011613c27575b81613c1560209383613d7a565b81010312610bc357612bc19151612b65565b3d9150613c08565b506020823d602011613c5b575b81613c4960209383613d7a565b81010312610bc357612b4f9151612af5565b3d9150613c3c565b90506020813d602011613c8f575b81613c7e60209383613d7a565b81010312610bc35751612a4e612a41565b3d9150613c71565b34610bc3576000600319360112610bc35760209060ff60005460081c1615158152f35b6004359060ff82168203610bc357565b6024359060ff82168203610bc357565b6060810190811067ffffffffffffffff821117613cf657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff821117613cf657604052565b60e0810190811067ffffffffffffffff821117613cf657604052565b60a0810190811067ffffffffffffffff821117613cf657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117613cf657604052565b91613e5090613e4561012093613e0360ff841693613df960ff841693613de287861161413f565b8a52613def85881161413f565b60208b0152614269565b6040890152614269565b6060870152613e11816142dc565b6080870152613e1f836142dc565b60a0870152613e2d81614350565b60c0870152613e3b83614350565b60e08701526143c6565b6101008501526143c6565b910152565b15613e5c57565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b613f1d613ef982516141d5565b91613f0760208201516141d5565b15158315159081149182613f20575b5050613e55565b90565b613f2f919250604001516141d5565b1515143880613f16565b613f1d613f4682516141d5565b91613f5460208201516141d5565b15158315159081149182613f9d575b82613f84575b82613f75575050613e55565b613f2f919250606001516141d5565b9150613f9360808301516141d5565b1515811491613f69565b9150613fac60408301516141d5565b1515811491613f63565b613f1d613fc382516141d5565b91613fd160208201516141d5565b15158315159081149182614058575b8261403f575b82614026575b8261400d575b82613ffe575050613e55565b613f2f91925060a001516141d5565b915061401c60c08301516141d5565b1515811491613ff2565b915061403560608301516141d5565b1515811491613fec565b915061404e60808301516141d5565b1515811491613fe6565b915061406760408301516141d5565b1515811491613fe0565b6040519061407e82613d25565b816101206000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201520152565b604051906140ca82613cda565b60006040838281528260208201520152565b604051906140e982613d5e565b60006080838281528260208201528260408201528260608201520152565b6040519061411482613d42565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b600090156141d0575060015b60ff604051917fd9b60b6000000000000000000000000000000000000000000000000000000000835260006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b906020823d82116141c8575b816141b860209383613d7a565b810103126141c557505190565b80fd5b3d91506141ab565b61414b565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561425d578092614229575b5050151590565b9091506020823d8211614255575b8161424460209383613d7a565b810103126141c55750513880614222565b3d9150614237565b604051903d90823e3d90fd5b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f57509056fea164736f6c6343000813000a";
|
|
345
|
+
"0x608080604052346100165761444d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c9081630d980bf014613c97575080631988e3221461298b5780632e544aa0146129505780632fd37f4b1461292a5780636b04608f1461288a57806370eb37ee1461150057806380f937bc146114a55780639a0c13d814611482578063acb381691461142d5763bc3aa1ed1461008d57600080fd5b34610bc3576040600319360112610bc3576100a6613cba565b6100ae613cca565b6100b6614071565b906100bf6140bd565b926100c86140dc565b6100d0614107565b906100dc848487613dbb565b8451602086810151604051632104a62b60e11b815260006004820152602481019390935260448301528180606481010381600060645af18015610bd0576000906113f9575b61012b91506141d5565b5060408581015160608701519151632104a62b60e11b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd0576000916113c5575b506101a0610230916141d5565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff008a60081b169116176000556020608088015160a0890151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090611391575b815260408781015160a08901519151632104a62b60e11b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd05760009061135d575b60208281019190915260808801516060890151604051632104a62b60e11b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091611324575b50604082015261033990613eec565b1515036112e05760c085015160e0860151604051632104a62b60e11b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd0576000906112ac575b815260408681015160e08801519151632104a62b60e11b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090611278575b60208281019190915260c08701516060880151604051632104a62b60e11b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090611244575b6104eb925060408201526020608087015160e0880151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090611210575b606082015260c086015160a0870151604051632104a62b60e11b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906111dc575b61058092506080820152613f39565b1515850361119857610100840151610120850151604051632104a62b60e11b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090611164575b81526040858101516101208701519151632104a62b60e11b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090611130575b6020828101919091526101008601516060870151604051632104a62b60e11b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0576000906110fc575b6107389250604082015260206080860151610120870151906040519485928392632104a62b60e11b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd0576000906110c8575b606082015261010085015160a0860151604051632104a62b60e11b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090611094575b608082015260c0850151610120860151604051632104a62b60e11b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090611060575b60a082015261010085015160e0860151604051632104a62b60e11b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd05760009061102c575b6108b0925060c0820152613fb6565b15158403610fe8576060830151604051632104a62b60e11b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610fb4575b61092491506141d5565b1515841480610f0a575b15610ea05760a0830151604051632104a62b60e11b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610e6c575b61099f91506141d5565b1515841480610dc2575b15610d585760e0830151604051632104a62b60e11b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090610d24575b610a1a91506141d5565b1515841480610c7a575b15610c1057610120830151604051632104a62b60e11b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd057600090610bdc575b610a9591506141d5565b151583149182610b1c575b505015610ab257602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b6101000151604051632104a62b60e11b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090610b97575b610b8c91506141d5565b151581143880610aa0565b506020813d602011610bc8575b81610bb160209383613d7a565b81010312610bc357610b8c9051610b82565b600080fd5b3d9150610ba4565b6040513d6000823e3d90fd5b506020813d602011610c08575b81610bf660209383613d7a565b81010312610bc357610a959051610a8b565b3d9150610be9565b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c0830151604051632104a62b60e11b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610cf0575b610ce791506141d5565b15158414610a24565b506020813d602011610d1c575b81610d0a60209383613d7a565b81010312610bc357610ce79051610cdd565b3d9150610cfd565b506020813d602011610d50575b81610d3e60209383613d7a565b81010312610bc357610a1a9051610a10565b3d9150610d31565b608460405162461bcd60e51b815260206004820152602760248201527f6e65546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051632104a62b60e11b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610e38575b610e2f91506141d5565b151584146109a9565b506020813d602011610e64575b81610e5260209383613d7a565b81010312610bc357610e2f9051610e25565b3d9150610e45565b506020813d602011610e98575b81610e8660209383613d7a565b81010312610bc35761099f9051610995565b3d9150610e79565b608460405162461bcd60e51b815260206004820152602660248201527f6e65546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051632104a62b60e11b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090610f80575b610f7791506141d5565b1515841461092e565b506020813d602011610fac575b81610f9a60209383613d7a565b81010312610bc357610f779051610f6d565b3d9150610f8d565b506020813d602011610fe0575b81610fce60209383613d7a565b81010312610bc357610924905161091a565b3d9150610fc1565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d602011611058575b8161104660209383613d7a565b81010312610bc3576108b091516108a1565b3d9150611039565b506020823d60201161108c575b8161107a60209383613d7a565b81010312610bc35761088b9151610830565b3d915061106d565b506020823d6020116110c0575b816110ae60209383613d7a565b81010312610bc35761081a91516107bf565b3d91506110a1565b506020823d6020116110f4575b816110e260209383613d7a565b81010312610bc3576107a9915161074e565b3d91506110d5565b506020823d602011611128575b8161111660209383613d7a565b81010312610bc35761073891516106d2565b3d9150611109565b506020823d60201161115c575b8161114a60209383613d7a565b81010312610bc3576106bc915161065f565b3d915061113d565b506020823d602011611190575b8161117e60209383613d7a565b81010312610bc35761064991516105ee565b3d9150611171565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011611208575b816111f660209383613d7a565b81010312610bc3576105809151610571565b3d91506111e9565b506020823d60201161123c575b8161122a60209383613d7a565b81010312610bc35761055b9151610501565b3d915061121d565b506020823d602011611270575b8161125e60209383613d7a565b81010312610bc3576104eb9151610486565b3d9150611251565b506020823d6020116112a4575b8161129260209383613d7a565b81010312610bc3576104709151610414565b3d9150611285565b506020823d6020116112d8575b816112c660209383613d7a565b81010312610bc3576103fe91516103a4565b3d91506112b9565b606460405162461bcd60e51b815260206004820152601660248201527f6e65546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011611355575b8161134160209383613d7a565b81010312610bc3575187919061033961032a565b3d9150611334565b506020823d602011611389575b8161137760209383613d7a565b81010312610bc35761031291516102b6565b3d915061136a565b506020823d6020116113bd575b816113ab60209383613d7a565b81010312610bc3576102a09151610246565b3d915061139e565b90506020813d6020116113f1575b816113e060209383613d7a565b81010312610bc357516101a0610193565b3d91506113d3565b506020813d602011611425575b8161141360209383613d7a565b81010312610bc35761012b9051610121565b3d9150611406565b34610bc35760a0600319360112610bc357602061147860405161144f81613d5e565b600435815260243583820152604435604082015260643560608201526084356080820152613f39565b6040519015158152f35b34610bc3576000600319360112610bc357602060ff600054166040519015158152f35b34610bc35760e0600319360112610bc35760206114786040516114c781613d42565b60043581526024358382015260443560408201526064356060820152608435608082015260a43560a082015260c43560c0820152613fb6565b34610bc3576040600319360112610bc357611519613cba565b611521613cca565b611529614071565b906115326140bd565b9261153b6140dc565b611543614107565b9061154f848487613dbb565b8451602086810151604051637c12a1eb60e01b815260006004820152602481019390935260448301528180606481010381600060645af18015610bd057600090612856575b61159e91506141d5565b5060408581015160608701519151637c12a1eb60e01b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd057600091612822575b5061161361169e916141d5565b1515967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541660ff8916176000556020608088015160a0890151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd0576000906127ee575b815260408781015160a08901519151637c12a1eb60e01b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906127ba575b60208281019190915260808801516060890151604051637c12a1eb60e01b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091612781575b5060408201526117a790613eec565b15150361273d5760c085015160e0860151604051637c12a1eb60e01b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090612709575b815260408681015160e08801519151637c12a1eb60e01b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906126d5575b60208281019190915260c08701516060880151604051637c12a1eb60e01b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0576000906126a1575b611959925060408201526020608087015160e0880151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd05760009061266d575b606082015260c086015160a0870151604051637c12a1eb60e01b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090612639575b6119ee92506080820152613f39565b151585036125f557610100840151610120850151604051637c12a1eb60e01b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd0576000906125c1575b81526040858101516101208701519151637c12a1eb60e01b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd05760009061258d575b6020828101919091526101008601516060870151604051637c12a1eb60e01b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090612559575b611ba69250604082015260206080860151610120870151906040519485928392637c12a1eb60e01b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090612525575b606082015261010085015160a0860151604051637c12a1eb60e01b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906124f1575b608082015260c0850151610120860151604051637c12a1eb60e01b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906124bd575b60a082015261010085015160e0860151604051637c12a1eb60e01b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090612489575b611d1e925060c0820152613fb6565b15158403612445576060830151604051637c12a1eb60e01b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090612411575b611d9291506141d5565b1515841480612367575b156122fd5760a0830151604051637c12a1eb60e01b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd0576000906122c9575b611e0d91506141d5565b151584148061221f575b156121b55760e0830151604051637c12a1eb60e01b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090612181575b611e8891506141d5565b15158414806120d7575b1561206d57610120830151604051637c12a1eb60e01b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd057600090612039575b611f0391506141d5565b151583149182611f8a575b505015611f2057602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b6101000151604051637c12a1eb60e01b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090612005575b611ffa91506141d5565b151581148280611f0e565b506020813d602011612031575b8161201f60209383613d7a565b81010312610bc357611ffa9051611ff0565b3d9150612012565b506020813d602011612065575b8161205360209383613d7a565b81010312610bc357611f039051611ef9565b3d9150612046565b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c0830151604051637c12a1eb60e01b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061214d575b61214491506141d5565b15158414611e92565b506020813d602011612179575b8161216760209383613d7a565b81010312610bc357612144905161213a565b3d915061215a565b506020813d6020116121ad575b8161219b60209383613d7a565b81010312610bc357611e889051611e7e565b3d915061218e565b608460405162461bcd60e51b815260206004820152602760248201527f6571546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b506080830151604051637c12a1eb60e01b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd057600090612295575b61228c91506141d5565b15158414611e17565b506020813d6020116122c1575b816122af60209383613d7a565b81010312610bc35761228c9051612282565b3d91506122a2565b506020813d6020116122f5575b816122e360209383613d7a565b81010312610bc357611e0d9051611e03565b3d91506122d6565b608460405162461bcd60e51b815260206004820152602660248201527f6571546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b506040838101519051637c12a1eb60e01b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd0576000906123dd575b6123d491506141d5565b15158414611d9c565b506020813d602011612409575b816123f760209383613d7a565b81010312610bc3576123d490516123ca565b3d91506123ea565b506020813d60201161243d575b8161242b60209383613d7a565b81010312610bc357611d929051611d88565b3d915061241e565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116124b5575b816124a360209383613d7a565b81010312610bc357611d1e9151611d0f565b3d9150612496565b506020823d6020116124e9575b816124d760209383613d7a565b81010312610bc357611cf99151611c9e565b3d91506124ca565b506020823d60201161251d575b8161250b60209383613d7a565b81010312610bc357611c889151611c2d565b3d91506124fe565b506020823d602011612551575b8161253f60209383613d7a565b81010312610bc357611c179151611bbc565b3d9150612532565b506020823d602011612585575b8161257360209383613d7a565b81010312610bc357611ba69151611b40565b3d9150612566565b506020823d6020116125b9575b816125a760209383613d7a565b81010312610bc357611b2a9151611acd565b3d915061259a565b506020823d6020116125ed575b816125db60209383613d7a565b81010312610bc357611ab79151611a5c565b3d91506125ce565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011612665575b8161265360209383613d7a565b81010312610bc3576119ee91516119df565b3d9150612646565b506020823d602011612699575b8161268760209383613d7a565b81010312610bc3576119c9915161196f565b3d915061267a565b506020823d6020116126cd575b816126bb60209383613d7a565b81010312610bc35761195991516118f4565b3d91506126ae565b506020823d602011612701575b816126ef60209383613d7a565b81010312610bc3576118de9151611882565b3d91506126e2565b506020823d602011612735575b8161272360209383613d7a565b81010312610bc35761186c9151611812565b3d9150612716565b606460405162461bcd60e51b815260206004820152601660248201527f6571546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d6020116127b2575b8161279e60209383613d7a565b81010312610bc357518791906117a7611798565b3d9150612791565b506020823d6020116127e6575b816127d460209383613d7a565b81010312610bc3576117809151611724565b3d91506127c7565b506020823d60201161281a575b8161280860209383613d7a565b81010312610bc35761170e91516116b4565b3d91506127fb565b90506020813d60201161284e575b8161283d60209383613d7a565b81010312610bc35751611613611606565b3d9150612830565b506020813d602011612882575b8161287060209383613d7a565b81010312610bc35761159e9051611594565b3d9150612863565b34610bc35760031936016101808112610bc35761014013610bc3576040516128b181613d25565b6004358152602435602082015260443560408201526064356060820152608435608082015260a43560a082015260c43560c082015260e43560e082015261010435610100820152610124356101208201526101443560ff81168103610bc357610164359060ff82168203610bc35761292892613dbb565b005b34610bc3576000600319360112610bc357602060ff60005460101c166040519015158152f35b34610bc3576060600319360112610bc357602061147860405161297281613cda565b6004358152602435838201526044356040820152613eec565b34610bc3576040600319360112610bc3576129a4613cba565b6129ac613cca565b6129b4614071565b906129bd6140bd565b926129c66140dc565b6129ce614107565b906129da848487613dbb565b6040858101516060870151915163204ec81d60e21b81527f01010000000000000000000000000000000000000000000000000000000000006004820152602481019190915260448101919091526020816064816000825af1908115610bd057600091613c63575b50612a4e612adf916141d5565b1515966000547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00008a60101b169116176000556020608088015160a089015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0202000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613c2f575b815260408781015160a0890151915163204ec81d60e21b81527f0102000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090613bfb575b6020828101919091526080880151606089015160405163204ec81d60e21b81527f020100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd0578892600091613bc2575b506040820152612be890613eec565b151503613b7e5760c085015160e086015160405163204ec81d60e21b81527f0303000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090613b4a575b815260408681015160e0880151915163204ec81d60e21b81527f0103000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd057600090613b16575b60208281019190915260c0870151606088015160405163204ec81d60e21b81527f030100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd057600090613ae2575b612d9a925060408201526020608087015160e088015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0203000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613aae575b606082015260c086015160a087015160405163204ec81d60e21b81527f0302000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090613a7a575b612e2f92506080820152613f39565b15158503613a365761010084015161012085015160405163204ec81d60e21b81527f0404000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152906020826064816000825af18015610bd057600090613a02575b8152604085810151610120870151915163204ec81d60e21b81527f0104000000000000000000000000000000000000000000000000000000000000600482015260248101919091526044810191909152915060208280606481015b0381600060645af18015610bd0576000906139ce575b602082810191909152610100860151606087015160405163204ec81d60e21b81527f040100000000000000000000000000000000000000000000000000000000000060048201526024810192909252604482015292508280606481015b0381600060645af18015610bd05760009061399a575b612fe7925060408201526020608086015161012087015190604051948592839263204ec81d60e21b8452600484016040909392919360608101947f0204000000000000000000000000000000000000000000000000000000000000825260208201520152565b0381600060645af18015610bd057600090613966575b606082015261010085015160a086015160405163204ec81d60e21b81527f0402000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd057600090613932575b608082015260c085015161012086015160405163204ec81d60e21b81527f0304000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906138fe575b60a082015261010085015160e086015160405163204ec81d60e21b81527f0403000000000000000000000000000000000000000000000000000000000000600482015260248101929092526044820152915060208280606481015b0381600060645af18015610bd0576000906138ca575b61315f925060c0820152613fb6565b1515840361388657606083015160405163204ec81d60e21b81527f0101010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd057600090613852575b6131d391506141d5565b15158414806137a8575b1561373e5760a083015160405163204ec81d60e21b81527f0202010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd05760009061370a575b61324e91506141d5565b1515841480613660575b156135f65760e083015160405163204ec81d60e21b81527f0303010000000000000000000000000000000000000000000000000000000000600482015260ff8316602482015260448101919091526020816064816000825af18015610bd0576000906135c2575b6132c991506141d5565b1515841480613518575b156134ae5761012083015160405163204ec81d60e21b81527f0404010000000000000000000000000000000000000000000000000000000000600482015260ff92909216602483015260448201526020816064816000825af18015610bd05760009061347a575b61334491506141d5565b1515831491826133cb575b50501561336157602090604051908152f35b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420363420626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b610100015160405163204ec81d60e21b81527f04040200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff91909116604482015290506020816064816000825af18015610bd057600090613446575b61343b91506141d5565b15158114828061334f565b506020813d602011613472575b8161346060209383613d7a565b81010312610bc35761343b9051613431565b3d9150613453565b506020813d6020116134a6575b8161349460209383613d7a565b81010312610bc357613344905161333a565b3d9150613487565b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420333220626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b5060c083015160405163204ec81d60e21b81527f03030200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061358e575b61358591506141d5565b151584146132d3565b506020813d6020116135ba575b816135a860209383613d7a565b81010312610bc357613585905161357b565b3d915061359b565b506020813d6020116135ee575b816135dc60209383613d7a565b81010312610bc3576132c990516132bf565b3d91506135cf565b608460405162461bcd60e51b815260206004820152602760248201527f6765546573743a207465737420313620626974732077697468207363616c617260448201527f206661696c6564000000000000000000000000000000000000000000000000006064820152fd5b50608083015160405163204ec81d60e21b81527f02020200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd0576000906136d6575b6136cd91506141d5565b15158414613258565b506020813d602011613702575b816136f060209383613d7a565b81010312610bc3576136cd90516136c3565b3d91506136e3565b506020813d602011613736575b8161372460209383613d7a565b81010312610bc35761324e9051613244565b3d9150613717565b608460405162461bcd60e51b815260206004820152602660248201527f6765546573743a2074657374203820626974732077697468207363616c61722060448201527f6661696c656400000000000000000000000000000000000000000000000000006064820152fd5b50604083810151905163204ec81d60e21b81527f01010200000000000000000000000000000000000000000000000000000000006004820152602481019190915260ff831660448201526020816064816000825af18015610bd05760009061381e575b61381591506141d5565b151584146131dd565b506020813d60201161384a575b8161383860209383613d7a565b81010312610bc357613815905161380b565b3d915061382b565b506020813d60201161387e575b8161386c60209383613d7a565b81010312610bc3576131d390516131c9565b3d915061385f565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203634206661696c6564000000000000000000006044820152fd5b506020823d6020116138f6575b816138e460209383613d7a565b81010312610bc35761315f9151613150565b3d91506138d7565b506020823d60201161392a575b8161391860209383613d7a565b81010312610bc35761313a91516130df565b3d915061390b565b506020823d60201161395e575b8161394c60209383613d7a565b81010312610bc3576130c9915161306e565b3d915061393f565b506020823d602011613992575b8161398060209383613d7a565b81010312610bc3576130589151612ffd565b3d9150613973565b506020823d6020116139c6575b816139b460209383613d7a565b81010312610bc357612fe79151612f81565b3d91506139a7565b506020823d6020116139fa575b816139e860209383613d7a565b81010312610bc357612f6b9151612f0e565b3d91506139db565b506020823d602011613a2e575b81613a1c60209383613d7a565b81010312610bc357612ef89151612e9d565b3d9150613a0f565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203332206661696c6564000000000000000000006044820152fd5b506020823d602011613aa6575b81613a9460209383613d7a565b81010312610bc357612e2f9151612e20565b3d9150613a87565b506020823d602011613ada575b81613ac860209383613d7a565b81010312610bc357612e0a9151612db0565b3d9150613abb565b506020823d602011613b0e575b81613afc60209383613d7a565b81010312610bc357612d9a9151612d35565b3d9150613aef565b506020823d602011613b42575b81613b3060209383613d7a565b81010312610bc357612d1f9151612cc3565b3d9150613b23565b506020823d602011613b76575b81613b6460209383613d7a565b81010312610bc357612cad9151612c53565b3d9150613b57565b606460405162461bcd60e51b815260206004820152601660248201527f6765546573743a2063617374203136206661696c6564000000000000000000006044820152fd5b919250506020813d602011613bf3575b81613bdf60209383613d7a565b81010312610bc35751879190612be8612bd9565b3d9150613bd2565b506020823d602011613c27575b81613c1560209383613d7a565b81010312610bc357612bc19151612b65565b3d9150613c08565b506020823d602011613c5b575b81613c4960209383613d7a565b81010312610bc357612b4f9151612af5565b3d9150613c3c565b90506020813d602011613c8f575b81613c7e60209383613d7a565b81010312610bc35751612a4e612a41565b3d9150613c71565b34610bc3576000600319360112610bc35760209060ff60005460081c1615158152f35b6004359060ff82168203610bc357565b6024359060ff82168203610bc357565b6060810190811067ffffffffffffffff821117613cf657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff821117613cf657604052565b60e0810190811067ffffffffffffffff821117613cf657604052565b60a0810190811067ffffffffffffffff821117613cf657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117613cf657604052565b91613e5090613e4561012093613e0360ff841693613df960ff841693613de287861161413f565b8a52613def85881161413f565b60208b0152614269565b6040890152614269565b6060870152613e11816142dc565b6080870152613e1f836142dc565b60a0870152613e2d81614350565b60c0870152613e3b83614350565b60e08701526143c6565b6101008501526143c6565b910152565b15613e5c57565b60a460405162461bcd60e51b815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c747300000000000000000000000000000000000000000000000000006084820152fd5b613f1d613ef982516141d5565b91613f0760208201516141d5565b15158315159081149182613f20575b5050613e55565b90565b613f2f919250604001516141d5565b1515143880613f16565b613f1d613f4682516141d5565b91613f5460208201516141d5565b15158315159081149182613f9d575b82613f84575b82613f75575050613e55565b613f2f919250606001516141d5565b9150613f9360808301516141d5565b1515811491613f69565b9150613fac60408301516141d5565b1515811491613f63565b613f1d613fc382516141d5565b91613fd160208201516141d5565b15158315159081149182614058575b8261403f575b82614026575b8261400d575b82613ffe575050613e55565b613f2f91925060a001516141d5565b915061401c60c08301516141d5565b1515811491613ff2565b915061403560608301516141d5565b1515811491613fec565b915061404e60808301516141d5565b1515811491613fe6565b915061406760408301516141d5565b1515811491613fe0565b6040519061407e82613d25565b816101206000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201520152565b604051906140ca82613cda565b60006040838281528260208201520152565b604051906140e982613d5e565b60006080838281528260208201528260408201528260608201520152565b6040519061411482613d42565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b600090156141d0575060015b60ff604051917fd9b60b6000000000000000000000000000000000000000000000000000000000835260006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b906020823d82116141c8575b816141b860209383613d7a565b810103126141c557505190565b80fd5b3d91506141ab565b61414b565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260009182600483015260248201526020816044818560645af191821561425d578092614229575b5050151590565b9091506020823d8211614255575b8161424460209383613d7a565b810103126141c55750513880614222565b3d9150614237565b604051903d90823e3d90fd5b60ff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f01000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b61ffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f02000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b63ffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f03000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f575090565b67ffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f04000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af1908115610bd05760009161419f57509056fea164736f6c6343000814000a";
|
|
346
346
|
|
|
347
347
|
type Comparison2TestsContractConstructorParams =
|
|
348
348
|
| [signer?: Signer]
|
package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts
CHANGED
|
@@ -92,7 +92,7 @@ const _abi = [
|
|
|
92
92
|
] as const;
|
|
93
93
|
|
|
94
94
|
const _bytecode =
|
|
95
|
-
"
|
|
95
|
+
"0x608080604052346100165761093f908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c908163339a6a46146103c05781634ea8370514610373578163aa6afeba1461008f575063d4c1db711461004f57600080fd5b3461008b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020915460801c9051908152f35b5080fd5b83833461008b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576100c7610635565b906100d0610659565b926100da836107b2565b936100e4816107b2565b948351967f69ca08740000000000000000000000000000000000000000000000000000000091828952602097888a8061015384868884016040909392919360608101947f0505000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818960645af1998a1561036957869a61033a575b508861018b9798999a6fffffffffffffffffffffffffffffffff8099819261086e565b169a8b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008a54161789556101fe8b5194859384938a8552168884016040909392919360608101947f0505010000000000000000000000000000000000000000000000000000000000825260208201520152565b03818960645af19081156103305791879593918b959388916102ef575b50906102368761022e61027b959461086e565b168c14610678565b895196879586958652169184016040909392919360608101947f0505020000000000000000000000000000000000000000000000000000000000825260208201520152565b03818560645af19182156102e45780926102ad575b50509061029f6102a79261086e565b168314610678565b51908152f35b9091508582813d83116102dd575b6102c58183610742565b810103126102da57505161029f6102a7610290565b80fd5b503d6102bb565b8451903d90823e3d90fd5b9294965050919381813d8311610329575b61030a8183610742565b81010312610325575186948a9490939092909161023661021b565b8580fd5b503d610300565b88513d88823e3d90fd5b9950888a813d8311610362575b6103518183610742565b810103126103255798519888610168565b503d610347565b87513d88823e3d90fd5b50503461008b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576fffffffffffffffffffffffffffffffff60209254169051908152f35b83833461008b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576103f8610635565b610400610659565b9261040a826107b2565b93610414816107b2565b948451967f9bda078200000000000000000000000000000000000000000000000000000000918289526020988981806104838c868884016040909392919360608101947f0505000000000000000000000000000000000000000000000000000000000000825260208201520152565b03818960645af18015610330578690610606575b6104a1915061086e565b97896fffffffffffffffffffffffffffffffff8098818c169b827fffffffffffffffffffffffffffffffff000000000000000000000000000000008b549260801b1691161789556105318b5194859384938a8552168884016040909392919360608101947f0505010000000000000000000000000000000000000000000000000000000000825260208201520152565b03818960645af19081156103305791879593918b959388916105c9575b509061023687610561610569959461086e565b168c146106dd565b03818560645af19182156102e4578092610595575b50509061058d6102a79261086e565b1683146106dd565b9091508582813d83116105c2575b6105ad8183610742565b810103126102da57505161058d6102a761057e565b503d6105a3565b9294965050919381813d83116105ff575b6105e48183610742565b81010312610325575186948a9490939092909161023661054e565b503d6105da565b508981813d831161062e575b61061c8183610742565b81010312610325576104a19051610497565b503d610612565b600435906fffffffffffffffffffffffffffffffff8216820361065457565b600080fd5b602435906fffffffffffffffffffffffffffffffff8216820361065457565b1561067f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6d696e546573743a207363616c6172206661696c6564000000000000000000006044820152fd5b156106e457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6d6178546573743a207363616c6172206661696c6564000000000000000000006044820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761078357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6fffffffffffffffffffffffffffffffff604051917fd9b60b600000000000000000000000000000000000000000000000000000000083527f05000000000000000000000000000000000000000000000000000000000000006004840152166024820152602081604481600060645af190811561086257600091610834575090565b906020823d821161085a575b8161084d60209383610742565b810103126102da57505190565b3d9150610840565b6040513d6000823e3d90fd5b604051907f0cfed5610000000000000000000000000000000000000000000000000000000082527f050000000000000000000000000000000000000000000000000000000000000060048301526024820152602081604481600060645af18015610862576000906108f1575b6fffffffffffffffffffffffffffffffff91501690565b6020823d821161092a575b8161090960209383610742565b810103126102da57506fffffffffffffffffffffffffffffffff90516108da565b3d91506108fc56fea164736f6c6343000814000a";
|
|
96
96
|
|
|
97
97
|
type MinMax128TestsContractConstructorParams =
|
|
98
98
|
| [signer?: Signer]
|