// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; contract Challenge { bool public isSolved; constructor(address) {} function solve(bytes calldata secret) external { bytes memory data = hex"6111ec610011610000396111ec610000f360003560e01c6370d496b981186111e157612004361034176111e7576004358060081c6111e7576040526024358060081c6111e7576060526044358060081c6111e7576080526064358060081c6111e75760a0526084358060081c6111e75760c05260a4358060081c6111e75760e05260c4358060081c6111e7576101005260e4358060081c6111e75761012052610104358060081c6111e75761014052610124358060081c6111e75761016052610144358060081c6111e75761018052610164358060081c6111e7576101a052610184358060081c6111e7576101c0526101a4358060081c6111e7576101e0526101c4358060081c6111e757610200526101e4358060081c6111e75761022052610204358060081c6111e75761024052610224358060081c6111e75761026052610244358060081c6111e75761028052610264358060081c6111e7576102a052610284358060081c6111e7576102c0526102a4358060081c6111e7576102e0526102c4358060081c6111e757610300526102e4358060081c6111e75761032052610304358060081c6111e75761034052610324358060081c6111e75761036052610344358060081c6111e75761038052610364358060081c6111e7576103a052610384358060081c6111e7576103c0526103a4358060081c6111e7576103e0526103c4358060081c6111e757610400526103e4358060081c6111e75761042052610404358060081c6111e75761044052610424358060081c6111e75761046052610444358060081c6111e75761048052610464358060081c6111e7576104a052610484358060081c6111e7576104c0526104a4358060081c6111e7576104e0526104c4358060081c6111e757610500526104e4358060081c6111e75761052052610504358060081c6111e75761054052610524358060081c6111e75761056052610544358060081c6111e75761058052610564358060081c6111e7576105a052610584358060081c6111e7576105c0526105a4358060081c6111e7576105e0526105c4358060081c6111e757610600526105e4358060081c6111e75761062052610604358060081c6111e75761064052610624358060081c6111e75761066052610644358060081c6111e75761068052610664358060081c6111e7576106a052610684358060081c6111e7576106c0526106a4358060081c6111e7576106e0526106c4358060081c6111e757610700526106e4358060081c6111e75761072052610704358060081c6111e75761074052610724358060081c6111e75761076052610744358060081c6111e75761078052610764358060081c6111e7576107a052610784358060081c6111e7576107c0526107a4358060081c6111e7576107e0526107c4358060081c6111e757610800526107e4358060081c6111e75761082052610804358060081c6111e75761084052610824358060081c6111e75761086052610844358060081c6111e75761088052610864358060081c6111e7576108a052610884358060081c6111e7576108c0526108a4358060081c6111e7576108e0526108c4358060081c6111e757610900526108e4358060081c6111e75761092052610904358060081c6111e75761094052610924358060081c6111e75761096052610944358060081c6111e75761098052610964358060081c6111e7576109a052610984358060081c6111e7576109c0526109a4358060081c6111e7576109e0526109c4358060081c6111e757610a00526109e4358060081c6111e757610a2052610a04358060081c6111e757610a4052610a24358060081c6111e757610a6052610a44358060081c6111e757610a8052610a64358060081c6111e757610aa052610a84358060081c6111e757610ac052610aa4358060081c6111e757610ae052610ac4358060081c6111e757610b0052610ae4358060081c6111e757610b2052610b04358060081c6111e757610b4052610b24358060081c6111e757610b6052610b44358060081c6111e757610b8052610b64358060081c6111e757610ba052610b84358060081c6111e757610bc052610ba4358060081c6111e757610be052610bc4358060081c6111e757610c0052610be4358060081c6111e757610c2052610c04358060081c6111e757610c4052610c24358060081c6111e757610c6052610c44358060081c6111e757610c8052610c64358060081c6111e757610ca052610c84358060081c6111e757610cc052610ca4358060081c6111e757610ce052610cc4358060081c6111e757610d0052610ce4358060081c6111e757610d2052610d04358060081c6111e757610d4052610d24358060081c6111e757610d6052610d44358060081c6111e757610d8052610d64358060081c6111e757610da052610d84358060081c6111e757610dc052610da4358060081c6111e757610de052610dc4358060081c6111e757610e0052610de4358060081c6111e757610e2052610e04358060081c6111e757610e4052610e24358060081c6111e757610e6052610e44358060081c6111e757610e8052610e64358060081c6111e757610ea052610e84358060081c6111e757610ec052610ea4358060081c6111e757610ee052610ec4358060081c6111e757610f0052610ee4358060081c6111e757610f2052610f04358060081c6111e757610f4052610f24358060081c6111e757610f6052610f44358060081c6111e757610f8052610f64358060081c6111e757610fa052610f84358060081c6111e757610fc052610fa4358060081c6111e757610fe052610fc4358060081c6111e75761100052610fe4358060081c6111e75761102052611004358060081c6111e75761104052611024358060081c6111e75761106052611044358060081c6111e75761108052611064358060081c6111e7576110a052611084358060081c6111e7576110c0526110a4358060081c6111e7576110e0526110c4358060081c6111e757611100526110e4358060081c6111e75761112052611104358060081c6111e75761114052611124358060081c6111e75761116052611144358060081c6111e75761118052611164358060081c6111e7576111a052611184358060081c6111e7576111c0526111a4358060081c6111e7576111e0526111c4358060081c6111e757611200526111e4358060081c6111e75761122052611204358060081c6111e75761124052611224358060081c6111e75761126052611244358060081c6111e75761128052611264358060081c6111e7576112a052611284358060081c6111e7576112c0526112a4358060081c6111e7576112e0526112c4358060081c6111e757611300526112e4358060081c6111e75761132052611304358060081c6111e75761134052611324358060081c6111e75761136052611344358060081c6111e75761138052611364358060081c6111e7576113a052611384358060081c6111e7576113c0526113a4358060081c6111e7576113e0526113c4358060081c6111e757611400526113e4358060081c6111e75761142052611404358060081c6111e75761144052611424358060081c6111e75761146052611444358060081c6111e75761148052611464358060081c6111e7576114a052611484358060081c6111e7576114c0526114a4358060081c6111e7576114e0526114c4358060081c6111e757611500526114e4358060081c6111e75761152052611504358060081c6111e75761154052611524358060081c6111e75761156052611544358060081c6111e75761158052611564358060081c6111e7576115a052611584358060081c6111e7576115c0526115a4358060081c6111e7576115e0526115c4358060081c6111e757611600526115e4358060081c6111e75761162052611604358060081c6111e75761164052611624358060081c6111e75761166052611644358060081c6111e75761168052611664358060081c6111e7576116a052611684358060081c6111e7576116c0526116a4358060081c6111e7576116e0526116c4358060081c6111e757611700526116e4358060081c6111e75761172052611704358060081c6111e75761174052611724358060081c6111e75761176052611744358060081c6111e75761178052611764358060081c6111e7576117a052611784358060081c6111e7576117c0526117a4358060081c6111e7576117e0526117c4358060081c6111e757611800526117e4358060081c6111e75761182052611804358060081c6111e75761184052611824358060081c6111e75761186052611844358060081c6111e75761188052611864358060081c6111e7576118a052611884358060081c6111e7576118c0526118a4358060081c6111e7576118e0526118c4358060081c6111e757611900526118e4358060081c6111e75761192052611904358060081c6111e75761194052611924358060081c6111e75761196052611944358060081c6111e75761198052611964358060081c6111e7576119a052611984358060081c6111e7576119c0526119a4358060081c6111e7576119e0526119c4358060081c6111e757611a00526119e4358060081c6111e757611a2052611a04358060081c6111e757611a4052611a24358060081c6111e757611a6052611a44358060081c6111e757611a8052611a64358060081c6111e757611aa052611a84358060081c6111e757611ac052611aa4358060081c6111e757611ae052611ac4358060081c6111e757611b0052611ae4358060081c6111e757611b2052611b04358060081c6111e757611b4052611b24358060081c6111e757611b6052611b44358060081c6111e757611b8052611b64358060081c6111e757611ba052611b84358060081c6111e757611bc052611ba4358060081c6111e757611be052611bc4358060081c6111e757611c0052611be4358060081c6111e757611c2052611c04358060081c6111e757611c4052611c24358060081c6111e757611c6052611c44358060081c6111e757611c8052611c64358060081c6111e757611ca052611c84358060081c6111e757611cc052611ca4358060081c6111e757611ce052611cc4358060081c6111e757611d0052611ce4358060081c6111e757611d2052611d04358060081c6111e757611d4052611d24358060081c6111e757611d6052611d44358060081c6111e757611d8052611d64358060081c6111e757611da052611d84358060081c6111e757611dc052611da4358060081c6111e757611de052611dc4358060081c6111e757611e0052611de4358060081c6111e757611e2052611e04358060081c6111e757611e4052611e24358060081c6111e757611e6052611e44358060081c6111e757611e8052611e64358060081c6111e757611ea052611e84358060081c6111e757611ec052611ea4358060081c6111e757611ee052611ec4358060081c6111e757611f0052611ee4358060081c6111e757611f2052611f04358060081c6111e757611f4052611f24358060081c6111e757611f6052611f44358060081c6111e757611f8052611f64358060081c6111e757611fa052611f84358060081c6111e757611fc052611fa4358060081c6111e757611fe052611fc4358060081c6111e75761200052611fe4358060081c6111e7576120205261202036612040376000610100905b80614060526140605160ff81116111e75760051b604001516110525761404051600381018181106111e7579050614040526110c7565b60016140605160ff81116111e75760051b60400151186110865761404051600281038181116111e7579050614040526110c7565b60026140605160ff81116111e75760051b60400151186110c75761404051607f81116111e75760051b612040018051600181018060081c6111e75790508152505b60010181811861101c575050614040516111e75760006080905b806140605261406051607f81116111e75760051b61204001516111185761404051600381018181106111e75790506140405261118f565b600161406051607f81116111e75760051b61204001511861114d5761404051600281038181116111e75790506140405261118f565b600261406051607f81116111e75760051b61204001511861118f5761404051607f81116111e75760051b613040018051600181018060081c6111e75790508152505b6001018181186110e1575050600161304051186111d757600361306051186111d057600361308051186111c95760076130a05118156111da565b60006111da565b60006111da565b60005b156111e757005b60006000fd5b600080fd841911ec8000a16576797065728300030a0013"; address addr; assembly { addr := create(0, add(data, 32), mload(data)) let sz := extcodesize(addr) if iszero(sz) { revert(0, 0) } } (bool success,) = addr.call(secret); assert(success); isSolved = true; } }