6101806040523480156200001257600080fd5b50604051620033de380380620033de8339810160408190526200003591620002e1565b8462000041816200011c565b6200004c87620001af565b8181846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200008d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b3919062000361565b6000620000c1848262000432565b506001620000d0838262000432565b5060ff81166080524660a052620000e66200022c565b60c0525050506001600160a01b0392831660e05250509384166101005291831661012052821661014052166101605250620006cd565b6060816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200015d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000187919081019062000524565b604051602001620001999190620005dc565b6040516020818303038152906040529050919050565b6060816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200021a919081019062000524565b60405160200162000199919062000623565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200026091906200064f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381168114620002de57600080fd5b50565b600080600080600060a08688031215620002fa57600080fd5b85516200030781620002c8565b60208701519095506200031a81620002c8565b60408701519094506200032d81620002c8565b60608701519093506200034081620002c8565b60808701519092506200035381620002c8565b809150509295509295909350565b6000602082840312156200037457600080fd5b815160ff811681146200038657600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003b857607f821691505b602082108103620003d957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200042d57600081815260208120601f850160051c81016020861015620004085750805b601f850160051c820191505b81811015620004295782815560010162000414565b5050505b505050565b81516001600160401b038111156200044e576200044e6200038d565b62000466816200045f8454620003a3565b84620003df565b602080601f8311600181146200049e5760008415620004855750858301515b600019600386901b1c1916600185901b17855562000429565b600085815260208120601f198616915b82811015620004cf57888601518255948401946001909101908401620004ae565b5085821015620004ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60005b838110156200051b57818101518382015260200162000501565b50506000910152565b6000602082840312156200053757600080fd5b81516001600160401b03808211156200054f57600080fd5b818401915084601f8301126200056457600080fd5b8151818111156200057957620005796200038d565b604051601f8201601f19908116603f01168101908382118183101715620005a457620005a46200038d565b81604052828152876020848701011115620005be57600080fd5b620005d1836020830160208801620004fe565b979650505050505050565b7f455243343632362d57726170706564204161766520763320000000000000000081526000825162000616816018850160208701620004fe565b9190910160180192915050565b61776160f01b81526000825162000642816002850160208701620004fe565b9190910160020192915050565b60008083546200065f81620003a3565b600182811680156200067a57600181146200069057620006c1565b60ff1984168752821515830287019450620006c1565b8760005260208060002060005b85811015620006b85781548a8201529084019082016200069d565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161010051610120516101405161016051612be7620007f76000396000818161038e015261099e01526000818161028e01526109cd01526000818161044a01528181610b1e015281816110ff015281816113750152818161140e0152818161164501528181611b8e01528181611fba0152612058015260008181610423015281816105860152818161091e01528181610c3101528181611524015281816117200152611c6901526000818161034101528181610af101528181610d7301528181610e29015281816110c80152818161133e015281816113e1015281816116180152818161174b01528181611b6101528181611c9401528181611f98015261201c015260006108d8015260006108a8015260006102f60152612be76000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c806370a082311161012a578063b460af94116100bd578063ce96cb771161008c578063d905777e11610071578063d905777e14610504578063dd62ed3e14610517578063ef8b30f71461054257600080fd5b8063ce96cb77146104de578063d505accf146104f157600080fd5b8063b460af9414610492578063ba087652146104a5578063c63d75b6146104b8578063c6e6f592146104cb57600080fd5b8063a0c1f15e116100f9578063a0c1f15e1461041e578063a59a997314610445578063a9059cbb1461046c578063b3d7f6b91461047f57600080fd5b806370a08231146103c35780637ecebe00146103e357806394bf804d1461040357806395d89b411461041657600080fd5b8063313ce567116101a2578063402d267d11610171578063402d267d146103635780634cdad506146103765780636bb65f53146103895780636e553f65146103b057600080fd5b8063313ce567146102f15780633644e5151461032a578063372500ab1461033257806338d52e0f1461033c57600080fd5b80630a28a477116101de5780630a28a4771461027657806317f333401461028957806318160ddd146102d557806323b872dd146102de57600080fd5b806301e1d1141461021057806306fdde031461022b57806307a2d13a14610240578063095ea7b314610253575b600080fd5b610218610555565b6040519081526020015b60405180910390f35b61023361060b565b6040516102229190612205565b61021861024e366004612271565b610699565b6102666102613660046122af565b6106c6565b6040519015158152602001610222565b610218610284366004612271565b610740565b6102b07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610222565b61021860025481565b6102666102ec3660046122db565b610760565b6103187f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610222565b6102186108a4565b61033a6108fa565b005b6102b07f000000000000000000000000000000000000000000000000000000000000000081565b61021861037136600461231c565b610ab4565b610218610384366004612271565b610cd2565b6102b07f000000000000000000000000000000000000000000000000000000000000000081565b6102186103be366004612339565b610cdd565b6102186103d136600461231c565b60036020526000908152604090205481565b6102186103f136600461231c565b60056020526000908152604090205481565b610218610411366004612339565b610e02565b610233610eb8565b6102b07f000000000000000000000000000000000000000000000000000000000000000081565b6102b07f000000000000000000000000000000000000000000000000000000000000000081565b61026661047a3660046122af565b610ec5565b61021861048d366004612271565b610f4a565b6102186104a0366004612369565b610f69565b6102186104b3366004612369565b611175565b6102186104c636600461231c565b6113a4565b6102186104d9366004612271565b6115bb565b6102186104ec36600461231c565b6115db565b61033a6104ff3660046123ab565b611805565b61021861051236600461231c565b611b24565b610218610525366004612422565b600460209081526000928352604080842090915290825290205481565b610218610550366004612271565b611d4d565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106069190612450565b905090565b6000805461061890612469565b80601f016020809104026020016040519081016040528092919081815260200182805461064490612469565b80156106915780601f1061066657610100808354040283529160200191610691565b820191906000526020600020905b81548152906001019060200180831161067457829003601f168201915b505050505081565b60025460009080156106bd576106b86106b0610555565b849083611d58565b6106bf565b825b9392505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061072e9086815260200190565b60405180910390a35060015b92915050565b60025460009080156106bd576106b881610758610555565b859190611d77565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f4576107c283826124eb565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff8516600090815260036020526040812080548592906108299084906124eb565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108919087815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146108d557610606611da5565b507f000000000000000000000000000000000000000000000000000000000000000090565b604080516001808252818301909252600091602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106109505761095061252d565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517fbb492bf50000000000000000000000000000000000000000000000000000000081526000917f0000000000000000000000000000000000000000000000000000000000000000169063bb492bf5906109f59085907f00000000000000000000000000000000000000000000000000000000000000009060040161255c565b6000604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a5a91908101906126eb565b9150507fbacfa9662d479c707dae707c358323f0c7711ef382007957dc9935e629da36b281600081518110610a9157610a9161252d565b6020026020010151604051610aa891815260200190565b60405180910390a15050565b6040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015610b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8a9190612839565b51519050670100000000000000811615158015610baf57506702000000000000008116155b8015610bc357506710000000000000008116155b610bd05750600092915050565b640fffffffff607482901c166000819003610c0e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60ff603083901c166000610c2382600a612a7c565b610c2d9084612a8b565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe9190612450565b610cc890826124eb565b9695505050505050565b600061073a82610699565b6000610ce883611d4d565b905080600003610d59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f5a45524f5f53484152455300000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610d9b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333086611e3f565b610da58282611f05565b604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a361073a8382611f7e565b6000610e0d83610f4a565b9050610e5173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333084611e3f565b610e5b8284611f05565b604080518281526020810185905273ffffffffffffffffffffffffffffffffffffffff84169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a361073a8184611f7e565b6001805461061890612469565b33600090815260036020526040812080548391908390610ee69084906124eb565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061072e9086815260200190565b60025460009080156106bd576106b8610f61610555565b849083611d77565b6000610f7484610740565b90503373ffffffffffffffffffffffffffffffffffffffff8316146110295773ffffffffffffffffffffffffffffffffffffffff821660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461102757610ff582826124eb565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020555b505b61103382826120b8565b604080518581526020810183905273ffffffffffffffffffffffffffffffffffffffff808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a46040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905284811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec906064015b6020604051808303816000875af1158015611149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116d9190612450565b509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff83161461122a5773ffffffffffffffffffffffffffffffffffffffff821660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611228576111f685826124eb565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020555b505b61123384610cd2565b90508060000361129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f5a45524f5f4153534554530000000000000000000000000000000000000000006044820152606401610d50565b6112a982856120b8565b604080518281526020810186905273ffffffffffffffffffffffffffffffffffffffff808516929086169133917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db910160405180910390a46040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905284811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec9060640161112a565b6040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190612839565b5151905067010000000000000081161515801561149f57506702000000000000008116155b80156114b357506710000000000000008116155b6114c05750600092915050565b640fffffffff607482901c1660008190036114fe57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60ff603083901c16600061151382600a612a7c565b61151d9084612a8b565b9050610cc87f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612450565b6104d990836124eb565b60025460009080156106bd576106b8816115d3610555565b859190611d58565b6040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b19190612839565b515190506701000000000000008116151580156116d657506710000000000000008116155b6116e35750600092915050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190612450565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260036020526040812054919250906117eb90610699565b90508082106117fa57806117fc565b815b95945050505050565b4284101561186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610d50565b6000600161187b6108a4565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156119cd573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611a4857508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611aae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152606401610d50565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182917f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101e060405180830381865afa158015611bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfa9190612839565b51519050670100000000000000811615158015611c1f57506710000000000000008116155b611c2c5750600092915050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d019190612450565b90506000611d0e826115bb565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260036020526040902054909150808210611d445780610cc8565b50949350505050565b600061073a826115bb565b828202811515841585830485141716611d7057600080fd5b0492915050565b828202811515841585830485141716611d8f57600080fd5b6001826001830304018115150290509392505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051611dd79190612ac8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610d50565b5050505050565b8060026000828254611f179190612b9e565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b611fdf73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084612146565b6040517f617ba03700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b15801561209c57600080fd5b505af11580156120b0573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906120ed9084906124eb565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611f72565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806121ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152606401610d50565b50505050565b600060208083528351808285015260005b8181101561223257858101830151858201604001528201612216565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561228357600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146122ac57600080fd5b50565b600080604083850312156122c257600080fd5b82356122cd8161228a565b946020939093013593505050565b6000806000606084860312156122f057600080fd5b83356122fb8161228a565b9250602084013561230b8161228a565b929592945050506040919091013590565b60006020828403121561232e57600080fd5b81356106bf8161228a565b6000806040838503121561234c57600080fd5b82359150602083013561235e8161228a565b809150509250929050565b60008060006060848603121561237e57600080fd5b8335925060208401356123908161228a565b915060408401356123a08161228a565b809150509250925092565b600080600080600080600060e0888a0312156123c657600080fd5b87356123d18161228a565b965060208801356123e18161228a565b95506040880135945060608801359350608088013560ff8116811461240557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561243557600080fd5b82356124408161228a565b9150602083013561235e8161228a565b60006020828403121561246257600080fd5b5051919050565b600181811c9082168061247d57607f821691505b6020821081036124b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561073a5761073a6124bc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604080825283519082018190526000906020906060840190828701845b828110156125ab57815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101612579565b50505073ffffffffffffffffffffffffffffffffffffffff9490941692019190915250919050565b6040516101e0810167ffffffffffffffff811182821017156125f7576125f76124fe565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612644576126446124fe565b604052919050565b600067ffffffffffffffff821115612666576126666124fe565b5060051b60200190565b805161267b8161228a565b919050565b600082601f83011261269157600080fd5b815160206126a66126a18361264c565b6125fd565b82815260059290921b840181019181810190868411156126c557600080fd5b8286015b848110156126e057805183529183019183016126c9565b509695505050505050565b600080604083850312156126fe57600080fd5b825167ffffffffffffffff8082111561271657600080fd5b818501915085601f83011261272a57600080fd5b8151602061273a6126a18361264c565b82815260059290921b8401810191818101908984111561275957600080fd5b948201945b838610156127805785516127718161228a565b8252948201949082019061275e565b9188015191965090935050508082111561279957600080fd5b506127a685828601612680565b9150509250929050565b6000602082840312156127c257600080fd5b6040516020810181811067ffffffffffffffff821117156127e5576127e56124fe565b6040529151825250919050565b80516fffffffffffffffffffffffffffffffff8116811461267b57600080fd5b805164ffffffffff8116811461267b57600080fd5b805161ffff8116811461267b57600080fd5b60006101e0828403121561284c57600080fd5b6128546125d3565b61285e84846127b0565b815261286c602084016127f2565b602082015261287d604084016127f2565b604082015261288e606084016127f2565b606082015261289f608084016127f2565b60808201526128b060a084016127f2565b60a08201526128c160c08401612812565b60c08201526128d260e08401612827565b60e08201526101006128e5818501612670565b908201526101206128f7848201612670565b90820152610140612909848201612670565b9082015261016061291b848201612670565b9082015261018061292d8482016127f2565b908201526101a061293f8482016127f2565b908201526101c06129518482016127f2565b908201529392505050565b600181815b808511156129b557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561299b5761299b6124bc565b808516156129a857918102915b93841c9390800290612961565b509250929050565b6000826129cc5750600161073a565b816129d95750600061073a565b81600181146129ef57600281146129f957612a15565b600191505061073a565b60ff841115612a0a57612a0a6124bc565b50506001821b61073a565b5060208310610133831016604e8410600b8410161715612a38575081810a61073a565b612a42838361295c565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612a7457612a746124bc565b029392505050565b60006106bf60ff8416836129bd565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ac357612ac36124bc565b500290565b600080835481600182811c915080831680612ae457607f831692505b60208084108203612b1c577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b818015612b305760018114612b6357612b90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952841515850289019650612b90565b60008a81526020902060005b86811015612b885781548b820152908501908301612b6f565b505084890196505b509498975050505050505050565b8082018082111561073a5761073a6124bc56fea26469706673582212201a330f0a020e580282738ac608554ce1e8785293367fbcd15ab06e7adb90db6b64736f6c6343000810003300000000000000000000000094b008aa00579c1307b0ef2c499ad98a8ce58e580000000000000000000000006ab707aca953edaefbc4fd23ba73294241490620000000000000000000000000794a61358d6845594f94dc1db02a252b5b4814ad000000000000000000000000308810881807189cae91950888b2cb73a1cc5920000000000000000000000000929ec64c34a17401f460460d4b9390518e5b473e