@aztec/l1-artifacts 3.0.0-nightly.20251013 → 3.0.0-nightly.20251014

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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * FeeJuicePortal bytecode.
3
3
  */
4
- export declare const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212203413aa8861bce0d0a0f8875f9f01a1fa1d371a8dc53efad89621a251e6494a8e64736f6c634300081b0033";
4
+ export declare const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212200f7add4e6a90ab94f231795e3c4253497d7681e5cd9765e14025909ad509b38264736f6c634300081b0033";
5
5
  /**
6
6
  * FeeJuicePortal link references.
7
7
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * FeeJuicePortal bytecode.
3
- */ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212203413aa8861bce0d0a0f8875f9f01a1fa1d371a8dc53efad89621a251e6494a8e64736f6c634300081b0033";
3
+ */ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212200f7add4e6a90ab94f231795e3c4253497d7681e5cd9765e14025909ad509b38264736f6c634300081b0033";
4
4
  /**
5
5
  * FeeJuicePortal link references.
6
6
  */ export const FeeJuicePortalLinkReferences = {};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f02e6561e83bb2d96835c94d139606287b124d9884f87f23cc3b3e593baed9bc160c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1a80a745cce0527791bb8e1c617a5110677de565bc68bc89d04c9b4db9b610c881527f2d45f83710e0dad68c3814169d87a8c57effbe004181d7c6cd0f3755e51e6083818301526060830152825180840184527f274f8417e7b3b71dc7198afd2701521c96306d9ca40019127ab9d1a55ff439ab81527f22a19fe8369cf752193fe25ac4feb007dfdc02c4fd91ee60166266e55b651d33818301526080830152825180840184527f1abb5841195fcd15d9493a4c40ead8d9f0e81297c8fb98915e153d745f01809781527f2707493ec2cbf4e93534641c48c26a626b9aace33d743cd2f48774bdf1d7d2c88183015260a0830152825180840184527f1486b1d06239dc0a71fd6a9bcb34e06b5bdcc3a6ada9bd0dc4208457c9c2583b81527f0a304cb89124cef865478cba648b246e596f339c9a5250c3bd88cd937e41f06b8183015260c0830152825180840184527f25b02355c0efd910f03eb1cad10c6f9caffb45e2740aadff50ef99b5109a029f81527f0f03526f5904abee771cbd850bad6fc63bc57136062c59a2dd152d4c99d535938183015260e0830152825180840184527f174d03af27f442975e73291f2b31b3a6a4276ed40623935cca70d37ad9bbe94981527f1c9273598f6f826a190f82bd91faf31fa2df867ab9996f775861fb773b71fe0581830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f1af986b274416d86504d6c26030bf1f6f7fbeb3812883adf19c17483c6e6972c81527f19ddc7cbbe0ba51e270a368c7fae29de836a0de8106f4fd467c4b0b01a80007c81830152610140830152825180840184527f12c752ded2e4da77f94536ba1cde045f09b378dcb68a246188640f8e340e1a1281527f19d97b916019db64d30567cf1de17c1b99fa072a8051e005a06dee1c5e7eb3a781830152610160830152825180840184527f2938e64fcf778244ddab92a80f7e997abe69970d874167c643e3c5109b699ff181527f26a2f2afc5af3f01bfe3f252ee12fc2e80a7d92c1375956870155b85a43d0dca81830152610180830152825180840184527f0712b61d444d1296cc00cb86844a557100f45f69622cae8b002576846dfa035081527f0ed900ff884dcc12403264cf692c309935077762a9bf0cf6e58539b021d7a35f818301526101a0830152825180840184527f2ebc2ca21be89e1b817d32da316b844a6e6f30b30a71264ea31a2c3833a4194c81527f029ac6e7e0adbe4d0515efbe66ee11c3ab833863c5d1d3b4fa0e7d6f886d6a7d818301526101c0830152825180840184527f024facda764fcc930baa2f41ed4d1e2dc5aae4feda1f25ffc80201c66149102e81527f1997945627eb1b8154a075ae17dd9b81e5598fa8a8794c92565b4d572e6ecebf818301526101e0830152825180840184527f19e367f680b0816df639bd6065fa3e1d09d90681bed03695ba3a2fcff467802781527f295b49489314e9498620d677fba48eeabbba15eb77d592cc492e9ae800e0c54981830152610200830152825180840184527f2b69b755718e0e8f524242c2c8d12f98d2d7f2f0a2c4b83002ede1dab068d25c81527f1e8460070c95d844ce87cfaf73e68c3a8f9be2be20870bcec144a5c29bd38c1781830152610220830152825180840184527f2b7feb2b3b344f40de031e17568d95f224a6cc797512e413c0be0c232f74f8ee81527f14ac38c10c1823be26befca7e1935b7735a805122554251a4577ffa9980f385081830152610240830152825180840184527f27129d89650daf22be9c34acdde0fcf046d4581b1da9ed65460c387463057b8581527f2c896f7e67267623436dfe30386871e411d5dad881b283a24569b5576ab34cec81830152610260830152825180840184527f165ae500e4a677b69744653699ac4b9727d1a0cdde7da65622008e27a1bae83781527f2001471cf601cadbff978ad183741465f142dacb0a62263e2e64acf4132290eb81830152610280830152825180840184527f2ebc435f8dac650d5a01e364c31a39280b7806fa155ecf49b6d93ce4a6b8ad5e81527f1d2c1afd62ddc18ca2b5353b434c5ac58a5d65deb15342c91315259938653c3c818301526102a0830152825180840184527f0333596d1b638e9294ea92faaf934943dfe4042cfb802838f1b56ddc7f820fad81527f05ae8c90ee694517cf988c90be98a29fa5658a261811cc9ad6f2f31eeea06509818301526102c0830152825180840184527f1dab420d21cbf62ff984093911638a7422c8b7367c2de92076f1300eb62b8b8681527f21015f0da65a23c42513cf3e67bb354bf4668e976abec932fbdbf045b2338356818301526102e0830152825180840184527f1fec2a3b0d71f29deb8140a6adf631c536b8afcbe96445c510d377a6ea85213481527f096bfc73dc7fd0cc321329e6cc4b96f40f0bb420219678114e95c4b25077331e81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f03615190c98c868661e5175540219ccec58a6f7f75c2dc5719cb0fe57edb426f83527f0e183563d6581193cb3f55136b3d60ecae0c4ce27fe23100de0c5f993e04f67e908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
