solc-0.8.35 0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e via-ir

2713 bytes

60806040526004361015610011575f80fd5b5f3560e01c80630178b8bf146105ec57806302571be3146105bc57806306ab59231461058b57806314ab9038146104b357806316a25cbd146104835780631896f70a146103b75780635b0fc9c3146103115780635ef2c7f0146102b9578063a22cb46514610230578063b83f866314610208578063cf4088231461013b578063e985e9c5146100e45763f79fe538146100a8575f80fd5b346100e05760203660031901126100e0576004355f90815260208181526040909120546001600160a01b031615156040519015158152f35b5f80fd5b346100e05760403660031901126100e0576100fd610636565b610105610620565b9060018060a01b03165f52600160205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346100e05760803660031901126100e057600435610157610620565b9061016061060a565b6064359167ffffffffffffffff831683036100e057805f525f60205260018060a01b0360405f2054163381149081156101e4575b50156100e057807fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d2666020866101cc6101e2988561093c565b6040516001600160a01b039091168152a261097f565b005b5f90815260016020908152604080832033845290915290205460ff16905085610194565b346100e0575f3660031901126100e0576002546040516001600160a01b039091168152602090f35b346100e05760403660031901126100e057610249610636565b602435908115158092036100e057335f52600160205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff841617905560405191825260018060a01b0316907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b346100e05760a03660031901126100e0576102d261060a565b6064356001600160a01b03811681036100e0576084359067ffffffffffffffff821682036100e05761030c6101e2936024356004356107b2565b61097f565b346100e05760403660031901126100e05760043561032d610620565b815f525f60205260018060a01b0360405f205416338114908115610393575b50156100e0576020816103807fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266938561093c565b6040516001600160a01b039091168152a2005b5f90815260016020908152604080832033845290915290205460ff1690508361034c565b346100e05760403660031901126100e0576004356103d3610620565b90805f525f60205260018060a01b0360405f20541633811490811561045f575b50156100e0576040516001600160a01b038316815281907f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a090602090a25f90815260208190526040902060010180546001600160a01b0319166001600160a01b03909216919091179055005b5f90815260016020908152604080832033845290915290205460ff169050836103f3565b346100e05760203660031901126100e05760206104a160043561085e565b67ffffffffffffffff60405191168152f35b346100e05760403660031901126100e05760043560243567ffffffffffffffff8116918282036100e057805f525f60205260018060a01b0360405f205416338114908115610567575b50156100e057807f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6860206101e295604051908152a25f525f602052600160405f20019081549067ffffffffffffffff60a01b9060a01b169067ffffffffffffffff60a01b1916179055565b5f90815260016020908152604080832033845290915290205460ff169050846104fc565b346100e05760603660031901126100e05760206105b46105a961060a565b6024356004356107b2565b604051908152f35b346100e05760203660031901126100e05760206105da60043561074f565b6040516001600160a01b039091168152f35b346100e05760203660031901126100e05760206105da6004356106a1565b604435906001600160a01b03821682036100e057565b602435906001600160a01b03821682036100e057565b600435906001600160a01b03821682036100e057565b90601f8019910116810190811067ffffffffffffffff82111761066e57604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126100e057516001600160a01b03811681036100e05790565b5f818152602081905260409020546001600160a01b0316156106da575f908152602081905260409020600101546001600160a01b031690565b600254604051630178b8bf60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610744575f91610718575090565b61073a915060203d60201161073d575b610732818361064c565b810190610682565b90565b503d610728565b6040513d5f823e3d90fd5b5f818152602081905260409020546001600160a01b0316156107745761073a90610916565b6002546040516302571be360e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610744575f91610718575090565b805f525f60205260018060a01b0360405f20541633811490811561083b575b50156100e0577fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e826020604051818101908482528560408201526040815261081960608261064c565b51902094610827818761093c565b6040516001600160a01b039091168152a390565b5f90815260016020908152604080832033845290915281205460ff1691506107d1565b5f818152602081905260409020546001600160a01b031615610898575f525f60205267ffffffffffffffff600160405f20015460a01c1690565b6002546040516316a25cbd60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610744575f916108d6575090565b90506020813d60201161090e575b816108f16020938361064c565b810103126100e0575167ffffffffffffffff811681036100e05790565b3d91506108e4565b5f908152602081905260409020546001600160a01b03163081146109375790565b505f90565b6001600160a01b03821615610977575b5f525f60205260405f209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b30915061094c565b5f8181526020819052604090206001015490929183916001600160a01b0391821691168103610a43575b505f525f60205267ffffffffffffffff600160405f20015460a01c169067ffffffffffffffff81169182036109dd57505050565b5f83815260208181526040909120600101805467ffffffffffffffff60a01b191660a09390931b67ffffffffffffffff60a01b16929092179091557f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891604051908152a2565b60207f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a091835f525f8252600160405f2001816bffffffffffffffffffffffff60a01b825416179055604051908152a2815f6109a956