608060405234801561001057600080fd5b50612e4c806100206000396000f3fe608060405234801561001057600080fd5b50600436106102a05760003560e01c806375b238fc11610167578063af640d0f116100ce578063d5abeb0111610087578063d5abeb01146103fe578063dd62ed3e1461062b578063eed7af2314610664578063f36c8f5c14610677578063fc89f78d1461068c578063ffa1ad74146106af57600080fd5b8063af640d0f146105b1578063aff0695c146105ba578063b249fb31146105cd578063d505accf146105f0578063d539139314610603578063d547741f1461061857600080fd5b806391d148541161012057806391d148541461055557806395d89b41146105685780639d17c88f14610570578063a217fddf14610583578063a457c2d71461058b578063a9059cbb1461059e57600080fd5b806375b238fc146104cf57806379cc6790146104e45780637e9e7c31146104f75780637ecebe001461050a57806384b0196e14610533578063893d20e81461054e57600080fd5b8063313ce5671161020b57806342966c68116101c457806342966c68146104475780634997a7db1461045a578063538ee0071461046d5780635e2bb0821461048057806360f96a8f1461049357806370a08231146104a657600080fd5b8063313ce567146103d8578063355274ea146103fe5780633644e5151461040657806336568abe1461040e578063395093511461042157806340c10f191461043457600080fd5b80632376bf3f1161025d5780632376bf3f1461032f57806323b872dd14610344578063248a9ca31461035757806327e235e31461037a57806329ab4dcb1461039a5780632f2ff15d146103c557600080fd5b806301ffc9a7146102a557806306fdde03146102cd578063095ea7b3146102e25780630fad0f51146102f5578063158ef93e1461030957806318160ddd1461031d575b600080fd5b6102b86102b33660046124a8565b6106b7565b60405190151581526020015b60405180910390f35b6102d5610733565b6040516102c49190612522565b6102b86102f036600461255a565b6107c1565b600e546102b890600160b01b900460ff1681565b600e546102b890600160a81b900460ff1681565b600c545b6040519081526020016102c4565b61034261033d366004612586565b6107d7565b005b6102b86103523660046125a3565b610895565b6103216103653660046125e4565b60009081526020819052604090206001015490565b610321610388366004612586565b60116020526000908152604090205481565b6010546103ad906001600160a01b031681565b6040516001600160a01b0390911681526020016102c4565b6103426103d33660046125fd565b610945565b600e546103ec90600160a01b900460ff1681565b60405160ff90911681526020016102c4565b600019610321565b61032161096f565b61034261041c3660046125fd565b61097e565b6102b861042f36600461255a565b6109fc565b61034261044236600461255a565b610a33565b6103426104553660046125e4565b610ab3565b61034261046836600461263b565b610abf565b600f546103ad906001600160a01b031681565b6102b861048e36600461270f565b610b6f565b600e546103ad906001600160a01b031681565b6103216104b4366004612586565b6001600160a01b031660009081526011602052604090205490565b610321600080516020612df783398151915281565b6103426104f236600461255a565b610be2565b610342610505366004612586565b610c77565b610321610518366004612586565b6001600160a01b031660009081526017602052604090205490565b61053b610d29565b6040516102c4979695949392919061278e565b60006103ad565b6102b86105633660046125fd565b610d83565b6102d5610dac565b61034261057e3660046125a3565b610db9565b610321600081565b6102b861059936600461255a565b610e27565b6102b86105ac36600461255a565b610eb4565b610321600d5481565b6103426105c83660046128c1565b610ed2565b6102b86105db366004612586565b60136020526000908152604090205460ff1681565b6103426105fe36600461298f565b611130565b610321600080516020612dd783398151915281565b6103426106263660046125fd565b611294565b6103216106393660046129fd565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b610342610672366004612a2b565b6112b9565b610321600080516020612db783398151915281565b6102b861069a366004612586565b60146020526000908152604090205460ff1681565b6103ec600381565b60006001600160e01b031982166336372b0760e01b14806106e857506306fdde0360e01b6001600160e01b03198316145b8061070357506395d89b4160e01b6001600160e01b03198316145b8061071e575063313ce56760e01b6001600160e01b03198316145b8061072d575061072d82611328565b92915050565b600a805461074090612a97565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90612a97565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b505050505081565b60006107ce33848461135d565b50600192915050565b6107ef600080516020612df783398151915233610d83565b6108405760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a736574544c3a20756e617574686f72697a6564000000000060448201526064015b60405180910390fd5b600f80546001600160a01b0319166001600160a01b0383169081179091556040519081527fb39818ecfe00151406f56d9c97659598c71791d1dfd011e5778a4ce2294842f1906020015b60405180910390a150565b6001600160a01b0383166000908152601260209081526040808320338085529252822054838110156109095760405162461bcd60e51b815260206004820152601f60248201527f4845524332303a3a7472616e73666572463a20696e73756666696369656e74006044820152606401610837565b610925828787876040518060200160405280600081525061146a565b61093986836109348785612ae7565b61135d565b50600195945050505050565b60008281526020819052604090206001015461096081611667565b61096a8383611674565b505050565b60006109796116f8565b905090565b6001600160a01b03811633146109ee5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610837565b6109f8828261172a565b5050565b3360008181526012602090815260408083206001600160a01b038716845290915281205490916107ce918590610934908690612afa565b33610a4c600080516020612dd783398151915282610d83565b610a985760405162461bcd60e51b815260206004820152601a60248201527f4845524332303a3a6d696e743a20756e617574686f72697a65640000000000006044820152606401610837565b61096a8184846040518060200160405280600081525061178f565b336109f881808461194b565b600e546001600160a01b0316336001600160a01b031614610b225760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a704d696e743a20756e617574686f72697a656400000000006044820152606401610837565b600e8054821515600160b01b0260ff60b01b199091161790556040517f82787f4f20a62cb9ca52da6896e7ca9185ac3ab7db717a721f7d8e71d989d3de9061088a90831515815260200190565b600e546000906001600160a01b0316336001600160a01b031614610bd55760405162461bcd60e51b815260206004820152601d60248201527f4845524332303a3a70547846726f6d3a20756e617574686f72697a65640000006044820152606401610837565b610939868686868661146a565b6001600160a01b03821660009081526012602090815260408083203380855292529091205482811015610c575760405162461bcd60e51b815260206004820152601e60248201527f4845524332303a3a6275726e46726f6d3a20696e73756666696369656e7400006044820152606401610837565b610c6684836109348685612ae7565b610c7182858561194b565b50505050565b610c8f600080516020612df783398151915233610d83565b610cdb5760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a73657454523a20756e617574686f72697a656400000000006044820152606401610837565b601080546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1f6724c196de42e847a76d33a300361d07c9a5be0b216ff85d4ba4e535ad6af9060200161088a565b600060608060008060006060610d4b6008600654611b5b90919063ffffffff16565b600754610d59906009611b5b565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600b805461074090612a97565b600e546001600160a01b0316336001600160a01b031614610e1c5760405162461bcd60e51b815260206004820152601f60248201527f4845524332303a3a704275726e46726f6d3a20756e617574686f72697a6564006044820152606401610837565b61096a83838361194b565b3360009081526012602090815260408083206001600160a01b038616845290915281205482811015610e9b5760405162461bcd60e51b815260206004820181905260248201527f4845524332303a3a64656372416c6c6f77616e63653a20756e646572666c6f776044820152606401610837565b610eaa33856109348685612ae7565b5060019392505050565b60006107ce333385856040518060200160405280600081525061146a565b600e54600160a81b900460ff1615610f2c5760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a696e697469616c697a653a20616c726561647900000000006044820152606401610837565b610f4f87604051806040016040528060018152602001603160f81b815250611c06565b600d889055600a610f608882612b55565b50600b610f6d8782612b55565b50600e805460ff60a81b1960ff8816600160a01b026001600160a81b03199092166001600160a01b038816179190911716600160a81b179055610fbe600080516020612db783398151915280611c5e565b610fe4600080516020612dd7833981519152600080516020612db7833981519152611c5e565b61100a600080516020612df7833981519152600080516020612db7833981519152611c5e565b61103c600080516020612db78339815191528260008151811061102f5761102f612c15565b6020026020010151611ca9565b60006001600160a01b03168160018151811061105a5761105a612c15565b60200260200101516001600160a01b03161461109557611095600080516020612df78339815191528260018151811061102f5761102f612c15565b60006001600160a01b0316816002815181106110b3576110b3612c15565b60200260200101516001600160a01b0316146110ee576110ee600080516020612dd78339815191528260028151811061102f5761102f612c15565b60008311801561110657506001600160a01b03821615155b15611126576111263083856040518060200160405280600081525061178f565b5050505050505050565b834211156111805760405162461bcd60e51b815260206004820152601b60248201527f543a3a7065726d69743a206578706972656420646561646c696e6500000000006044820152606401610837565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111af8c611cb3565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061120a82611ce7565b9050600061121a82878787611d14565b9050896001600160a01b0316816001600160a01b03161461127d5760405162461bcd60e51b815260206004820152601c60248201527f543a3a7065726d69743a20696e76616c6964207369676e6174757265000000006044820152606401610837565b6112888a8a8a61135d565b50505050505050505050565b6000828152602081905260409020600101546112af81611667565b61096a838361172a565b600e546001600160a01b0316336001600160a01b03161461131c5760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a704d696e743a20756e617574686f72697a656400000000006044820152606401610837565b610c718484848461178f565b60006001600160e01b03198216637965db0b60e01b148061072d57506301ffc9a760e01b6001600160e01b031983161461072d565b6001600160a01b0383166113b35760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a5f617070726f76653a2066726f6d207a65726f00000000006044820152606401610837565b6001600160a01b0382166114095760405162461bcd60e51b815260206004820152601960248201527f4845524332303a3a5f617070726f76653a20746f207a65726f000000000000006044820152606401610837565b6001600160a01b0383811660008181526012602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0384166114c05760405162461bcd60e51b815260206004820152601c60248201527f4845524332303a3a5f7472616e736665723a2066726f6d207a65726f000000006044820152606401610837565b6001600160a01b0383166115165760405162461bcd60e51b815260206004820152601a60248201527f4845524332303a3a5f7472616e736665723a20746f207a65726f0000000000006044820152606401610837565b6010546001600160a01b0316611538576115338585858585611d3c565b611660565b601054604051630606bceb60e21b81526001600160a01b038681166004830152858116602483015260448201859052600092839283929091169063181af3ac90606401606060405180830381865afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc9190612c2b565b9250925092508261160f5760405162461bcd60e51b815260206004820152601d60248201527f4845524332303a3a5f7472616e736665723a20646973616c6c6f7765640000006044820152606401610837565b600061161b8387612ae7565b9050801561164e576001600160a01b0382166116415761163c30898361194b565b61164e565b61164e8989848489611d3c565b61165b8989898689611d3c565b505050505b5050505050565b6116718133611e46565b50565b61167e8282610d83565b6109f8576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556116b43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6003546000906001600160a01b031630148015611716575060025446145b15611722575060015490565b610979611e9f565b6117348282610d83565b156109f8576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b0383166117de5760405162461bcd60e51b81526020600482015260166024820152754845524332303a3a5f6d696e743a20746f207a65726f60501b6044820152606401610837565b6010546001600160a01b0316156118b7576010546040516363e3f4f560e11b81526000600482018190526001600160a01b0386811660248401529092169063c7c7e9ea90604401602060405180830381865afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118669190612c6e565b9050806118b55760405162461bcd60e51b815260206004820152601960248201527f4845524332303a3a5f6d696e743a20646973616c6c6f776564000000000000006044820152606401610837565b505b81600c60008282546118c99190612afa565b90915550506001600160a01b038316600090815260116020526040812080548492906118f6908490612afa565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610c7184600085858686611f08565b6001600160a01b0382166119a15760405162461bcd60e51b815260206004820152601860248201527f4845524332303a3a5f6275726e3a2066726f6d207a65726f00000000000000006044820152606401610837565b6010546001600160a01b031615611a79576010546040516363e3f4f560e11b81526001600160a01b03848116600483015260006024830181905292169063c7c7e9ea90604401602060405180830381865afa158015611a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a289190612c6e565b905080611a775760405162461bcd60e51b815260206004820152601960248201527f4845524332303a3a5f6275726e3a20646973616c6c6f776564000000000000006044820152606401610837565b505b6001600160a01b03821660009081526011602052604090205481811015611ae25760405162461bcd60e51b815260206004820152601b60248201527f4845524332303a3a5f6275726e3a20696e73756666696369656e7400000000006044820152606401610837565b6001600160a01b03831660008181526011602090815260408083208686039055600c80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610c7184846000858660405180602001604052806000815250611f08565b606060ff8314611b7557611b6e83612016565b905061072d565b818054611b8190612a97565b80601f0160208091040260200160405190810160405280929190818152602001828054611bad90612a97565b8015611bfa5780601f10611bcf57610100808354040283529160200191611bfa565b820191906000526020600020905b815481529060010190602001808311611bdd57829003601f168201915b5050505050905061072d565b611c11826008612055565b600655611c1f816009612055565b600755815160208084019190912060045581519082012060055546600255611c45611e9f565b6001555050600380546001600160a01b03191630179055565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6109f88282611674565b6001600160a01b038116600090815260176020526040812080549160019190611cdc8385612afa565b909155509092915050565b600061072d611cf46116f8565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611d258787878761207f565b91509150611d3281612143565b5095945050505050565b6001600160a01b03841660009081526011602052604090205482811015611da55760405162461bcd60e51b815260206004820152601f60248201527f4845524332303a3a5f7472616e736665723a20696e73756666696369656e74006044820152606401610837565b6001600160a01b03808616600090815260116020526040808220868503905591861681529081208054859290611ddc908490612afa565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611e2891815260200190565b60405180910390a3611e3e868686868787611f08565b505050505050565b611e508282610d83565b6109f857611e5d8161228d565b611e6883602061229f565b604051602001611e79929190612c8b565b60408051601f198184030181529082905262461bcd60e51b825261083791600401612522565b600454600554604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600e54600d54604051630b08174d60e31b81526001600160a01b0390921691635840ba6891611f44918a918a918a919089908990600401612d00565b600060405180830381600087803b158015611f5e57600080fd5b505af1158015611f72573d6000803e3d6000fd5b5050600f546001600160a01b0316159150611e3e905057600f54600d546040516304e5664760e41b81526001600160a01b0389811660048301528881166024830152878116604483015260648201929092526084810186905260a48101859052911690634e5664709060c401600060405180830381600087803b158015611ff857600080fd5b505af1925050508015612009575060015b15611e3e57505050505050565b6060600061202383612442565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060208351101561206a57611b6e8361246a565b816120758482612b55565b5060ff905061072d565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156120b6575060009050600361213a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561210a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166121335760006001925092505061213a565b9150600090505b94509492505050565b600081600481111561215757612157612d4e565b0361215f5750565b600181600481111561217357612173612d4e565b036121c05760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610837565b60028160048111156121d4576121d4612d4e565b036122215760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610837565b600381600481111561223557612235612d4e565b036116715760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610837565b606061072d6001600160a01b03831660145b606060006122ae836002612d64565b6122b9906002612afa565b67ffffffffffffffff8111156122d1576122d1612658565b6040519080825280601f01601f1916602001820160405280156122fb576020820181803683370190505b509050600360fc1b8160008151811061231657612316612c15565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061234557612345612c15565b60200101906001600160f81b031916908160001a9053506000612369846002612d64565b612374906001612afa565b90505b60018111156123ec576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106123a8576123a8612c15565b1a60f81b8282815181106123be576123be612c15565b60200101906001600160f81b031916908160001a90535060049490941c936123e581612d7b565b9050612377565b50831561243b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610837565b9392505050565b600060ff8216601f81111561072d57604051632cd44ac360e21b815260040160405180910390fd5b600080829050601f81511115612495578260405163305a27a960e01b81526004016108379190612522565b80516124a082612d92565b179392505050565b6000602082840312156124ba57600080fd5b81356001600160e01b03198116811461243b57600080fd5b60005b838110156124ed5781810151838201526020016124d5565b50506000910152565b6000815180845261250e8160208601602086016124d2565b601f01601f19169290920160200192915050565b60208152600061243b60208301846124f6565b6001600160a01b038116811461167157600080fd5b803561255581612535565b919050565b6000806040838503121561256d57600080fd5b823561257881612535565b946020939093013593505050565b60006020828403121561259857600080fd5b813561243b81612535565b6000806000606084860312156125b857600080fd5b83356125c381612535565b925060208401356125d381612535565b929592945050506040919091013590565b6000602082840312156125f657600080fd5b5035919050565b6000806040838503121561261057600080fd5b82359150602083013561262281612535565b809150509250929050565b801515811461167157600080fd5b60006020828403121561264d57600080fd5b813561243b8161262d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561269757612697612658565b604052919050565b600082601f8301126126b057600080fd5b813567ffffffffffffffff8111156126ca576126ca612658565b6126dd601f8201601f191660200161266e565b8181528460208386010111156126f257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561272757600080fd5b853561273281612535565b9450602086013561274281612535565b9350604086013561275281612535565b925060608601359150608086013567ffffffffffffffff81111561277557600080fd5b6127818882890161269f565b9150509295509295909350565b60ff60f81b881681526000602060e060208401526127af60e084018a6124f6565b83810360408501526127c1818a6124f6565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015612815578351835292840192918401916001016127f9565b50909c9b505050505050505050505050565b803560ff8116811461255557600080fd5b600082601f83011261284957600080fd5b8135602067ffffffffffffffff82111561286557612865612658565b8160051b61287482820161266e565b928352848101820192828101908785111561288e57600080fd5b83870192505b848310156128b65782356128a781612535565b82529183019190830190612894565b979650505050505050565b600080600080600080600080610100898b0312156128de57600080fd5b88359750602089013567ffffffffffffffff808211156128fd57600080fd5b6129098c838d0161269f565b985060408b013591508082111561291f57600080fd5b61292b8c838d0161269f565b975061293960608c01612827565b965061294760808c0161254a565b955060a08b0135945061295c60c08c0161254a565b935060e08b013591508082111561297257600080fd5b5061297f8b828c01612838565b9150509295985092959890939650565b600080600080600080600060e0888a0312156129aa57600080fd5b87356129b581612535565b965060208801356129c581612535565b955060408801359450606088013593506129e160808901612827565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612a1057600080fd5b8235612a1b81612535565b9150602083013561262281612535565b60008060008060808587031215612a4157600080fd5b8435612a4c81612535565b93506020850135612a5c81612535565b925060408501359150606085013567ffffffffffffffff811115612a7f57600080fd5b612a8b8782880161269f565b91505092959194509250565b600181811c90821680612aab57607f821691505b602082108103612acb57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561072d5761072d612ad1565b8082018082111561072d5761072d612ad1565b601f82111561096a576000816000526020600020601f850160051c81016020861015612b365750805b601f850160051c820191505b81811015611e3e57828155600101612b42565b815167ffffffffffffffff811115612b6f57612b6f612658565b612b8381612b7d8454612a97565b84612b0d565b602080601f831160018114612bb85760008415612ba05750858301515b600019600386901b1c1916600185901b178555611e3e565b600085815260208120601f198616915b82811015612be757888601518255948401946001909101908401612bc8565b5085821015612c055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215612c4057600080fd5b8351612c4b8161262d565b602085015160408601519194509250612c6381612535565b809150509250925092565b600060208284031215612c8057600080fd5b815161243b8161262d565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612cc38160178501602088016124d2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612cf48160288401602088016124d2565b01602801949350505050565b6001600160a01b038781168252868116602083015285166040820152606081018490526080810183905260c060a08201819052600090612d42908301846124f6565b98975050505050505050565b634e487b7160e01b600052602160045260246000fd5b808202811582820484141761072d5761072d612ad1565b600081612d8a57612d8a612ad1565b506000190190565b80516020808301519190811015612acb5760001960209190910360031b1b1691905056fe71840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb19f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220dab4ccaa0003ded2c0e3997a3bcd480648e7ae1b3c2b9839ebba1c1ca3944f7b64736f6c63430008160033