Special data
- Nonce: 2
- Is contract? Yes
-
Contract code:
0x6080604052600436106100655760003560e01c80633d719cd9116100435780633d719cd9146100cf57806390b33ce5146100fc578063a15112f91461010f57600080fd5b806302ce8af31461006a578063087190701461009c57806313fd34f4146100bc575b600080fd5b34801561007657600080fd5b5061008961008536600461538c565b5490565b6040519081526020015b60405180910390f35b6100af6100aa3660046153fe565b610122565b60405161009391906154fb565b6100af6100ca36600461555a565b6102e1565b6100e26100dd366004615613565b6103d2565b60408051600f93840b81529190920b602082015201610093565b6100af61010a3660046156d6565b610498565b6100af61011d366004615733565b61054a565b606060405180608001604052808b61ffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8b0181900481028201810190925289815291810191908a908a9081908401838280828437600092019190915250505090825250604080516020601f890181900481028201810190925287815291810191908890889081908401838280828437600092018290525093909452505054859150849073ffffffffffffffffffffffffffffffffffffffff161561020d57600080fd5b6102188383836105d7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556102688d8d8d6105f4565b93506102a988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061072392505050565b600080547fffffffffffffffffffff00ff00000000000000000000000000000000000000001690555050509998505050505050505050565b6201000154606090829073ffffffffffffffffffffffffffffffffffffffff1633148015610325575060005473ffffffffffffffffffffffffffffffffffffffff16155b61032e57600080fd5b600080547fffffffffffffffffffffff00000000000000000000000000000000000000000016337fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff161774010000000000000000000000000000000000000000831515021790556103a08686866109c7565b600080547fffffffffffffffffffff000000000000000000000000000000000000000000001690559695505050505050565b60008054819073ffffffffffffffffffffffffffffffffffffffff16156103f857600080fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179081905560ff7601000000000000000000000000000000000000000000009091041661044b57600080fd5b61045d8c8c8c8c8c8c8c8c8c8c610a9d565b600080547fffffffffffffffffffff00ff0000000000000000000000000000000000000000169055909d909c509a5050505050505050505050565b606081856104a7823383610b0e565b60005473ffffffffffffffffffffffffffffffffffffffff16156104ca57600080fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556105158787876105f4565b600080547fffffffffffffffffffff00ff000000000000000000000000000000000000000016905592505b5050949350505050565b60005460609073ffffffffffffffffffffffffffffffffffffffff161561057057600080fd5b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556105a58484846105f4565b600080547fffffffffffffffffffff00ff000000000000000000000000000000000000000016905590505b9392505050565b60006105e4848484610bd8565b90506105d0818560400151610ca6565b60606105ff84610d6b565b60008060018661ffff1662010000811061061b5761061b615788565b015460405173ffffffffffffffffffffffffffffffffffffffff9091169061064990879087906024016157b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff96dc78800000000000000000000000000000000000000000000000000000000179052516106ca9190615804565b600060405180830381855af49150503d8060008114610705576040519150601f19603f3d011682016040523d82523d6000602084013e61070a565b606091505b50915091506107198282610df3565b9695505050505050565b805160000361072f5750565b6000806000838060200190518101906107489190615820565b92509250925061075781610e18565b600080549192509061077f9073ffffffffffffffffffffffffffffffffffffffff1685610ea3565b9050600061078d8386610ea3565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff8516016107ee5760008281526201001060205260409020546fffffffffffffffffffffffffffffffff1693505b60008281526201001060205260409020546fffffffffffffffffffffffffffffffff8086169116101561082057600080fd5b6000805461010090610851907801000000000000000000000000000000000000000000000000900460ff168761589c565b61085b91906158ff565b90506000610869828761592e565b60008581526201001060205260408120805492935088929091906108a09084906fffffffffffffffffffffffffffffffff1661592e565b82546101009290920a6fffffffffffffffffffffffffffffffff81810219909316918316021790915560008581526201001060205260408120805485945090926108ec91859116615957565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000826fffffffffffffffffffffffffffffffff1611156109bd5773ffffffffffffffffffffffffffffffffffffffff871660009081526201000c6020526040812080548492906109869084906fffffffffffffffffffffffffffffffff16615957565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5050505050505050565b60606109d284610d6b565b60008060018661ffff166201000081106109ee576109ee615788565b015460405173ffffffffffffffffffffffffffffffffffffffff90911690610a1c90879087906024016157b7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb670198000000000000000000000000000000000000000000000000000000000179052516106ca9190615804565b6000806000610ab18d8d8d8a8e8e8e610ef2565b90506000610ac2828c8c8c8b610f8f565b8051602082015190955093509050610adc81878d8d611009565b50610af28e8e83600001518460200151896110ce565b610afd818f8f6110f7565b50509a509a98505050505050505050565b6000620100106000610b2186868661123f565b81526020810191909152604001600020805490915063ffffffff7401000000000000000000000000000000000000000090910481161015610bd257805474010000000000000000000000000000000000000000900463ffffffff16610b8557600080fd5b80548190601490610bb39074010000000000000000000000000000000000000000900463ffffffff16615980565b91906101000a81548163ffffffff021916908363ffffffff1602179055505b50505050565b6000808080610be9858701876159be565b9250925092506000610bfa88611299565b60408051600081526020810180835283905260ff871691810191909152606081018590526080810184905290915060019060a0016020604051602081039080840390855afa158015610c50573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015195505073ffffffffffffffffffffffffffffffffffffffff8516610c9b57600080fd5b505050509392505050565b600080600080600085806020019051810190610cc29190615a07565b945094509450945094508465ffffffffffff16421115610ce157600080fd5b8365ffffffffffff16421015610cf657600080fd5b73ffffffffffffffffffffffffffffffffffffffff81161580610d2e575073ffffffffffffffffffffffffffffffffffffffff811633145b80610d4e575073ffffffffffffffffffffffffffffffffffffffff811632145b610d5757600080fd5b610d628784846113a8565b50505050505050565b6000600161ffff8316620100008110610d8657610d86615788565b015473ffffffffffffffffffffffffffffffffffffffff1603610da857600080fd5b60005477010000000000000000000000000000000000000000000000900460ff161580610dda575061ffff811661270f145b80610de7575061ffff8116155b610df057600080fd5b50565b60608215610e02575080610e12565b8151156100655781518083602001fd5b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0073ffffffffffffffffffffffffffffffffffffffff831601610e5e573391505090565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0073ffffffffffffffffffffffffffffffffffffffff831601610e9f573291505b5090565b6040805173ffffffffffffffffffffffffffffffffffffffff80851660208301528316918101919091526000906060015b60405160208183030381529060405280519060200120905092915050565b60408051610140810182526000606082018181526080830182905260a0830182905260c0830182905260e083018290526101008301829052610120830182905282526020820181905291810182905290610f4d898989611421565b905080600001516020015161ffff168661ffff161115610f7557805161ffff87166020909101525b610f83818a8a8888886114f1565b98975050505050505050565b6040805160808082018352600080835260208084018290528385018290526060808501839052855160a081018752958601929092528815158552871515908501526fffffffffffffffffffffffffffffffff8681169185019190915284169083015290610ffc8188611612565b9150505b95945050505050565b60008161101757845161101d565b84602001515b905082151582151514600081611033578561103c565b61103c86615a75565b905080600f0b83600f0b13158061106357506fffffffffffffffffffffffffffffffff8616155b610540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f534c00000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60005473ffffffffffffffffffffffffffffffffffffffff1680610d62818089888a8989611758565b60408301516fffffffffffffffffffffffffffffffff16156111995760408084015173ffffffffffffffffffffffffffffffffffffffff841660009081526201000c6020529182208054919290916111629084906fffffffffffffffffffffffffffffffff16615957565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b60608301516fffffffffffffffffffffffffffffffff161561123a57606083015173ffffffffffffffffffffffffffffffffffffffff821660009081526201000c6020526040812080549091906112039084906fffffffffffffffffffffffffffffffff16615957565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808616602083015284169181019190915261ffff821660608201526000906080015b6040516020818303038152906040528051906020012090509392505050565b6000806112a5836117ad565b905061134f604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f33dd648f3c5d475752f4dfbf3ab10305e18604abf30961145f1889ec2e867563918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101919091526042810182905260620160405160208183030381529060405280519060200120915050919050565b60006201001060006113ba868661184c565b81526020810191909152604001600020805490915063ffffffff83811670010000000000000000000000000000000090920416146113f757600080fd5b80548190601090610bb390700100000000000000000000000000000000900463ffffffff16615ab3565b60408051610140810182526000606082018181526080830182905260a0830182905260c0830182905260e0830182905261010083018290526101208301829052825260208201819052918101919091526114806201000985858561187d565b905061148b816119ae565b6105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f504900000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b604086015173ffffffffffffffffffffffffffffffffffffffff161561160a576040868101516000805489516020015193517f4e56bd3800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015233602482015289821660448201528882166064820152871515608482015286151560a48201526fffffffffffffffffffffffffffffffff861660c482015261ffff90941660e48501529092911690634e56bd3890610104016020604051808303816000875af11580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190615ad6565b9050610d628782611a2f565b505050505050565b60408051608081018252600080825260208201819052918101829052606081019190915260006116458360200151611ac4565b9050611672828261166b84600001516fffffffffffffffffffffffffffffffff16611b99565b8787611eec565b60208084015160009081526201000f82526040908190208351928401516fffffffffffffffffffffffffffffffff9384167001000000000000000000000000000000009185168202178255918401516001909101805460608601516080870151939095167fffffffffffffffff0000000000000000000000000000000000000000000000009091161767ffffffffffffffff9485169093029290921777ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000093909116929092029190911790555b5092915050565b73ffffffffffffffffffffffffffffffffffffffff851661178957611784878786600185161515612076565b61179b565b61179b878786886001861615156120b2565b610d62878784866002861615156120b2565b60007fb7268d49bb01bc5e690da8069036b0caa17476a23af017f9840ccc0fc5ca01b7826000015183602001518051906020012084604001518051906020012085606001518051906020012060405160200161182f95949392919094855261ffff93909316602085015260408401919091526060830152608082015260a00190565b604051602081830303815290604052805190602001209050919050565b6040805173ffffffffffffffffffffffffffffffffffffffff84166020820152908101829052600090606001610ed4565b60408051610140810182526000606082018181526080830182905260a0830182905260c0830182905260e0830182905261010083018290526101208301829052825260208201819052918101829052906118d88585856120e2565b600081815260208881526040808320815160e081018352905460ff808216835261ffff6101008304811695840195909552630100000082048116938301939093526401000000008104909316606082015266010000000000008304821660808201526701000000000000008304821660a0820152680100000000000000009092041660c0820181905292935091611970908690612155565b60408051606081018252938452602084019490945273ffffffffffffffffffffffffffffffffffffffff16928201929092529150505b949350505050565b805151600090600160ff9091161115611a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f495053000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b50515160ff1660011490565b600161ffff8216611a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5a0000000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b611aa68183615af3565b83516020018051611ab8908390615af3565b61ffff16905250505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525060008181526201000f6020908152604091829020825160a08101845281546fffffffffffffffffffffffffffffffff808216808452700100000000000000000000000000000000928390048216958401959095526001909301549283169482019490945292810467ffffffffffffffff90811660608501527801000000000000000000000000000000000000000000000000909104166080830152611b9457600080fd5b919050565b6000620100026fffffffffffffffffffffffffffffffff831610801590611be157506f0ffff5433e2b3d8211706e6102aa94726fffffffffffffffffffffffffffffffff8316105b611bea57600080fd5b77ffffffffffffffffffffffffffffffff0000000000000000604083901b166fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110611c9457607f810383901c9150611c9e565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14611edd57886fffffffffffffffffffffffffffffffff16611eb982612178565b6fffffffffffffffffffffffffffffffff161115611ed75781611edf565b80611edf565b815b9998505050505050505050565b8151611f275781608001516fffffffffffffffffffffffffffffffff1684600001516fffffffffffffffffffffffffffffffff161015611f58565b81608001516fffffffffffffffffffffffffffffffff1684600001516fffffffffffffffffffffffffffffffff1611155b611fbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f534400000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b60015b801561160a57600080611fdd84602001518660000151886124ea565b85519193509150611ff49088908a90889086612530565b611ffe87866125d0565b9250821561206f5780156120555760006120218560200151848860000151612669565b92839150600282810b91900b1480612052578551612045908a908c908a9088612530565b61204f89886125d0565b94505b50505b821561206f5761206c8883898888602001516126cb565b95505b5050611fc1565b6000612080612764565b905082600f0b6000146120a15761209c85858560008587612839565b6120ab565b6120ab848261287a565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff82166120d257600080fd5b600061160a868686868587612839565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061211c57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff80871660208301528516918101919091526060810183905260800161127a565b6000600182811681148061216a576000611000565b606085901c95945050505050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d892600283900b128015906121b55750620cb14a600283900b13155b6121be57600080fd5b6000808360020b126121d3578260020b6121db565b8260020b6000035b905060008160011660000361220157700100000000000000000000000000000000612213565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612247576ffff97272373d413259a46990580e213a0260801c5b6004821615612266576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612285576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156122a4576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156122c3576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156122e2576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612301576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612321576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612341576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612361576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612381576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156123a1576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156123c1576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156123e1576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612401576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612422576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615612442576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615612461576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561247e576b048a170391f7dc42444e8fa20260801c5b60008460020b13156124bd57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff816124b9576124b96158d0565b0490505b680100000000000000008106156124d55760016124d8565b60005b60ff16604082901c0192505050919050565b60008060006124f986856128b2565b9050600061250b600286900b876128d8565b9050600285900b60081d61252187838386612914565b90999098509650505050505050565b60006125458285608001518660000151612963565b90506000806000612561898860600151888a60200151886129de565b60208a0151929550909350915061257c908990858585612a2a565b61259589886020015189600001518a6060015188612a95565b6fffffffffffffffffffffffffffffffff1660608a0152602089015191945092506125c590899085856000612a2a565b505050505050505050565b60008082600001516126105782608001516fffffffffffffffffffffffffffffffff1684600001516fffffffffffffffffffffffffffffffff1611612640565b82608001516fffffffffffffffffffffffffffffffff1684600001516fffffffffffffffffffffffffffffffff16105b90508080156119a657505050606001516fffffffffffffffffffffffffffffffff161515919050565b60008060006126788585612b17565b9150915060008061268b88858589612b59565b915091508061269f575092506105d0915050565b6126ab88858589612bc8565b9092509050806126c0575092506105d0915050565b610f83888588612c45565b60006126d685612c65565b6126e1575083611000565b6126f18486856000015185612ca4565b60008060006127198660200151876000015188606001518a612d30909392919063ffffffff16565b9194509250905061272b898484612e0b565b6060860180518290036fffffffffffffffffffffffffffffffff16905285516127575760018803611edf565b5095979650505050505050565b600080547501000000000000000000000000000000000000000000900460ff16156127eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f445300000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b6127f434612e42565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055919050565b6000600f85900b1315612858576128538685858585612e61565b61160a565b6000600f85900b121561160a5761160a8561287286615a75565b858585612e94565b6fffffffffffffffffffffffffffffffff8116156128ae576128ae82826fffffffffffffffffffffffffffffffff16612ebc565b5050565b6000806128bf8484612f86565b6000908152620100076020526040902054949350505050565b6000806128e484612fd1565b90506000836128f45760006128f7565b60015b60ff169050806129078386612fdf565b60ff160195945050505050565b600080808061292485888a612ff6565b91509150612933888287613035565b92508261294c57600886901b60020b60ff831601612956565b6129568887613068565b9350505094509492505050565b6000806129718585856130cf565b9050620100026fffffffffffffffffffffffffffffffff8216101561299c57620100029150506105d0565b6f0ffff5433e2b3d8211706e6102aa94726fffffffffffffffffffffffffffffffff8216106119a657506f0ffff5433e2b3d8211706e6102aa947190506105d0565b60008060008060006129fc8a8a8a602001518b604001518b8b6131b2565b9092509050612a0c8a8389613202565b612a17828289613275565b9450945094505050955095509592505050565b612a35858484612e0b565b8315612a67578085606001818151612a4d9190615957565b6fffffffffffffffffffffffffffffffff169052506120ab565b8085604001818151612a799190615957565b6fffffffffffffffffffffffffffffffff169052505050505050565b6000808080612aa689878a886132cd565b90506fffffffffffffffffffffffffffffffff808716908216108015612aea57612ad38a878b8b8b613318565b91965094509250612ae58a8488613366565b612b0a565b612af78a838b8b8b6133f5565b91965094509250612b0a8a848a8961342f565b5050955095509592505050565b600080600083612b3157612b2c600186615b0e565b612b33565b845b9050612b418160020b6134f4565b9250612b4f8160020b61350b565b9150509250929050565b6000806000620100076000612b6f898989613527565b81526020810191909152604001600090812054915080612b90838288612ff6565b915091508015612baa576000600194509450505050612bbf565b612bb5888884613585565b6000945094505050505b94509492505050565b6000806000620100066000612bdd89896135ae565b81526020019081526020016000205490506000612bfa8686612fdf565b9050600080612c0d8460ff851689612ff6565b915091508015612c2857600060019550955050505050612bbf565b612c348a8a848a612b59565b955095505050505094509492505050565b600081612c5b57612c5684846135c2565b6119a6565b6119a6848461364e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000600283900b138015610e12575050627fffff60029190910b1290565b600080612cb78386868960800151613698565b60408801519193509150612cdd906fffffffffffffffffffffffffffffffff16836137d7565b6fffffffffffffffffffffffffffffffff166040870152801561160a576000612d0c8487878a60800151613844565b60408801519091506109bd906fffffffffffffffffffffffffffffffff16826137d7565b600080600080612d4a612d42896139ab565b8951896139d0565b9050806fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611612dd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f424400000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b8515612df657612dea888883613a44565b93509350935050612e01565b612dea888883613ae0565b9450945094915050565b8183600001818151612e1d9190615b4f565b600f0b905250602083018051829190612e37908390615b4f565b600f0b905250505050565b806fffffffffffffffffffffffffffffffff81168114611b9457600080fd5b8015612e88576000612e74868686613b8a565b9050612e8286828686613c69565b506120ab565b6120ab85858585613cb7565b8015612eb057612ea5858585613ce8565b61209c858484613d67565b6120ab85858585613d8c565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612f16576040519150601f19603f3d011682016040523d82523d6000602084013e612f1b565b606091505b505090508061123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544600000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b600080600283900b60081d90508381604051602001612fb292919091825260f01b602082015260220190565b6040516020818303038152906040528051906020012091505092915050565b6000610e1261010083615b9d565b600081612fef578260ff036105d0565b5090919050565b600080613004858585613dcf565b94505083158061302d57826130215761301c85613df3565b61302a565b61302a85613ea0565b91505b935093915050565b600083156130445750816105d0565b60006130508382614083565b90508061305d5783611000565b600095945050505050565b600082156130c257613079836140b7565b60010b8260010b146130b2576130ad613093836001615bbf565b61309d85156140ed565b60ff1660089190911b60020b0190565b6130bb565b6130bb83614103565b9050610e12565b600882901b60020b6130bb565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d892600285900b13158061310b5750620cb14a600285900b12155b156131175750816105d0565b811561316a57600160008161312b87612178565b039050846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161061315f5784613161565b805b925050506105d0565b600061317585612178565b9050836fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16116131a857836131aa565b805b9150506105d0565b600080806131c28989878761413a565b9050610100620f42406fffffffffffffffffffffffffffffffff831661ffff8a16020460ff8816810291909104908190039a909950975050505050505050565b600061320d846139ab565b9050806fffffffffffffffffffffffffffffffff1660000361322f5750505050565b8351821590600090613244908490878561417c565b9050600061325884886000015184866141cc565b905067ffffffffffffffff811615610d6257610d628782856141e6565b6000808085850184156132a45761329d816fffffffffffffffffffffffffffffffff166142ca565b92506132c2565b6132bf816fffffffffffffffffffffffffffffffff166142ca565b93505b509195909450915050565b6000806132db8685856142fa565b9050846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161161330e5780610719565b5092949350505050565b600080600080600061332b8a8a8a614330565b9150915060008061333e84848c8c6143b0565b915091506133518c8b8b8b8f87876143e7565b96509650965050505050955095509592505050565b82516fffffffffffffffffffffffffffffffff90811681831614908316151581801561338f5750805b6120ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f525000000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b60008060008060006134098a8a8a8a61447f565b9150915060008061341c8b858c8c6144f9565b915091506133518c8b8b8b8787876143e7565b6000826134545784516fffffffffffffffffffffffffffffffff80841691161161346e565b84516fffffffffffffffffffffffffffffffff8084169116105b90506fffffffffffffffffffffffffffffffff84161581801561348e5750805b61160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f524600000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b6000610e126135068360020b60101d90565b614518565b600061010061351d8360020b60081d90565b610e129190615bff565b60008061354461353685614538565b60081b60010b60ff85160190565b9050848160405160200161356592919091825260f01b602082015260220190565b604051602081830303815290604052805190602001209150509392505050565b60006119a661359385614538565b60101b60020b61ff00600886901b1660030b0160ff84160190565b60006105d0836135bd84614538565b614577565b600060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83015b60ff8160ff161015613643576000806136068784866000612bc8565b915091508061361a57509250610e12915050565b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016135ea565b506119a66000614103565b600080600183015b60ff81161561368d5760008061366f8784866001612bc8565b915091508061368357509250610e12915050565b5050600101613656565b506119a66001614103565b60008060006136a78787614598565b80549091506000906136da906bffffffffffffffffffffffff808216916c010000000000000000000000009004166145eb565b9050856136ef576136ea81615a75565b6136f1565b805b825490945067ffffffffffffffff868116780100000000000000000000000000000000000000000000000090920416146137a1578154613757907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1686615c21565b825467ffffffffffffffff9190911678010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff9091161782555b856137b257815460011615156137ca565b81546c01000000000000000000000000900460011615155b9250505094509492505050565b60008082600f0b121561380e57508082016fffffffffffffffffffffffffffffffff8084169082161061380957600080fd5b610e12565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff161015610e1257600080fd5b610dad5460009073ffffffffffffffffffffffffffffffffffffffff1661386a57600080fd5b6000806001610dac015460405160248101899052600288900b6044820152861515606482015267ffffffffffffffff8616608482015273ffffffffffffffffffffffffffffffffffffffff9091169060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3c05c621000000000000000000000000000000000000000000000000000000001790525161393d9190615804565b600060405180830381855af49150503d8060008114613978576040519150601f19603f3d011682016040523d82523d6000602084013e61397d565b606091505b50915091508161398c57600080fd5b808060200190518101906139a09190615c42565b979650505050505050565b6000806139c083602001518460600151614607565b90506105d081846040015161465c565b600081156139f05750600167ffffffffffffffff604085901c16016105d0565b60006139ff8560018603614681565b90506000613a0d8686614681565b9050808203600177ffffffffffffffffffffffffffffffffffffffffffffffff821601613a3981612e42565b9450505050506105d0565b600080600060016f0ffff5433e2b3d8211706e6102aa9472036fffffffffffffffffffffffffffffffff1686600001516fffffffffffffffffffffffffffffffff161015613aa65785516001016fffffffffffffffffffffffffffffffff1686525b60009150613ac5846fffffffffffffffffffffffffffffffff166142ca565b925084613ad3576000613ad5565b835b905093509350939050565b6000806000620100026fffffffffffffffffffffffffffffffff1686600001516fffffffffffffffffffffffffffffffff161115613b515785517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016fffffffffffffffffffffffffffffffff1686525b60009250613b70846fffffffffffffffffffffffffffffffff166142ca565b915084613b7d5783613ad5565b6000905093509350939050565b600080613b978584610ea3565b600081815262010010602052604090208054919250906fffffffffffffffffffffffffffffffff908116908616811115613c2c57815486908390600090613bf19084906fffffffffffffffffffffffffffffffff1661592e565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550613c5f565b81547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168255613c5c818761592e565b93505b5050509392505050565b6fffffffffffffffffffffffffffffffff831615613c9257613c8d84848484613cb7565b610bd2565b73ffffffffffffffffffffffffffffffffffffffff8216610bd257610bd2848261287a565b73ffffffffffffffffffffffffffffffffffffffff8216613cdd57613c8d8484836146ca565b610bd2848484614770565b6000613cf48483610ea3565b6000818152620100106020526040812080549293508592909190613d2b9084906fffffffffffffffffffffffffffffffff16615957565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050505050565b73ffffffffffffffffffffffffffffffffffffffff821661123a5761123a838261287a565b73ffffffffffffffffffffffffffffffffffffffff8216613db257613c8d84848361478e565b610bd28285856fffffffffffffffffffffffffffffffff166147b3565b600081613de55761ffff831684811b901c6119a6565b505061ffff1690811c901b90565b6000808211613e0157600080fd5b7001000000000000000000000000000000008210613e2157608091821c91015b680100000000000000008210613e3957604091821c91015b6401000000008210613e4d57602091821c91015b620100008210613e5f57601091821c91015b6101008210613e7057600891821c91015b60108210613e8057600491821c91015b60048210613e9057600291821c91015b60028210611b9457600101919050565b6000808211613eae57600080fd5b5060ff6fffffffffffffffffffffffffffffffff821615613ef0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8001613ef8565b608082901c91505b67ffffffffffffffff821615613f2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001613f37565b604082901c91505b63ffffffff821615613f6a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001613f72565b602082901c91505b61ffff821615613fa3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001613fab565b601082901c91505b60ff821615613fdb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff801613fe3565b600882901c91505b600f821615614013577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161401b565b600482901c91505b600382161561404b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01614053565b600282901c91505b6001821615611b94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919050565b6000806000614097858560ff166001612ff6565b915060ff1691508015801561100057508360ff1682149250505092915050565b6000816140e4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000610e12565b617fff92915050565b6000816140fb576000610e12565b60ff92915050565b600081614130577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000610e12565b627fffff92915050565b83516000906fffffffffffffffffffffffffffffffff9081169083161181614164878787876132cd565b90506139a0614172886139ab565b885183858961491c565b60008061418a8686856139d0565b9050806fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff1611156141c057808403610719565b50600095945050505050565b6000806141da868685614a35565b90506107198185614a88565b82516141f3908383614b1a565b6fffffffffffffffffffffffffffffffff16835260608301516142209067ffffffffffffffff1683614b94565b67ffffffffffffffff908116606085018190526000916142439190851690614bf7565b9050600061428c6142738387604001516fffffffffffffffffffffffffffffffff16614c3f90919063ffffffff16565b71ffffffffffffffffffffffffffffffffffff16612e42565b90506142988282614c65565b856080018181516142a99190615c65565b67ffffffffffffffff16905250602085018051829190612a79908390615957565b60006f80000000000000000000000000000000826fffffffffffffffffffffffffffffffff1610610e9f57600080fd5b600080614306856139ab565b9050836143215761431c81866000015185614cd8565b611000565b61100081866000015185614d23565b600080600061433e866139ab565b8651909150600090614364906fffffffffffffffffffffffffffffffff84169088614d23565b875190915060009061438a906fffffffffffffffffffffffffffffffff85169089614cd8565b9050851561439e57909350915082826143a5565b9350915081835b505050935093915050565b6000806143bf86868686614d6b565b90925090506143cf600483615b4f565b91506143dc600482615b4f565b905094509492505050565b6000806000806143f8868b8b614e0e565b9050876fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161061442e576000915061443b565b614438818961592e565b91505b896144465784614448565b855b9350896144555785614457565b845b6fffffffffffffffffffffffffffffffff909716909a52919994985090965092945050505050565b600080600061448d876139ab565b90506144a0876000015182888888614e44565b915084156144cd5786516144c8906fffffffffffffffffffffffffffffffff83169084614cd8565b6144ed565b86516144ed906fffffffffffffffffffffffffffffffff83169084614d23565b92505094509492505050565b60008061450886868686614d6b565b90925090506143dc600482615b4f565b6000808260000b1215614531578160000b608001610e12565b5060800190565b600060808260ff161061454e5760808203610e12565b5060ff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800190565b60008282604051602001610ed492919091825260f81b602082015260210190565b600062010002600084846040516020016145bf92919091825260e81b602082015260230190565b604051602081830303815290604052805190602001208152602001908152602001600020905092915050565b60006145f682614ee0565b6145ff84614ee0565b039392505050565b600066010000000000006fffffffffffffffffffffffffffffffff80851667ffffffffffffffff851683010290603082901c90811115611000576fffffffffffffffffffffffffffffffff9350505050610e12565b8082016fffffffffffffffffffffffffffffffff8084169082161015610e1257600080fd5b60006fffffffffffffffffffffffffffffffff821677ffffffffffffffffffffffffffffffff0000000000000000604085901b16816146c2576146c26158d0565b049392505050565b816fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015614758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f454300000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b6000614764838361592e565b9050610bd2848261287a565b61123a818430856fffffffffffffffffffffffffffffffff16614efc565b61123a8361479c8385615957565b6fffffffffffffffffffffffffffffffff16612ebc565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052915160009283929087169161484a9190615804565b6000604051808303816000865af19150503d8060008114614887576040519150601f19603f3d011682016040523d82523d6000602084013e61488c565b606091505b50915091508180156148b65750805115806148b65750808060200190518101906148b69190615c86565b6120ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544600000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b6000856fffffffffffffffffffffffffffffffff1660000361494057506000611000565b600061494e87878515614a35565b6fffffffffffffffffffffffffffffffff169050600061496f888886614a35565b6fffffffffffffffffffffffffffffffff1690506000841515861515146149aa57866fffffffffffffffffffffffffffffffff1682036149c0565b866fffffffffffffffffffffffffffffffff1682015b9050806000036149e5576fffffffffffffffffffffffffffffffff9350505050611000565b6000816fffffffffffffffffffffffffffffffff8b16800281614a0a57614a0a6158d0565b049050614a27848211614a1f57818503612e42565b848203612e42565b9a9950505050505050505050565b60006119a682614a6857614a498585614681565b77ffffffffffffffffffffffffffffffffffffffffffffffff16612e42565b6fffffffffffffffffffffffffffffffff8086169085160260401c614a49565b60006fffffffffffffffffffffffffffffffff83161580614acc5750826fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff16115b15614ad957506000610e12565b6000614ae58385615957565b90506000614b056fffffffffffffffffffffffffffffffff83168661506d565b90506110008167ffffffffffffffff16615136565b6000660100000000000067ffffffffffffffff841681018315614b5d576fffffffffffffffffffffffffffffffff86168102603081901c613a3960018201612e42565b75ffffffffffffffffffffffffffffffff000000000000603087901b16818181614b8957614b896158d0565b0493505050506105d0565b6000660100000000000067ffffffffffffffff848116820181851683010290603082901c907fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000082019081106107195767ffffffffffffffff945050505050610e12565b6000660100000000000067ffffffffffffffff831681016dffffffffffffffff000000000000603086901b1683828281614c3357614c336158d0565b04979650505050505050565b67ffffffffffffffff166fffffffffffffffffffffffffffffffff919091160260301c90565b6000816fffffffffffffffffffffffffffffffff16600003614c8957506000610e12565b614c94826001615957565b6fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff168467ffffffffffffffff16614cce9190615ca3565b6105d09190615cba565b6000826fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115614d1857614d1184838561517a565b90506105d0565b614d1184848461517a565b600080826fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff1611614d5957838303614d5d565b8284035b905061100085826001614a35565b60008082151584151503614dc257614d94866fffffffffffffffffffffffffffffffff166142ca565b614daf866fffffffffffffffffffffffffffffffff166142ca565b614db890615a75565b9092509050612bbf565b614ddd866fffffffffffffffffffffffffffffffff166142ca565b614de690615a75565b614e01866fffffffffffffffffffffffffffffffff166142ca565b9097909650945050505050565b60008082151584151514614e2a57614e2585615a75565b614e2c565b845b9050600081600f0b12156119a65760009150506105d0565b60008083614e5d57614e58878787866151f9565b614e69565b614e6987878786615260565b90506f0ffff5433e2b3d8211706e6102aa94726fffffffffffffffffffffffffffffffff821610614eb757614eaf60016f0ffff5433e2b3d8211706e6102aa947261592e565b915050611000565b620100026fffffffffffffffffffffffffffffffff821610156107195762010002915050611000565b6000600a82901b6d03fffffffffffffffffffffff80016610e12565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790529151600092839290881691614f9b9190615804565b6000604051808303816000865af19150503d8060008114614fd8576040519150601f19603f3d011682016040523d82523d6000602084013e614fdd565b606091505b50915091508180156150075750805115806150075750808060200190518101906150079190615c86565b61160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544600000000000000000000000000000000000000000000000000000000000060448201526064016110c5565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff84161080156150ce5750816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff1610155b6150d757600080fd5b660100000000000075ffffffffffffffffffffffffffffffff000000000000603085901b166000826fffffffffffffffffffffffffffffffff86168381615120576151206158d0565b0403905082811061100057829350505050610e12565b600066010000000000008267ffffffffffffffff161061515557600080fd5b5067ffffffffffffffff8116800260331c60019190911c677fffffffffffffff160390565b600080615187838561592e565b905060006151958685614681565b77ffffffffffffffffffffffffffffffffffffffffffffffff1690506000856fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16836151e49190615ca3565b6151ee9190615cba565b9050613c5c81612e42565b60008061520586615351565b905060006152168287878715615260565b9050806fffffffffffffffffffffffffffffffff1660000361524c576f0ffff5433e2b3d8211706e6102aa9472925050506119a6565b61525581615351565b6139a0906001615957565b6000836fffffffffffffffffffffffffffffffff1660000361529357506fffffffffffffffffffffffffffffffff6119a6565b600061529f8486614681565b90506fffffffffffffffffffffffffffffffff77ffffffffffffffffffffffffffffffffffffffffffffffff821611156152ec576fffffffffffffffffffffffffffffffff9150506119a6565b808315615306576152fd8188615957565b925050506119a6565b866fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161061533c576000925050506119a6565b615347816001615957565b6152fd908861592e565b6000816fffffffffffffffffffffffffffffffff1670010000000000000000000000000000000081615385576153856158d0565b0492915050565b60006020828403121561539e57600080fd5b5035919050565b61ffff81168114610df057600080fd5b60008083601f8401126153c757600080fd5b50813567ffffffffffffffff8111156153df57600080fd5b6020830191508360208285010111156153f757600080fd5b9250929050565b600080600080600080600080600060a08a8c03121561541c57600080fd5b8935615427816153a5565b985060208a013567ffffffffffffffff8082111561544457600080fd5b6154508d838e016153b5565b909a50985060408c013591508082111561546957600080fd5b6154758d838e016153b5565b909850965060608c013591508082111561548e57600080fd5b61549a8d838e016153b5565b909650945060808c01359150808211156154b357600080fd5b506154c08c828d016153b5565b915080935050809150509295985092959850929598565b60005b838110156154f25781810151838201526020016154da565b50506000910152565b602081526000825180602084015261551a8160408501602087016154d7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b8015158114610df057600080fd5b6000806000806060858703121561557057600080fd5b843561557b816153a5565b9350602085013567ffffffffffffffff81111561559757600080fd5b6155a3878288016153b5565b90945092505060408501356155b78161554c565b939692955090935050565b73ffffffffffffffffffffffffffffffffffffffff81168114610df057600080fd5b6fffffffffffffffffffffffffffffffff81168114610df057600080fd5b803560ff81168114611b9457600080fd5b6000806000806000806000806000806101408b8d03121561563357600080fd5b8a3561563e816155c2565b995060208b013561564e816155c2565b985060408b0135975060608b01356156658161554c565b965060808b01356156758161554c565b955060a08b0135615685816155e4565b945060c08b0135615695816153a5565b935060e08b01356156a5816155e4565b92506101008b01356156b6816155e4565b91506156c56101208c01615602565b90509295989b9194979a5092959850565b600080600080606085870312156156ec57600080fd5b84356156f7816153a5565b9350602085013567ffffffffffffffff81111561571357600080fd5b61571f878288016153b5565b90945092505060408501356155b7816155c2565b60008060006040848603121561574857600080fd5b8335615753816153a5565b9250602084013567ffffffffffffffff81111561576f57600080fd5b61577b868287016153b5565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600082516158168184602087016154d7565b9190910192915050565b60008060006060848603121561583557600080fd5b8351615840816155c2565b6020850151909350615851816155e4565b6040850151909250615862816155c2565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6fffffffffffffffffffffffffffffffff8181168382160280821691908281146158c8576158c861586d565b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006fffffffffffffffffffffffffffffffff80841680615922576159226158d0565b92169190910492915050565b6fffffffffffffffffffffffffffffffff8281168282160390808211156117515761175161586d565b6fffffffffffffffffffffffffffffffff8181168382160190808211156117515761175161586d565b600063ffffffff8216806159965761599661586d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b6000806000606084860312156159d357600080fd5b6159dc84615602565b95602085013595506040909401359392505050565b805165ffffffffffff81168114611b9457600080fd5b600080600080600060a08688031215615a1f57600080fd5b615a28866159f1565b9450615a36602087016159f1565b935060408601519250606086015163ffffffff81168114615a5657600080fd5b6080870151909250615a67816155c2565b809150509295509295909350565b600081600f0b7fffffffffffffffffffffffffffffffff800000000000000000000000000000008103615aaa57615aaa61586d565b60000392915050565b600063ffffffff808316818103615acc57615acc61586d565b6001019392505050565b600060208284031215615ae857600080fd5b81516105d0816153a5565b61ffff8281168282160390808211156117515761175161586d565b600282810b9082900b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008112627fffff82131715610e1257610e1261586d565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff8000000000000000000000000000000082121715610e1257610e1261586d565b60008260020b80615bb057615bb06158d0565b808360020b0791505092915050565b600181810b9083900b01617fff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800082121715610e1257610e1261586d565b60008260010b80615c1257615c126158d0565b808360010b0791505092915050565b67ffffffffffffffff8281168282160390808211156117515761175161586d565b600060208284031215615c5457600080fd5b815180600f0b81146105d057600080fd5b67ffffffffffffffff8181168382160190808211156117515761175161586d565b600060208284031215615c9857600080fd5b81516105d08161554c565b8082028115828204841417610e1257610e1261586d565b600082615cc957615cc96158d0565b50049056fea2646970667358221220ea4b6ad6ef5be3c766c5859895907b10386df697bd34535e3db911270e62e08d64736f6c63430008130033