60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61310980620000e66000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c8063836f8f201161011a578063a5e881b3116100ad578063c3cda5201161007c578063c3cda52014610463578063d7b7d40514610476578063dd62ed3e14610489578063e8867180146104e1578063f1127ed8146104f457600080fd5b8063a5e881b314610426578063a7d545db1461042f578063a9059cbb14610442578063b2193b4d1461045057600080fd5b806395d89b41116100e957806395d89b41146103eb5780639ab24eb0146103f35780639cbef4a9146104065780639ed278091461041957600080fd5b8063836f8f201461039557806384b0196e1461039e5780638e539e8c146103b957806391ddadf4146103cc57600080fd5b80634bf5d7e91161019d5780635ec806001161016c5780635ec80600146103215780636fcfff451461033457806370a082311461035c5780637e893f801461036f5780637ecebe001461038257600080fd5b80634bf5d7e9146102e05780634d853ee5146102e8578063587cde1e146102fb5780635c19a95c1461030e57600080fd5b806323b872dd116101d957806323b872dd146102965780632e1a7d4d146102a9578063313ce567146102be5780633a46b1a8146102cd57600080fd5b806306fdde031461020b578063095ea7b3146102295780631083f7611461024c57806318160ddd14610277575b600080fd5b610213610533565b60405161022091906129e2565b60405180910390f35b61023c610237366004612a11565b6105dc565b6040519015158152602001610220565b60025461025f906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b600080516020613094833981519152545b604051908152602001610220565b61023c6102a4366004612a3b565b610624565b6102bc6102b7366004612a77565b610668565b005b60405160128152602001610220565b6102886102db366004612a11565b6107f8565b61021361088d565b60015461025f906001600160a01b031681565b61025f610309366004612a90565b610905565b6102bc61031c366004612a90565b610930565b61025f61032f366004612a11565b61093f565b610347610342366004612a90565b610952565b60405163ffffffff9091168152602001610220565b61028861036a366004612a90565b61095d565b6102bc61037d366004612a77565b610990565b610288610390366004612a90565b610a71565b61028860065481565b6103a6610a9a565b6040516102209796959493929190612aab565b6102886103c7366004612a77565b610b46565b6103d4610bc2565b60405165ffffffffffff9091168152602001610220565b610213610bd1565b610288610401366004612a90565b610c10565b60035461025f906001600160a01b031681565b60055461023c9060ff1681565b61028860045481565b6102bc61043d366004612b41565b610c70565b61023c6102a4366004612a11565b6102bc61045e366004612c2e565b6110ba565b6102bc610471366004612ce2565b61122a565b610288610484366004612a11565b6112e7565b610288610497366004612d42565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b6102bc6104ef366004612d75565b611357565b610507610502366004612d92565b6113bb565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610220565b606060006000805160206130748339815191525b905080600301805461055890612dd2565b80601f016020809104026020016040519081016040528092919081815260200182805461058490612dd2565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b505050505091505090565b60405162461bcd60e51b8152602060048201526015602482015274105c1c1c9bdd99481b9bdd081cdd5c1c1bdc9d1959605a1b60448201526000906064015b60405180910390fd5b60405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd5c1c1bdc9d195960521b604482015260009060640161061b565b60085460ff16156106ac5760405162461bcd60e51b815260206004820152600e60248201526d31b0b73737ba103932b2b73a32b960911b604482015260640161061b565b6008805460ff1916600117905560006106c23390565b9050816106ce8261095d565b10156107135760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161061b565b6001546001600160a01b0382811691161480156107445750600654826107388361095d565b6107429190612e22565b105b1561078c5760045442101561078c5760405162461bcd60e51b815260206004820152600e60248201526d139bdd081b585d1d5c99481e595d60921b604482015260640161061b565b61079681836113d9565b6107d16107a1610bc2565b6107b26107ad8461095d565b61140f565b6001600160a01b03841660009081526007602052604090209190611447565b50506002546107ea906001600160a01b03168284611462565b50506008805460ff19169055565b600060008051602061305483398151915281610812610bc2565b90508065ffffffffffff16841061084d57604051637669fc0f60e11b81526004810185905265ffffffffffff8216602482015260440161061b565b610879610859856114c6565b6001600160a01b03871660009081526001850160205260409020906114f9565b6001600160d01b0316925050505b92915050565b60606108976115af565b65ffffffffffff166108a7610bc2565b65ffffffffffff16146108cd576040516301bfc1c560e61b815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b03908116600090815260008051602061305483398151915260205260409020541690565b3361093b81836115ba565b5050565b600061094b83836115ee565b9392505050565b600061088782611666565b6000806000805160206130748339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b6003547fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775906001600160a01b03166391d1485482336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190612e35565b610a6b5760405162461bcd60e51b81526020600482015260096024820152682737ba1030b236b4b760b91b604482015260640161061b565b50600455565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610970565b600060608082808083816000805160206130b48339815191528054909150158015610ac757506001810154155b610b0b5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b604482015260640161061b565b610b136116b7565b610b1b6116f6565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b600060008051602061305483398151915281610b60610bc2565b90508065ffffffffffff168410610b9b57604051637669fc0f60e11b81526004810185905265ffffffffffff8216602482015260440161061b565b610bb1610ba7856114c6565b60028401906114f9565b6001600160d01b0316949350505050565b6000610bcc6115af565b905090565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060916000805160206130748339815191529161055890612dd2565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040812060008051602061305483398151915290610c609061170e565b6001600160d01b03169392505050565b60055460ff1680610c8e575060008051602061309483398151915254155b610ce85760405162461bcd60e51b815260206004820152602560248201527f5374616b696e672069732064697361626c656420666f722070726976617465206044820152641859d95b9d60da1b606482015260840161061b565b3383610d275760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015260640161061b565b6002546040516370a0823160e01b81526001600160a01b038381166004830152869216906370a0823190602401602060405180830381865afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d959190612e52565b1015610de35760405162461bcd60e51b815260206004820181905260248201527f496e73756666696369656e7420617373657420746f6b656e2062616c616e6365604482015260640161061b565b600254604051636eb1769f60e11b81526001600160a01b0383811660048301523060248301528692169063dd62ed3e90604401602060405180830381865afa158015610e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e579190612e52565b1015610eb05760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e7420617373657420746f6b656e20616c6c6f77616e604482015261636560f01b606482015260840161061b565b60035460405163225742f560e11b81523060048201526001600160a01b039091169060009082906344ae85ea90602401602060405180830381865afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f219190612e52565b604051634752f9ef60e01b8152600481018290529091506001600160a01b03831690634752f9ef90602401602060405180830381865afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190612e35565b15610fce5760405162461bcd60e51b81526020600482015260116024820152701059d95b9d08109b1858dadb1a5cdd1959607a1b604482015260640161061b565b60008051602061309483398151915254600003610feb5760068690555b604051634b56175360e01b8152600481018290526001600160a01b038581166024830152831690634b56175390604401600060405180830381600087803b15801561103557600080fd5b505af1158015611049573d6000803e3d6000fd5b505060025461106692506001600160a01b03169050843089611747565b6110708587611786565b61107a85856115ba565b6110b0611085610bc2565b6110916107ad8861095d565b6001600160a01b03881660009081526007602052604090209190611447565b5050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156111005750825b905060008267ffffffffffffffff16600114801561111d5750303b155b90508115801561112b575080155b156111495760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561117357845460ff60401b1916600160401b1785555b61117d8c8c6117bc565b6111856117ce565b600180546001600160a01b03199081166001600160a01b038d81169190911790925560048a90556002805482168c8416179055600380549091169189169190911790556005805460ff1916871515179055831561121c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050505050565b8342111561124e57604051632341d78760e11b81526004810185905260240161061b565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906112c8906112c09060a001604051602081830303815290604052805190602001206117d8565b858585611805565b90506112d48187611833565b6112de81886115ba565b50505050505050565b6000806112f2610bc2565b90508065ffffffffffff16831061132d57604051637669fc0f60e11b81526004810184905265ffffffffffff8216602482015260440161061b565b610bb1611339846114c6565b6001600160a01b0386166000908152600760205260409020906114f9565b6001546001600160a01b0316336001600160a01b0316146113a85760405162461bcd60e51b815260206004820152600b60248201526a2737ba103337bab73232b960a91b604482015260640161061b565b6005805460ff1916911515919091179055565b604080518082019091526000808252602082015261094b83836118a5565b6001600160a01b03821661140357604051634b637e8f60e11b81526000600482015260240161061b565b61093b82600083611908565b60006001600160d01b03821115611443576040516306dfcc6560e41b815260d060048201526024810183905260440161061b565b5090565b600080611455858585611913565b915091505b935093915050565b6040516001600160a01b038381166024830152604482018390526114c191859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611a8d565b505050565b600065ffffffffffff821115611443576040516306dfcc6560e41b8152603060048201526024810183905260440161061b565b81546000908181600581111561155857600061151484611af0565b61151e9085612e22565b60008881526020902090915081015465ffffffffffff908116908716101561154857809150611556565b611553816001612e6b565b92505b505b600061156687878585611bd8565b905080156115a15761158b8761157d600184612e22565b600091825260209091200190565b54600160301b90046001600160d01b03166115a4565b60005b979650505050505050565b6000610bcc436114c6565b6115c48282611c3a565b61093b6115cf610bc2565b6001600160a01b03841660009081526020819052604090209083611cc4565b6000806115f9610bc2565b90508065ffffffffffff16831061163457604051637669fc0f60e11b81526004810184905265ffffffffffff8216602482015260440161061b565b61165e611640846114c6565b6001600160a01b038616600090815260208190526040902090611ccf565b949350505050565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120546000805160206130548339815191529061094b90611d95565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060916000805160206130b48339815191529161055890612dd2565b606060006000805160206130b4833981519152610547565b8054600090801561173e576117288361157d600184612e22565b54600160301b90046001600160d01b031661094b565b60009392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526117809186918216906323b872dd9060840161148f565b50505050565b6001600160a01b0382166117b05760405163ec442f0560e01b81526000600482015260240161061b565b61093b60008383611908565b6117c4611dc6565b61093b8282611e0f565b6117d6611dc6565b565b60006108876117e5611e60565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061181788888888611e6a565b9250925092506118278282611f39565b50909695505050505050565b6001600160a01b03821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090208054600181019091558181146114c1576040516301d4b62360e61b81526001600160a01b03841660048201526024810182905260440161061b565b604080518082018252600080825260208083018290526001600160a01b03861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091206000805160206130548339815191529061165e9084611ff2565b6114c1838383612062565b825460009081908015611a325760006119318761157d600185612e22565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561198557604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036119d157846119a88861157d600186612e22565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611a22565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b60200151925083915061145a9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b02919093161792019190915590508161145a565b6000611aa26001600160a01b038416836120d6565b90508051600014158015611ac7575080806020019051810190611ac59190612e35565b155b156114c157604051635274afe760e01b81526001600160a01b038416600482015260240161061b565b600081600003611b0257506000919050565b60006001611b0f846120e4565b901c6001901b90506001818481611b2857611b28612e7e565b048201901c90506001818481611b4057611b40612e7e565b048201901c90506001818481611b5857611b58612e7e565b048201901c90506001818481611b7057611b70612e7e565b048201901c90506001818481611b8857611b88612e7e565b048201901c90506001818481611ba057611ba0612e7e565b048201901c90506001818481611bb857611bb8612e7e565b048201901c905061094b81828581611bd257611bd2612e7e565b04612178565b60005b81831015611c32576000611bef848461218e565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115611c1e57809250611c2c565b611c29816001612e6b565b93505b50611bdb565b509392505050565b6000805160206130548339815191526000611c5484610905565b6001600160a01b0385811660008181526020869052604080822080546001600160a01b031916898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46117808184611cbf876121a9565b6121b4565b6114c183838361232e565b815460009081816005811115611d42576000611cea84611af0565b611cf49085612e22565b9050866000018181548110611d0b57611d0b612e94565b60009182526020909120015465ffffffffffff9081169087161015611d3257809150611d40565b611d3d816001612e6b565b92505b505b6000611d50878785856124ed565b905080156115a15786611d64600183612e22565b81548110611d7457611d74612e94565b600091825260209091200154600160301b90046001600160a01b03166115a4565b600063ffffffff821115611443576040516306dfcc6560e41b8152602060048201526024810183905260440161061b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166117d657604051631afcd79f60e31b815260040160405180910390fd5b611e17611dc6565b6000805160206130748339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611e518482612ef8565b50600481016117808382612ef8565b6000610bcc612557565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611ea55750600091506003905082611f2f565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611ef9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f2557506000925060019150829050611f2f565b9250600091508190505b9450945094915050565b6000826003811115611f4d57611f4d612fb8565b03611f56575050565b6001826003811115611f6a57611f6a612fb8565b03611f885760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611f9c57611f9c612fb8565b03611fbd5760405163fce698f760e01b81526004810182905260240161061b565b6003826003811115611fd157611fd1612fb8565b0361093b576040516335e2f38360e21b81526004810182905260240161061b565b6040805180820190915260008082526020820152826000018263ffffffff168154811061202157612021612e94565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b61206d8383836125cb565b6001600160a01b0383166120cb5760006120936000805160206130948339815191525490565b90506001600160d01b03808211156120c857604051630e58ae9360e11b8152600481018390526024810182905260440161061b565b50505b6114c1838383612709565b606061094b8383600061277b565b600080608083901c156120f957608092831c92015b604083901c1561210b57604092831c92015b602083901c1561211d57602092831c92015b601083901c1561212f57601092831c92015b600883901c1561214157600892831c92015b600483901c1561215357600492831c92015b600283901c1561216557600292831c92015b600183901c156108875760010192915050565b6000818310612187578161094b565b5090919050565b600061219d6002848418612fce565b61094b90848416612e6b565b60006108878261095d565b6000805160206130548339815191526001600160a01b03848116908416148015906121df5750600082115b15611780576001600160a01b03841615612289576001600160a01b0384166000908152600182016020526040812081906122249061281861221f8761140f565b612824565b6001600160d01b031691506001600160d01b03169150856001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161227e929190918252602082015260400190565b60405180910390a250505b6001600160a01b03831615611780576001600160a01b0383166000908152600182016020526040812081906122c49061285061221f8761140f565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161231e929190918252602082015260400190565b60405180910390a2505050505050565b8254801561248557600084612344600184612e22565b8154811061235457612354612e94565b60009182526020918290206040805180820190915291015465ffffffffffff808216808452600160301b9092046001600160a01b03169383019390935290925090851610156123b657604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80861691160361241c5782856123d6600185612e22565b815481106123e6576123e6612e94565b9060005260206000200160000160066101000a8154816001600160a01b0302191690836001600160a01b0316021790555061247f565b6040805180820190915265ffffffffffff80861682526001600160a01b0380861660208085019182528954600181018b5560008b8152919091209451940180549151909216600160301b026001600160d01b031990911693909216929092171790555b50611780565b6040805180820190915265ffffffffffff80851682526001600160a01b0380851660208085019182528854600181018a5560008a8152919091209451940180549151909216600160301b026001600160d01b0319909116939092169290921717905550505050565b60005b81831015611c32576000612504848461218e565b90508465ffffffffffff1686828154811061252157612521612e94565b60009182526020909120015465ffffffffffff16111561254357809250612551565b61254e816001612e6b565b93505b506124f0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61258261285c565b61258a6128c6565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000805160206130748339815191526001600160a01b03841661260757818160020160008282546125fc9190612e6b565b909155506126799050565b6001600160a01b0384166000908152602082905260409020548281101561265a5760405163391434e360e21b81526001600160a01b0386166004820152602481018290526044810184905260640161061b565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b0383166126975760028101805483900390556126b6565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126fb91815260200190565b60405180910390a350505050565b6000805160206130548339815191526001600160a01b03841661273c576127398160020161285061221f8561140f565b50505b6001600160a01b0383166127605761275d8160020161281861221f8561140f565b50505b61178061276c85610905565b61277585610905565b846121b4565b6060814710156127a05760405163cd78605960e01b815230600482015260240161061b565b600080856001600160a01b031684866040516127bc9190612ff0565b60006040518083038185875af1925050503d80600081146127f9576040519150601f19603f3d011682016040523d82523d6000602084013e6127fe565b606091505b509150915061280e86838361290a565b9695505050505050565b600061094b828461300c565b600080611455612832610bc2565b61284861283e8861170e565b868863ffffffff16565b879190611447565b600061094b8284613033565b60006000805160206130b4833981519152816128766116b7565b80519091501561288e57805160209091012092915050565b8154801561289d579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60006000805160206130b4833981519152816128e06116f6565b8051909150156128f857805160209091012092915050565b6001820154801561289d579392505050565b60608261291f5761291a82612966565b61094b565b815115801561293657506001600160a01b0384163b155b1561295f57604051639996b31560e01b81526001600160a01b038516600482015260240161061b565b508061094b565b8051156129765780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b60005b838110156129ad578181015183820152602001612995565b50506000910152565b600081518084526129ce816020860160208601612992565b601f01601f19169290920160200192915050565b60208152600061094b60208301846129b6565b80356001600160a01b0381168114612a0c57600080fd5b919050565b60008060408385031215612a2457600080fd5b612a2d836129f5565b946020939093013593505050565b600080600060608486031215612a5057600080fd5b612a59846129f5565b9250612a67602085016129f5565b9150604084013590509250925092565b600060208284031215612a8957600080fd5b5035919050565b600060208284031215612aa257600080fd5b61094b826129f5565b60ff60f81b881681526000602060e081840152612acb60e084018a6129b6565b8381036040850152612add818a6129b6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612b2f57835183529284019291840191600101612b13565b50909c9b505050505050505050505050565b600080600060608486031215612b5657600080fd5b83359250612b66602085016129f5565b9150612b74604085016129f5565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ba457600080fd5b813567ffffffffffffffff80821115612bbf57612bbf612b7d565b604051601f8301601f19908116603f01168101908282118183101715612be757612be7612b7d565b81604052838152866020858801011115612c0057600080fd5b836020870160208301376000602085830101528094505050505092915050565b801515811461298f57600080fd5b600080600080600080600060e0888a031215612c4957600080fd5b873567ffffffffffffffff80821115612c6157600080fd5b612c6d8b838c01612b93565b985060208a0135915080821115612c8357600080fd5b50612c908a828b01612b93565b965050612c9f604089016129f5565b9450612cad606089016129f5565b935060808801359250612cc260a089016129f5565b915060c0880135612cd281612c20565b8091505092959891949750929550565b60008060008060008060c08789031215612cfb57600080fd5b612d04876129f5565b95506020870135945060408701359350606087013560ff81168114612d2857600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612d5557600080fd5b612d5e836129f5565b9150612d6c602084016129f5565b90509250929050565b600060208284031215612d8757600080fd5b813561094b81612c20565b60008060408385031215612da557600080fd5b612dae836129f5565b9150602083013563ffffffff81168114612dc757600080fd5b809150509250929050565b600181811c90821680612de657607f821691505b602082108103612e0657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561088757610887612e0c565b600060208284031215612e4757600080fd5b815161094b81612c20565b600060208284031215612e6457600080fd5b5051919050565b8082018082111561088757610887612e0c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b601f8211156114c157600081815260208120601f850160051c81016020861015612ed15750805b601f850160051c820191505b81811015612ef057828155600101612edd565b505050505050565b815167ffffffffffffffff811115612f1257612f12612b7d565b612f2681612f208454612dd2565b84612eaa565b602080601f831160018114612f5b5760008415612f435750858301515b600019600386901b1c1916600185901b178555612ef0565b600085815260208120601f198616915b82811015612f8a57888601518255948401946001909101908401612f6b565b5085821015612fa85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b600082612feb57634e487b7160e01b600052601260045260246000fd5b500490565b60008251613002818460208701612992565b9190910192915050565b6001600160d01b0382811682821603908082111561302c5761302c612e0c565b5092915050565b6001600160d01b0381811683821601908082111561302c5761302c612e0c56fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100a2646970667358221220dbdfb1edef1053132cc6877c3de14eb3ed6345beeea7c807e1dd35507578b60d64736f6c63430008140033