solc-0.8.36-moh-eulith 0xdac17f958d2ee523a2206206994597c13d831ec7 optimized-low-runs

5251 bytes

608060405234801561000f575f5ffd5b506004361061017e575f3560e01c806306fdde03146101825780630753c30c146101a0578063095ea7b3146101b55780630e136b19146101c85780630ecb93c0146101ec57806318160ddd146101ff57806323b872dd1461021557806326976e3f1461022857806327e235e314610245578063313ce56714610264578063353907141461026d5780633eaaf86b146102765780633f4ba83a1461027f57806359bf1abe146102875780635c658165146102af5780635c975abb146102d957806370a08231146102ec5780638456cb59146102ff578063893d20e8146103075780638da5cb5b1461031457806395d89b4114610323578063a9059cbb1461032b578063c0324c771461033e578063cc872b6614610351578063db006a7514610364578063dd62ed3e14610377578063dd644f721461038a578063e47d606014610393578063e4997dc5146103b5578063e5b5019a146103c8578063f2fde38b146103d0578063f3bdc228146103e3575b5f5ffd5b61018a6103f6565b6040516101979190611144565b60405180910390f35b6101b36101ae36600461118c565b610482565b005b6101b36101c33660046111a5565b6104eb565b600a546101dc90600160a01b900460ff1681565b6040519015158152602001610197565b6101b36101fa36600461118c565b610587565b6102076105e8565b604051908152602001610197565b6101b36102233660046111cd565b610676565b600a54610238905f1960601c1681565b6040516101979190611207565b61020761025336600461118c565b60026020525f908152604090205481565b61020760095481565b61020760045481565b61020760015481565b6101b361070d565b6101dc61029536600461118c565b5f1960601c165f9081526006602052604090205460ff1690565b6102076102bd366004611218565b600560209081525f928352604080842090915290825290205481565b5f546101dc90600160a01b900460ff1681565b6102076102fa36600461118c565b610768565b6101b361080d565b5f545f1960601c16610238565b5f54610238905f1960601c1681565b61018a61086f565b6101b36103393660046111a5565b61087c565b6101b361034c366004611249565b61092e565b6101b361035f366004611269565b6109c0565b6101b3610372366004611269565b610a81565b610207610385366004611218565b610b30565b61020760035481565b6101dc6103a136600461118c565b60066020525f908152604090205460ff1681565b6101b36103c336600461118c565b610be3565b6102075f1981565b6101b36103de36600461118c565b610c41565b6101b36103f136600461118c565b610c76565b6007805461040390611280565b80601f016020809104026020016040519081016040528092919081815260200182805461042f90611280565b801561047a5780601f106104515761010080835404028352916020019161047a565b820191905f5260205f20905b81548152906001019060200180831161045d57829003601f168201915b505050505081565b5f545f1960601c163314610494575f5ffd5b600a80545f1960601c83165f1960a81b90911617600160a01b1790556040517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e906104e0908390611207565b60405180910390a150565b60406104f88160046112cc565b361015610503575f5ffd5b600a54600160a01b900460ff161561057857600a5460405163aee92d3360e01b81525f1960601c9091169063aee92d3390610546903390879087906004016112df565b5f604051808303815f87803b15801561055d575f5ffd5b505af115801561056f573d5f5f3e3d5ffd5b50505050505050565b6105828383610d21565b505050565b5f545f1960601c163314610599575f5ffd5b5f1960601c81165f9081526006602052604090819020805460ff19166001179055517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc906104e0908390611207565b600a545f90600160a01b900460ff161561066f57600a5f9054906101000a90045f1960601c165f1960601c166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610646573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066a9190611300565b905090565b5060015490565b5f54600160a01b900460ff161561068b575f5ffd5b5f1960601c83165f9081526006602052604090205460ff16156106ac575f5ffd5b600a54600160a01b900460ff161561070257600a54604051638b477adb60e01b81523360048201525f1960601c858116602483015284811660448301526064820184905290911690638b477adb90608401610546565b610582838383610dcb565b5f545f1960601c16331461071f575f5ffd5b5f54600160a01b900460ff16610733575f5ffd5b5f805460ff60a01b191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600a545f90600160a01b900460ff16156107ee57600a546040516370a0823160e01b81525f1960601c909116906370a08231906107a9908590600401611207565b602060405180830381865afa1580156107c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e89190611300565b92915050565b5f1960601c82165f908152600260205260409020546107e8565b919050565b5f545f1960601c16331461081f575f5ffd5b5f54600160a01b900460ff1615610834575f5ffd5b5f805460ff60a01b1916600160a01b1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b6008805461040390611280565b5f54600160a01b900460ff1615610891575f5ffd5b335f9081526006602052604090205460ff16156108ac575f5ffd5b600a54600160a01b900460ff161561092057600a5460405163370c4c0560e11b81525f1960601c90911690636e18980a906108ef903390869086906004016112df565b5f604051808303815f87803b158015610906575f5ffd5b505af1158015610918573d5f5f3e3d5ffd5b505050505050565b61092a8282610f7b565b5050565b5f545f1960601c163314610940575f5ffd5b6014821061094c575f5ffd5b60328110610958575f5ffd5b60038290556009546109769061096f90600a6113fa565b82906110bc565b60048190556003546040517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e926109b4928252602082015260400190565b60405180910390a15050565b5f545f1960601c1633146109d2575f5ffd5b6001546109df82826112cc565b116109e8575f5ffd5b5f80545f1960601c16815260026020526040902054610a0782826112cc565b11610a10575f5ffd5b5f80545f1960601c1681526002602052604081208054839290610a349084906112cc565b925050819055508060015f828254610a4c91906112cc565b90915550506040518181527fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a906020016104e0565b5f545f1960601c163314610a93575f5ffd5b806001541015610aa1575f5ffd5b5f80545f1960601c16815260026020526040902054811115610ac1575f5ffd5b8060015f828254610ad29190611405565b90915550505f80545f1960601c1681526002602052604081208054839290610afb908490611405565b90915550506040518181527f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44906020016104e0565b600a545f90600160a01b900460ff1615610bbc57600a54604051636eb1769f60e11b81525f1960601c858116600483015284811660248301529091169063dd62ed3e90604401602060405180830381865afa158015610b91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb59190611300565b90506107e8565b5f1960601c8084165f90815260056020908152604080832093861683529290522054610bb5565b5f545f1960601c163314610bf5575f5ffd5b5f1960601c81165f9081526006602052604090819020805460ff19169055517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c906104e0908390611207565b5f545f1960601c163314610c53575f5ffd5b5f1960601c811615610c73575f80545f1960a01b165f1960601c83161790555b50565b5f545f1960601c163314610c88575f5ffd5b5f1960601c81165f9081526006602052604090205460ff16610ca8575f5ffd5b5f610cb282610768565b5f1960601c83165f908152600260205260408120819055600180549293508392909190610ce0908490611405565b9091555050604080515f1960601c84168152602081018390527f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c691016109b4565b6040610d2e8160046112cc565b361015610d39575f5ffd5b8115801590610d665750335f9081526005602090815260408083205f1960601c8716845290915290205415155b15610d6f575f5ffd5b335f8181526005602090815260408083205f1960601c881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6060610dd88160046112cc565b361015610de3575f5ffd5b5f1960601c84165f908152600560209081526040808320338452909152812054600354909190610e229061271090610e1c9087906110bc565b906110f7565b9050600454811115610e3357506004545b5f19821015610e6757610e46828561110b565b5f1960601c87165f9081526005602090815260408083203384529091529020555b5f610e72858361110b565b5f1960601c88165f90815260026020526040902054909150610e94908661110b565b5f1960601c8089165f908152600260205260408082209390935590881681522054610ebf9082611126565b5f1960601c87165f908152600260205260409020558115610f3e575f80545f1960601c16815260026020526040902054610ef99083611126565b5f80545f1960601c9081168252600260209081526040808420949094559154925185815292811692908a16915f5160206114635f395f51905f52910160405180910390a35b855f1960601c16875f1960601c165f5160206114635f395f51905f5283604051610f6a91815260200190565b60405180910390a350505050505050565b6040610f888160046112cc565b361015610f93575f5ffd5b5f610faf612710610e1c600354866110bc90919063ffffffff16565b9050600454811115610fc057506004545b5f610fcb848361110b565b335f90815260026020526040902054909150610fe7908561110b565b335f90815260026020526040808220929092555f1960601c87168152205461100f9082611126565b5f1960601c86165f90815260026020526040902055811561108b575f80545f1960601c168152600260205260409020546110499083611126565b5f80545f1960601c9081168252600260209081526040808420949094559154925185815292169133915f5160206114635f395f51905f52910160405180910390a35b6040518181525f1960601c86169033905f5160206114635f395f51905f529060200160405180910390a35050505050565b5f825f036110cb57505f6107e8565b5f6110d68385611418565b9050826110e3858361142f565b146110f0576110f061144e565b9392505050565b5f80611103838561142f565b949350505050565b5f8282111561111c5761111c61144e565b6110f08284611405565b5f8061113283856112cc565b9050838110156110f0576110f061144e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80355f1960601c81168114610808575f5ffd5b5f6020828403121561119c575f5ffd5b6110f082611179565b5f5f604083850312156111b6575f5ffd5b6111bf83611179565b946020939093013593505050565b5f5f5f606084860312156111df575f5ffd5b6111e884611179565b92506111f660208501611179565b929592945050506040919091013590565b5f1960601c91909116815260200190565b5f5f60408385031215611229575f5ffd5b61123283611179565b915061124060208401611179565b90509250929050565b5f5f6040838503121561125a575f5ffd5b50508035926020909101359150565b5f60208284031215611279575f5ffd5b5035919050565b600181811c9082168061129457607f821691505b6020821081036112b257634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107e8576107e86112b8565b5f1960601c9384168152919092166020820152604081019190915260600190565b5f60208284031215611310575f5ffd5b5051919050565b6001815b600184111561135257808504811115611336576113366112b8565b600184161561134457908102905b60019390931c92800261131b565b935093915050565b5f82611368575060016107e8565b8161137457505f6107e8565b816001811461138a5760028114611394576113b0565b60019150506107e8565b60ff8411156113a5576113a56112b8565b50506001821b6107e8565b5060208310610133831016604e8410600b84101617156113d3575081810a6107e8565b6113df5f198484611317565b805f19048211156113f2576113f26112b8565b029392505050565b5f6110f0838361135a565b818103818111156107e8576107e86112b8565b80820281158282048414176107e8576107e86112b8565b5f8261144957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52600160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef