@aztec/l1-artifacts 2.0.0-nightly.20250814 → 2.0.0-nightly.20250815
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/dest/ExtRollupLib2Bytecode.d.ts +1 -1
- package/dest/ExtRollupLib2Bytecode.js +1 -1
- package/dest/ExtRollupLib3Bytecode.d.ts +1 -1
- package/dest/ExtRollupLib3Bytecode.js +1 -1
- package/dest/ExtRollupLibBytecode.d.ts +1 -1
- package/dest/ExtRollupLibBytecode.js +1 -1
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RollupBytecode.d.ts +1 -1
- package/dest/RollupBytecode.js +1 -1
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
- package/dest/StakingAssetHandlerBytecode.js +1 -1
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeeJuicePortal bytecode.
|
|
3
|
-
*/ export const FeeJuicePortalBytecode = "
|
|
3
|
+
*/ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220695cbea8ef6d3c354320c5e4f3c2aa80e5ccba98de2b79e52447c779064d8c1464736f6c634300081b0033";
|
|
4
4
|
/**
|
|
5
5
|
* FeeJuicePortal link references.
|
|
6
6
|
*/ export const FeeJuicePortalLinkReferences = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f113767375ea7e3d7ccf135057da246b268755a63da7f21daf37bfd8b89143c6660c05260ae60e05260805160a05160c05160e051615b116100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d7f01525f61076e0152615b115ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615735565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c81602061580d565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf83602061580d565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615824565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a6002600861580d565b905060016102a960088561580d565b6102b3919061580d565b6102bd9082615837565b90506102cb6001602961580d565b6102d59082615837565b905060026102e4600185615824565b6102ee919061580d565b6102f89082615837565b905061030560018461580d565b61030f9082615837565b905061031c60028061580d565b6103269082615837565b9050610333601082615837565b9392505050565b61034261523d565b61034a6117a4565b905090565b6103576153c7565b5f805b60108110156103b957610386868387610374602083615837565b926103819392919061584a565b6120dd565b8351826010811061039957610399615871565b6020020181815250506020826103af9190615837565b915060010161035a565b506103dd8582866103cb604083615837565b926103d89392919061584a565b6120f0565b60208301526103ed604082615837565b90506104008582866103cb604083615837565b6040808401919091526104139082615837565b90506104268582866103cb604083615837565b6060830152610436604082615837565b90506104498582866103cb604083615837565b60c0830152610459604082615837565b905061046c8582866103cb604083615837565b60e083015261047c604082615837565b905061048f8582866103cb604083615837565b608083015261049f604082615837565b90506104b28582866103cb604083615837565b6101008301526104c3604082615837565b90506104d68582866103cb604083615837565b60a08301526104e6604082615837565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615837565b84610120015183601c811061052557610525615871565b6020020151826008811061053b5761053b615871565b6020020181815250506020836105519190615837565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615837565b836101400151826029811061059857610598615871565b6020020181815250506020826105ae9190615837565b9150600101610567565b505f5b6105c6600185615824565b81101561060f576105de8683876103cb604083615837565b83610160015182601b81106105f5576105f5615871565b6020020152610605604083615837565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615837565b83610180015182601c811061064257610642615871565b6020020181815250506020826106589190615837565b9150600101610612565b506106748582866103cb604083615837565b6101a0830152610685604082615837565b90506106988582866103cb604083615837565b6101c0830152509392505050565b6106ae615477565b5f6106bd888888888886612172565b90835290506106cc81896121c6565b602084019190915290506106e08184612373565b604084019190915290506106f58882856123d4565b6060840191909152905061070988826124a8565b6080840191909152905061071e888285612533565b60a084019190915290506107338882856126a7565b60c08401919091529050610747888261276b565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f0000000000000000000000000000000000000000000000000000000000000000615837565b6127a8565b6127c0565b6127db565b90505f6107bf876107ba8a6107976107928b6001615837565b6127f4565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615824565b81101561085b575f6108188c838151811061080b5761080b615871565b602002602001015161281c565b90506108288661079786846127db565b95506108388561079785846127db565b9450610844848b6127db565b9350610850838b6127f4565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615871565b6020020151905061088f8661079786846127db565b955061089f8561079785846127db565b94506108ab848b6127db565b93506108b7838b6127f4565b92505060010161085e565b506108cd8484612831565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615871565b602002015190505f610933828661283f565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615871565b6020020151905061097b8382612862565b95506109a2886040015185601c811061099657610996615871565b60200201518683612a11565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3c565b90508281145b9695505050505050565b5f6109e56154d0565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab5565b90505f610a427f00000000000000000000000000000000000000000000000000000000000000006024615837565b610a4d906002615837565b6001600160401b03811115610a6457610a64615885565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f00000000000000000000000000000000000000000000000000000000000000006024615837565b610ac7906002615837565b6001600160401b03811115610ade57610ade615885565b604051908082528060200260200182016040528015610b1757816020015b610b04615540565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615871565b60200260200101516127f4565b612b7e565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615871565b60200260200101516127db565b610140850181905261012085015160c0880151610b9e9261079c91906127c0565b845260a0860151610bce90610bb290612b7e565b6107978661012001516107ba8a60c001518961014001516127c0565b6020850152815160019083905f90610be857610be8615871565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615871565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bee565b60408501526020840151610c4290612bee565b606085015260015b60248111610ced57610c6485604001518660a001516127c0565b838281518110610c7657610c76615871565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615824565b60298110610cb057610cb0615871565b60200201518860a001516127c0565b60c086015260a08501516080880151610cd891906127c0565b60a0860152610ce681615899565b9050610c4a565b505f5b6005811015610dbb575f610d05601d83615837565b90505f610d13602484615837565b9050610d44858381518110610d2a57610d2a615871565b602002602001015161079c89606001518a60a001516127c0565b858381518110610d5657610d56615871565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615871565b60200201518a60a001516127c0565b60c088015260a087015160808a0151610dac91906127c0565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615871565b6020026020010181905250866080015181600281518110610df757610df7615871565b60200260200101819052508660a0015181600381518110610e1a57610e1a615871565b60200260200101819052508660c0015181600481518110610e3d57610e3d615871565b60200260200101819052508660e0015181600581518110610e6057610e60615871565b602002602001018190525086610100015181600681518110610e8457610e84615871565b602002602001018190525086610120015181600781518110610ea857610ea8615871565b602002602001018190525086610140015181600881518110610ecc57610ecc615871565b602002602001018190525086610160015181600981518110610ef057610ef0615871565b6020026020010181905250866101c0015181600a81518110610f1457610f14615871565b602002602001018190525086610180015181600b81518110610f3857610f38615871565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615871565b6020026020010181905250866101e0015181600d81518110610f8057610f80615871565b602002602001018190525086610200015181600e81518110610fa457610fa4615871565b602002602001018190525086610220015181600f81518110610fc857610fc8615871565b602002602001018190525086610240015181601081518110610fec57610fec615871565b60200260200101819052508661026001518160118151811061101057611010615871565b60200260200101819052508661028001518160128151811061103457611034615871565b6020026020010181905250866102a001518160138151811061105857611058615871565b6020026020010181905250866102c001518160148151811061107c5761107c615871565b6020026020010181905250866102e00151816015815181106110a0576110a0615871565b6020026020010181905250866103000151816016815181106110c4576110c4615871565b6020026020010181905250866103200151816017815181106110e8576110e8615871565b60200260200101819052508661034001518160188151811061110c5761110c615871565b60200260200101819052508661036001518160198151811061113057611130615871565b602002602001018190525086610380015181601a8151811061115457611154615871565b6020026020010181905250866103a0015181601b8151811061117857611178615871565b6020026020010181905250866103c0015181601c8151811061119c5761119c615871565b6020026020010181905250876020015181601d815181106111bf576111bf615871565b6020026020010181905250876040015181601e815181106111e2576111e2615871565b6020026020010181905250876060015181601f8151811061120557611205615871565b602002602001018190525087608001518160208151811061122857611228615871565b60200260200101819052508760a001518160218151811061124b5761124b615871565b60200260200101819052508761010001518160228151811061126f5761126f615871565b60200260200101819052508760c001518160238151811061129257611292615871565b60200260200101819052508760e00151816024815181106112b5576112b5615871565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c00565b9050611325815f8151811061131257611312615871565b60200260200101518661012001516127c0565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c0565b8861014001516127c0565b608086015260c087015161136990612d66565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615824565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615824565b82101590508061156d57611401610b448a60e00151888560016113f19190615837565b81518110610b3757610b37615871565b61012088015260e089015161143090610b449088611420866001615837565b81518110610b7057610b70615871565b61014088015260a087015161012088015161144b91906127c0565b61016088015260a087015160c08a01516114689161134b916127c0565b610180880181905261148b9061147d90612bee565b61079c896101600151612bee565b858361149960246001615837565b6114a39190615837565b815181106114b3576114b3615871565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc9190615837565b601c81106114ec576114ec615871565b60200201516127c0565b90506115308161079c8a6101600151878760016115139190615837565b8151811061152357611523615871565b60200260200101516127c0565b90506115408860800151826127db565b608089015260a088015160c08b01516115669161155c916127c0565b8b60c001516127c0565b60a0890152505b8a610160015182601b811061158457611584615871565b6020020151848361159760246001615837565b6115a19190615837565b815181106115b1576115b1615871565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f00000000000000000000000000000000000000000000000000000000000000006024615837565b8151811061161757611617615871565b60209081029190910101526080850151836116537f00000000000000000000000000000000000000000000000000000000000000006024615837565b8151811061166357611663615871565b60209081029190910101526101c089015180836116a17f00000000000000000000000000000000000000000000000000000000000000006024615837565b6116ac906001615837565b815181106116bc576116bc615871565b602090810291909101015260e0880151846116f87f00000000000000000000000000000000000000000000000000000000000000006024615837565b611703906001615837565b8151811061171357611713615871565b6020026020010181815250505f61172a8486612d71565b90505f61173683612e81565b90505f6117478d5f01518484612ec7565b90505f5f6117578f5f0151612f3d565b9150915061176482612ffe565b61176d81612ffe565b61177885838561309d565b945061178584828561309d565b935061179185856130c3565b9f9e505050505050505050505050505050565b6117ac61523d565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a5196760d3c4c4699dcf95524b2b2c734674df31e42dbacf81e51ee788884d81527edb366b36fb98785e24eaaab6ba95a6b9abce32f46a5e3f16eb9c49b08129bb818301526060830152825180840184527e86a57cfc6bbd27ed8bdc3f54e36630f5b83bb28d9a31f7ed90f75f31ccffe081527f09dd430fbdf4be8337648e762baf7154482cda849b5e0dd5cabf22975b412770818301526080830152825180840184527f0e9a4d468ea4bf159a9d8778abea4cc2dcddbce1c7e56558156710e967d4f8fa81527f1ac3ffc33a46d2e80ced57893769de75004e68f13ee7de79fde8bc6c343b23358183015260a0830152825180840184527f2cca29150f9bb44092e541d8d802107f90591d181519e9a0853d22ab92594e8681527f11583d4e2c68d28e24bc75fbf9f170c5571ee626f4465ce64afacfc7aafba1918183015260c0830152825180840184527f0df0c6a938a63839f332f598efc64e955ebb3d3a6ac26f4cfd9b18ad2558fe4a81527f0c71a2db6022e44f7920ce6dadc5c53322c80d1e1428b41553e31e4f70e2e7728183015260e0830152825180840184527f1053c2fcd23f5a0d90fa49e7b241ee1b68c8c14fdd292f7356e673503ed5cced81527f26e86c0a8449667be64251606d387bdd64d528606479d5ebd618f92e0edd317381830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1388f5fac8a24ebdeff01b83e77ee537989af94a962de1ea2cdcddb8d24fdcd081527f1d4505021fe998b9c5acf3dd77dec247541176485825fad4f65297855ad762db81830152610140830152825180840184527f0f563b0a77cf43eaa91cd701f0f48a45eb9ea148c9fee32d2f33553210f0fe0b81527f1405332a2eb7063986fc9197774ad750dd7c7792903d1971678adacb404e626081830152610160830152825180840184527f1c7d7fa69df39f29088e3427414c1d04c440acdaac60dd74fc02165c3bed285681527f2a3e9270a7a7062a29ddc64e43d919d22418ccd3660e6f30795cbe767945770f81830152610180830152825180840184527f11013b44b4e810ad645d9176666c9992a2c996e8b09843658a040cc62bbeae7c81527f050746b205a9202bc213eb0ba93751b487afe5b57bef10e0458203a8630da864818301526101a0830152825180840184527f06dac066d439fbaf0100f55bb2453c3d7444d4c462f5013a63341ff728e7061181527f1c1ef838107cb339eaa490cd2b100cac4305e9dd6d469b062bb162a2fc8d8576818301526101c0830152825180840184527f27c4b9d08eee260ecadd1e6f21da34bfe359e0543fc1e34e2a5d60a9f762f27081527f10c55f33b0a4099718d78f76ae76b0039146289f378219dbda8eb20ab8d13e3a818301526101e0830152825180840184527f147b0fae9c452cf95e684186f426fafe89e07a7085e60669589c82e9f73b12f881527f0e21528b28a34363ad683bc41af60699e668a4047c58e1f9d94ac6d77563c45381830152610200830152825180840184527f12b147243797a8c52d6a26db2082d52b68307e2c289b4498b2535c7a5de976a581527f0419ba20489ce708220b41f5ef12e9cfb4135a09888ea3d50243ed69166e9aee81830152610220830152825180840184527f281038f6df902695df7821ef69144a1f231674a131c49bb2b32acc73d1b3971781527f2c94882aa986077cbe1478cd5f7e6ef370f4d78ae46c93cc0e6d7bc179d8c23c81830152610240830152825180840184527f28de4ed194aa2e22e9a0fe062f7ec630239bbad3774ee813c8b9bbd36f3aeb2b81527f05306badb10e95c62e081f46d6578b71893fc9577e48b90f96d5f3db777fe71d81830152610260830152825180840184527f01635c679f5c1e1e01623765451dd777e45505fa90c27a6ed7cfe0d4877e970781527f10851539ccb25ab179d19e517ee629b71cd3fd38697b93db401e2c23aa97494581830152610280830152825180840184527ecc9f7ca6e3630237c9d24b54fe8509593a6eb1fca2b6d8597abb8dd2255fa181527f043ab8f26c088bc5e1a1ef850f33d8f4b4f83591fa0b30c9f127c6e726762590818301526102a0830152825180840184527f23a72167f9a3fb5ca62229a9812407e3599e3891de520848cc8dbba8bfd7d97281527f2794f13957e0c832f79dad412433a57c11384dbfed49a7cfb09e6f2bbe4a9edb818301526102c0830152825180840184527f0a01c5b74b1b08cf7643f923fcd122dfd2d466873bc333e5152e9bf518ec191a81527f2109fa17066342c33a6216074f5f10f9ccf33cc8ff17544c8bfe9a843a318163818301526102e0830152825180840184527f0d34f82b2f4ce4842852430d4d8a02f7829833e691f5e8f5c5edd419dd458bfe81527f197035bde094fb67ac0c9d033e9da0345c5aebf0a98dcf67aebcc89c26d7602d81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12a1a1e4a7e6a2fd04130583b7ee2aebbb371713e537e27d7b63b3a195584e0d83527f04b73603e0d6183ea963bea2da2d846ada8d7513c7fd44d1a6301409c023ecf1908301526103c081019190915290565b5f6103336120eb83856158b1565b61281c565b6120f8615540565b60408051808201909152805f516020615ad15f395f51905f5261211e60205f878961584a565b612127916158b1565b61213191906158e2565b81526020908101905f516020615ad15f395f51905f529061215690604090878961584a565b61215f916158b1565b61216991906158e2565b90529392505050565b61217a615558565b5f61218888888888886132b7565b6040860191909152602085019190915290835292506121a783896135b4565b6080850191909152606084019190915291989197509095505050505050565b6121ce615588565b5f6121d76155a7565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223a9161221f918491016158f5565b6040516020818303038152906040528051906020012061281c565b91506122458261363b565b6020850152835260015b600261225d6001601c615824565b6122679190615928565b8110156122e7576122848360405160200161221f91815260200190565b925061228f8361363b565b8561229b84600261580d565b601b81106122ab576122ab615871565b60200201866122bb85600261580d565b6122c6906001615837565b601b81106122d6576122d6615871565b60200201919091525260010161224f565b506122f46001601c615824565b60011660011480156123115750600261230f6001601c615824565b115b1561236b5761232c8260405160200161221f91815260200190565b91505f6123388361363b565b85600161234681601c615824565b6123509190615824565b601b811061236057612360615871565b602002019190915250505b509250929050565b61237b6155c5565b5f805b838110156123cc5761239c8560405160200161221f91815260200190565b94505f6123a88661363b565b8584601c81106123ba576123ba615871565b6020020191909152505060010161237e565b509093915050565b6123dc6155c5565b5f805b8381101561249e576123ef6155e4565b8581525f5b60088110156124585787610120015183601c811061241457612414615871565b6020020151816008811061242a5761242a615871565b60200201518261243b836001615837565b6009811061244b5761244b615871565b60200201526001016123f4565b5061246d8160405160200161221f919061593b565b95505f6124798761363b565b8685601c811061248b5761248b615871565b60200201919091525050506001016123df565b5090949293505050565b5f5f6124b2615603565b8381525f5b60298110156125055785610140015181602981106124d7576124d7615871565b6020020151826124e8836001615837565b602a81106124f8576124f8615871565b60200201526001016124b7565b5061251a8160405160200161221f919061596f565b91505f6125268361363b565b5096929550919350505050565b5f8080612541600185615824565b61254c90600261580d565b612557906001615837565b6001600160401b0381111561256e5761256e615885565b604051908082528060200260200182016040528015612597578160200160208202803683370190505b50905084815f815181106125ad576125ad615871565b60209081029190910101525f5b6125c5600186615824565b8110156126785786610160015181601b81106125e3576125e3615871565b602002015151826125f583600261580d565b612600906001615837565b8151811061261057612610615871565b60200260200101818152505086610160015181601b811061263357612633615871565b6020020151602001518282600261264a919061580d565b612655906002615837565b8151811061266557612665615871565b60209081029190910101526001016125ba565b5061268d8160405160200161221f91906159a3565b91505f6126998361363b565b509792965091945050505050565b5f80806126b5846001615837565b6001600160401b038111156126cc576126cc615885565b6040519080825280602002602001820160405280156126f5578160200160208202803683370190505b50905084815f8151811061270b5761270b615871565b60209081029190910101525f5b848110156126785786610180015181601c811061273757612737615871565b602002015182612748836001615837565b8151811061275857612758615871565b6020908102919091010152600101612718565b5f5f612775615622565b8381526101a0850180515160208084019190915290518101516040808401919091525161251a9161221f918491016159d8565b5f5f516020615af15f395f51905f52825b0692915050565b5f5f516020615af15f395f51905f5282840990505b92915050565b5f5f516020615af15f395f51905f528284089392505050565b5f5f516020615af15f395f51905f52825f516020615af15f395f51905f520384089392505050565b5f5f516020615af15f395f51905f52826127b9565b5f6103338361079784612b7e565b81515f908190612857908560015b60200201516127db565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129495761293f8261079787846127f4565b9150600101612928565b50612952615640565b5f5b60088110156129b3575f84826008811061297057612970615871565b602002015190506129858161079789856127f4565b905061299081612b7e565b9050808383600881106129a5576129a5615871565b602002015250600101612954565b505f5b6008811015612a06575f8782600881106129d2576129d2615871565b602002015190506129ef818484600881106114ec576114ec615871565b90506129fb86826127db565b9550506001016129b6565b506109d284836127c0565b5f5f612a27600161079c856107978960016127f4565b9050612a3384826127c0565b95945050505050565b5f612a456155c5565b612a5086828561366b565b612a5c86868386613817565b612a6886868386613a03565b612a73868285613c2e565b612a7e868285613e22565b612a8a8686838661416b565b612a9586828561461e565b612aa0868285614a30565b612aab868285614df1565b6109d281856150f1565b60605f826001600160401b03811115612ad057612ad0615885565b604051908082528060200260200182016040528015612af9578160200160208202803683370190505b50905083815f81518110612b0f57612b0f615871565b602090810291909101015260015b83811015612b7657612b5182612b34600184615824565b81518110612b4457612b44615871565b6020026020010151612d66565b828281518110612b6357612b63615871565b6020908102919091010152600101612b1d565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af15f395f51905f520360808201525f516020615af15f395f51905f5260a082015260205f60c08360055afa80612bda575f5ffd5b505f51608091909101604052949350505050565b5f516020615af15f395f51905f520390565b60605f826001600160401b03811115612c1b57612c1b615885565b604051908082528060200260200182016040528015612c44578160200160208202803683370190505b509050825b8015612d5b575f85612c5c600184615824565b81518110612c6c57612c6c615871565b602002602001015190505f89600184612c859190615824565b601c8110612c9557612c95615871565b602002015190505f612cf0612cb4612cad858d6127c0565b60026127c0565b6107ba8b612cc3600189615824565b601c8110612cd357612cd3615871565b6020020151610797612cea8861079760018a6127f4565b876127f4565b9050612d1181610797610b44612d0b876107976001896127f4565b866127db565b9050868411612d47579850888085612d2a600187615824565b81518110612d3a57612d3a615871565b6020026020010181815250505b50505080612d5490615a0b565b9050612c49565b509695505050505050565b5f6127d582836127c0565b612d79615540565b5f612da57f00000000000000000000000000000000000000000000000000000000000000006024615837565b612db0906002615837565b90505f5b81811015612de657612dde858281518110612dd157612dd1615871565b6020026020010151612ffe565b600101612db4565b50604051600190815b60018401811015612e4b5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612def565b5080518452602081015160208501525080612e79576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e89615540565b5f516020615ad15f395f51905f5282602001515f516020615ad15f395f51905f52612eb49190615824565b612ebe91906158e2565b60208301525090565b5f5f5f612ed386612f3d565b91509150612edf615640565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f329161221f91849101615a20565b979650505050505050565b612f45615540565b612f4d615540565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad15f395f51905f528380095f516020615ad15f395f51905f5260035f516020615ad15f395f51905f52838709085f516020615ad15f395f51905f5284850914915050806130975760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a5615540565b6130ad615540565b6130b78386615156565b9050612a3381856151ac565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132599190615a54565b5f60405180830381855afa9150503d805f8114613291576040519150601f19603f3d011682016040523d82523d5f602084013e613296565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6a565b5f808080806132c7866001615837565b6132d2906006615837565b6001600160401b038111156132e9576132e9615885565b604051908082528060200260200182016040528015613312578160200160208202803683370190505b509050865f1b815f8151811061332a5761332a615871565b60209081029190910101525f5b613342601088615824565b8110156133935789898281811061335b5761335b615871565b90506020020135828260016133709190615837565b8151811061338057613380615871565b6020908102919091010152600101613337565b505f5b6010811015613404578a516133be9082601081106133b6576133b6615871565b602002015190565b828260106133cd8b6001615837565b6133d79190615824565b6133e19190615837565b815181106133f1576133f1615871565b6020908102919091010152600101613396565b5060208a01515181613417886001615837565b8151811061342757613427615871565b6020908102919091018101919091528a810151015181613448886001615837565b613453906001615837565b8151811061346357613463615871565b602090810291909101015260408a01515181613480886001615837565b61348b906002615837565b8151811061349b5761349b615871565b60209081029190910181019190915260408b01510151816134bd886001615837565b6134c8906003615837565b815181106134d8576134d8615871565b602090810291909101015260608a015151816134f5886001615837565b613500906004615837565b8151811061351057613510615871565b60209081029190910181019190915260608b0151015181613532886001615837565b61353d906005615837565b8151811061354d5761354d615871565b60200260200101818152505061356d8160405160200161221f91906159a3565b91506135788261363b565b6040805160208101869052929750909550613593910161221f565b91505f61359f8361363b565b50959b949a5094985090965091945050505050565b5f5f5f6135bf61565f565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136219161221f91849101615a89565b915061362c8261363b565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136568261281c565b94506136618161281c565b9350505050915091565b5f61367784600761520d565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136d86136d26136ac8560036127f4565b6107976136c76136bc8b5f61520d565b6107978c601d61520d565b6107978b601c61520d565b836127c0565b905061375961374e61373561371c6137038561079c6136f88d600261520d565b6107978e601c61520d565b61079c6137118c600361520d565b6107978d601d61520d565b61079c61372a8b600461520d565b6107978c601e61520d565b61079c6137438a600561520d565b6107978b601f61520d565b61079c88600161520d565b90506137788161079c61376d8660016127f4565b6107978a602761520d565b905061378481846127c0565b905061379081856127c0565b8552505f90506137ca6137c06137b56137aa88601c61520d565b61079c89601f61520d565b6107ba88602461520d565b61079c875f61520d565b90506137db816107978460026127f4565b90506137ec816107978460016127f4565b90506137f881836127c0565b905061380481846127c0565b9050808460015b60200201525050505050565b5f5f5f61384d61384361382b89601c61520d565b61079c6138398b601261520d565b8a606001516127c0565b87608001516127db565b90506138868161079761387c6138648b601d61520d565b61079c6138728d601361520d565b8c606001516127c0565b89608001516127db565b90506138ab8161079761387c61389d8b601e61520d565b61079c6138728d601461520d565b90506138d08161079761387c6138c28b601f61520d565b61079c6138728d601561520d565b92505f90506138f46138436138e689601c61520d565b61079c6138398b600e61520d565b90506139198161079761387c61390b8b601d61520d565b61079c6138728d600f61520d565b905061393e8161079761387c6139308b601e61520d565b61079c6138728d601061520d565b90506139638161079761387c6139558b601f61520d565b61079c6138728d601161520d565b91505f905061398a61398461397989602061520d565b61079c8a601a61520d565b846127c0565b90506139bf816107ba6139b96139a18b602861520d565b61079c6139af8d601b61520d565b8c60a001516127c0565b856127c0565b90506139cb81856127c0565b6040860152505f6139ee6139b96139e389601b61520d565b6107978a602861520d565b9050808560035b602002015250505050505050565b5f5f613a61613a49613a31613a1c61387c8a601661520d565b61079c613a2a8b601761520d565b8a516127c0565b61079c613a3f8a601861520d565b89602001516127c0565b61079c613a5789601961520d565b88604001516127c0565b91505f613a98613a7f613a7589601c61520d565b88608001516127db565b61079c613a8d8a600361520d565b6107978b602461520d565b90505f613ac1613aa989601d61520d565b61079c613ab68b5f61520d565b6107978c602561520d565b90505f613aeb613ad28a601e61520d565b61079c613ae08c600161520d565b6107978d602661520d565b9050613b2a613b12613b048561079c868d5f01516127c0565b61079c848c602001516127c0565b61079c613b208c600461520d565b8b604001516127c0565b93505050505f613b3e61398488602161520d565b90505f613b4f61398489602161520d565b90505f613b87613b6e613b638b602361520d565b61079c8c600661520d565b6107ba613b7c8c602361520d565b6107978d600661520d565b90505f613bab613ba5613b9a87896127c0565b6107978d602161520d565b836127f4565b9050613bb781886127c0565b90505f613bdf613bd1613bcb8d600661520d565b876127c0565b6107ba613bcb8e602261520d565b90505f613bed8c602361520d565b90505f613bfd613ba583846127c0565b60808c0185905260a08c018490529050613c17818b6127c0565b8b6006602002015250505050505050505050505050565b5f613c3a5f60016127f4565b90505f613c485f60026127f4565b90505f613c565f60036127f4565b90505f613c72613c6788601d61520d565b6107ba89601c61520d565b90505f613c8e613c8389601e61520d565b6107ba8a601d61520d565b90505f613caa613c9f8a601f61520d565b6107ba8b601e61520d565b90505f613cc6613cbb8b602461520d565b6107ba8c601f61520d565b905083613cd781610797818b6127db565b9050613ce781610797878a6127db565b9050613cf78161079787896127db565b9050613d08816107978d600861520d565b9050613d14818a6127c0565b60e08b01525082613d2981610797818b6127db565b9050613d3981610797868a6127db565b9050613d498161079786896127db565b9050613d5a816107978d600861520d565b9050613d66818a6127c0565b6101008b01525081613d7c81610797818b6127db565b9050613d8c81610797858a6127db565b9050613d9c8161079785896127db565b9050613dad816107978d600861520d565b9050613db9818a6127c0565b6101208b01525080613dcf81610797818b6127db565b9050613ddf81610797848a6127db565b9050613def8161079784896127db565b9050613e00816107978d600861520d565b9050613e0c818a6127c0565b610140909a019990995250505050505050505050565b613e5b6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6684601d61520d565b8152613e7384601e61520d565b6020820152613e8384602461520d565b6040820152613e9384602761520d565b6060820152613ea384602661520d565b6080820152613eb384602561520d565b60a08201525f613ec485600261520d565b90505f613ed1865f61520d565b90505f613ee58460400151855f01516127f4565b90505f613efa856020015186602001516127c0565b606086015190915086905f90613f1090806127c0565b90505f613f2e613f2889602001518a606001516127c0565b886127c0565b90505f613f4d613f468a60a001518b604001516127db565b8a516127db565b9050613f5c613bcb82886127c0565b9050613f83613f7d613f77613f7184876127f4565b886127f4565b846127db565b836127db565b9050613fab613fa0613f9583876127c0565b6107978f600961520d565b61079760018a6127f4565b6101608c015250505050602085015160808601515f91613fca916127db565b90505f613fe8613fde8860600151886127c0565b88602001516127f4565b90505f61400c613ff884876127c0565b61079c6139b98b60a001518c5f01516127f4565b905061403461402961401e838c6127c0565b6107978e600961520d565b6107976001896127f4565b6101808b0152505f9150614055905061404e8360116127db565b87516127c0565b90505f61406283846127db565b905061406e81826127db565b90505f61407c8360096127c0565b90506140a561409f6139846140988b60a001518c5f01516127db565b8b516127db565b826127f4565b60c089018190525f906140c090613f2890613f95908d6127c0565b90506140d38b600b6020020151826127db565b6101608c0152505086515f92506140fa915061404e906140f390806127db565b88516127db565b90505f61413a614115836107978a5f01518b60a001516127f4565b60208901516107ba9061412890806127db565b6107978b602001518c608001516127db565b905061415789600c602002015161079c613f28613f95858d6127c0565b89600c602002015250505050505050505050565b6141d5604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ed6141e386601e61520d565b85604001516127c0565b80825261420c9061079c61420288601d61520d565b87602001516127c0565b8082526142219061079c61404e88601c61520d565b8082526142339061079c87600161520d565b8082526020820181905261424c906107ba87601f61520d565b815261426761425c86602461520d565b6107ba87601c61520d565b608082015261428561427a86602761520d565b6107ba87601f61520d565b606082015260808101516142a79061429d90806127c0565b82608001516127f4565b6101c082015260808101516142e7906142dd906142d69061079760015f516020615af15f395f51905f52615824565b60016127db565b82606001516127c0565b60a0820181905261431d9061430f9061079761430489600261520d565b6107978a600361520d565b6107976139b988600a61520d565b83600e60200201526101c08101516143419061430f9061079761430489600261520d565b6101e084015280516143669061079761435b88600261520d565b61079789600361520d565b6101208201525f61438561437b87601f61520d565b83602001516127f4565b905061439461409f82836127c0565b60e08301526143b16143a787602661520d565b86604001516127c0565b604083018190526143d49061079c6143ca89602561520d565b88602001516127c0565b604083018190526143f49061079c6143ed89602461520d565b88516127c0565b604083015261441161440787602761520d565b83604001516127f4565b60408301525f61443061442588602661520d565b6107ba89601e61520d565b905061448261445d6136d26142d6866080015160015f516020615af15f395f51905f526107979190615824565b6107976142d6866040015160015f516020615af15f395f51905f526107979190615824565b60c084015260408301516144a49061449a90806127c0565b84604001516127f4565b61010084015260c08301516144d0906144c2906107978a600461520d565b610797613bcb8a600a61520d565b6102008601526101c08301516144ef906144c2906107978a600461520d565b61022086015261010083015161450e906144c2906107978a600461520d565b61024086015260e08301516145289061079789600461520d565b61014084015261454761453c88602561520d565b6107ba89601d61520d565b6101608401526080830151614585906144259061457a906142d69061079760015f516020615af15f395f51905f52615824565b8561016001516127c0565b61018084018190526101208401516101a085018190526145bc9161079c906107976145b18c600561520d565b6107978d600261520d565b6101a0840181905283516145dc919061079c906107976145b18c5f61520d565b6101a084018190526101408401516145f491906127db565b6101a0840181905261460e90610797613bcb8a600a61520d565b6101a0840181905285600d6139f5565b6146576040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468c61467361466886601c61520d565b61079787602561520d565b61079c61468187602461520d565b61079788601d61520d565b81526146d16146c66146ad6146a287601c61520d565b61079788601f61520d565b61079c6146bb88601d61520d565b61079789601e61520d565b6107ba86602661520d565b604082018190526146e690600160441b6127c0565b604082018190526146fc906107ba86602761520d565b60408201819052815161470f91906127db565b604082018190526147259061079786600561520d565b6040820152805161473a90600160441b6127c0565b80825261475a9061079c61474f87602461520d565b61079788602561520d565b80825260208201819052614781906107ba61477687601e61520d565b61079c88601f61520d565b602082018190526147979061079786600461520d565b60208201528051606082018190526147b49061079c86601f61520d565b606082018190526147d8906107ba6147cd87602661520d565b61079c88602761520d565b606082018190526147ed90610797865f61520d565b8160600181815250505f61481661480c836020015184604001516127db565b83606001516127db565b90506148278161079787600361520d565b905061483f61483786602561520d565b6140006127c0565b608083018190526148559061079c87602461520d565b60808301819052614868906140006127c0565b6080830181905261487e9061079c87601e61520d565b60808301819052614891906140006127c0565b608083018190526148a79061079c87601d61520d565b608083018190526148ba906140006127c0565b608083018190526148d09061079c87601c61520d565b608083018190526148e6906107ba87601f61520d565b608083018190526148fc9061079787600561520d565b608083015261490f61483786602661520d565b60a083018190526149259061079c87602561520d565b60a08301819052614938906140006127c0565b60a0830181905261494e9061079c87602461520d565b60a08301819052614961906140006127c0565b60a083018190526149779061079c87601f61520d565b60a0830181905261498a906140006127c0565b60a083018190526149a09061079c87601e61520d565b60a083018190526149b6906107ba87602761520d565b60a083018190526149cb90610797875f61520d565b60a0830181905260808301515f916149e391906127db565b90506149f48161079788600461520d565b9050614a0082826127db565b60c08401819052614a1990610797613bcb89600b61520d565b60c084018190528560136020020152505050505050565b614aa66040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614abf614ab485601c61520d565b61079c86600261520d565b8152614ada614acf85601d61520d565b61079c86600361520d565b6020820152614af8614aed85601e61520d565b61079c86600461520d565b6040820152614b16614b0b85601f61520d565b61079c86600561520d565b60608201528051614b4890614b4190614b3a90614b3390806127c0565b84516127c0565b83516127c0565b82516127c0565b60808201526020810151614b8690614b7c90614b7290614b6890806127c0565b84602001516127c0565b83602001516127c0565b82602001516127c0565b60a08201526040810151614bc490614bba90614bb090614ba690806127c0565b84604001516127c0565b83604001516127c0565b82604001516127c0565b60c08201526060810151614bf8906142dd90614bee90614be490806127c0565b84606001516127c0565b83606001516127c0565b60e0820152608081015160a0820151614c1191906127db565b61010082015260c081015160e0820151614c2b91906127db565b61012082015260a0810151614c4f90614c4490806127db565b8261012001516127db565b61014082015260e0810151614c7390614c6890806127db565b8261010001516127db565b610160820152610120810151614c8990806127db565b6101e08201819052614caa90614c9f90806127db565b8261016001516127db565b6101e0820152610100810151614cc090806127db565b6101a08201819052614ce190614cd690806127db565b8261014001516127db565b6101a08201819052610160820151614cf8916127db565b6101808201526101408101516101e0820151614d1491906127db565b6101c0820152614d286136d285600c61520d565b6102008201819052610280840151610180830151614d539261079c91610797906107ba8a602461520d565b8360146020020152614d83836015602002015161079c836102000151610797856101a001516107ba8a602561520d565b8360156020020152614db3836016602002015161079c836102000151610797856101c001516107ba8a602661520d565b8360166020020152614de3836017602002015161079c836102000151610797856101e001516107ba8a602761520d565b836017602002015250505050565b614e436040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e787f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127a8565b8152602001614ea67f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127a8565b8152602001614ed37e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127a8565b8152602001614f017f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127a8565b90529050614f1e614f1386601c61520d565b61079c87600261520d565b6101208301819052614f5d90614f5290614f4790614f3c90806127c0565b8561012001516127c0565b8461012001516127c0565b8361012001516127c0565b8252614f6a85601d61520d565b6020830152614f7a85601e61520d565b6040830152614f8a85601f61520d565b606083015281516020830151614fb29161480c91614fa891906127db565b84604001516127db565b6080830152614fc561398486600d61520d565b6101408301528151614fe690614fdc90835f6114ec565b83608001516127db565b60a0830152615012846018602002015161079c8461014001516107978660a001516107ba8b602461520d565b610300850152602082015161502d90614fdc908360016114ec565b60c0830152615059846019602002015161079c8461014001516107978660c001516107ba8b602561520d565b610320850152604082015161507490614fdc908360026114ec565b60e08301526150a084601a602002015161079c8461014001516107978660e001516107ba8b602661520d565b61034085015260608201516150bb90614fdc908360036114ec565b6101008301526150e984601b602002015161079c8461014001516107978661010001516107ba8b602761520d565b84601b61380b565b5f6150fd81848161284d565b905060015b601c81101561514f576151458261079c8684601c811061512457615124615871565b602002015186615135600187615824565b601b81106114ec576114ec615871565b9150600101615102565b5092915050565b61515e615540565b615166615540565b604051835181526020840151602082015284604082015260408160608360075afa80615190575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b4615540565b6151bc615540565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f1575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522157615221615abc565b6029811061523157615231615871565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615263615540565b8152602001615270615540565b815260200161527d615540565b815260200161528a615540565b8152602001615297615540565b81526020016152a4615540565b81526020016152b1615540565b81526020016152be615540565b81526020016152cb615540565b81526020016152d8615540565b81526020016152e5615540565b81526020016152f2615540565b81526020016152ff615540565b815260200161530c615540565b8152602001615319615540565b8152602001615326615540565b8152602001615333615540565b8152602001615340615540565b815260200161534d615540565b815260200161535a615540565b8152602001615367615540565b8152602001615374615540565b8152602001615381615540565b815260200161538e615540565b815260200161539b615540565b81526020016153a8615540565b81526020016153b5615540565b81526020016153c2615540565b905290565b604051806101e001604052806153db61567d565b81526020016153e8615540565b81526020016153f5615540565b8152602001615402615540565b815260200161540f615540565b815260200161541c615540565b8152602001615429615540565b8152602001615436615540565b8152602001615443615540565b815260200161545061569c565b815260200161545d6156ca565b815260200161546a6156e9565b81526020016153a86155c5565b60405180610100016040528061548b615558565b8152602001615498615588565b81526020016154a56155c5565b81526020016154b26155c5565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161550e615717565b815260200161551b615717565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b4615640565b8152602001906001900390816156ac5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615701615540565b8152602001906001900390816156f95790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615748575f5ffd5b84356001600160401b0381111561575d575f5ffd5b8501601f8101871361576d575f5ffd5b80356001600160401b03811115615782575f5ffd5b876020828401011115615793575f5ffd5b6020918201955093508501356001600160401b038111156157b2575f5ffd5b8501601f810187136157c2575f5ffd5b80356001600160401b038111156157d7575f5ffd5b8760208260051b84010111156157eb575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d5576127d56157f9565b818103818111156127d5576127d56157f9565b808201808211156127d5576127d56157f9565b5f5f85851115615858575f5ffd5b83861115615864575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158aa576158aa6157f9565b5060010190565b803560208310156127d5575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f0576158f06158ce565b500690565b5f8183825b60058110156159195781518352602092830192909101906001016158fa565b50505060a08201905092915050565b5f82615936576159366158ce565b500490565b5f8183825b600981101561595f578151835260209283019290910190600101615940565b5050506101208201905092915050565b5f8183825b602a811015615993578151835260209283019290910190600101615974565b5050506105408201905092915050565b81515f90829060208501835b828110156159cd5781518452602093840193909101906001016159af565b509195945050505050565b5f8183825b60038110156159fc5781518352602092830192909101906001016159dd565b50505060608201905092915050565b5f81615a1957615a196157f9565b505f190190565b5f8183825b6008811015615a44578151835260209283019290910190600101615a25565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615aad578151835260209283019290910190600101615a8e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f2e988ef495c63af8f634e406d6126999b0c82ffbfdcfac96ada52db7fd1f1a5c60c05260ae60e05260805160a05160c05160e051615b126100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d8001525f61076e0152615b125ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615736565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c81602061580e565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf83602061580e565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615825565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a6002600861580e565b905060016102a960088561580e565b6102b3919061580e565b6102bd9082615838565b90506102cb6001602961580e565b6102d59082615838565b905060026102e4600185615825565b6102ee919061580e565b6102f89082615838565b905061030560018461580e565b61030f9082615838565b905061031c60028061580e565b6103269082615838565b9050610333601082615838565b9392505050565b61034261523e565b61034a6117a4565b905090565b6103576153c8565b5f805b60108110156103b957610386868387610374602083615838565b926103819392919061584b565b6120de565b8351826010811061039957610399615872565b6020020181815250506020826103af9190615838565b915060010161035a565b506103dd8582866103cb604083615838565b926103d89392919061584b565b6120f1565b60208301526103ed604082615838565b90506104008582866103cb604083615838565b6040808401919091526104139082615838565b90506104268582866103cb604083615838565b6060830152610436604082615838565b90506104498582866103cb604083615838565b60c0830152610459604082615838565b905061046c8582866103cb604083615838565b60e083015261047c604082615838565b905061048f8582866103cb604083615838565b608083015261049f604082615838565b90506104b28582866103cb604083615838565b6101008301526104c3604082615838565b90506104d68582866103cb604083615838565b60a08301526104e6604082615838565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615838565b84610120015183601c811061052557610525615872565b6020020151826008811061053b5761053b615872565b6020020181815250506020836105519190615838565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615838565b836101400151826029811061059857610598615872565b6020020181815250506020826105ae9190615838565b9150600101610567565b505f5b6105c6600185615825565b81101561060f576105de8683876103cb604083615838565b83610160015182601b81106105f5576105f5615872565b6020020152610605604083615838565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615838565b83610180015182601c811061064257610642615872565b6020020181815250506020826106589190615838565b9150600101610612565b506106748582866103cb604083615838565b6101a0830152610685604082615838565b90506106988582866103cb604083615838565b6101c0830152509392505050565b6106ae615478565b5f6106bd888888888886612173565b90835290506106cc81896121c7565b602084019190915290506106e08184612374565b604084019190915290506106f58882856123d5565b6060840191909152905061070988826124a9565b6080840191909152905061071e888285612534565b60a084019190915290506107338882856126a8565b60c08401919091529050610747888261276c565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f0000000000000000000000000000000000000000000000000000000000000000615838565b6127a9565b6127c1565b6127dc565b90505f6107bf876107ba8a6107976107928b6001615838565b6127f5565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615825565b81101561085b575f6108188c838151811061080b5761080b615872565b602002602001015161281d565b90506108288661079786846127dc565b95506108388561079785846127dc565b9450610844848b6127dc565b9350610850838b6127f5565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615872565b6020020151905061088f8661079786846127dc565b955061089f8561079785846127dc565b94506108ab848b6127dc565b93506108b7838b6127f5565b92505060010161085e565b506108cd8484612832565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615872565b602002015190505f6109338286612840565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615872565b6020020151905061097b8382612863565b95506109a2886040015185601c811061099657610996615872565b60200201518683612a12565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3d565b90508281145b9695505050505050565b5f6109e56154d1565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab6565b90505f610a427f00000000000000000000000000000000000000000000000000000000000000006024615838565b610a4d906002615838565b6001600160401b03811115610a6457610a64615886565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f00000000000000000000000000000000000000000000000000000000000000006024615838565b610ac7906002615838565b6001600160401b03811115610ade57610ade615886565b604051908082528060200260200182016040528015610b1757816020015b610b04615541565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615872565b60200260200101516127f5565b612b7f565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615872565b60200260200101516127dc565b610140850181905261012085015160c0880151610b9e9261079c91906127c1565b845260a0860151610bce90610bb290612b7f565b6107978661012001516107ba8a60c001518961014001516127c1565b6020850152815160019083905f90610be857610be8615872565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615872565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bef565b60408501526020840151610c4290612bef565b606085015260015b60248111610ced57610c6485604001518660a001516127c1565b838281518110610c7657610c76615872565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615825565b60298110610cb057610cb0615872565b60200201518860a001516127c1565b60c086015260a08501516080880151610cd891906127c1565b60a0860152610ce68161589a565b9050610c4a565b505f5b6005811015610dbb575f610d05601d83615838565b90505f610d13602484615838565b9050610d44858381518110610d2a57610d2a615872565b602002602001015161079c89606001518a60a001516127c1565b858381518110610d5657610d56615872565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615872565b60200201518a60a001516127c1565b60c088015260a087015160808a0151610dac91906127c1565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615872565b6020026020010181905250866080015181600281518110610df757610df7615872565b60200260200101819052508660a0015181600381518110610e1a57610e1a615872565b60200260200101819052508660c0015181600481518110610e3d57610e3d615872565b60200260200101819052508660e0015181600581518110610e6057610e60615872565b602002602001018190525086610100015181600681518110610e8457610e84615872565b602002602001018190525086610120015181600781518110610ea857610ea8615872565b602002602001018190525086610140015181600881518110610ecc57610ecc615872565b602002602001018190525086610160015181600981518110610ef057610ef0615872565b6020026020010181905250866101c0015181600a81518110610f1457610f14615872565b602002602001018190525086610180015181600b81518110610f3857610f38615872565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615872565b6020026020010181905250866101e0015181600d81518110610f8057610f80615872565b602002602001018190525086610200015181600e81518110610fa457610fa4615872565b602002602001018190525086610220015181600f81518110610fc857610fc8615872565b602002602001018190525086610240015181601081518110610fec57610fec615872565b60200260200101819052508661026001518160118151811061101057611010615872565b60200260200101819052508661028001518160128151811061103457611034615872565b6020026020010181905250866102a001518160138151811061105857611058615872565b6020026020010181905250866102c001518160148151811061107c5761107c615872565b6020026020010181905250866102e00151816015815181106110a0576110a0615872565b6020026020010181905250866103000151816016815181106110c4576110c4615872565b6020026020010181905250866103200151816017815181106110e8576110e8615872565b60200260200101819052508661034001518160188151811061110c5761110c615872565b60200260200101819052508661036001518160198151811061113057611130615872565b602002602001018190525086610380015181601a8151811061115457611154615872565b6020026020010181905250866103a0015181601b8151811061117857611178615872565b6020026020010181905250866103c0015181601c8151811061119c5761119c615872565b6020026020010181905250876020015181601d815181106111bf576111bf615872565b6020026020010181905250876040015181601e815181106111e2576111e2615872565b6020026020010181905250876060015181601f8151811061120557611205615872565b602002602001018190525087608001518160208151811061122857611228615872565b60200260200101819052508760a001518160218151811061124b5761124b615872565b60200260200101819052508761010001518160228151811061126f5761126f615872565b60200260200101819052508760c001518160238151811061129257611292615872565b60200260200101819052508760e00151816024815181106112b5576112b5615872565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c01565b9050611325815f8151811061131257611312615872565b60200260200101518661012001516127c1565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c1565b8861014001516127c1565b608086015260c087015161136990612d67565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615825565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615825565b82101590508061156d57611401610b448a60e00151888560016113f19190615838565b81518110610b3757610b37615872565b61012088015260e089015161143090610b449088611420866001615838565b81518110610b7057610b70615872565b61014088015260a087015161012088015161144b91906127c1565b61016088015260a087015160c08a01516114689161134b916127c1565b610180880181905261148b9061147d90612bef565b61079c896101600151612bef565b858361149960246001615838565b6114a39190615838565b815181106114b3576114b3615872565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc9190615838565b601c81106114ec576114ec615872565b60200201516127c1565b90506115308161079c8a6101600151878760016115139190615838565b8151811061152357611523615872565b60200260200101516127c1565b90506115408860800151826127dc565b608089015260a088015160c08b01516115669161155c916127c1565b8b60c001516127c1565b60a0890152505b8a610160015182601b811061158457611584615872565b6020020151848361159760246001615838565b6115a19190615838565b815181106115b1576115b1615872565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f00000000000000000000000000000000000000000000000000000000000000006024615838565b8151811061161757611617615872565b60209081029190910101526080850151836116537f00000000000000000000000000000000000000000000000000000000000000006024615838565b8151811061166357611663615872565b60209081029190910101526101c089015180836116a17f00000000000000000000000000000000000000000000000000000000000000006024615838565b6116ac906001615838565b815181106116bc576116bc615872565b602090810291909101015260e0880151846116f87f00000000000000000000000000000000000000000000000000000000000000006024615838565b611703906001615838565b8151811061171357611713615872565b6020026020010181815250505f61172a8486612d72565b90505f61173683612e82565b90505f6117478d5f01518484612ec8565b90505f5f6117578f5f0151612f3e565b9150915061176482612fff565b61176d81612fff565b61177885838561309e565b945061178584828561309e565b935061179185856130c4565b9f9e505050505050505050505050505050565b6117ac61523e565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a5196760d3c4c4699dcf95524b2b2c734674df31e42dbacf81e51ee788884d81527edb366b36fb98785e24eaaab6ba95a6b9abce32f46a5e3f16eb9c49b08129bb818301526060830152825180840184527f0ca61c8acf2fd8c4ee209cddc90a2c543b847ce7cfb2bde9ef43dff1279e976c81527f0f2eeb02b3ef63f0473e77353f61f7df206e617cd452815497c91c71e1b23b0a818301526080830152825180840184527f0e9a4d468ea4bf159a9d8778abea4cc2dcddbce1c7e56558156710e967d4f8fa81527f1ac3ffc33a46d2e80ced57893769de75004e68f13ee7de79fde8bc6c343b23358183015260a0830152825180840184527f06e3ecf97d96e4a29ebe974899504c71772ed3bfc7fe80a91302706bb03b520181527f1784e75eae72576f33956bb52560a573361c5650ef3d52ec9a07101d8b2bc8818183015260c0830152825180840184527f0df0c6a938a63839f332f598efc64e955ebb3d3a6ac26f4cfd9b18ad2558fe4a81527f0c71a2db6022e44f7920ce6dadc5c53322c80d1e1428b41553e31e4f70e2e7728183015260e0830152825180840184527f1053c2fcd23f5a0d90fa49e7b241ee1b68c8c14fdd292f7356e673503ed5cced81527f26e86c0a8449667be64251606d387bdd64d528606479d5ebd618f92e0edd317381830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1388f5fac8a24ebdeff01b83e77ee537989af94a962de1ea2cdcddb8d24fdcd081527f1d4505021fe998b9c5acf3dd77dec247541176485825fad4f65297855ad762db81830152610140830152825180840184527f0f563b0a77cf43eaa91cd701f0f48a45eb9ea148c9fee32d2f33553210f0fe0b81527f1405332a2eb7063986fc9197774ad750dd7c7792903d1971678adacb404e626081830152610160830152825180840184527f1c7d7fa69df39f29088e3427414c1d04c440acdaac60dd74fc02165c3bed285681527f2a3e9270a7a7062a29ddc64e43d919d22418ccd3660e6f30795cbe767945770f81830152610180830152825180840184527f11013b44b4e810ad645d9176666c9992a2c996e8b09843658a040cc62bbeae7c81527f050746b205a9202bc213eb0ba93751b487afe5b57bef10e0458203a8630da864818301526101a0830152825180840184527f06dac066d439fbaf0100f55bb2453c3d7444d4c462f5013a63341ff728e7061181527f1c1ef838107cb339eaa490cd2b100cac4305e9dd6d469b062bb162a2fc8d8576818301526101c0830152825180840184527f27c4b9d08eee260ecadd1e6f21da34bfe359e0543fc1e34e2a5d60a9f762f27081527f10c55f33b0a4099718d78f76ae76b0039146289f378219dbda8eb20ab8d13e3a818301526101e0830152825180840184527f147b0fae9c452cf95e684186f426fafe89e07a7085e60669589c82e9f73b12f881527f0e21528b28a34363ad683bc41af60699e668a4047c58e1f9d94ac6d77563c45381830152610200830152825180840184527f12b147243797a8c52d6a26db2082d52b68307e2c289b4498b2535c7a5de976a581527f0419ba20489ce708220b41f5ef12e9cfb4135a09888ea3d50243ed69166e9aee81830152610220830152825180840184527f281038f6df902695df7821ef69144a1f231674a131c49bb2b32acc73d1b3971781527f2c94882aa986077cbe1478cd5f7e6ef370f4d78ae46c93cc0e6d7bc179d8c23c81830152610240830152825180840184527f28de4ed194aa2e22e9a0fe062f7ec630239bbad3774ee813c8b9bbd36f3aeb2b81527f05306badb10e95c62e081f46d6578b71893fc9577e48b90f96d5f3db777fe71d81830152610260830152825180840184527f01635c679f5c1e1e01623765451dd777e45505fa90c27a6ed7cfe0d4877e970781527f10851539ccb25ab179d19e517ee629b71cd3fd38697b93db401e2c23aa97494581830152610280830152825180840184527ecc9f7ca6e3630237c9d24b54fe8509593a6eb1fca2b6d8597abb8dd2255fa181527f043ab8f26c088bc5e1a1ef850f33d8f4b4f83591fa0b30c9f127c6e726762590818301526102a0830152825180840184527f23a72167f9a3fb5ca62229a9812407e3599e3891de520848cc8dbba8bfd7d97281527f2794f13957e0c832f79dad412433a57c11384dbfed49a7cfb09e6f2bbe4a9edb818301526102c0830152825180840184527f0a01c5b74b1b08cf7643f923fcd122dfd2d466873bc333e5152e9bf518ec191a81527f2109fa17066342c33a6216074f5f10f9ccf33cc8ff17544c8bfe9a843a318163818301526102e0830152825180840184527f0d34f82b2f4ce4842852430d4d8a02f7829833e691f5e8f5c5edd419dd458bfe81527f197035bde094fb67ac0c9d033e9da0345c5aebf0a98dcf67aebcc89c26d7602d81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12a1a1e4a7e6a2fd04130583b7ee2aebbb371713e537e27d7b63b3a195584e0d83527f04b73603e0d6183ea963bea2da2d846ada8d7513c7fd44d1a6301409c023ecf1908301526103c081019190915290565b5f6103336120ec83856158b2565b61281d565b6120f9615541565b60408051808201909152805f516020615ad25f395f51905f5261211f60205f878961584b565b612128916158b2565b61213291906158e3565b81526020908101905f516020615ad25f395f51905f529061215790604090878961584b565b612160916158b2565b61216a91906158e3565b90529392505050565b61217b615559565b5f61218988888888886132b8565b6040860191909152602085019190915290835292506121a883896135b5565b6080850191909152606084019190915291989197509095505050505050565b6121cf615589565b5f6121d86155a8565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223b91612220918491016158f6565b6040516020818303038152906040528051906020012061281d565b91506122468261363c565b6020850152835260015b600261225e6001601c615825565b6122689190615929565b8110156122e8576122858360405160200161222091815260200190565b92506122908361363c565b8561229c84600261580e565b601b81106122ac576122ac615872565b60200201866122bc85600261580e565b6122c7906001615838565b601b81106122d7576122d7615872565b602002019190915252600101612250565b506122f56001601c615825565b6001166001148015612312575060026123106001601c615825565b115b1561236c5761232d8260405160200161222091815260200190565b91505f6123398361363c565b85600161234781601c615825565b6123519190615825565b601b811061236157612361615872565b602002019190915250505b509250929050565b61237c6155c6565b5f805b838110156123cd5761239d8560405160200161222091815260200190565b94505f6123a98661363c565b8584601c81106123bb576123bb615872565b6020020191909152505060010161237f565b509093915050565b6123dd6155c6565b5f805b8381101561249f576123f06155e5565b8581525f5b60088110156124595787610120015183601c811061241557612415615872565b6020020151816008811061242b5761242b615872565b60200201518261243c836001615838565b6009811061244c5761244c615872565b60200201526001016123f5565b5061246e81604051602001612220919061593c565b95505f61247a8761363c565b8685601c811061248c5761248c615872565b60200201919091525050506001016123e0565b5090949293505050565b5f5f6124b3615604565b8381525f5b60298110156125065785610140015181602981106124d8576124d8615872565b6020020151826124e9836001615838565b602a81106124f9576124f9615872565b60200201526001016124b8565b5061251b816040516020016122209190615970565b91505f6125278361363c565b5096929550919350505050565b5f8080612542600185615825565b61254d90600261580e565b612558906001615838565b6001600160401b0381111561256f5761256f615886565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50905084815f815181106125ae576125ae615872565b60209081029190910101525f5b6125c6600186615825565b8110156126795786610160015181601b81106125e4576125e4615872565b602002015151826125f683600261580e565b612601906001615838565b8151811061261157612611615872565b60200260200101818152505086610160015181601b811061263457612634615872565b6020020151602001518282600261264b919061580e565b612656906002615838565b8151811061266657612666615872565b60209081029190910101526001016125bb565b5061268e8160405160200161222091906159a4565b91505f61269a8361363c565b509792965091945050505050565b5f80806126b6846001615838565b6001600160401b038111156126cd576126cd615886565b6040519080825280602002602001820160405280156126f6578160200160208202803683370190505b50905084815f8151811061270c5761270c615872565b60209081029190910101525f5b848110156126795786610180015181601c811061273857612738615872565b602002015182612749836001615838565b8151811061275957612759615872565b6020908102919091010152600101612719565b5f5f612776615623565b8381526101a0850180515160208084019190915290518101516040808401919091525161251b91612220918491016159d9565b5f5f516020615af25f395f51905f52825b0692915050565b5f5f516020615af25f395f51905f5282840990505b92915050565b5f5f516020615af25f395f51905f528284089392505050565b5f5f516020615af25f395f51905f52825f516020615af25f395f51905f520384089392505050565b5f5f516020615af25f395f51905f52826127ba565b5f6103338361079784612b7f565b81515f908190612858908560015b60200201516127dc565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561294a576129408261079787846127f5565b9150600101612929565b50612953615641565b5f5b60088110156129b4575f84826008811061297157612971615872565b602002015190506129868161079789856127f5565b905061299181612b7f565b9050808383600881106129a6576129a6615872565b602002015250600101612955565b505f5b6008811015612a07575f8782600881106129d3576129d3615872565b602002015190506129f0818484600881106114ec576114ec615872565b90506129fc86826127dc565b9550506001016129b7565b506109d284836127c1565b5f5f612a28600161079c856107978960016127f5565b9050612a3484826127c1565b95945050505050565b5f612a466155c6565b612a5186828561366c565b612a5d86868386613818565b612a6986868386613a04565b612a74868285613c2f565b612a7f868285613e23565b612a8b8686838661416c565b612a9686828561461f565b612aa1868285614a31565b612aac868285614df2565b6109d281856150f2565b60605f826001600160401b03811115612ad157612ad1615886565b604051908082528060200260200182016040528015612afa578160200160208202803683370190505b50905083815f81518110612b1057612b10615872565b602090810291909101015260015b83811015612b7757612b5282612b35600184615825565b81518110612b4557612b45615872565b6020026020010151612d67565b828281518110612b6457612b64615872565b6020908102919091010152600101612b1e565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af25f395f51905f520360808201525f516020615af25f395f51905f5260a082015260205f60c08360055afa80612bdb575f5ffd5b505f51608091909101604052949350505050565b5f516020615af25f395f51905f520390565b60605f826001600160401b03811115612c1c57612c1c615886565b604051908082528060200260200182016040528015612c45578160200160208202803683370190505b509050825b8015612d5c575f85612c5d600184615825565b81518110612c6d57612c6d615872565b602002602001015190505f89600184612c869190615825565b601c8110612c9657612c96615872565b602002015190505f612cf1612cb5612cae858d6127c1565b60026127c1565b6107ba8b612cc4600189615825565b601c8110612cd457612cd4615872565b6020020151610797612ceb8861079760018a6127f5565b876127f5565b9050612d1281610797610b44612d0c876107976001896127f5565b866127dc565b9050868411612d48579850888085612d2b600187615825565b81518110612d3b57612d3b615872565b6020026020010181815250505b50505080612d5590615a0c565b9050612c4a565b509695505050505050565b5f6127d682836127c1565b612d7a615541565b5f612da67f00000000000000000000000000000000000000000000000000000000000000006024615838565b612db1906002615838565b90505f5b81811015612de757612ddf858281518110612dd257612dd2615872565b6020026020010151612fff565b600101612db5565b50604051600190815b60018401811015612e4c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612df0565b5080518452602081015160208501525080612e7a576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e8a615541565b5f516020615ad25f395f51905f5282602001515f516020615ad25f395f51905f52612eb59190615825565b612ebf91906158e3565b60208301525090565b5f5f5f612ed486612f3e565b91509150612ee0615641565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f339161222091849101615a21565b979650505050505050565b612f46615541565b612f4e615541565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad25f395f51905f528380095f516020615ad25f395f51905f5260035f516020615ad25f395f51905f52838709085f516020615ad25f395f51905f5284850914915050806130985760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a6615541565b6130ae615541565b6130b88386615157565b9050612a3481856151ad565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161325a9190615a55565b5f60405180830381855afa9150503d805f8114613292576040519150601f19603f3d011682016040523d82523d5f602084013e613297565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6b565b5f808080806132c8866001615838565b6132d3906006615838565b6001600160401b038111156132ea576132ea615886565b604051908082528060200260200182016040528015613313578160200160208202803683370190505b509050865f1b815f8151811061332b5761332b615872565b60209081029190910101525f5b613343601088615825565b8110156133945789898281811061335c5761335c615872565b90506020020135828260016133719190615838565b8151811061338157613381615872565b6020908102919091010152600101613338565b505f5b6010811015613405578a516133bf9082601081106133b7576133b7615872565b602002015190565b828260106133ce8b6001615838565b6133d89190615825565b6133e29190615838565b815181106133f2576133f2615872565b6020908102919091010152600101613397565b5060208a01515181613418886001615838565b8151811061342857613428615872565b6020908102919091018101919091528a810151015181613449886001615838565b613454906001615838565b8151811061346457613464615872565b602090810291909101015260408a01515181613481886001615838565b61348c906002615838565b8151811061349c5761349c615872565b60209081029190910181019190915260408b01510151816134be886001615838565b6134c9906003615838565b815181106134d9576134d9615872565b602090810291909101015260608a015151816134f6886001615838565b613501906004615838565b8151811061351157613511615872565b60209081029190910181019190915260608b0151015181613533886001615838565b61353e906005615838565b8151811061354e5761354e615872565b60200260200101818152505061356e8160405160200161222091906159a4565b91506135798261363c565b60408051602081018690529297509095506135949101612220565b91505f6135a08361363c565b50959b949a5094985090965091945050505050565b5f5f5f6135c0615660565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136229161222091849101615a8a565b915061362d8261363c565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136578261281d565b94506136628161281d565b9350505050915091565b5f61367884600761520e565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136d96136d36136ad8560036127f5565b6107976136c86136bd8b5f61520e565b6107978c601d61520e565b6107978b601c61520e565b836127c1565b905061375a61374f61373661371d6137048561079c6136f98d600261520e565b6107978e601c61520e565b61079c6137128c600361520e565b6107978d601d61520e565b61079c61372b8b600461520e565b6107978c601e61520e565b61079c6137448a600561520e565b6107978b601f61520e565b61079c88600161520e565b90506137798161079c61376e8660016127f5565b6107978a602761520e565b905061378581846127c1565b905061379181856127c1565b8552505f90506137cb6137c16137b66137ab88601c61520e565b61079c89601f61520e565b6107ba88602461520e565b61079c875f61520e565b90506137dc816107978460026127f5565b90506137ed816107978460016127f5565b90506137f981836127c1565b905061380581846127c1565b9050808460015b60200201525050505050565b5f5f5f61384e61384461382c89601c61520e565b61079c61383a8b601261520e565b8a606001516127c1565b87608001516127dc565b90506138878161079761387d6138658b601d61520e565b61079c6138738d601361520e565b8c606001516127c1565b89608001516127dc565b90506138ac8161079761387d61389e8b601e61520e565b61079c6138738d601461520e565b90506138d18161079761387d6138c38b601f61520e565b61079c6138738d601561520e565b92505f90506138f56138446138e789601c61520e565b61079c61383a8b600e61520e565b905061391a8161079761387d61390c8b601d61520e565b61079c6138738d600f61520e565b905061393f8161079761387d6139318b601e61520e565b61079c6138738d601061520e565b90506139648161079761387d6139568b601f61520e565b61079c6138738d601161520e565b91505f905061398b61398561397a89602061520e565b61079c8a601a61520e565b846127c1565b90506139c0816107ba6139ba6139a28b602861520e565b61079c6139b08d601b61520e565b8c60a001516127c1565b856127c1565b90506139cc81856127c1565b6040860152505f6139ef6139ba6139e489601b61520e565b6107978a602861520e565b9050808560035b602002015250505050505050565b5f5f613a62613a4a613a32613a1d61387d8a601661520e565b61079c613a2b8b601761520e565b8a516127c1565b61079c613a408a601861520e565b89602001516127c1565b61079c613a5889601961520e565b88604001516127c1565b91505f613a99613a80613a7689601c61520e565b88608001516127dc565b61079c613a8e8a600361520e565b6107978b602461520e565b90505f613ac2613aaa89601d61520e565b61079c613ab78b5f61520e565b6107978c602561520e565b90505f613aec613ad38a601e61520e565b61079c613ae18c600161520e565b6107978d602661520e565b9050613b2b613b13613b058561079c868d5f01516127c1565b61079c848c602001516127c1565b61079c613b218c600461520e565b8b604001516127c1565b93505050505f613b3f61398588602161520e565b90505f613b5061398589602161520e565b90505f613b88613b6f613b648b602361520e565b61079c8c600661520e565b6107ba613b7d8c602361520e565b6107978d600661520e565b90505f613bac613ba6613b9b87896127c1565b6107978d602161520e565b836127f5565b9050613bb881886127c1565b90505f613be0613bd2613bcc8d600661520e565b876127c1565b6107ba613bcc8e602261520e565b90505f613bee8c602361520e565b90505f613bfe613ba683846127c1565b60808c0185905260a08c018490529050613c18818b6127c1565b8b6006602002015250505050505050505050505050565b5f613c3b5f60016127f5565b90505f613c495f60026127f5565b90505f613c575f60036127f5565b90505f613c73613c6888601d61520e565b6107ba89601c61520e565b90505f613c8f613c8489601e61520e565b6107ba8a601d61520e565b90505f613cab613ca08a601f61520e565b6107ba8b601e61520e565b90505f613cc7613cbc8b602461520e565b6107ba8c601f61520e565b905083613cd881610797818b6127dc565b9050613ce881610797878a6127dc565b9050613cf88161079787896127dc565b9050613d09816107978d600861520e565b9050613d15818a6127c1565b60e08b01525082613d2a81610797818b6127dc565b9050613d3a81610797868a6127dc565b9050613d4a8161079786896127dc565b9050613d5b816107978d600861520e565b9050613d67818a6127c1565b6101008b01525081613d7d81610797818b6127dc565b9050613d8d81610797858a6127dc565b9050613d9d8161079785896127dc565b9050613dae816107978d600861520e565b9050613dba818a6127c1565b6101208b01525080613dd081610797818b6127dc565b9050613de081610797848a6127dc565b9050613df08161079784896127dc565b9050613e01816107978d600861520e565b9050613e0d818a6127c1565b610140909a019990995250505050505050505050565b613e5c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6784601d61520e565b8152613e7484601e61520e565b6020820152613e8484602461520e565b6040820152613e9484602761520e565b6060820152613ea484602661520e565b6080820152613eb484602561520e565b60a08201525f613ec585600261520e565b90505f613ed2865f61520e565b90505f613ee68460400151855f01516127f5565b90505f613efb856020015186602001516127c1565b606086015190915086905f90613f1190806127c1565b90505f613f2f613f2989602001518a606001516127c1565b886127c1565b90505f613f4e613f478a60a001518b604001516127dc565b8a516127dc565b9050613f5d613bcc82886127c1565b9050613f84613f7e613f78613f7284876127f5565b886127f5565b846127dc565b836127dc565b9050613fac613fa1613f9683876127c1565b6107978f600961520e565b61079760018a6127f5565b6101608c015250505050602085015160808601515f91613fcb916127dc565b90505f613fe9613fdf8860600151886127c1565b88602001516127f5565b90505f61400d613ff984876127c1565b61079c6139ba8b60a001518c5f01516127f5565b905061403561402a61401f838c6127c1565b6107978e600961520e565b6107976001896127f5565b6101808b0152505f9150614056905061404f8360116127dc565b87516127c1565b90505f61406383846127dc565b905061406f81826127dc565b90505f61407d8360096127c1565b90506140a66140a06139856140998b60a001518c5f01516127dc565b8b516127dc565b826127f5565b60c089018190525f906140c190613f2990613f96908d6127c1565b90506140d48b600b6020020151826127dc565b6101608c0152505086515f92506140fb915061404f906140f490806127dc565b88516127dc565b90505f61413b614116836107978a5f01518b60a001516127f5565b60208901516107ba9061412990806127dc565b6107978b602001518c608001516127dc565b905061415889600c602002015161079c613f29613f96858d6127c1565b89600c602002015250505050505050505050565b6141d6604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ee6141e486601e61520e565b85604001516127c1565b80825261420d9061079c61420388601d61520e565b87602001516127c1565b8082526142229061079c61404f88601c61520e565b8082526142349061079c87600161520e565b8082526020820181905261424d906107ba87601f61520e565b815261426861425d86602461520e565b6107ba87601c61520e565b608082015261428661427b86602761520e565b6107ba87601f61520e565b606082015260808101516142a89061429e90806127c1565b82608001516127f5565b6101c082015260808101516142e8906142de906142d79061079760015f516020615af25f395f51905f52615825565b60016127dc565b82606001516127c1565b60a0820181905261431e906143109061079761430589600261520e565b6107978a600361520e565b6107976139ba88600a61520e565b83600e60200201526101c0810151614342906143109061079761430589600261520e565b6101e084015280516143679061079761435c88600261520e565b61079789600361520e565b6101208201525f61438661437c87601f61520e565b83602001516127f5565b90506143956140a082836127c1565b60e08301526143b26143a887602661520e565b86604001516127c1565b604083018190526143d59061079c6143cb89602561520e565b88602001516127c1565b604083018190526143f59061079c6143ee89602461520e565b88516127c1565b604083015261441261440887602761520e565b83604001516127f5565b60408301525f61443161442688602661520e565b6107ba89601e61520e565b905061448361445e6136d36142d7866080015160015f516020615af25f395f51905f526107979190615825565b6107976142d7866040015160015f516020615af25f395f51905f526107979190615825565b60c084015260408301516144a59061449b90806127c1565b84604001516127f5565b61010084015260c08301516144d1906144c3906107978a600461520e565b610797613bcc8a600a61520e565b6102008601526101c08301516144f0906144c3906107978a600461520e565b61022086015261010083015161450f906144c3906107978a600461520e565b61024086015260e08301516145299061079789600461520e565b61014084015261454861453d88602561520e565b6107ba89601d61520e565b6101608401526080830151614586906144269061457b906142d79061079760015f516020615af25f395f51905f52615825565b8561016001516127c1565b61018084018190526101208401516101a085018190526145bd9161079c906107976145b28c600561520e565b6107978d600261520e565b6101a0840181905283516145dd919061079c906107976145b28c5f61520e565b6101a084018190526101408401516145f591906127dc565b6101a0840181905261460f90610797613bcc8a600a61520e565b6101a0840181905285600d6139f6565b6146586040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468d61467461466986601c61520e565b61079787602561520e565b61079c61468287602461520e565b61079788601d61520e565b81526146d26146c76146ae6146a387601c61520e565b61079788601f61520e565b61079c6146bc88601d61520e565b61079789601e61520e565b6107ba86602661520e565b604082018190526146e790600160441b6127c1565b604082018190526146fd906107ba86602761520e565b60408201819052815161471091906127dc565b604082018190526147269061079786600561520e565b6040820152805161473b90600160441b6127c1565b80825261475b9061079c61475087602461520e565b61079788602561520e565b80825260208201819052614782906107ba61477787601e61520e565b61079c88601f61520e565b602082018190526147989061079786600461520e565b60208201528051606082018190526147b59061079c86601f61520e565b606082018190526147d9906107ba6147ce87602661520e565b61079c88602761520e565b606082018190526147ee90610797865f61520e565b8160600181815250505f61481761480d836020015184604001516127dc565b83606001516127dc565b90506148288161079787600361520e565b905061484061483886602561520e565b6140006127c1565b608083018190526148569061079c87602461520e565b60808301819052614869906140006127c1565b6080830181905261487f9061079c87601e61520e565b60808301819052614892906140006127c1565b608083018190526148a89061079c87601d61520e565b608083018190526148bb906140006127c1565b608083018190526148d19061079c87601c61520e565b608083018190526148e7906107ba87601f61520e565b608083018190526148fd9061079787600561520e565b608083015261491061483886602661520e565b60a083018190526149269061079c87602561520e565b60a08301819052614939906140006127c1565b60a0830181905261494f9061079c87602461520e565b60a08301819052614962906140006127c1565b60a083018190526149789061079c87601f61520e565b60a0830181905261498b906140006127c1565b60a083018190526149a19061079c87601e61520e565b60a083018190526149b7906107ba87602761520e565b60a083018190526149cc90610797875f61520e565b60a0830181905260808301515f916149e491906127dc565b90506149f58161079788600461520e565b9050614a0182826127dc565b60c08401819052614a1a90610797613bcc89600b61520e565b60c084018190528560136020020152505050505050565b614aa76040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ac0614ab585601c61520e565b61079c86600261520e565b8152614adb614ad085601d61520e565b61079c86600361520e565b6020820152614af9614aee85601e61520e565b61079c86600461520e565b6040820152614b17614b0c85601f61520e565b61079c86600561520e565b60608201528051614b4990614b4290614b3b90614b3490806127c1565b84516127c1565b83516127c1565b82516127c1565b60808201526020810151614b8790614b7d90614b7390614b6990806127c1565b84602001516127c1565b83602001516127c1565b82602001516127c1565b60a08201526040810151614bc590614bbb90614bb190614ba790806127c1565b84604001516127c1565b83604001516127c1565b82604001516127c1565b60c08201526060810151614bf9906142de90614bef90614be590806127c1565b84606001516127c1565b83606001516127c1565b60e0820152608081015160a0820151614c1291906127dc565b61010082015260c081015160e0820151614c2c91906127dc565b61012082015260a0810151614c5090614c4590806127dc565b8261012001516127dc565b61014082015260e0810151614c7490614c6990806127dc565b8261010001516127dc565b610160820152610120810151614c8a90806127dc565b6101e08201819052614cab90614ca090806127dc565b8261016001516127dc565b6101e0820152610100810151614cc190806127dc565b6101a08201819052614ce290614cd790806127dc565b8261014001516127dc565b6101a08201819052610160820151614cf9916127dc565b6101808201526101408101516101e0820151614d1591906127dc565b6101c0820152614d296136d385600c61520e565b6102008201819052610280840151610180830151614d549261079c91610797906107ba8a602461520e565b8360146020020152614d84836015602002015161079c836102000151610797856101a001516107ba8a602561520e565b8360156020020152614db4836016602002015161079c836102000151610797856101c001516107ba8a602661520e565b8360166020020152614de4836017602002015161079c836102000151610797856101e001516107ba8a602761520e565b836017602002015250505050565b614e446040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e797f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127a9565b8152602001614ea77f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127a9565b8152602001614ed47e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127a9565b8152602001614f027f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127a9565b90529050614f1f614f1486601c61520e565b61079c87600261520e565b6101208301819052614f5e90614f5390614f4890614f3d90806127c1565b8561012001516127c1565b8461012001516127c1565b8361012001516127c1565b8252614f6b85601d61520e565b6020830152614f7b85601e61520e565b6040830152614f8b85601f61520e565b606083015281516020830151614fb39161480d91614fa991906127dc565b84604001516127dc565b6080830152614fc661398586600d61520e565b6101408301528151614fe790614fdd90835f6114ec565b83608001516127dc565b60a0830152615013846018602002015161079c8461014001516107978660a001516107ba8b602461520e565b610300850152602082015161502e90614fdd908360016114ec565b60c083015261505a846019602002015161079c8461014001516107978660c001516107ba8b602561520e565b610320850152604082015161507590614fdd908360026114ec565b60e08301526150a184601a602002015161079c8461014001516107978660e001516107ba8b602661520e565b61034085015260608201516150bc90614fdd908360036114ec565b6101008301526150ea84601b602002015161079c8461014001516107978661010001516107ba8b602761520e565b84601b61380c565b5f6150fe81848161284e565b905060015b601c811015615150576151468261079c8684601c811061512557615125615872565b602002015186615136600187615825565b601b81106114ec576114ec615872565b9150600101615103565b5092915050565b61515f615541565b615167615541565b604051835181526020840151602082015284604082015260408160608360075afa80615191575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b5615541565b6151bd615541565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f2575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522257615222615abd565b6029811061523257615232615872565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615264615541565b8152602001615271615541565b815260200161527e615541565b815260200161528b615541565b8152602001615298615541565b81526020016152a5615541565b81526020016152b2615541565b81526020016152bf615541565b81526020016152cc615541565b81526020016152d9615541565b81526020016152e6615541565b81526020016152f3615541565b8152602001615300615541565b815260200161530d615541565b815260200161531a615541565b8152602001615327615541565b8152602001615334615541565b8152602001615341615541565b815260200161534e615541565b815260200161535b615541565b8152602001615368615541565b8152602001615375615541565b8152602001615382615541565b815260200161538f615541565b815260200161539c615541565b81526020016153a9615541565b81526020016153b6615541565b81526020016153c3615541565b905290565b604051806101e001604052806153dc61567e565b81526020016153e9615541565b81526020016153f6615541565b8152602001615403615541565b8152602001615410615541565b815260200161541d615541565b815260200161542a615541565b8152602001615437615541565b8152602001615444615541565b815260200161545161569d565b815260200161545e6156cb565b815260200161546b6156ea565b81526020016153a96155c6565b60405180610100016040528061548c615559565b8152602001615499615589565b81526020016154a66155c6565b81526020016154b36155c6565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161550f615718565b815260200161551c615718565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b5615641565b8152602001906001900390816156ad5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615702615541565b8152602001906001900390816156fa5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615749575f5ffd5b84356001600160401b0381111561575e575f5ffd5b8501601f8101871361576e575f5ffd5b80356001600160401b03811115615783575f5ffd5b876020828401011115615794575f5ffd5b6020918201955093508501356001600160401b038111156157b3575f5ffd5b8501601f810187136157c3575f5ffd5b80356001600160401b038111156157d8575f5ffd5b8760208260051b84010111156157ec575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d6576127d66157fa565b818103818111156127d6576127d66157fa565b808201808211156127d6576127d66157fa565b5f5f85851115615859575f5ffd5b83861115615865575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158ab576158ab6157fa565b5060010190565b803560208310156127d6575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f1576158f16158cf565b500690565b5f8183825b600581101561591a5781518352602092830192909101906001016158fb565b50505060a08201905092915050565b5f82615937576159376158cf565b500490565b5f8183825b6009811015615960578151835260209283019290910190600101615941565b5050506101208201905092915050565b5f8183825b602a811015615994578151835260209283019290910190600101615975565b5050506105408201905092915050565b81515f90829060208501835b828110156159ce5781518452602093840193909101906001016159b0565b509195945050505050565b5f8183825b60038110156159fd5781518352602092830192909101906001016159de565b50505060608201905092915050565b5f81615a1a57615a1a6157fa565b505f190190565b5f8183825b6008811015615a45578151835260209283019290910190600101615a26565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7b575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615aae578151835260209283019290910190600101615a8f565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,2/7CAA2/7C,CAAC;AAC7h8C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f113767375ea7e3d7ccf135057da246b268755a63da7f21daf37bfd8b89143c6660c05260ae60e05260805160a05160c05160e051615b116100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d7f01525f61076e0152615b115ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615735565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c81602061580d565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf83602061580d565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615824565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a6002600861580d565b905060016102a960088561580d565b6102b3919061580d565b6102bd9082615837565b90506102cb6001602961580d565b6102d59082615837565b905060026102e4600185615824565b6102ee919061580d565b6102f89082615837565b905061030560018461580d565b61030f9082615837565b905061031c60028061580d565b6103269082615837565b9050610333601082615837565b9392505050565b61034261523d565b61034a6117a4565b905090565b6103576153c7565b5f805b60108110156103b957610386868387610374602083615837565b926103819392919061584a565b6120dd565b8351826010811061039957610399615871565b6020020181815250506020826103af9190615837565b915060010161035a565b506103dd8582866103cb604083615837565b926103d89392919061584a565b6120f0565b60208301526103ed604082615837565b90506104008582866103cb604083615837565b6040808401919091526104139082615837565b90506104268582866103cb604083615837565b6060830152610436604082615837565b90506104498582866103cb604083615837565b60c0830152610459604082615837565b905061046c8582866103cb604083615837565b60e083015261047c604082615837565b905061048f8582866103cb604083615837565b608083015261049f604082615837565b90506104b28582866103cb604083615837565b6101008301526104c3604082615837565b90506104d68582866103cb604083615837565b60a08301526104e6604082615837565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615837565b84610120015183601c811061052557610525615871565b6020020151826008811061053b5761053b615871565b6020020181815250506020836105519190615837565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615837565b836101400151826029811061059857610598615871565b6020020181815250506020826105ae9190615837565b9150600101610567565b505f5b6105c6600185615824565b81101561060f576105de8683876103cb604083615837565b83610160015182601b81106105f5576105f5615871565b6020020152610605604083615837565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615837565b83610180015182601c811061064257610642615871565b6020020181815250506020826106589190615837565b9150600101610612565b506106748582866103cb604083615837565b6101a0830152610685604082615837565b90506106988582866103cb604083615837565b6101c0830152509392505050565b6106ae615477565b5f6106bd888888888886612172565b90835290506106cc81896121c6565b602084019190915290506106e08184612373565b604084019190915290506106f58882856123d4565b6060840191909152905061070988826124a8565b6080840191909152905061071e888285612533565b60a084019190915290506107338882856126a7565b60c08401919091529050610747888261276b565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f0000000000000000000000000000000000000000000000000000000000000000615837565b6127a8565b6127c0565b6127db565b90505f6107bf876107ba8a6107976107928b6001615837565b6127f4565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615824565b81101561085b575f6108188c838151811061080b5761080b615871565b602002602001015161281c565b90506108288661079786846127db565b95506108388561079785846127db565b9450610844848b6127db565b9350610850838b6127f4565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615871565b6020020151905061088f8661079786846127db565b955061089f8561079785846127db565b94506108ab848b6127db565b93506108b7838b6127f4565b92505060010161085e565b506108cd8484612831565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615871565b602002015190505f610933828661283f565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615871565b6020020151905061097b8382612862565b95506109a2886040015185601c811061099657610996615871565b60200201518683612a11565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3c565b90508281145b9695505050505050565b5f6109e56154d0565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab5565b90505f610a427f00000000000000000000000000000000000000000000000000000000000000006024615837565b610a4d906002615837565b6001600160401b03811115610a6457610a64615885565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f00000000000000000000000000000000000000000000000000000000000000006024615837565b610ac7906002615837565b6001600160401b03811115610ade57610ade615885565b604051908082528060200260200182016040528015610b1757816020015b610b04615540565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615871565b60200260200101516127f4565b612b7e565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615871565b60200260200101516127db565b610140850181905261012085015160c0880151610b9e9261079c91906127c0565b845260a0860151610bce90610bb290612b7e565b6107978661012001516107ba8a60c001518961014001516127c0565b6020850152815160019083905f90610be857610be8615871565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615871565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bee565b60408501526020840151610c4290612bee565b606085015260015b60248111610ced57610c6485604001518660a001516127c0565b838281518110610c7657610c76615871565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615824565b60298110610cb057610cb0615871565b60200201518860a001516127c0565b60c086015260a08501516080880151610cd891906127c0565b60a0860152610ce681615899565b9050610c4a565b505f5b6005811015610dbb575f610d05601d83615837565b90505f610d13602484615837565b9050610d44858381518110610d2a57610d2a615871565b602002602001015161079c89606001518a60a001516127c0565b858381518110610d5657610d56615871565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615871565b60200201518a60a001516127c0565b60c088015260a087015160808a0151610dac91906127c0565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615871565b6020026020010181905250866080015181600281518110610df757610df7615871565b60200260200101819052508660a0015181600381518110610e1a57610e1a615871565b60200260200101819052508660c0015181600481518110610e3d57610e3d615871565b60200260200101819052508660e0015181600581518110610e6057610e60615871565b602002602001018190525086610100015181600681518110610e8457610e84615871565b602002602001018190525086610120015181600781518110610ea857610ea8615871565b602002602001018190525086610140015181600881518110610ecc57610ecc615871565b602002602001018190525086610160015181600981518110610ef057610ef0615871565b6020026020010181905250866101c0015181600a81518110610f1457610f14615871565b602002602001018190525086610180015181600b81518110610f3857610f38615871565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615871565b6020026020010181905250866101e0015181600d81518110610f8057610f80615871565b602002602001018190525086610200015181600e81518110610fa457610fa4615871565b602002602001018190525086610220015181600f81518110610fc857610fc8615871565b602002602001018190525086610240015181601081518110610fec57610fec615871565b60200260200101819052508661026001518160118151811061101057611010615871565b60200260200101819052508661028001518160128151811061103457611034615871565b6020026020010181905250866102a001518160138151811061105857611058615871565b6020026020010181905250866102c001518160148151811061107c5761107c615871565b6020026020010181905250866102e00151816015815181106110a0576110a0615871565b6020026020010181905250866103000151816016815181106110c4576110c4615871565b6020026020010181905250866103200151816017815181106110e8576110e8615871565b60200260200101819052508661034001518160188151811061110c5761110c615871565b60200260200101819052508661036001518160198151811061113057611130615871565b602002602001018190525086610380015181601a8151811061115457611154615871565b6020026020010181905250866103a0015181601b8151811061117857611178615871565b6020026020010181905250866103c0015181601c8151811061119c5761119c615871565b6020026020010181905250876020015181601d815181106111bf576111bf615871565b6020026020010181905250876040015181601e815181106111e2576111e2615871565b6020026020010181905250876060015181601f8151811061120557611205615871565b602002602001018190525087608001518160208151811061122857611228615871565b60200260200101819052508760a001518160218151811061124b5761124b615871565b60200260200101819052508761010001518160228151811061126f5761126f615871565b60200260200101819052508760c001518160238151811061129257611292615871565b60200260200101819052508760e00151816024815181106112b5576112b5615871565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c00565b9050611325815f8151811061131257611312615871565b60200260200101518661012001516127c0565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c0565b8861014001516127c0565b608086015260c087015161136990612d66565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615824565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615824565b82101590508061156d57611401610b448a60e00151888560016113f19190615837565b81518110610b3757610b37615871565b61012088015260e089015161143090610b449088611420866001615837565b81518110610b7057610b70615871565b61014088015260a087015161012088015161144b91906127c0565b61016088015260a087015160c08a01516114689161134b916127c0565b610180880181905261148b9061147d90612bee565b61079c896101600151612bee565b858361149960246001615837565b6114a39190615837565b815181106114b3576114b3615871565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc9190615837565b601c81106114ec576114ec615871565b60200201516127c0565b90506115308161079c8a6101600151878760016115139190615837565b8151811061152357611523615871565b60200260200101516127c0565b90506115408860800151826127db565b608089015260a088015160c08b01516115669161155c916127c0565b8b60c001516127c0565b60a0890152505b8a610160015182601b811061158457611584615871565b6020020151848361159760246001615837565b6115a19190615837565b815181106115b1576115b1615871565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f00000000000000000000000000000000000000000000000000000000000000006024615837565b8151811061161757611617615871565b60209081029190910101526080850151836116537f00000000000000000000000000000000000000000000000000000000000000006024615837565b8151811061166357611663615871565b60209081029190910101526101c089015180836116a17f00000000000000000000000000000000000000000000000000000000000000006024615837565b6116ac906001615837565b815181106116bc576116bc615871565b602090810291909101015260e0880151846116f87f00000000000000000000000000000000000000000000000000000000000000006024615837565b611703906001615837565b8151811061171357611713615871565b6020026020010181815250505f61172a8486612d71565b90505f61173683612e81565b90505f6117478d5f01518484612ec7565b90505f5f6117578f5f0151612f3d565b9150915061176482612ffe565b61176d81612ffe565b61177885838561309d565b945061178584828561309d565b935061179185856130c3565b9f9e505050505050505050505050505050565b6117ac61523d565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a5196760d3c4c4699dcf95524b2b2c734674df31e42dbacf81e51ee788884d81527edb366b36fb98785e24eaaab6ba95a6b9abce32f46a5e3f16eb9c49b08129bb818301526060830152825180840184527e86a57cfc6bbd27ed8bdc3f54e36630f5b83bb28d9a31f7ed90f75f31ccffe081527f09dd430fbdf4be8337648e762baf7154482cda849b5e0dd5cabf22975b412770818301526080830152825180840184527f0e9a4d468ea4bf159a9d8778abea4cc2dcddbce1c7e56558156710e967d4f8fa81527f1ac3ffc33a46d2e80ced57893769de75004e68f13ee7de79fde8bc6c343b23358183015260a0830152825180840184527f2cca29150f9bb44092e541d8d802107f90591d181519e9a0853d22ab92594e8681527f11583d4e2c68d28e24bc75fbf9f170c5571ee626f4465ce64afacfc7aafba1918183015260c0830152825180840184527f0df0c6a938a63839f332f598efc64e955ebb3d3a6ac26f4cfd9b18ad2558fe4a81527f0c71a2db6022e44f7920ce6dadc5c53322c80d1e1428b41553e31e4f70e2e7728183015260e0830152825180840184527f1053c2fcd23f5a0d90fa49e7b241ee1b68c8c14fdd292f7356e673503ed5cced81527f26e86c0a8449667be64251606d387bdd64d528606479d5ebd618f92e0edd317381830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1388f5fac8a24ebdeff01b83e77ee537989af94a962de1ea2cdcddb8d24fdcd081527f1d4505021fe998b9c5acf3dd77dec247541176485825fad4f65297855ad762db81830152610140830152825180840184527f0f563b0a77cf43eaa91cd701f0f48a45eb9ea148c9fee32d2f33553210f0fe0b81527f1405332a2eb7063986fc9197774ad750dd7c7792903d1971678adacb404e626081830152610160830152825180840184527f1c7d7fa69df39f29088e3427414c1d04c440acdaac60dd74fc02165c3bed285681527f2a3e9270a7a7062a29ddc64e43d919d22418ccd3660e6f30795cbe767945770f81830152610180830152825180840184527f11013b44b4e810ad645d9176666c9992a2c996e8b09843658a040cc62bbeae7c81527f050746b205a9202bc213eb0ba93751b487afe5b57bef10e0458203a8630da864818301526101a0830152825180840184527f06dac066d439fbaf0100f55bb2453c3d7444d4c462f5013a63341ff728e7061181527f1c1ef838107cb339eaa490cd2b100cac4305e9dd6d469b062bb162a2fc8d8576818301526101c0830152825180840184527f27c4b9d08eee260ecadd1e6f21da34bfe359e0543fc1e34e2a5d60a9f762f27081527f10c55f33b0a4099718d78f76ae76b0039146289f378219dbda8eb20ab8d13e3a818301526101e0830152825180840184527f147b0fae9c452cf95e684186f426fafe89e07a7085e60669589c82e9f73b12f881527f0e21528b28a34363ad683bc41af60699e668a4047c58e1f9d94ac6d77563c45381830152610200830152825180840184527f12b147243797a8c52d6a26db2082d52b68307e2c289b4498b2535c7a5de976a581527f0419ba20489ce708220b41f5ef12e9cfb4135a09888ea3d50243ed69166e9aee81830152610220830152825180840184527f281038f6df902695df7821ef69144a1f231674a131c49bb2b32acc73d1b3971781527f2c94882aa986077cbe1478cd5f7e6ef370f4d78ae46c93cc0e6d7bc179d8c23c81830152610240830152825180840184527f28de4ed194aa2e22e9a0fe062f7ec630239bbad3774ee813c8b9bbd36f3aeb2b81527f05306badb10e95c62e081f46d6578b71893fc9577e48b90f96d5f3db777fe71d81830152610260830152825180840184527f01635c679f5c1e1e01623765451dd777e45505fa90c27a6ed7cfe0d4877e970781527f10851539ccb25ab179d19e517ee629b71cd3fd38697b93db401e2c23aa97494581830152610280830152825180840184527ecc9f7ca6e3630237c9d24b54fe8509593a6eb1fca2b6d8597abb8dd2255fa181527f043ab8f26c088bc5e1a1ef850f33d8f4b4f83591fa0b30c9f127c6e726762590818301526102a0830152825180840184527f23a72167f9a3fb5ca62229a9812407e3599e3891de520848cc8dbba8bfd7d97281527f2794f13957e0c832f79dad412433a57c11384dbfed49a7cfb09e6f2bbe4a9edb818301526102c0830152825180840184527f0a01c5b74b1b08cf7643f923fcd122dfd2d466873bc333e5152e9bf518ec191a81527f2109fa17066342c33a6216074f5f10f9ccf33cc8ff17544c8bfe9a843a318163818301526102e0830152825180840184527f0d34f82b2f4ce4842852430d4d8a02f7829833e691f5e8f5c5edd419dd458bfe81527f197035bde094fb67ac0c9d033e9da0345c5aebf0a98dcf67aebcc89c26d7602d81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12a1a1e4a7e6a2fd04130583b7ee2aebbb371713e537e27d7b63b3a195584e0d83527f04b73603e0d6183ea963bea2da2d846ada8d7513c7fd44d1a6301409c023ecf1908301526103c081019190915290565b5f6103336120eb83856158b1565b61281c565b6120f8615540565b60408051808201909152805f516020615ad15f395f51905f5261211e60205f878961584a565b612127916158b1565b61213191906158e2565b81526020908101905f516020615ad15f395f51905f529061215690604090878961584a565b61215f916158b1565b61216991906158e2565b90529392505050565b61217a615558565b5f61218888888888886132b7565b6040860191909152602085019190915290835292506121a783896135b4565b6080850191909152606084019190915291989197509095505050505050565b6121ce615588565b5f6121d76155a7565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223a9161221f918491016158f5565b6040516020818303038152906040528051906020012061281c565b91506122458261363b565b6020850152835260015b600261225d6001601c615824565b6122679190615928565b8110156122e7576122848360405160200161221f91815260200190565b925061228f8361363b565b8561229b84600261580d565b601b81106122ab576122ab615871565b60200201866122bb85600261580d565b6122c6906001615837565b601b81106122d6576122d6615871565b60200201919091525260010161224f565b506122f46001601c615824565b60011660011480156123115750600261230f6001601c615824565b115b1561236b5761232c8260405160200161221f91815260200190565b91505f6123388361363b565b85600161234681601c615824565b6123509190615824565b601b811061236057612360615871565b602002019190915250505b509250929050565b61237b6155c5565b5f805b838110156123cc5761239c8560405160200161221f91815260200190565b94505f6123a88661363b565b8584601c81106123ba576123ba615871565b6020020191909152505060010161237e565b509093915050565b6123dc6155c5565b5f805b8381101561249e576123ef6155e4565b8581525f5b60088110156124585787610120015183601c811061241457612414615871565b6020020151816008811061242a5761242a615871565b60200201518261243b836001615837565b6009811061244b5761244b615871565b60200201526001016123f4565b5061246d8160405160200161221f919061593b565b95505f6124798761363b565b8685601c811061248b5761248b615871565b60200201919091525050506001016123df565b5090949293505050565b5f5f6124b2615603565b8381525f5b60298110156125055785610140015181602981106124d7576124d7615871565b6020020151826124e8836001615837565b602a81106124f8576124f8615871565b60200201526001016124b7565b5061251a8160405160200161221f919061596f565b91505f6125268361363b565b5096929550919350505050565b5f8080612541600185615824565b61254c90600261580d565b612557906001615837565b6001600160401b0381111561256e5761256e615885565b604051908082528060200260200182016040528015612597578160200160208202803683370190505b50905084815f815181106125ad576125ad615871565b60209081029190910101525f5b6125c5600186615824565b8110156126785786610160015181601b81106125e3576125e3615871565b602002015151826125f583600261580d565b612600906001615837565b8151811061261057612610615871565b60200260200101818152505086610160015181601b811061263357612633615871565b6020020151602001518282600261264a919061580d565b612655906002615837565b8151811061266557612665615871565b60209081029190910101526001016125ba565b5061268d8160405160200161221f91906159a3565b91505f6126998361363b565b509792965091945050505050565b5f80806126b5846001615837565b6001600160401b038111156126cc576126cc615885565b6040519080825280602002602001820160405280156126f5578160200160208202803683370190505b50905084815f8151811061270b5761270b615871565b60209081029190910101525f5b848110156126785786610180015181601c811061273757612737615871565b602002015182612748836001615837565b8151811061275857612758615871565b6020908102919091010152600101612718565b5f5f612775615622565b8381526101a0850180515160208084019190915290518101516040808401919091525161251a9161221f918491016159d8565b5f5f516020615af15f395f51905f52825b0692915050565b5f5f516020615af15f395f51905f5282840990505b92915050565b5f5f516020615af15f395f51905f528284089392505050565b5f5f516020615af15f395f51905f52825f516020615af15f395f51905f520384089392505050565b5f5f516020615af15f395f51905f52826127b9565b5f6103338361079784612b7e565b81515f908190612857908560015b60200201516127db565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129495761293f8261079787846127f4565b9150600101612928565b50612952615640565b5f5b60088110156129b3575f84826008811061297057612970615871565b602002015190506129858161079789856127f4565b905061299081612b7e565b9050808383600881106129a5576129a5615871565b602002015250600101612954565b505f5b6008811015612a06575f8782600881106129d2576129d2615871565b602002015190506129ef818484600881106114ec576114ec615871565b90506129fb86826127db565b9550506001016129b6565b506109d284836127c0565b5f5f612a27600161079c856107978960016127f4565b9050612a3384826127c0565b95945050505050565b5f612a456155c5565b612a5086828561366b565b612a5c86868386613817565b612a6886868386613a03565b612a73868285613c2e565b612a7e868285613e22565b612a8a8686838661416b565b612a9586828561461e565b612aa0868285614a30565b612aab868285614df1565b6109d281856150f1565b60605f826001600160401b03811115612ad057612ad0615885565b604051908082528060200260200182016040528015612af9578160200160208202803683370190505b50905083815f81518110612b0f57612b0f615871565b602090810291909101015260015b83811015612b7657612b5182612b34600184615824565b81518110612b4457612b44615871565b6020026020010151612d66565b828281518110612b6357612b63615871565b6020908102919091010152600101612b1d565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af15f395f51905f520360808201525f516020615af15f395f51905f5260a082015260205f60c08360055afa80612bda575f5ffd5b505f51608091909101604052949350505050565b5f516020615af15f395f51905f520390565b60605f826001600160401b03811115612c1b57612c1b615885565b604051908082528060200260200182016040528015612c44578160200160208202803683370190505b509050825b8015612d5b575f85612c5c600184615824565b81518110612c6c57612c6c615871565b602002602001015190505f89600184612c859190615824565b601c8110612c9557612c95615871565b602002015190505f612cf0612cb4612cad858d6127c0565b60026127c0565b6107ba8b612cc3600189615824565b601c8110612cd357612cd3615871565b6020020151610797612cea8861079760018a6127f4565b876127f4565b9050612d1181610797610b44612d0b876107976001896127f4565b866127db565b9050868411612d47579850888085612d2a600187615824565b81518110612d3a57612d3a615871565b6020026020010181815250505b50505080612d5490615a0b565b9050612c49565b509695505050505050565b5f6127d582836127c0565b612d79615540565b5f612da57f00000000000000000000000000000000000000000000000000000000000000006024615837565b612db0906002615837565b90505f5b81811015612de657612dde858281518110612dd157612dd1615871565b6020026020010151612ffe565b600101612db4565b50604051600190815b60018401811015612e4b5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612def565b5080518452602081015160208501525080612e79576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e89615540565b5f516020615ad15f395f51905f5282602001515f516020615ad15f395f51905f52612eb49190615824565b612ebe91906158e2565b60208301525090565b5f5f5f612ed386612f3d565b91509150612edf615640565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f329161221f91849101615a20565b979650505050505050565b612f45615540565b612f4d615540565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad15f395f51905f528380095f516020615ad15f395f51905f5260035f516020615ad15f395f51905f52838709085f516020615ad15f395f51905f5284850914915050806130975760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a5615540565b6130ad615540565b6130b78386615156565b9050612a3381856151ac565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132599190615a54565b5f60405180830381855afa9150503d805f8114613291576040519150601f19603f3d011682016040523d82523d5f602084013e613296565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6a565b5f808080806132c7866001615837565b6132d2906006615837565b6001600160401b038111156132e9576132e9615885565b604051908082528060200260200182016040528015613312578160200160208202803683370190505b509050865f1b815f8151811061332a5761332a615871565b60209081029190910101525f5b613342601088615824565b8110156133935789898281811061335b5761335b615871565b90506020020135828260016133709190615837565b8151811061338057613380615871565b6020908102919091010152600101613337565b505f5b6010811015613404578a516133be9082601081106133b6576133b6615871565b602002015190565b828260106133cd8b6001615837565b6133d79190615824565b6133e19190615837565b815181106133f1576133f1615871565b6020908102919091010152600101613396565b5060208a01515181613417886001615837565b8151811061342757613427615871565b6020908102919091018101919091528a810151015181613448886001615837565b613453906001615837565b8151811061346357613463615871565b602090810291909101015260408a01515181613480886001615837565b61348b906002615837565b8151811061349b5761349b615871565b60209081029190910181019190915260408b01510151816134bd886001615837565b6134c8906003615837565b815181106134d8576134d8615871565b602090810291909101015260608a015151816134f5886001615837565b613500906004615837565b8151811061351057613510615871565b60209081029190910181019190915260608b0151015181613532886001615837565b61353d906005615837565b8151811061354d5761354d615871565b60200260200101818152505061356d8160405160200161221f91906159a3565b91506135788261363b565b6040805160208101869052929750909550613593910161221f565b91505f61359f8361363b565b50959b949a5094985090965091945050505050565b5f5f5f6135bf61565f565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136219161221f91849101615a89565b915061362c8261363b565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136568261281c565b94506136618161281c565b9350505050915091565b5f61367784600761520d565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136d86136d26136ac8560036127f4565b6107976136c76136bc8b5f61520d565b6107978c601d61520d565b6107978b601c61520d565b836127c0565b905061375961374e61373561371c6137038561079c6136f88d600261520d565b6107978e601c61520d565b61079c6137118c600361520d565b6107978d601d61520d565b61079c61372a8b600461520d565b6107978c601e61520d565b61079c6137438a600561520d565b6107978b601f61520d565b61079c88600161520d565b90506137788161079c61376d8660016127f4565b6107978a602761520d565b905061378481846127c0565b905061379081856127c0565b8552505f90506137ca6137c06137b56137aa88601c61520d565b61079c89601f61520d565b6107ba88602461520d565b61079c875f61520d565b90506137db816107978460026127f4565b90506137ec816107978460016127f4565b90506137f881836127c0565b905061380481846127c0565b9050808460015b60200201525050505050565b5f5f5f61384d61384361382b89601c61520d565b61079c6138398b601261520d565b8a606001516127c0565b87608001516127db565b90506138868161079761387c6138648b601d61520d565b61079c6138728d601361520d565b8c606001516127c0565b89608001516127db565b90506138ab8161079761387c61389d8b601e61520d565b61079c6138728d601461520d565b90506138d08161079761387c6138c28b601f61520d565b61079c6138728d601561520d565b92505f90506138f46138436138e689601c61520d565b61079c6138398b600e61520d565b90506139198161079761387c61390b8b601d61520d565b61079c6138728d600f61520d565b905061393e8161079761387c6139308b601e61520d565b61079c6138728d601061520d565b90506139638161079761387c6139558b601f61520d565b61079c6138728d601161520d565b91505f905061398a61398461397989602061520d565b61079c8a601a61520d565b846127c0565b90506139bf816107ba6139b96139a18b602861520d565b61079c6139af8d601b61520d565b8c60a001516127c0565b856127c0565b90506139cb81856127c0565b6040860152505f6139ee6139b96139e389601b61520d565b6107978a602861520d565b9050808560035b602002015250505050505050565b5f5f613a61613a49613a31613a1c61387c8a601661520d565b61079c613a2a8b601761520d565b8a516127c0565b61079c613a3f8a601861520d565b89602001516127c0565b61079c613a5789601961520d565b88604001516127c0565b91505f613a98613a7f613a7589601c61520d565b88608001516127db565b61079c613a8d8a600361520d565b6107978b602461520d565b90505f613ac1613aa989601d61520d565b61079c613ab68b5f61520d565b6107978c602561520d565b90505f613aeb613ad28a601e61520d565b61079c613ae08c600161520d565b6107978d602661520d565b9050613b2a613b12613b048561079c868d5f01516127c0565b61079c848c602001516127c0565b61079c613b208c600461520d565b8b604001516127c0565b93505050505f613b3e61398488602161520d565b90505f613b4f61398489602161520d565b90505f613b87613b6e613b638b602361520d565b61079c8c600661520d565b6107ba613b7c8c602361520d565b6107978d600661520d565b90505f613bab613ba5613b9a87896127c0565b6107978d602161520d565b836127f4565b9050613bb781886127c0565b90505f613bdf613bd1613bcb8d600661520d565b876127c0565b6107ba613bcb8e602261520d565b90505f613bed8c602361520d565b90505f613bfd613ba583846127c0565b60808c0185905260a08c018490529050613c17818b6127c0565b8b6006602002015250505050505050505050505050565b5f613c3a5f60016127f4565b90505f613c485f60026127f4565b90505f613c565f60036127f4565b90505f613c72613c6788601d61520d565b6107ba89601c61520d565b90505f613c8e613c8389601e61520d565b6107ba8a601d61520d565b90505f613caa613c9f8a601f61520d565b6107ba8b601e61520d565b90505f613cc6613cbb8b602461520d565b6107ba8c601f61520d565b905083613cd781610797818b6127db565b9050613ce781610797878a6127db565b9050613cf78161079787896127db565b9050613d08816107978d600861520d565b9050613d14818a6127c0565b60e08b01525082613d2981610797818b6127db565b9050613d3981610797868a6127db565b9050613d498161079786896127db565b9050613d5a816107978d600861520d565b9050613d66818a6127c0565b6101008b01525081613d7c81610797818b6127db565b9050613d8c81610797858a6127db565b9050613d9c8161079785896127db565b9050613dad816107978d600861520d565b9050613db9818a6127c0565b6101208b01525080613dcf81610797818b6127db565b9050613ddf81610797848a6127db565b9050613def8161079784896127db565b9050613e00816107978d600861520d565b9050613e0c818a6127c0565b610140909a019990995250505050505050505050565b613e5b6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6684601d61520d565b8152613e7384601e61520d565b6020820152613e8384602461520d565b6040820152613e9384602761520d565b6060820152613ea384602661520d565b6080820152613eb384602561520d565b60a08201525f613ec485600261520d565b90505f613ed1865f61520d565b90505f613ee58460400151855f01516127f4565b90505f613efa856020015186602001516127c0565b606086015190915086905f90613f1090806127c0565b90505f613f2e613f2889602001518a606001516127c0565b886127c0565b90505f613f4d613f468a60a001518b604001516127db565b8a516127db565b9050613f5c613bcb82886127c0565b9050613f83613f7d613f77613f7184876127f4565b886127f4565b846127db565b836127db565b9050613fab613fa0613f9583876127c0565b6107978f600961520d565b61079760018a6127f4565b6101608c015250505050602085015160808601515f91613fca916127db565b90505f613fe8613fde8860600151886127c0565b88602001516127f4565b90505f61400c613ff884876127c0565b61079c6139b98b60a001518c5f01516127f4565b905061403461402961401e838c6127c0565b6107978e600961520d565b6107976001896127f4565b6101808b0152505f9150614055905061404e8360116127db565b87516127c0565b90505f61406283846127db565b905061406e81826127db565b90505f61407c8360096127c0565b90506140a561409f6139846140988b60a001518c5f01516127db565b8b516127db565b826127f4565b60c089018190525f906140c090613f2890613f95908d6127c0565b90506140d38b600b6020020151826127db565b6101608c0152505086515f92506140fa915061404e906140f390806127db565b88516127db565b90505f61413a614115836107978a5f01518b60a001516127f4565b60208901516107ba9061412890806127db565b6107978b602001518c608001516127db565b905061415789600c602002015161079c613f28613f95858d6127c0565b89600c602002015250505050505050505050565b6141d5604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ed6141e386601e61520d565b85604001516127c0565b80825261420c9061079c61420288601d61520d565b87602001516127c0565b8082526142219061079c61404e88601c61520d565b8082526142339061079c87600161520d565b8082526020820181905261424c906107ba87601f61520d565b815261426761425c86602461520d565b6107ba87601c61520d565b608082015261428561427a86602761520d565b6107ba87601f61520d565b606082015260808101516142a79061429d90806127c0565b82608001516127f4565b6101c082015260808101516142e7906142dd906142d69061079760015f516020615af15f395f51905f52615824565b60016127db565b82606001516127c0565b60a0820181905261431d9061430f9061079761430489600261520d565b6107978a600361520d565b6107976139b988600a61520d565b83600e60200201526101c08101516143419061430f9061079761430489600261520d565b6101e084015280516143669061079761435b88600261520d565b61079789600361520d565b6101208201525f61438561437b87601f61520d565b83602001516127f4565b905061439461409f82836127c0565b60e08301526143b16143a787602661520d565b86604001516127c0565b604083018190526143d49061079c6143ca89602561520d565b88602001516127c0565b604083018190526143f49061079c6143ed89602461520d565b88516127c0565b604083015261441161440787602761520d565b83604001516127f4565b60408301525f61443061442588602661520d565b6107ba89601e61520d565b905061448261445d6136d26142d6866080015160015f516020615af15f395f51905f526107979190615824565b6107976142d6866040015160015f516020615af15f395f51905f526107979190615824565b60c084015260408301516144a49061449a90806127c0565b84604001516127f4565b61010084015260c08301516144d0906144c2906107978a600461520d565b610797613bcb8a600a61520d565b6102008601526101c08301516144ef906144c2906107978a600461520d565b61022086015261010083015161450e906144c2906107978a600461520d565b61024086015260e08301516145289061079789600461520d565b61014084015261454761453c88602561520d565b6107ba89601d61520d565b6101608401526080830151614585906144259061457a906142d69061079760015f516020615af15f395f51905f52615824565b8561016001516127c0565b61018084018190526101208401516101a085018190526145bc9161079c906107976145b18c600561520d565b6107978d600261520d565b6101a0840181905283516145dc919061079c906107976145b18c5f61520d565b6101a084018190526101408401516145f491906127db565b6101a0840181905261460e90610797613bcb8a600a61520d565b6101a0840181905285600d6139f5565b6146576040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468c61467361466886601c61520d565b61079787602561520d565b61079c61468187602461520d565b61079788601d61520d565b81526146d16146c66146ad6146a287601c61520d565b61079788601f61520d565b61079c6146bb88601d61520d565b61079789601e61520d565b6107ba86602661520d565b604082018190526146e690600160441b6127c0565b604082018190526146fc906107ba86602761520d565b60408201819052815161470f91906127db565b604082018190526147259061079786600561520d565b6040820152805161473a90600160441b6127c0565b80825261475a9061079c61474f87602461520d565b61079788602561520d565b80825260208201819052614781906107ba61477687601e61520d565b61079c88601f61520d565b602082018190526147979061079786600461520d565b60208201528051606082018190526147b49061079c86601f61520d565b606082018190526147d8906107ba6147cd87602661520d565b61079c88602761520d565b606082018190526147ed90610797865f61520d565b8160600181815250505f61481661480c836020015184604001516127db565b83606001516127db565b90506148278161079787600361520d565b905061483f61483786602561520d565b6140006127c0565b608083018190526148559061079c87602461520d565b60808301819052614868906140006127c0565b6080830181905261487e9061079c87601e61520d565b60808301819052614891906140006127c0565b608083018190526148a79061079c87601d61520d565b608083018190526148ba906140006127c0565b608083018190526148d09061079c87601c61520d565b608083018190526148e6906107ba87601f61520d565b608083018190526148fc9061079787600561520d565b608083015261490f61483786602661520d565b60a083018190526149259061079c87602561520d565b60a08301819052614938906140006127c0565b60a0830181905261494e9061079c87602461520d565b60a08301819052614961906140006127c0565b60a083018190526149779061079c87601f61520d565b60a0830181905261498a906140006127c0565b60a083018190526149a09061079c87601e61520d565b60a083018190526149b6906107ba87602761520d565b60a083018190526149cb90610797875f61520d565b60a0830181905260808301515f916149e391906127db565b90506149f48161079788600461520d565b9050614a0082826127db565b60c08401819052614a1990610797613bcb89600b61520d565b60c084018190528560136020020152505050505050565b614aa66040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614abf614ab485601c61520d565b61079c86600261520d565b8152614ada614acf85601d61520d565b61079c86600361520d565b6020820152614af8614aed85601e61520d565b61079c86600461520d565b6040820152614b16614b0b85601f61520d565b61079c86600561520d565b60608201528051614b4890614b4190614b3a90614b3390806127c0565b84516127c0565b83516127c0565b82516127c0565b60808201526020810151614b8690614b7c90614b7290614b6890806127c0565b84602001516127c0565b83602001516127c0565b82602001516127c0565b60a08201526040810151614bc490614bba90614bb090614ba690806127c0565b84604001516127c0565b83604001516127c0565b82604001516127c0565b60c08201526060810151614bf8906142dd90614bee90614be490806127c0565b84606001516127c0565b83606001516127c0565b60e0820152608081015160a0820151614c1191906127db565b61010082015260c081015160e0820151614c2b91906127db565b61012082015260a0810151614c4f90614c4490806127db565b8261012001516127db565b61014082015260e0810151614c7390614c6890806127db565b8261010001516127db565b610160820152610120810151614c8990806127db565b6101e08201819052614caa90614c9f90806127db565b8261016001516127db565b6101e0820152610100810151614cc090806127db565b6101a08201819052614ce190614cd690806127db565b8261014001516127db565b6101a08201819052610160820151614cf8916127db565b6101808201526101408101516101e0820151614d1491906127db565b6101c0820152614d286136d285600c61520d565b6102008201819052610280840151610180830151614d539261079c91610797906107ba8a602461520d565b8360146020020152614d83836015602002015161079c836102000151610797856101a001516107ba8a602561520d565b8360156020020152614db3836016602002015161079c836102000151610797856101c001516107ba8a602661520d565b8360166020020152614de3836017602002015161079c836102000151610797856101e001516107ba8a602761520d565b836017602002015250505050565b614e436040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e787f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127a8565b8152602001614ea67f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127a8565b8152602001614ed37e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127a8565b8152602001614f017f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127a8565b90529050614f1e614f1386601c61520d565b61079c87600261520d565b6101208301819052614f5d90614f5290614f4790614f3c90806127c0565b8561012001516127c0565b8461012001516127c0565b8361012001516127c0565b8252614f6a85601d61520d565b6020830152614f7a85601e61520d565b6040830152614f8a85601f61520d565b606083015281516020830151614fb29161480c91614fa891906127db565b84604001516127db565b6080830152614fc561398486600d61520d565b6101408301528151614fe690614fdc90835f6114ec565b83608001516127db565b60a0830152615012846018602002015161079c8461014001516107978660a001516107ba8b602461520d565b610300850152602082015161502d90614fdc908360016114ec565b60c0830152615059846019602002015161079c8461014001516107978660c001516107ba8b602561520d565b610320850152604082015161507490614fdc908360026114ec565b60e08301526150a084601a602002015161079c8461014001516107978660e001516107ba8b602661520d565b61034085015260608201516150bb90614fdc908360036114ec565b6101008301526150e984601b602002015161079c8461014001516107978661010001516107ba8b602761520d565b84601b61380b565b5f6150fd81848161284d565b905060015b601c81101561514f576151458261079c8684601c811061512457615124615871565b602002015186615135600187615824565b601b81106114ec576114ec615871565b9150600101615102565b5092915050565b61515e615540565b615166615540565b604051835181526020840151602082015284604082015260408160608360075afa80615190575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b4615540565b6151bc615540565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f1575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522157615221615abc565b6029811061523157615231615871565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615263615540565b8152602001615270615540565b815260200161527d615540565b815260200161528a615540565b8152602001615297615540565b81526020016152a4615540565b81526020016152b1615540565b81526020016152be615540565b81526020016152cb615540565b81526020016152d8615540565b81526020016152e5615540565b81526020016152f2615540565b81526020016152ff615540565b815260200161530c615540565b8152602001615319615540565b8152602001615326615540565b8152602001615333615540565b8152602001615340615540565b815260200161534d615540565b815260200161535a615540565b8152602001615367615540565b8152602001615374615540565b8152602001615381615540565b815260200161538e615540565b815260200161539b615540565b81526020016153a8615540565b81526020016153b5615540565b81526020016153c2615540565b905290565b604051806101e001604052806153db61567d565b81526020016153e8615540565b81526020016153f5615540565b8152602001615402615540565b815260200161540f615540565b815260200161541c615540565b8152602001615429615540565b8152602001615436615540565b8152602001615443615540565b815260200161545061569c565b815260200161545d6156ca565b815260200161546a6156e9565b81526020016153a86155c5565b60405180610100016040528061548b615558565b8152602001615498615588565b81526020016154a56155c5565b81526020016154b26155c5565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161550e615717565b815260200161551b615717565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b4615640565b8152602001906001900390816156ac5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615701615540565b8152602001906001900390816156f95790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615748575f5ffd5b84356001600160401b0381111561575d575f5ffd5b8501601f8101871361576d575f5ffd5b80356001600160401b03811115615782575f5ffd5b876020828401011115615793575f5ffd5b6020918201955093508501356001600160401b038111156157b2575f5ffd5b8501601f810187136157c2575f5ffd5b80356001600160401b038111156157d7575f5ffd5b8760208260051b84010111156157eb575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d5576127d56157f9565b818103818111156127d5576127d56157f9565b808201808211156127d5576127d56157f9565b5f5f85851115615858575f5ffd5b83861115615864575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158aa576158aa6157f9565b5060010190565b803560208310156127d5575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f0576158f06158ce565b500690565b5f8183825b60058110156159195781518352602092830192909101906001016158fa565b50505060a08201905092915050565b5f82615936576159366158ce565b500490565b5f8183825b600981101561595f578151835260209283019290910190600101615940565b5050506101208201905092915050565b5f8183825b602a811015615993578151835260209283019290910190600101615974565b5050506105408201905092915050565b81515f90829060208501835b828110156159cd5781518452602093840193909101906001016159af565b509195945050505050565b5f8183825b60038110156159fc5781518352602092830192909101906001016159dd565b50505060608201905092915050565b5f81615a1957615a196157f9565b505f190190565b5f8183825b6008811015615a44578151835260209283019290910190600101615a25565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615aad578151835260209283019290910190600101615a8e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f2e988ef495c63af8f634e406d6126999b0c82ffbfdcfac96ada52db7fd1f1a5c60c05260ae60e05260805160a05160c05160e051615b126100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d8001525f61076e0152615b125ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615736565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c81602061580e565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf83602061580e565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615825565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a6002600861580e565b905060016102a960088561580e565b6102b3919061580e565b6102bd9082615838565b90506102cb6001602961580e565b6102d59082615838565b905060026102e4600185615825565b6102ee919061580e565b6102f89082615838565b905061030560018461580e565b61030f9082615838565b905061031c60028061580e565b6103269082615838565b9050610333601082615838565b9392505050565b61034261523e565b61034a6117a4565b905090565b6103576153c8565b5f805b60108110156103b957610386868387610374602083615838565b926103819392919061584b565b6120de565b8351826010811061039957610399615872565b6020020181815250506020826103af9190615838565b915060010161035a565b506103dd8582866103cb604083615838565b926103d89392919061584b565b6120f1565b60208301526103ed604082615838565b90506104008582866103cb604083615838565b6040808401919091526104139082615838565b90506104268582866103cb604083615838565b6060830152610436604082615838565b90506104498582866103cb604083615838565b60c0830152610459604082615838565b905061046c8582866103cb604083615838565b60e083015261047c604082615838565b905061048f8582866103cb604083615838565b608083015261049f604082615838565b90506104b28582866103cb604083615838565b6101008301526104c3604082615838565b90506104d68582866103cb604083615838565b60a08301526104e6604082615838565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615838565b84610120015183601c811061052557610525615872565b6020020151826008811061053b5761053b615872565b6020020181815250506020836105519190615838565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615838565b836101400151826029811061059857610598615872565b6020020181815250506020826105ae9190615838565b9150600101610567565b505f5b6105c6600185615825565b81101561060f576105de8683876103cb604083615838565b83610160015182601b81106105f5576105f5615872565b6020020152610605604083615838565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615838565b83610180015182601c811061064257610642615872565b6020020181815250506020826106589190615838565b9150600101610612565b506106748582866103cb604083615838565b6101a0830152610685604082615838565b90506106988582866103cb604083615838565b6101c0830152509392505050565b6106ae615478565b5f6106bd888888888886612173565b90835290506106cc81896121c7565b602084019190915290506106e08184612374565b604084019190915290506106f58882856123d5565b6060840191909152905061070988826124a9565b6080840191909152905061071e888285612534565b60a084019190915290506107338882856126a8565b60c08401919091529050610747888261276c565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f0000000000000000000000000000000000000000000000000000000000000000615838565b6127a9565b6127c1565b6127dc565b90505f6107bf876107ba8a6107976107928b6001615838565b6127f5565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615825565b81101561085b575f6108188c838151811061080b5761080b615872565b602002602001015161281d565b90506108288661079786846127dc565b95506108388561079785846127dc565b9450610844848b6127dc565b9350610850838b6127f5565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615872565b6020020151905061088f8661079786846127dc565b955061089f8561079785846127dc565b94506108ab848b6127dc565b93506108b7838b6127f5565b92505060010161085e565b506108cd8484612832565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615872565b602002015190505f6109338286612840565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615872565b6020020151905061097b8382612863565b95506109a2886040015185601c811061099657610996615872565b60200201518683612a12565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3d565b90508281145b9695505050505050565b5f6109e56154d1565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab6565b90505f610a427f00000000000000000000000000000000000000000000000000000000000000006024615838565b610a4d906002615838565b6001600160401b03811115610a6457610a64615886565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f00000000000000000000000000000000000000000000000000000000000000006024615838565b610ac7906002615838565b6001600160401b03811115610ade57610ade615886565b604051908082528060200260200182016040528015610b1757816020015b610b04615541565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615872565b60200260200101516127f5565b612b7f565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615872565b60200260200101516127dc565b610140850181905261012085015160c0880151610b9e9261079c91906127c1565b845260a0860151610bce90610bb290612b7f565b6107978661012001516107ba8a60c001518961014001516127c1565b6020850152815160019083905f90610be857610be8615872565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615872565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bef565b60408501526020840151610c4290612bef565b606085015260015b60248111610ced57610c6485604001518660a001516127c1565b838281518110610c7657610c76615872565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615825565b60298110610cb057610cb0615872565b60200201518860a001516127c1565b60c086015260a08501516080880151610cd891906127c1565b60a0860152610ce68161589a565b9050610c4a565b505f5b6005811015610dbb575f610d05601d83615838565b90505f610d13602484615838565b9050610d44858381518110610d2a57610d2a615872565b602002602001015161079c89606001518a60a001516127c1565b858381518110610d5657610d56615872565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615872565b60200201518a60a001516127c1565b60c088015260a087015160808a0151610dac91906127c1565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615872565b6020026020010181905250866080015181600281518110610df757610df7615872565b60200260200101819052508660a0015181600381518110610e1a57610e1a615872565b60200260200101819052508660c0015181600481518110610e3d57610e3d615872565b60200260200101819052508660e0015181600581518110610e6057610e60615872565b602002602001018190525086610100015181600681518110610e8457610e84615872565b602002602001018190525086610120015181600781518110610ea857610ea8615872565b602002602001018190525086610140015181600881518110610ecc57610ecc615872565b602002602001018190525086610160015181600981518110610ef057610ef0615872565b6020026020010181905250866101c0015181600a81518110610f1457610f14615872565b602002602001018190525086610180015181600b81518110610f3857610f38615872565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615872565b6020026020010181905250866101e0015181600d81518110610f8057610f80615872565b602002602001018190525086610200015181600e81518110610fa457610fa4615872565b602002602001018190525086610220015181600f81518110610fc857610fc8615872565b602002602001018190525086610240015181601081518110610fec57610fec615872565b60200260200101819052508661026001518160118151811061101057611010615872565b60200260200101819052508661028001518160128151811061103457611034615872565b6020026020010181905250866102a001518160138151811061105857611058615872565b6020026020010181905250866102c001518160148151811061107c5761107c615872565b6020026020010181905250866102e00151816015815181106110a0576110a0615872565b6020026020010181905250866103000151816016815181106110c4576110c4615872565b6020026020010181905250866103200151816017815181106110e8576110e8615872565b60200260200101819052508661034001518160188151811061110c5761110c615872565b60200260200101819052508661036001518160198151811061113057611130615872565b602002602001018190525086610380015181601a8151811061115457611154615872565b6020026020010181905250866103a0015181601b8151811061117857611178615872565b6020026020010181905250866103c0015181601c8151811061119c5761119c615872565b6020026020010181905250876020015181601d815181106111bf576111bf615872565b6020026020010181905250876040015181601e815181106111e2576111e2615872565b6020026020010181905250876060015181601f8151811061120557611205615872565b602002602001018190525087608001518160208151811061122857611228615872565b60200260200101819052508760a001518160218151811061124b5761124b615872565b60200260200101819052508761010001518160228151811061126f5761126f615872565b60200260200101819052508760c001518160238151811061129257611292615872565b60200260200101819052508760e00151816024815181106112b5576112b5615872565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c01565b9050611325815f8151811061131257611312615872565b60200260200101518661012001516127c1565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c1565b8861014001516127c1565b608086015260c087015161136990612d67565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615825565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615825565b82101590508061156d57611401610b448a60e00151888560016113f19190615838565b81518110610b3757610b37615872565b61012088015260e089015161143090610b449088611420866001615838565b81518110610b7057610b70615872565b61014088015260a087015161012088015161144b91906127c1565b61016088015260a087015160c08a01516114689161134b916127c1565b610180880181905261148b9061147d90612bef565b61079c896101600151612bef565b858361149960246001615838565b6114a39190615838565b815181106114b3576114b3615872565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc9190615838565b601c81106114ec576114ec615872565b60200201516127c1565b90506115308161079c8a6101600151878760016115139190615838565b8151811061152357611523615872565b60200260200101516127c1565b90506115408860800151826127dc565b608089015260a088015160c08b01516115669161155c916127c1565b8b60c001516127c1565b60a0890152505b8a610160015182601b811061158457611584615872565b6020020151848361159760246001615838565b6115a19190615838565b815181106115b1576115b1615872565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f00000000000000000000000000000000000000000000000000000000000000006024615838565b8151811061161757611617615872565b60209081029190910101526080850151836116537f00000000000000000000000000000000000000000000000000000000000000006024615838565b8151811061166357611663615872565b60209081029190910101526101c089015180836116a17f00000000000000000000000000000000000000000000000000000000000000006024615838565b6116ac906001615838565b815181106116bc576116bc615872565b602090810291909101015260e0880151846116f87f00000000000000000000000000000000000000000000000000000000000000006024615838565b611703906001615838565b8151811061171357611713615872565b6020026020010181815250505f61172a8486612d72565b90505f61173683612e82565b90505f6117478d5f01518484612ec8565b90505f5f6117578f5f0151612f3e565b9150915061176482612fff565b61176d81612fff565b61177885838561309e565b945061178584828561309e565b935061179185856130c4565b9f9e505050505050505050505050505050565b6117ac61523e565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a5196760d3c4c4699dcf95524b2b2c734674df31e42dbacf81e51ee788884d81527edb366b36fb98785e24eaaab6ba95a6b9abce32f46a5e3f16eb9c49b08129bb818301526060830152825180840184527f0ca61c8acf2fd8c4ee209cddc90a2c543b847ce7cfb2bde9ef43dff1279e976c81527f0f2eeb02b3ef63f0473e77353f61f7df206e617cd452815497c91c71e1b23b0a818301526080830152825180840184527f0e9a4d468ea4bf159a9d8778abea4cc2dcddbce1c7e56558156710e967d4f8fa81527f1ac3ffc33a46d2e80ced57893769de75004e68f13ee7de79fde8bc6c343b23358183015260a0830152825180840184527f06e3ecf97d96e4a29ebe974899504c71772ed3bfc7fe80a91302706bb03b520181527f1784e75eae72576f33956bb52560a573361c5650ef3d52ec9a07101d8b2bc8818183015260c0830152825180840184527f0df0c6a938a63839f332f598efc64e955ebb3d3a6ac26f4cfd9b18ad2558fe4a81527f0c71a2db6022e44f7920ce6dadc5c53322c80d1e1428b41553e31e4f70e2e7728183015260e0830152825180840184527f1053c2fcd23f5a0d90fa49e7b241ee1b68c8c14fdd292f7356e673503ed5cced81527f26e86c0a8449667be64251606d387bdd64d528606479d5ebd618f92e0edd317381830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1388f5fac8a24ebdeff01b83e77ee537989af94a962de1ea2cdcddb8d24fdcd081527f1d4505021fe998b9c5acf3dd77dec247541176485825fad4f65297855ad762db81830152610140830152825180840184527f0f563b0a77cf43eaa91cd701f0f48a45eb9ea148c9fee32d2f33553210f0fe0b81527f1405332a2eb7063986fc9197774ad750dd7c7792903d1971678adacb404e626081830152610160830152825180840184527f1c7d7fa69df39f29088e3427414c1d04c440acdaac60dd74fc02165c3bed285681527f2a3e9270a7a7062a29ddc64e43d919d22418ccd3660e6f30795cbe767945770f81830152610180830152825180840184527f11013b44b4e810ad645d9176666c9992a2c996e8b09843658a040cc62bbeae7c81527f050746b205a9202bc213eb0ba93751b487afe5b57bef10e0458203a8630da864818301526101a0830152825180840184527f06dac066d439fbaf0100f55bb2453c3d7444d4c462f5013a63341ff728e7061181527f1c1ef838107cb339eaa490cd2b100cac4305e9dd6d469b062bb162a2fc8d8576818301526101c0830152825180840184527f27c4b9d08eee260ecadd1e6f21da34bfe359e0543fc1e34e2a5d60a9f762f27081527f10c55f33b0a4099718d78f76ae76b0039146289f378219dbda8eb20ab8d13e3a818301526101e0830152825180840184527f147b0fae9c452cf95e684186f426fafe89e07a7085e60669589c82e9f73b12f881527f0e21528b28a34363ad683bc41af60699e668a4047c58e1f9d94ac6d77563c45381830152610200830152825180840184527f12b147243797a8c52d6a26db2082d52b68307e2c289b4498b2535c7a5de976a581527f0419ba20489ce708220b41f5ef12e9cfb4135a09888ea3d50243ed69166e9aee81830152610220830152825180840184527f281038f6df902695df7821ef69144a1f231674a131c49bb2b32acc73d1b3971781527f2c94882aa986077cbe1478cd5f7e6ef370f4d78ae46c93cc0e6d7bc179d8c23c81830152610240830152825180840184527f28de4ed194aa2e22e9a0fe062f7ec630239bbad3774ee813c8b9bbd36f3aeb2b81527f05306badb10e95c62e081f46d6578b71893fc9577e48b90f96d5f3db777fe71d81830152610260830152825180840184527f01635c679f5c1e1e01623765451dd777e45505fa90c27a6ed7cfe0d4877e970781527f10851539ccb25ab179d19e517ee629b71cd3fd38697b93db401e2c23aa97494581830152610280830152825180840184527ecc9f7ca6e3630237c9d24b54fe8509593a6eb1fca2b6d8597abb8dd2255fa181527f043ab8f26c088bc5e1a1ef850f33d8f4b4f83591fa0b30c9f127c6e726762590818301526102a0830152825180840184527f23a72167f9a3fb5ca62229a9812407e3599e3891de520848cc8dbba8bfd7d97281527f2794f13957e0c832f79dad412433a57c11384dbfed49a7cfb09e6f2bbe4a9edb818301526102c0830152825180840184527f0a01c5b74b1b08cf7643f923fcd122dfd2d466873bc333e5152e9bf518ec191a81527f2109fa17066342c33a6216074f5f10f9ccf33cc8ff17544c8bfe9a843a318163818301526102e0830152825180840184527f0d34f82b2f4ce4842852430d4d8a02f7829833e691f5e8f5c5edd419dd458bfe81527f197035bde094fb67ac0c9d033e9da0345c5aebf0a98dcf67aebcc89c26d7602d81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12a1a1e4a7e6a2fd04130583b7ee2aebbb371713e537e27d7b63b3a195584e0d83527f04b73603e0d6183ea963bea2da2d846ada8d7513c7fd44d1a6301409c023ecf1908301526103c081019190915290565b5f6103336120ec83856158b2565b61281d565b6120f9615541565b60408051808201909152805f516020615ad25f395f51905f5261211f60205f878961584b565b612128916158b2565b61213291906158e3565b81526020908101905f516020615ad25f395f51905f529061215790604090878961584b565b612160916158b2565b61216a91906158e3565b90529392505050565b61217b615559565b5f61218988888888886132b8565b6040860191909152602085019190915290835292506121a883896135b5565b6080850191909152606084019190915291989197509095505050505050565b6121cf615589565b5f6121d86155a8565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223b91612220918491016158f6565b6040516020818303038152906040528051906020012061281d565b91506122468261363c565b6020850152835260015b600261225e6001601c615825565b6122689190615929565b8110156122e8576122858360405160200161222091815260200190565b92506122908361363c565b8561229c84600261580e565b601b81106122ac576122ac615872565b60200201866122bc85600261580e565b6122c7906001615838565b601b81106122d7576122d7615872565b602002019190915252600101612250565b506122f56001601c615825565b6001166001148015612312575060026123106001601c615825565b115b1561236c5761232d8260405160200161222091815260200190565b91505f6123398361363c565b85600161234781601c615825565b6123519190615825565b601b811061236157612361615872565b602002019190915250505b509250929050565b61237c6155c6565b5f805b838110156123cd5761239d8560405160200161222091815260200190565b94505f6123a98661363c565b8584601c81106123bb576123bb615872565b6020020191909152505060010161237f565b509093915050565b6123dd6155c6565b5f805b8381101561249f576123f06155e5565b8581525f5b60088110156124595787610120015183601c811061241557612415615872565b6020020151816008811061242b5761242b615872565b60200201518261243c836001615838565b6009811061244c5761244c615872565b60200201526001016123f5565b5061246e81604051602001612220919061593c565b95505f61247a8761363c565b8685601c811061248c5761248c615872565b60200201919091525050506001016123e0565b5090949293505050565b5f5f6124b3615604565b8381525f5b60298110156125065785610140015181602981106124d8576124d8615872565b6020020151826124e9836001615838565b602a81106124f9576124f9615872565b60200201526001016124b8565b5061251b816040516020016122209190615970565b91505f6125278361363c565b5096929550919350505050565b5f8080612542600185615825565b61254d90600261580e565b612558906001615838565b6001600160401b0381111561256f5761256f615886565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50905084815f815181106125ae576125ae615872565b60209081029190910101525f5b6125c6600186615825565b8110156126795786610160015181601b81106125e4576125e4615872565b602002015151826125f683600261580e565b612601906001615838565b8151811061261157612611615872565b60200260200101818152505086610160015181601b811061263457612634615872565b6020020151602001518282600261264b919061580e565b612656906002615838565b8151811061266657612666615872565b60209081029190910101526001016125bb565b5061268e8160405160200161222091906159a4565b91505f61269a8361363c565b509792965091945050505050565b5f80806126b6846001615838565b6001600160401b038111156126cd576126cd615886565b6040519080825280602002602001820160405280156126f6578160200160208202803683370190505b50905084815f8151811061270c5761270c615872565b60209081029190910101525f5b848110156126795786610180015181601c811061273857612738615872565b602002015182612749836001615838565b8151811061275957612759615872565b6020908102919091010152600101612719565b5f5f612776615623565b8381526101a0850180515160208084019190915290518101516040808401919091525161251b91612220918491016159d9565b5f5f516020615af25f395f51905f52825b0692915050565b5f5f516020615af25f395f51905f5282840990505b92915050565b5f5f516020615af25f395f51905f528284089392505050565b5f5f516020615af25f395f51905f52825f516020615af25f395f51905f520384089392505050565b5f5f516020615af25f395f51905f52826127ba565b5f6103338361079784612b7f565b81515f908190612858908560015b60200201516127dc565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561294a576129408261079787846127f5565b9150600101612929565b50612953615641565b5f5b60088110156129b4575f84826008811061297157612971615872565b602002015190506129868161079789856127f5565b905061299181612b7f565b9050808383600881106129a6576129a6615872565b602002015250600101612955565b505f5b6008811015612a07575f8782600881106129d3576129d3615872565b602002015190506129f0818484600881106114ec576114ec615872565b90506129fc86826127dc565b9550506001016129b7565b506109d284836127c1565b5f5f612a28600161079c856107978960016127f5565b9050612a3484826127c1565b95945050505050565b5f612a466155c6565b612a5186828561366c565b612a5d86868386613818565b612a6986868386613a04565b612a74868285613c2f565b612a7f868285613e23565b612a8b8686838661416c565b612a9686828561461f565b612aa1868285614a31565b612aac868285614df2565b6109d281856150f2565b60605f826001600160401b03811115612ad157612ad1615886565b604051908082528060200260200182016040528015612afa578160200160208202803683370190505b50905083815f81518110612b1057612b10615872565b602090810291909101015260015b83811015612b7757612b5282612b35600184615825565b81518110612b4557612b45615872565b6020026020010151612d67565b828281518110612b6457612b64615872565b6020908102919091010152600101612b1e565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af25f395f51905f520360808201525f516020615af25f395f51905f5260a082015260205f60c08360055afa80612bdb575f5ffd5b505f51608091909101604052949350505050565b5f516020615af25f395f51905f520390565b60605f826001600160401b03811115612c1c57612c1c615886565b604051908082528060200260200182016040528015612c45578160200160208202803683370190505b509050825b8015612d5c575f85612c5d600184615825565b81518110612c6d57612c6d615872565b602002602001015190505f89600184612c869190615825565b601c8110612c9657612c96615872565b602002015190505f612cf1612cb5612cae858d6127c1565b60026127c1565b6107ba8b612cc4600189615825565b601c8110612cd457612cd4615872565b6020020151610797612ceb8861079760018a6127f5565b876127f5565b9050612d1281610797610b44612d0c876107976001896127f5565b866127dc565b9050868411612d48579850888085612d2b600187615825565b81518110612d3b57612d3b615872565b6020026020010181815250505b50505080612d5590615a0c565b9050612c4a565b509695505050505050565b5f6127d682836127c1565b612d7a615541565b5f612da67f00000000000000000000000000000000000000000000000000000000000000006024615838565b612db1906002615838565b90505f5b81811015612de757612ddf858281518110612dd257612dd2615872565b6020026020010151612fff565b600101612db5565b50604051600190815b60018401811015612e4c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612df0565b5080518452602081015160208501525080612e7a576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e8a615541565b5f516020615ad25f395f51905f5282602001515f516020615ad25f395f51905f52612eb59190615825565b612ebf91906158e3565b60208301525090565b5f5f5f612ed486612f3e565b91509150612ee0615641565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f339161222091849101615a21565b979650505050505050565b612f46615541565b612f4e615541565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad25f395f51905f528380095f516020615ad25f395f51905f5260035f516020615ad25f395f51905f52838709085f516020615ad25f395f51905f5284850914915050806130985760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a6615541565b6130ae615541565b6130b88386615157565b9050612a3481856151ad565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161325a9190615a55565b5f60405180830381855afa9150503d805f8114613292576040519150601f19603f3d011682016040523d82523d5f602084013e613297565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6b565b5f808080806132c8866001615838565b6132d3906006615838565b6001600160401b038111156132ea576132ea615886565b604051908082528060200260200182016040528015613313578160200160208202803683370190505b509050865f1b815f8151811061332b5761332b615872565b60209081029190910101525f5b613343601088615825565b8110156133945789898281811061335c5761335c615872565b90506020020135828260016133719190615838565b8151811061338157613381615872565b6020908102919091010152600101613338565b505f5b6010811015613405578a516133bf9082601081106133b7576133b7615872565b602002015190565b828260106133ce8b6001615838565b6133d89190615825565b6133e29190615838565b815181106133f2576133f2615872565b6020908102919091010152600101613397565b5060208a01515181613418886001615838565b8151811061342857613428615872565b6020908102919091018101919091528a810151015181613449886001615838565b613454906001615838565b8151811061346457613464615872565b602090810291909101015260408a01515181613481886001615838565b61348c906002615838565b8151811061349c5761349c615872565b60209081029190910181019190915260408b01510151816134be886001615838565b6134c9906003615838565b815181106134d9576134d9615872565b602090810291909101015260608a015151816134f6886001615838565b613501906004615838565b8151811061351157613511615872565b60209081029190910181019190915260608b0151015181613533886001615838565b61353e906005615838565b8151811061354e5761354e615872565b60200260200101818152505061356e8160405160200161222091906159a4565b91506135798261363c565b60408051602081018690529297509095506135949101612220565b91505f6135a08361363c565b50959b949a5094985090965091945050505050565b5f5f5f6135c0615660565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136229161222091849101615a8a565b915061362d8261363c565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136578261281d565b94506136628161281d565b9350505050915091565b5f61367884600761520e565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136d96136d36136ad8560036127f5565b6107976136c86136bd8b5f61520e565b6107978c601d61520e565b6107978b601c61520e565b836127c1565b905061375a61374f61373661371d6137048561079c6136f98d600261520e565b6107978e601c61520e565b61079c6137128c600361520e565b6107978d601d61520e565b61079c61372b8b600461520e565b6107978c601e61520e565b61079c6137448a600561520e565b6107978b601f61520e565b61079c88600161520e565b90506137798161079c61376e8660016127f5565b6107978a602761520e565b905061378581846127c1565b905061379181856127c1565b8552505f90506137cb6137c16137b66137ab88601c61520e565b61079c89601f61520e565b6107ba88602461520e565b61079c875f61520e565b90506137dc816107978460026127f5565b90506137ed816107978460016127f5565b90506137f981836127c1565b905061380581846127c1565b9050808460015b60200201525050505050565b5f5f5f61384e61384461382c89601c61520e565b61079c61383a8b601261520e565b8a606001516127c1565b87608001516127dc565b90506138878161079761387d6138658b601d61520e565b61079c6138738d601361520e565b8c606001516127c1565b89608001516127dc565b90506138ac8161079761387d61389e8b601e61520e565b61079c6138738d601461520e565b90506138d18161079761387d6138c38b601f61520e565b61079c6138738d601561520e565b92505f90506138f56138446138e789601c61520e565b61079c61383a8b600e61520e565b905061391a8161079761387d61390c8b601d61520e565b61079c6138738d600f61520e565b905061393f8161079761387d6139318b601e61520e565b61079c6138738d601061520e565b90506139648161079761387d6139568b601f61520e565b61079c6138738d601161520e565b91505f905061398b61398561397a89602061520e565b61079c8a601a61520e565b846127c1565b90506139c0816107ba6139ba6139a28b602861520e565b61079c6139b08d601b61520e565b8c60a001516127c1565b856127c1565b90506139cc81856127c1565b6040860152505f6139ef6139ba6139e489601b61520e565b6107978a602861520e565b9050808560035b602002015250505050505050565b5f5f613a62613a4a613a32613a1d61387d8a601661520e565b61079c613a2b8b601761520e565b8a516127c1565b61079c613a408a601861520e565b89602001516127c1565b61079c613a5889601961520e565b88604001516127c1565b91505f613a99613a80613a7689601c61520e565b88608001516127dc565b61079c613a8e8a600361520e565b6107978b602461520e565b90505f613ac2613aaa89601d61520e565b61079c613ab78b5f61520e565b6107978c602561520e565b90505f613aec613ad38a601e61520e565b61079c613ae18c600161520e565b6107978d602661520e565b9050613b2b613b13613b058561079c868d5f01516127c1565b61079c848c602001516127c1565b61079c613b218c600461520e565b8b604001516127c1565b93505050505f613b3f61398588602161520e565b90505f613b5061398589602161520e565b90505f613b88613b6f613b648b602361520e565b61079c8c600661520e565b6107ba613b7d8c602361520e565b6107978d600661520e565b90505f613bac613ba6613b9b87896127c1565b6107978d602161520e565b836127f5565b9050613bb881886127c1565b90505f613be0613bd2613bcc8d600661520e565b876127c1565b6107ba613bcc8e602261520e565b90505f613bee8c602361520e565b90505f613bfe613ba683846127c1565b60808c0185905260a08c018490529050613c18818b6127c1565b8b6006602002015250505050505050505050505050565b5f613c3b5f60016127f5565b90505f613c495f60026127f5565b90505f613c575f60036127f5565b90505f613c73613c6888601d61520e565b6107ba89601c61520e565b90505f613c8f613c8489601e61520e565b6107ba8a601d61520e565b90505f613cab613ca08a601f61520e565b6107ba8b601e61520e565b90505f613cc7613cbc8b602461520e565b6107ba8c601f61520e565b905083613cd881610797818b6127dc565b9050613ce881610797878a6127dc565b9050613cf88161079787896127dc565b9050613d09816107978d600861520e565b9050613d15818a6127c1565b60e08b01525082613d2a81610797818b6127dc565b9050613d3a81610797868a6127dc565b9050613d4a8161079786896127dc565b9050613d5b816107978d600861520e565b9050613d67818a6127c1565b6101008b01525081613d7d81610797818b6127dc565b9050613d8d81610797858a6127dc565b9050613d9d8161079785896127dc565b9050613dae816107978d600861520e565b9050613dba818a6127c1565b6101208b01525080613dd081610797818b6127dc565b9050613de081610797848a6127dc565b9050613df08161079784896127dc565b9050613e01816107978d600861520e565b9050613e0d818a6127c1565b610140909a019990995250505050505050505050565b613e5c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6784601d61520e565b8152613e7484601e61520e565b6020820152613e8484602461520e565b6040820152613e9484602761520e565b6060820152613ea484602661520e565b6080820152613eb484602561520e565b60a08201525f613ec585600261520e565b90505f613ed2865f61520e565b90505f613ee68460400151855f01516127f5565b90505f613efb856020015186602001516127c1565b606086015190915086905f90613f1190806127c1565b90505f613f2f613f2989602001518a606001516127c1565b886127c1565b90505f613f4e613f478a60a001518b604001516127dc565b8a516127dc565b9050613f5d613bcc82886127c1565b9050613f84613f7e613f78613f7284876127f5565b886127f5565b846127dc565b836127dc565b9050613fac613fa1613f9683876127c1565b6107978f600961520e565b61079760018a6127f5565b6101608c015250505050602085015160808601515f91613fcb916127dc565b90505f613fe9613fdf8860600151886127c1565b88602001516127f5565b90505f61400d613ff984876127c1565b61079c6139ba8b60a001518c5f01516127f5565b905061403561402a61401f838c6127c1565b6107978e600961520e565b6107976001896127f5565b6101808b0152505f9150614056905061404f8360116127dc565b87516127c1565b90505f61406383846127dc565b905061406f81826127dc565b90505f61407d8360096127c1565b90506140a66140a06139856140998b60a001518c5f01516127dc565b8b516127dc565b826127f5565b60c089018190525f906140c190613f2990613f96908d6127c1565b90506140d48b600b6020020151826127dc565b6101608c0152505086515f92506140fb915061404f906140f490806127dc565b88516127dc565b90505f61413b614116836107978a5f01518b60a001516127f5565b60208901516107ba9061412990806127dc565b6107978b602001518c608001516127dc565b905061415889600c602002015161079c613f29613f96858d6127c1565b89600c602002015250505050505050505050565b6141d6604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ee6141e486601e61520e565b85604001516127c1565b80825261420d9061079c61420388601d61520e565b87602001516127c1565b8082526142229061079c61404f88601c61520e565b8082526142349061079c87600161520e565b8082526020820181905261424d906107ba87601f61520e565b815261426861425d86602461520e565b6107ba87601c61520e565b608082015261428661427b86602761520e565b6107ba87601f61520e565b606082015260808101516142a89061429e90806127c1565b82608001516127f5565b6101c082015260808101516142e8906142de906142d79061079760015f516020615af25f395f51905f52615825565b60016127dc565b82606001516127c1565b60a0820181905261431e906143109061079761430589600261520e565b6107978a600361520e565b6107976139ba88600a61520e565b83600e60200201526101c0810151614342906143109061079761430589600261520e565b6101e084015280516143679061079761435c88600261520e565b61079789600361520e565b6101208201525f61438661437c87601f61520e565b83602001516127f5565b90506143956140a082836127c1565b60e08301526143b26143a887602661520e565b86604001516127c1565b604083018190526143d59061079c6143cb89602561520e565b88602001516127c1565b604083018190526143f59061079c6143ee89602461520e565b88516127c1565b604083015261441261440887602761520e565b83604001516127f5565b60408301525f61443161442688602661520e565b6107ba89601e61520e565b905061448361445e6136d36142d7866080015160015f516020615af25f395f51905f526107979190615825565b6107976142d7866040015160015f516020615af25f395f51905f526107979190615825565b60c084015260408301516144a59061449b90806127c1565b84604001516127f5565b61010084015260c08301516144d1906144c3906107978a600461520e565b610797613bcc8a600a61520e565b6102008601526101c08301516144f0906144c3906107978a600461520e565b61022086015261010083015161450f906144c3906107978a600461520e565b61024086015260e08301516145299061079789600461520e565b61014084015261454861453d88602561520e565b6107ba89601d61520e565b6101608401526080830151614586906144269061457b906142d79061079760015f516020615af25f395f51905f52615825565b8561016001516127c1565b61018084018190526101208401516101a085018190526145bd9161079c906107976145b28c600561520e565b6107978d600261520e565b6101a0840181905283516145dd919061079c906107976145b28c5f61520e565b6101a084018190526101408401516145f591906127dc565b6101a0840181905261460f90610797613bcc8a600a61520e565b6101a0840181905285600d6139f6565b6146586040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468d61467461466986601c61520e565b61079787602561520e565b61079c61468287602461520e565b61079788601d61520e565b81526146d26146c76146ae6146a387601c61520e565b61079788601f61520e565b61079c6146bc88601d61520e565b61079789601e61520e565b6107ba86602661520e565b604082018190526146e790600160441b6127c1565b604082018190526146fd906107ba86602761520e565b60408201819052815161471091906127dc565b604082018190526147269061079786600561520e565b6040820152805161473b90600160441b6127c1565b80825261475b9061079c61475087602461520e565b61079788602561520e565b80825260208201819052614782906107ba61477787601e61520e565b61079c88601f61520e565b602082018190526147989061079786600461520e565b60208201528051606082018190526147b59061079c86601f61520e565b606082018190526147d9906107ba6147ce87602661520e565b61079c88602761520e565b606082018190526147ee90610797865f61520e565b8160600181815250505f61481761480d836020015184604001516127dc565b83606001516127dc565b90506148288161079787600361520e565b905061484061483886602561520e565b6140006127c1565b608083018190526148569061079c87602461520e565b60808301819052614869906140006127c1565b6080830181905261487f9061079c87601e61520e565b60808301819052614892906140006127c1565b608083018190526148a89061079c87601d61520e565b608083018190526148bb906140006127c1565b608083018190526148d19061079c87601c61520e565b608083018190526148e7906107ba87601f61520e565b608083018190526148fd9061079787600561520e565b608083015261491061483886602661520e565b60a083018190526149269061079c87602561520e565b60a08301819052614939906140006127c1565b60a0830181905261494f9061079c87602461520e565b60a08301819052614962906140006127c1565b60a083018190526149789061079c87601f61520e565b60a0830181905261498b906140006127c1565b60a083018190526149a19061079c87601e61520e565b60a083018190526149b7906107ba87602761520e565b60a083018190526149cc90610797875f61520e565b60a0830181905260808301515f916149e491906127dc565b90506149f58161079788600461520e565b9050614a0182826127dc565b60c08401819052614a1a90610797613bcc89600b61520e565b60c084018190528560136020020152505050505050565b614aa76040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ac0614ab585601c61520e565b61079c86600261520e565b8152614adb614ad085601d61520e565b61079c86600361520e565b6020820152614af9614aee85601e61520e565b61079c86600461520e565b6040820152614b17614b0c85601f61520e565b61079c86600561520e565b60608201528051614b4990614b4290614b3b90614b3490806127c1565b84516127c1565b83516127c1565b82516127c1565b60808201526020810151614b8790614b7d90614b7390614b6990806127c1565b84602001516127c1565b83602001516127c1565b82602001516127c1565b60a08201526040810151614bc590614bbb90614bb190614ba790806127c1565b84604001516127c1565b83604001516127c1565b82604001516127c1565b60c08201526060810151614bf9906142de90614bef90614be590806127c1565b84606001516127c1565b83606001516127c1565b60e0820152608081015160a0820151614c1291906127dc565b61010082015260c081015160e0820151614c2c91906127dc565b61012082015260a0810151614c5090614c4590806127dc565b8261012001516127dc565b61014082015260e0810151614c7490614c6990806127dc565b8261010001516127dc565b610160820152610120810151614c8a90806127dc565b6101e08201819052614cab90614ca090806127dc565b8261016001516127dc565b6101e0820152610100810151614cc190806127dc565b6101a08201819052614ce290614cd790806127dc565b8261014001516127dc565b6101a08201819052610160820151614cf9916127dc565b6101808201526101408101516101e0820151614d1591906127dc565b6101c0820152614d296136d385600c61520e565b6102008201819052610280840151610180830151614d549261079c91610797906107ba8a602461520e565b8360146020020152614d84836015602002015161079c836102000151610797856101a001516107ba8a602561520e565b8360156020020152614db4836016602002015161079c836102000151610797856101c001516107ba8a602661520e565b8360166020020152614de4836017602002015161079c836102000151610797856101e001516107ba8a602761520e565b836017602002015250505050565b614e446040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e797f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127a9565b8152602001614ea77f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127a9565b8152602001614ed47e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127a9565b8152602001614f027f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127a9565b90529050614f1f614f1486601c61520e565b61079c87600261520e565b6101208301819052614f5e90614f5390614f4890614f3d90806127c1565b8561012001516127c1565b8461012001516127c1565b8361012001516127c1565b8252614f6b85601d61520e565b6020830152614f7b85601e61520e565b6040830152614f8b85601f61520e565b606083015281516020830151614fb39161480d91614fa991906127dc565b84604001516127dc565b6080830152614fc661398586600d61520e565b6101408301528151614fe790614fdd90835f6114ec565b83608001516127dc565b60a0830152615013846018602002015161079c8461014001516107978660a001516107ba8b602461520e565b610300850152602082015161502e90614fdd908360016114ec565b60c083015261505a846019602002015161079c8461014001516107978660c001516107ba8b602561520e565b610320850152604082015161507590614fdd908360026114ec565b60e08301526150a184601a602002015161079c8461014001516107978660e001516107ba8b602661520e565b61034085015260608201516150bc90614fdd908360036114ec565b6101008301526150ea84601b602002015161079c8461014001516107978661010001516107ba8b602761520e565b84601b61380c565b5f6150fe81848161284e565b905060015b601c811015615150576151468261079c8684601c811061512557615125615872565b602002015186615136600187615825565b601b81106114ec576114ec615872565b9150600101615103565b5092915050565b61515f615541565b615167615541565b604051835181526020840151602082015284604082015260408160608360075afa80615191575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b5615541565b6151bd615541565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f2575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522257615222615abd565b6029811061523257615232615872565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615264615541565b8152602001615271615541565b815260200161527e615541565b815260200161528b615541565b8152602001615298615541565b81526020016152a5615541565b81526020016152b2615541565b81526020016152bf615541565b81526020016152cc615541565b81526020016152d9615541565b81526020016152e6615541565b81526020016152f3615541565b8152602001615300615541565b815260200161530d615541565b815260200161531a615541565b8152602001615327615541565b8152602001615334615541565b8152602001615341615541565b815260200161534e615541565b815260200161535b615541565b8152602001615368615541565b8152602001615375615541565b8152602001615382615541565b815260200161538f615541565b815260200161539c615541565b81526020016153a9615541565b81526020016153b6615541565b81526020016153c3615541565b905290565b604051806101e001604052806153dc61567e565b81526020016153e9615541565b81526020016153f6615541565b8152602001615403615541565b8152602001615410615541565b815260200161541d615541565b815260200161542a615541565b8152602001615437615541565b8152602001615444615541565b815260200161545161569d565b815260200161545e6156cb565b815260200161546b6156ea565b81526020016153a96155c6565b60405180610100016040528061548c615559565b8152602001615499615589565b81526020016154a66155c6565b81526020016154b36155c6565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161550f615718565b815260200161551c615718565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b5615641565b8152602001906001900390816156ad5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615702615541565b8152602001906001900390816156fa5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615749575f5ffd5b84356001600160401b0381111561575e575f5ffd5b8501601f8101871361576e575f5ffd5b80356001600160401b03811115615783575f5ffd5b876020828401011115615794575f5ffd5b6020918201955093508501356001600160401b038111156157b3575f5ffd5b8501601f810187136157c3575f5ffd5b80356001600160401b038111156157d8575f5ffd5b8760208260051b84010111156157ec575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d6576127d66157fa565b818103818111156127d6576127d66157fa565b808201808211156127d6576127d66157fa565b5f5f85851115615859575f5ffd5b83861115615865575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158ab576158ab6157fa565b5060010190565b803560208310156127d6575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f1576158f16158cf565b500690565b5f8183825b600581101561591a5781518352602092830192909101906001016158fb565b50505060a08201905092915050565b5f82615937576159376158cf565b500490565b5f8183825b6009811015615960578151835260209283019290910190600101615941565b5050506101208201905092915050565b5f8183825b602a811015615994578151835260209283019290910190600101615975565b5050506105408201905092915050565b81515f90829060208501835b828110156159ce5781518452602093840193909101906001016159b0565b509195945050505050565b5f8183825b60038110156159fd5781518352602092830192909101906001016159de565b50505060608201905092915050565b5f81615a1a57615a1a6157fa565b505f190190565b5f8183825b6008811015615a45578151835260209283019290910190600101615a26565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7b575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615aae578151835260209283019290910190600101615a8f565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
package/dest/InboxBytecode.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inbox bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611c30380380611c3083398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061143883390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610d856106b35f395f6107c201525f81816104f4015281816105460152818161081e01526108ce01525f81816107fd01526108ad01525f818161018001528181610228015261059b01525f81816102a3015261032001525f8181610269015281816103fa015261074f0152610d855ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80637a5080221161006e5780637a508022146102075780638ccf6b95146102265780639500ac301461024c5780639611c5c2146102645780639b24b3b01461028b578063ffa1ad741461029e575f5ffd5b80631865c57d146100aa5780631f6d510b146101535780632fb131c81461017b578063483f31ab146101ba5780635fd3c809146101db575b5f5ffd5b610111604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b610166610161366004610bbc565b6102c5565b6040805192835260208301919091520161014a565b6101a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014a565b6101cd6101c8366004610c33565b610743565b60405190815260200161014a565b600254600160c01b90046001600160401b03165b6040516001600160401b03909116815260200161014a565b6101cd610215366004610c33565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101a2565b600254600160801b90046001600160401b03166101ef565b6101a27f000000000000000000000000000000000000000000000000000000000000000081565b6101cd610299366004610c33565b610899565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610318576040516353bb503760e11b815260040161030f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461036857604051632e26721160e21b81526004810192909252602482015260440161030f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103b0576040516311d1480560e21b815260040161030f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103f657604051633b379f8b60e21b815260040161030f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104789190610c4a565b1161049657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361054057610523600183610c75565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061057960016001600160401b038716610c94565b6105839190610ca7565b61058d9190610cbe565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c657336105c9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610614826108f8565b9050610620858261097a565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161067c8a6001610c75565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061072790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078d5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107c05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610845575f848152600160205260408120610842917f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006109fb565b90505b6001600160401b03821661085a856001610cbe565b036108925761086a826001610c75565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f8181526001602052604081206108f290827f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006109fb565b92915050565b5f6108f2825f0151836020015184604001518560600151866080015160405160200161096695949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610afc565b81545f908161098882610b91565b9050835f5b828110156109cb575f818152600188016020908152604091829020548251918201529081018390526109c190606001610966565b915060010161098d565b505f828152600187016020526040812082905586549087906109ec83610cd1565b90915550929695505050505050565b83545f90808203610a1b5750505f82815260208490526040902054610af4565b828103610a395750505f828152600185016020526040902054610af4565b5f610a45600183610c94565b90505f610a5182610b91565b5f81815260018a01602052604090205490915082821c825b88811015610aeb576001808316148015610ab0575f82815260018d01602090815260409182902054825191820152908101859052610aa990606001610966565b9350610ade565b5f82815260208c8152604091829020549151610adb9261096692889201918252602082015260400190565b93505b50600191821c9101610a69565b50909450505050505b949350505050565b6040805160018082528183019092525f9160208201818036833701905050600283604051610b2a9190610d00565b602060405180830381855afa158015610b45573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b689190610c4a565b604051602001610b79929190610d0b565b6040516020818303038152906040526108f290610d29565b5f80825b80600116600103610bb55781610baa81610cd1565b92505060011c610b95565b5092915050565b5f5f5f8385036080811215610bcf575f5ffd5b6040811215610bdc575f5ffd5b50604051604081018181106001600160401b0382111715610c0b57634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610c43575f5ffd5b5035919050565b5f60208284031215610c5a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156108f2576108f2610c61565b818103818111156108f2576108f2610c61565b80820281158282048414176108f2576108f2610c61565b808201808211156108f2576108f2610c61565b5f60018201610ce257610ce2610c61565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108928284610ce9565b5f610d168285610ce9565b60ff199390931683525050601f01919050565b80516020808301519190811015610d49575f198160200360031b1b821691505b5091905056fea2646970667358221220e3df9b3e440c6b5e83764f23e14d5d780726929adafce3b0fd7ccab4086cc8f164736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220b06e5e27437693dfd98179e179821e3d4589164575e27b1b5721076b94d6be8364736f6c634300081b0033";
|
|
4
|
+
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611c30380380611c3083398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061143883390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610d856106b35f395f6107c201525f81816104f4015281816105460152818161081e01526108ce01525f81816107fd01526108ad01525f818161018001528181610228015261059b01525f81816102a3015261032001525f8181610269015281816103fa015261074f0152610d855ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c80637a5080221161006e5780637a508022146102075780638ccf6b95146102265780639500ac301461024c5780639611c5c2146102645780639b24b3b01461028b578063ffa1ad741461029e575f5ffd5b80631865c57d146100aa5780631f6d510b146101535780632fb131c81461017b578063483f31ab146101ba5780635fd3c809146101db575b5f5ffd5b610111604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b610166610161366004610bbc565b6102c5565b6040805192835260208301919091520161014a565b6101a27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014a565b6101cd6101c8366004610c33565b610743565b60405190815260200161014a565b600254600160c01b90046001600160401b03165b6040516001600160401b03909116815260200161014a565b6101cd610215366004610c33565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101a2565b600254600160801b90046001600160401b03166101ef565b6101a27f000000000000000000000000000000000000000000000000000000000000000081565b6101cd610299366004610c33565b610899565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610318576040516353bb503760e11b815260040161030f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461036857604051632e26721160e21b81526004810192909252602482015260440161030f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103b0576040516311d1480560e21b815260040161030f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103f657604051633b379f8b60e21b815260040161030f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104789190610c4a565b1161049657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361054057610523600183610c75565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061057960016001600160401b038716610c94565b6105839190610ca7565b61058d9190610cbe565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105c657336105c9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610614826108f8565b9050610620858261097a565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161067c8a6001610c75565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061072790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078d5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107c05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610845575f848152600160205260408120610842917f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006109fb565b90505b6001600160401b03821661085a856001610cbe565b036108925761086a826001610c75565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f8181526001602052604081206108f290827f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006109fb565b92915050565b5f6108f2825f0151836020015184604001518560600151866080015160405160200161096695949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610afc565b81545f908161098882610b91565b9050835f5b828110156109cb575f818152600188016020908152604091829020548251918201529081018390526109c190606001610966565b915060010161098d565b505f828152600187016020526040812082905586549087906109ec83610cd1565b90915550929695505050505050565b83545f90808203610a1b5750505f82815260208490526040902054610af4565b828103610a395750505f828152600185016020526040902054610af4565b5f610a45600183610c94565b90505f610a5182610b91565b5f81815260018a01602052604090205490915082821c825b88811015610aeb576001808316148015610ab0575f82815260018d01602090815260409182902054825191820152908101859052610aa990606001610966565b9350610ade565b5f82815260208c8152604091829020549151610adb9261096692889201918252602082015260400190565b93505b50600191821c9101610a69565b50909450505050505b949350505050565b6040805160018082528183019092525f9160208201818036833701905050600283604051610b2a9190610d00565b602060405180830381855afa158015610b45573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b689190610c4a565b604051602001610b79929190610d0b565b6040516020818303038152906040526108f290610d29565b5f80825b80600116600103610bb55781610baa81610cd1565b92505060011c610b95565b5092915050565b5f5f5f8385036080811215610bcf575f5ffd5b6040811215610bdc575f5ffd5b50604051604081018181106001600160401b0382111715610c0b57634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610c43575f5ffd5b5035919050565b5f60208284031215610c5a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908111156108f2576108f2610c61565b818103818111156108f2576108f2610c61565b80820281158282048414176108f2576108f2610c61565b808201808211156108f2576108f2610c61565b5f60018201610ce257610ce2610c61565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108928284610ce9565b5f610d168285610ce9565b60ff199390931683525050601f01919050565b80516020808301519190811015610d49575f198160200360031b1b821691505b5091905056fea2646970667358221220b147f4cc57eac85ae032996a18f8bcc995b220db493bd9b232447ee85a45e58964736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220695cbea8ef6d3c354320c5e4f3c2aa80e5ccba98de2b79e52447c779064d8c1464736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* Inbox link references.
|
|
7
7
|
*/
|