+ export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f1e31b7ebca6f7a18a0d8a9825c01cce5623543f3c3a42832048984906dfcb2b160c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f08298e0dd266b76400984e6c4dbbf7f360be05b1527cbd73b2527a59028d795381527f0d30c709f3d4cc6c25d51c7fbea8b238dd13d6a38f755d0b61219320338eb195818301526060830152825180840184527f2216bdbdcb4b00beee0a73b6d45d14ca0080dbe758474975a963c43c44de8b5f81527f2d0360fb2859b9c017c5b60beb9d694c0f97dd7e1eec9f5d2996ea708bc5f09e818301526080830152825180840184527f21bf9c43b8e28f5daad9048720f4fb8d1813eb2c7babe7440b6d7de05316713a81527f28c822c46c437456ca49e59f8f64b22f47f0fba9dae8f08d285876267f5443328183015260a0830152825180840184527f107f40962f764a465b7fe51788ecc12cc938852d058da215a0f9b9b62651403781527f075e0350122e042d2de75e19c5909eb06c02bf2ab9799e95cf9850f2577c644e8183015260c0830152825180840184527f2ed4bcd5a88f98f69fc85937a3613ea5dd179aa5e85294f5421f890d2325919a81527f0e5be4e5ecb8e80be97d3aaaee172d7e70c39378cb26d305f5511b60aa8113b88183015260e0830152825180840184527f0b3154c40b7f5ceb0de3e996d9328c57b13c48fc4d811e427c2edd803ad34f4381527f0db2a734e1ef01a0a5acb3ba71cf5f0c657b70ff0d2f3761d953d2cdeeea5d8681830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f25b31aac4e33f9652f24acb3e85063e73052c9eddfb22b9e4695fbd136aab7f481527f1cf9bda278ae16a8e6d189b137c628ced58aa3fd48d1109a193ce9f71cdb58a681830152610140830152825180840184527f165a0ea7e232c52547699a11a6c08a92fc99a4bff431f1109ac721a7de45cb0081527f2076a746fdfa3c9fbea1b03e7fa1e5940c46a1d431673ceb66d36f0a0c539cca81830152610160830152825180840184527f28564f5b2f1186719a5d151da643f429a489fd38bc5e216723a2d7f62ea79fe481527f0d7d8f21a46848a61a77b18be67dc0673b8dac1dcd6364847bf0115cf693abe781830152610180830152825180840184527f05abb9abb9260bf0303800449c14ccc5430e652b35c00ac3011d86c74396058c81527f2fae795e5e76b0a198a6a60aee7c7b753cfaaf01a21df1c3d33a692ce9a0a429818301526101a0830152825180840184527f24c10dfc530545a20f01256ab197eaef329c9fb215864d1e0cf3ba4c3ab3b58581527f2eadf2e1e50f4a2bc95816e4a82ae67711d21d7fe8d1f558c7f766a8a8c7a9a2818301526101c0830152825180840184527f3008f6d4053f0321625df49337237aaf43324f79d67e34338dd38cf67dcb450581527f0645e6ec1e83d15ac79d1a11b46f4afd0e46d1fa48dd98bc913d770b7d507105818301526101e0830152825180840184527f2e8abb66b6c580fc48b66e7e0813dcc997b0aac894102402aacf111b0c00f2e481527f27ac2bf26ac8fc3e5b3ba7df31023742d287d02535370ccde86b1ccaee908b3381830152610200830152825180840184527f05552750edea7b69b99f83e40d86fbc05e1644fef0620fb46a54ff7771aece8281527f23c08f9bb64e8ae2a511df883e6ce7cf077a55d26855ee2c0fb21ff74c5b0acd81830152610220830152825180840184527f2800d4b347359a7ea143139c42eb10fb70d10dd1c09bc0c3a51ead31dff9290c81527f11e45d9e1d7b8e0e13a0c0e5050ca11b2fe6c3fc5c99c93c0f2b09910e727d7e81830152610240830152825180840184527f1b9f89c410f9f0e5731286629d26a7f8a09db47c6722cd0d1ffd8f30f9cbdb8681527f05ab2c7e26f8fa414bd222091ad38771d95b8089cb7e4f13727d5e9b394e947381830152610260830152825180840184527f259f44c9bcbdd8f3dc2ee530d9aab6593bf97e26239f939dcdab4a3668508d1381527f0618dc28b28b2b96fa72894bcc116cc97d79e97a8a769f80ef06cab9d8918fef81830152610280830152825180840184527f297f2505ccebbc1632700c0054912a6ed8d680a230dddc42cbecedcc215ce8f581527f26255c5d0eaba6209a159cef6a735125bebc5667550bdc056ad560851fb72dec818301526102a0830152825180840184527f1c244bff4e02e101a271664db2b78af1b65a434b38023474d832e9861783b09981527f2d683cddab2420ecba82cdef18b347944f2fb3a37cc307806f0860282d310213818301526102c0830152825180840184527f2d49513250f255947283d0f8e9d097c4314a66ff36119ce61e40ae440e7a863e81527f027fccd1b7a69d55fd3ae7493bdc02e83d493f5383dec61de3a40334ff2551ca818301526102e0830152825180840184527f051d54640522b8ff0904ef62424d4793dd7bc49884ae79263c8aa1b5eced40c381527f29efd0a3039e273f65e8a438cc92746cd5d68ae457702afce431071882f9ccf381830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f14c9a3d5e21c8c7bb118545722c981e90ce8b8a09caf0256ce90765bb7a829df83527f1bd278fb3aecbd9707469f425e5f7ab8af9a5b7cab9306df648c25f1c3b149b2908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
5
5
  /**
6
6
  * HonkVerifier link references.
7
7
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f02e6561e83bb2d96835c94d139606287b124d9884f87f23cc3b3e593baed9bc160c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1a80a745cce0527791bb8e1c617a5110677de565bc68bc89d04c9b4db9b610c881527f2d45f83710e0dad68c3814169d87a8c57effbe004181d7c6cd0f3755e51e6083818301526060830152825180840184527f274f8417e7b3b71dc7198afd2701521c96306d9ca40019127ab9d1a55ff439ab81527f22a19fe8369cf752193fe25ac4feb007dfdc02c4fd91ee60166266e55b651d33818301526080830152825180840184527f1abb5841195fcd15d9493a4c40ead8d9f0e81297c8fb98915e153d745f01809781527f2707493ec2cbf4e93534641c48c26a626b9aace33d743cd2f48774bdf1d7d2c88183015260a0830152825180840184527f1486b1d06239dc0a71fd6a9bcb34e06b5bdcc3a6ada9bd0dc4208457c9c2583b81527f0a304cb89124cef865478cba648b246e596f339c9a5250c3bd88cd937e41f06b8183015260c0830152825180840184527f25b02355c0efd910f03eb1cad10c6f9caffb45e2740aadff50ef99b5109a029f81527f0f03526f5904abee771cbd850bad6fc63bc57136062c59a2dd152d4c99d535938183015260e0830152825180840184527f174d03af27f442975e73291f2b31b3a6a4276ed40623935cca70d37ad9bbe94981527f1c9273598f6f826a190f82bd91faf31fa2df867ab9996f775861fb773b71fe0581830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f1af986b274416d86504d6c26030bf1f6f7fbeb3812883adf19c17483c6e6972c81527f19ddc7cbbe0ba51e270a368c7fae29de836a0de8106f4fd467c4b0b01a80007c81830152610140830152825180840184527f12c752ded2e4da77f94536ba1cde045f09b378dcb68a246188640f8e340e1a1281527f19d97b916019db64d30567cf1de17c1b99fa072a8051e005a06dee1c5e7eb3a781830152610160830152825180840184527f2938e64fcf778244ddab92a80f7e997abe69970d874167c643e3c5109b699ff181527f26a2f2afc5af3f01bfe3f252ee12fc2e80a7d92c1375956870155b85a43d0dca81830152610180830152825180840184527f0712b61d444d1296cc00cb86844a557100f45f69622cae8b002576846dfa035081527f0ed900ff884dcc12403264cf692c309935077762a9bf0cf6e58539b021d7a35f818301526101a0830152825180840184527f2ebc2ca21be89e1b817d32da316b844a6e6f30b30a71264ea31a2c3833a4194c81527f029ac6e7e0adbe4d0515efbe66ee11c3ab833863c5d1d3b4fa0e7d6f886d6a7d818301526101c0830152825180840184527f024facda764fcc930baa2f41ed4d1e2dc5aae4feda1f25ffc80201c66149102e81527f1997945627eb1b8154a075ae17dd9b81e5598fa8a8794c92565b4d572e6ecebf818301526101e0830152825180840184527f19e367f680b0816df639bd6065fa3e1d09d90681bed03695ba3a2fcff467802781527f295b49489314e9498620d677fba48eeabbba15eb77d592cc492e9ae800e0c54981830152610200830152825180840184527f2b69b755718e0e8f524242c2c8d12f98d2d7f2f0a2c4b83002ede1dab068d25c81527f1e8460070c95d844ce87cfaf73e68c3a8f9be2be20870bcec144a5c29bd38c1781830152610220830152825180840184527f2b7feb2b3b344f40de031e17568d95f224a6cc797512e413c0be0c232f74f8ee81527f14ac38c10c1823be26befca7e1935b7735a805122554251a4577ffa9980f385081830152610240830152825180840184527f27129d89650daf22be9c34acdde0fcf046d4581b1da9ed65460c387463057b8581527f2c896f7e67267623436dfe30386871e411d5dad881b283a24569b5576ab34cec81830152610260830152825180840184527f165ae500e4a677b69744653699ac4b9727d1a0cdde7da65622008e27a1bae83781527f2001471cf601cadbff978ad183741465f142dacb0a62263e2e64acf4132290eb81830152610280830152825180840184527f2ebc435f8dac650d5a01e364c31a39280b7806fa155ecf49b6d93ce4a6b8ad5e81527f1d2c1afd62ddc18ca2b5353b434c5ac58a5d65deb15342c91315259938653c3c818301526102a0830152825180840184527f0333596d1b638e9294ea92faaf934943dfe4042cfb802838f1b56ddc7f820fad81527f05ae8c90ee694517cf988c90be98a29fa5658a261811cc9ad6f2f31eeea06509818301526102c0830152825180840184527f1dab420d21cbf62ff984093911638a7422c8b7367c2de92076f1300eb62b8b8681527f21015f0da65a23c42513cf3e67bb354bf4668e976abec932fbdbf045b2338356818301526102e0830152825180840184527f1fec2a3b0d71f29deb8140a6adf631c536b8afcbe96445c510d377a6ea85213481527f096bfc73dc7fd0cc321329e6cc4b96f40f0bb420219678114e95c4b25077331e81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f03615190c98c868661e5175540219ccec58a6f7f75c2dc5719cb0fe57edb426f83527f0e183563d6581193cb3f55136b3d60ecae0c4ce27fe23100de0c5f993e04f67e908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
3
+ */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f1e31b7ebca6f7a18a0d8a9825c01cce5623543f3c3a42832048984906dfcb2b160c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f08298e0dd266b76400984e6c4dbbf7f360be05b1527cbd73b2527a59028d795381527f0d30c709f3d4cc6c25d51c7fbea8b238dd13d6a38f755d0b61219320338eb195818301526060830152825180840184527f2216bdbdcb4b00beee0a73b6d45d14ca0080dbe758474975a963c43c44de8b5f81527f2d0360fb2859b9c017c5b60beb9d694c0f97dd7e1eec9f5d2996ea708bc5f09e818301526080830152825180840184527f21bf9c43b8e28f5daad9048720f4fb8d1813eb2c7babe7440b6d7de05316713a81527f28c822c46c437456ca49e59f8f64b22f47f0fba9dae8f08d285876267f5443328183015260a0830152825180840184527f107f40962f764a465b7fe51788ecc12cc938852d058da215a0f9b9b62651403781527f075e0350122e042d2de75e19c5909eb06c02bf2ab9799e95cf9850f2577c644e8183015260c0830152825180840184527f2ed4bcd5a88f98f69fc85937a3613ea5dd179aa5e85294f5421f890d2325919a81527f0e5be4e5ecb8e80be97d3aaaee172d7e70c39378cb26d305f5511b60aa8113b88183015260e0830152825180840184527f0b3154c40b7f5ceb0de3e996d9328c57b13c48fc4d811e427c2edd803ad34f4381527f0db2a734e1ef01a0a5acb3ba71cf5f0c657b70ff0d2f3761d953d2cdeeea5d8681830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f25b31aac4e33f9652f24acb3e85063e73052c9eddfb22b9e4695fbd136aab7f481527f1cf9bda278ae16a8e6d189b137c628ced58aa3fd48d1109a193ce9f71cdb58a681830152610140830152825180840184527f165a0ea7e232c52547699a11a6c08a92fc99a4bff431f1109ac721a7de45cb0081527f2076a746fdfa3c9fbea1b03e7fa1e5940c46a1d431673ceb66d36f0a0c539cca81830152610160830152825180840184527f28564f5b2f1186719a5d151da643f429a489fd38bc5e216723a2d7f62ea79fe481527f0d7d8f21a46848a61a77b18be67dc0673b8dac1dcd6364847bf0115cf693abe781830152610180830152825180840184527f05abb9abb9260bf0303800449c14ccc5430e652b35c00ac3011d86c74396058c81527f2fae795e5e76b0a198a6a60aee7c7b753cfaaf01a21df1c3d33a692ce9a0a429818301526101a0830152825180840184527f24c10dfc530545a20f01256ab197eaef329c9fb215864d1e0cf3ba4c3ab3b58581527f2eadf2e1e50f4a2bc95816e4a82ae67711d21d7fe8d1f558c7f766a8a8c7a9a2818301526101c0830152825180840184527f3008f6d4053f0321625df49337237aaf43324f79d67e34338dd38cf67dcb450581527f0645e6ec1e83d15ac79d1a11b46f4afd0e46d1fa48dd98bc913d770b7d507105818301526101e0830152825180840184527f2e8abb66b6c580fc48b66e7e0813dcc997b0aac894102402aacf111b0c00f2e481527f27ac2bf26ac8fc3e5b3ba7df31023742d287d02535370ccde86b1ccaee908b3381830152610200830152825180840184527f05552750edea7b69b99f83e40d86fbc05e1644fef0620fb46a54ff7771aece8281527f23c08f9bb64e8ae2a511df883e6ce7cf077a55d26855ee2c0fb21ff74c5b0acd81830152610220830152825180840184527f2800d4b347359a7ea143139c42eb10fb70d10dd1c09bc0c3a51ead31dff9290c81527f11e45d9e1d7b8e0e13a0c0e5050ca11b2fe6c3fc5c99c93c0f2b09910e727d7e81830152610240830152825180840184527f1b9f89c410f9f0e5731286629d26a7f8a09db47c6722cd0d1ffd8f30f9cbdb8681527f05ab2c7e26f8fa414bd222091ad38771d95b8089cb7e4f13727d5e9b394e947381830152610260830152825180840184527f259f44c9bcbdd8f3dc2ee530d9aab6593bf97e26239f939dcdab4a3668508d1381527f0618dc28b28b2b96fa72894bcc116cc97d79e97a8a769f80ef06cab9d8918fef81830152610280830152825180840184527f297f2505ccebbc1632700c0054912a6ed8d680a230dddc42cbecedcc215ce8f581527f26255c5d0eaba6209a159cef6a735125bebc5667550bdc056ad560851fb72dec818301526102a0830152825180840184527f1c244bff4e02e101a271664db2b78af1b65a434b38023474d832e9861783b09981527f2d683cddab2420ecba82cdef18b347944f2fb3a37cc307806f0860282d310213818301526102c0830152825180840184527f2d49513250f255947283d0f8e9d097c4314a66ff36119ce61e40ae440e7a863e81527f027fccd1b7a69d55fd3ae7493bdc02e83d493f5383dec61de3a40334ff2551ca818301526102e0830152825180840184527f051d54640522b8ff0904ef62424d4793dd7bc49884ae79263c8aa1b5eced40c381527f29efd0a3039e273f65e8a438cc92746cd5d68ae457702afce431071882f9ccf381830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f14c9a3d5e21c8c7bb118545722c981e90ce8b8a09caf0256ce90765bb7a829df83527f1bd278fb3aecbd9707469f425e5f7ab8af9a5b7cab9306df648c25f1c3b149b2908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Inbox bytecode.
3
3
  */
4
- export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea2646970667358221220870be3e10a24aa1254c5f559d934d008f800b358d439f7f788f1f5568d4c5e5664736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212203413aa8861bce0d0a0f8875f9f01a1fa1d371a8dc53efad89621a251e6494a8e64736f6c634300081b0033";
4
+ export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea2646970667358221220e48e30b7637b21c4fd230ee76005b2828010446603ba69fc97aa049178bbda4464736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212200f7add4e6a90ab94f231795e3c4253497d7681e5cd9765e14025909ad509b38264736f6c634300081b0033";
5
5
  /**
6
6
  * Inbox link references.
7
7
  */