//
0x60806040523480156200001157600080fd5b50604051620034aa380380620034aa8339810160408190526200003491620001c4565b3383836000620000458382620002e6565b506001620000548282620002e6565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000aa565b50600b620000a08282620002e6565b50505050620003b2565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200012457600080fd5b81516001600160401b0380821115620001415762000141620000fc565b604051601f8301601f19908116603f011681019082821181831017156200016c576200016c620000fc565b81604052838152602092508660208588010111156200018a57600080fd5b600091505b83821015620001ae57858201830151818301840152908201906200018f565b6000602085830101528094505050505092915050565b600080600060608486031215620001da57600080fd5b83516001600160401b0380821115620001f257600080fd5b620002008783880162000112565b945060208601519150808211156200021757600080fd5b620002258783880162000112565b935060408601519150808211156200023c57600080fd5b506200024b8682870162000112565b9150509250925092565b600181811c908216806200026a57607f821691505b6020821081036200028b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e1576000816000526020600020601f850160051c81016020861015620002bc5750805b601f850160051c820191505b81811015620002dd57828155600101620002c8565b5050505b505050565b81516001600160401b03811115620003025762000302620000fc565b6200031a8162000313845462000255565b8462000291565b602080601f831160018114620003525760008415620003395750858301515b600019600386901b1c1916600185901b178555620002dd565b600085815260208120601f198616915b82811015620003835788860151825594840194600190910190840162000362565b5085821015620003a25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6130e880620003c26000396000f3fe6080604052600436106102385760003560e01c8063570ca735116101385780639386e197116100b0578063b88d4fde1161007f578063e985e9c511610064578063e985e9c514610677578063f2fde38b146106cd578063f4a0a528146106ed57600080fd5b8063b88d4fde14610637578063c87b56dd1461065757600080fd5b80639386e197146105c257806395d89b41146105e2578063a22cb465146105f7578063b3ab15fb1461061757600080fd5b80636817c76c1161010757806370a08231116100ec57806370a0823114610562578063715018a6146105825780638da5cb5b1461059757600080fd5b80636817c76c146105375780636c0360eb1461054d57600080fd5b8063570ca7351461049d5780635e35359e146104ca5780635ecf8a80146104ea5780636352211e1461051757600080fd5b806318160ddd116101cb578063418e428b1161019a5780634f6ccce71161017f5780634f6ccce71461043d57806353d6fd591461045d57806355f804b31461047d57600080fd5b8063418e428b146103fd57806342842e0e1461041d57600080fd5b806318160ddd1461038857806323b872dd1461039d5780632f745c59146103bd57806340c10f19146103dd57600080fd5b8063095ea7b311610207578063095ea7b3146103105780631249c58b1461033257806313144a3f14610348578063140370681461036857600080fd5b806301ffc9a71461024457806306c933d81461027957806306fdde03146102a9578063081812fc146102cb57600080fd5b3661023f57005b600080fd5b34801561025057600080fd5b5061026461025f3660046128c3565b61070d565b60405190151581526020015b60405180910390f35b34801561028557600080fd5b50610264610294366004612909565b600d6020526000908152604090205460ff1681565b3480156102b557600080fd5b506102be610769565b6040516102709190612992565b3480156102d757600080fd5b506102eb6102e63660046129a5565b6107fb565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610270565b34801561031c57600080fd5b5061033061032b3660046129be565b610831565b005b61033a610840565b604051908152602001610270565b34801561035457600080fd5b50610330610363366004612a34565b610975565b34801561037457600080fd5b5061033a610383366004612909565b610bfe565b34801561039457600080fd5b5060085461033a565b3480156103a957600080fd5b506103306103b8366004612aa0565b610c80565b3480156103c957600080fd5b5061033a6103d83660046129be565b610d71565b3480156103e957600080fd5b506103306103f83660046129be565b610e09565b34801561040957600080fd5b50610330610418366004612a34565b610ea2565b34801561042957600080fd5b50610330610438366004612aa0565b611124565b34801561044957600080fd5b5061033a6104583660046129a5565b61113f565b34801561046957600080fd5b50610330610478366004612adc565b6111b1565b34801561048957600080fd5b50610330610498366004612bdb565b611243565b3480156104a957600080fd5b50600c546102eb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d657600080fd5b506103306104e5366004612aa0565b611257565b3480156104f657600080fd5b5061033a610505366004612909565b600e6020526000908152604090205481565b34801561052357600080fd5b506102eb6105323660046129a5565b61135b565b34801561054357600080fd5b5061033a600f5481565b34801561055957600080fd5b506102be611366565b34801561056e57600080fd5b5061033a61057d366004612909565b6113f4565b34801561058e57600080fd5b5061033061146f565b3480156105a357600080fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff166102eb565b3480156105ce57600080fd5b506103306105dd366004612c24565b611483565b3480156105ee57600080fd5b506102be61167e565b34801561060357600080fd5b50610330610612366004612adc565b61168d565b34801561062357600080fd5b50610330610632366004612909565b611698565b34801561064357600080fd5b50610330610652366004612c99565b6116e7565b34801561066357600080fd5b506102be6106723660046129a5565b6116ff565b34801561068357600080fd5b50610264610692366004612d15565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156106d957600080fd5b506103306106e8366004612909565b611767565b3480156106f957600080fd5b506103306107083660046129a5565b6117cb565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d6300000000000000000000000000000000000000000000000000000000148061076357506107638261180e565b92915050565b60606000805461077890612d48565b80601f01602080910402602001604051908101604052809291908181526020018280546107a490612d48565b80156107f15780601f106107c6576101008083540402835291602001916107f1565b820191906000526020600020905b8154815290600101906020018083116107d457829003601f168201915b5050505050905090565b6000610806826118f1565b5060008281526004602052604090205473ffffffffffffffffffffffffffffffffffffffff16610763565b61083c828233611950565b5050565b336000908152600e6020526040812054156108c057336000908152600e6020526040812080549161087083612dca565b919050555061087e3361195d565b604080518281526000602082015291925033917fdb46291eeab68fcfa6a0570a911e537b015a3d512c427d17f9343e4edbf1838f91015b60405180910390a290565b600f54341015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e74207061796d656e7400000000000000000000000060448201526064015b60405180910390fd5b61093a3361195d565b604080518281526001602082015291925033917fdb46291eeab68fcfa6a0570a911e537b015a3d512c427d17f9343e4edbf1838f91016108b5565b600a5473ffffffffffffffffffffffffffffffffffffffff1633148015906109b55750600c5473ffffffffffffffffffffffffffffffffffffffff163314155b156109ec576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828114610a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f417272617973206c656e677468206d69736d61746368000000000000000000006044820152606401610928565b60005b83811015610bf757828282818110610a7257610a72612dff565b90506020020135600e6000878785818110610a8f57610a8f612dff565b9050602002016020810190610aa49190612909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610aed9190612e2e565b909155508590508482818110610b0557610b05612dff565b9050602002016020810190610b1a9190612909565b73ffffffffffffffffffffffffffffffffffffffff167fa39184f0c426a3708f23e744ce0fabbc127cb46c8cfaa4b403dc576bc441f044848484818110610b6357610b63612dff565b90506020020135600e6000898987818110610b8057610b80612dff565b9050602002016020810190610b959190612909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610be7929190918252602082015260400190565b60405180910390a2600101610a58565b5050505050565b336000908152600d602052604081205460ff16610c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f7420616c6c6f7765640000000000000000000000000000000000000000006044820152606401610928565b6107638261195d565b73ffffffffffffffffffffffffffffffffffffffff8216610cd0576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610928565b6000610cdd838333611987565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d6b576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80861660048301526024820184905282166044820152606401610928565b50505050565b6000610d7c836113f4565b8210610dd3576040517fa57d13dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610928565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152600660209081526040808320938352929052205490565b600a5473ffffffffffffffffffffffffffffffffffffffff163314801590610e495750600c5473ffffffffffffffffffffffffffffffffffffffff163314155b15610e80576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610e9d57610e948361195d565b50600101610e83565b505050565b600a5473ffffffffffffffffffffffffffffffffffffffff163314801590610ee25750600c5473ffffffffffffffffffffffffffffffffffffffff163314155b15610f19576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828114610f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f417272617973206c656e677468206d69736d61746368000000000000000000006044820152606401610928565b60005b83811015610bf757828282818110610f9f57610f9f612dff565b90506020020135600e6000878785818110610fbc57610fbc612dff565b9050602002016020810190610fd19190612909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461101a9190612e41565b90915550859050848281811061103257611032612dff565b90506020020160208101906110479190612909565b73ffffffffffffffffffffffffffffffffffffffff167fc86bbf10ed5187e25b5a63b8d74c63f64c28555b5ab75365ce627b3cbc50767f84848481811061109057611090612dff565b90506020020135600e60008989878181106110ad576110ad612dff565b90506020020160208101906110c29190612909565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611114929190918252602082015260400190565b60405180910390a2600101610f85565b610e9d838383604051806020016040528060008152506116e7565b600061114a60085490565b821061118c576040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526000600482015260248101839052604401610928565b6008828154811061119f5761119f612dff565b90600052602060002001549050919050565b6111b9611aaa565b73ffffffffffffffffffffffffffffffffffffffff82166000818152600d602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527ff93f9a76c1bf3444d22400a00cb9fe990e6abe9dbb333fda48859cfee864543d910160405180910390a25050565b61124b611aaa565b600b61083c8282612e9c565b61125f611aaa565b73ffffffffffffffffffffffffffffffffffffffff83166112f357804710156112e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610928565b6112ee8282611afd565b6112fe565b6112fe838383611b72565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f6337ed398c0e8467698c581374fdce4db14922df487b5a39483079f5f59b60a49060600160405180910390a1505050565b6000610763826118f1565b600b805461137390612d48565b80601f016020809104026020016040519081016040528092919081815260200182805461139f90612d48565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600073ffffffffffffffffffffffffffffffffffffffff8216611446576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610928565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b611477611aaa565b6114816000611c41565b565b600a5473ffffffffffffffffffffffffffffffffffffffff1633148015906114c35750600c5473ffffffffffffffffffffffffffffffffffffffff163314155b156114fa576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82811015610d6b57600084848381811061151a5761151a612dff565b6115309260206040909202019081019150612909565b9050600085858481811061154657611546612dff565b905060400201602001359050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c6964206f776e6572000000000000000000000000000000000000006044820152606401610928565b60008111611652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964207175616e74697479000000000000000000000000000000006044820152606401610928565b600093505b80841015611674576116688261195d565b50600190930192611657565b50506001016114fe565b60606001805461077890612d48565b61083c338383611cb8565b6116a0611aaa565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6116f2848484610c80565b610d6b3385858585611db5565b606061170a826118f1565b506000611715611fad565b905060008151116117355760405180602001604052806000815250611760565b8061173f84611fbc565b604051602001611750929190612fb6565b6040516020818303038152906040525b9392505050565b61176f611aaa565b73ffffffffffffffffffffffffffffffffffffffff81166117bf576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610928565b6117c881611c41565b50565b6117d3611aaa565b600f8190556040518181527f525b762709cc2a983aec5ccdfd807a061f993c91090b5bcd7da92ca254976aaa9060200160405180910390a150565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806118a157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061076357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610763565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610763576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610928565b610e9d838383600161207a565b601080546000918261196e83612fe5565b919050555061197f82601054612245565b505060105490565b60008061199585858561225f565b905073ffffffffffffffffffffffffffffffffffffffff81166119ff576119fa84600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611a3c565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a3c57611a3c81856123dc565b73ffffffffffffffffffffffffffffffffffffffff8516611a6557611a608461246a565b611aa2565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611aa257611aa28585612519565b949350505050565b600a5473ffffffffffffffffffffffffffffffffffffffff163314611481576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610928565b600080600080600085875af1905080610e9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152606401610928565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610d6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152606401610928565b600a805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611d1d576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610928565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83163b15610bf7576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a0290611e2a90889088908790879060040161301d565b6020604051808303816000875af1925050508015611e83575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611e8091810190613066565b60015b611f12573d808015611eb1576040519150601f19603f3d011682016040523d82523d6000602084013e611eb6565b606091505b508051600003611f0a576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610928565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014611fa5576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610928565b505050505050565b6060600b805461077890612d48565b60606000611fc983612576565b600101905060008167ffffffffffffffff811115611fe957611fe9612b18565b6040519080825280601f01601f191660200182016040528015612013576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461201d57509392505050565b808061209b575073ffffffffffffffffffffffffffffffffffffffff821615155b156121f05760006120ab846118f1565b905073ffffffffffffffffffffffffffffffffffffffff8316158015906120fe57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561213d575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209387168352929052205460ff16155b1561218c576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610928565b81156121ee57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61083c828260405180602001604052806000815250612658565b60008281526002602052604081205473ffffffffffffffffffffffffffffffffffffffff9081169083161561229957612299818486612670565b73ffffffffffffffffffffffffffffffffffffffff81161561230f576122c360008560008061207a565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff8516156123585773ffffffffffffffffffffffffffffffffffffffff85166000908152600360205260409020805460010190555b60008481526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60006123e7836113f4565b60008381526007602090815260408083205473ffffffffffffffffffffffffffffffffffffffff8816845260069092529091209192509081831461244b57600083815260208281526040808320548584528184208190558352600790915290208290555b6000938452600760209081526040808620869055938552525081205550565b60085460009061247c90600190612e2e565b600083815260096020526040812054600880549394509092849081106124a4576124a4612dff565b9060005260206000200154905080600883815481106124c5576124c5612dff565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806124fd576124fd613083565b6001900381819060005260206000200160009055905550505050565b60006001612526846113f4565b6125309190612e2e565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125bf577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125eb576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061260957662386f26fc10000830492506010015b6305f5e1008310612621576305f5e100830492506008015b612710831061263557612710830492506004015b60648310612647576064830492506002015b600a83106107635760010192915050565b6126628383612720565b610e9d336000858585611db5565b61267b8383836127d1565b610e9d5773ffffffffffffffffffffffffffffffffffffffff83166126cf576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610928565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101829052604401610928565b73ffffffffffffffffffffffffffffffffffffffff8216612770576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610928565b600061277e83836000611987565b905073ffffffffffffffffffffffffffffffffffffffff811615610e9d576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610928565b600073ffffffffffffffffffffffffffffffffffffffff831615801590611aa257508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061285f575073ffffffffffffffffffffffffffffffffffffffff80851660009081526005602090815260408083209387168352929052205460ff165b80611aa257505060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff908116911614919050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146117c857600080fd5b6000602082840312156128d557600080fd5b813561176081612895565b803573ffffffffffffffffffffffffffffffffffffffff8116811461290457600080fd5b919050565b60006020828403121561291b57600080fd5b611760826128e0565b60005b8381101561293f578181015183820152602001612927565b50506000910152565b60008151808452612960816020860160208601612924565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117606020830184612948565b6000602082840312156129b757600080fd5b5035919050565b600080604083850312156129d157600080fd5b6129da836128e0565b946020939093013593505050565b60008083601f8401126129fa57600080fd5b50813567ffffffffffffffff811115612a1257600080fd5b6020830191508360208260051b8501011115612a2d57600080fd5b9250929050565b60008060008060408587031215612a4a57600080fd5b843567ffffffffffffffff80821115612a6257600080fd5b612a6e888389016129e8565b90965094506020870135915080821115612a8757600080fd5b50612a94878288016129e8565b95989497509550505050565b600080600060608486031215612ab557600080fd5b612abe846128e0565b9250612acc602085016128e0565b9150604084013590509250925092565b60008060408385031215612aef57600080fd5b612af8836128e0565b915060208301358015158114612b0d57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115612b6257612b62612b18565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612ba857612ba8612b18565b81604052809350858152868686011115612bc157600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215612bed57600080fd5b813567ffffffffffffffff811115612c0457600080fd5b8201601f81018413612c1557600080fd5b611aa284823560208401612b47565b60008060208385031215612c3757600080fd5b823567ffffffffffffffff80821115612c4f57600080fd5b818501915085601f830112612c6357600080fd5b813581811115612c7257600080fd5b8660208260061b8501011115612c8757600080fd5b60209290920196919550909350505050565b60008060008060808587031215612caf57600080fd5b612cb8856128e0565b9350612cc6602086016128e0565b925060408501359150606085013567ffffffffffffffff811115612ce957600080fd5b8501601f81018713612cfa57600080fd5b612d0987823560208401612b47565b91505092959194509250565b60008060408385031215612d2857600080fd5b612d31836128e0565b9150612d3f602084016128e0565b90509250929050565b600181811c90821680612d5c57607f821691505b602082108103612d95577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081612dd957612dd9612d9b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561076357610763612d9b565b8082018082111561076357610763612d9b565b601f821115610e9d576000816000526020600020601f850160051c81016020861015612e7d5750805b601f850160051c820191505b81811015611fa557828155600101612e89565b815167ffffffffffffffff811115612eb657612eb6612b18565b612eca81612ec48454612d48565b84612e54565b602080601f831160018114612f1d5760008415612ee75750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611fa5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612f6a57888601518255948401946001909101908401612f4b565b5085821015612fa657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008351612fc8818460208801612924565b835190830190612fdc818360208801612924565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361301657613016612d9b565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261305c6080830184612948565b9695505050505050565b60006020828403121561307857600080fd5b815161176081612895565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220009231ccb02574ab77534d90cf48f9008ffd7d382f4396eb61e3e649f942b26064736f6c63430008180033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000095850494e20644e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004644e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d68747470733a2f2f6170692e786e66742e696f2f6d657461646174612f000000