solc-0.8.36-fakeopcode 0xd86756dbb01e75a11aadacb75c8495759ed92033 via-ir-low-runs

8484 bytes

6080806040526004361015610012575f80fd5b5f3560e01c90816306a2da3d146111175750806306fdde03146110d1578063077f22b7146110ae578063095ea7b3146110335780630c340a241461100457806318160ddd14610fe757806323b872dd14610ef5578063313ce56714610ed957806339a7919f14610ea657806340c10f1914610d8f578063430bf08a14610d67578063456ee28614610d205780635d36b19014610bf85780635f5a857714610bb8578063609350cd14610b7d5780636691cb3d14610b5a5780636b96be3914610b1a57806370a0823114610aef5780637a46a9c514610ad25780637d0d66ff14610ab557806395d89b4114610a735780639d01fc721461051c5780639dc29fac146104e0578063a9059cbb14610471578063baa9c9db14610431578063c2376dff14610418578063c7af3352146103f4578063cd6dc68714610315578063d38bfff414610299578063dd62ed3e1461024e578063e5c4fffe146101fd578063e696393a146101e0578063f51b0fd4146101c55763f9854bfc14610192575f80fd5b346101c15760203660031901126101c15760406101b56101b06112cb565b61188c565b82519182526020820152f35b5f80fd5b346101c1575f3660031901126101c1576101de33611ea9565b005b346101c1575f3660031901126101c157602060a054604051908152f35b346101c15760203660031901126101c15760606102186112cb565b6001600160a01b0381165f908152609d60205260409020549061023a90611d0b565b604051918252602082015260016040820152f35b346101c15760403660031901126101c157602061029061026c6112cb565b6102746112e1565b6001600160a01b039091165f908152609b845260409020611321565b54604051908152f35b346101c15760203660031901126101c1576102b26112cb565b6102c26102bd61186f565b611826565b5f5160206120e45f395f51905f528190555f5160206120a45f395f51905f52546001600160a01b0391821691167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d5f80a3005b346101c15760403660031901126101c15761032e6112cb565b6103396102bd61186f565b5f906001600160a01b031680156103ba57609c54916001600160a01b0383160361037f57602435609f556001600160a01b03166001600160a01b03199190911617609c55005b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152715a65726f207661756c74206164647265737360701b6044820152606490fd5b346101c1575f3660031901126101c157602061040e61186f565b6040519015158152f35b346101c1575f3660031901126101c1576101de33611d32565b346101c15760203660031901126101c1576101de61044d6112cb565b6104586102bd61186f565b61046c6001600160a01b03821615156113ed565b611ea9565b346101c15760403660031901126101c15761048a6112cb565b602435906001600160a01b038116906104b09083906104aa84151561149e565b336119fc565b6040519182526001600160a01b03169033905f5160206120845f395f51905f5290602090a3602060405160018152f35b346101c15760403660031901126101c1576101de6104fc6112cb565b609c54610513906001600160a01b031633146114e5565b6024359061177a565b346101c15760403660031901126101c1576105356112cb565b61053d6112e1565b61054561186f565b80156109ee575b61055590611390565b5f916001600160a01b03811680156109a9576001600160a01b03831684811461096657808214610927576001600160a01b039081165f81815260a560205260409020549095911681149081610907575b816108e4575b816108c1575b50156108705760601b60601c92835f5260a260205260405f205460ff16815f5260a260205260405f205460ff1690600581101590816107f1578015918215610863575b8215610852575b50501561081257600581101590816107f1578015918215610805575b82156107e0575b5050156107a2578361075761075261074c61075d947f31e39e4bb9df9d4143551c8a3a4798fc19b0854768570ce84d966f6adffd01a3985f5260a160205260405f205415610794575b805f5260a160205260405f2054610786575b610746610740610688896116ad565b966106928b6116ad565b93805f52609d6020526106b26106ad60405f2054968b61154e565b6118e9565b91805f5260a46020526106c88d60405f20611434565b815f5260a56020526106dd8c60405f20611434565b805f5260a260205260405f20600360ff19825416179055805f5260a1602052670de0b6b3a764000060405f20555f52609d6020528860405f2055805f5260a260205260405f20600460ff198254161790555f52609d6020528060405f205561192f565b9161192f565b90611454565b9261192f565b61176a565b906119b1565b610781604051928392836001600160a01b0391821681529116602082015260400190565b0390a1005b61078f88611ea9565b610679565b61079d87611d32565b610667565b60405162461bcd60e51b8152602060048201526016602482015275496e76616c696420726562617365537461746520746f60501b6044820152606490fd5b9091506107f157600214858061061e565b634e487b7160e01b5f52602160045260245ffd5b506001811491505f610617565b60405162461bcd60e51b8152602060048201526018602482015277496e76616c69642072656261736553746174652066726f6d60401b6044820152606490fd5b9091506107f15760021486806105fb565b506001811491505f6105f4565b60405162461bcd60e51b8152602060048201526024808201527f426c6f636b6564206279206578697374696e67207969656c642064656c6567616044820152633a34b7b760e11b6064820152608490fd5b6001600160a01b038084165f90815260a4602052604090205416149050856105b1565b6001600160a01b038084165f90815260a5602052604090205416811491506105ab565b5f86815260a460205260409020546001600160a01b0316811491506105a5565b60405162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b6044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527a16995c9bc81d1bc81859191c995cdcc81b9bdd08185b1b1bddd959602a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f5a65726f2066726f6d2061646472657373206e6f7420616c6c6f7765640000006044820152606490fd5b50609c5460405163570d8e1d60e01b815290602090829060049082906001600160a01b03165afa8015610a6857610555915f91610a39575b506001600160a01b03163314905061054c565b610a5b915060203d602011610a61575b610a53818361133a565b810190611371565b84610a26565b503d610a49565b6040513d5f823e3d90fd5b346101c1575f3660031901126101c157610ab1604051610a9460408261133a565b600481526309e8aa8960e31b6020820152604051918291826112f7565b0390f35b346101c1575f3660031901126101c1576020609e54604051908152f35b346101c1575f3660031901126101c1576020609f54604051908152f35b346101c15760203660031901126101c1576020610b12610b0d6112cb565b6116ad565b604051908152f35b346101c15760203660031901126101c157610b336112cb565b6001600160a01b039081165f90815260a56020908152604091829020549151919092168152f35b346101c1575f3660031901126101c1576020633b9aca00609f5404604051908152f35b346101c15760203660031901126101c157610b966112cb565b60601b60601c60601b60601c5f5260a1602052602060405f2054604051908152f35b346101c15760203660031901126101c157610bd16112cb565b6001600160a01b039081165f90815260a46020908152604091829020549151919092168152f35b346101c1575f3660031901126101c1575f5160206120e45f395f51905f525433906001600160a01b03168103610cc2578015610c80575f5160206120a45f395f51905f52546001600160a01b0391821691167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a5f80a3335f5160206120a45f395f51905f5255005b60405162461bcd60e51b815260206004820152601a6024820152794e657720476f7665726e6f72206973206164647265737328302960301b6044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b6064820152608490fd5b346101c15760203660031901126101c157610d396112cb565b60601b60601c60601b60601c5f5260a260205260405f205460ff1660405160058210156107f1576020918152f35b346101c1575f3660031901126101c157609c546040516001600160a01b039091168152602090f35b346101c15760403660031901126101c157610da86112cb565b609c5460243590610dc3906001600160a01b031633146114e5565b5f916001600160a01b038116908115610e6657610757610dec91610de68561192f565b90611a2d565b610df882609a5461154e565b609a8190556001600160801b031115610e34576040519182526001600160a01b039081169216905f5160206120845f395f51905f5290602090a3005b60405162461bcd60e51b815260206004820152600a6024820152694d617820737570706c7960b01b6044820152606490fd5b60405162461bcd60e51b81526020600482015260186024820152774d696e7420746f20746865207a65726f206164647265737360401b6044820152606490fd5b346101c15760203660031901126101c157609c54610ece906001600160a01b031633146114e5565b6101de60043561155b565b346101c1575f3660031901126101c15760405160128152602090f35b346101c15760603660031901126101c157610f0e6112cb565b610f166112e1565b604435916001600160a01b03821691610f3083151561149e565b6001600160a01b0382165f818152609b60205260409020909390610f55903390611321565b5492838611610fad5785602093610f9192825f5160206120845f395f51905f5297895f52609b885203610f8b3360405f20611321565b556119fc565b6040519485526001600160a01b031693a3602060405160018152f35b60405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b6044820152606490fd5b346101c1575f3660031901126101c1576020609a54604051908152f35b346101c1575f3660031901126101c15760205f5160206120a45f395f51905f52546040519060601b60601c8152f35b346101c15760403660031901126101c15761104c6112cb565b335f818152609b60209081526040909120602435937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918590611091908390611321565b556040519485526001600160a01b031693a3602060405160018152f35b346101c1575f3660031901126101c1576020633b9aca00609e5404604051908152f35b346101c1575f3660031901126101c157610ab16040516110f260408261133a565b600c81526b27b934b3b4b71022ba3432b960a11b6020820152604051918291826112f7565b346101c15760203660031901126101c1576111306112cb565b61113861186f565b918215611253575b506111585f5160206121045f395f51905f5292611390565b6001600160a01b038082165f81815260a4602052604081205491939261075d92611184911615156113ed565b835f5260a460205261075761074060405f205460601b60601c956107466107406111ad886116ad565b956111b78a6116ad565b6001600160a01b038b165f818152609d6020526040902054959091611206906111df906118e9565b93835f5260a56020526111f58160405f20611434565b825f5260a460205260405f20611434565b805f5260a260205260405f20600160ff198254161790555f52609d6020528760405f2055805f5260a260205260405f20600260ff198254161790555f52609d6020528060405f205561192f565b609c5463570d8e1d60e01b8252909250602090839060049082906001600160a01b03165afa918215610a68575f5160206121045f395f51905f5292611158915f916112ac575b506001600160a01b031633149250611140565b6112c5915060203d602011610a6157610a53818361133a565b84611299565b600435906001600160a01b03821682036101c157565b602435906001600160a01b03821682036101c157565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b9060601b60601c60601b60601c5f5260205260405f2090565b601f909101601f19168101906001600160401b0382119082101761135d57604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126101c157516001600160a01b03811681036101c15790565b1561139757565b60405162461bcd60e51b815260206004820152602860248201527f43616c6c6572206973206e6f74207468652053747261746567697374206f722060448201526723b7bb32b93737b960c11b6064820152608490fd5b156113f457565b60405162461bcd60e51b815260206004820152601860248201527716995c9bc81859191c995cdcc81b9bdd08185b1b1bddd95960421b6044820152606490fd5b80546001600160a01b0319166001600160a01b0392909216919091179055565b81810392915f13801582851316918412161761146c57565b634e487b7160e01b5f52601160045260245ffd5b811561148a570490565b634e487b7160e01b5f52601260045260245ffd5b156114a557565b60405162461bcd60e51b81526020600482015260186024820152775472616e7366657220746f207a65726f206164647265737360401b6044820152606490fd5b156114ec57565b60405162461bcd60e51b815260206004820152601760248201527610d85b1b195c881a5cc81b9bdd081d1a194815985d5b1d604a1b6044820152606490fd5b6040919493926060820195825260208201520152565b9190820391821161146c57565b9190820180921161146c57565b609a54801561166d5781811461164757506001600160801b03908181111561164057505b80609a5561158f60a05482611541565b609e5490670de0b6b3a76400008202828104670de0b6b3a7640000148315171561146c57816115bd9161154e565b5f1981019190821161146c576115d291611480565b9182609f558215611600576115fb5f5160206120c45f395f51905f52936040519384938461152b565b0390a1565b60405162461bcd60e51b8152602060048201526018602482015277496e76616c6964206368616e676520696e20737570706c7960401b6044820152606490fd5b905061157f565b5f5160206120c45f395f51905f529150609e54906115fb609f546040519384938461152b565b60405162461bcd60e51b815260206004820152601860248201527743616e6e6f7420696e637265617365203020737570706c7960401b6044820152606490fd5b6001600160a01b0381165f81815260a2602052604090205460ff169160058310156107f1576003831461175857815f52609d60205260405f205490670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561146c5760049161171861171e92611d0b565b90611480565b9214611728575090565b5f90815260a560209081526040808320546001600160a01b03168352609d90915290205461175591611541565b90565b5090505f52609d60205260405f205490565b600160ff1b811461146c575f0390565b6001600160a01b03811691905f9083156117e45782156117de575f5160206120845f395f51905f52916117b8610757602093610de66107528861192f565b6117c484609a54611541565b609a556040519384526001600160a01b03908116941692a3565b50505050565b60405162461bcd60e51b815260206004820152601a6024820152794275726e2066726f6d20746865207a65726f206164647265737360301b6044820152606490fd5b1561182d57565b60405162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b6044820152606490fd5b5f5160206120a45f395f51905f52546001600160a01b0316331490565b9061189682611d0b565b91676765c793fa10079d601b1b83036118c4576001600160a01b03165f908152609d60205260409020549190565b6001600160a01b03165f908152609d6020526040902054633b9aca0090819004920490565b609f549081810291818304149015171561146c57670de0b6b3a764000081019081811161146c57670de0b6b3a763ffff0190811161146c57670de0b6b3a7640000900490565b6001600160ff1b0381116119405790565b60405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608490fd5b9190915f838201938412911290801582169115161761146c57565b806119e1575b50806119c05750565b6119d76119dc916119d260a05461192f565b611996565b612035565b60a055565b6119d76119f3916119d2609e5461192f565b609e555f6119b7565b611a2b92611a25611a25610de694611a1d61075795610de66107528761192f565b96909461192f565b92611996565b565b6001600160a01b0381165f81815260a2602052604081205491949093909260ff90921691849190611a65611a60826116ad565b61192f565b5f611a708483611996565b12611cc6576119d783611a8292611996565b9360058110156107f15760038103611b0d5750505050835f5260a460205260405f205460601b60601c611ac06106ad83611abb846116ad565b61154e565b91611af2611acd8461192f565b6001600160a01b039093165f818152609d60205260409020549093906107469061192f565b955f52609d60205260405f20555f52609d60205260405f2055565b600403611b79575050505f84815260a560209081526040808320546001600160a01b03168352609d909152902054611b49916106ad919061154e565b611b6a611b558261192f565b855f52609d60205261074660405f205461192f565b935f52609d60205260405f2055565b809692963b8015908115611c3d575b501580611c1d575b80611c09575b611bfa575b505f82815260a16020526040902054948515611bec575093670de0b6b3a763ffff1901611bd1575b5f52609d60205260405f2055565b805f5260a1602052670de0b6b3a764000060405f2055611bc3565b9450509350611b49906118e9565b611c0390611d32565b5f611b9b565b50825f5260a160205260405f205415611b96565b50825f5260a260205260405f205460ff1660058110156107f15715611b90565b601791501480611c4e575b5f611b88565b50803b6001600160401b03811161135d57604051611c76601f8301601f19166020018261133a565b81815260208101915f83853c5190516001600160e81b0319169060038110611cb0575b506001600160e81b03191661ef0160f01b14611c48565b62ffffff60e81b9060030360031b1b165f611c99565b60405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e6365006044820152606490fd5b6001600160a01b03165f90815260a160205260409020548015611d2b5790565b50609f5490565b6001600160a01b0381165f81815260a160205260409020548190611e6957815f5260a260205260405f205460ff1660058110156107f15760028114908115611e60575b5015611e0757611dfe826107576107406107527f201ace89ad3f5ab7428b91989f6a50d1998791c7b94a0fa812fd64a57687165e976020975f52609d8852611dc160405f2054916116ad565b94805f5260a2895260405f20600160ff19825416179055805f5260a18952670de0b6b3a764000060405f20555f52609d88528460405f205561192f565b604051908152a1565b60405162461bcd60e51b815260206004820152602b60248201527f4f6e6c79207374616e64617264207265626173696e67206163636f756e74732060448201526a18d85b881bdc1d081bdd5d60aa1b6064820152608490fd5b9050155f611d75565b60405162461bcd60e51b81526020600482015260186024820152774163636f756e74206d757374206265207265626173696e6760401b6044820152606490fd5b611eb2816116ad565b6001600160a01b039091165f81815260a16020526040902054909190829015801590612021575b15611fdd57825f5260a260205260405f205460ff1660058110156107f15760018114908115611fd4575b5015611f7857611dfe8261075761075261074c7f19a249fa2050bac8314ac10e3ad420bd9825574bf750f58810c3c7adfc7b1c6f97611f436020986118e9565b90805f5260a2895260405f20600260ff19825416179055805f5260a189525f60408120555f52609d88528060405f205561192f565b60405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79207374616e64617264206e6f6e2d7265626173696e67206163636f7560448201526d373a399031b0b71037b83a1034b760911b6064820152608490fd5b9050155f611f03565b60405162461bcd60e51b815260206004820152601c60248201527b4163636f756e74206d757374206265206e6f6e2d7265626173696e6760201b6044820152606490fd5b50825f52609d60205260405f205415611ed9565b5f811261203f5790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723544c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51dba4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd3