MS4gSU5UUk9EVUNUSU9OCgpXaW5lIGVzdCB1biBwcm9ncmFtbWUgcXVpIHBlcm1ldCBkJ2V46WN1dGVyIGxlcyBsb2dpY2llbHMg6WNyaXRzCnBvdXIgTWljcm9zb2Z0IFdpbmRvd3MgKGNvbXByZW5hbnQgbGVzIGV46WN1dGFibGVzIERPUywgV2luZG93cyAzLngKZXQgV2luMzIpIHN1ciB1biBVbml4LiBJbCBlc3QgY29tcG9z6SBkJ3VuIGNoYXJnZXVyIHF1aSBjaGFyZ2UgZXQKZXjpY3V0ZSB1biBiaW5haXJlIE1pY3Jvc29mdCBXaW5kb3dzLCBhaW5zaSBxdWUgZCd1bmUgbGlicmFpcmllIChhcHBlbOllCldpbmVsaWIpIHF1aSBpbXBs6W1lbnRlIGxlcyBhcHBlbHMgZGUgbCdBUEkgZGUgV2luZG93cyBwYXIgbGV1cgrpcXVpdmFsZW50IFVuaXggb3UgWDExLiBDZXR0ZSBsaWJyYWlyaWUgcGV1dCDpZ2FsZW1lbnQg6nRyZSB1dGlsaXPpZQpwb3VyIHBvcnRlciBkdSBjb2RlIFdpbjMyIHZlcnMgdW4gZXjpY3V0YWJsZSBVbml4IG5hdGlmcy4KCldpbmUgZXN0IHVuIGxvZ2ljaWVsIGxpYnJlLCBkaXN0cmlidekgc291cyBHTlUgTEdQTDsgbGlzZXogbGUgZmljaGllcgpMSUNFTkNFIHBvdXIgbGVzIGTpdGFpbHMuCgoyLiBEyU1BUlJBR0UgUkFQSURFCgpN6m1lIHNpIHZvdXMgY29tcGlsZXog4CBwYXJ0aXIgZGVzIHNvdXJjZXMsIGlsIGVzdCByZWNvbW1hbmTpIGQndXRpbGlzZXIKbCdJbnN0YWxsYXRldXIgZGUgV2luZSBwb3VyIGNvbnN0cnVpcmUgZXQgaW5zdGFsbGVyIFdpbmUuIMAgcGFydGlyIGR1CnLpcGVydG9pcmUgbGUgcGx1cyDpbGV26SBkZXMgc291cmNlcyBkZSBXaW5lIChxdWkgY29udGllbnQgY2UgZmljaGllciksCmV46WN1dGV6IDoKCi4vdG9vbHMvd2luZWluc3RhbGwKClBvdXIgZXjpY3V0ZXIgbGVzIHByb2dyYW1tZXMsIHRhcGV6ICJ3aW5lIFtvcHRpb25zXSBwcm9ncmFtbWUiLiBQb3VyIGRlcwppbmZvcm1hdGlvblMgY29tcGzpbWVudGFpcmVzIGV0IGRlcyBy6XNvbHV0aW9ucyBkZSBwcm9ibOhtZXMsIGxpc2V6IGxlCnJlc3RlIGRlIGNlIGZpY2hpZXIsIGxlcyBwYWdlcyAibWFuIiBkZSBXaW5lLCBsZXMgZmljaGllcnMgZGFucyBsZQpy6XBlcnRvaXJlIGRlIGRvY3VtZW50YXRpb24gZGVzIHNvdXJjZXMgZGUgV2luZSAodm9pciAiRE9DVU1FTlRBVElPTiIpLApldCBzdXJ0b3V0IGxlcyBub21icmV1c2VzIGluZm9ybWF0aW9ucyBxdWUgdm91cyB0cm91dmVyZXogc3VyCmh0dHA6Ly93d3cud2luZWhxLmNvbS4KCjMuIENPTkZJR1VSQVRJT04gTslDRVNTQUlSRQoKUG91ciBjb21waWxlciBldCBleOljdXRlciBXaW5lLCB2b3VzIGRldmV6IGF2b2lyIHVuIGRlcyBzeXN06G1lcwpkJ2V4cGxvaXRhdGlvbiBxdWkgc3VpdCA6CgoJTGludXggdmVyc2lvbiAyLjAuMzYgb3Ugc3Vw6XJpZXVyCglGcmVlQlNEIDQueCBvciBGcmVlQlNEIDUtQ1VSUkVOVAoJU29sYXJpcyB4ODYgMi41IG91IHN1cOlyaWV1cgoJTmV0QlNELWN1cnJlbnQKCkluZm9ybWF0aW9uIExpbnV4IDoKICBCaWVuIHF1ZSBsZXMgdmVyc2lvbnMgTGludXggMi4wLnggZm9uY3Rpb25uZXJvbnQgZW4gZ+lu6XJhbCwgY2VydGFpbmVzCiAgY2FyYWN06XJpc3RpcXVlcyAoc3VydG91dCBsZSBwYXJ0YWdlIExEVCkgbuljZXNzYWlyZXMgcG91ciBmYWlyZQogIGZvbmN0aW9ubmVyIGxlcyAidGhyZWFkcyIgV2luMzIgbifpdGFpZW50IGltcGzpbWVudOlzIGF2YW50IGxlcyBrZXJuZWxzIDIuMi4KICBTaSB2b3VzIGF2ZXogY29uc3RhbW1lbnQgZGVzIHBsYW50YWdlcyBk+yBhdXggInRocmVhZHMiLCB2b3VzIGRldnJpZXoKICBjb25zaWTpcmVyIGRlIHZvdXMgbWV0dHJlIOAgam91ciBhdSBub3lhdSAyLjIuIEF1c3NpIGNlcnRhaW5zIGJvZ3VlcyBvbnQg6XTpCiAgZml46XMgZXQgZGUgbm91dmVsbGVzIGZvbmN0aW9ubmFsaXTpcyBvbnQg6XTpIGFqb3V06WVzIGF1eCBkZXJuaehyZXMgdmVyc2lvbnMKICBkdSBub3lhdSAyLjAueCwgYWluc2kgc2kgdm91cyBhdmV6IHVuIG5veWF1IExpbnV4IHRy6HMgYW5jaWVuLCBtZXR0ZXotbGUg4AogIGpvdXIgYXUgbW9pbnMgYXUgZGVybmllciAyLjAueC4KCkluZm9ybWF0aW9uIEZyZWVCU0QgOgogIEFzc3VyZXotdm91cyBkJ2F2b2lyIGxlcyBvcHRpb25zIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNLCBhbmQgU1lTVk1TRwogIGVuY2xhbmNo6WVzIGRhbnMgdm90cmUgbm95YXUuCiAgUGx1cyBkJ2luZm9ybWF0aW9uIGVzdCBzaXR16WUgZGFucyBsJ2FyYnJlIGRlIHBvcnRzIDoKICBmdHA6Ly9mdHAuZnJlZWJzZC5vcmcvcHViL0ZyZWVCU0QvcG9ydHMvcG9ydHMvZW11bGF0b3JzL3dpbmUvCgpJbmZvcm1hdGlvbiBTb2xhcmlzIDoKICBJbCBlc3QgcGx1cyBxdWUgcHJvYmFibGUgcXVlIHZvdXMgZGV2cmV6IGNvbnN0cnVpcmUgV2luZSBhdmVjIGxhIGNoYe5uZQogIGQnb3V0aWxzIEdOVSAoZ2NjLCBnYXMsIGV0Yy4pLiBBdmVydGlzc2VtZW50IDogaW50YWxsZXIgZ2FzIG4nYXNzdXJlIHBhcwogIHF1J2lsIHNlcmEgdXRpbGlz6SBwYXIgZ2NjLiAgUmVjb21wbGlsZXIgZ2NjIGFwcuhzIGwnaW5zdGFsbGF0aW9uIGRlIGdhcwogIG91IGNy6WVyIHVuIGxpZW4gc3ltYm9saXF1ZSBkZSBjYywgYXMgZXQgbGQgdmVycyBsZXMgb3V0aWxzIEdOVSBzZW1ibGUKICBu6WNlc3NhaXJlLgoKSW5mb3JtYXRpb24gTmV0QlNEIDoKICBBc3N1cmV6LXZvdXMgZCdhdm9pciBsZXMgb3B0aW9ucyBVU0VSX0xEVCwgU1lTVlNITSwgU1lTVlNFTSwgYW5kIFNZU1ZNU0cKICBlbmNsYW5jaOllcyBkYW5zIHZvdHJlIG5veWF1LgoKSW5mb3JtYXRpb24gZGVzIHN5c3TobWUgZGUgZmljaGllciA6CiAgV2luZSBkZXZyYWl0IGZvbmN0aW9ubmVyIHN1ciBsYSBwbHVwYXJ0IGRlcyBzeXN06G1lcyBkZSBmaWNoaWVyLiBDZXBlbmRhbnQKICBXaW5lIHMnYXJy6nRlcmEgYXUgZOltYXJyYWdlIHNpIHVtc2RvcyBlc3QgdXRpbGlz6SBwb3VyIGxlIHLpcGVydG9pcmUgL3RtcC4KICBRdWVscXVlcyBwcm9ibOhtZXMgZGUgY29tcGF0aWJpbGl06SBvbnQgYXVzc2kg6XTpIHJhcHBvcnTpcyBzdXIKICBsJ3V0aWxpc2F0aW9uIGRlcyBmaWNoaWVycyBhY2PpZOlzIGF1IHRyYXZlcnMgZGUgU2FtYmEuIEVnYWxlbWVudCwgcHVpc3F1ZQogIE5URlMgbmUgcGV1dCDqdHJlIHV0aWxpc+kgZW4gc+ljdXJpdOkgcXUnYXZlYyB1biBhY2PocyBlbiBsZWN0dXJlIHNldWwgcG91cgogIGxlIG1vbWVudCwgbm91cyByZWNvbW1hbmRvbnMgZGUgbmUgcGFzIHV0aWxpc2VyIE5URlMsIHBhcmNlIHF1ZSBsZXMKICBwcm9ncmFtbWVzIFdpbmRvd3Mgb24gYmVzb2luIGRlcyBhY2PocyBlbiDpY3JpdHVyZSBwcmVzcXVlIHBhcnRvdXQuIFNpIHZvdXMKICBhdmV6IGRlcyBmaWNoaWVyIE5URlMsIGNvcGlleiBsZXMgdmVycyB1bmUgbG9jYWxpc2F0aW9uIGFjY2Vzc2libGUgZW4KICDpY3JpdHVyZS4KCldpbmUgYSBiZXNvaW4gZGUgInRocmVhZHMiIGR1IG5pdmVhdSBub3lhdS4gQWN0dWVsbGVtZW50LCBzZXVsIExpbnV4IHZlcnNpb24KMi4wIG91IHN1cOlyaWV1ciwgRnJlZUJTRCA0Lnggb3Ugc3Vw6XJpZXVyLCBTb2xhcmlzIHg4NiB2ZXJzaW9uIDIuNSBvdSBzdXDpcmlldXIKZXQgTmV0QlNELWN1cnJlbnQgc29udCBzdXBwb3J06XMuIEQnYXV0cmVzIHN5c3TobWVzIGQnZXhwbG9pdGF0aW9ucyBxdWkKaW1wbOltZW50ZW50IGxlcyAidGhyZWFkcyIgbm95YXUgcGV1dmVudCDqdHJlIHN1cHBvcnTpcyBkYW5zIGxlIGZ1dHVyLgoKVm91cyBhdmV6IGJlc29pbiBkJ2F2b2lyIGxlcyBmaWNoaWVycyAiaW5jbHVkZSIgZGUgWDExIGluc3RhbGzpcwooYXBwZWzpcyB4bGliNmctZGV2IHBvdXIgRGViaWFuIGV0IFhGcmVlODYtZGV2ZWwgcG91ciBSZWRIYXQpLgpQb3VyIHV0aWxpc2VyIGxlIHN1cHBvcnQgZGUgV2luZSBwb3VyIGRlcyBhcHBsaWNhdGlvbnMgbXVsdGktdGhyZWFkcwp2b3MgbGlicmFpcmllcyBYIGRvaXZlbnQg6nRyZSBy6WVudHJhbnRlcywgY2UgcXVpIGVzdCBwcm9iYWxibGVtZW50IGxhCmNvbmZpZ3VyYXRpb24gcGFyIGTpZmF1dCDgIGwnaGV1cmUgYWN0dWVsbGUuIFNpIHZvdXMgcG9zc+lkZXogbGliYzYgKGdsaWJjMikKb3UgcXVlIHZvdXMgY29tcGlsZXogbGVzIGxpYnJhaXJpZXMgWCB2b3VzLW3qbWUsIGVsbGVzIG9udCBwcm9iYWJsZW1lbnQg6XTpCmNvbXBpbOllcyBhdmVjIGwnb3B0aW9uIHLpZW50cmFudCBlbmNsYW5jaOllLgoKU3VyIGxlcyBzeXN06G1lIHg4NiwgZ2NjID49IDIuNy4yIGVzdCBu6WNlc3NhaXJlLiBMZXMgdmVyc2lvbnMgaW5m6XJpZXVyZXMg4ApsYSAyLjcuMi4zIHBldXZlbnQgY3LpZXIgZGVzIGVubnVpcyBsb3NycXVlIGNlcnRhaW5zIGZpY2hpZXJzIHNvbnQgY29tcGls6XMKYXZlYyBsJ29wdGltaXNhdGlvbiwgc291dmVudCBk+yDgIGRlcyBwcm9ibOhtZXMgZGUgZ2VzdGlvbiBkJ2VuLXTqdGUgZGUgZmljaGllci4KcGdjYyBuZSBmb25jdGlvbm5lIHBhcyBhY3R1ZWxsZW1lbnQgYXZlYyBXaW5lLiBMYSBjYXVzZSBkZSBjZSBwcm9ibOhtZSBlc3QKaW5jb25udWUuCgrJdmlkZW1tZW50LCB2b3VzIGF1cmV6IGJlc29pbiBkZSAibWFrZSIgKHRy6HMgcHJvYmFibGVtZW50IEdOVSBtYWtlKS4KClZvdXMgYXVyZXog6WdhbGVtZW50IGJlc29pbiBkZSBmbGV4IHZlcnNpb24gMi41IG91IHN1cOlyaWV1cmUgZXQgeWFjYy4KQmlzb24gZm9uY3Rpb25uZXJhIGVuIHJlcGxhY2VtZW50IGRlIHlhY2MuIFNpIHZvdXMgdXRpbGlzZXogUmVkSGF0IG91IERlYmlhbiwKaW5zdGFsbGV6IGxlcyBwYXF1ZXRzIGZsZXggZXQgYmlzb24uCgpQb3VyIGxlIHRyYWl0ZW1lbnQgYXV0b21hdGlxdWUgZGVzIHNjcmlwdHMgZGUgbGEgc+lyaWUgZGUgdGVzdHMsIHZvdXMgYXVyZXoK6WdhbGVtZW50IGJlc29pbiBkZXMgZW4tdOp0ZXMgZGUgZOl2ZWxvcHBlbWVudCBkZSBsaWJwZXJsIChwYWNrYWdlIGxpYnBlcmwtZGV2CnNvdXMgRGViaWFuKS4KClBvdXIgbGEgY29uZmlndXJhdGlvbiBu6WNlc3NhaXJlIHNpIHZvdXMgYXZleiBsJ2ludGVudGlvbiBkZSBjb25zdHJ1aXJlIGxhCmRvY3VtZW50YXRpb24gdm91cy1t6m1lIHZveWV6IGxhIHNlY3Rpb24gIkRPQ1VNRU5UQVRJT04iLgoKNC4gQ09NUElMQVRJT04KCkF1IGNhcyBv+SB2b3VzIGNob2lzaXNzZXogZGUgbmUgcGFzIHV0aWxpc2VyIHdpbmVpbnN0YWxsLCBleOljdXRlciBsZXMgY29tLQptYW5kZXMgc3VpdmFudGVzIHBvdXIgY29uc3RydWlyZSBXaW5lIDoKCi4vY29uZmlndXJlCm1ha2UgZGVwZW5kCm1ha2UKCkNlbGEgdmEgY29uc3R1aXJlIGxlIHByb2dyYW1tZSAid2luZSIgZXQgZGUgbm9tYnJldXggYmluYWlyZXMvbGlicmFpcmllcyBkZQpzdXBwb3J0LgpMZSBwcm9ncmFtbWUgIndpbmUiIGNoYXJnZXJhIGV0IGV46WN1dGVyYSBsZXMgZXjpY3V0YWJsZXMgV2luZG93cy4KTGEgbGlicmFpcmllICJsaWJ3aW5lIiAoIldpbmVsaWIiKSBwZXV0IOp0cmUgdXRpbGlz6WUgcG91ciBjb21waWxlciBldCBsaWVyCmxlIGNvZGUgc291cmNlIFdpbmRvd3Mgc291cyBVbml4LgoKUG91ciB2b2lyIGxlcyBvcHRpb25zIGRlIGNvbXBpbGF0aW9uLCB0YXBleiAuL2NvbmZpZ3VyZSAtLWhlbHAuCgpQb3VyIG1ldHRyZSDgIGpvdXIgdW5lIG5vdXZlbGxlIHZlcnNpb24gZW4gdXRpbGlzYW50IGxlcyBmaWNoaWVycyBwYXRjaCwgdG91dApkJ2Fib3JkIGFsbGVyIGRhbnMgbGUgculwZXJ0b2lyZSBkZSBwbHVzIGhhdXQgbml2ZWF1IGRlIGxhIHZlcnNpb24gYWN0dWVsbGUKKGNlbHVpIHF1aSBjb250aWVudCBjZSBmaWNoaWVyIFJFQURNRS5mcikuIEVuc3VpdGUgZmFpcmUgdW4gIm1ha2UgY2xlYW4iLCBldApwYXRjaGVyIGxhIHZlcnNpb24gYXZlYyA6CgogICAgZ3VuemlwIC1jIHBhdGNoLWZpbGUgfCBwYXRjaCAtcDEKCkF2ZWMgInBhdGNoLWZpbGUiIHF1aSBlc3QgbGUgbm9tIGR1IGZpY2hpZXIgZGUgcGF0Y2hlIChxdWVscXVlIGNob3NlIGRlCnNpbWlsYWlyZSDgIFdpbmUteXltbWRkLmRpZmYuZ3opLiBWb3VzIHBvdXZleiBy6WV46WN1dGVyICIuL2NvbmZpZ3VyZSIsIGV0CmVuc3VpdGUgdGFwZXIgIm1ha2UgZGVwZW5kICYmIG1ha2UiLgoKNS4gU0VUVVAKClVuIGZvaXMgcXVlIFdpbmUgYSDpdOkgY29uc3RydWl0IGNvcnJlY3RlbWVudCwgdm91cyBwb3V2ZXogdGFwZXogIm1ha2UgaW5zdGFsbCI7CmNlbGEgaW5zdGFsbGVyYSBsJ2V46WN1dGFibGUgd2luZSwgbGVzIHBhZ2VzIG1hbiBXaW5lIGV0IHF1ZWxxdWVzIGF1dHJlcyBmaWNoaWVycwpu6WNlc3NhaXJlcy4KCk4nb3VibGlleiBwYXMgZGUgZOlzaW5zYXRsbGVyIHRvdXRlcyBsZXMgaW5zdGFsbGF0aW9ucyBwculj6WRhbnRlcyBkZSB3aW5lLgpFc3NheWV6IHNvaXQgImRwa2cgLXIgd2luZSIsICJycG0gLWUgd2luZSIgb3UgIm1ha2UgdW5pbnN0YWxsIiBhdmFudApkJ2luc3RhbGxlci4KClNpIHZvdSBk6XNpcmV6IGxpcmUgbGEgZG9jdW1lbnRhdGlvbiBmb3VybmllIGF2ZWMgbGVzIHNvdXJjZXMgZGUgV2luZSwgdm95ZXogbGEKc2VjdGlvbiAiRE9DVU1FTlRBVElPTiIuCgpXaW5lIGEgYmVzb2luIGQndW4gZmljaGllciBkZSBjb25maWd1cmF0aW9uIG5vbW3pICJjb25maWciIGRhbnMgdm90cmUgculwZXJ0b2lyZQp+Ly53aW5lLiBMZSBmb3JtYXQgZGUgY2UgZmljaGllciBlc3QgZXhwbGlxdekgZGFucyBsYSBwYWdlIG1hbiBkdSBmaWNoaWVyIGRlCmNvbmZpZ3VyYXRpb24gKGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbikuCkxlIGZpY2hpZXIgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZyBjb250aWVudCB1biBleGVtcGxlIGRlIGZpY2hpZXIgZGUKY29uZmlndXJhdGlvbiBxdWkgZG9pdCDqdHJlIGFkYXB06SBldCBjb3Bp6SB2ZXJzIGxhIGxvY2FsaXNhdGlvbiBtZW50aW9ubullCmNpLWRlc3N1cy4KCk4nb3VibGlleiBwYXMgZCdham91dGVyIGRlcyBlbnRy6WVzIGRlIHJlZ2lzdHJlIHZpcnR1ZWxsZSBlbiBhcHBsaWNhbnQKd2luZWRlZmF1bHQucmVnIGF2ZWMgcHJvZ3JhbXMvcmVnYXBpLy4gVm95ZXogbGUgculwZXJ0b2lyZSBkb2N1bWVudGF0aW9uLyBwb3VyCmxlcyBk6XRhaWxzLgoKTmF2aWd1ZXogc3VyIGh0dHA6Ly93d3cud2luZWhxLmNvbS9zdXBwb3J0LyBwb3VyIHBsdXMgZCdhc3R1Y2UgZGUgY29uZmlndXJhdGlvbi4KCkVuIGNhcyBkJ2VycmV1ciBkZSBjaGFyZ2VtZW50IGRlIGxpYnJhaXJpZSAocGFyIGV4ZW1wbGUKIkVycm9yIHdoaWxlIGxvYWRpbmcgc2hhcmVkIGxpYnJhcmllczogbGlibnRkbGwuc28iKSwgYXNzdXJleiB2b3VzIGQnYWpvdXRlcgpsZSBjaGVtaW4gZGVzIGxpYnJhaXJpZXMg4CAvZXRjL2xkLnNvLmNvbmYgZXQgZXjpY3V0ZXIgbGRjb25maWcgZW4gdGFudCBxdWUgcm9vdC4KClBvdXIgcG91dm9pciB26XJpZmllciBsJ2V4YWN0aXR1ZGUgZGUgbCdlbnZpcm9ubmVtZW50IGRvbnQgdm91cyBhdmV6IGJlc29pbiBwb3VyCnF1ZSBXaW5lIHMnZXjpY3V0ZSBjb3JyZWN0ZW1lbnQsIHZvdXMgcG91dmV6IGV46WN1dGVyICIuL3Rvb2xzL3dpbmVjaGVjayB8IGxlc3MiLgpWb3VzIGF1cmV6IHVuIHNjb3JlIGVuIHBvdXJjZW50YWdlIGluZGlxdWFudCAibCdleGFjdGl0dWRlIGRlIGxhIGNvbmZpZ3VyYXRpb24KZGUgV2luZSIuIENlIHByb2dyYW1tZSBlc3QgZW5jb3JlIGVuIGTpdmVsb3BwZW1lbnQgYWxwaGEsIGlsIG4nZWZmZWN0dWUgcGFzCmVuY29yZSB1biB26XJpdGFibGUgdGVzdCBlbiBwcm9mb25kZXVyLCBpbCBkZXZyYWl0IGNlcGVuZGFudCDqdHJlIHV0aWxlIGRhbnMKdW5lIHByZW1p6HJlIHbpcmlmaWNhdGlvbi4KCkxpc2V6IGxlcyBwYWdlIG1hbiBkZSB3aW5lLmNvbmYgcG91ciBzYXZvaXIgY29tbWVudCBiYXNjdWxlciBlbiB1biBtb2RlIHRleHRlCnVuaXF1ZW1lbnQuCgo2LiBFWMlDVVRFUiBERVMgUFJPR1JBTU1FUwoKTG9yc3F1ZSBsJ29uIGludm9xdWUgV2luZSwgdm91cyBwb3V2ZXogc3DpY2lmaWVyIGxlIGNoZW1pbiBlbnRpZXIgdmVycwpsJ2V46WN1dGFibGUgb3Ugc2V1bGVtZW50IGxlIG5vbSBkZSBmaWNoaWVyLgoKUG91ciBleOljdXRlciBTb2xpdGFpcmUgcGFyIGV4ZW1wbGUgOgoKCXdpbmUgc29sCQkgICAoZW4gdXRpbGlzYW50IGxlIGNoZW1pbiBkJ2FjY+hzIHBvdXIKCQkJCSAgICBsb2NhbGlzZXIgbGUgZmljaGllcikKCXdpbmUgc29sLmV4ZQoKCXdpbmUgYzpcXHdpbmRvd3NcXHNvbC5leGUgIChlbiB1dGlsaXNhbnQgdW4gbm9tIGRlIGZpY2hpZXIgRE9TKQoKCXdpbmUgL3Vzci93aW5kb3dzL3NvbC5leGUgIChlbiB1dGlsaXNhbnQgdW4gbm9tIGRlIGZpY2hpZXIgVW5peCkKCk5vdGU6IGxlIGNoZW1pbiBkdSBmaWNoaWVyIHNlcmEg6WdhbGVtZW50IGFkZGl0aW9ubukgYXUgY2hlbWluIHBhciBk6WZhdXQKICAgICAgbG9yc3F1ZSBsZSBub20gZW50aWVyIGVzdCDpY3JpdCBzdXIgbGEgbGlnbmUgZGUgY29tbWFuZGUuCgpXaW5lIG4nZXN0IHBhcyBlbmNvcmUgY29tcGxldCwgYWluc2kgcXVlbHF1ZSBwcm9ncmFtbWVzIHBldXZlbnQgcGxhbnRlci4gU2Vsb24KcXVlIHZvdXMgYXZleiBpbnN0YWxs6SBjb3JyZWN0ZW1lbnQgd2luZWRiZyBkJ2FwcuhzIGRvY3VtZW50YXRpb24vZGVidWdnZXIuc2dtbCwKdm91cyBlbnRyZXJleiBkYW5zIGxlIGTpYm9ndWV1ciB2b3VzIHBlcm1ldHRhbnQgZCdlbnF16nRlciBldCBkZSBy6XNvdWRyZSBsZQpwcm9ibOhtZS4gUG91ciBwbHVzIGQnaW5mb3JtYXRpb24gc3VyIGxhIG1hbmnocmUgZGUgbGUgZmFpcmUsIHZldWlsbGV6IGxpcmUKbGUgZmljaGllciBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sLgoKVm91cyBkZXZyaWV6IHNhdXZlZ2FyZGVyIHRvdXMgdm9zIGZpY2hpZXIgaW1wb3J0YW50IGF1cXVlbHMgdm91cyBkb25uZXogYWNj6HMK4CBXaW5lIG91IHV0aWxpc2VyIHVuZSBjb3BpZSBzcOljaWFsZSBwb3VyIFdpbmUsIHB1aXNxdWUgZGFucyBjZXJ0YWluIGNhcyBkZXMKdXRpbGlzYXRldXJzIG9udCByYXBwb3J06SBkZXMgY29ycnVwdGlvbnMgZGUgZmljaGllcnMuIE5lIFBBUwrpeOljdXRlciBsJ0V4cGxvcmF0ZXVyLCBwYXIgZXhlbXBsZSwgc2kgdm91cyBuJ2F2ZXogcGFzIHVuZSBjb3BpZSBwcm9wcmUsCnB1aXNxdWUgaWwgcmVub21tZS9jb3Jyb21wdCBwYXJmb2lzIHBsdXNpZXVycyBy6XBlcnRvaXJlcy4gTeptZSBjZXJ0YWluZXMKYXBwbGljYXRpb24gTVMgdGVsbGUgTWVzc2VuZ2VyIHBhciBleGVtcGxlIG5lIHNvbnQgcGFzIHP7cmVzIHB1aXNxdSdlbGxlCnBldXZlbnQgbGFuY2VyIGwnRXhwbG9yYXRldXIgZGFucyBjZXJ0YWlucyBjYXMuIENlcnRhaW5lcyBjb3JydXB0aW9ucwpwYXJ0aWN1bGnocmVzIHRlbGxlICghJCEkISQhJC5wZnIpIHBldXQgZHUgbW9pbnMg6nRyZSBwYXJ0aWVsbGVtZW50CmZpeOllIGVuIHV0aWxpc2FudCBsYSBt6XRob2RlIGTpY3JpdGUgcGFyCmh0dHA6Ly9ob21lLm5leGdvLmRlL2FuZGkubW9oci9kb3dubG9hZC9kZWNvcnJ1cHRfZXhwbG9yZXIKCjcuIERPQ1VNRU5UQVRJT04KCkNlcnRhaW5lcyBkb2N1bWVudGF0aW9ucyAoZGl2ZXJzIEd1aWRlcyBXaW5lIGV0YykgcGV1dmVudCDqdHJlIHRyb3V26WVzIGRhbnMKbGUgculwZXJ0b2lyZSBkb2N1bWVudGF0aW9uLyAo4CBwYXJ0IGNldXggZGlzcG9uaWJsZXMg6WdhbGVtZW50IHN1ciBXaW5lSFEpCgpTaSB2b3Ugdm91bGV6IGNvbnN0cnVpcmUgbGVzIGZpY2hpZXIgU0dNTCBpY2ksIHZvdXMgcG91dmV6IGV46WN1dGVyIGxhCmNvbW1hbmRlICJtYWtlIiBkYW5zIGxlIHLpcGVydG9pcmUgZG9jdW1lbnRhdGlvbi8uClBvdXIgbGUgZmFpcmUgdm91cyBhdXJyZXogYmVzb2luIGRlcyBvdXRpbHMgZHUgcGFja2FnZSBzZ21sIChwb3VyIGRiMmh0bWwsCmRiMnBzLCBkYjJwZGYpIG5vbW3pcyA6CkRlYmlhbjoJCWRvY2Jvb2stdXRpbHMKTWFuZHJha2U6CXNnbWwtdG9vbHMtQS5CLkMtRERtZGsKU3VTRToJCWRvY2JrdGxzLUEuQkIuQy1ERAoKOC4gT1BURU5JUiBQTFVTIEQnSU5GT1JNQVRJT05TCgpXV1c6CUJhdWNvdXAgZCdpbmZvcm1hdGlvbnMg4CBwcm9wb3MgZGUgV2luZSBzb250IGRpc3BvbmlibGVzIHN1ciBXaW5lSFEg4AoJaHR0cDovL3d3dy53aW5laHEuY29tLyA6IGRpdmVycyBHdWlkZXMgV2luZSwgYmFzZSBkZSBkb25u6WUKCWQnYXBwbGljYXRpb25zLCBzdWl2aXQgZGUgYm9ndWVzLiBDJ2VzdCBwcm9iYWJsZW1lbnQgbGUgbWVpbGxldXIgcG9pbnQKCWRlIGTpcGFydC4KCkZBUToJTGEgRm9pcmUgQXV4IFF1ZXN0aW9ucyBkZSBXaW5lIGVzdCBsb2NhbGlz6WUg4CA6CglodHRwOi8vd3d3LndpbmVocS5jb20vRkFRCgpVc2VuZXQ6CVZvdXMgcG91dmV6IHBhcmxlciBkZXMgcHJvYmzobWVzIG91IHLpc29sdXRpb25zIGVuIHJlbGF0aW9uIGF2ZWMgV2luZQoJb3Ugb3B0ZW5pciBkZSBsJ2FpZGUgc3VyIGNvbXAuZW11bGF0b3JzLm1zLXdpbmRvd3Mud2luZS4KCkJ1Z3M6CVJhcHBvcnRleiBsZXMgYm9ndWVzIOAgV2luZSBCdWd6aWxsYSDgIGh0dHA6Ly9idWdzLndpbmVocS5jb20vLgoJU1ZQIGNoZXJjaGV6IHRvdXQgZCdhYm9yZCBkYW5zIGxhIGJhc2UgZGUgZG9ubullIGRlIGJ1Z3ppbGxhCglwb3VyIGNvbnRy9GxlciBxdWUgbGUgcHJvYmzobWUgbidlc3QgcGFzIGTpauAgZOljb3V2ZXJ0IGF2YW50CglkZSBwb3N0ZXIgdW4gcmFwcG9ydCBkZSBib2d1ZS4gVm91cyBwb3V2ZXog6WdhbGVtZW50IHJhcHBvcnRlcgoJZGVzIHJhcHBvcnRzIGRlIGJvZ3VlIOAgY29tcC5lbXVsYXRvcnMubXMtd2luZG93cy53aW5lLgoJU1ZQIGxpc2V6IGxlIGZpY2hpZXIgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwgcG91ciBjb25uYe50cmUgbGVzCglpbmZvcm1hdGlvbnMgbuljZXNzYWlyZXMuCgpJUkM6CUwnYWlkZSBlbiBsaWduZSBlc3QgZGlzcG9uaWJsZSBzdXIgbGUgY2FubmFsICNXaW5lSFEgc3VyCglpcmMub3BlbnByb2plY3RzLm5ldC4KCkNWUzoJTCdhcmJyZSBkZSBk6XZlbG9wcGVtZW50IGFjdHVlbCBkZSBXaW5lIGVzdCBkaXNwb25pYmxlIGF1IHRyYXZlcnMKCWRlIENWUy4KCUFsbGV6IHN1ciBodHRwOi8vd3d3LndpbmVocS5jb20vZGV2ZWxvcG1lbnQvIHBvdXIgcGx1cyBkJ2luZm9ybWF0aW9ucwoKTWFpbGluZyBsaXN0czoKCUlsIGV4aXN0ZSBkZSBtdWx0aXBsZXMgbWFpbGluZyBsaXN0cyBwb3VyIGxlcyBk6XZlbG9wcGV1cnMgZGUgV2luZTsKCXJlcHBvcnRlei12b3VzIOAgaHR0cDovL3d3dy53aW5laHEuY29tL2RldmVsb3BtZW50LyNtbCBwb3VyIGRlIHBsdXMKCWFtcGxlcyBpbmZvcm1hdGlvbnMuCgpTaSB2b3VzIGFqb3V0ZXogcXVlbHF1ZWNob3NlIG91IGZpeGV6IHVuIGJvZ3VlLCBlbnZveWV6IHVuIHBhdGNoIChkYW5zIGxlCmZvcm1hdCAnZGlmZiAtdScgKSDgIGxhIGxpc3RlIGRlIGRpZmZ1c2lvbiB3aW5lLXBhdGNoZXNAd2luZWhxLmNvbSAgcG91ciBzb24KaW5jbHVzaW9uIGRhbnMgbGEgcHJvY2hhaW5lIHZlcnNpb24uCgotLQpBbGV4YW5kcmUgSnVsbGlhcmQKanVsbGlhcmRAd2luZWhxLmNvbQo=