QGMgVGhpcyBmaWxlIGlzIHByb2Nlc3NlZCBieSBHTlUncyBUZVhpbmZvCkBjIElmIHlvdSBtb2RpZnkgaXQgb3IgbW92ZSBpdCB0byBhbm90aGVyIGxvY2F0aW9uLCBtYWtlIHN1cmUgdGhhdApAYyBUZVhpbmZvIHdvcmtzICh0eXBlIGBtYWtlJyBpbiBkaXJlY3RvcnkgZG9jdW1lbnRhdGlvbikuCgpAYyBUaGlzIGlzIGEgbGlzdCBvZiB0aGUgV2luZSBhdXRob3JzIGFuZCBjb3B5cmlnaHQgaG9sZGVycy4KCldpbmUgaXMgYXZhaWxhYmxlIHRoYW5rcyB0byB0aGUgd29yayBvZjoKSmFtZXMgQWJiYXRpZWxsbywKSG93YXJkIEFicmFtcywKTWFyayBHLiBBZGFtcywKQnJ1bm8gQWZvbnNvLApHdXkgQWxiZXJ0ZWxsaSwKR3VzdGF2byBKdW5pb3IgQWx2ZXMsCkJvYiBBbXN0YWR0LApEYWcgQXNoZWltLApKaW0gQXN0b24sCk1hcnRpbiBBeW90dGUsClZpa3RvciBCYWJyaWFuLApLYXJsIEJhY2tzdHL2bSwKQnJhZGxleSBCYWV0eiwKUGV0ZXIgQmFqdXN6LApBbmRyZSBNYWxhZmF5YSBCYXB0aXN0YSwKQWFyb24gQmFybmVzLApNYXJjZWwgQmF1ciwKRnJhbmNpcyBCZWF1ZGV0LApUb20gQmVjaCwKTWF0dGhldyBCZWNrZXIsCkdlb3JnIEJleWVybGUsClJvc3MgQmlybywKRGVubmlzIEJq9nJrbHVuZCwKWnlnbyBCbGF4ZWxsLApNYXJ0aW4gQm9laG1lLApGcmFuY29pcyBCb2lzdmVydCwKUGltIEJvbGxlbiwKVXdlIEJvbm5lcywKUGV0ZXIgQm9ydGFzLApOb2VsIEJvcnRod2ljaywKRXJpayBCb3MsCkZvbnMgQm90bWFuLApKdXN0aW4gQnJhZGZvcmQsCkpvaG4gQnJlemFrLApBbmRyZXcgQnVsaGFrLApKb2huIEJ1cnRvbiwKSm9uYXRoYW4gQnV6emFyZCwKSm9zZSBNYXJjb3MgTPNwZXogQ2FyYXZhY2EsCkVkZGllIENhcnBlbnRlciwKTmllbHMgZGUgQ2FycGVudGllciwKTWlrZSBDYXN0bGUsClJvbiBDZW1lciwKR29yZG9uIENoYWZmZWUsCkdhZWwgZGUgQ2hhbGVuZGFyLApKaW1lbiBDaGluZywKR2VvZmYgQ2xhcmUsClJvYmVydCAnQWRtaXJhbCcgQ29leW1hbiwKUmljaGFyZCBDb2hlbiwKSmVhbi1DbGF1ZGUgQ290ZSwKU3RlcGhlbiBDcm93bGV5LApQYXNjYWwgQ3VvcSwKRGF2aWQgQS4gQ3V0aGJlcnQsCkJyaWFuIEpvc2VwaCBDemFwaWdhLApVbHJpY2ggQ3pla2FsbGEsCkh1dyBELiBNLiBEYXZpZXMsCk1vc2VzIERlSm9uZywKUm9tYW4gRG9sZWpzaSwKRnJhbnMgdmFuIERvcnNzZWxhZXIsClJpa2hhcmR1ciBFZ2lsc3NvbiwKTW9ydGVuIEVyaWtzZW4sCkNocmlzIEZhaGVydHksCkNhcnN0ZW4gRmFsbGVzZW4sClBhdWwgRmFsc3RhZCwKRGF2aWQgRmF1cmUsCldlc2xleSBGaWxhcmRvLApDbGF1cyBGaXNjaGVyLApPbGFmIEZsZWJiZSwKQ2hhZCBGcmFsZWlnaCwKTWF0dGhldyBGcmFuY2lzLApQaGlsaXBwZSBGcm9pZGV2YXV4LApQZXRlciBHYWxiYXZ5LApQZXRlciBHYW50ZW4sClJhbW9uIEdhcmNpYSwKSmVmZiBHYXJ6aWssCkp1bGlvIENlc2FyIEdhenF1ZXosCktsYWFzIHZhbiBHZW5kLApBYmV5IEdlb3JnZSwKQnJpYW4gR2Vyc3QsCk1hdHRoZXcgR2hpbywKSm9keSBHb2xkYmVyZywKRnJhbudvaXMgR291Z2V0LApIYW5zIGRlIEdyYWFmZiwKRGF2aWQgR3JhbnQsCkFsYmVydCBkZW4gSGFhbiwKSmVzcyBIYWFzLApSb2JlcnQgVyBIYWxsLApOb29tZW4gSGFtemEsCkNoYXJsZXMgTS4gSGFubnVtLApBZHJpYW4gSGFydmV5LApKb2huIEhhcnZleSwKS2FsZXZpIEogSGF1dGFuaWVtaSwKQmlsbCBIYXdlcywKTGFycyBIZWV0ZSwKQ2FtZXJvbiBIZWlkZSwKQmVybmQgSGVyZCwKVGhlb2RvcmUgUy4gSGV0a2UsCkpvY2hlbiBIb2VuaWNrZSwKS2V2aW4gSG9sYnJvb2ssCk5pY2sgSG9sbG93YXksCk9ubm8gSG92ZXJzLApKZWZmcmV5IEhzdSwKUGV0ZXIgSHVubmlzZXR0LApNaWd1ZWwgZGUgSWNhemEsCkp1a2thIElpdm9uZW4sCktvc3R5YSBJdmFub3YsCkxlZSBKYWVraWwsCk5pZWxzIEtyaXN0aWFuIEJlY2ggSmVuc2VuLApKZWZmIEpvaGFubiwKQWxleGFuZHJlIEp1bGxpYXJkLApCYW5nIEp1bi1Zb3VuZywKSmFtZXMgSnVyYW4sCkFjaGltIEthaXNlciwKQWxleGFuZGVyIEthbmF2aW4sCkp1a2thIEthbmdhcywKUGF2ZWwgS2Fua292c2t5LApNaWNoYWVsIEthcmNoZXIsCk5pY2xhcyBLYXJsc3NvbiwKSm9jaGVuIEthcnJlciwKQW5kcmVhcyBLaXJzY2hiYXVtLApSZWluIEtsYXplcywKQWxicmVjaHQgS2xlaW5lLApEaWV0bWFyIEtsaW5nLApFcmljIEtvaGwsCkpvbiBLb25yYXRoLApBbGV4IEtvcm9ia2EsClpvbHRhbiBLb3ZhY3MsCkdyZWcgS3JlaWRlciwKQW5hbmQgS3VtcmlhLApPdmUgS+V2ZW4sClNjb3R0IEEuIExhaXJkLApEYXZpZCBMZWUgTGFtYmVydCwKU3RlcGhlbiBMYW5nYXNlaywKRGFuIExhbmdsb2lzLApBbGV4YW5kZXIgTGFyc3NvbiwKU3RlZmFuIExlaWNodGVyLApLYXJsIExlc3NhcmQsClBhc2NhbCBMZXNzYXJkLApBbmRyZXcgTGV3eWNreSwKUGVyIExpbmRzdHL2bSwKQnJpYW4gTGl0emluZ2VyLApKdWVyZ2VuIExvY2ssCk1hcnRpbiB2b24gTG9ld2lzLApNaWNoaWVsIHZhbiBMb29uLApSaWNoYXJkIEEgTG91Z2gsCkFsZXhhbmRlciBWLiBMdWt5YW5vdiwKSml1bWluZyBMdW8sClN0ZXBoYW5lIEx1c3NpZXIsCkRhdmlkIEx1eWVyLApKb3PpIE1hcmNvcyBM83BleiwKS2VubmV0aCBNYWNEb25hbGQsClBldGVyIE1hY0RvbmFsZCwKUGllcnJlIE1hZ2VhdSwKV2lsbGlhbSBNYWdybywKSnVlcmdlbiBNYXJxdWFyZHQsClJpY2FyZG8gTWFzc2FybywKS2VpdGggTWF0dGhld3MsCkpvZXJnIE1heWVyLApNaWNoYWVsIE1jQ29ybWFjaywKSmFzb24gTWNNdWxsYW4sCkNhb2xhbiBNY05hbWFyYSwKTWFyY3VzIE1laXNzbmVyLApHcmFoYW0gTWVuaGVubml0dCwKRGF2aWQgTWV0Y2FsZmUsClBhdWwgTWlsbGFyLApCcnVjZSBNaWxuZXIsClN0ZWZmZW4gTW9lbGxlciwKQW5kcmVhcyBNb2hyLApTbGF2YSBNb25pY2gsCkphbWVzIE1vb2R5LApDaHJpcyBNb3JnYW4sCkthaSBNb3JpY2gsClJpY2hhcmQgTW9ydGltZXIsClZhc3VkZXYgTXVsY2hhbmRhbmksClBoaWxpcHBlIERlIE11eXRlciwKSXRhaSBOYWhzaG9uLApKb25hdGhhbiBOYXlsb3IsClRpbSBOZXdzb21lLApUaHV5IE5ndXllbiwKS3Jpc3RpYW4gTmllbHNlbiwKSGVucmlrIE9sc2VuLApHZXJhcmQgUGF0ZWwsCk1pY2hhZWwgUGF0cmEsCkRpbWl0cmllIE8uIFBhdW4sCkJlcm5kIFBheXNhbiwKQnJhZCBQZXBlcnMsCkppbSBQZXRlcnNvbiwKR2VyYWxkIFBmZWlmZXIsCkRhdmUgUGlja2xlcywKSWFuIFBpbGNoZXIsCk1pY2hhZWwgUG9vbGUsCkVyaWMgUG91ZWNoLApSb2JlcnQgUG91bGlvdCwKQ2hhZCBQb3dlbGwsCkpvc2VwaCBQcmFuZXZpY2gsCkFsZXggUHJpZW0sClBhdWwgUXVpbm4sClBldGUgUmF0emxhZmYsClJvbiBSZWNvcmQsClBldHRlciBSZWluaG9sZHRzZW4sCktlaXRoIFJleW5vbGRzLApTbGF2ZW4gUmV6aWMsCkpvaG4gUmljaGFyZHNvbiwKUmljayBSaWNoYXJkc29uLApEb3VnbGFzIFJpZGd3YXksClJvYmVydCBSaWdncywKQmVybmhhcmQgUm9zZW5rcmFlbnplciwKUGF2ZWwgUm9za2luLApIZXJiZXJ0IFJvc21hbml0aCwKSm9oYW5uZXMgUnVzY2hlaW5za2ksCkFkYW0gU2FjYXJueSwKSXZhbiBkZSBTYWVkZWxlZXIsClRob21hcyBTYW5kZm9yZCwKQ29uc3RhbnRpbmUgU2FwdW50emFraXMsClBhYmxvIFNhcmF0eGFnYSwKQ2FybCB2YW4gU2NoYWlrLApEYW5pZWwgU2NoZXBsZXIsCkNocmlzdGlhbiBTY2hsYWlsZSwKUGV0ZXIgU2NobGFpbGUsClVscmljaCBTY2htaWQsCkJlcm5kIFNjaG1pZHQsCklhbiBTY2htaWR0LApKdWVyZ2VuIFNjaG1pZWQsCkluZ28gU2NobmVpZGVyLApWaWN0b3IgU2NobmVpZGVyLApZbmd2aSBTaWd1cmpvbnNzb24sClN0ZXBoZW4gU2ltbW9ucywKSmVzcGVyIFNrb3YsClJpY2sgU2xhZGtleSwKV2lsbGlhbSBTbWl0aCwKSmFyb3NsYXcgUGlvdHIgU29iaWVzemVrLApQYXRyaWNrIFNwaW5sZXIsClN5bHZhaW4gU3QtR2VybWFpbiwKR2F2cmllbCBTdGF0ZSwKTm9ybWFuIFN0ZXZlbnMsCkRvbWluaWsgU3RyYXNzZXIsClBhdHJpayBTdHJpZHZhbGwsClZhZGltIFN0cml6aGV2c2t5LApCZXJ0aG8gU3R1bHRpZW5zLApDaGFybGVzIFN1cHJpbiwKSmFtZXMgU3V0aGVybGFuZCwKRXJpayBTdmVuZHNlbiwKVHJpc3RhbiBUYXJyYW50LApBbmRyZXcgVGF5bG9yLApKb3NodWEgVGhpZWxlbiwKRGlyayBUaGllcmJhY2gsCkplYW4tTG91aXMgVGhpcm90LApEdW5jYW4gQyBUaG9tc29uLApBZHJpYW4gVGh1cnN0b24sCkdvcmFuIFRoeW5pLApTdGV2ZSBUaWJiZXR0LApEbWl0cnkgVGltb3Noa292LApKaW1teSBUaXJ0YXdhbmdzYSwKSm9uIFRvbWJzLApMaW51cyBUb3J2YWxkcywKTHVjIFRvdXJhbmdlYXUsCkdyZWdvcnkgVHJ1YmV0c2tveSwKUGV0cmkgVHVvbW9sYSwKU2VyZ2V5IFR1cmNoYW5vdiwKTGlvbmVsIFVsbWVyLApNb3NoZSBWYWluZXIsCk1pY2hhZWwgVmVrc2xlciwKU3ZlbiBWZXJkb29sYWVnZSwKVG9kZCBWaWVybGluZywKRXJleiBWb2xrLApKZXJvbWUgVm91aWxsb24sClJvbmFuIFdhaWRlLApNYXJ0aW4gV2Fsa2VyLApFcmljIFdhcm5rZSwKTGVpZ2ggV2VkZGluZywKUmFuZHkgV2VlbXMsCk1hbmZyZWQgV2VpY2hlbCwKVWxyaWNoIFdlaWdhbmQsCk1vcnRlbiBXZWxpbmRlciwKSmVyZW15IFdoaXRlLApMZW4gV2hpdGUsCkxhd3NvbiBXaGl0bmV5LApKYW4gV2lsbGFtb3dpdXMsCkNhcmwgV2lsbGlhbXMsCkVyaWMgV2lsbGlhbXMsCkNsaWZmIFdyaWdodCwKS2FybCBHdWVudGVyIFd1ZW5zY2gsCkVyaWMgWW91bmdkYWxlLApKYW1lcyBZb3VuZ21hbiwKTmlraXRhIFYuIFlvdXNoY2hlbmtvLApNaWtvbGFqIFphbGV3c2tpLApKb2huIFplcm8sCll1eGkgWmhhbmcsCk5hdGhhbiBab3JpY2gsCkx1aXogT3RhdmlvIEwuIFpvcnplbGxhLAphbmQgUGVyIMVuZ3N0cvZtLgo=