@aztec/l1-artifacts 0.0.0-test.1 → 0.0.1-commit.5daedc8

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.
Files changed (224) hide show
  1. package/dest/CoinIssuerAbi.d.ts +1614 -645
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +1955 -663
  4. package/dest/CoinIssuerBytecode.d.ts +2 -2
  5. package/dest/CoinIssuerBytecode.d.ts.map +1 -1
  6. package/dest/CoinIssuerBytecode.js +1 -1
  7. package/dest/DateGatedRelayerAbi.d.ts +2158 -0
  8. package/dest/{SlashingProposerAbi.d.ts.map → DateGatedRelayerAbi.d.ts.map} +1 -1
  9. package/dest/DateGatedRelayerAbi.js +2868 -0
  10. package/dest/DateGatedRelayerBytecode.d.ts +9 -0
  11. package/dest/DateGatedRelayerBytecode.d.ts.map +1 -0
  12. package/dest/DateGatedRelayerBytecode.js +6 -0
  13. package/dest/EmpireBaseAbi.d.ts +1726 -642
  14. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  15. package/dest/EmpireBaseAbi.js +2178 -734
  16. package/dest/EmpireBaseBytecode.d.ts +1 -1
  17. package/dest/EmpireSlasherDeploymentExtLibAbi.d.ts +2049 -0
  18. package/dest/EmpireSlasherDeploymentExtLibAbi.d.ts.map +1 -0
  19. package/dest/{SlashingProposerAbi.js → EmpireSlasherDeploymentExtLibAbi.js} +1813 -832
  20. package/dest/EmpireSlasherDeploymentExtLibBytecode.d.ts +9 -0
  21. package/dest/EmpireSlasherDeploymentExtLibBytecode.d.ts.map +1 -0
  22. package/dest/EmpireSlasherDeploymentExtLibBytecode.js +6 -0
  23. package/dest/EmpireSlashingProposerAbi.d.ts +2422 -0
  24. package/dest/EmpireSlashingProposerAbi.d.ts.map +1 -0
  25. package/dest/EmpireSlashingProposerAbi.js +3212 -0
  26. package/dest/EmpireSlashingProposerBytecode.d.ts +9 -0
  27. package/dest/EmpireSlashingProposerBytecode.d.ts.map +1 -0
  28. package/dest/EmpireSlashingProposerBytecode.js +6 -0
  29. package/dest/ErrorsAbi.d.ts +1542 -598
  30. package/dest/ErrorsAbi.d.ts.map +1 -1
  31. package/dest/ErrorsAbi.js +1822 -560
  32. package/dest/FeeAssetHandlerAbi.d.ts +2156 -0
  33. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -0
  34. package/dest/FeeAssetHandlerAbi.js +2864 -0
  35. package/dest/FeeAssetHandlerBytecode.d.ts +9 -0
  36. package/dest/FeeAssetHandlerBytecode.d.ts.map +1 -0
  37. package/dest/FeeAssetHandlerBytecode.js +6 -0
  38. package/dest/FeeJuicePortalAbi.d.ts +1560 -618
  39. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  40. package/dest/FeeJuicePortalAbi.js +1940 -680
  41. package/dest/FeeJuicePortalBytecode.d.ts +2 -2
  42. package/dest/FeeJuicePortalBytecode.d.ts.map +1 -1
  43. package/dest/FeeJuicePortalBytecode.js +1 -1
  44. package/dest/GSEAbi.d.ts +2828 -0
  45. package/dest/GSEAbi.d.ts.map +1 -0
  46. package/dest/GSEAbi.js +3748 -0
  47. package/dest/GSEBytecode.d.ts +9 -0
  48. package/dest/GSEBytecode.d.ts.map +1 -0
  49. package/dest/GSEBytecode.js +6 -0
  50. package/dest/GovernanceAbi.d.ts +1954 -891
  51. package/dest/GovernanceAbi.d.ts.map +1 -1
  52. package/dest/GovernanceAbi.js +2541 -1127
  53. package/dest/GovernanceBytecode.d.ts +2 -2
  54. package/dest/GovernanceBytecode.d.ts.map +1 -1
  55. package/dest/GovernanceBytecode.js +1 -1
  56. package/dest/GovernanceProposerAbi.d.ts +1792 -670
  57. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  58. package/dest/GovernanceProposerAbi.js +2265 -771
  59. package/dest/GovernanceProposerBytecode.d.ts +2 -2
  60. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  61. package/dest/GovernanceProposerBytecode.js +1 -1
  62. package/dest/HonkVerifierAbi.d.ts +1540 -580
  63. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  64. package/dest/HonkVerifierAbi.js +1929 -646
  65. package/dest/HonkVerifierBytecode.d.ts +2 -2
  66. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  67. package/dest/HonkVerifierBytecode.js +1 -1
  68. package/dest/IERC20Abi.d.ts +1567 -593
  69. package/dest/IERC20Abi.d.ts.map +1 -1
  70. package/dest/IERC20Abi.js +1978 -677
  71. package/dest/IERC20Bytecode.d.ts +1 -1
  72. package/dest/IVerifierAbi.d.ts +1458 -514
  73. package/dest/IVerifierAbi.d.ts.map +1 -1
  74. package/dest/IVerifierAbi.js +1862 -600
  75. package/dest/IVerifierBytecode.d.ts +1 -1
  76. package/dest/InboxAbi.d.ts +1631 -601
  77. package/dest/InboxAbi.d.ts.map +1 -1
  78. package/dest/InboxAbi.js +2026 -653
  79. package/dest/InboxBytecode.d.ts +2 -2
  80. package/dest/InboxBytecode.d.ts.map +1 -1
  81. package/dest/InboxBytecode.js +1 -1
  82. package/dest/MockVerifierAbi.d.ts +1458 -514
  83. package/dest/MockVerifierAbi.d.ts.map +1 -1
  84. package/dest/MockVerifierAbi.js +1862 -600
  85. package/dest/MockVerifierBytecode.d.ts +2 -2
  86. package/dest/MockVerifierBytecode.js +1 -1
  87. package/dest/MockZKPassportVerifierAbi.d.ts +2153 -0
  88. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -0
  89. package/dest/MockZKPassportVerifierAbi.js +2862 -0
  90. package/dest/MockZKPassportVerifierBytecode.d.ts +9 -0
  91. package/dest/MockZKPassportVerifierBytecode.d.ts.map +1 -0
  92. package/dest/MockZKPassportVerifierBytecode.js +6 -0
  93. package/dest/MultiAdderAbi.d.ts +2221 -0
  94. package/dest/MultiAdderAbi.d.ts.map +1 -0
  95. package/dest/MultiAdderAbi.js +2950 -0
  96. package/dest/MultiAdderBytecode.d.ts +9 -0
  97. package/dest/MultiAdderBytecode.d.ts.map +1 -0
  98. package/dest/MultiAdderBytecode.js +6 -0
  99. package/dest/NewGovernanceProposerPayloadAbi.d.ts +1504 -546
  100. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  101. package/dest/NewGovernanceProposerPayloadAbi.js +1908 -628
  102. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +2 -2
  103. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  104. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  105. package/dest/OutboxAbi.d.ts +1554 -609
  106. package/dest/OutboxAbi.d.ts.map +1 -1
  107. package/dest/OutboxAbi.js +1985 -721
  108. package/dest/OutboxBytecode.d.ts +2 -2
  109. package/dest/OutboxBytecode.d.ts.map +1 -1
  110. package/dest/OutboxBytecode.js +1 -1
  111. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +1502 -548
  112. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  113. package/dest/RegisterNewRollupVersionPayloadAbi.js +1907 -632
  114. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +2 -2
  115. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -1
  116. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  117. package/dest/RegistryAbi.d.ts +1676 -760
  118. package/dest/RegistryAbi.d.ts.map +1 -1
  119. package/dest/RegistryAbi.js +2042 -820
  120. package/dest/RegistryBytecode.d.ts +2 -2
  121. package/dest/RegistryBytecode.d.ts.map +1 -1
  122. package/dest/RegistryBytecode.js +1 -1
  123. package/dest/RewardDistributorAbi.d.ts +1569 -716
  124. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  125. package/dest/RewardDistributorAbi.js +1848 -706
  126. package/dest/RewardDistributorBytecode.d.ts +2 -2
  127. package/dest/RewardDistributorBytecode.d.ts.map +1 -1
  128. package/dest/RewardDistributorBytecode.js +1 -1
  129. package/dest/RewardExtLibAbi.d.ts +2057 -0
  130. package/dest/{ExtRollupLibAbi.d.ts.map → RewardExtLibAbi.d.ts.map} +1 -1
  131. package/dest/RewardExtLibAbi.js +2737 -0
  132. package/dest/RewardExtLibBytecode.d.ts +9 -0
  133. package/dest/RewardExtLibBytecode.d.ts.map +1 -0
  134. package/dest/RewardExtLibBytecode.js +6 -0
  135. package/dest/RollupAbi.d.ts +3787 -1794
  136. package/dest/RollupAbi.d.ts.map +1 -1
  137. package/dest/RollupAbi.js +4729 -2110
  138. package/dest/RollupBytecode.d.ts +131 -11
  139. package/dest/RollupBytecode.d.ts.map +1 -1
  140. package/dest/RollupBytecode.js +170 -10
  141. package/dest/RollupOperationsExtLibAbi.d.ts +2186 -0
  142. package/dest/RollupOperationsExtLibAbi.d.ts.map +1 -0
  143. package/dest/{ExtRollupLibAbi.js → RollupOperationsExtLibAbi.js} +1935 -698
  144. package/dest/RollupOperationsExtLibBytecode.d.ts +9 -0
  145. package/dest/RollupOperationsExtLibBytecode.d.ts.map +1 -0
  146. package/dest/RollupOperationsExtLibBytecode.js +6 -0
  147. package/dest/RollupStorage.d.ts +5 -5
  148. package/dest/RollupStorage.js +4 -4
  149. package/dest/SlashFactoryAbi.d.ts +1545 -560
  150. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  151. package/dest/SlashFactoryAbi.js +1968 -653
  152. package/dest/SlashFactoryBytecode.d.ts +2 -2
  153. package/dest/SlashFactoryBytecode.d.ts.map +1 -1
  154. package/dest/SlashFactoryBytecode.js +1 -1
  155. package/dest/SlasherAbi.d.ts +1666 -576
  156. package/dest/SlasherAbi.d.ts.map +1 -1
  157. package/dest/SlasherAbi.js +2082 -627
  158. package/dest/SlasherBytecode.d.ts +2 -2
  159. package/dest/SlasherBytecode.d.ts.map +1 -1
  160. package/dest/SlasherBytecode.js +1 -1
  161. package/dest/StakingAssetHandlerAbi.d.ts +2869 -0
  162. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -0
  163. package/dest/StakingAssetHandlerAbi.js +3791 -0
  164. package/dest/StakingAssetHandlerBytecode.d.ts +9 -0
  165. package/dest/StakingAssetHandlerBytecode.d.ts.map +1 -0
  166. package/dest/StakingAssetHandlerBytecode.js +6 -0
  167. package/dest/{SlashingProposerAbi.d.ts → TallySlasherDeploymentExtLibAbi.d.ts} +1369 -640
  168. package/dest/{ForwarderAbi.d.ts.map → TallySlasherDeploymentExtLibAbi.d.ts.map} +1 -1
  169. package/dest/{ForwarderAbi.js → TallySlasherDeploymentExtLibAbi.js} +1759 -648
  170. package/dest/TallySlasherDeploymentExtLibBytecode.d.ts +9 -0
  171. package/dest/TallySlasherDeploymentExtLibBytecode.d.ts.map +1 -0
  172. package/dest/TallySlasherDeploymentExtLibBytecode.js +6 -0
  173. package/dest/TallySlashingProposerAbi.d.ts +2582 -0
  174. package/dest/TallySlashingProposerAbi.d.ts.map +1 -0
  175. package/dest/TallySlashingProposerAbi.js +3420 -0
  176. package/dest/TallySlashingProposerBytecode.d.ts +9 -0
  177. package/dest/TallySlashingProposerBytecode.d.ts.map +1 -0
  178. package/dest/TallySlashingProposerBytecode.js +6 -0
  179. package/dest/TestERC20Abi.d.ts +1660 -723
  180. package/dest/TestERC20Abi.d.ts.map +1 -1
  181. package/dest/TestERC20Abi.js +2112 -863
  182. package/dest/TestERC20Bytecode.d.ts +2 -2
  183. package/dest/TestERC20Bytecode.d.ts.map +1 -1
  184. package/dest/TestERC20Bytecode.js +1 -1
  185. package/dest/TokenPortalAbi.d.ts +1600 -616
  186. package/dest/TokenPortalAbi.d.ts.map +1 -1
  187. package/dest/TokenPortalAbi.js +2003 -689
  188. package/dest/TokenPortalBytecode.d.ts +2 -2
  189. package/dest/TokenPortalBytecode.d.ts.map +1 -1
  190. package/dest/TokenPortalBytecode.js +1 -1
  191. package/dest/UniswapPortalAbi.d.ts +1511 -537
  192. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  193. package/dest/UniswapPortalAbi.js +1928 -627
  194. package/dest/UniswapPortalBytecode.d.ts +2 -2
  195. package/dest/UniswapPortalBytecode.d.ts.map +1 -1
  196. package/dest/UniswapPortalBytecode.js +1 -1
  197. package/dest/ValidatorOperationsExtLibAbi.d.ts +2411 -0
  198. package/dest/ValidatorOperationsExtLibAbi.d.ts.map +1 -0
  199. package/dest/ValidatorOperationsExtLibAbi.js +3191 -0
  200. package/dest/ValidatorOperationsExtLibBytecode.d.ts +9 -0
  201. package/dest/ValidatorOperationsExtLibBytecode.d.ts.map +1 -0
  202. package/dest/ValidatorOperationsExtLibBytecode.js +6 -0
  203. package/dest/ValidatorSelectionLibAbi.d.ts +1542 -598
  204. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  205. package/dest/ValidatorSelectionLibAbi.js +1822 -560
  206. package/dest/ValidatorSelectionLibBytecode.d.ts +2 -2
  207. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  208. package/dest/checksum.d.ts +2 -2
  209. package/dest/checksum.js +1 -1
  210. package/dest/index.d.ts +59 -39
  211. package/dest/index.d.ts.map +1 -1
  212. package/dest/index.js +58 -38
  213. package/package.json +5 -4
  214. package/dest/ExtRollupLibAbi.d.ts +0 -1262
  215. package/dest/ExtRollupLibBytecode.d.ts +0 -9
  216. package/dest/ExtRollupLibBytecode.d.ts.map +0 -1
  217. package/dest/ExtRollupLibBytecode.js +0 -6
  218. package/dest/ForwarderAbi.d.ts +0 -1220
  219. package/dest/ForwarderBytecode.d.ts +0 -9
  220. package/dest/ForwarderBytecode.d.ts.map +0 -1
  221. package/dest/ForwarderBytecode.js +0 -6
  222. package/dest/SlashingProposerBytecode.d.ts +0 -9
  223. package/dest/SlashingProposerBytecode.d.ts.map +0 -1
  224. package/dest/SlashingProposerBytecode.js +0 -6
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c0516154606100625f395f6105c101525f818161066d015281816107c001528181610c420152610d9001525f61056a01526154605ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615069565b610054565b604051901515815260200160405180910390f35b5f6100626101bb6020615145565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610195565b90505f61009787876101aa565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100cf82878786604001516104a9565b90506101208686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015160408801519193509150610554565b815160a001525f6101318383610665565b905080610151576040516313f8744360e31b815260040160405180910390fd5b5f61015d848685610766565b90508061017d576040516352ec174560e11b815260040160405180910390fd5b8180156101875750805b9a9950505050505050505050565b61019d61483b565b6101a5610f05565b905090565b6101b2614bb9565b6101bf60205f848661515c565b6101c891615183565b81526101d860406020848661515c565b6101e191615183565b60208201526101f460606040848661515c565b6101fd91615183565b604082015261021861021360e06060858761515c565b6117ec565b606082015261022f61021361016060e0858761515c565b60808201526102476102136101e0610160858761515c565b60a082015261025f6102136102606101e0858761515c565b6101008201526102786102136102e0610260858761515c565b6101208201526102916102136103606102e0858761515c565b60c08201526102a96102136103e0610360858761515c565b6101408201526102c26102136104606103e0858761515c565b60e08201526104605f5b601c811015610359575f5b6008811015610350576103038684876102f18260206151a0565b926102fe9392919061515c565b6118e0565b84610160015183601c811061031a5761031a6151b3565b60200201518260088110610330576103306151b3565b60200201818152505060208361034691906151a0565b92506001016102d7565b506001016102cc565b505f5b60288110156103ad576103768583866102f18260206151a0565b836101800151826028811061038d5761038d6151b3565b6020020181815250506020826103a391906151a0565b915060010161035c565b505f5b6103bc6001601c6151c7565b811015610412576103e18583866103d48260806151a0565b926102139392919061515c565b836101a0015182601b81106103f8576103f86151b3565b60200201526104086080836151a0565b91506001016103b0565b505f5b601c8110156104665761042f8583866102f18260206151a0565b836101c0015182601c8110610446576104466151b3565b60200201818152505060208261045c91906151a0565b9150600101610415565b506104788482856103d48260806151a0565b6101e08301526104898160806151a0565b905061049c8482856103d48260806151a0565b6102008301525092915050565b6104b1614dbe565b5f6104bf868686868561193c565b90835290506104ce81876119b9565b602084019190915290506104e181611b52565b604084019190915290506104f58682611bb3565b606084019190915290506105098682611c87565b6080840191909152905061051d8682611d12565b60a084019190915290506105318682611e80565b60c084019190915290506105458682611ef2565b5060e083015250949350505050565b5f6001808261059d866105988961059361058e8a7f00000000000000000000000000000000000000000000000000000000000000006151a0565b611f49565b611f67565b611f80565b90505f6105bb876105b68a61059361058e8b60016151a0565b611f99565b90505f5b7f000000000000000000000000000000000000000000000000000000000000000081101561064d575f61060a8b83815181106105fd576105fd6151b3565b6020026020010151611f49565b905061061a866105938684611f80565b955061062a856105938584611f80565b9450610636848b611f80565b9350610642838b611f99565b9250506001016105bf565b506106588484611fc8565b9998505050505050505050565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561073c575f86610160015182601c81106106ab576106ab6151b3565b602002015190505f6106bd8286611fd6565b9050806106dd576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106f4576106f46151b3565b602002015190506107058382611ff9565b955061072c886040015185601c8110610720576107206151b3565b602002015186836121a8565b945050505080600101905061066b565b505f610756866101800151865f01518760200151856121d3565b90508281145b9695505050505050565b5f6107946040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107a28460a00151612241565b90506107ac614e42565b6107b4614e61565b5f6107e48760e00151857f00000000000000000000000000000000000000000000000000000000000000006122a6565b805160c089015191925061080491610598908460015b6020020151611f67565b855260a08701516108309061081890612336565b825160c08a015161059391906105b6908660016107fa565b6020860152600183526101e08901516108489061239f565b82526001606086018190525f60808701525b602381116109005761087b610871875f01516123e9565b8760600151611f67565b84826046811061088d5761088d6151b3565b602002015260808601516101808b01516108d09190610598906108b16001866151c7565b602881106108c1576108c16151b3565b60200201518960600151611f67565b8660800181815250506108eb86606001518960800151611f67565b60608701526108f9816151da565b905061085a565b505f61090e602360016151a0565b90505b6028811161098f5761092961087187602001516123e9565b84826046811061093b5761093b6151b3565b602002015260808601516101808b015161095f9190610598906108b16001866151c7565b86608001818152505061097a86606001518960800151611f67565b6060870152610988816151da565b9050610911565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201526060890151610b139061239f565b6103808301526080890151610b279061239f565b6103a083015260a0890151610b3b9061239f565b6103c083015260c0890151610b4f9061239f565b6103e083015260e0890151610b639061239f565b610400830152610140890151610b789061239f565b610420830152610100890151610b8d9061239f565b610440830152610120890151610ba29061239f565b6104608301526060890151610bb69061239f565b6104808301526080890151610bca9061239f565b6104a083015260a0890151610bde9061239f565b6104c083015260c0890151610bf29061239f565b6104e083015260e0890151610c069061239f565b6105008301525f604086015260c0870151610c2090612401565b60608601525f5b610c336001601c6151c7565b811015610d78575f610c6660017f00000000000000000000000000000000000000000000000000000000000000006151c7565b82101590505f81610ccf576060880151610c969085610c868660026151a0565b601d81106107fa576107fa6151b3565b9050610ca1816123e9565b8684610caf602860016151a0565b610cb991906151a0565b60468110610cc957610cc96151b3565b60200201525b610cfe8860400151610598838f6101c00151876001610cee91906151a0565b601c81106107fa576107fa6151b3565b6040890152606088015160c08b0151610d179190611f67565b60608901526101a08c0151610d419084601b8110610d3757610d376151b3565b602002015161239f565b8584610d4f602860016151a0565b610d5991906151a0565b60468110610d6957610d696151b3565b60200201525050600101610c27565b505f610db4886060015187608001518c6101c00151887f000000000000000000000000000000000000000000000000000000000000000061240c565b6040870151909150610dcb9061059883855f6107fa565b604087018190526101c08b01515160c08a0151610df9929161059891610df19190611f67565b8560016107fa565b6040808801919091528051808201909152600181526002602082015283610e22601c60286151a0565b60468110610e3257610e326151b3565b6020020152604086015184610e49601c60286151a0565b60468110610e5957610e596151b3565b60200201526102008a01515f90610e6f9061239f565b90508084610e7f601c60286151a0565b610e8a9060016151a0565b60468110610e9a57610e9a6151b3565b602002015260e089015185610eb1601c60286151a0565b610ebc9060016151a0565b60468110610ecc57610ecc6151b3565b60200201525f610edc8587612506565b90505f610ee8836125d7565b9050610ef4828261264e565b9d9c50505050505050505050505050565b610f0d61483b565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f17aa68503600064d6f5a552d68b646ae6caf4dccec8bb0bfa21175cb731ee93381527f04116ba2cc7e4130cbf0f86a4820b38cdbc6dec554d856a1124a0ab8c70d4525818301526060830152825180840184527f0974c6b5dab656955dc2807ec95cf982132bc196ec302ebc982130c84047a69381527f165074e0eef40ab5bdf0731a57caf161e17869f4d88f76b771d2dc1260fa7c9a818301526080830152825180840184527f2dee2a6a033243c404469487277ba245612af075d74f361ff4e927ba0cb356c381527f17ba35b3d820d5c486fff3dab3105bc53f33da47aa517c841c9e2aca05fab0de8183015260a0830152825180840184527f28803f6f4692401c5e1bd8179e31440f4dd12f4b712ed7f9d879e10970bac70c81527f18a29ad57bb508408cd5204e33388de0979fd76f723c5c2db8be25b0cefe94758183015260c0830152825180840184527f19cf35761d86294f9ca14161fadc9ad6b1a9341c3007788c42e6bbb9af4a9a2c81527f1cfdaf3ff42a0528b44016c4eadd4f3c38a4fd5ca4674d5d6fad8100c2dc88798183015260e0830152825180840184527f2126c63aba3ad1c94c56f7d9f6404fa98c014378739444288447561f9f03fd2981527f0fe37649cd7c9c4d5715f6a9a6b7b0d4efbad8e46e8b76028aff5a48158b7b8b81830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f045a8fdc71e93f7dd5a2a7eeb6f86faad3f503d5748edf25d214584867f914c681527f1cd83caa9e869b1fb69ade8f72cf46743e5dc7fded7fa3bf68d71f79a8fba19481830152610140830152825180840184527f09514ea68c99cae27293f94ff703236e543e944c667eda4135a061de561925ec81527f171d9a960db918e2d2c406a095641df56243a261a321ea5440bcbf4e22477ea081830152610160830152825180840184527f2315dc1d419740df54efc5632c59d38b2712f0acdb9128206f46b29a1f7d0a6581527f0f761a293333b52f7a014637ac871c3db8675be7d75e94667c74f36917ef800281830152610180830152825180840184527f12af281668d26f228dac0a13d5b9938241c4ff8a55f75390c1d0f6d5f17376ea81527f135de164c171990861a117adb87dee8310c8ab6dc0078d07ca333861b050a6db818301526101a0830152825180840184527f0f07515b3aa09d2f2e6736f536127b383a0f422e1c30e84e3e3002cb63d447f781527f2c5cc1bf4ff81ba88b4fbe985f32e9a31dcf445406dbbc691cde471d023a2648818301526101c0830152825180840184527f2f26b8fdfc37ac6437c51ca7f0374c9ed5d14e49b0c2afa406074cf05ab3277081527f1e74fc06825b4c5d225456e717720973c3fc86dd1e2a0b852d615161f66c59b2818301526101e0830152825180840184527f141f9d1bed9e1bbb167af980d2ab02fc751f5449e3e673ed63c3d09d945e748281527f10a263e04a788e333e428cb28bb56db79bab787b7fe3b2baf333bb97b6e94c3581830152610200830152825180840184527f24f1ce241aa5836b5af78d69695fb2ea126c87f6c3be8a3defcd75d32758805181527f2deacbd9dbce1edc4b205203eb1e328a3db9270586522ebd0d06283a9fbd38f081830152610220830152825180840184527f15bb1141ca0cc27e6c2d61c431f5a5a2f3761f1acd22939b4599c3f32a74091e81527f18cf0f32af1affb704ad78b28554dffcc9a16360dac89c04ad0c14cb7f3f651681830152610240830152825180840184527f1fbca143dded3a67a05f5242c2dbb33a08a09e1241a3dc0e0119dc3b87312d0681527f066d3a6ce84e3a52ee45dc671da652353b4da4cf3f751417e159887e51b1dc8a81830152610260830152825180840184527f088a13e43746a8ff6d5038126dcdfdba8fbaef6ed11313b00eaf459d32dc432c81527f122c89d7d6bec450e5150f212f9cb68b6c8434e5680240f22978c24f5f04ac3d81830152610280830152825180840184527f1753a3a1f05e209629bcca6a1aa93da2f7d44636b6e89abbf26f02b8bc58dd9a81527f1bb550b000992ed673a09a9228a28202657b36e14a765bae9f20b48221242682818301526102a0830152825180840184527f16b26f825662a71bff8bce8761d5ec00cd194ddf509e8ad55590f913591af8df81527eb0b679e9defc6c79076adad79975c32b930bb0d1f8f97b232aa94c2b0aa60b818301526102c0830152825180840184527f0785f14e096e063ef261b6222babc9d6dd38363d30fb4c76f51406c94aa2475f81527f06b670a2068958e45d8d393b227e3ea8cb8c9e6a4d7e147a6d829ce0ace2babd818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f01bbe34848ca7b50f4bbd6ab4d295c457612b005facae667648698439270811f83527f036aa18f3a0dca36b4778d5d9f2de52a074b61bc60a2d458243f56864f065b8b908301526103a081019190915290565b61181360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6080821461185e5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b60408051608081019091528061187760205f868861515c565b61188091615183565b815260209081019061189690604090868861515c565b61189f91615183565b81526020016118b260606040868861515c565b6118bb91615183565b81526020016118ce60806060868861515c565b6118d791615183565b90529392505050565b5f602082146119285760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b6044820152606401611855565b61193561058e8385615183565b9392505050565b61196f6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61197c87878787612852565b60408601919091526020850191909152908352925061199b8388612c85565b60808501919091526060840191909152919791965090945050505050565b6119c1614e9a565b5f6119ca614eb9565b8481526101408401805151602080840191909152815181015160408085019190915282518101516060808601919091529251830151608085015260e080880180515160a0870152805184015160c087015280518301519186019190915251909201516101008401529051611a5f91611a44918491016151f2565b60405160208183030381529060405280519060200120611f49565b9150611a6a82612d58565b6020850152835260015b611a806002601961523a565b811015611b0057611a9d83604051602001611a4491815260200190565b9250611aa883612d58565b85611ab4846002615145565b60198110611ac457611ac46151b3565b6020020186611ad4856002615145565b611adf9060016151a0565b60198110611aef57611aef6151b3565b602002019190915252600101611a74565b50611b1782604051602001611a4491815260200190565b91505f611b2383612d58565b85611b30600160196151c7565b60198110611b4057611b406151b3565b60200201919091525050509250929050565b611b5a614ed8565b5f805b601c811015611bac57611b7c84604051602001611a4491815260200190565b93505f611b8885612d58565b8584601c8110611b9a57611b9a6151b3565b60200201919091525050600101611b5d565b5090929050565b611bbb614ed8565b5f805b601c811015611c7e57611bcf614eb9565b8481525f5b6008811015611c385786610160015183601c8110611bf457611bf46151b3565b60200201518160088110611c0a57611c0a6151b3565b602002015182611c1b8360016151a0565b60098110611c2b57611c2b6151b3565b6020020152600101611bd4565b50611c4d81604051602001611a4491906151f2565b94505f611c5986612d58565b8685601c8110611c6b57611c6b6151b3565b6020020191909152505050600101611bbe565b50909391925050565b5f5f611c91614ef7565b8381525f5b6028811015611ce4578561018001518160288110611cb657611cb66151b3565b602002015182611cc78360016151a0565b60298110611cd757611cd76151b3565b6020020152600101611c96565b50611cf981604051602001611a44919061524d565b91505f611d0583612d58565b5096929550919350505050565b5f5f611d1c614f16565b8381525f5b611d2d6001601c6151c7565b811015611e6b57856101a0015181601b8110611d4b57611d4b6151b3565b60200201515182611d5d836004615145565b611d689060016151a0565b606d8110611d7857611d786151b3565b60200201526101a086015181601b8110611d9457611d946151b3565b60200201516020015182826004611dab9190615145565b611db69060026151a0565b606d8110611dc657611dc66151b3565b60200201526101a086015181601b8110611de257611de26151b3565b60200201516040015182611df7836004615145565b611e029060036151a0565b606d8110611e1257611e126151b3565b60200201526101a086015181601b8110611e2e57611e2e6151b3565b60200201516060015182611e43836004615145565b611e4e9060046151a0565b606d8110611e5e57611e5e6151b3565b6020020152600101611d21565b50611cf981604051602001611a449190615281565b5f5f611e8a614f35565b8381525f5b601c811015611edd57856101c0015181601c8110611eaf57611eaf6151b3565b602002015182611ec08360016151a0565b601d8110611ed057611ed06151b3565b6020020152600101611e8f565b50611cf981604051602001611a4491906152b5565b5f5f611efc614f54565b8381526101e085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611cf991611a44918491016152e9565b5f611f615f51602061540b5f395f51905f528361531c565b92915050565b5f5f51602061540b5f395f51905f528284099392505050565b5f5f51602061540b5f395f51905f528284089392505050565b5f5f51602061540b5f395f51905f52611fbf835f51602061540b5f395f51905f526151c7565b84089392505050565b5f6119358361059384612336565b81515f908190611fee908560015b6020020151611f80565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156120e0576120d6826105938784611f99565b91506001016120bf565b506120e9614f72565b5f5b600881101561214a575f848260088110612107576121076151b3565b6020020151905061211c816105938985611f99565b905061212781612336565b90508083836008811061213c5761213c6151b3565b6020020152506001016120eb565b505f5b600881101561219d575f878260088110612169576121696151b3565b60200201519050612186818484600881106107fa576107fa6151b3565b90506121928682611f80565b95505060010161214d565b5061075c8483611f67565b5f5f6121be600161059885610593896001611f99565b90506121ca8482611f67565b95945050505050565b5f6121dc614f91565b6121e7868285612d91565b6121f386868386612f3d565b6121ff86868386613125565b61220a868285613321565b612215868285613509565b6122218686838661384c565b61222c8682856140e6565b6122378682856144b1565b61075c81856147a6565b612249614ed8565b81815260015b601c8110156122a057612281826122676001846151c7565b601c8110612277576122776151b3565b6020020151612401565b8282601c8110612293576122936151b3565b602002015260010161224f565b50919050565b6122ae614f35565b836122c76122c282865f6020020151611f99565b612336565b82525f5b601c81101561232d575f6122e08560016151a0565b8211612302576122ff6122c2848885601c8110611fe457611fe46151b3565b90505b808461230f8460016151a0565b601d811061231f5761231f6151b3565b6020020152506001016122cb565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061540b5f395f51905f520360808201525f51602061540b5f395f51905f5260a082015260205f60c08360055afa905080612394575f5ffd5b50505f519392505050565b604080518082019091525f8082526020820152604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611f61825f51602061540b5f395f51905f526151c7565b5f611f618283611f67565b5f601c5b80156124fb575f846124236001846151c7565b601c8110612433576124336151b3565b602002015190505f886124476001856151c7565b601c8110612457576124576151b3565b602002015190505f8761246b6001866151c7565b601c811061247b5761247b6151b3565b602002015190505f6124b661249a612493868d611f67565b6002611f67565b6105b6846105936124b08961059360018b611f99565b88611f99565b90506124d7816105936122c26124d18861059360018a611f99565b87611f80565b9050868511806124e557819a505b5050505050806124f49061532f565b9050612410565b509395945050505050565b604080518082019091525f80825260208201525f612526601c60286151a0565b6125319060026151a0565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125bf5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612566565b50805184526020810151602085015250505092915050565b604080518082019091525f80825260208201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761263b91906151c7565b612645919061531c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127e49190615344565b5f60405180830381855afa9150503d805f811461281c576040519150601f19603f3d011682016040523d82523d5f602084013e612821565b606091505b50915091505f8180602001905181019061283b919061535a565b90508280156128475750805b979650505050505050565b5f808080806128628660036151a0565b61286d90600c6151a0565b67ffffffffffffffff81111561288557612885615379565b6040519080825280602002602001820160405280156128ae578160200160208202803683370190505b509050885f01515f1b815f815181106128c9576128c96151b3565b60200260200101818152505088602001515f1b816001815181106128ef576128ef6151b3565b60200260200101818152505088604001515f1b81600281518110612915576129156151b3565b60209081029190910101525f5b868110156129745788888281811061293c5761293c6151b3565b905060200201358282600361295191906151a0565b81518110612961576129616151b3565b6020908102919091010152600101612922565b50606089015151816129878860036151a0565b81518110612997576129976151b3565b60209081029190910181019190915260608a01510151816129b98860036151a0565b6129c49060016151a0565b815181106129d4576129d46151b3565b6020908102919091010152606089015160400151816129f48860036151a0565b6129ff9060026151a0565b81518110612a0f57612a0f6151b3565b60209081029190910101526060808a0151015181612a2e8860036151a0565b612a399060036151a0565b81518110612a4957612a496151b3565b602090810291909101015260808901515181612a668860036151a0565b612a719060046151a0565b81518110612a8157612a816151b3565b60209081029190910181019190915260808a0151015181612aa38860036151a0565b612aae9060056151a0565b81518110612abe57612abe6151b3565b602090810291909101015260808901516040015181612ade8860036151a0565b612ae99060066151a0565b81518110612af957612af96151b3565b602090810291909101015260808901516060015181612b198860036151a0565b612b249060076151a0565b81518110612b3457612b346151b3565b602090810291909101015260a08901515181612b518860036151a0565b612b5c9060086151a0565b81518110612b6c57612b6c6151b3565b60209081029190910181019190915260a08a0151015181612b8e8860036151a0565b612b999060096151a0565b81518110612ba957612ba96151b3565b602090810291909101015260a08901516040015181612bc98860036151a0565b612bd490600a6151a0565b81518110612be457612be46151b3565b602090810291909101015260a08901516060015181612c048860036151a0565b612c0f90600b6151a0565b81518110612c1f57612c1f6151b3565b602002602001018181525050612c3f81604051602001611a44919061538d565b9150612c4a82612d58565b6040805160208101869052929750909550612c659101611a44565b91505f612c7183612d58565b50959a949950949750909550919350505050565b5f5f5f612c90614fb0565b8581526101008581018051516020808501919091528151810151604080860191909152825181015160608087019190915292518301516080860152610120808a0180515160a0880152805184015160c080890191909152815184015160e089015290518501519587019590955293890180515194860194909452835182015161014086015283518101516101608601529251909101516101808401529051612d3e91611a44918491016153c2565b9150612d4982612d58565b90979096509194509092505050565b5f80826fffffffffffffffffffffffffffffffff8116608082901c612d7c82611f49565b9450612d8781611f49565b9350505050915091565b5f612d9d84600761480b565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612dfe612df8612dd2856003611f99565b610593612ded612de28b5f61480b565b6105938c601c61480b565b6105938b601b61480b565b83611f67565b9050612e7f612e74612e5b612e42612e2985610598612e1e8d600261480b565b6105938e601b61480b565b610598612e378c600361480b565b6105938d601c61480b565b610598612e508b600461480b565b6105938c601d61480b565b610598612e698a600561480b565b6105938b601e61480b565b61059888600161480b565b9050612e9e81610598612e93866001611f99565b6105938a602661480b565b9050612eaa8184611f67565b9050612eb68185611f67565b8552505f9050612ef0612ee6612edb612ed088601b61480b565b61059889601e61480b565b6105b688602361480b565b610598875f61480b565b9050612f0181610593846002611f99565b9050612f1281610593846001611f99565b9050612f1e8183611f67565b9050612f2a8184611f67565b9050808460015b60200201525050505050565b5f5f5f612f73612f69612f5189601b61480b565b610598612f5f8b601161480b565b8a60600151611f67565b8760800151611f80565b9050612fac81610593612fa2612f8a8b601c61480b565b610598612f988d601261480b565b8c60600151611f67565b8960800151611f80565b9050612fd181610593612fa2612fc38b601d61480b565b610598612f988d601361480b565b9050612ff681610593612fa2612fe88b601e61480b565b610598612f988d601461480b565b92505f905061301a612f6961300c89601b61480b565b610598612f5f8b600d61480b565b905061303f81610593612fa26130318b601c61480b565b610598612f988d600e61480b565b905061306481610593612fa26130568b601d61480b565b610598612f988d600f61480b565b905061308981610593612fa261307b8b601e61480b565b610598612f988d601061480b565b91505f90506130b06130aa61309f89601f61480b565b6105988a601961480b565b84611f67565b90506130e5816105b66130df6130c78b602761480b565b6105986130d58d601a61480b565b8c60a00151611f67565b85611f67565b90506130f18185611f67565b6040860152505f6131146130df61310989601a61480b565b6105938a602761480b565b606090950194909452505050505050565b5f5f61318361316b61315361313e612fa28a601561480b565b61059861314c8b601661480b565b8a51611f67565b6105986131618a601761480b565b8960200151611f67565b61059861317989601861480b565b8860400151611f67565b91505f6131ba6131a161319789601b61480b565b8860800151611f80565b6105986131af8a600361480b565b6105938b602361480b565b90505f6131e36131cb89601c61480b565b6105986131d88b5f61480b565b6105938c602461480b565b90505f61320d6131f48a601d61480b565b6105986132028c600161480b565b6105938d602561480b565b905061324c61323461322685610598868d5f0151611f67565b610598848c60200151611f67565b6105986132428c600461480b565b8b60400151611f67565b93505050505f6132606130aa88602061480b565b90505f6132716130aa89602061480b565b90505f6132a96132906132858b602261480b565b6105988c600661480b565b6105b661329e8c602261480b565b6105938d600661480b565b90505f6132cd6132c76132bc8789611f67565b6105938d602061480b565b83611f99565b90506132d98188611f67565b90505f6133016132f36132ed8d600661480b565b87611f67565b6105b66132ed8e602161480b565b60808a018390529050808960055b60200201525050505050505050505050565b5f61332d5f6001611f99565b90505f61333b5f6002611f99565b90505f6133495f6003611f99565b90505f61336561335a88601c61480b565b6105b689601b61480b565b90505f61338161337689601d61480b565b6105b68a601c61480b565b90505f61339d6133928a601e61480b565b6105b68b601d61480b565b90505f6133b96133ae8b602361480b565b6105b68c601e61480b565b9050836133ca81610593818b611f80565b90506133da81610593878a611f80565b90506133ea816105938789611f80565b90506133fb816105938d600861480b565b9050613407818a611f67565b60c08b0152508261341c81610593818b611f80565b905061342c81610593868a611f80565b905061343c816105938689611f80565b905061344d816105938d600861480b565b9050613459818a611f67565b60e08b0152508161346e81610593818b611f80565b905061347e81610593858a611f80565b905061348e816105938589611f80565b905061349f816105938d600861480b565b90506134ab818a611f67565b6101008b015250806134c181610593818b611f80565b90506134d181610593848a611f80565b90506134e1816105938489611f80565b90506134f2816105938d600861480b565b90506134fe818a611f67565b9050808a600961330f565b6135426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61354d84601c61480b565b815261355a84601d61480b565b602082015261356a84602361480b565b604082015261357a84602661480b565b606082015261358a84602561480b565b608082015261359a84602461480b565b60a08201525f6135ab85600261480b565b90505f6135b8865f61480b565b90505f6135cc8460400151855f0151611f99565b90505f6135e185602001518660200151611f67565b606086015190915086905f906135f79080611f67565b90505f61361561360f89602001518a60600151611f67565b88611f67565b90505f61363461362d8a60a001518b60400151611f80565b8a51611f80565b90506136436132ed8288611f67565b905061366461365e6136586124b08487611f99565b84611f80565b83611f80565b905061368c6136816136768387611f67565b6105938f600961480b565b61059360018a611f99565b6101408c015250505050602085015160808601515f916136ab91611f80565b90505f6136c96136bf886060015188611f67565b8860200151611f99565b90505f6136ed6136d98487611f67565b6105986130df8b60a001518c5f0151611f99565b905061371561370a6136ff838c611f67565b6105938e600961480b565b610593600189611f99565b6101608b0152505f9150613736905061372f836011611f80565b8751611f67565b90505f6137438384611f80565b905061374f8182611f80565b90505f61375d836009611f67565b90506137866137806130aa6137798b60a001518c5f0151611f80565b8b51611f80565b82611f99565b60c089018190525f906137a19061360f90613676908d611f67565b90506137b48b600a602002015182611f80565b6101408c0152505086515f92506137db915061372f906137d49080611f80565b8851611f80565b90505f61381b6137f6836105938a5f01518b60a00151611f99565b60208901516105b6906138099080611f80565b6105938b602001518c60800151611f80565b905061383889600b602002015161059861360f613676858d611f67565b89600b602002015250505050505050505050565b6138e0604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6139156138fc6138f187601b61480b565b61059388602461480b565b61059861390a88602361480b565b61059389601c61480b565b815261395a61394f61393661392b88601b61480b565b61059389601e61480b565b61059861394489601c61480b565b6105938a601d61480b565b6105b687602561480b565b6040820181905261396f90600160441b611f67565b60408201819052613985906105b687602661480b565b6040820181905281516139989190611f80565b604082018190526139ae9061059387600561480b565b604082015280516139c390600160441b611f67565b8082526139e3906105986139d888602361480b565b61059389602461480b565b808252602082018190526139ff906105b6612ed088601d61480b565b60208201819052613a159061059387600461480b565b6020820152805160608201819052613a329061059887601e61480b565b60608201819052613a56906105b6613a4b88602561480b565b61059889602661480b565b60608201819052613a6b90610593875f61480b565b8160600181815250505f613a94613a8a83602001518460400151611f80565b8360600151611f80565b9050613aa58161059388600361480b565b9050613abd613ab587602461480b565b614000611f67565b60808301819052613ad39061059888602361480b565b60808301819052613ae690614000611f67565b60808301819052613afc9061059888601d61480b565b60808301819052613b0f90614000611f67565b60808301819052613b259061059888601c61480b565b60808301819052613b3890614000611f67565b60808301819052613b4e9061059888601b61480b565b60808301819052613b64906105b688601e61480b565b60808301819052613b7a9061059388600561480b565b6080830152613b8d613ab587602561480b565b60a08301819052613ba39061059888602461480b565b60a08301819052613bb690614000611f67565b60a08301819052613bcc9061059888602361480b565b60a08301819052613bdf90614000611f67565b60a08301819052613bf59061059888601e61480b565b60a08301819052613c0890614000611f67565b60a08301819052613c1e9061059888601d61480b565b60a08301819052613c34906105b688602661480b565b60a08301819052613c4990610593885f61480b565b60a0830181905260808301515f91613c619190611f80565b9050613c728161059389600461480b565b9050613c8c613c8288601d61480b565b8760400151611f67565b60c08401819052613ca5906105986131618a601c61480b565b60c08401819052613cc590610598613cbe8a601b61480b565b8951611f67565b60c08401819052613cdb9061059889600161480b565b60c0840181905260e08401819052613cf8906105b689601e61480b565b60c0840152613d0b61335a88602361480b565b610140840152613d2a613d1f88602661480b565b6105b689601e61480b565b610120840152610140830151613d4f90613d449080611f67565b846101400151611f99565b610280840152610140830151613d9190613d8690613d7f9061059360015f51602061540b5f395f51905f526151c7565b6001611f80565b846101200151611f67565b6101608401819052613dc890613dba90610593613daf8b600261480b565b6105938c600361480b565b6105936132ed8a600a61480b565b6101a0860152610280830151613dea90613dba90610593613daf8b600261480b565b6101c086015260c0830151613e1290610593613e078a600261480b565b6105938b600361480b565b6101e08401525f613e31613e2789601e61480b565b8560e00151611f99565b9050613e406137808283611f67565b6101a0850152613e5461317989602561480b565b6101008501819052613e7890610598613e6e8b602461480b565b8a60200151611f67565b6101008501819052613e929061059861314c8b602361480b565b610100850152613eb1613ea689602661480b565b856101000151611f99565b6101008501525f613ec66133928a602561480b565b9050613f1a613ef4612df8613d7f88610140015160015f51602061540b5f395f51905f5261059391906151c7565b610593613d7f88610100015160015f51602061540b5f395f51905f5261059391906151c7565b610180860152610100850151613f3f90613f349080611f67565b866101000151611f99565b6101c0860152610180850151613f7290613f5e906105938c600761480b565b610593613f6c8c600a61480b565b89611f67565b6101e0880152610280850151613f9190613f5e906105938c600761480b565b6102008801526101c0850151613fb090613f5e906105938c600761480b565b6102208801526101a0850151613fcb906105938b600761480b565b610200860152613fea613fdf8a602461480b565b6105b68b601c61480b565b610220860152610140850151614029906133929061401e90613d7f9061059360015f51602061540b5f395f51905f526151c7565b876102200151611f67565b61024086018190526101e0860151610260870181905261406091610598906105936140558e600561480b565b6105938f600261480b565b610260860181905260c08601516140839190610598906105936140558e5f61480b565b610260860181905261020086015161409b9190611f80565b61026086018190526140b1906136589086611f80565b6102a086018190526140cb90610593613f6c8c600a61480b565b6102a0860181905287600c6020020152505050505050505050565b61415c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61417561416a85601b61480b565b61059886600261480b565b815261419061418585601c61480b565b61059886600361480b565b60208201526141ae6141a385601d61480b565b61059886600461480b565b60408201526141cc6141c185601e61480b565b61059886600561480b565b606082015280516141fe906141f7906141f0906141e99080611f67565b8451611f67565b8351611f67565b8251611f67565b6080820152602081015161423c90614232906142289061421e9080611f67565b8460200151611f67565b8360200151611f67565b8260200151611f67565b60a0820152604081015161427a90614270906142669061425c9080611f67565b8460400151611f67565b8360400151611f67565b8260400151611f67565b60c082015260608101516142b8906142ae906142a49061429a9080611f67565b8460600151611f67565b8360600151611f67565b8260600151611f67565b60e0820152608081015160a08201516142d19190611f80565b61010082015260c081015160e08201516142eb9190611f80565b61012082015260a081015161430f906143049080611f80565b826101200151611f80565b61014082015260e0810151614333906143289080611f80565b826101000151611f80565b6101608201526101208101516143499080611f80565b6101e0820181905261436a9061435f9080611f80565b826101600151611f80565b6101e08201526101008101516143809080611f80565b6101a082018190526143a1906143969080611f80565b826101400151611f80565b6101a082018190526101608201516143b891611f80565b6101808201526101408101516101e08201516143d49190611f80565b6101c08201526143e8612df885600b61480b565b61020082018190526102408401516101808301516144139261059891610593906105b68a602361480b565b83601260200201526144438360136020020151610598836102000151610593856101a001516105b68a602461480b565b83601360200201526144738360146020020151610598836102000151610593856101c001516105b68a602561480b565b83601460200201526144a38360156020020151610598836102000151610593856101e001516105b68a602661480b565b836015602002015250505050565b6145036040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806145387f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f49565b81526020016145667f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f49565b81526020016145937e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f49565b81526020016145c17f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f49565b905290506145de6145d386601b61480b565b61059887600261480b565b61012083018190526146129061460790613d86906145fc9080611f67565b856101200151611f67565b836101200151611f67565b825261461f85601c61480b565b602083015261462f85601d61480b565b604083015261463f85601e61480b565b60608301528151602083015161466791613a8a9161465d9190611f80565b8460400151611f80565b608083015261467a6130aa86600c61480b565b610140830152815161469b9061469190835f6107fa565b8360800151611f80565b60a08301526146c784601660200201516105988461014001516105938660a001516105b68b602361480b565b6102c085015260208201516146e290614691908360016107fa565b60c083015261470e84601760200201516105988461014001516105938660c001516105b68b602461480b565b6102e0850152604082015161472990614691908360026107fa565b60e083015261475584601860200201516105988461014001516105938660e001516105b68b602561480b565b610300850152606082015161477090614691908360036107fa565b61010083015261479e84601960200201516105988461014001516105938661010001516105b68b602661480b565b846019612f31565b5f6147b2818481611fe4565b905060015b601a811015614804576147fa826105988684601a81106147d9576147d96151b3565b6020020151866147ea6001876151c7565b601981106107fa576107fa6151b3565b91506001016147b7565b5092915050565b5f8282602781111561481f5761481f6153f6565b6028811061482f5761482f6151b3565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161487460405180604001604052805f81526020015f81525090565b815260200161489460405180604001604052805f81526020015f81525090565b81526020016148b460405180604001604052805f81526020015f81525090565b81526020016148d460405180604001604052805f81526020015f81525090565b81526020016148f460405180604001604052805f81526020015f81525090565b815260200161491460405180604001604052805f81526020015f81525090565b815260200161493460405180604001604052805f81526020015f81525090565b815260200161495460405180604001604052805f81526020015f81525090565b815260200161497460405180604001604052805f81526020015f81525090565b815260200161499460405180604001604052805f81526020015f81525090565b81526020016149b460405180604001604052805f81526020015f81525090565b81526020016149d460405180604001604052805f81526020015f81525090565b81526020016149f460405180604001604052805f81526020015f81525090565b8152602001614a1460405180604001604052805f81526020015f81525090565b8152602001614a3460405180604001604052805f81526020015f81525090565b8152602001614a5460405180604001604052805f81526020015f81525090565b8152602001614a7460405180604001604052805f81526020015f81525090565b8152602001614a9460405180604001604052805f81526020015f81525090565b8152602001614ab460405180604001604052805f81526020015f81525090565b8152602001614ad460405180604001604052805f81526020015f81525090565b8152602001614af460405180604001604052805f81526020015f81525090565b8152602001614b1460405180604001604052805f81526020015f81525090565b8152602001614b3460405180604001604052805f81526020015f81525090565b8152602001614b5460405180604001604052805f81526020015f81525090565b8152602001614b7460405180604001604052805f81526020015f81525090565b8152602001614b9460405180604001604052805f81526020015f81525090565b8152602001614bb460405180604001604052805f81526020015f81525090565b905290565b6040518061022001604052805f81526020015f81526020015f8152602001614bfe60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c2a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c5660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c8260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cae60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cda60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d0660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3f614fcf565b8152602001614d4c614ffd565b8152602001614d5961501c565b8152602001614d66614ed8565b8152602001614d9260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614bb460405180608001604052805f81526020015f81526020015f81526020015f81525090565b604051806101000160405280614dfd6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001614e0a614e9a565b8152602001614e17614ed8565b8152602001614e24614ed8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b604080518082019091525f8082526020820152815260200190600190039081614e715790505090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614fe7614f72565b815260200190600190039081614fdf5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b61505360405180608001604052805f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161502c5790505090565b5f5f5f5f6040858703121561507c575f5ffd5b843567ffffffffffffffff811115615092575f5ffd5b8501601f810187136150a2575f5ffd5b803567ffffffffffffffff8111156150b8575f5ffd5b8760208284010111156150c9575f5ffd5b60209182019550935085013567ffffffffffffffff8111156150e9575f5ffd5b8501601f810187136150f9575f5ffd5b803567ffffffffffffffff81111561510f575f5ffd5b8760208260051b8401011115615123575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611f6157611f61615131565b5f5f8585111561516a575f5ffd5b83861115615176575f5ffd5b5050820193919092039150565b80356020831015611f61575f19602084900360031b1b1692915050565b80820180821115611f6157611f61615131565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611f6157611f61615131565b5f600182016151eb576151eb615131565b5060010190565b5f8183825b60098110156152165781518352602092830192909101906001016151f7565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261524857615248615226565b500490565b5f8183825b6029811015615271578151835260209283019290910190600101615252565b5050506105208201905092915050565b5f8183825b606d8110156152a5578151835260209283019290910190600101615286565b505050610da08201905092915050565b5f8183825b601d8110156152d95781518352602092830192909101906001016152ba565b5050506103a08201905092915050565b5f8183825b600581101561530d5781518352602092830192909101906001016152ee565b50505060a08201905092915050565b5f8261532a5761532a615226565b500690565b5f8161533d5761533d615131565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561536a575f5ffd5b81518015158114611935575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156153b7578151845260209384019390910190600101615399565b509195945050505050565b5f8183825b600d8110156153e65781518352602092830192909101906001016153c7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212206057ab0dba40ab45b1ba74cacddc0bcc199ab1e122db26e0843b64b9a2cba9f064736f6c634300081b0033";
4
+ export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f1bfabf76a8b835c7291eee4c605fb48598a556dfc788c3f1cfacf4e292576e2d60c05260ae60e05260805160a05160c05160e051615d986100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfb01525f5050615d985ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599e565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a7a565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a7a565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a91565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a7a565b905060016102a9600885615a7a565b6102b39190615a7a565b6102bd9082615aa4565b90506102cb60016029615a7a565b6102d59082615aa4565b905060026102e4600185615a91565b6102ee9190615a7a565b6102f89082615aa4565b9050610305600184615a7a565b61030f9082615aa4565b905061031c600280615a7a565b6103269082615aa4565b9050610333601082615aa4565b9392505050565b61034261520c565b61034a611786565b905090565b6103576155aa565b5f805b60108110156103b957610386868387610374602083615aa4565b9261038193929190615ab7565b6120c1565b8351826010811061039957610399615ade565b6020020181815250506020826103af9190615aa4565b915060010161035a565b506103dd8582866103cb604083615aa4565b926103d893929190615ab7565b6120d4565b60208301526103ed604082615aa4565b90506104008582866103cb604083615aa4565b6040808401919091526104139082615aa4565b90506104268582866103cb604083615aa4565b6060830152610436604082615aa4565b90506104498582866103cb604083615aa4565b60c0830152610459604082615aa4565b905061046c8582866103cb604083615aa4565b60e083015261047c604082615aa4565b905061048f8582866103cb604083615aa4565b608083015261049f604082615aa4565b90506104b28582866103cb604083615aa4565b6101008301526104c3604082615aa4565b90506104d68582866103cb604083615aa4565b60a08301526104e6604082615aa4565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa4565b84610120015183601c811061052557610525615ade565b6020020151826008811061053b5761053b615ade565b6020020181815250506020836105519190615aa4565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa4565b836101400151826029811061059857610598615ade565b6020020181815250506020826105ae9190615aa4565b9150600101610567565b505f5b6105c6600185615a91565b81101561060f576105de8683876103cb604083615aa4565b83610160015182601b81106105f5576105f5615ade565b6020020152610605604083615aa4565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa4565b83610180015182601c811061064257610642615ade565b6020020181815250506020826106589190615aa4565b9150600101610612565b506106748582866103cb604083615aa4565b6101a0830152610685604082615aa4565b90506106988582866103cb604083615aa4565b6101c0830152509392505050565b6106ae6156f2565b5f6106bd888888888886612161565b90835290506106cc81896121e0565b602084019190915290506106e081846122cf565b604084019190915290506106f588828561235e565b606084019190915290506107098882612432565b6080840191909152905061071e8882856124bd565b60a08401919091529050610733888285612632565b60c0840191909152905061074788826126f7565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa4565b612734565b61274c565b612767565b90505f6107a38761079e8a61077b6107768b6001615aa4565b612780565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a91565b81101561083f575f6107fc8c83815181106107ef576107ef615ade565b60200260200101516127a8565b905061080c8661077b8684612767565b955061081c8561077b8584612767565b9450610828848b612767565b9350610834838b612780565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615ade565b602002015190506108738661077b8684612767565b95506108838561077b8584612767565b945061088f848b612767565b935061089b838b612780565b925050600101610842565b506108b184846127bd565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615ade565b602002015190505f61091782866127cb565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615ade565b6020020151905061095f83826127eb565b9550610986886040015185601c811061097a5761097a615ade565b6020020151868361299a565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c5565b90508281145b9695505050505050565b5f6109c9615776565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3e565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610a31906002615aa4565b67ffffffffffffffff811115610a4957610a49615af2565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610aac906002615aa4565b67ffffffffffffffff811115610ac457610ac4615af2565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615ade565b6020026020010151612780565b612b08565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615ade565b6020026020010151612767565b610140850181905261012085015160c0880151610b8f92610780919061274c565b845260a0860151610bbf90610ba390612b08565b61077b86610120015161079e8a60c0015189610140015161274c565b6020850152815160019083905f90610bd957610bd9615ade565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615ade565b6020908102919091010152600160a08501525f60c085015283515f516020615d435f395f51905f5203604085015260208401515f516020615d435f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274c565b838281518110610c7357610c73615ade565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a91565b60298110610cad57610cad615ade565b60200201518860a0015161274c565b60c086015260a08501516080880151610cd5919061274c565b60a0860152610ce381615b06565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa4565b90505f610d10602484615aa4565b9050610d41858381518110610d2757610d27615ade565b602002602001015161078089606001518a60a0015161274c565b858381518110610d5357610d53615ade565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615ade565b60200201518a60a0015161274c565b60c088015260a087015160808a0151610da9919061274c565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615ade565b6020026020010181905250866080015181600281518110610df457610df4615ade565b60200260200101819052508660a0015181600381518110610e1757610e17615ade565b60200260200101819052508660c0015181600481518110610e3a57610e3a615ade565b60200260200101819052508660e0015181600581518110610e5d57610e5d615ade565b602002602001018190525086610100015181600681518110610e8157610e81615ade565b602002602001018190525086610120015181600781518110610ea557610ea5615ade565b602002602001018190525086610140015181600881518110610ec957610ec9615ade565b602002602001018190525086610160015181600981518110610eed57610eed615ade565b6020026020010181905250866101c0015181600a81518110610f1157610f11615ade565b602002602001018190525086610180015181600b81518110610f3557610f35615ade565b6020026020010181905250866101a0015181600c81518110610f5957610f59615ade565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615ade565b602002602001018190525086610200015181600e81518110610fa157610fa1615ade565b602002602001018190525086610220015181600f81518110610fc557610fc5615ade565b602002602001018190525086610240015181601081518110610fe957610fe9615ade565b60200260200101819052508661026001518160118151811061100d5761100d615ade565b60200260200101819052508661028001518160128151811061103157611031615ade565b6020026020010181905250866102a001518160138151811061105557611055615ade565b6020026020010181905250866102c001518160148151811061107957611079615ade565b6020026020010181905250866102e001518160158151811061109d5761109d615ade565b6020026020010181905250866103000151816016815181106110c1576110c1615ade565b6020026020010181905250866103200151816017815181106110e5576110e5615ade565b60200260200101819052508661034001518160188151811061110957611109615ade565b60200260200101819052508661036001518160198151811061112d5761112d615ade565b602002602001018190525086610380015181601a8151811061115157611151615ade565b6020026020010181905250866103a0015181601b8151811061117557611175615ade565b6020026020010181905250866103c0015181601c8151811061119957611199615ade565b6020026020010181905250876020015181601d815181106111bc576111bc615ade565b6020026020010181905250876040015181601e815181106111df576111df615ade565b6020026020010181905250876060015181601f8151811061120257611202615ade565b602002602001018190525087608001518160208151811061122557611225615ade565b60200260200101819052508760a001518160218151811061124857611248615ade565b60200260200101819052508761010001518160228151811061126c5761126c615ade565b60200260200101819052508760c001518160238151811061128f5761128f615ade565b60200260200101819052508760e00151816024815181106112b2576112b2615ade565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b78565b9050611322815f8151811061130f5761130f615ade565b602002602001015186610120015161274c565b608086018190526101808a01515160c0890151611353929161078091611348919061274c565b88610140015161274c565b608086015260c087015161136690612cd7565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a91565b8110156115a7576113c8610b358960e00151878460016113b89190615aa4565b81518110610b2857610b28615ade565b61012087015260e08801516113f790610b3590876113e7856001615aa4565b81518110610b6157610b61615ade565b61014087015260a0860151610120870151611412919061274c565b61016087015260a086015160c089015161143a9161142f9161274c565b87610140015161274c565b610180870181905261146f905f516020615d435f395f51905f52036101608801515f516020615d435f395f51905f5203612767565b848261147d60246001615aa4565b6114879190615aa4565b8151811061149757611497615ade565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa4565b601c81106114d0576114d0615ade565b602002015161274c565b905061151481610780896101600151868660016114f79190615aa4565b8151811061150757611507615ade565b602002602001015161274c565b9050611524876080015182612767565b608088015260a087015160c08a015161154a916115409161274c565b8a60c0015161274c565b60a08801526101608b015182601b811061156657611566615ade565b6020020151848361157960246001615aa4565b6115839190615aa4565b8151811061159357611593615ade565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b815181106115f9576115f9615ade565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b8151811061164557611645615ade565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b61168e906001615aa4565b8151811061169e5761169e615ade565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b6116e5906001615aa4565b815181106116f5576116f5615ade565b6020026020010181815250505f61170c8486612ce2565b90505f61171883612dfd565b90505f6117298d5f01518484612e4e565b90505f5f6117398f5f0151612ec4565b9150915061174682612f90565b61174f81612f90565b61175a858385613033565b9450611767848285613033565b9350611773858561306f565b9f9e505050505050505050505050505050565b61178e61520c565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f05c6d0588f966600067720c02b4bd408f2a4d5b4c7ec5c8b9ac06db5a624d0c081527f0d3d01ea100ae1b592efeb01311b459f984ccb87eceaba1775d47c7f617bd8d5818301526060830152825180840184527f1d3a5bc437493bf497c78ae53d5072cbb1708bbf67e6f81f20db853b78c3552581527f05ef8784268f38b5cdf87bc92f07056ce865574cfa9aef8c5a7296a2f8ba6d46818301526080830152825180840184527f05a3c29af264151137aab93cb0d76b38aa87440f324bd174e697d07d7f66557881527f07de3c77f1748cf0008870729cd82563d18789f9fbc32d642ecf33ddd0dd998f8183015260a0830152825180840184527f291eea56006010d3323bab8ce767acddc4746983278c79b0bdef3c2b73b40c1181527f2dbe1925d6c8dca2d04b261669d970ddae699edcbfe484e9b091363fcf20310f8183015260c0830152825180840184527f15054a406003d372f3da3bc3a736c2612ab7bd2a22a3ef44b3af312dd132973381527f11674d3ad6914bf0fccb1a3878b2ac2cae51c9376b19531353a11f9de78664108183015260e0830152825180840184527f2f0543d1ca9fad8984f3c0dd7a5fb76e996667f809906ec8c3e13b075e55c3c281527f2339fe5dfec669d1e77b0ea85da25ab2e46544f2eb36455ec29742351c2f493c81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f2e3934a105be2b325ce88ccb7bfbb9f78047ed4b7b594139ebc73561147d5fa081527f16c61c1f1ddbf2b17b93959a0ce1a9a4961cf7f76ab089b78675c4f67d6fb59481830152610140830152825180840184527f21a7b3cd9862e911830e71aba6ae432f780c13438809502be13e59c9325d1b0e81527f1a8175a176469360814cc209358261263710df261c44987ce468aefb773601ae81830152610160830152825180840184527f25f15d4b6948a38997fc6f0c5364be266073a4231a352958452e142b2640ac5181527f17d66491d6d094a4b06cba3444c15c44a181d2dea1711a37ae11352bac87daea81830152610180830152825180840184527f1d2981a6f07da88ee6dc9ae52beb506c86132ba0e6ae7925a327cc7c8a6e23f481527f250d30c90db4ff03b905b837994216035145e0a03e4abc9305532f6923b26227818301526101a0830152825180840184527f20b95079a7451bfb7be1e73ce6751aa36d0a2bd67468db96a50af5cd48ed917581527f28953024a25671e8ecfca7f62cd572b86fb4dac4924e5a5b04fde6a66b29ff8f818301526101c0830152825180840184527f2e1087f6b90ef176c6a211ef3d5c84b3d4b1cc27173f91813d58f621b486875a81527f1ffe89f968af5346a0221ecc58cda8994eba6c0d329871678bc749c8431370bd818301526101e0830152825180840184527f28cf6363f37ba833170fdbffbb279aa587499dec120cff56349ecf0d2e3165bf81527f1c3a642d62dca853bdc206d8e50c1ef22953526bcb3d3e6a62851968b20a24ed81830152610200830152825180840184527f06bbe13524c7b4302abaed38674354f15488dafffde184740be2f0f6a19d389f81527f01a22be7769d5f9663415269caff610902e01ae2f1861cc7c770f6eecc5717fd81830152610220830152825180840184527f0a4517ebf0794c5fe7f6ade2b9bd593f62799678527a166fdd04c2a2b3c520bf81527f0e42a56008f38a8ad5cb47cfb53243296bbe851014f48827fb6c7b2b23cb7e9d81830152610240830152825180840184527f0f9725aa5932e7e8dedaf1d1cd7f7d13d578d88dbcc255b34014bd2b532f02a981527f11c5e9c13cc85ae9bdc76fc9bc46d52ddaf50021af33fdc19f6e5b6feeea772e81830152610260830152825180840184527e2e6c9b307b14d4a18f575f7b9d92970fe0daf50ad30e2e3140a001795c55f081527f0e2e1acb6778ed1838e80660338b2d4278a9a33881b0d03906a745ab18ba9f0481830152610280830152825180840184527f216840b1230dc8aa2ee07e534fc4121dd109b5c4bf0db34595d29c8d676b946581527f110d0ef9f9792d221c0f05a4df2e724bf285981589929fb1a7b22f3975185d3f818301526102a0830152825180840184527f21bcd9d4be69bb96cd752fcd7ce8501bb896382d2e50873e657a28c1040b92f781527f173d506211294a9fce80dfa891a887f792ce6e3a46e5cc9448aa621396f50b1e818301526102c0830152825180840184527f1761dcde45de2295520d7e47b0c2c012bb2e5a3eb77e228dd7f32706e3c16b7c81527f19589b89228c1ff39bbe2116cc74ac273c71599ac0d7097ef978995e880c5ef7818301526102e0830152825180840184527f10f585f120039f86f6df65453084feffb12e17165ac4b68d79268ac6ca65efe181527f0aaede7724df4874d814b5b7d55ede810d4ec956f59200d32d98a602b6b2534981830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f0210e121f4f5baeccc582052641fca654c6223345a0f4130b8f42981e29eb18183527f090f6b5985d1c41fae61c53848511a6e2a0a987f78f0d60a352e56505a09d5a0908301526103c081019190915290565b5f6103336120cf8385615b1e565b6127a8565b604080518082019091525f808252602082015260408051808201909152805f516020615d235f395f51905f5261210d60205f8789615ab7565b61211691615b1e565b6121209190615b3b565b81526020908101905f516020615d235f395f51905f5290612145906040908789615ab7565b61214e91615b1e565b6121589190615b3b565b90529392505050565b6121946040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a28888888888613263565b6040860191909152602085019190915290835292506121c18389613561565b6080850191909152606084019190915291989197509095505050505050565b6121e86157e6565b5f6121f1615805565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122549161223991849101615b5a565b604051602081830303815290604052805190602001206127a8565b91505f612260836135e8565b50808552905060015b6122756001601c615a91565b8110156122c5576122a68561228b600184615a91565b601b811061229b5761229b615ade565b60200201518361274c565b8582601b81106122b8576122b8615ade565b6020020152600101612269565b5050509250929050565b6122d7615823565b5f6122ee8460405160200161223991815260200190565b93506122f9846135e8565b50825260015b838110156123565761233783612316600184615a91565b601c811061232657612326615ade565b6020020151846114c0600185615a91565b8382601c811061234957612349615ade565b60200201526001016122ff565b509093915050565b612366615823565b5f805b8381101561242857612379615842565b8581525f5b60088110156123e25787610120015183601c811061239e5761239e615ade565b602002015181600881106123b4576123b4615ade565b6020020151826123c5836001615aa4565b600981106123d5576123d5615ade565b602002015260010161237e565b506123f7816040516020016122399190615b8d565b95505f612403876135e8565b8685601c811061241557612415615ade565b6020020191909152505050600101612369565b5090949293505050565b5f5f61243c615861565b8381525f5b602981101561248f57856101400151816029811061246157612461615ade565b602002015182612472836001615aa4565b602a811061248257612482615ade565b6020020152600101612441565b506124a4816040516020016122399190615bc1565b91505f6124b0836135e8565b5096929550919350505050565b5f80806124cb600185615a91565b6124d6906002615a7a565b6124e1906001615aa4565b67ffffffffffffffff8111156124f9576124f9615af2565b604051908082528060200260200182016040528015612522578160200160208202803683370190505b50905084815f8151811061253857612538615ade565b60209081029190910101525f5b612550600186615a91565b8110156126035786610160015181601b811061256e5761256e615ade565b60200201515182612580836002615a7a565b61258b906001615aa4565b8151811061259b5761259b615ade565b60200260200101818152505086610160015181601b81106125be576125be615ade565b602002015160200151828260026125d59190615a7a565b6125e0906002615aa4565b815181106125f0576125f0615ade565b6020908102919091010152600101612545565b50612618816040516020016122399190615bf5565b91505f612624836135e8565b509792965091945050505050565b5f8080612640846001615aa4565b67ffffffffffffffff81111561265857612658615af2565b604051908082528060200260200182016040528015612681578160200160208202803683370190505b50905084815f8151811061269757612697615ade565b60209081029190910101525f5b848110156126035786610180015181601c81106126c3576126c3615ade565b6020020151826126d4836001615aa4565b815181106126e4576126e4615ade565b60209081029190910101526001016126a4565b5f5f612701615880565b8381526101a085018051516020808401919091529051810151604080840191909152516124a49161223991849101615c2a565b5f5f516020615d435f395f51905f52825b0692915050565b5f5f516020615d435f395f51905f5282840990505b92915050565b5f5f516020615d435f395f51905f528284089392505050565b5f5f516020615d435f395f51905f52825f516020615d435f395f51905f520384089392505050565b5f5f516020615d435f395f51905f5282612745565b5f6103338361077b84612b08565b815160208301515f9182916127e09190612767565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d2576128c88261077b8784612780565b91506001016128b1565b506128db61589e565b5f5b600881101561293c575f8482600881106128f9576128f9615ade565b6020020151905061290e8161077b8985612780565b905061291981612b08565b90508083836008811061292e5761292e615ade565b6020020152506001016128dd565b505f5b600881101561298f575f87826008811061295b5761295b615ade565b60200201519050612978818484600881106114d0576114d0615ade565b90506129848682612767565b95505060010161293f565b506109b6848361274c565b5f5f6129b060016107808561077b896001612780565b90506129bc848261274c565b95945050505050565b5f6129ce615823565b6129d9868285613621565b6129e5868683866137cd565b6129f1868683866139b9565b6129fc868285613be4565b612a07868285613dd8565b612a1386868386614121565b612a1e8682856145cd565b612a298682856149df565b612a34868285614da0565b6109b681856150a0565b60605f8267ffffffffffffffff811115612a5a57612a5a615af2565b604051908082528060200260200182016040528015612a83578160200160208202803683370190505b50905083815f81518110612a9957612a99615ade565b602090810291909101015260015b83811015612b0057612adb82612abe600184615a91565b81518110612ace57612ace615ade565b6020026020010151612cd7565b828281518110612aed57612aed615ade565b6020908102919091010152600101612aa7565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d435f395f51905f520360808201525f516020615d435f395f51905f5260a082015260205f60c08360055afa80612b64575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9457612b94615af2565b604051908082528060200260200182016040528015612bbd578160200160208202803683370190505b509050825b8015612ccc575f85612bd5600184615a91565b81518110612be557612be5615ade565b602002602001015190505f89600184612bfe9190615a91565b601c8110612c0e57612c0e615ade565b602002015190505f612c69612c2d612c26858d61274c565b600261274c565b61079e8b612c3c600189615a91565b601c8110612c4c57612c4c615ade565b602002015161077b612c638861077b60018a612780565b87612780565b9050612c8a8161077b610b35612c848761077b600189612780565b86612767565b99508990508085612c9c600187615a91565b81518110612cac57612cac615ade565b60200260200101818152505050505080612cc590615c5d565b9050612bc2565b509695505050505050565b5f612761828361274c565b604080518082019091525f80825260208201525f612d217f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b612d2c906002615aa4565b90505f5b81811015612d6257612d5a858281518110612d4d57612d4d615ade565b6020026020010151612f90565b600101612d30565b50604051600190815b60018401811015612dc75760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6b565b5080518452602081015160208501525080612df5576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d235f395f51905f5282602001515f516020615d235f395f51905f52612e3b9190615a91565b612e459190615b3b565b60208301525090565b5f5f5f612e5a86612ec4565b91509150612e6661589e565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb99161223991849101615c72565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d235f395f51905f528380095f516020615d235f395f51905f5260035f516020615d235f395f51905f52838709085f516020615d235f395f51905f52848509149150508061302d5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306383866150f9565b90506129bc8185615165565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132059190615ca6565b5f60405180830381855afa9150503d805f811461323d576040519150601f19603f3d011682016040523d82523d5f602084013e613242565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbc565b5f80808080613273866001615aa4565b61327e906006615aa4565b67ffffffffffffffff81111561329657613296615af2565b6040519080825280602002602001820160405280156132bf578160200160208202803683370190505b509050865f1b815f815181106132d7576132d7615ade565b60209081029190910101525f5b6132ef601088615a91565b8110156133405789898281811061330857613308615ade565b905060200201358282600161331d9190615aa4565b8151811061332d5761332d615ade565b60209081029190910101526001016132e4565b505f5b60108110156133b1578a5161336b90826010811061336357613363615ade565b602002015190565b8282601061337a8b6001615aa4565b6133849190615a91565b61338e9190615aa4565b8151811061339e5761339e615ade565b6020908102919091010152600101613343565b5060208a015151816133c4886001615aa4565b815181106133d4576133d4615ade565b6020908102919091018101919091528a8101510151816133f5886001615aa4565b613400906001615aa4565b8151811061341057613410615ade565b602090810291909101015260408a0151518161342d886001615aa4565b613438906002615aa4565b8151811061344857613448615ade565b60209081029190910181019190915260408b015101518161346a886001615aa4565b613475906003615aa4565b8151811061348557613485615ade565b602090810291909101015260608a015151816134a2886001615aa4565b6134ad906004615aa4565b815181106134bd576134bd615ade565b60209081029190910181019190915260608b01510151816134df886001615aa4565b6134ea906005615aa4565b815181106134fa576134fa615ade565b60200260200101818152505061351a816040516020016122399190615bf5565b9150613525826135e8565b60408051602081018690529297509095506135409101612239565b91505f61354c836135e8565b50959b949a5094985090965091945050505050565b5f5f5f61356c6158bd565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135ce9161223991849101615cdb565b91506135d9826135e8565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360c826127a8565b9450613617816127a8565b9350505050915091565b5f61362d8460076151dc565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368e613688613662856003612780565b61077b61367d6136728b5f6151dc565b61077b8c601d6151dc565b61077b8b601c6151dc565b8361274c565b905061370f6137046136eb6136d26136b9856107806136ae8d60026151dc565b61077b8e601c6151dc565b6107806136c78c60036151dc565b61077b8d601d6151dc565b6107806136e08b60046151dc565b61077b8c601e6151dc565b6107806136f98a60056151dc565b61077b8b601f6151dc565b6107808860016151dc565b905061372e81610780613723866001612780565b61077b8a60276151dc565b905061373a818461274c565b9050613746818561274c565b8552505f905061378061377661376b61376088601c6151dc565b61078089601f6151dc565b61079e8860246151dc565b610780875f6151dc565b90506137918161077b846002612780565b90506137a28161077b846001612780565b90506137ae818361274c565b90506137ba818461274c565b9050808460015b60200201525050505050565b5f5f5f6138036137f96137e189601c6151dc565b6107806137ef8b60126151dc565b8a6060015161274c565b8760800151612767565b905061383c8161077b61383261381a8b601d6151dc565b6107806138288d60136151dc565b8c6060015161274c565b8960800151612767565b90506138618161077b6138326138538b601e6151dc565b6107806138288d60146151dc565b90506138868161077b6138326138788b601f6151dc565b6107806138288d60156151dc565b92505f90506138aa6137f961389c89601c6151dc565b6107806137ef8b600e6151dc565b90506138cf8161077b6138326138c18b601d6151dc565b6107806138288d600f6151dc565b90506138f48161077b6138326138e68b601e6151dc565b6107806138288d60106151dc565b90506139198161077b61383261390b8b601f6151dc565b6107806138288d60116151dc565b91505f905061394061393a61392f8960206151dc565b6107808a601a6151dc565b8461274c565b90506139758161079e61396f6139578b60286151dc565b6107806139658d601b6151dc565b8c60a0015161274c565b8561274c565b9050613981818561274c565b6040860152505f6139a461396f61399989601b6151dc565b61077b8a60286151dc565b9050808560035b602002015250505050505050565b5f5f613a176139ff6139e76139d26138328a60166151dc565b6107806139e08b60176151dc565b8a5161274c565b6107806139f58a60186151dc565b896020015161274c565b610780613a0d8960196151dc565b886040015161274c565b91505f613a4e613a35613a2b89601c6151dc565b8860800151612767565b610780613a438a60036151dc565b61077b8b60246151dc565b90505f613a77613a5f89601d6151dc565b610780613a6c8b5f6151dc565b61077b8c60256151dc565b90505f613aa1613a888a601e6151dc565b610780613a968c60016151dc565b61077b8d60266151dc565b9050613ae0613ac8613aba85610780868d5f015161274c565b610780848c6020015161274c565b610780613ad68c60046151dc565b8b6040015161274c565b93505050505f613af461393a8860216151dc565b90505f613b0561393a8960216151dc565b90505f613b3d613b24613b198b60236151dc565b6107808c60066151dc565b61079e613b328c60236151dc565b61077b8d60066151dc565b90505f613b61613b5b613b50878961274c565b61077b8d60216151dc565b83612780565b9050613b6d818861274c565b90505f613b95613b87613b818d60066151dc565b8761274c565b61079e613b818e60226151dc565b90505f613ba38c60236151dc565b90505f613bb3613b5b838461274c565b60808c0185905260a08c018490529050613bcd818b61274c565b8b6006602002015250505050505050505050505050565b5f613bf05f6001612780565b90505f613bfe5f6002612780565b90505f613c0c5f6003612780565b90505f613c28613c1d88601d6151dc565b61079e89601c6151dc565b90505f613c44613c3989601e6151dc565b61079e8a601d6151dc565b90505f613c60613c558a601f6151dc565b61079e8b601e6151dc565b90505f613c7c613c718b60246151dc565b61079e8c601f6151dc565b905083613c8d8161077b818b612767565b9050613c9d8161077b878a612767565b9050613cad8161077b8789612767565b9050613cbe8161077b8d60086151dc565b9050613cca818a61274c565b60e08b01525082613cdf8161077b818b612767565b9050613cef8161077b868a612767565b9050613cff8161077b8689612767565b9050613d108161077b8d60086151dc565b9050613d1c818a61274c565b6101008b01525081613d328161077b818b612767565b9050613d428161077b858a612767565b9050613d528161077b8589612767565b9050613d638161077b8d60086151dc565b9050613d6f818a61274c565b6101208b01525080613d858161077b818b612767565b9050613d958161077b848a612767565b9050613da58161077b8489612767565b9050613db68161077b8d60086151dc565b9050613dc2818a61274c565b610140909a019990995250505050505050505050565b613e116040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1c84601d6151dc565b8152613e2984601e6151dc565b6020820152613e398460246151dc565b6040820152613e498460276151dc565b6060820152613e598460266151dc565b6080820152613e698460256151dc565b60a08201525f613e7a8560026151dc565b90505f613e87865f6151dc565b90505f613e9b8460400151855f0151612780565b90505f613eb08560200151866020015161274c565b606086015190915086905f90613ec6908061274c565b90505f613ee4613ede89602001518a6060015161274c565b8861274c565b90505f613f03613efc8a60a001518b60400151612767565b8a51612767565b9050613f12613b81828861274c565b9050613f39613f33613f2d613f278487612780565b88612780565b84612767565b83612767565b9050613f61613f56613f4b838761274c565b61077b8f60096151dc565b61077b60018a612780565b6101608c015250505050602085015160808601515f91613f8091612767565b90505f613f9e613f9488606001518861274c565b8860200151612780565b90505f613fc2613fae848761274c565b61078061396f8b60a001518c5f0151612780565b9050613fea613fdf613fd4838c61274c565b61077b8e60096151dc565b61077b600189612780565b6101808b0152505f915061400b9050614004836011612767565b875161274c565b90505f6140188384612767565b90506140248182612767565b90505f61403283600961274c565b905061405b61405561393a61404e8b60a001518c5f0151612767565b8b51612767565b82612780565b60c089018190525f9061407690613ede90613f4b908d61274c565b90506140898b600b602002015182612767565b6101608c0152505086515f92506140b09150614004906140a99080612767565b8851612767565b90505f6140f06140cb8361077b8a5f01518b60a00151612780565b602089015161079e906140de9080612767565b61077b8b602001518c60800151612767565b905061410d89600c6020020151610780613ede613f4b858d61274c565b89600c602002015250505050505050505050565b61418b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a361419986601e6151dc565b856040015161274c565b8082526141c2906107806141b888601d6151dc565b876020015161274c565b8082526141d79061078061400488601c6151dc565b8082526141e9906107808760016151dc565b808252602082018190526142029061079e87601f6151dc565b815261421d6142128660246151dc565b61079e87601c6151dc565b608082015261423b6142308660276151dc565b61079e87601f6151dc565b606082015260808101516142549061077b816001612780565b6101c082015260808101516142949061428a906142839061077b60015f516020615d435f395f51905f52615a91565b6001612767565b826060015161274c565b60a082018190526142ca906142bc9061077b6142b18960026151dc565b61077b8a60036151dc565b61077b61396f88600a6151dc565b83600e60200201526101c08101516142ee906142bc9061077b6142b18960026151dc565b6101e084015280516143139061077b6143088860026151dc565b61077b8960036151dc565b6101208201525f61433261432887601f6151dc565b8360200151612780565b90506143438161077b836001612780565b60e08301526143606143568760266151dc565b866040015161274c565b60408301819052614383906107806143798960256151dc565b886020015161274c565b604083018190526143a39061078061439c8960246151dc565b885161274c565b60408301526143c06143b68760276151dc565b8360400151612780565b60408301525f6143df6143d48860266151dc565b61079e89601e6151dc565b905061443161440c613688614283866080015160015f516020615d435f395f51905f5261077b9190615a91565b61077b614283866040015160015f516020615d435f395f51905f5261077b9190615a91565b60c0840152604083015161445390614449908061274c565b8460400151612780565b61010084015260c083015161447f906144719061077b8a60046151dc565b61077b613b818a600a6151dc565b6102008601526101c083015161449e906144719061077b8a60046151dc565b6102208601526101008301516144bd906144719061077b8a60046151dc565b61024086015260e08301516144d79061077b8960046151dc565b6101408401526144f66144eb8860256151dc565b61079e89601d6151dc565b6101608401526080830151614534906143d490614529906142839061077b60015f516020615d435f395f51905f52615a91565b85610160015161274c565b61018084018190526101208401516101a0850181905261456b916107809061077b6145608c60056151dc565b61077b8d60026151dc565b6101a08401819052835161458b91906107809061077b6145608c5f6151dc565b6101a084018190526101408401516145a39190612767565b6101a084018190526145bd9061077b613b818a600a6151dc565b6101a0840181905285600d6139ab565b6146066040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463b61462261461786601c6151dc565b61077b8760256151dc565b6107806146308760246151dc565b61077b88601d6151dc565b815261468061467561465c61465187601c6151dc565b61077b88601f6151dc565b61078061466a88601d6151dc565b61077b89601e6151dc565b61079e8660266151dc565b6040820181905261469590600160441b61274c565b604082018190526146ab9061079e8660276151dc565b6040820181905281516146be9190612767565b604082018190526146d49061077b8660056151dc565b604082015280516146e990600160441b61274c565b808252614709906107806146fe8760246151dc565b61077b8860256151dc565b808252602082018190526147309061079e61472587601e6151dc565b61078088601f6151dc565b602082018190526147469061077b8660046151dc565b60208201528051606082018190526147639061078086601f6151dc565b606082018190526147879061079e61477c8760266151dc565b6107808860276151dc565b6060820181905261479c9061077b865f6151dc565b8160600181815250505f6147c56147bb83602001518460400151612767565b8360600151612767565b90506147d68161077b8760036151dc565b90506147ee6147e68660256151dc565b61400061274c565b60808301819052614804906107808760246151dc565b608083018190526148179061400061274c565b6080830181905261482d9061078087601e6151dc565b608083018190526148409061400061274c565b608083018190526148569061078087601d6151dc565b608083018190526148699061400061274c565b6080830181905261487f9061078087601c6151dc565b608083018190526148959061079e87601f6151dc565b608083018190526148ab9061077b8760056151dc565b60808301526148be6147e68660266151dc565b60a083018190526148d4906107808760256151dc565b60a083018190526148e79061400061274c565b60a083018190526148fd906107808760246151dc565b60a083018190526149109061400061274c565b60a083018190526149269061078087601f6151dc565b60a083018190526149399061400061274c565b60a0830181905261494f9061078087601e6151dc565b60a083018190526149659061079e8760276151dc565b60a0830181905261497a9061077b875f6151dc565b60a0830181905260808301515f916149929190612767565b90506149a38161077b8860046151dc565b90506149af8282612767565b60c084018190526149c89061077b613b8189600b6151dc565b60c084018190528560136020020152505050505050565b614a556040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6e614a6385601c6151dc565b6107808660026151dc565b8152614a89614a7e85601d6151dc565b6107808660036151dc565b6020820152614aa7614a9c85601e6151dc565b6107808660046151dc565b6040820152614ac5614aba85601f6151dc565b6107808660056151dc565b60608201528051614af790614af090614ae990614ae2908061274c565b845161274c565b835161274c565b825161274c565b60808201526020810151614b3590614b2b90614b2190614b17908061274c565b846020015161274c565b836020015161274c565b826020015161274c565b60a08201526040810151614b7390614b6990614b5f90614b55908061274c565b846040015161274c565b836040015161274c565b826040015161274c565b60c08201526060810151614ba79061428a90614b9d90614b93908061274c565b846060015161274c565b836060015161274c565b60e0820152608081015160a0820151614bc09190612767565b61010082015260c081015160e0820151614bda9190612767565b61012082015260a0810151614bfe90614bf39080612767565b826101200151612767565b61014082015260e0810151614c2290614c179080612767565b826101000151612767565b610160820152610120810151614c389080612767565b6101e08201819052614c5990614c4e9080612767565b826101600151612767565b6101e0820152610100810151614c6f9080612767565b6101a08201819052614c9090614c859080612767565b826101400151612767565b6101a08201819052610160820151614ca791612767565b6101808201526101408101516101e0820151614cc39190612767565b6101c0820152614cd761368885600c6151dc565b6102008201819052610280840151610180830151614d02926107809161077b9061079e8a60246151dc565b8360146020020152614d32836015602002015161078083610200015161077b856101a0015161079e8a60256151dc565b8360156020020152614d62836016602002015161078083610200015161077b856101c0015161079e8a60266151dc565b8360166020020152614d92836017602002015161078083610200015161077b856101e0015161079e8a60276151dc565b836017602002015250505050565b614df26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e277f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612734565b8152602001614e557f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612734565b8152602001614e827e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612734565b8152602001614eb07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612734565b90529050614ecd614ec286601c6151dc565b6107808760026151dc565b6101208301819052614f0c90614f0190614ef690614eeb908061274c565b85610120015161274c565b84610120015161274c565b83610120015161274c565b8252614f1985601d6151dc565b6020830152614f2985601e6151dc565b6040830152614f3985601f6151dc565b606083015281516020830151614f61916147bb91614f579190612767565b8460400151612767565b6080830152614f7461393a86600d6151dc565b6101408301528151614f9590614f8b90835f6114d0565b8360800151612767565b60a0830152614fc1846018602002015161078084610140015161077b8660a0015161079e8b60246151dc565b6103008501526020820151614fdc90614f8b908360016114d0565b60c0830152615008846019602002015161078084610140015161077b8660c0015161079e8b60256151dc565b610320850152604082015161502390614f8b908360026114d0565b60e083015261504f84601a602002015161078084610140015161077b8660e0015161079e8b60266151dc565b610340850152606082015161506a90614f8b908360036114d0565b61010083015261509884601b602002015161078084610140015161077b86610100015161079e8b60276151dc565b84601b6137c1565b815160015b601c8110156150f2576150e8826107808684601c81106150c7576150c7615ade565b6020020151866150d8600187615a91565b601b81106114d0576114d0615ade565b91506001016150a5565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615149575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151c0575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151f0576151f0615d0e565b6029811061520057615200615ade565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524560405180604001604052805f81526020015f81525090565b815260200161526560405180604001604052805f81526020015f81525090565b815260200161528560405180604001604052805f81526020015f81525090565b81526020016152a560405180604001604052805f81526020015f81525090565b81526020016152c560405180604001604052805f81526020015f81525090565b81526020016152e560405180604001604052805f81526020015f81525090565b815260200161530560405180604001604052805f81526020015f81525090565b815260200161532560405180604001604052805f81526020015f81525090565b815260200161534560405180604001604052805f81526020015f81525090565b815260200161536560405180604001604052805f81526020015f81525090565b815260200161538560405180604001604052805f81526020015f81525090565b81526020016153a560405180604001604052805f81526020015f81525090565b81526020016153c560405180604001604052805f81526020015f81525090565b81526020016153e560405180604001604052805f81526020015f81525090565b815260200161540560405180604001604052805f81526020015f81525090565b815260200161542560405180604001604052805f81526020015f81525090565b815260200161544560405180604001604052805f81526020015f81525090565b815260200161546560405180604001604052805f81526020015f81525090565b815260200161548560405180604001604052805f81526020015f81525090565b81526020016154a560405180604001604052805f81526020015f81525090565b81526020016154c560405180604001604052805f81526020015f81525090565b81526020016154e560405180604001604052805f81526020015f81525090565b815260200161550560405180604001604052805f81526020015f81525090565b815260200161552560405180604001604052805f81526020015f81525090565b815260200161554560405180604001604052805f81526020015f81525090565b815260200161556560405180604001604052805f81526020015f81525090565b815260200161558560405180604001604052805f81526020015f81525090565b81526020016155a560405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155be6158db565b81526020016155de60405180604001604052805f81526020015f81525090565b81526020016155fe60405180604001604052805f81526020015f81525090565b815260200161561e60405180604001604052805f81526020015f81525090565b815260200161563e60405180604001604052805f81526020015f81525090565b815260200161565e60405180604001604052805f81526020015f81525090565b815260200161567e60405180604001604052805f81526020015f81525090565b815260200161569e60405180604001604052805f81526020015f81525090565b81526020016156be60405180604001604052805f81526020015f81525090565b81526020016156cb6158fa565b81526020016156d8615928565b81526020016156e5615947565b8152602001615565615823565b6040518061010001604052806157316040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573e6157e6565b815260200161574b615823565b8152602001615758615823565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b4615980565b81526020016157c1615980565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591261589e565b81526020019060019003908161590a5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159575790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b1575f5ffd5b843567ffffffffffffffff8111156159c7575f5ffd5b8501601f810187136159d7575f5ffd5b803567ffffffffffffffff8111156159ed575f5ffd5b8760208284010111156159fe575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1e575f5ffd5b8501601f81018713615a2e575f5ffd5b803567ffffffffffffffff811115615a44575f5ffd5b8760208260051b8401011115615a58575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276157612761615a66565b8181038181111561276157612761615a66565b8082018082111561276157612761615a66565b5f5f85851115615ac5575f5ffd5b83861115615ad1575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1757615b17615a66565b5060010190565b80356020831015612761575f19602084900360031b1b1692915050565b5f82615b5557634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7e578151835260209283019290910190600101615b5f565b50505060a08201905092915050565b5f8183825b6009811015615bb1578151835260209283019290910190600101615b92565b5050506101208201905092915050565b5f8183825b602a811015615be5578151835260209283019290910190600101615bc6565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1f578151845260209384019390910190600101615c01565b509195945050505050565b5f8183825b6003811015615c4e578151835260209283019290910190600101615c2f565b50505060608201905092915050565b5f81615c6b57615c6b615a66565b505f190190565b5f8183825b6008811015615c96578151835260209283019290910190600101615c77565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccc575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cff578151835260209283019290910190600101615ce0565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220ce4426b37bfdb240bc4c477529e61b67c18c285f5f91baae41549cadfc1cb1ec64736f6c634300081b0033";
5
5
  /**
6
6
  * HonkVerifier link references.
7
7
  */
8
8
  export declare const HonkVerifierLinkReferences: {};
9
- //# sourceMappingURL=HonkVerifierBytecode.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9ua1ZlcmlmaWVyQnl0ZWNvZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ib25rVmVyaWZpZXJCeXRlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGVBQU8sTUFBTSxvQkFBb0IsbXYrQ0FBbXYrQyxDQUFDO0FBQ3J4K0M7O0dBRUc7QUFDSCxlQUFPLE1BQU0sMEJBQTBCLElBQWMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,240CAA240C,CAAC;AAC760C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
1
+ {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,mv+CAAmv+C,CAAC;AACrx+C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a0526103dc60c05260805160a05160c0516154606100625f395f6105c101525f818161066d015281816107c001528181610c420152610d9001525f61056a01526154605ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615069565b610054565b604051901515815260200160405180910390f35b5f6100626101bb6020615145565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a610195565b90505f61009787876101aa565b604083015190915084146100be5760405163fa06659360e01b815260040160405180910390fd5b5f6100cf82878786604001516104a9565b90506101208686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250508451606081015160809091015160408801519193509150610554565b815160a001525f6101318383610665565b905080610151576040516313f8744360e31b815260040160405180910390fd5b5f61015d848685610766565b90508061017d576040516352ec174560e11b815260040160405180910390fd5b8180156101875750805b9a9950505050505050505050565b61019d61483b565b6101a5610f05565b905090565b6101b2614bb9565b6101bf60205f848661515c565b6101c891615183565b81526101d860406020848661515c565b6101e191615183565b60208201526101f460606040848661515c565b6101fd91615183565b604082015261021861021360e06060858761515c565b6117ec565b606082015261022f61021361016060e0858761515c565b60808201526102476102136101e0610160858761515c565b60a082015261025f6102136102606101e0858761515c565b6101008201526102786102136102e0610260858761515c565b6101208201526102916102136103606102e0858761515c565b60c08201526102a96102136103e0610360858761515c565b6101408201526102c26102136104606103e0858761515c565b60e08201526104605f5b601c811015610359575f5b6008811015610350576103038684876102f18260206151a0565b926102fe9392919061515c565b6118e0565b84610160015183601c811061031a5761031a6151b3565b60200201518260088110610330576103306151b3565b60200201818152505060208361034691906151a0565b92506001016102d7565b506001016102cc565b505f5b60288110156103ad576103768583866102f18260206151a0565b836101800151826028811061038d5761038d6151b3565b6020020181815250506020826103a391906151a0565b915060010161035c565b505f5b6103bc6001601c6151c7565b811015610412576103e18583866103d48260806151a0565b926102139392919061515c565b836101a0015182601b81106103f8576103f86151b3565b60200201526104086080836151a0565b91506001016103b0565b505f5b601c8110156104665761042f8583866102f18260206151a0565b836101c0015182601c8110610446576104466151b3565b60200201818152505060208261045c91906151a0565b9150600101610415565b506104788482856103d48260806151a0565b6101e08301526104898160806151a0565b905061049c8482856103d48260806151a0565b6102008301525092915050565b6104b1614dbe565b5f6104bf868686868561193c565b90835290506104ce81876119b9565b602084019190915290506104e181611b52565b604084019190915290506104f58682611bb3565b606084019190915290506105098682611c87565b6080840191909152905061051d8682611d12565b60a084019190915290506105318682611e80565b60c084019190915290506105458682611ef2565b5060e083015250949350505050565b5f6001808261059d866105988961059361058e8a7f00000000000000000000000000000000000000000000000000000000000000006151a0565b611f49565b611f67565b611f80565b90505f6105bb876105b68a61059361058e8b60016151a0565b611f99565b90505f5b7f000000000000000000000000000000000000000000000000000000000000000081101561064d575f61060a8b83815181106105fd576105fd6151b3565b6020026020010151611f49565b905061061a866105938684611f80565b955061062a856105938584611f80565b9450610636848b611f80565b9350610642838b611f99565b9250506001016105bf565b506106588484611fc8565b9998505050505050505050565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561073c575f86610160015182601c81106106ab576106ab6151b3565b602002015190505f6106bd8286611fd6565b9050806106dd576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106106f4576106f46151b3565b602002015190506107058382611ff9565b955061072c886040015185601c8110610720576107206151b3565b602002015186836121a8565b945050505080600101905061066b565b505f610756866101800151865f01518760200151856121d3565b90508281145b9695505050505050565b5f6107946040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f6107a28460a00151612241565b90506107ac614e42565b6107b4614e61565b5f6107e48760e00151857f00000000000000000000000000000000000000000000000000000000000000006122a6565b805160c089015191925061080491610598908460015b6020020151611f67565b855260a08701516108309061081890612336565b825160c08a015161059391906105b6908660016107fa565b6020860152600183526101e08901516108489061239f565b82526001606086018190525f60808701525b602381116109005761087b610871875f01516123e9565b8760600151611f67565b84826046811061088d5761088d6151b3565b602002015260808601516101808b01516108d09190610598906108b16001866151c7565b602881106108c1576108c16151b3565b60200201518960600151611f67565b8660800181815250506108eb86606001518960800151611f67565b60608701526108f9816151da565b905061085a565b505f61090e602360016151a0565b90505b6028811161098f5761092961087187602001516123e9565b84826046811061093b5761093b6151b3565b602002015260808601516101808b015161095f9190610598906108b16001866151c7565b86608001818152505061097a86606001518960800151611f67565b6060870152610988816151da565b9050610911565b50606088015182600160200201526080880151826002602002015260a0880151826003602002015260c0880151826004602002015260e0880151826005602002015261010088015182600660200201526101208801518260076020020152610140880151826008602002015261016088015182600960200201526101a088015182600a602002015261018088015182600b60200201526101c088015182600c60200201526101e088015182600d602002015261020088015182600e602002015261022088015182600f60200201526102408801518260106020020152610260880151826011602002015261028088015182601260200201526102a088015182601360200201526102c088015182601460200201526102e08801518260156020020152610300880151826016602002015261032088015182601760200201526103408801518260186020020152610360880151826019602002015261038088015182601a60200201526103a088015182601b60200201526060890151610b139061239f565b6103808301526080890151610b279061239f565b6103a083015260a0890151610b3b9061239f565b6103c083015260c0890151610b4f9061239f565b6103e083015260e0890151610b639061239f565b610400830152610140890151610b789061239f565b610420830152610100890151610b8d9061239f565b610440830152610120890151610ba29061239f565b6104608301526060890151610bb69061239f565b6104808301526080890151610bca9061239f565b6104a083015260a0890151610bde9061239f565b6104c083015260c0890151610bf29061239f565b6104e083015260e0890151610c069061239f565b6105008301525f604086015260c0870151610c2090612401565b60608601525f5b610c336001601c6151c7565b811015610d78575f610c6660017f00000000000000000000000000000000000000000000000000000000000000006151c7565b82101590505f81610ccf576060880151610c969085610c868660026151a0565b601d81106107fa576107fa6151b3565b9050610ca1816123e9565b8684610caf602860016151a0565b610cb991906151a0565b60468110610cc957610cc96151b3565b60200201525b610cfe8860400151610598838f6101c00151876001610cee91906151a0565b601c81106107fa576107fa6151b3565b6040890152606088015160c08b0151610d179190611f67565b60608901526101a08c0151610d419084601b8110610d3757610d376151b3565b602002015161239f565b8584610d4f602860016151a0565b610d5991906151a0565b60468110610d6957610d696151b3565b60200201525050600101610c27565b505f610db4886060015187608001518c6101c00151887f000000000000000000000000000000000000000000000000000000000000000061240c565b6040870151909150610dcb9061059883855f6107fa565b604087018190526101c08b01515160c08a0151610df9929161059891610df19190611f67565b8560016107fa565b6040808801919091528051808201909152600181526002602082015283610e22601c60286151a0565b60468110610e3257610e326151b3565b6020020152604086015184610e49601c60286151a0565b60468110610e5957610e596151b3565b60200201526102008a01515f90610e6f9061239f565b90508084610e7f601c60286151a0565b610e8a9060016151a0565b60468110610e9a57610e9a6151b3565b602002015260e089015185610eb1601c60286151a0565b610ebc9060016151a0565b60468110610ecc57610ecc6151b3565b60200201525f610edc8587612506565b90505f610ee8836125d7565b9050610ef4828261264e565b9d9c50505050505050505050505050565b610f0d61483b565b50604080516103c0810182526302000000815260196020808301919091526103dc82840152825180840184527f17aa68503600064d6f5a552d68b646ae6caf4dccec8bb0bfa21175cb731ee93381527f04116ba2cc7e4130cbf0f86a4820b38cdbc6dec554d856a1124a0ab8c70d4525818301526060830152825180840184527f0974c6b5dab656955dc2807ec95cf982132bc196ec302ebc982130c84047a69381527f165074e0eef40ab5bdf0731a57caf161e17869f4d88f76b771d2dc1260fa7c9a818301526080830152825180840184527f2dee2a6a033243c404469487277ba245612af075d74f361ff4e927ba0cb356c381527f17ba35b3d820d5c486fff3dab3105bc53f33da47aa517c841c9e2aca05fab0de8183015260a0830152825180840184527f28803f6f4692401c5e1bd8179e31440f4dd12f4b712ed7f9d879e10970bac70c81527f18a29ad57bb508408cd5204e33388de0979fd76f723c5c2db8be25b0cefe94758183015260c0830152825180840184527f19cf35761d86294f9ca14161fadc9ad6b1a9341c3007788c42e6bbb9af4a9a2c81527f1cfdaf3ff42a0528b44016c4eadd4f3c38a4fd5ca4674d5d6fad8100c2dc88798183015260e0830152825180840184527f2126c63aba3ad1c94c56f7d9f6404fa98c014378739444288447561f9f03fd2981527f0fe37649cd7c9c4d5715f6a9a6b7b0d4efbad8e46e8b76028aff5a48158b7b8b81830152610100830152825180840184527f035d97a928b728d4f4d460c4bdcf11ea8c8bd382f233fe512c394b0b6da9152481527f26961d0bf338d36d2b5ec2f59675073ad262b9bacae3bc100ea54158e763f64781830152610120830152825180840184527f045a8fdc71e93f7dd5a2a7eeb6f86faad3f503d5748edf25d214584867f914c681527f1cd83caa9e869b1fb69ade8f72cf46743e5dc7fded7fa3bf68d71f79a8fba19481830152610140830152825180840184527f09514ea68c99cae27293f94ff703236e543e944c667eda4135a061de561925ec81527f171d9a960db918e2d2c406a095641df56243a261a321ea5440bcbf4e22477ea081830152610160830152825180840184527f2315dc1d419740df54efc5632c59d38b2712f0acdb9128206f46b29a1f7d0a6581527f0f761a293333b52f7a014637ac871c3db8675be7d75e94667c74f36917ef800281830152610180830152825180840184527f12af281668d26f228dac0a13d5b9938241c4ff8a55f75390c1d0f6d5f17376ea81527f135de164c171990861a117adb87dee8310c8ab6dc0078d07ca333861b050a6db818301526101a0830152825180840184527f0f07515b3aa09d2f2e6736f536127b383a0f422e1c30e84e3e3002cb63d447f781527f2c5cc1bf4ff81ba88b4fbe985f32e9a31dcf445406dbbc691cde471d023a2648818301526101c0830152825180840184527f2f26b8fdfc37ac6437c51ca7f0374c9ed5d14e49b0c2afa406074cf05ab3277081527f1e74fc06825b4c5d225456e717720973c3fc86dd1e2a0b852d615161f66c59b2818301526101e0830152825180840184527f141f9d1bed9e1bbb167af980d2ab02fc751f5449e3e673ed63c3d09d945e748281527f10a263e04a788e333e428cb28bb56db79bab787b7fe3b2baf333bb97b6e94c3581830152610200830152825180840184527f24f1ce241aa5836b5af78d69695fb2ea126c87f6c3be8a3defcd75d32758805181527f2deacbd9dbce1edc4b205203eb1e328a3db9270586522ebd0d06283a9fbd38f081830152610220830152825180840184527f15bb1141ca0cc27e6c2d61c431f5a5a2f3761f1acd22939b4599c3f32a74091e81527f18cf0f32af1affb704ad78b28554dffcc9a16360dac89c04ad0c14cb7f3f651681830152610240830152825180840184527f1fbca143dded3a67a05f5242c2dbb33a08a09e1241a3dc0e0119dc3b87312d0681527f066d3a6ce84e3a52ee45dc671da652353b4da4cf3f751417e159887e51b1dc8a81830152610260830152825180840184527f088a13e43746a8ff6d5038126dcdfdba8fbaef6ed11313b00eaf459d32dc432c81527f122c89d7d6bec450e5150f212f9cb68b6c8434e5680240f22978c24f5f04ac3d81830152610280830152825180840184527f1753a3a1f05e209629bcca6a1aa93da2f7d44636b6e89abbf26f02b8bc58dd9a81527f1bb550b000992ed673a09a9228a28202657b36e14a765bae9f20b48221242682818301526102a0830152825180840184527f16b26f825662a71bff8bce8761d5ec00cd194ddf509e8ad55590f913591af8df81527eb0b679e9defc6c79076adad79975c32b930bb0d1f8f97b232aa94c2b0aa60b818301526102c0830152825180840184527f0785f14e096e063ef261b6222babc9d6dd38363d30fb4c76f51406c94aa2475f81527f06b670a2068958e45d8d393b227e3ea8cb8c9e6a4d7e147a6d829ce0ace2babd818301526102e0830152825180840184527f0d1c51a0944e73b5bf5059109cfc7756b18ab597ee97fcdceb68e08e7a9325ec81527f2d0ebb65c43bb88f0e0af105cb368e35a8117262fa463c5e4a91e60a63285d5881830152610300830152825180840184527f237fc3d6ca839bf8fe66beb52f778994d8d05f3496301df3cb1030649802eb1881527f1013ad0339d32e695efdc9e28675f47f332bda5954966f00469214f4ee763b8481830152610320830152825180840184527f0c124a2788b4e0e45ebc1003affc7b699ea00567da3fa1f4bef7f9f97698340481527f0655bd829b537acf9fdc36831274395bdd5d3c181d2e84ddd3dfa1192c5f518481830152610340830152825180840184527f2664e1b3d5bd93796c3e968511ad456c3b10db55de4e939e1a8eb6279d99ea9a81527f2a8a81f4857a08db4de35ca43cc4e145c8719ce30616be286b5a565e4ee99e9c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f01bbe34848ca7b50f4bbd6ab4d295c457612b005facae667648698439270811f83527f036aa18f3a0dca36b4778d5d9f2de52a074b61bc60a2d458243f56864f065b8b908301526103a081019190915290565b61181360405180608001604052805f81526020015f81526020015f81526020015f81525090565b6080821461185e5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064015b60405180910390fd5b60408051608081019091528061187760205f868861515c565b61188091615183565b815260209081019061189690604090868861515c565b61189f91615183565b81526020016118b260606040868861515c565b6118bb91615183565b81526020016118ce60806060868861515c565b6118d791615183565b90529392505050565b5f602082146119285760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b6044820152606401611855565b61193561058e8385615183565b9392505050565b61196f6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61197c87878787612852565b60408601919091526020850191909152908352925061199b8388612c85565b60808501919091526060840191909152919791965090945050505050565b6119c1614e9a565b5f6119ca614eb9565b8481526101408401805151602080840191909152815181015160408085019190915282518101516060808601919091529251830151608085015260e080880180515160a0870152805184015160c087015280518301519186019190915251909201516101008401529051611a5f91611a44918491016151f2565b60405160208183030381529060405280519060200120611f49565b9150611a6a82612d58565b6020850152835260015b611a806002601961523a565b811015611b0057611a9d83604051602001611a4491815260200190565b9250611aa883612d58565b85611ab4846002615145565b60198110611ac457611ac46151b3565b6020020186611ad4856002615145565b611adf9060016151a0565b60198110611aef57611aef6151b3565b602002019190915252600101611a74565b50611b1782604051602001611a4491815260200190565b91505f611b2383612d58565b85611b30600160196151c7565b60198110611b4057611b406151b3565b60200201919091525050509250929050565b611b5a614ed8565b5f805b601c811015611bac57611b7c84604051602001611a4491815260200190565b93505f611b8885612d58565b8584601c8110611b9a57611b9a6151b3565b60200201919091525050600101611b5d565b5090929050565b611bbb614ed8565b5f805b601c811015611c7e57611bcf614eb9565b8481525f5b6008811015611c385786610160015183601c8110611bf457611bf46151b3565b60200201518160088110611c0a57611c0a6151b3565b602002015182611c1b8360016151a0565b60098110611c2b57611c2b6151b3565b6020020152600101611bd4565b50611c4d81604051602001611a4491906151f2565b94505f611c5986612d58565b8685601c8110611c6b57611c6b6151b3565b6020020191909152505050600101611bbe565b50909391925050565b5f5f611c91614ef7565b8381525f5b6028811015611ce4578561018001518160288110611cb657611cb66151b3565b602002015182611cc78360016151a0565b60298110611cd757611cd76151b3565b6020020152600101611c96565b50611cf981604051602001611a44919061524d565b91505f611d0583612d58565b5096929550919350505050565b5f5f611d1c614f16565b8381525f5b611d2d6001601c6151c7565b811015611e6b57856101a0015181601b8110611d4b57611d4b6151b3565b60200201515182611d5d836004615145565b611d689060016151a0565b606d8110611d7857611d786151b3565b60200201526101a086015181601b8110611d9457611d946151b3565b60200201516020015182826004611dab9190615145565b611db69060026151a0565b606d8110611dc657611dc66151b3565b60200201526101a086015181601b8110611de257611de26151b3565b60200201516040015182611df7836004615145565b611e029060036151a0565b606d8110611e1257611e126151b3565b60200201526101a086015181601b8110611e2e57611e2e6151b3565b60200201516060015182611e43836004615145565b611e4e9060046151a0565b606d8110611e5e57611e5e6151b3565b6020020152600101611d21565b50611cf981604051602001611a449190615281565b5f5f611e8a614f35565b8381525f5b601c811015611edd57856101c0015181601c8110611eaf57611eaf6151b3565b602002015182611ec08360016151a0565b601d8110611ed057611ed06151b3565b6020020152600101611e8f565b50611cf981604051602001611a4491906152b5565b5f5f611efc614f54565b8381526101e085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611cf991611a44918491016152e9565b5f611f615f51602061540b5f395f51905f528361531c565b92915050565b5f5f51602061540b5f395f51905f528284099392505050565b5f5f51602061540b5f395f51905f528284089392505050565b5f5f51602061540b5f395f51905f52611fbf835f51602061540b5f395f51905f526151c7565b84089392505050565b5f6119358361059384612336565b81515f908190611fee908560015b6020020151611f80565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156120e0576120d6826105938784611f99565b91506001016120bf565b506120e9614f72565b5f5b600881101561214a575f848260088110612107576121076151b3565b6020020151905061211c816105938985611f99565b905061212781612336565b90508083836008811061213c5761213c6151b3565b6020020152506001016120eb565b505f5b600881101561219d575f878260088110612169576121696151b3565b60200201519050612186818484600881106107fa576107fa6151b3565b90506121928682611f80565b95505060010161214d565b5061075c8483611f67565b5f5f6121be600161059885610593896001611f99565b90506121ca8482611f67565b95945050505050565b5f6121dc614f91565b6121e7868285612d91565b6121f386868386612f3d565b6121ff86868386613125565b61220a868285613321565b612215868285613509565b6122218686838661384c565b61222c8682856140e6565b6122378682856144b1565b61075c81856147a6565b612249614ed8565b81815260015b601c8110156122a057612281826122676001846151c7565b601c8110612277576122776151b3565b6020020151612401565b8282601c8110612293576122936151b3565b602002015260010161224f565b50919050565b6122ae614f35565b836122c76122c282865f6020020151611f99565b612336565b82525f5b601c81101561232d575f6122e08560016151a0565b8211612302576122ff6122c2848885601c8110611fe457611fe46151b3565b90505b808461230f8460016151a0565b601d811061231f5761231f6151b3565b6020020152506001016122cb565b50509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061540b5f395f51905f520360808201525f51602061540b5f395f51905f5260a082015260205f60c08360055afa905080612394575f5ffd5b50505f519392505050565b604080518082019091525f8082526020820152604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f611f61825f51602061540b5f395f51905f526151c7565b5f611f618283611f67565b5f601c5b80156124fb575f846124236001846151c7565b601c8110612433576124336151b3565b602002015190505f886124476001856151c7565b601c8110612457576124576151b3565b602002015190505f8761246b6001866151c7565b601c811061247b5761247b6151b3565b602002015190505f6124b661249a612493868d611f67565b6002611f67565b6105b6846105936124b08961059360018b611f99565b88611f99565b90506124d7816105936122c26124d18861059360018a611f99565b87611f80565b9050868511806124e557819a505b5050505050806124f49061532f565b9050612410565b509395945050505050565b604080518082019091525f80825260208201525f612526601c60286151a0565b6125319060026151a0565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156125bf5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612566565b50805184526020810151602085015250505092915050565b604080518082019091525f80825260208201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761263b91906151c7565b612645919061531c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516127e49190615344565b5f60405180830381855afa9150503d805f811461281c576040519150601f19603f3d011682016040523d82523d5f602084013e612821565b606091505b50915091505f8180602001905181019061283b919061535a565b90508280156128475750805b979650505050505050565b5f808080806128628660036151a0565b61286d90600c6151a0565b67ffffffffffffffff81111561288557612885615379565b6040519080825280602002602001820160405280156128ae578160200160208202803683370190505b509050885f01515f1b815f815181106128c9576128c96151b3565b60200260200101818152505088602001515f1b816001815181106128ef576128ef6151b3565b60200260200101818152505088604001515f1b81600281518110612915576129156151b3565b60209081029190910101525f5b868110156129745788888281811061293c5761293c6151b3565b905060200201358282600361295191906151a0565b81518110612961576129616151b3565b6020908102919091010152600101612922565b50606089015151816129878860036151a0565b81518110612997576129976151b3565b60209081029190910181019190915260608a01510151816129b98860036151a0565b6129c49060016151a0565b815181106129d4576129d46151b3565b6020908102919091010152606089015160400151816129f48860036151a0565b6129ff9060026151a0565b81518110612a0f57612a0f6151b3565b60209081029190910101526060808a0151015181612a2e8860036151a0565b612a399060036151a0565b81518110612a4957612a496151b3565b602090810291909101015260808901515181612a668860036151a0565b612a719060046151a0565b81518110612a8157612a816151b3565b60209081029190910181019190915260808a0151015181612aa38860036151a0565b612aae9060056151a0565b81518110612abe57612abe6151b3565b602090810291909101015260808901516040015181612ade8860036151a0565b612ae99060066151a0565b81518110612af957612af96151b3565b602090810291909101015260808901516060015181612b198860036151a0565b612b249060076151a0565b81518110612b3457612b346151b3565b602090810291909101015260a08901515181612b518860036151a0565b612b5c9060086151a0565b81518110612b6c57612b6c6151b3565b60209081029190910181019190915260a08a0151015181612b8e8860036151a0565b612b999060096151a0565b81518110612ba957612ba96151b3565b602090810291909101015260a08901516040015181612bc98860036151a0565b612bd490600a6151a0565b81518110612be457612be46151b3565b602090810291909101015260a08901516060015181612c048860036151a0565b612c0f90600b6151a0565b81518110612c1f57612c1f6151b3565b602002602001018181525050612c3f81604051602001611a44919061538d565b9150612c4a82612d58565b6040805160208101869052929750909550612c659101611a44565b91505f612c7183612d58565b50959a949950949750909550919350505050565b5f5f5f612c90614fb0565b8581526101008581018051516020808501919091528151810151604080860191909152825181015160608087019190915292518301516080860152610120808a0180515160a0880152805184015160c080890191909152815184015160e089015290518501519587019590955293890180515194860194909452835182015161014086015283518101516101608601529251909101516101808401529051612d3e91611a44918491016153c2565b9150612d4982612d58565b90979096509194509092505050565b5f80826fffffffffffffffffffffffffffffffff8116608082901c612d7c82611f49565b9450612d8781611f49565b9350505050915091565b5f612d9d84600761480b565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612dfe612df8612dd2856003611f99565b610593612ded612de28b5f61480b565b6105938c601c61480b565b6105938b601b61480b565b83611f67565b9050612e7f612e74612e5b612e42612e2985610598612e1e8d600261480b565b6105938e601b61480b565b610598612e378c600361480b565b6105938d601c61480b565b610598612e508b600461480b565b6105938c601d61480b565b610598612e698a600561480b565b6105938b601e61480b565b61059888600161480b565b9050612e9e81610598612e93866001611f99565b6105938a602661480b565b9050612eaa8184611f67565b9050612eb68185611f67565b8552505f9050612ef0612ee6612edb612ed088601b61480b565b61059889601e61480b565b6105b688602361480b565b610598875f61480b565b9050612f0181610593846002611f99565b9050612f1281610593846001611f99565b9050612f1e8183611f67565b9050612f2a8184611f67565b9050808460015b60200201525050505050565b5f5f5f612f73612f69612f5189601b61480b565b610598612f5f8b601161480b565b8a60600151611f67565b8760800151611f80565b9050612fac81610593612fa2612f8a8b601c61480b565b610598612f988d601261480b565b8c60600151611f67565b8960800151611f80565b9050612fd181610593612fa2612fc38b601d61480b565b610598612f988d601361480b565b9050612ff681610593612fa2612fe88b601e61480b565b610598612f988d601461480b565b92505f905061301a612f6961300c89601b61480b565b610598612f5f8b600d61480b565b905061303f81610593612fa26130318b601c61480b565b610598612f988d600e61480b565b905061306481610593612fa26130568b601d61480b565b610598612f988d600f61480b565b905061308981610593612fa261307b8b601e61480b565b610598612f988d601061480b565b91505f90506130b06130aa61309f89601f61480b565b6105988a601961480b565b84611f67565b90506130e5816105b66130df6130c78b602761480b565b6105986130d58d601a61480b565b8c60a00151611f67565b85611f67565b90506130f18185611f67565b6040860152505f6131146130df61310989601a61480b565b6105938a602761480b565b606090950194909452505050505050565b5f5f61318361316b61315361313e612fa28a601561480b565b61059861314c8b601661480b565b8a51611f67565b6105986131618a601761480b565b8960200151611f67565b61059861317989601861480b565b8860400151611f67565b91505f6131ba6131a161319789601b61480b565b8860800151611f80565b6105986131af8a600361480b565b6105938b602361480b565b90505f6131e36131cb89601c61480b565b6105986131d88b5f61480b565b6105938c602461480b565b90505f61320d6131f48a601d61480b565b6105986132028c600161480b565b6105938d602561480b565b905061324c61323461322685610598868d5f0151611f67565b610598848c60200151611f67565b6105986132428c600461480b565b8b60400151611f67565b93505050505f6132606130aa88602061480b565b90505f6132716130aa89602061480b565b90505f6132a96132906132858b602261480b565b6105988c600661480b565b6105b661329e8c602261480b565b6105938d600661480b565b90505f6132cd6132c76132bc8789611f67565b6105938d602061480b565b83611f99565b90506132d98188611f67565b90505f6133016132f36132ed8d600661480b565b87611f67565b6105b66132ed8e602161480b565b60808a018390529050808960055b60200201525050505050505050505050565b5f61332d5f6001611f99565b90505f61333b5f6002611f99565b90505f6133495f6003611f99565b90505f61336561335a88601c61480b565b6105b689601b61480b565b90505f61338161337689601d61480b565b6105b68a601c61480b565b90505f61339d6133928a601e61480b565b6105b68b601d61480b565b90505f6133b96133ae8b602361480b565b6105b68c601e61480b565b9050836133ca81610593818b611f80565b90506133da81610593878a611f80565b90506133ea816105938789611f80565b90506133fb816105938d600861480b565b9050613407818a611f67565b60c08b0152508261341c81610593818b611f80565b905061342c81610593868a611f80565b905061343c816105938689611f80565b905061344d816105938d600861480b565b9050613459818a611f67565b60e08b0152508161346e81610593818b611f80565b905061347e81610593858a611f80565b905061348e816105938589611f80565b905061349f816105938d600861480b565b90506134ab818a611f67565b6101008b015250806134c181610593818b611f80565b90506134d181610593848a611f80565b90506134e1816105938489611f80565b90506134f2816105938d600861480b565b90506134fe818a611f67565b9050808a600961330f565b6135426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61354d84601c61480b565b815261355a84601d61480b565b602082015261356a84602361480b565b604082015261357a84602661480b565b606082015261358a84602561480b565b608082015261359a84602461480b565b60a08201525f6135ab85600261480b565b90505f6135b8865f61480b565b90505f6135cc8460400151855f0151611f99565b90505f6135e185602001518660200151611f67565b606086015190915086905f906135f79080611f67565b90505f61361561360f89602001518a60600151611f67565b88611f67565b90505f61363461362d8a60a001518b60400151611f80565b8a51611f80565b90506136436132ed8288611f67565b905061366461365e6136586124b08487611f99565b84611f80565b83611f80565b905061368c6136816136768387611f67565b6105938f600961480b565b61059360018a611f99565b6101408c015250505050602085015160808601515f916136ab91611f80565b90505f6136c96136bf886060015188611f67565b8860200151611f99565b90505f6136ed6136d98487611f67565b6105986130df8b60a001518c5f0151611f99565b905061371561370a6136ff838c611f67565b6105938e600961480b565b610593600189611f99565b6101608b0152505f9150613736905061372f836011611f80565b8751611f67565b90505f6137438384611f80565b905061374f8182611f80565b90505f61375d836009611f67565b90506137866137806130aa6137798b60a001518c5f0151611f80565b8b51611f80565b82611f99565b60c089018190525f906137a19061360f90613676908d611f67565b90506137b48b600a602002015182611f80565b6101408c0152505086515f92506137db915061372f906137d49080611f80565b8851611f80565b90505f61381b6137f6836105938a5f01518b60a00151611f99565b60208901516105b6906138099080611f80565b6105938b602001518c60800151611f80565b905061383889600b602002015161059861360f613676858d611f67565b89600b602002015250505050505050505050565b6138e0604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6139156138fc6138f187601b61480b565b61059388602461480b565b61059861390a88602361480b565b61059389601c61480b565b815261395a61394f61393661392b88601b61480b565b61059389601e61480b565b61059861394489601c61480b565b6105938a601d61480b565b6105b687602561480b565b6040820181905261396f90600160441b611f67565b60408201819052613985906105b687602661480b565b6040820181905281516139989190611f80565b604082018190526139ae9061059387600561480b565b604082015280516139c390600160441b611f67565b8082526139e3906105986139d888602361480b565b61059389602461480b565b808252602082018190526139ff906105b6612ed088601d61480b565b60208201819052613a159061059387600461480b565b6020820152805160608201819052613a329061059887601e61480b565b60608201819052613a56906105b6613a4b88602561480b565b61059889602661480b565b60608201819052613a6b90610593875f61480b565b8160600181815250505f613a94613a8a83602001518460400151611f80565b8360600151611f80565b9050613aa58161059388600361480b565b9050613abd613ab587602461480b565b614000611f67565b60808301819052613ad39061059888602361480b565b60808301819052613ae690614000611f67565b60808301819052613afc9061059888601d61480b565b60808301819052613b0f90614000611f67565b60808301819052613b259061059888601c61480b565b60808301819052613b3890614000611f67565b60808301819052613b4e9061059888601b61480b565b60808301819052613b64906105b688601e61480b565b60808301819052613b7a9061059388600561480b565b6080830152613b8d613ab587602561480b565b60a08301819052613ba39061059888602461480b565b60a08301819052613bb690614000611f67565b60a08301819052613bcc9061059888602361480b565b60a08301819052613bdf90614000611f67565b60a08301819052613bf59061059888601e61480b565b60a08301819052613c0890614000611f67565b60a08301819052613c1e9061059888601d61480b565b60a08301819052613c34906105b688602661480b565b60a08301819052613c4990610593885f61480b565b60a0830181905260808301515f91613c619190611f80565b9050613c728161059389600461480b565b9050613c8c613c8288601d61480b565b8760400151611f67565b60c08401819052613ca5906105986131618a601c61480b565b60c08401819052613cc590610598613cbe8a601b61480b565b8951611f67565b60c08401819052613cdb9061059889600161480b565b60c0840181905260e08401819052613cf8906105b689601e61480b565b60c0840152613d0b61335a88602361480b565b610140840152613d2a613d1f88602661480b565b6105b689601e61480b565b610120840152610140830151613d4f90613d449080611f67565b846101400151611f99565b610280840152610140830151613d9190613d8690613d7f9061059360015f51602061540b5f395f51905f526151c7565b6001611f80565b846101200151611f67565b6101608401819052613dc890613dba90610593613daf8b600261480b565b6105938c600361480b565b6105936132ed8a600a61480b565b6101a0860152610280830151613dea90613dba90610593613daf8b600261480b565b6101c086015260c0830151613e1290610593613e078a600261480b565b6105938b600361480b565b6101e08401525f613e31613e2789601e61480b565b8560e00151611f99565b9050613e406137808283611f67565b6101a0850152613e5461317989602561480b565b6101008501819052613e7890610598613e6e8b602461480b565b8a60200151611f67565b6101008501819052613e929061059861314c8b602361480b565b610100850152613eb1613ea689602661480b565b856101000151611f99565b6101008501525f613ec66133928a602561480b565b9050613f1a613ef4612df8613d7f88610140015160015f51602061540b5f395f51905f5261059391906151c7565b610593613d7f88610100015160015f51602061540b5f395f51905f5261059391906151c7565b610180860152610100850151613f3f90613f349080611f67565b866101000151611f99565b6101c0860152610180850151613f7290613f5e906105938c600761480b565b610593613f6c8c600a61480b565b89611f67565b6101e0880152610280850151613f9190613f5e906105938c600761480b565b6102008801526101c0850151613fb090613f5e906105938c600761480b565b6102208801526101a0850151613fcb906105938b600761480b565b610200860152613fea613fdf8a602461480b565b6105b68b601c61480b565b610220860152610140850151614029906133929061401e90613d7f9061059360015f51602061540b5f395f51905f526151c7565b876102200151611f67565b61024086018190526101e0860151610260870181905261406091610598906105936140558e600561480b565b6105938f600261480b565b610260860181905260c08601516140839190610598906105936140558e5f61480b565b610260860181905261020086015161409b9190611f80565b61026086018190526140b1906136589086611f80565b6102a086018190526140cb90610593613f6c8c600a61480b565b6102a0860181905287600c6020020152505050505050505050565b61415c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61417561416a85601b61480b565b61059886600261480b565b815261419061418585601c61480b565b61059886600361480b565b60208201526141ae6141a385601d61480b565b61059886600461480b565b60408201526141cc6141c185601e61480b565b61059886600561480b565b606082015280516141fe906141f7906141f0906141e99080611f67565b8451611f67565b8351611f67565b8251611f67565b6080820152602081015161423c90614232906142289061421e9080611f67565b8460200151611f67565b8360200151611f67565b8260200151611f67565b60a0820152604081015161427a90614270906142669061425c9080611f67565b8460400151611f67565b8360400151611f67565b8260400151611f67565b60c082015260608101516142b8906142ae906142a49061429a9080611f67565b8460600151611f67565b8360600151611f67565b8260600151611f67565b60e0820152608081015160a08201516142d19190611f80565b61010082015260c081015160e08201516142eb9190611f80565b61012082015260a081015161430f906143049080611f80565b826101200151611f80565b61014082015260e0810151614333906143289080611f80565b826101000151611f80565b6101608201526101208101516143499080611f80565b6101e0820181905261436a9061435f9080611f80565b826101600151611f80565b6101e08201526101008101516143809080611f80565b6101a082018190526143a1906143969080611f80565b826101400151611f80565b6101a082018190526101608201516143b891611f80565b6101808201526101408101516101e08201516143d49190611f80565b6101c08201526143e8612df885600b61480b565b61020082018190526102408401516101808301516144139261059891610593906105b68a602361480b565b83601260200201526144438360136020020151610598836102000151610593856101a001516105b68a602461480b565b83601360200201526144738360146020020151610598836102000151610593856101c001516105b68a602561480b565b83601460200201526144a38360156020020151610598836102000151610593856101e001516105b68a602661480b565b836015602002015250505050565b6145036040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806145387f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7611f49565b81526020016145667f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b611f49565b81526020016145937e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15611f49565b81526020016145c17f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b611f49565b905290506145de6145d386601b61480b565b61059887600261480b565b61012083018190526146129061460790613d86906145fc9080611f67565b856101200151611f67565b836101200151611f67565b825261461f85601c61480b565b602083015261462f85601d61480b565b604083015261463f85601e61480b565b60608301528151602083015161466791613a8a9161465d9190611f80565b8460400151611f80565b608083015261467a6130aa86600c61480b565b610140830152815161469b9061469190835f6107fa565b8360800151611f80565b60a08301526146c784601660200201516105988461014001516105938660a001516105b68b602361480b565b6102c085015260208201516146e290614691908360016107fa565b60c083015261470e84601760200201516105988461014001516105938660c001516105b68b602461480b565b6102e0850152604082015161472990614691908360026107fa565b60e083015261475584601860200201516105988461014001516105938660e001516105b68b602561480b565b610300850152606082015161477090614691908360036107fa565b61010083015261479e84601960200201516105988461014001516105938661010001516105b68b602661480b565b846019612f31565b5f6147b2818481611fe4565b905060015b601a811015614804576147fa826105988684601a81106147d9576147d96151b3565b6020020151866147ea6001876151c7565b601981106107fa576107fa6151b3565b91506001016147b7565b5092915050565b5f8282602781111561481f5761481f6153f6565b6028811061482f5761482f6151b3565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161487460405180604001604052805f81526020015f81525090565b815260200161489460405180604001604052805f81526020015f81525090565b81526020016148b460405180604001604052805f81526020015f81525090565b81526020016148d460405180604001604052805f81526020015f81525090565b81526020016148f460405180604001604052805f81526020015f81525090565b815260200161491460405180604001604052805f81526020015f81525090565b815260200161493460405180604001604052805f81526020015f81525090565b815260200161495460405180604001604052805f81526020015f81525090565b815260200161497460405180604001604052805f81526020015f81525090565b815260200161499460405180604001604052805f81526020015f81525090565b81526020016149b460405180604001604052805f81526020015f81525090565b81526020016149d460405180604001604052805f81526020015f81525090565b81526020016149f460405180604001604052805f81526020015f81525090565b8152602001614a1460405180604001604052805f81526020015f81525090565b8152602001614a3460405180604001604052805f81526020015f81525090565b8152602001614a5460405180604001604052805f81526020015f81525090565b8152602001614a7460405180604001604052805f81526020015f81525090565b8152602001614a9460405180604001604052805f81526020015f81525090565b8152602001614ab460405180604001604052805f81526020015f81525090565b8152602001614ad460405180604001604052805f81526020015f81525090565b8152602001614af460405180604001604052805f81526020015f81525090565b8152602001614b1460405180604001604052805f81526020015f81525090565b8152602001614b3460405180604001604052805f81526020015f81525090565b8152602001614b5460405180604001604052805f81526020015f81525090565b8152602001614b7460405180604001604052805f81526020015f81525090565b8152602001614b9460405180604001604052805f81526020015f81525090565b8152602001614bb460405180604001604052805f81526020015f81525090565b905290565b6040518061022001604052805f81526020015f81526020015f8152602001614bfe60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c2a60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c5660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614c8260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cae60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614cda60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d0660405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614d3f614fcf565b8152602001614d4c614ffd565b8152602001614d5961501c565b8152602001614d66614ed8565b8152602001614d9260405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001614bb460405180608001604052805f81526020015f81526020015f81526020015f81525090565b604051806101000160405280614dfd6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001614e0a614e9a565b8152602001614e17614ed8565b8152602001614e24614ed8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b604080518082019091525f8082526020820152815260200190600190039081614e715790505090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b604051806101a00160405280600d906020820280368337509192915050565b604051806103800160405280601c905b614fe7614f72565b815260200190600190039081614fdf5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b61505360405180608001604052805f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161502c5790505090565b5f5f5f5f6040858703121561507c575f5ffd5b843567ffffffffffffffff811115615092575f5ffd5b8501601f810187136150a2575f5ffd5b803567ffffffffffffffff8111156150b8575f5ffd5b8760208284010111156150c9575f5ffd5b60209182019550935085013567ffffffffffffffff8111156150e9575f5ffd5b8501601f810187136150f9575f5ffd5b803567ffffffffffffffff81111561510f575f5ffd5b8760208260051b8401011115615123575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611f6157611f61615131565b5f5f8585111561516a575f5ffd5b83861115615176575f5ffd5b5050820193919092039150565b80356020831015611f61575f19602084900360031b1b1692915050565b80820180821115611f6157611f61615131565b634e487b7160e01b5f52603260045260245ffd5b81810381811115611f6157611f61615131565b5f600182016151eb576151eb615131565b5060010190565b5f8183825b60098110156152165781518352602092830192909101906001016151f7565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261524857615248615226565b500490565b5f8183825b6029811015615271578151835260209283019290910190600101615252565b5050506105208201905092915050565b5f8183825b606d8110156152a5578151835260209283019290910190600101615286565b505050610da08201905092915050565b5f8183825b601d8110156152d95781518352602092830192909101906001016152ba565b5050506103a08201905092915050565b5f8183825b600581101561530d5781518352602092830192909101906001016152ee565b50505060a08201905092915050565b5f8261532a5761532a615226565b500690565b5f8161533d5761533d615131565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561536a575f5ffd5b81518015158114611935575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156153b7578151845260209384019390910190600101615399565b509195945050505050565b5f8183825b600d8110156153e65781518352602092830192909101906001016153c7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212206057ab0dba40ab45b1ba74cacddc0bcc199ab1e122db26e0843b64b9a2cba9f064736f6c634300081b0033";
3
+ */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f1bfabf76a8b835c7291eee4c605fb48598a556dfc788c3f1cfacf4e292576e2d60c05260ae60e05260805160a05160c05160e051615d986100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfb01525f5050615d985ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599e565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a7a565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a7a565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a91565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a7a565b905060016102a9600885615a7a565b6102b39190615a7a565b6102bd9082615aa4565b90506102cb60016029615a7a565b6102d59082615aa4565b905060026102e4600185615a91565b6102ee9190615a7a565b6102f89082615aa4565b9050610305600184615a7a565b61030f9082615aa4565b905061031c600280615a7a565b6103269082615aa4565b9050610333601082615aa4565b9392505050565b61034261520c565b61034a611786565b905090565b6103576155aa565b5f805b60108110156103b957610386868387610374602083615aa4565b9261038193929190615ab7565b6120c1565b8351826010811061039957610399615ade565b6020020181815250506020826103af9190615aa4565b915060010161035a565b506103dd8582866103cb604083615aa4565b926103d893929190615ab7565b6120d4565b60208301526103ed604082615aa4565b90506104008582866103cb604083615aa4565b6040808401919091526104139082615aa4565b90506104268582866103cb604083615aa4565b6060830152610436604082615aa4565b90506104498582866103cb604083615aa4565b60c0830152610459604082615aa4565b905061046c8582866103cb604083615aa4565b60e083015261047c604082615aa4565b905061048f8582866103cb604083615aa4565b608083015261049f604082615aa4565b90506104b28582866103cb604083615aa4565b6101008301526104c3604082615aa4565b90506104d68582866103cb604083615aa4565b60a08301526104e6604082615aa4565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa4565b84610120015183601c811061052557610525615ade565b6020020151826008811061053b5761053b615ade565b6020020181815250506020836105519190615aa4565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa4565b836101400151826029811061059857610598615ade565b6020020181815250506020826105ae9190615aa4565b9150600101610567565b505f5b6105c6600185615a91565b81101561060f576105de8683876103cb604083615aa4565b83610160015182601b81106105f5576105f5615ade565b6020020152610605604083615aa4565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa4565b83610180015182601c811061064257610642615ade565b6020020181815250506020826106589190615aa4565b9150600101610612565b506106748582866103cb604083615aa4565b6101a0830152610685604082615aa4565b90506106988582866103cb604083615aa4565b6101c0830152509392505050565b6106ae6156f2565b5f6106bd888888888886612161565b90835290506106cc81896121e0565b602084019190915290506106e081846122cf565b604084019190915290506106f588828561235e565b606084019190915290506107098882612432565b6080840191909152905061071e8882856124bd565b60a08401919091529050610733888285612632565b60c0840191909152905061074788826126f7565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa4565b612734565b61274c565b612767565b90505f6107a38761079e8a61077b6107768b6001615aa4565b612780565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a91565b81101561083f575f6107fc8c83815181106107ef576107ef615ade565b60200260200101516127a8565b905061080c8661077b8684612767565b955061081c8561077b8584612767565b9450610828848b612767565b9350610834838b612780565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615ade565b602002015190506108738661077b8684612767565b95506108838561077b8584612767565b945061088f848b612767565b935061089b838b612780565b925050600101610842565b506108b184846127bd565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615ade565b602002015190505f61091782866127cb565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615ade565b6020020151905061095f83826127eb565b9550610986886040015185601c811061097a5761097a615ade565b6020020151868361299a565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c5565b90508281145b9695505050505050565b5f6109c9615776565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3e565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610a31906002615aa4565b67ffffffffffffffff811115610a4957610a49615af2565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610aac906002615aa4565b67ffffffffffffffff811115610ac457610ac4615af2565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615ade565b6020026020010151612780565b612b08565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615ade565b6020026020010151612767565b610140850181905261012085015160c0880151610b8f92610780919061274c565b845260a0860151610bbf90610ba390612b08565b61077b86610120015161079e8a60c0015189610140015161274c565b6020850152815160019083905f90610bd957610bd9615ade565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615ade565b6020908102919091010152600160a08501525f60c085015283515f516020615d435f395f51905f5203604085015260208401515f516020615d435f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274c565b838281518110610c7357610c73615ade565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a91565b60298110610cad57610cad615ade565b60200201518860a0015161274c565b60c086015260a08501516080880151610cd5919061274c565b60a0860152610ce381615b06565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa4565b90505f610d10602484615aa4565b9050610d41858381518110610d2757610d27615ade565b602002602001015161078089606001518a60a0015161274c565b858381518110610d5357610d53615ade565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615ade565b60200201518a60a0015161274c565b60c088015260a087015160808a0151610da9919061274c565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615ade565b6020026020010181905250866080015181600281518110610df457610df4615ade565b60200260200101819052508660a0015181600381518110610e1757610e17615ade565b60200260200101819052508660c0015181600481518110610e3a57610e3a615ade565b60200260200101819052508660e0015181600581518110610e5d57610e5d615ade565b602002602001018190525086610100015181600681518110610e8157610e81615ade565b602002602001018190525086610120015181600781518110610ea557610ea5615ade565b602002602001018190525086610140015181600881518110610ec957610ec9615ade565b602002602001018190525086610160015181600981518110610eed57610eed615ade565b6020026020010181905250866101c0015181600a81518110610f1157610f11615ade565b602002602001018190525086610180015181600b81518110610f3557610f35615ade565b6020026020010181905250866101a0015181600c81518110610f5957610f59615ade565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615ade565b602002602001018190525086610200015181600e81518110610fa157610fa1615ade565b602002602001018190525086610220015181600f81518110610fc557610fc5615ade565b602002602001018190525086610240015181601081518110610fe957610fe9615ade565b60200260200101819052508661026001518160118151811061100d5761100d615ade565b60200260200101819052508661028001518160128151811061103157611031615ade565b6020026020010181905250866102a001518160138151811061105557611055615ade565b6020026020010181905250866102c001518160148151811061107957611079615ade565b6020026020010181905250866102e001518160158151811061109d5761109d615ade565b6020026020010181905250866103000151816016815181106110c1576110c1615ade565b6020026020010181905250866103200151816017815181106110e5576110e5615ade565b60200260200101819052508661034001518160188151811061110957611109615ade565b60200260200101819052508661036001518160198151811061112d5761112d615ade565b602002602001018190525086610380015181601a8151811061115157611151615ade565b6020026020010181905250866103a0015181601b8151811061117557611175615ade565b6020026020010181905250866103c0015181601c8151811061119957611199615ade565b6020026020010181905250876020015181601d815181106111bc576111bc615ade565b6020026020010181905250876040015181601e815181106111df576111df615ade565b6020026020010181905250876060015181601f8151811061120257611202615ade565b602002602001018190525087608001518160208151811061122557611225615ade565b60200260200101819052508760a001518160218151811061124857611248615ade565b60200260200101819052508761010001518160228151811061126c5761126c615ade565b60200260200101819052508760c001518160238151811061128f5761128f615ade565b60200260200101819052508760e00151816024815181106112b2576112b2615ade565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b78565b9050611322815f8151811061130f5761130f615ade565b602002602001015186610120015161274c565b608086018190526101808a01515160c0890151611353929161078091611348919061274c565b88610140015161274c565b608086015260c087015161136690612cd7565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a91565b8110156115a7576113c8610b358960e00151878460016113b89190615aa4565b81518110610b2857610b28615ade565b61012087015260e08801516113f790610b3590876113e7856001615aa4565b81518110610b6157610b61615ade565b61014087015260a0860151610120870151611412919061274c565b61016087015260a086015160c089015161143a9161142f9161274c565b87610140015161274c565b610180870181905261146f905f516020615d435f395f51905f52036101608801515f516020615d435f395f51905f5203612767565b848261147d60246001615aa4565b6114879190615aa4565b8151811061149757611497615ade565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa4565b601c81106114d0576114d0615ade565b602002015161274c565b905061151481610780896101600151868660016114f79190615aa4565b8151811061150757611507615ade565b602002602001015161274c565b9050611524876080015182612767565b608088015260a087015160c08a015161154a916115409161274c565b8a60c0015161274c565b60a08801526101608b015182601b811061156657611566615ade565b6020020151848361157960246001615aa4565b6115839190615aa4565b8151811061159357611593615ade565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b815181106115f9576115f9615ade565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b8151811061164557611645615ade565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b61168e906001615aa4565b8151811061169e5761169e615ade565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b6116e5906001615aa4565b815181106116f5576116f5615ade565b6020026020010181815250505f61170c8486612ce2565b90505f61171883612dfd565b90505f6117298d5f01518484612e4e565b90505f5f6117398f5f0151612ec4565b9150915061174682612f90565b61174f81612f90565b61175a858385613033565b9450611767848285613033565b9350611773858561306f565b9f9e505050505050505050505050505050565b61178e61520c565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f05c6d0588f966600067720c02b4bd408f2a4d5b4c7ec5c8b9ac06db5a624d0c081527f0d3d01ea100ae1b592efeb01311b459f984ccb87eceaba1775d47c7f617bd8d5818301526060830152825180840184527f1d3a5bc437493bf497c78ae53d5072cbb1708bbf67e6f81f20db853b78c3552581527f05ef8784268f38b5cdf87bc92f07056ce865574cfa9aef8c5a7296a2f8ba6d46818301526080830152825180840184527f05a3c29af264151137aab93cb0d76b38aa87440f324bd174e697d07d7f66557881527f07de3c77f1748cf0008870729cd82563d18789f9fbc32d642ecf33ddd0dd998f8183015260a0830152825180840184527f291eea56006010d3323bab8ce767acddc4746983278c79b0bdef3c2b73b40c1181527f2dbe1925d6c8dca2d04b261669d970ddae699edcbfe484e9b091363fcf20310f8183015260c0830152825180840184527f15054a406003d372f3da3bc3a736c2612ab7bd2a22a3ef44b3af312dd132973381527f11674d3ad6914bf0fccb1a3878b2ac2cae51c9376b19531353a11f9de78664108183015260e0830152825180840184527f2f0543d1ca9fad8984f3c0dd7a5fb76e996667f809906ec8c3e13b075e55c3c281527f2339fe5dfec669d1e77b0ea85da25ab2e46544f2eb36455ec29742351c2f493c81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f2e3934a105be2b325ce88ccb7bfbb9f78047ed4b7b594139ebc73561147d5fa081527f16c61c1f1ddbf2b17b93959a0ce1a9a4961cf7f76ab089b78675c4f67d6fb59481830152610140830152825180840184527f21a7b3cd9862e911830e71aba6ae432f780c13438809502be13e59c9325d1b0e81527f1a8175a176469360814cc209358261263710df261c44987ce468aefb773601ae81830152610160830152825180840184527f25f15d4b6948a38997fc6f0c5364be266073a4231a352958452e142b2640ac5181527f17d66491d6d094a4b06cba3444c15c44a181d2dea1711a37ae11352bac87daea81830152610180830152825180840184527f1d2981a6f07da88ee6dc9ae52beb506c86132ba0e6ae7925a327cc7c8a6e23f481527f250d30c90db4ff03b905b837994216035145e0a03e4abc9305532f6923b26227818301526101a0830152825180840184527f20b95079a7451bfb7be1e73ce6751aa36d0a2bd67468db96a50af5cd48ed917581527f28953024a25671e8ecfca7f62cd572b86fb4dac4924e5a5b04fde6a66b29ff8f818301526101c0830152825180840184527f2e1087f6b90ef176c6a211ef3d5c84b3d4b1cc27173f91813d58f621b486875a81527f1ffe89f968af5346a0221ecc58cda8994eba6c0d329871678bc749c8431370bd818301526101e0830152825180840184527f28cf6363f37ba833170fdbffbb279aa587499dec120cff56349ecf0d2e3165bf81527f1c3a642d62dca853bdc206d8e50c1ef22953526bcb3d3e6a62851968b20a24ed81830152610200830152825180840184527f06bbe13524c7b4302abaed38674354f15488dafffde184740be2f0f6a19d389f81527f01a22be7769d5f9663415269caff610902e01ae2f1861cc7c770f6eecc5717fd81830152610220830152825180840184527f0a4517ebf0794c5fe7f6ade2b9bd593f62799678527a166fdd04c2a2b3c520bf81527f0e42a56008f38a8ad5cb47cfb53243296bbe851014f48827fb6c7b2b23cb7e9d81830152610240830152825180840184527f0f9725aa5932e7e8dedaf1d1cd7f7d13d578d88dbcc255b34014bd2b532f02a981527f11c5e9c13cc85ae9bdc76fc9bc46d52ddaf50021af33fdc19f6e5b6feeea772e81830152610260830152825180840184527e2e6c9b307b14d4a18f575f7b9d92970fe0daf50ad30e2e3140a001795c55f081527f0e2e1acb6778ed1838e80660338b2d4278a9a33881b0d03906a745ab18ba9f0481830152610280830152825180840184527f216840b1230dc8aa2ee07e534fc4121dd109b5c4bf0db34595d29c8d676b946581527f110d0ef9f9792d221c0f05a4df2e724bf285981589929fb1a7b22f3975185d3f818301526102a0830152825180840184527f21bcd9d4be69bb96cd752fcd7ce8501bb896382d2e50873e657a28c1040b92f781527f173d506211294a9fce80dfa891a887f792ce6e3a46e5cc9448aa621396f50b1e818301526102c0830152825180840184527f1761dcde45de2295520d7e47b0c2c012bb2e5a3eb77e228dd7f32706e3c16b7c81527f19589b89228c1ff39bbe2116cc74ac273c71599ac0d7097ef978995e880c5ef7818301526102e0830152825180840184527f10f585f120039f86f6df65453084feffb12e17165ac4b68d79268ac6ca65efe181527f0aaede7724df4874d814b5b7d55ede810d4ec956f59200d32d98a602b6b2534981830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f0210e121f4f5baeccc582052641fca654c6223345a0f4130b8f42981e29eb18183527f090f6b5985d1c41fae61c53848511a6e2a0a987f78f0d60a352e56505a09d5a0908301526103c081019190915290565b5f6103336120cf8385615b1e565b6127a8565b604080518082019091525f808252602082015260408051808201909152805f516020615d235f395f51905f5261210d60205f8789615ab7565b61211691615b1e565b6121209190615b3b565b81526020908101905f516020615d235f395f51905f5290612145906040908789615ab7565b61214e91615b1e565b6121589190615b3b565b90529392505050565b6121946040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a28888888888613263565b6040860191909152602085019190915290835292506121c18389613561565b6080850191909152606084019190915291989197509095505050505050565b6121e86157e6565b5f6121f1615805565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122549161223991849101615b5a565b604051602081830303815290604052805190602001206127a8565b91505f612260836135e8565b50808552905060015b6122756001601c615a91565b8110156122c5576122a68561228b600184615a91565b601b811061229b5761229b615ade565b60200201518361274c565b8582601b81106122b8576122b8615ade565b6020020152600101612269565b5050509250929050565b6122d7615823565b5f6122ee8460405160200161223991815260200190565b93506122f9846135e8565b50825260015b838110156123565761233783612316600184615a91565b601c811061232657612326615ade565b6020020151846114c0600185615a91565b8382601c811061234957612349615ade565b60200201526001016122ff565b509093915050565b612366615823565b5f805b8381101561242857612379615842565b8581525f5b60088110156123e25787610120015183601c811061239e5761239e615ade565b602002015181600881106123b4576123b4615ade565b6020020151826123c5836001615aa4565b600981106123d5576123d5615ade565b602002015260010161237e565b506123f7816040516020016122399190615b8d565b95505f612403876135e8565b8685601c811061241557612415615ade565b6020020191909152505050600101612369565b5090949293505050565b5f5f61243c615861565b8381525f5b602981101561248f57856101400151816029811061246157612461615ade565b602002015182612472836001615aa4565b602a811061248257612482615ade565b6020020152600101612441565b506124a4816040516020016122399190615bc1565b91505f6124b0836135e8565b5096929550919350505050565b5f80806124cb600185615a91565b6124d6906002615a7a565b6124e1906001615aa4565b67ffffffffffffffff8111156124f9576124f9615af2565b604051908082528060200260200182016040528015612522578160200160208202803683370190505b50905084815f8151811061253857612538615ade565b60209081029190910101525f5b612550600186615a91565b8110156126035786610160015181601b811061256e5761256e615ade565b60200201515182612580836002615a7a565b61258b906001615aa4565b8151811061259b5761259b615ade565b60200260200101818152505086610160015181601b81106125be576125be615ade565b602002015160200151828260026125d59190615a7a565b6125e0906002615aa4565b815181106125f0576125f0615ade565b6020908102919091010152600101612545565b50612618816040516020016122399190615bf5565b91505f612624836135e8565b509792965091945050505050565b5f8080612640846001615aa4565b67ffffffffffffffff81111561265857612658615af2565b604051908082528060200260200182016040528015612681578160200160208202803683370190505b50905084815f8151811061269757612697615ade565b60209081029190910101525f5b848110156126035786610180015181601c81106126c3576126c3615ade565b6020020151826126d4836001615aa4565b815181106126e4576126e4615ade565b60209081029190910101526001016126a4565b5f5f612701615880565b8381526101a085018051516020808401919091529051810151604080840191909152516124a49161223991849101615c2a565b5f5f516020615d435f395f51905f52825b0692915050565b5f5f516020615d435f395f51905f5282840990505b92915050565b5f5f516020615d435f395f51905f528284089392505050565b5f5f516020615d435f395f51905f52825f516020615d435f395f51905f520384089392505050565b5f5f516020615d435f395f51905f5282612745565b5f6103338361077b84612b08565b815160208301515f9182916127e09190612767565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d2576128c88261077b8784612780565b91506001016128b1565b506128db61589e565b5f5b600881101561293c575f8482600881106128f9576128f9615ade565b6020020151905061290e8161077b8985612780565b905061291981612b08565b90508083836008811061292e5761292e615ade565b6020020152506001016128dd565b505f5b600881101561298f575f87826008811061295b5761295b615ade565b60200201519050612978818484600881106114d0576114d0615ade565b90506129848682612767565b95505060010161293f565b506109b6848361274c565b5f5f6129b060016107808561077b896001612780565b90506129bc848261274c565b95945050505050565b5f6129ce615823565b6129d9868285613621565b6129e5868683866137cd565b6129f1868683866139b9565b6129fc868285613be4565b612a07868285613dd8565b612a1386868386614121565b612a1e8682856145cd565b612a298682856149df565b612a34868285614da0565b6109b681856150a0565b60605f8267ffffffffffffffff811115612a5a57612a5a615af2565b604051908082528060200260200182016040528015612a83578160200160208202803683370190505b50905083815f81518110612a9957612a99615ade565b602090810291909101015260015b83811015612b0057612adb82612abe600184615a91565b81518110612ace57612ace615ade565b6020026020010151612cd7565b828281518110612aed57612aed615ade565b6020908102919091010152600101612aa7565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d435f395f51905f520360808201525f516020615d435f395f51905f5260a082015260205f60c08360055afa80612b64575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9457612b94615af2565b604051908082528060200260200182016040528015612bbd578160200160208202803683370190505b509050825b8015612ccc575f85612bd5600184615a91565b81518110612be557612be5615ade565b602002602001015190505f89600184612bfe9190615a91565b601c8110612c0e57612c0e615ade565b602002015190505f612c69612c2d612c26858d61274c565b600261274c565b61079e8b612c3c600189615a91565b601c8110612c4c57612c4c615ade565b602002015161077b612c638861077b60018a612780565b87612780565b9050612c8a8161077b610b35612c848761077b600189612780565b86612767565b99508990508085612c9c600187615a91565b81518110612cac57612cac615ade565b60200260200101818152505050505080612cc590615c5d565b9050612bc2565b509695505050505050565b5f612761828361274c565b604080518082019091525f80825260208201525f612d217f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b612d2c906002615aa4565b90505f5b81811015612d6257612d5a858281518110612d4d57612d4d615ade565b6020026020010151612f90565b600101612d30565b50604051600190815b60018401811015612dc75760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6b565b5080518452602081015160208501525080612df5576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d235f395f51905f5282602001515f516020615d235f395f51905f52612e3b9190615a91565b612e459190615b3b565b60208301525090565b5f5f5f612e5a86612ec4565b91509150612e6661589e565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb99161223991849101615c72565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d235f395f51905f528380095f516020615d235f395f51905f5260035f516020615d235f395f51905f52838709085f516020615d235f395f51905f52848509149150508061302d5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306383866150f9565b90506129bc8185615165565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132059190615ca6565b5f60405180830381855afa9150503d805f811461323d576040519150601f19603f3d011682016040523d82523d5f602084013e613242565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbc565b5f80808080613273866001615aa4565b61327e906006615aa4565b67ffffffffffffffff81111561329657613296615af2565b6040519080825280602002602001820160405280156132bf578160200160208202803683370190505b509050865f1b815f815181106132d7576132d7615ade565b60209081029190910101525f5b6132ef601088615a91565b8110156133405789898281811061330857613308615ade565b905060200201358282600161331d9190615aa4565b8151811061332d5761332d615ade565b60209081029190910101526001016132e4565b505f5b60108110156133b1578a5161336b90826010811061336357613363615ade565b602002015190565b8282601061337a8b6001615aa4565b6133849190615a91565b61338e9190615aa4565b8151811061339e5761339e615ade565b6020908102919091010152600101613343565b5060208a015151816133c4886001615aa4565b815181106133d4576133d4615ade565b6020908102919091018101919091528a8101510151816133f5886001615aa4565b613400906001615aa4565b8151811061341057613410615ade565b602090810291909101015260408a0151518161342d886001615aa4565b613438906002615aa4565b8151811061344857613448615ade565b60209081029190910181019190915260408b015101518161346a886001615aa4565b613475906003615aa4565b8151811061348557613485615ade565b602090810291909101015260608a015151816134a2886001615aa4565b6134ad906004615aa4565b815181106134bd576134bd615ade565b60209081029190910181019190915260608b01510151816134df886001615aa4565b6134ea906005615aa4565b815181106134fa576134fa615ade565b60200260200101818152505061351a816040516020016122399190615bf5565b9150613525826135e8565b60408051602081018690529297509095506135409101612239565b91505f61354c836135e8565b50959b949a5094985090965091945050505050565b5f5f5f61356c6158bd565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135ce9161223991849101615cdb565b91506135d9826135e8565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360c826127a8565b9450613617816127a8565b9350505050915091565b5f61362d8460076151dc565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368e613688613662856003612780565b61077b61367d6136728b5f6151dc565b61077b8c601d6151dc565b61077b8b601c6151dc565b8361274c565b905061370f6137046136eb6136d26136b9856107806136ae8d60026151dc565b61077b8e601c6151dc565b6107806136c78c60036151dc565b61077b8d601d6151dc565b6107806136e08b60046151dc565b61077b8c601e6151dc565b6107806136f98a60056151dc565b61077b8b601f6151dc565b6107808860016151dc565b905061372e81610780613723866001612780565b61077b8a60276151dc565b905061373a818461274c565b9050613746818561274c565b8552505f905061378061377661376b61376088601c6151dc565b61078089601f6151dc565b61079e8860246151dc565b610780875f6151dc565b90506137918161077b846002612780565b90506137a28161077b846001612780565b90506137ae818361274c565b90506137ba818461274c565b9050808460015b60200201525050505050565b5f5f5f6138036137f96137e189601c6151dc565b6107806137ef8b60126151dc565b8a6060015161274c565b8760800151612767565b905061383c8161077b61383261381a8b601d6151dc565b6107806138288d60136151dc565b8c6060015161274c565b8960800151612767565b90506138618161077b6138326138538b601e6151dc565b6107806138288d60146151dc565b90506138868161077b6138326138788b601f6151dc565b6107806138288d60156151dc565b92505f90506138aa6137f961389c89601c6151dc565b6107806137ef8b600e6151dc565b90506138cf8161077b6138326138c18b601d6151dc565b6107806138288d600f6151dc565b90506138f48161077b6138326138e68b601e6151dc565b6107806138288d60106151dc565b90506139198161077b61383261390b8b601f6151dc565b6107806138288d60116151dc565b91505f905061394061393a61392f8960206151dc565b6107808a601a6151dc565b8461274c565b90506139758161079e61396f6139578b60286151dc565b6107806139658d601b6151dc565b8c60a0015161274c565b8561274c565b9050613981818561274c565b6040860152505f6139a461396f61399989601b6151dc565b61077b8a60286151dc565b9050808560035b602002015250505050505050565b5f5f613a176139ff6139e76139d26138328a60166151dc565b6107806139e08b60176151dc565b8a5161274c565b6107806139f58a60186151dc565b896020015161274c565b610780613a0d8960196151dc565b886040015161274c565b91505f613a4e613a35613a2b89601c6151dc565b8860800151612767565b610780613a438a60036151dc565b61077b8b60246151dc565b90505f613a77613a5f89601d6151dc565b610780613a6c8b5f6151dc565b61077b8c60256151dc565b90505f613aa1613a888a601e6151dc565b610780613a968c60016151dc565b61077b8d60266151dc565b9050613ae0613ac8613aba85610780868d5f015161274c565b610780848c6020015161274c565b610780613ad68c60046151dc565b8b6040015161274c565b93505050505f613af461393a8860216151dc565b90505f613b0561393a8960216151dc565b90505f613b3d613b24613b198b60236151dc565b6107808c60066151dc565b61079e613b328c60236151dc565b61077b8d60066151dc565b90505f613b61613b5b613b50878961274c565b61077b8d60216151dc565b83612780565b9050613b6d818861274c565b90505f613b95613b87613b818d60066151dc565b8761274c565b61079e613b818e60226151dc565b90505f613ba38c60236151dc565b90505f613bb3613b5b838461274c565b60808c0185905260a08c018490529050613bcd818b61274c565b8b6006602002015250505050505050505050505050565b5f613bf05f6001612780565b90505f613bfe5f6002612780565b90505f613c0c5f6003612780565b90505f613c28613c1d88601d6151dc565b61079e89601c6151dc565b90505f613c44613c3989601e6151dc565b61079e8a601d6151dc565b90505f613c60613c558a601f6151dc565b61079e8b601e6151dc565b90505f613c7c613c718b60246151dc565b61079e8c601f6151dc565b905083613c8d8161077b818b612767565b9050613c9d8161077b878a612767565b9050613cad8161077b8789612767565b9050613cbe8161077b8d60086151dc565b9050613cca818a61274c565b60e08b01525082613cdf8161077b818b612767565b9050613cef8161077b868a612767565b9050613cff8161077b8689612767565b9050613d108161077b8d60086151dc565b9050613d1c818a61274c565b6101008b01525081613d328161077b818b612767565b9050613d428161077b858a612767565b9050613d528161077b8589612767565b9050613d638161077b8d60086151dc565b9050613d6f818a61274c565b6101208b01525080613d858161077b818b612767565b9050613d958161077b848a612767565b9050613da58161077b8489612767565b9050613db68161077b8d60086151dc565b9050613dc2818a61274c565b610140909a019990995250505050505050505050565b613e116040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1c84601d6151dc565b8152613e2984601e6151dc565b6020820152613e398460246151dc565b6040820152613e498460276151dc565b6060820152613e598460266151dc565b6080820152613e698460256151dc565b60a08201525f613e7a8560026151dc565b90505f613e87865f6151dc565b90505f613e9b8460400151855f0151612780565b90505f613eb08560200151866020015161274c565b606086015190915086905f90613ec6908061274c565b90505f613ee4613ede89602001518a6060015161274c565b8861274c565b90505f613f03613efc8a60a001518b60400151612767565b8a51612767565b9050613f12613b81828861274c565b9050613f39613f33613f2d613f278487612780565b88612780565b84612767565b83612767565b9050613f61613f56613f4b838761274c565b61077b8f60096151dc565b61077b60018a612780565b6101608c015250505050602085015160808601515f91613f8091612767565b90505f613f9e613f9488606001518861274c565b8860200151612780565b90505f613fc2613fae848761274c565b61078061396f8b60a001518c5f0151612780565b9050613fea613fdf613fd4838c61274c565b61077b8e60096151dc565b61077b600189612780565b6101808b0152505f915061400b9050614004836011612767565b875161274c565b90505f6140188384612767565b90506140248182612767565b90505f61403283600961274c565b905061405b61405561393a61404e8b60a001518c5f0151612767565b8b51612767565b82612780565b60c089018190525f9061407690613ede90613f4b908d61274c565b90506140898b600b602002015182612767565b6101608c0152505086515f92506140b09150614004906140a99080612767565b8851612767565b90505f6140f06140cb8361077b8a5f01518b60a00151612780565b602089015161079e906140de9080612767565b61077b8b602001518c60800151612767565b905061410d89600c6020020151610780613ede613f4b858d61274c565b89600c602002015250505050505050505050565b61418b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a361419986601e6151dc565b856040015161274c565b8082526141c2906107806141b888601d6151dc565b876020015161274c565b8082526141d79061078061400488601c6151dc565b8082526141e9906107808760016151dc565b808252602082018190526142029061079e87601f6151dc565b815261421d6142128660246151dc565b61079e87601c6151dc565b608082015261423b6142308660276151dc565b61079e87601f6151dc565b606082015260808101516142549061077b816001612780565b6101c082015260808101516142949061428a906142839061077b60015f516020615d435f395f51905f52615a91565b6001612767565b826060015161274c565b60a082018190526142ca906142bc9061077b6142b18960026151dc565b61077b8a60036151dc565b61077b61396f88600a6151dc565b83600e60200201526101c08101516142ee906142bc9061077b6142b18960026151dc565b6101e084015280516143139061077b6143088860026151dc565b61077b8960036151dc565b6101208201525f61433261432887601f6151dc565b8360200151612780565b90506143438161077b836001612780565b60e08301526143606143568760266151dc565b866040015161274c565b60408301819052614383906107806143798960256151dc565b886020015161274c565b604083018190526143a39061078061439c8960246151dc565b885161274c565b60408301526143c06143b68760276151dc565b8360400151612780565b60408301525f6143df6143d48860266151dc565b61079e89601e6151dc565b905061443161440c613688614283866080015160015f516020615d435f395f51905f5261077b9190615a91565b61077b614283866040015160015f516020615d435f395f51905f5261077b9190615a91565b60c0840152604083015161445390614449908061274c565b8460400151612780565b61010084015260c083015161447f906144719061077b8a60046151dc565b61077b613b818a600a6151dc565b6102008601526101c083015161449e906144719061077b8a60046151dc565b6102208601526101008301516144bd906144719061077b8a60046151dc565b61024086015260e08301516144d79061077b8960046151dc565b6101408401526144f66144eb8860256151dc565b61079e89601d6151dc565b6101608401526080830151614534906143d490614529906142839061077b60015f516020615d435f395f51905f52615a91565b85610160015161274c565b61018084018190526101208401516101a0850181905261456b916107809061077b6145608c60056151dc565b61077b8d60026151dc565b6101a08401819052835161458b91906107809061077b6145608c5f6151dc565b6101a084018190526101408401516145a39190612767565b6101a084018190526145bd9061077b613b818a600a6151dc565b6101a0840181905285600d6139ab565b6146066040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463b61462261461786601c6151dc565b61077b8760256151dc565b6107806146308760246151dc565b61077b88601d6151dc565b815261468061467561465c61465187601c6151dc565b61077b88601f6151dc565b61078061466a88601d6151dc565b61077b89601e6151dc565b61079e8660266151dc565b6040820181905261469590600160441b61274c565b604082018190526146ab9061079e8660276151dc565b6040820181905281516146be9190612767565b604082018190526146d49061077b8660056151dc565b604082015280516146e990600160441b61274c565b808252614709906107806146fe8760246151dc565b61077b8860256151dc565b808252602082018190526147309061079e61472587601e6151dc565b61078088601f6151dc565b602082018190526147469061077b8660046151dc565b60208201528051606082018190526147639061078086601f6151dc565b606082018190526147879061079e61477c8760266151dc565b6107808860276151dc565b6060820181905261479c9061077b865f6151dc565b8160600181815250505f6147c56147bb83602001518460400151612767565b8360600151612767565b90506147d68161077b8760036151dc565b90506147ee6147e68660256151dc565b61400061274c565b60808301819052614804906107808760246151dc565b608083018190526148179061400061274c565b6080830181905261482d9061078087601e6151dc565b608083018190526148409061400061274c565b608083018190526148569061078087601d6151dc565b608083018190526148699061400061274c565b6080830181905261487f9061078087601c6151dc565b608083018190526148959061079e87601f6151dc565b608083018190526148ab9061077b8760056151dc565b60808301526148be6147e68660266151dc565b60a083018190526148d4906107808760256151dc565b60a083018190526148e79061400061274c565b60a083018190526148fd906107808760246151dc565b60a083018190526149109061400061274c565b60a083018190526149269061078087601f6151dc565b60a083018190526149399061400061274c565b60a0830181905261494f9061078087601e6151dc565b60a083018190526149659061079e8760276151dc565b60a0830181905261497a9061077b875f6151dc565b60a0830181905260808301515f916149929190612767565b90506149a38161077b8860046151dc565b90506149af8282612767565b60c084018190526149c89061077b613b8189600b6151dc565b60c084018190528560136020020152505050505050565b614a556040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6e614a6385601c6151dc565b6107808660026151dc565b8152614a89614a7e85601d6151dc565b6107808660036151dc565b6020820152614aa7614a9c85601e6151dc565b6107808660046151dc565b6040820152614ac5614aba85601f6151dc565b6107808660056151dc565b60608201528051614af790614af090614ae990614ae2908061274c565b845161274c565b835161274c565b825161274c565b60808201526020810151614b3590614b2b90614b2190614b17908061274c565b846020015161274c565b836020015161274c565b826020015161274c565b60a08201526040810151614b7390614b6990614b5f90614b55908061274c565b846040015161274c565b836040015161274c565b826040015161274c565b60c08201526060810151614ba79061428a90614b9d90614b93908061274c565b846060015161274c565b836060015161274c565b60e0820152608081015160a0820151614bc09190612767565b61010082015260c081015160e0820151614bda9190612767565b61012082015260a0810151614bfe90614bf39080612767565b826101200151612767565b61014082015260e0810151614c2290614c179080612767565b826101000151612767565b610160820152610120810151614c389080612767565b6101e08201819052614c5990614c4e9080612767565b826101600151612767565b6101e0820152610100810151614c6f9080612767565b6101a08201819052614c9090614c859080612767565b826101400151612767565b6101a08201819052610160820151614ca791612767565b6101808201526101408101516101e0820151614cc39190612767565b6101c0820152614cd761368885600c6151dc565b6102008201819052610280840151610180830151614d02926107809161077b9061079e8a60246151dc565b8360146020020152614d32836015602002015161078083610200015161077b856101a0015161079e8a60256151dc565b8360156020020152614d62836016602002015161078083610200015161077b856101c0015161079e8a60266151dc565b8360166020020152614d92836017602002015161078083610200015161077b856101e0015161079e8a60276151dc565b836017602002015250505050565b614df26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e277f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612734565b8152602001614e557f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612734565b8152602001614e827e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612734565b8152602001614eb07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612734565b90529050614ecd614ec286601c6151dc565b6107808760026151dc565b6101208301819052614f0c90614f0190614ef690614eeb908061274c565b85610120015161274c565b84610120015161274c565b83610120015161274c565b8252614f1985601d6151dc565b6020830152614f2985601e6151dc565b6040830152614f3985601f6151dc565b606083015281516020830151614f61916147bb91614f579190612767565b8460400151612767565b6080830152614f7461393a86600d6151dc565b6101408301528151614f9590614f8b90835f6114d0565b8360800151612767565b60a0830152614fc1846018602002015161078084610140015161077b8660a0015161079e8b60246151dc565b6103008501526020820151614fdc90614f8b908360016114d0565b60c0830152615008846019602002015161078084610140015161077b8660c0015161079e8b60256151dc565b610320850152604082015161502390614f8b908360026114d0565b60e083015261504f84601a602002015161078084610140015161077b8660e0015161079e8b60266151dc565b610340850152606082015161506a90614f8b908360036114d0565b61010083015261509884601b602002015161078084610140015161077b86610100015161079e8b60276151dc565b84601b6137c1565b815160015b601c8110156150f2576150e8826107808684601c81106150c7576150c7615ade565b6020020151866150d8600187615a91565b601b81106114d0576114d0615ade565b91506001016150a5565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615149575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151c0575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151f0576151f0615d0e565b6029811061520057615200615ade565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524560405180604001604052805f81526020015f81525090565b815260200161526560405180604001604052805f81526020015f81525090565b815260200161528560405180604001604052805f81526020015f81525090565b81526020016152a560405180604001604052805f81526020015f81525090565b81526020016152c560405180604001604052805f81526020015f81525090565b81526020016152e560405180604001604052805f81526020015f81525090565b815260200161530560405180604001604052805f81526020015f81525090565b815260200161532560405180604001604052805f81526020015f81525090565b815260200161534560405180604001604052805f81526020015f81525090565b815260200161536560405180604001604052805f81526020015f81525090565b815260200161538560405180604001604052805f81526020015f81525090565b81526020016153a560405180604001604052805f81526020015f81525090565b81526020016153c560405180604001604052805f81526020015f81525090565b81526020016153e560405180604001604052805f81526020015f81525090565b815260200161540560405180604001604052805f81526020015f81525090565b815260200161542560405180604001604052805f81526020015f81525090565b815260200161544560405180604001604052805f81526020015f81525090565b815260200161546560405180604001604052805f81526020015f81525090565b815260200161548560405180604001604052805f81526020015f81525090565b81526020016154a560405180604001604052805f81526020015f81525090565b81526020016154c560405180604001604052805f81526020015f81525090565b81526020016154e560405180604001604052805f81526020015f81525090565b815260200161550560405180604001604052805f81526020015f81525090565b815260200161552560405180604001604052805f81526020015f81525090565b815260200161554560405180604001604052805f81526020015f81525090565b815260200161556560405180604001604052805f81526020015f81525090565b815260200161558560405180604001604052805f81526020015f81525090565b81526020016155a560405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155be6158db565b81526020016155de60405180604001604052805f81526020015f81525090565b81526020016155fe60405180604001604052805f81526020015f81525090565b815260200161561e60405180604001604052805f81526020015f81525090565b815260200161563e60405180604001604052805f81526020015f81525090565b815260200161565e60405180604001604052805f81526020015f81525090565b815260200161567e60405180604001604052805f81526020015f81525090565b815260200161569e60405180604001604052805f81526020015f81525090565b81526020016156be60405180604001604052805f81526020015f81525090565b81526020016156cb6158fa565b81526020016156d8615928565b81526020016156e5615947565b8152602001615565615823565b6040518061010001604052806157316040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573e6157e6565b815260200161574b615823565b8152602001615758615823565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b4615980565b81526020016157c1615980565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591261589e565b81526020019060019003908161590a5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159575790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b1575f5ffd5b843567ffffffffffffffff8111156159c7575f5ffd5b8501601f810187136159d7575f5ffd5b803567ffffffffffffffff8111156159ed575f5ffd5b8760208284010111156159fe575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1e575f5ffd5b8501601f81018713615a2e575f5ffd5b803567ffffffffffffffff811115615a44575f5ffd5b8760208260051b8401011115615a58575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276157612761615a66565b8181038181111561276157612761615a66565b8082018082111561276157612761615a66565b5f5f85851115615ac5575f5ffd5b83861115615ad1575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1757615b17615a66565b5060010190565b80356020831015612761575f19602084900360031b1b1692915050565b5f82615b5557634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7e578151835260209283019290910190600101615b5f565b50505060a08201905092915050565b5f8183825b6009811015615bb1578151835260209283019290910190600101615b92565b5050506101208201905092915050565b5f8183825b602a811015615be5578151835260209283019290910190600101615bc6565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1f578151845260209384019390910190600101615c01565b509195945050505050565b5f8183825b6003811015615c4e578151835260209283019290910190600101615c2f565b50505060608201905092915050565b5f81615c6b57615c6b615a66565b505f190190565b5f8183825b6008811015615c96578151835260209283019290910190600101615c77565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccc575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cff578151835260209283019290910190600101615ce0565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220ce4426b37bfdb240bc4c477529e61b67c18c285f5f91baae41549cadfc1cb1ec64736f6c634300081b0033";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};