ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGEgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhODc0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRhCkBAIC0wLDAgKzEsOTcyIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9IFYgZSBsIGsgbyBtIG0gZSBuICAgdCBpIGwgICBWIEkgTSAtIHYgZSBqIGwgZSBkIG4gaSBuIGcgZSBuICAtICBWZXJzaW9uIDEuNyA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGVyIGVuIG1lZ2V0IGtyYWZ0ZnVsZCBlZGl0b3IgbWVkIG1hbmdlIGtvbW1hbmRvZXIsIGZvciBtYW5nZSB0aWwKKyAgICAgYXQgZm9ya2xhcmUgaSBlbiB2ZWpsZWRuaW5nIHNvbSBkZW5uZS4gVmVqbGVkbmluZ2VuIGVyIGRlc2lnbmV0IHRpbCBhdAorICAgICBiZXNrcml2ZSBub2sgYWYga29tbWFuZG9lcm5lIHRpbCBhdCBkdSB2aWwgduZyZSBpIHN0YW5kIHRpbCBsZXQgYXQgYnJ1Z2UKKyAgICAgVmltIHNvbSBlbiBhbHNpZGlnIGVkaXRvci4KKworICAgICBEZXQgdGFnZXIgY2lya2EgMjUtMzAgbWludXR0ZXIgYXQgZnVsZGb4cmUgdmVqbGVkbmluZ2VuLAorICAgICBhZmjmbmdpZyBhZiBodm9yIG1lZ2V0IHRpZCBkZXIgYnJ1Z2VzIHDlIGF0IGVrc3BlcmltZW50ZXJlLgorCisgICAgIFbGUiBPUE3GUktTT00gUMUgQVQ6CisgICAgIEtvbW1hbmRvZXJuZSBpIGxla3Rpb25lcm5lIOZuZHJlIHRla3N0ZW4uIE9wcmV0IGVuIGtvcGkgYWYgZmlsZW4KKyAgICAgdGlsIGF0IPh2ZSBw5SAoaHZpcyBkdSBzdGFydGVkZSAidmltdHV0b3IiLCBz5SBlciBkZXQgYWxsZXJlZGUgZW4ga29waSkuCisKKyAgICAgRGV0IGVyIHZpZ3RpZ3QgYXQgaHVza2UgcOUgYXQgdmVqbGVkbmluZ2VuIGVyIHNhdCBvcCB0aWwgYXQgbOZyZSB2ZWQgYXQKKyAgICAgYnJ1Z2UuIERldCBiZXR5ZGVyIGF0IGR1IHNrYWwgdWRm+HJlIGtvbW1hbmRvZXJuZSBmb3IgYXQgbOZyZSBhdCBicnVnZQorICAgICBkZW0gb3JkZW50bGlndC4gTOZzZXIgZHUga3VuIHRla3N0ZW4sIHPlIGdsZW1tZXIgZHUga29tbWFuZG9lcm5lIQorCisgICAgIFP4cmcgZm9yIGF0IGRpbiBDYXBzLUxvY2stdGFzdCBJS0tFIGVyIGFrdGl2ZXJldCBvZyB0cnlrCisgICAgIHDlICAgai10YXN0ZW4gICBub2sgZ2FuZ2UgdGlsIGF0IGZseXR0ZSBtYXJr+HJlbiBz5SBsZWt0aW9uIDEuMQorICAgICBmeWxkZXIgaGVsZSBza+ZybWVuLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDEuMTogRkxZVCBNQVJL2FJFTgorCisKKyAgICoqIFRyeWsgcOUgaC0sai0say0sbC10YXN0ZXJuZSBzb20gdmlzdCwgZm9yIGF0IGZseXR0ZSBtYXJr+HJlbi4gKioKKwkgICAgIF4KKwkgICAgIGsJCSAgICBGaWY6IEgtdGFzdGVuIGVyIHRpbCB2ZW5zdHJlIG9nIGZseXR0ZXIgdGlsIHZlbnN0cmUuCisgICAgICAgPCBoCSBsID4JCSBMLXRhc3RlbiBlciB0aWwgaPhqcmUgb2cgZmx5dHRlciB0aWwgaPhqcmUuCisJICAgICBqCQkJIEotdGFzdGVuIGxpZ25lciBlbiBuZWQtcGlsLgorCSAgICAgdgorICAxLiBGbHl0IG1hcmv4cmVuIHJ1bmR0IHDlIHNr5nJtZW4gaW5kdGlsIGR1IGVyIGZvcnRyb2xpZyBtZWQgZGV0LgorCisgIDIuIEhvbGQgbmVkLXRhc3RlbiAoaikgbmVkZSwgaW5kdGlsIGRlbiBnZW50YWdlci4KKyAgICAgTnUgdmVkIGR1IGh2b3JkYW4gZHUgZmx5dHRlciB0aWwgZGVuIG7mc3RlIGxla3Rpb24uCisKKyAgMy4gQnJ1ZyBuZWQtdGFzdGVuIHRpbCBhdCBmbHl0dGUgdGlsIGxla3Rpb24gMS4yLgorCitCRU3GUks6IEh2aXMgZHUgbm9nZW5zaW5kZSBibGl2ZXIgaSB0dml2bCBvbSBub2dldCBkdSBza3Jldiwgc+UgdHJ5ayBw5SA8RVNDPgorICAgICAgICBmb3IgYXQgc3RpbGxlIGRpZyBpIG5vcm1hbCB0aWxzdGFuZC4gU2tyaXYgc+Uga29tbWFuZG9lbiBpZ2VuLgorCitCRU3GUks6IFBpbGV0YXN0ZXJuZSBi+HIgb2dz5SB2aXJrZS4gTWVuIG1lZCBoamtsIGthbiBkdSBmbHl0dGUgcnVuZHQKKyAgICAgICAgbWVnZXQgaHVydGlnZXJlLCBu5XIgZHUgaGFyIHbmbm5ldCBkaWcgdGlsIGRldC4gU2VyafhzdCEKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBMZWt0aW9uIDEuMjogQUZTTFVUIFZJTQorCisKKyAgISEgQkVNxlJLOiBM5nMgaGVsZSBsZWt0aW9uZW4sIGluZGVuIHRyaW5uZW5lIG5lZGVuZm9yIHVkZvhyZXMhIQorCisgIDEuIFRyeWsgcOUgPEVTQz4tdGFzdGVuIChmb3IgYXQgduZyZSBzaWtrZXIgcOUsIGF0IGR1IGVyIGkgbm9ybWFsIHRpbHN0YW5kKS4KKworICAyLiBTa3JpdjoJOnEhIDxFTlRFUj4uCisgICAgIERldCBhZnNsdXR0ZXIgZWRpdG9yZW4sIGh2b3J2ZWQg5m5kcmluZ2VyIHNvbSBkdSBoYXIgZm9yZXRhZ2V0IGZvcmthc3Rlcy4KKworICAzLiBWZW5kIHRpbGJhZ2UgaGVydGlsIHZlZCBhdCB1ZGb4cmUga29tbWFuZG9lbiBzb20gZmlrIGRpZyBpbmQgaQorICAgICB2ZWpsZWRuaW5nZW4uIERldCB2YXIgbXVsaWd2aXM6ICB2aW10dXRvciA8RU5URVI+CisKKyAgNC4gSHZpcyBkdSBoYXIgbOZydCB0cmlubmVuZSB1ZGVuYWQgb2cgZXIga2xhciwgc+UgdWRm+HIgdHJpbgorICAgICAxIHRpbCAzIGZvciBhdCBhZnNsdXR0ZSBvZyBrb21tZSBpbmQgaSBlZGl0b3JlbiBpZ2VuLgorCitCRU3GUks6IDpxISA8RU5URVI+ICBmb3JrYXN0ZXIg5m5kcmluZ2VyIHNvbSBkdSBoYXIgZm9yZXRhZ2V0LiBPbSBm5SBsZWt0aW9uZXIKKyAgICAgICAgdmlsIGR1IGzmcmUgYXQgZ2VtbWUg5m5kcmluZ2VybmUgdGlsIGVuIGZpbC4KKworICA1LiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgbGVrdGlvbiAxLjMuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDEuMzogVEVLU1RSRURJR0VSSU5HIC0gU0xFVAorCisKKwkgICAqKiBUcnlrIHDlICB4ICBmb3IgYXQgc2xldHRlIHRlZ25ldCBzb20gbWFya/hyZW4gZXIgb3ZlbnDlLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBsaW5qZW4gbWVkIC0tLT4uCisKKyAgMi4gUmV0IGZlamxlbmUgdmVkIGF0IGZseXR0ZSBtYXJr+HJlbiBpbmR0aWwgZGVuIGVyIG92ZW5w5QorICAgICB0ZWduZXQgc29tIHNrYWwgc2xldHRlcy4KKworICAzLiBUcnlrIHDlCXgtdGFzdGVuICBmb3IgYXQgc2xldHRlIGRldCB1+G5za2VkZSB0ZWduLgorCisgIDQuIEdlbnRhZyB0cmluIDIgdGlsIDQgaW5kdGlsIHPmdG5pbmdlbiBlciBrb3JyZWt0LgorCistLS0+IEtrb2VuIHNwcmFuZ2cgb3Z2ZXJyIG3l5W5lbi4KKworICA1LiBH5SB2aWRlcmUgdGlsIGxla3Rpb24gMS40LCBudSBodm9yIGxpbmplbiBlciBrb3JyZWt0LgorCitCRU3GUks6IEVmdGVyaOVuZGVuIHNvbSBkdSBnZW5uZW1n5XIgdmVqbGVkbmluZ2VuLCBz5SBs5nIgZGV0IGlra2UgdWRlbmFkLAorICAgICAgICBs5nIgZGV0IHZlZCBhdCBn+HJlIGRldC4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrdGlvbiAxLjQ6IFRFS1NUUkVESUdFUklORyAtIElORFPGVAorCisKKwkJCSoqIFRyeWsgcOUgIGkgIGZvciBhdCBpbmRz5nR0ZSB0ZWtzdC4gKioKKworICAxLiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgZGVuIGb4cnN0ZSBsaW5qZSBtZWQgLS0tPi4KKworICAyLiBGb3IgYXQgZ/hyZSBkZW4gZvhyc3RlIGxpbmplIG1hZ2VuIHRpbCBkZW4gYW5kZW4sIHNrYWwgbWFya/hyZW4gZmx5dHRlcworICAgICBvdmVucOUgZGV0IGb4cnN0IHRlZ24gRUZURVIgZGVyIGh2b3IgdGVrc3RlbiBza2FsIGluZHPmdHRlcy4KKworICAzLiBUcnlrIHDlICBpICBvZyBza3JpdiBkZSBu+GR2ZW5kaWdlIHRpbGb4amVsc2VyLgorCisgIDQuIEVmdGVyaOVuZGVuIHNvbSBodmVyIGZlamwgcmV0dGVzLCBz5SB0cnlrIHDlIDxFU0M+IGZvciBhdCB2ZW5kZSB0aWxiYWdlCisgICAgIHRpbCBub3JtYWwgdGlsc3RhbmQuIEdlbnRhZyB0cmluIDIgdGlsIDQgZm9yIGF0IHJldHRlIHPmdG5pbmdlbi4KKworLS0tPiBEZXIgbWFuZ2xlciB0ZWtzdCBkZW5lIC4KKy0tLT4gRGVyIG1hbmdsZXIgbm9nZXQgdGVrc3QgcOUgZGVubmUgbGluamUuCisKKyAgNS4gTuVyIGR1IGZvcnRyb2xpZyBtZWQgYXQgaW5kc+Z0dGUgdGVrc3QsIHPlIGZseXQgdGlsIGxla3Rpb24gMS41LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiAxLjU6IFRFS1NUUkVESUdFUklORyAtIFZFREjGRlQKKworCisJCQkqKiBUcnlrIHDlICBBICBmb3IgYXQgdmVkaOZmdGUgdGVrc3QuICoqCisKKyAgMS4gRmx5dCBtYXJr+HJlbiBuZWQgdGlsIGRlbiBm+HJzdGUgbGluamUgbWVkIC0tLT4uCisgICAgIERldCBlciBsaWdlIG1lZ2V0IGh2aWxrZXQgdGVnbiBtYXJr+HJlbiBlciBw5SwgcOUgbGluamVuLgorCisgIDIuIFRyeWsgcOUgIEEgIG9nIHNrcml2IGRlIG74ZHZlbmRpZ2UgdGlsZvhqZWxzZXIuCisKKyAgMy4gVHJ5ayBw5SA8RVNDPiBu5XIgdGVrc3RlbiBlciBibGV2ZXQgdmVkaOZmdGV0IGZvciBhdCB2ZW5kZSB0aWxiYWdlIHRpbCBub3JtYWwgdGlsc3RhbmQuCisKKyAgNC4gRmx5dCBtYXJr+HJlbiB0aWwgZGVuIGFuZGVuIGxpbmplIG1lZCAtLS0+IG9nIGdlbnRhZworICAgICB0cmluIDIgb2cgMyBmb3IgYXQgcmV0dGUgc+Z0bmluZ2VuLgorCistLS0+IERlciBtYW5nbGVyIG5vZ2V0IHRla3N0IHDlIGRlbgorICAgICBEZXIgbWFuZ2xlciBub2dldCB0ZWtzdCBw5SBkZW5uZSBsaW5qZS4KKy0tLT4gRGVyIG1hbmdsZXIgb2dz5SBub2dldCB0ZWsKKyAgICAgRGVyIG1hbmdsZXIgb2dz5SBub2dldCB0ZWtzdCBoZXIuCisKKyAgNS4gTuVyIGR1IGVyIGZvcnRyb2xpZyBtZWQgYXQgdmVkaOZmdGUgdGVrc3QsIHPlIGZseXQgdGlsIGxla3Rpb24gMS42LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgICAgTGVrdGlvbiAxLjY6IFJFRElHRVIgRU4gRklMCisKKwkJICAgICoqIEJydWcgIDp3cSAgdGlsIGF0IGdlbW1lIGVuIGZpbCBvZyBhZnNsdXR0ZS4gKioKKworICAhISBCRU3GUks6IEzmcyBoZWxlIGxla3Rpb25lbiwgaW5kZW4gdHJpbm5lbmUgbmVkZW5mb3IgdWRm+HJlcyEhCisKKyAgMS4gQWZzbHV0IHZlamxlZG5pbmdlbiBzb20gZHUgZ2pvcmRlIGkgbGVrdGlvbiAxLjI6ICA6cSEKKyAgICAgRWxsZXIgZ/hyIGb4bGdlbmRlIGkgZW4gYW5kZW4gdGVybWluYWwsIGh2aXMgZHUgaGFyIGFkZ2FuZyB0aWwgZW4uCisKKyAgMi4gU2tyaXYgZGVubmUga29tbWFuZG8gaSBza2FscHJvbXB0ZW46ICB2aW0gdHV0b3IgPEVOVEVSPgorICAgICAndmltJyBlciBrb21tYW5kb2VuIHRpbCBhdCBzdGFydGUgVmltLWVkaXRvcmVuLCAndHV0b3InIGVyIG5hdm5ldCBw5QorICAgICBmaWxlbiBzb20gZHUgdmlsIHJlZGlnZXJlLiBCcnVnIGVuIGZpbCBzb20ga2FuIOZuZHJlcy4KKworICAzLiBJbmRz5nQgb2cgc2xldCB0ZWtzdCwgc29tIGR1IGzmcnRlIHZpIGRlIGZvcnJpZ2UgbGVrdGlvbmVyLgorCisgIDQuIEdlbSBmaWxlbiBtZWQg5m5kcmluZ2VyIG9nIGFmc2x1dCBWaW0gbWVkOiAgOndxICA8RU5URVI+CisKKyAgNS4gSHZpcyBkdSBhZnNsdXR0ZWRlIHZpbXR1dG9yIGkgdHJpbiAxLCBz5SBnZW5zdGFydCB2aW10dXRvciBvZyBmbHl0IG5lZAorICAgICB0aWwgZvhsZ2VuZGUgb3BzdW1tZXJpbmcuCisKKyAgNi4gVWRm+HIgdHJpbm5lbmUgb3ZlbmZvciwgbuVyIGR1IGhhciBs5nN0IG9nIGZvcnN05WV0IGRlbS4KKyAgCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gMSBPUFNVTU1FUklORworCisKKyAgMS4gTWFya/hyZW4gZmx5dHRlcyBlbnRlbiBtZWQgcGlsZXRhc3Rlcm5lIGVsbGVyIGhqa2wtdGFzdGVybmUuCisJIGggKHZlbnN0cmUpCWogKG5lZCkgICAgICAgayAob3ApCSAgICBsICho+GpyZSkKKworICAyLiBWaW0gc3RhcnRlcyBmcmEgc2thbHByb21wdGVuLCB2ZWQgYXQgc2tyaXZlOiAgdmltIEZJTE5BVk4gPEVOVEVSPgorCisgIDMuIFZpbSBhZnNsdXR0ZXMsIHZlZCBhdCBza3JpdmU6CSAgIDxFU0M+ICAgOnEhCSA8RU5URVI+ICBmb3IgYXQgZm9ya2FzdGUgYWxsZSDmbmRyaW5nZXIuCisJICAgICBFTExFUiwgdmVkIGF0IHNrcml2ZToJICAgPEVTQz4gICA6d3EJIDxFTlRFUj4gIGZvciBhdCBnZW1tZSDmbmRyaW5nZXJuZS4KKworICA0LiBTbGV0IHRlZ24gdmVkIG1hcmv4cmVuLCB2ZWQgYXQgc2tyaXZlOiAgeAorCisgIDUuIEluZHPmdCBlbGxlciB2ZWRo5mZ0IHRla3N0LCB2ZWQgYXQgc2tyaXZlOgorCSBpICAgc2tyaXYgaW5kc2F0IHRla3N0ICAgICAgIDxFU0M+CQlpbmRz5nQgaW5kZW4gbWFya/hyZW4KKwkgQSAgIHNrcml2IHZlZGjmZnRldCB0ZWtzdCAgICA8RVNDPgkJdmVkaOZmdCBlZnRlciBsaW5qZW4KKworQkVNxlJLOiBO5XIgZGVyIHRyeWtrZXMgcOUgPEVTQz4sIHPlIHN0aWxsZXMgZHUgaSBub3JtYWwgdGlsc3RhbmQgZWxsZXIgb2dz5QorICAgICAgICBhbm51bGxlcmVzIGVuIHX4bnNrZXQgb2cgZGVsdmlzdCBmdWxkZvhydCBrb21tYW5kby4KKworRm9ydHPmdCBudSBtZWQgbGVrdGlvbiAyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gMi4xOiBTTEVUVEVLT01NQU5ET0VSCisKKworCQkgICAgICAgKiogU2tyaXYgIGR3ICBmb3IgYXQgc2xldHRlIGV0IG9yZC4gKioKKworICAxLiBUcnlrIHDlICA8RVNDPiAgZm9yIGF0IHbmcmUgc2lra2VyIHDlLCBhdCBkdSBlciBpIG5vcm1hbCB0aWxzdGFuZC4KKworICAyLiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgbGluamVuIG1lZCAtLS0+LgorCisgIDMuIEZseXQgbWFya/hyZW4gdGlsIGJlZ3luZGVsc2VuIGFmIGV0IG9yZCBzb20gc2thbCBzbGV0dGVzLgorCisgIDQuIFNrcml2ICAgZHcJIGZvciBhdCBm5SBvcmRldCB0aWwgYXQgZm9yc3ZpbmRlLgorCisgIEJFTcZSSzogQm9nc3RhdmV0ICBkICB2aXNlcyBw5SBkZW4gc2lkc3RlIGxpbmplIHDlIGRlbiBza+ZybSBkdSBza3JldgorCQlkZXQgcOUuIFZpbSB2ZW50ZXIgcOUgYXQgZHUgc2tyaXZlciAgdyAuIEh2aXMgZHUgc2VyIGV0IGFuZGV0IHRlZ24KKwkJZW5kICBkICAsIHPlIHNrcmV2IGR1IGZvcmtlcnQ7IHRyeWsgcOUgIDxFU0M+ICBvZyBzdGFydCBmb3JmcmEuCisKKy0tLT4gRGVyIGVyIHJlZ25vcm0gbm9nbGUgb3JkIHNvbSBzam92dCBpa2tlIGj4cmVyIHRpbCBwYXBpciBpIHPmdG5pbmdlbi4KKworICA1LiBHZW50YWcgdHJpbiAzIG9nIDQgaW5kdGlsIHPmdG5pbmdlbiBlciBrb3JyZWt0IG9nIGflIHRpbCBsZWt0aW9uIDIuMi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla3Rpb24gMi4yOiBGTEVSRSBTTEVUVEVLT01NQU5ET0VSCisKKworCSAgICoqIFNrcml2ICBkJAlmb3IgYXQgc2xldHRlIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbi4gKioKKworICAxLiBUcnlrIHDlICA8RVNDPiAgZm9yIGF0IHbmcmUgc2lra2VyIHDlLCBhdCBkdSBlciBpIG5vcm1hbCB0aWxzdGFuZC4KKworICAyLiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgbGluamVuIG1lZCAtLS0+LgorCisgIDMuIEZseXQgbWFya/hyZW4gdGlsIHNsdXRuaW5nZW4gYWYgZGVuIHJldHRlIGxpbmplIChFRlRFUiBkZXQgZvhyc3RlIC4gKS4KKworICA0LiBTa3JpdiAgICBkJCAgICBmb3IgYXQgc2xldHRlIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbi4KKworLS0tPiBOb2dlbiBza3JldiBzbHV0bmluZ2VuIGFmIGxpbmplbiB0byBnYW5nZS4gc2x1dG5pbmdlbiBhZiBsaW5qZW4gdG8gZ2FuZ2UuCisKKworICA1LiBGbHl0IHZpZGVyZSB0aWwgbGVrdGlvbiAyLjMgZm9yIGF0IGZvcnN05SBodmFkIGRlciBza2VyLgorCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gMi4zOiBPTSBPUEVSQVRPUkVSIE9HIEJFVsZHRUxTRVIKKworCisgIE1hbmdlIGtvbW1hbmRvZXIgc29tIOZuZHJlIHRla3N0IHNrYWJlcyBmcmEgZW4gb3BlcmF0b3Igb2cgZW4gYmV25mdlbHNlLgorICBGb3JtYXRldCB0aWwgZW4gc2xldHRla29tbWFuZG8gbWVkIHNsZXR0ZW9wZXJhdG9yZW4gIGQgIGVyIHNvbSBm+GxnZXI6CisKKyAgCWQgICBiZXbmZ2Vsc2UKKworICBIdm9yOgorICAgIGQgICAgICAgICAtIGVyIHNsZXR0ZW9wZXJhdG9yZW4uCisgICAgYmV25mdlbHNlIC0gZXIgaHZhZCBvcGVyYXRvcmVuIHNrYWwgYXJiZWpkZSBw5SAob3BsaXN0ZXQgbmVkZW5mb3IpLgorCisgIEVuIGtvcnQgbGlzdGUgb3ZlciBiZXbmZ2Vsc2VyOgorICAgIHcgLSBpbmR0aWwgYmVneW5kZWxzZW4gYWYgZGV0IG7mc3RlIG9yZCwgRUtTS0xVU0lWIGRldHMgZvhyc3RlIHRlZ24uCisgICAgZSAtIHRpbCBzbHV0bmluZ2VuIGFmIGRldCBudXbmcmVuZGUgb3JkLCBJTktMVVNJViBkZXQgc2lkc3RlIHRlZ24uCisgICAgJCAtIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbiwgSU5LTFVTSVYgZGV0IHNpZHN0ZSB0ZWduLgorCisgIFPlIG7lciBkZXIgc2tyaXZlcyAgZGUgIHPlIHNsZXR0ZXMgZGVyIGZyYSBtYXJr+HJlbiB0aWwgc2x1dG5pbmdlbiBhZiBvcmRldC4KKworQkVNxlJLOiBO5XIga3VuIGJlduZnZWxzZW4gdHJ5a2tlcyBpIG5vcm1hbCB0aWxzdGFuZCwgdWRlbiBlbiBvcGVyYXRvciwKKyAgICAgICAgc+UgZmx5dHRlcyBtYXJr+HJlbiBzb20gYW5naXZldC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWt0aW9uIDIuNDogQlJVRyBUxkxMRVIgVElMIEVOIEJFVsZHRUxTRQorCisKKyAgICoqIE7lciBkZXIgc2tyaXZlcyBldCBudW1tZXIgaW5kZW4gZW4gYmV25mdlbHNlLCBz5SBnZW50YWdlcyBkZW4gZGV0IGFudGFsIGdhbmdlLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBiZWd5bmRlbHNlbiBhZiBsaW5qZW4gbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgIDJ3ICBmb3IgYXQgZmx5dHRlIG1hcmv4cmVuIGZyZW1hZCB0byBvcmQuCisKKyAgMy4gU2tyaXYgIDNlICBmb3IgYXQgZmx5dHRlIG1hcmv4cmVuIGZyZW1hZCB0aWwgc2x1dG5pbmdlbiBhZiBkZXQgdHJlZGplIG9yZC4KKworICA0LiBTa3JpdiAgMCAgKG51bCkgZm9yIGF0IGZseXR0ZSB0aWwgYmVneW5kZWxzZW4gYWYgbGluamVuLgorCisgIDUuIEdlbnRhZyB0cmluIDIgb2cgMyBtZWQgZm9yc2tlbGxpZ2UgbnVtcmUuCisKKy0tLT4gRGV0dGUgZXIgYmxvdCBlbiBsaW5qZSBtZWQgb3JkIHNvbSBkdSBrYW4gZmx5dHRlIHJ1bmR0IGkuCisKKyAgNi4gRmx5dCB2aWRlcmUgdGlsIGxla3Rpb24gMi41LgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgTGVrdGlvbiAyLjU6IEJSVUcgVMZMTEVSIFRJTCBBVCBTTEVUVEUgRkxFUkUKKworCisgICAqKiBO5XIgZGVyIHNrcml2ZXMgZXQgbnVtbWVyIG1lZCBlbiBvcGVyYXRvciwgc+UgZ2VudGFnZXMgZGVuIGRldCBhbnRhbCBnYW5nZS4gKioKKworICBJIGtvbWJpbmF0aW9uZW4gbWVkIHNsZXR0ZW9wZXJhdG9yZW4gb2cgZW4gYmV25mdlbHNlIG7mdm50IG92ZW5mb3Iga2FuIGR1CisgIGluZHPmdHRlIGVuIHTmbGxlciBpbmRlbiBiZXbmZ2Vsc2VuIGZvciBhdCBzbGV0dGUgZmxlcmU6CisJIGQgICBudW1tZXIgICBiZXbmZ2Vsc2UKKworICAxLiBGbHl0IG1hcmv4cmVuIHRpbCBkZXQgZvhyc3RlIG9yZCBNRUQgU1RPUlQgcOUgbGluamVuIG1lZCAtLS0+LgorCisgIDIuIFNrcml2ICBkMncgIGZvciBhdCBzbGV0dGUgZGUgdG8gb3JkIE1FRCBTVE9SVAorCisgIDMuIEdlbnRhZyB0cmluIDEgb2cgMiBtZWQgZW4gYW5kZW4gdOZsbGVyIGZvciBhdCBzbGV0dGUgZGUgZWZ0ZXJm+GxnZW5kZQorICAgICBvcmQgTUVEIFNUT1JUIG1lZCDpbiBrb21tYW5kbworCistLS0+ICBkZW5uZSBBQkMgREUgbGluamUgRkdISSBKSyBMTU4gT1AgbWVkIG9yZCBlciBRIFJTIFRVViByZW5zZXQuCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgTGVrdGlvbiAyLjY6IEFSQkVKRCBQxSBMSU5KRVIKKworCisJCSAgICoqIFNrcml2ICBkZCAgIGZvciBhdCBzbGV0dGUgZW4gaGVsIGxpbmplLiAqKgorCisgIFBnYS4gYXQgc2xldG5pbmcgYWYgbGluamVyIGJydWdlcyBz5SBvZnRlLCBz5SBiZXNsdXR0ZWRlIGRlc2lnbmVybmUgYWYgVmkKKyAgYXQgZGV0IHZpbGxlIHbmcmUgbGV0dGVyZSBiYXJlIGF0IHNrcml2ZSB0byBkJ2VyIGZvciBhdCBzbGV0dGUgZW4gbGluamUuCisKKyAgMS4gRmx5dCBtYXJr+HJlbiB0aWwgZGVuIGFuZGVuIGxpbmplIGkgZnJhc2VuIG5lZGVuZm9yLgorICAyLiBTa3JpdiAgZGQgIGZvciBhdCBzbGV0dGUgbGluamVuLgorICAzLiBGbHl0IG51IHRpbCBkZW4gZmplcmRlIGxpbmplLgorICA0LiBTa3JpdiAgIDJkZCAgIGZvciBhdCBzbGV0dGUgdG8gbGluamVyLgorCistLS0+ICAxKSAgUm9zZXIgZXIgcvhkZSwKKy0tLT4gIDIpICBNdWRkZXIgZXIgc2pvdnQsCistLS0+ICAzKSAgVmlvbGVyIGVyIGJs5SwKKy0tLT4gIDQpICBKZWcgaGFyIGVuIHNjb290ZXIsCistLS0+ICA1KSAgVXJlIHZpc2VyIHRpZGVuLAorLS0tPiAgNikgIFN1a2tlciBlciBz+GR0CistLS0+ICA3KSAgT2cgZHUgZXIgbGlnZSBz5S4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWt0aW9uIDIuNzogRk9SVFJZRC1LT01NQU5ET0VOCisKKworICAgKiogVHJ5ayBw5SAgdQlmb3IgYXQgZm9ydHJ5ZGUgZGUgc2lkc3RlIGtvbW1hbmRvZXIsICAgVSAgZm9yIGF0IHJldHRlIGVuIGhlbCBsaW5qZS4gKioKKworICAxLiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgbGluamVuIG1lZCAtLS0+IG9nIHBsYWNlciBkZW4gcOUKKyAgICAgZGVuIGb4cnN0ZSBmZWpsLgorICAyLiBTa3JpdiAgeCAgZm9yIGF0IHNsZXR0ZSBkZXQgZvhyc3RlIHX4bnNrZWRlIHRlZ24uCisgIDMuIFNrcml2IG51ICB1ICBmb3IgYXQgZm9ydHJ5ZGUgZGVuIHNpZHN0ZSBrb21tYW5kbyBkZXIgYmxldiB1ZGb4cnQuCisgIDQuIFJldCBkZW5uZSBnYW5nIGFsbGUgZmVqbGVuZSBw5SBsaW5qZW4gbWVkICAgeC1rb21tYWRvZW4uCisgIDUuIFNrcml2IG51IGV0IHN0b3J0ICBVICBmb3IgYXQgZuUgbGluamVuIHRpbGJhZ2UgdGlsIGRlbnMgb3ByaW5kZWxpZ2UgdGlsc3RhbmQuCisgIDYuIFNrcml2IG51ICB1ICBub2dsZSBm5SBnYW5nZSBmb3IgYXQgZm9ydHJ5ZGUgIFUnZXQgIG9nIGZvcnVkZ+VlbmRlIGtvbW1hbmRvZXIuCisgIDcuIFNrcml2IG51IENUUkwtUiAoaG9sZCBDVFJMLXRhc3RlbiBuZWRlIG1lbnMgZGVyIHRyeWtrZXMgcOUgUikgbm9nbGUgZuUgZ2FuZ2UKKyAgICAgZm9yIGF0IG9tZ/hyZSBrb21tYW5kb2VybmUgKGZvcnRyeWQgZm9ydHJ5ZGVsc2VybmUpLgorCistLS0+IFJldHQgZmVqbGVuZSBwcOUgbGlpbmplbiBvZyBlcnJzdGF0IGRlbSBtZWVkIGZvcnRyeWQuCisKKyAgOC4gRGV0IGVyIG1lZ2V0IG55dHRpZ2Uga29tbWFuZG9lci4gRmx5dCBudSB0aWwgbGVrdGlvbiAyIG9wc3VtbWVyaW5nLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gMiBPUFNVTU1FUklORworCisKKyAgMS4gU2xldCBmcmEgbWFya/hyZW4gb3AgdGlsIGRldCBu5nN0ZSBvcmQsIHZlZCBhdCBza3JpdmU6ICAgIGR3CisgIDIuIFNsZXQgZnJhIG1hcmv4cmVuIHRpbCBzbHV0bmluZ2VuIGFmIGVuIGxpbmplLCB2ZWQgYXQgc2tyaXZlOiAgICBkJAorICAzLiBTbGV0IGVuIGhlbCBsaW5qZSwgdmVkIGF0IHNrcml2ZTogICAgZGQKKworICA0LiBHZW50YWcgZW4gYmV25mdlbHNlIHZlZCBhdCB2ZWRo5mZ0ZSBldCBudW1tZXIgaSBiZWd5bmRlbHNlbjogICAydworICA1LiBGb3JtYXRldCB0aWwgZW4g5m5kci1rb21tYW5kbyBlcjoKKyAgICAgICAgICAgICAgIG9wZXJhdG9yICAgW251bW1lcl0gICBiZXbmZ2Vsc2UKKyAgICAgaHZvcjoKKyAgICAgICBvcGVyYXRvciAgICAtIGVyIGh2YWQgZGVyIHNrYWwgZ/hyZXMsIHPlc29tICBkICBmb3IgYXQgc2xldHRlCisgICAgICAgW251bW1lcl0gICAgLSBlciBlbiB2YWxnZnJpIHTmbGxlciB0aWwgYXQgZ2VudGFnZSBiZXbmZ2Vsc2VuCisgICAgICAgYmV25mdlbHNlICAgLSBmbHl0dGVyIG92ZXIgdGVrc3RlbiBzb20gZGVyIHNrYWwgYXJiZWpkZSBw5Swgc+Vzb20gIHcgKG9yZCksCisJCSAgICQgKHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbiksIG9zdi4KKworICA2LiBGbHl0IHRpbCBiZWd5bmRlbHNlbiBhZiBsaW5qZW4gbWVkIGV0IG51bDogIDAKKworICA3LiBGb3J0cnlkIHRpZGxpZ2VyZSBoYW5kbGluZ2VyLCB2ZWQgYXQgc2tyaXZlOiAJICAgdSAgKGxpbGxlIHUpCisgICAgIEZvcnRyeWQgYWxsZSDmbmRyaW5nZXJuZSBw5SBlbiBsaW5qZSwgdmVkIGF0IHNrcml2ZTogIFUgIChzdG9ydCBVKQorICAgICBGb3J0cnlkIGZvcnRyeWRlbHNlcm5lLCB2ZWQgYXQgc2tyaXZlOgkJICAgQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla3Rpb24gMy4xOiBQVVQtSU5EU8ZUVEUtS09NTUFORE9FTgorCisKKyAgICAgICAqKiBTa3JpdglwICBmb3IgYXQgcHV0LWluZHPmdHRlIHRpZGxpZ2VyZSBzbGV0dGVkZSB0ZWtzdCBlZnRlciBtYXJr+HJlbi4gKioKKworICAxLiBGbHl0IG1hcmv4cmVuIG5lZCB0aWwgZGVuIGb4cnN0ZSBsaW5qZSBtZWQgLS0tPi4KKworICAyLiBTa3JpdiAgZGQgIGZvciBhdCBzbGV0dGUgbGluamVuIG9nIGdlbW1lIGRlbiBpIGV0IFZpbS1yZWdpc3Rlci4KKworICAzLiBGbHl0IG1hcmv4cmVuIHRpbCBjKS1saW5qZW4sIE9WRVIgaHZvciBkZW4gc2xldHRlZGUgbGluamUgc2thbCB25nJlLgorCisgIDQuIFNrcml2ICAgcCAgIGZvciBhdCBwdXQtaW5kc+Z0dGUgbGluamVuIG5lZGVudW5kZXIgbWFya/hyZW4uCisKKyAgNS4gR2VudGFnIHRyaW4gMiB0aWwgNCBmb3IgYXQgcHV0LWluZHPmdHRlIGFsbGUgbGluamVybmUgaSBkZW4gcmlndGlnZSBy5mtrZWb4bGdlLgorCistLS0+IGQpIEthbiBkdSBs5nJlIGxpZ2Ugc+U/CistLS0+IGIpIFZpb2xlciBlciBibOUsCistLS0+IGMpIEludGVsbGlnZW5zIHNrYWwgbOZyZXMsCistLS0+IGEpIFJvc2VyIGVyIHL4ZGUsCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgICBMZWt0aW9uIDMuMjogRVJTVEFULUtPTU1BTkRPRU4KKworCisgICAgICAgKiogU2tyaXYgIHJ4ICBmb3IgYXQgZXJzdGF0dGUgdGVnbmV0IHZlZCBtYXJr+HJlbiBtZWQgIHggLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBkZW4gZvhyc3RlIGxpbmplIG1lZCAtLS0+LgorCisgIDIuIEZseXQgbWFya/hyZW4gc+UgZGVuIGVyIG92ZW5w5SBkZW4gZvhyc3RlIGZlamwuCisKKyAgMy4gU2tyaXYgICByCW9nIHPlIHRlZ25ldCBzb20gc2thbCB25nJlIGRlci4KKworICA0LiBHZW50YWcgdHJpbiAyIG9nIDMgaW5kdGlsIGRlbiBm+HJzdGUgbGluamUgZXIgbWFnZW4gdGlsIGRlbiBhbmRlbi4KKworLS0tPiAgRGVmIHZhciBub2hlbiBkZXIgdHJ1a2tlZGUgcOUgZGUgZm9ya2VyZ2UgdGFzdGVyLCBkYSBsaW5qZW0gYmxldiBza3JldmV0IQorLS0tPiAgRGVyIHZhciBub2dlbiBkZXIgdHJ5a2tlZGUgcOUgZGUgZm9ya2VydGUgdGFzdGVyLCBkYSBsaW5qZW4gYmxldiBza3JldmV0IQorCisgIDUuIEZseXQgbnUgdmlkZXJlIHRpbCBsZWt0aW9uIDMuMy4KKworQkVNxlJLOiBIdXNrIHDlIGF0IGR1IHNrYWwgbOZyZSB2ZWQgYXQgZ/hyZSBkZXQsIGlra2UgdmVkIGF0IGzmcmUgZGV0IHVkZW5hZC4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrdGlvbiAzLjM6IMZORFJJTkdTT1BFUkFUT1JFTgorCisKKwkgICAqKiDGbmRyIGluZHRpbCBzbHV0bmluZ2VuIGFmIGV0IG9yZCwgdmVkIGF0IHNrcml2ZSAgY2UgLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBkZW4gZvhyc3RlIGxpbmplIG1lZCAtLS0+LgorCisgIDIuIFBsYWNlciBtYXJr+HJlbiBw5SAgaydldCAgaSAgbGlraWJqLgorCisgIDMuIFNrcml2ICBjZSAgb2cgZGV0IGtvcnJla3RlIG9yZCAoaSBkZXR0ZSB0aWxm5mxkZSBza3JpdmVzICBuamVuICkuCisKKyAgNC4gVHJ5ayBw5SA8RVNDPiBvZyBmbHl0IHRpbCBkZXQgbuZzdGUgdGVnbiBkZXIgc2thbCDmbmRyZXMuCisKKyAgNS4gR2VudGFnIHRyaW4gMyBvZyA0IGluZHRpbCBkZW4gZvhyc3RlIHPmdG5pbmcgZXIgbWFnZW4gdGlsIGRlbiBhbmRlbi4KKworLS0tPiBMaWtpYmogaGFyIG5vZ2xlIGblIG5kbyBzb20gdm5lcyDmbmRyZXMgdnJmIOZuZHJpbmdzb3BlcmF0b3Jlbi4KKy0tLT4gTGluamVuIGhhciBub2dsZSBm5SBvcmQgc29tIHNrYWwg5m5kcmVzIG1lZCDmbmRyaW5nc29wZXJhdG9yZW4uCisKK0JlbeZyayBhdCAgY2UgIHNsZXR0ZXIgb3JkZXQgb2cgc3RpbGxlciBkaWcgaSBpbmRz5nQtdGlsc3RhbmQuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla3Rpb24gMy40OiBGTEVSRSDGTkRSSU5HRVIgTUVEIGMKKworCisgICAgICoqIMZORFJJTkdTT1BFUkFUT1JFTiBicnVnZXMgbWVkIGRlIHNhbW1lIGJlduZnZWxzZXIgc29tIHNsZXQuICoqCisKKyAgMS4gxm5kcmluZ3NvcGVyYXRvcmVuIHZpcmtlciBw5SBzYW1tZSBt5WRlIHNvbSBzbGV0LiBGb3JtYXRldCBlcjoKKworICAgICAgICAgYyAgICBbbnVtbWVyXSAgIGJlduZnZWxzZQorCisgIDIuIEJlduZnZWxzZXJuZSBlciBkZSBzYW1tZSwgc+Vzb20gICB3IChvcmQpIG9nICAkIChzbHV0bmluZ2VuIGFmIGxpbmplbikuCisKKyAgMy4gRmx5dCBuZWQgdGlsIGRlbiBm+HJzdGUgbGluamUgbWVkIC0tLT4uCisKKyAgNC4gRmx5dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBmZWpsLgorCisgIDUuIFNrcml2ICBjJCAgb2cgc2tyaXYgcmVzdGVuIGFmIGxpbmplbiBzb20gZGVuIGFuZGVuIGxpbmplIG9nIHRyeWsgcOUgPEVTQz4uCisKKy0tLT4gU2x1dG5pbmdlbiBhZiBsaW5qZW4gaGFyIGJydWcgZm9yIGxpZHQgaGrmbHAgdGlsIGF0IGJsaXZlIGxpZ2Vzb20gZGVuIGFuZGVuLgorLS0tPiBTbHV0bmluZ2VuIGFmIGxpbmplbiBza2FsIHJldHRlcyBtZWQgICBjJC1rb21tYW5kb2VuLgorCitCRU3GUks6IER1IGthbiBicnVnZSBiYWNrc3BhY2UtdGFzdGVuIHRpbCBhdCByZXR0ZSBmZWpsIG7lciBkdSBza3JpdmVyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gMyBPUFNVTU1FUklORworCisKKyAgMS4gUHV0LWluZHPmdCB0ZWtzdCB0aWxiYWdlIHNvbSBsaWdlIGVyIGJsZXZldCBzbGV0dGV0LCB2ZWQgYXQgc2tyaXZlICAgcCAuCisgICAgIERldCBwdXQtaW5kc+Z0dGVyIGRlbiBzbGV0dGVkZSB0ZWtzdCBFRlRFUiBtYXJr+HJlbiAoaHZpcyBlbiBsaW5qZSBibGV2CisgICAgIHNsZXR0ZXQsIHPlIHZpbCBkZW4gduZyZSBw5SBsaW5qZW4gbmVkZW51bmRlciBtYXJr+HJlbikuCisKKyAgMi4gRXJzdGF0IHRlZ25ldCB1bmRlciBtYXJr+HJlbiwgdmVkIGF0IHNrcml2ZSAgIHIgICBvZyBz5QorICAgICB0ZWduZXQgc29tIGR1IHZpbCBoYXZlIGRlci4KKworICAzLiDGbmRyaW5nc29wZXJhdG9yZW4gZ2l2ZXIgZGlnIG11bGlnaGVkIGZvciBhdCDmbmRyZSBmcmEgbWFya/hyZW4gdGlsIGh2b3IKKyAgICAgYmV25mdlbHNlbiB0YWdlciBkaWcgaGVuLiBTa3JpdiBmLmVrcy4gIGNlICBmb3IgYXQg5m5kcmUgZnJhIG1hcmv4cmVuIHRpbAorICAgICBzbHV0bmluZ2VuIGFmIG9yZGV0LCAgYyQgIGZvciBhdCDmbmRyZSB0aWwgc2x1dG5pbmdlbiBhZiBlbiBsaW5qZW4uCisKKyAgNC4gRm9ybWF0ZXQgdGlsIGF0IOZuZHJlIGVyOgorCisJIGMgICBbbnVtbWVyXSAgIGJlduZnZWxzZQorCitH5SBudSB2aWRlcmUgdGlsIGRlbiBu5nN0ZSBsZWt0aW9uLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExla3Rpb24gNC4xOiBNQVJL2FJQTEFDRVJJTkcgT0cgRklMU1RBVFVTCisKKyAgKiogU2tyaXYgQ1RSTC1HIGZvciBhdCB2aXNlIGRpbiBwbGFjZXJpbmcgaSBmaWxlbiBvZyBmaWxzdGF0dXNzZW4uCisgICAgIFNrcml2ICBHICBmb3IgYXQgZmx5dHRlIHRpbCBlbiBsaW5qZSBpIGZpbGVuLiAqKgorCisgIEJFTcZSSzogTOZzIGhlbGUgbGVrdGlvbmVuLCBpbmRlbiB0cmlubmVuZSB1ZGb4cmVzISEKKworICAxLiBIb2xkIEN0cmwtdGFzdGVuIG5lZGUgb2cgdHJ5ayBw5SAgZyAuIFZpIGthbGRlciBkZXQgQ1RSTC1HLgorICAgICBEZXIgdmlzZXMgZW4gbWVkZGVsZWxzZSBuZWRlcnN0IHDlIHNpZGVuIG1lZCBmaWxuYXZuZXQgb2cKKyAgICAgcGxhY2VyaW5nZW4gaSBmaWxlbi4gSHVzayBsaW5qZW51bW1lcmV0IHRpbCB0cmluIDMuCisKK0JFTcZSSzogRHUgc2VyIG11bGlndmlzIG1hcmv4cnBsYWNlcmluZ2VuIG5lZGVyc3QgaSBo+GpyZSBoavhybmUgYWYgc2vmcm1lbi4KKyAgICAgICAgRGV0IHNrZXIgbuVyICdydWxlcictdmFsZ211bGlnaGVkZW4gZXIgc2F0IChzZSAgOmhlbHAgJ3J1bGVyJyAgKQorCisgIDIuIFRyeWsgcOUgIEcgIGZvciBhdCBmbHl0dGUgZGlnIG5lZGVyc3QgaSBmaWxlbi4KKyAgICAgU2tyaXYgIGdnICBmb3IgYXQgZmx5dHRlIGRpZyD4dmVyc3QgaSBmaWxlbi4KKworICAzLiBTa3JpdiBudW1tZXJldCBw5SBkZW4gbGluamUgZHUgdmFyIHDlLCBvZyBz5SAgRyAuIERldAorICAgICByZXR1cm5lcmVyIGRpZyB0aWwgZGVuIGxpbmplIGR1IHZhciBw5SBkYSBkdSBm+HJzdGUgdHJ5a2tlZGUgcOUgQ1RSTC1HLgorCisgIDQuIEh2aXMgZHUgZvhsZXIgZGlnIGtsYXIgdGlsIGF0IGf4cmUgZGV0LCBz5SB1ZGb4cmUgdHJpbiAxIHRpbCAzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gNC4yOiBT2EctS09NTUFORE9FTgorCisKKyAgICAgKiogU2tyaXYgIC8gIGVmdGVyZnVsZ3QgYWYgZW4gZnJhc2UgZm9yIGF0IHP4Z2UgZWZ0ZXIgZnJhc2VuLiAqKgorCisgIDEuIEkgbm9ybWFsIHRpbHN0YW5kLCBza3JpdiAgLy10ZWduZXQgIC4gQmVt5nJrIGF0IGRldCBvZyBtYXJr+HJlbgorICAgICB2aXNlcyBpIGJ1bmRlbiBhZiBza+ZybWVuIHNvbSBtZWQgIDota29tbWFuZG9lbgkuCisKKyAgMi4gU2tyaXYgbnUgJ2ZlZWVqamwnIDxFTlRFUj4uIERldCBlciBvcmRldCBkdSB2aWwgc/hnZSBlZnRlci4KKworICAzLiBT+GcgZWZ0ZXIgZGVuIHNhbW1lIGZyYXNlIGlnZW4sIHZlZCBibG90IGF0IHNrcml2ZSAgbiAuCisgICAgIFP4ZyBlZnRlciBkZW4gc2FtbWUgZnJhc2UgaSBkZW4gYW5kZW4gcmV0bmluZywgdmVkIGF0IHNrcml2ZSAgTiAuCisKKyAgNC4gU/hnIGVmdGVyIGVuIGZyYXNlIGkgZGVuIG1vZHNhdHRlIHJldG5pbmcsIHZlZCBhdCBicnVnZSAgPyAgaSBzdGVkZXQgZm9yICAvIC4KKworICA1LiBH5SB0aWxiYWdlIGh2b3IgZHUga29tIGZyYSwgdmVkIGF0IHRyeWtrZSBw5SAgQ1RSTC1PICAoSG9sZCBDdHJsIG5lZGUgbWVucworICAgICBkZXIgdHJ5a2tlcyBw5SBib2dzdGF2ZXQgbykuIEdlbnRhZyBmb3IgYXQgZ+UgbOZuZ2VyZSB0aWxiYWdlLiBDVFJMLUkgZ+VyIGZyZW1hZC4KKworLS0tPiAgImZlZWVqamwiIGVyIGRlbiBmb3JrZXJ0ZSBt5WRlIGF0IHN0YXZlIHRpbCBmZWpsOyBmZWVlampsIGVyIGVuIGZlamwuCitCRU3GUks6IE7lciBz+GduaW5nZW4gbuVyIHNsdXRuaW5nZW4gYWYgZmlsZW4sIHPlIGZvcnRz5nR0ZXIgZGVuIHZlZAorICAgICAgICBiZWd5bmRlbHNlbiwgbWVuIG1pbmRyZSAnd3JhcHNjYW4nLXZhbGdtdWxpZ2hlZGVuIGVyIGJsZXZldCBzbOVldCBmcmEuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgTGVrdGlvbiA0LjM6IFPYRyBFRlRFUiBNT0RTVkFSRU5ERSBQQVJFTlRFU0VSCisKKworCSAgICAgICoqIFNrcml2ICAlICBmb3IgYXQgZmluZGUgZW4gbW9kc3ZhcmVuZGUgKSxdLCBlbGxlciB9IC4gKioKKworICAxLiBQbGFjZXIgbWFya/hyZW4gcOUgKCwgWywgZWxsZXIgeyBw5SBsaW5qZW4gbmVkZW5mb3IgbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgbnUgICUtdGVnbmV0ICAuCisKKyAgMy4gTWFya/hyZW4gZmx5dHRlciB0aWwgZGVuIG1vZHN2YXJlbmRlIHBhcmVudGVzIGVsbGVyIGtsYW1tZS4KKworICA0LiBTa3JpdiAgJSAgZm9yIGF0IGZseXR0ZSBtYXJr+HJlbiB0aWwgZGVuIGFuZGVuIG1vZHN2YXJlbmRlIGtsYW1tZS4KKworICA1LiBGbHl0IG1hcmv4cmVuIHRpbCBlbiBhbmRlbiAoLCksWyxdLHsgZWxsZXIgfSBvZyBzZSBodmFkICAlICBn+HIuCisKKy0tLT4gRGV0dGUgKCBlciBlbiB0ZXN0bGluamUgbWVkICgnZXIsIFsnZXIgXSBvZyB7J2VyIH0uICkpCisKKworQkVNxlJLOiBEZXQgZXIgbWVnZXQgbnl0dGlndCB2ZWQgZmVqbHJldG5pbmcgYWYgZXQgcHJvZ3JhbSBzb20gbWFuZ2xlcgorICAgICAgICBtb2RzdmFyZW5kZSBwYXJlbnRlc2VyIQorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgIExla3Rpb24gNC40OiBVRFNLSUZULUtPTU1BTkRPRU4KKworCisJKiogU2tyaXYgIDpzL2dhbW1lbC9ueS9nICBmb3IgYXQgdWRza2lmdGUgJ2dhbW1lbCcgbWVkICdueScuICoqCisKKyAgMS4gRmx5dCBtYXJr+HJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPi4KKworICAyLiBTa3JpdiAgOnMvZGV0dC9kZXQgPEVOVEVSPiAuIEJlbeZyayBhdCBrb21tYW5kb2VuIGt1biDmbmRyZSBkZW4KKyAgICAgZvhyc3RlIGZvcmVrb21zdCBhZiAiZGV0dCIgcOUgbGluamVuLgorCisgIDMuIFNrcml2IG51ICA6cy9kZXR0L2RldC9nIC4gTuVyICBnLWZsYWdldCAgdGlsZvhqZXMsIHPlIHVkc2tpZnRlcyBkZXIKKyAgICAgZ2xvYmFsdCBw5SBsaW5qZW4sIGFsdHPlIOZuZHJlIGFsbGUgZm9yZWtvbXN0ZXIgYWYgImRldHQiIHDlIGxpbmplbi4KKworLS0tPiBkZXR0IHNpZ2VzIGF0IGRldHQgZXIgYmVkc3QgYXQgc2UgcOUgYmxvbXN0ZXIgbuVyIGRldHQgZXIgZm9y5XIuCisKKyAgNC4gxm5kciBodmVyIGZvcmVrb21zdCBhZiBlbiB0ZWduc3RyZW5nIG1lbGxlbSB0byBsaW5qZXIsCisgICAgIHZlZCBhdCBza3JpdmUgICA6Iywjcy9nYW1tZWwvbnkvZyAgICBodm9yICMsIyBlciBsaW5qZW51bXJlbmUgb3ZlciBvbXLlZGV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZiBsaW5qZXIgaHZvciB1ZHNraWZ0bmluZ2VuIHNrYWwgc2tlLgorICAgICBTa3JpdiAgICAgICAgICAgOiVzL2dhbW1lbC9ueS9nICAgICAgZm9yIGF0IOZuZHJlIGh2ZXIgZm9yZWtvbXN0IGkgaGVsZSBmaWxlbi4KKyAgICAgU2tyaXYgICAgICAgICAgIDolcy9nYW1tZWwvbnkvZ2MgICAgIGZvciBhdCBmaW5kZSBodmVyIGZvcmVrb21zdCBpIGhlbGUgZmlsZW4sCisgICAgIAkJCSAgICAgICAgICAgICAgICAgIG1lZCBlbiBwcm9tcHQgb20gaHZvcnZpZHQgZGVyIHNrYWwgdWRza2lmdGVzIGVsbGVyIGVqLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gNCBPUFNVTU1FUklORworCisKKyAgMS4gQ1RSTC1HICB2aXNlciBkaW4gcGxhY2VyaW5nIGkgZmlsZW4gb2cgZmlsc3RhdHVzc2VuLgorICAgICAgICAgICAgIEcgIGZseXR0ZXIgdGlsIHNsdXRuaW5nZW4gYWYgZmlsZW4uCisgICAgIG51bW1lciAgRyAgZmx5dHRlciB0aWwgbGluamVudW1tZXJldC4KKyAgICAgICAgICAgIGdnICBmbHl0dGVyIHRpbCBkZW4gZvhyc3RlIGxpbmplLgorCisgIDIuIE7lciBkZXIgc2tyaXZlcyAgLwllZnRlcmZ1bGd0IGFmIGVuIGZyYXNlLCBz5SBz+GdlcyBkZXIgRlJFTUFEIGVmdGVyIGZyYXNlbi4KKyAgICAgTuVyIGRlciBza3JpdmVzICA/CWVmdGVyZnVsZ3QgYWYgZW4gZnJhc2UsIHPlIHP4Z2VzIGRlciBCQUdMxk5TIGVmdGVyIGZyYXNlbi4KKyAgICAgU2tyaXYgIG4gIGVmdGVyIGVuIHP4Z25pbmcsIGZvciBhdCBmaW5kZSBkZW4gbuZzdGUgZm9yZWtvbXN0IGkgZGVuIHNhbW1lIHJldG5pbmcsCisgICAgIGVsbGVyICBOICBmb3IgYXQgc/hnZSBpIGRlbiBtb2RzYXR0ZSByZXRuaW5nLgorICAgICBDVFJMLU8gdGFnZXIgZGlnIHRpbGJhZ2UgdGlsIOZsZHJlIHBsYWNlcmluZ2VyLCBDVFJMLUkgdGlsIG55ZXJlIHBsYWNlcmluZ2VyLgorCisgIDMuIE7lciBkZXIgc2tyaXZlcyAgJQltZW5zIG1hcmv4cmVuIGVyIHDlIGV0ICgsKSxbLF0seywgZWxsZXIgfSwgc+UgZ+VyIGRlbiB0aWwgZGVucyBtYXRjaC4KKworICA0LiBVZHNraWZ0IGRlbiBm+HJzdGUgZvhyc3RlIGdhbW1lbCBtZWQgbnkgcOUgZW4gbGluamUsIHZlZCBhdCBza3JpdmUgICAgOnMvZ2FtbWVsL255CisgICAgIFVkc2tpZnQgYWxsZSBnYW1tZWwgbWVkIG55IHDlIGVuIGxpbmplLCB2ZWQgYXQgc2tyaXZlCQkgICA6cy9nYW1tZWwvbnkvZworICAgICBVZHNraWZ0IGZyYXNlciBtZWxsZW0gdG8gbGluZW51bXJlLCB2ZWQgYXQgc2tyaXZlCQkJICAgOiMsI3MvZ2FtbWVsL255L2cKKyAgICAgVWRza2lmdCBhbGxlIGZvcmVrb21zdGVyIGkgZmlsZW4sIHZlZCBhdCBza3JpdmUJCQkgICA6JXMvZ2FtbWVsL255L2cKKyAgICAgU3D4cmcgb20gYmVrcuZmdGVsc2UgaHZlciBnYW5nLCB2ZWQgYXQgdGlsZvhqZSAnYycJCQkgICA6JXMvZ2FtbWVsL255L2djCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla3Rpb24gNS4xOiBVREbYUiBFTiBFS1NURVJOIEtPTU1BTkRPCisKKworICAgKiogU2tyaXYgIDohCWVmdGVyZnVsZ3QgYWYgZW4gZWtzdGVybiBrb21tYW5kbywgZm9yIGF0IHVkZvhyZSBrb21tYW5kb2VuLiAqKgorCisgIDEuIFNrcml2IGRlbiB2ZWxrZW5kdGUga29tbWFuZG8JOiAgZm9yIGF0IHPmdHRlIG1hcmv4cmVuIG5lZGVyc3QgcOUKKyAgICAgc2vmcm1lbi4gRGV0IGdpdmVyIGRpZyBtdWxpZ2hlZCBmb3IgYXQgaW5kdGFzdGUgZW4ga29tbWFuZG9saW5qZWtvbW1hbmRvLgorCisgIDIuIFNrcml2IG51ICAhLXRlZ25ldCAgKHVkcuVic3RlZ24pLiBEZXQgZ2l2ZXIgZGlnIG11bGlnaGVkCisgICAgIGZvciBhdCB1ZGb4cmUgZW5odmVyIGVrc3Rlcm4gc2thbGtvbW1hbmRvLgorCisgIDMuIFNrcml2IGYuZWtzLiAgIGxzICAgZWZ0ZXIgISBvZyB0cnlrIHPlIHDlIDxFTlRFUj4uIERldAorICAgICB2aXNlciBkaWcgZW4gbGlzdGUgb3ZlciBkaW4gbWFwcGUsIGxpZ2Vzb20gaHZpcyBkdSB2YXIgdmVkCisgICAgIHNrYWxwcm9tcHRlbi4gRWxsZXIgYnJ1ZyAgOiFkaXIgIGh2aXMgaWtrZSBscyB2aXJrZXIuCisKK0JFTcZSSzogRGV0IGVyIG11bGlndCBhdCB1ZGb4cmUgZW5odmVyIGVrc3Rlcm4ga29tbWFuZG8gcOUgZGVubmUgbeVkZSwKKyAgICAgICAgb2dz5SBtZWQgYXJndW1lbnRlci4KKworQkVNxlJLOiBBbGxlICA6LWtvbW1hbmRvZXIgIHNrYWwgYWZzbHV0dGVzIHZlZCBhdCB0cnlra2UgcOUgPEVOVEVSPi4KKyAgICAgICAgVmkgbuZ2bmVyIGRldCBpa2tlIGFsdGlkIGhlcmVmdGVyLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWt0aW9uIDUuMjogTUVSRSBPTSBBVCBTS1JJVkUgRklMRVIKKworCisgICAgICoqIEdlbSDmbmRyaW5nZXJuZSBzb20gZXIgZm9yZXRhZ2V0IHRpbCB0ZWtzdGVuLCB2ZWQgYXQgc2tyaXZlICA6dyBGSUxOQVZOLiAqKgorCisgIDEuIFNrcml2ICA6IWRpciAgZWxsZXIgIDohbHMgIGZvciBhdCBm5SBlbiBsaXN0ZSBvdmVyIGRpbiBtYXBwZS4KKyAgICAgRHUgdmVkIGFsbGVyZWRlIGF0IGR1IHNrYWwgdHJ5a2tlIHDlIDxFTlRFUj4gYmFnZWZ0ZXIuCisKKyAgMi4gVuZsZyBldCBmaWxuYXZuIHNvbSBpa2tlIGZpbmRlcyBlbmRudSwgc+Vzb20gVEVTVC4KKworICAzLiBTa3JpdiBudToJIDp3IFRFU1QgICAoaHZvciBURVNUIGVyIGZpbG5hdm5ldCBzb20gZHUgduZsZ2VyLikKKworICA0LiBEZXQgZ2VtbWVyIGhlbGUgZmlsZW4gKFZpbS12ZWpsZWRuaW5nZW4pIHVuZGVyIG5hdm5ldCBURVNULgorICAgICBCZWty5mZ0IGRldCwgdmVkIGlnZW4gYXQgc2tyaXZlICAgIDohZGlyICBlbGxlciAgOiFscyAgIGZvciBhdCBzZSBkaW4gbWFwcGUuCisKK0JFTcZSSzogSHZpcyBkdSBhZnNsdXR0ZXIgVmltIG9nIHN0YXJ0ZXIgZGVuIGlnZW4gbWVkICB2aW0gVEVTVCAsIHPlIHZpbAorICAgICAgICBmaWxlbiB25nJlIGVuIG74amFndGlnIGtvcGkgYWYgdmVqbGVkbmluZ2VuIGRhIGR1IGdlbXRlIGRlbi4KKworICA1LiBGamVybiBudSBmaWxlbiwgdmVkIGF0IHNrcml2ZSAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJCWVsbGVyIChVbml4KToJOiFybSBURVNUCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWt0aW9uIDUuMzogTUFSS8lSIFRFS1NUIFNPTSBTS0FMIFNLUklWRVMKKworCisJKiogR2VtIGVuIGRlbCBhZiBlbiBmaWwsIHZlZCBhdCBza3JpdmUgIHYgIGJlduZnZWxzZSAgOncgRklMTkFWTiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gdGlsIGRlbm5lIGxpbmplLgorCisgIDIuIFRyeWsgcOUgIHYgIG9nIGZseXQgbWFya/hyZW4gdGlsIHRoZSBmZW10ZSBwdW5rdCBuZWRlbmZvci4gQmVt5nJrIGF0CisgICAgIHRla3N0ZW4gZXIgZnJlbWjmdmV0LgorCisgIDMuIFRyeWsgcOUgIDotdGVnbmV0ICAuIE5lZGVyc3QgcOUgc2vmcm1lbiB2aXNlcyAgOic8LCc+LgorCisgIDQuIFNrcml2ICB3IFRFU1QgICwgaHZvciBURVNUIGVyIGZpbG5hdm5ldCBzb20gZW5kbnUgaWtrZSBmaW5kZXMuIEJla3LmZnQKKyAgICAgYXQgZHUgc2VyICA6JzwsJz53IFRFU1QgIGluZGVuIGR1IHRyeWtrZXIgcOUgPEVOVEVSPi4KKworICA1LiBWaW0gc2tyaXZlciBkZSBtYXJrZXJlZGUgbGluamVyIHRpbCBmaWxlbiBURVNULiBCcnVnICA6IWRpciAgZWxsZXIgIDohbHMKKyAgICAgZm9yIGF0IHNlIGRlbi4gRmplcm4gZGVuIGlra2UgZW5kbnUhIFZpIGJydWdlciBkZW4gaSBkZW4gbuZzdGUgbGVrdGlvbi4KKworQkVNxlJLOiBO5XIgZGVyIHRyeWtrZXMgcOUgIHYgIHN0YXJ0ZXMgdmlzdWVsIG1hcmtlcmluZy4gRHUga2FuIGZseXR0ZSBtYXJr+HJlbgorICAgICAgICBydW5kdCBmb3IgYXQgZ/hyZSBtYXJrZXJpbmdlbiBzdPhycmUgZWxsZXIgbWluZHJlLiBEdSBrYW4gc+UgYnJ1Z2UgZW4KKyAgICAgICAgb3BlcmF0b3IgdGlsIGF0IGf4cmUgbm9nZXQgbWVkIHRla3N0ZW4uIEYuZWtzLiB2aWwgIGQgIHNsZXR0ZSB0ZWtzdGVuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla3Rpb24gNS40OiBJTkRIRU5UIE9HIFNBTU1FTkzGRyBGSUxFUgorCisKKyAgICAgICAqKiBJbmRz5nQgaW5kaG9sZGV0IGFmIGVuIGZpbCwgdmVkIGF0IHNrcml2ZSAgOnIgRklMTkFWTiAgKioKKworICAxLiBQbGFjZXIgbWFya/hyZW4gbGlnZSBvdmVub3ZlciBkZW5uZSBsaW5qZS4KKworQkVNxlJLOiBO5XIgdHJpbiAyIGVyIHVkZvhydCB2aWwgZHUgc2UgdGVrc3RlbiBmcmEgbGVrdGlvbiA1LjMuIEZseXQgc+UKKyAgICAgICAgTkVEIGZvciBhdCBzZSBkZW5uZSBsZWt0aW9uIGlnZW4uCisKKyAgMi4gSW5kaGVudCBudSBkaW4gVEVTVC1maWwgbWVkIGtvbW1hbmRvZW4gICA6ciBURVNUICAgLCBodm9yIFRFU1QgZXIKKyAgICAgbmF2bmV0IHDlIGZpbGVuIHNvbSBkdSBicnVndGUuCisgICAgIEZpbGVuIHNvbSBkdSBpbmRoZW50ZXIgcGxhY2VyZXMgdW5kZXIgbWFya/hyZW5zIGxpbmplLgorCisgIDMuIEJla3LmZnQgYXQgZW4gZmlsIGJsZXYgaW5kaGVudGV0LCB2ZWQgYXQgZmx5dHRlIG1hcmv4cmVuIHRpbGJhZ2Ugb2cgYmVt5nJrCisgICAgIGF0IGRlciBudSBlciB0byBrb3BpZXIgYWYgbGVrdGlvbiA1LjMsIGRlbiBvcmlnaW5hbGUgb2cgZmlsdmVyc2lvbmVuLgorCitCRU3GUks6IER1IGthbiBvZ3PlIGzmc2Ugb3V0cHV0dGV0IGZyYSBlbiBla3N0ZXJuIGtvbW1hbmRvLiBGLmVrcy4gbOZzZXIKKyAgICAgICAgOnIgIWxzICBvdXRwdXR0ZXQgZnJhIGxzLWtvbW1hbmRvZW4gb2cgaW5kc+Z0dGVyIGRldCB1bmRlcgorICAgICAgICBtYXJr+HJlbi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gNSBPUFNVTU1FUklORworCisKKyAgMS4gIDoha29tbWFuZG8gIHVkZvhyZXIgZW4gZWtzdGVybiBrb21tYW5kby4KKworICAgICAgTm9nbGUgbnl0dGlnZSBla3NlbXBsZXIgZXI6CisJIChNUy1ET1MpCSAgKFVuaXgpCisJICA6IWRpcgkJICAgOiFscwkJICAgLSAgdmlzZXIgZW4gbGlzdGUgb3ZlciBtYXBwZXIuCisJICA6IWRlbCBGSUxOQVZOICAgIDohcm0gRklMTkFWTiAgICAtICBmamVybmVyIGZpbGVuIEZJTE5BVk4uCisKKyAgMi4gIDp3IEZJTE5BVk4gICBza3JpdmVyIGRlbiBudXbmcmVuZGUgVmltLWZpbCB0aWwgZGlza2VuIG1lZCBuYXZuZXQgRklMTkFWTi4KKworICAzLiAgdiAgYmV25mdlbHNlICA6dyBGSUxOQVZOICBnZW1tZXIgZGUgdmlzdWVsdCBtYXJrZXJlZGUgbGluamVyIGkgZmlsZW4KKyAgICAgIEZJTE5BVk4uCisKKyAgNC4gIDpyIEZJTE5BVk4gIGluZGhlbnRlciBkaXNrZmlsZW4gRklMTkFWTiBvZyBpbmRz5nR0ZXIgZGVuIHVuZGVyCisgICAgICBtYXJr+HJlbnMgcGxhY2VyaW5nLgorCisgIDUuICA6ciAhZGlyICBs5nNlciBvdXRwdXR0ZXQgZnJhIGRpci1rb21tYW5kb2VuIG9nIGluZHPmdHRlciBkZXQgdW5kZXIKKyAgICAgIG1hcmv4cmVucyBwbGFjZXJpbmcuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgTGVrdGlvbiA2LjE6IMVCTi1LT01NQU5ET0VOCisKKworICoqIFNrcml2ICBvICBmb3IgYXQg5WJuZSBlbiBsaW5qZSB1bmRlciBtYXJr+HJlbiBvZyBzdGlsbGUgZGlnIGkgaW5kc+Z0LXRpbHN0YW5kLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBsaW5qZW4gbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgYm9nc3RhdmV0ICBvICBtZWQgc23ldCwgZm9yIGF0IOVibmUgZW4gbGluamUgVU5ERVIgbWFya/hyZW4gb2cgc3RpbGxlCisgICAgIGRpZyBpIGluZHPmdC10aWxzdGFuZC4KKworICAzLiBTa3JpdiBudSBub2dldCB0ZWtzdCBvZyB0cnlrIHDlIDxFU0M+IGZvciBhdCBhZnNsdXR0ZSBpbmRz5nQtdGlsc3RhbmQuCisKKy0tLT4gRWZ0ZXIgIG8gIGVyIGJsZXZldCBza3JldmV0LCBwbGFjZXJlcyBtYXJr+HJlbiBw5SBkZW4g5WJuZSBsaW5qZSBpIGluZHPmdC10aWxzdGFuZC4KKworICA0LiBTa3JpdiBibG90IGV0IHN0b3J0CU8gLCBpIHN0ZWRldCBmb3IgZXQgbGlsbGUgIG8gICwgZm9yIGF0CisgICAgIOVibmUgZW4gbGluamUgT1ZFTk9WRVIgbWFya/hyZW4uIFBy+HYgZGV0IHDlIGxpbmplbiBuZWRlbmZvci4KKworLS0tPiDFYm4gZW4gbGluZSBvdmVub3ZlciBkZW5uZSwgdmVkIGF0IHNrcml2ZSBPIG1lbnMgbWFya/hyZW4gZXIgcOUgZGVubmUgbGluamUuCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrdGlvbiA2LjI6IFZFREjGRlQtS09NTUFORE9FTgorCisKKwkgICAgICoqIFNrcml2ICBhICBmb3IgYXQgaW5kc+Z0dGUgdGVrc3QgRUZURVIgbWFya/hyZW4uICoqCisKKyAgMS4gRmx5dCBtYXJr+HJlbiBuZWQgdGlsIGJlZ3luZGVsc2VuIGFmIGxpbmplbiBtZWQgLS0tPi4KKyAgCisgIDIuIFRyeWsgcOUgIGUgIGluZHRpbCBtYXJr+HJlbiBlciBw5SBzbHV0bmluZ2VuIGFmICBsaW4gLgorCisgIDMuIFNrcml2IGV0ICBhICAobWVkIHNt5XQpIGZvciBhdCB2ZWRo5mZ0ZSB0ZWtzdCBFRlRFUiBtYXJr+HJlbi4KKworICA0LiBGdWxkZvhyIG9yZGV0IGxpZ2Vzb20gbGluamVuIHVuZGVyIGRldC4gVHJ5ayBw5SA8RVNDPiBmb3IgYXQgYWZzbHV0dGUKKyAgICAgaW5kc+Z0LXRpbHN0YW5kLgorCisgIDUuIEJydWcgIGUgIHRpbCBhdCBmbHl0dGUgdGlsIGRldCBu5nN0ZSB1ZuZyZGlnZSBvcmQgb2cgZ2VudGFnIHRyaW4gMyBvZyA0LgorICAKKy0tLT4gTGluIGdpdmVyIGRpZyBtdWxpZ2hlZCBmb3IgYXQg+HYgdmVkaOZmdG5pbiBhZiB0ZWtzdCB0aWwgZW4gbGluamUuCistLS0+IExpbmplbiBnaXZlciBkaWcgbXVsaWdoZWQgZm9yIGF0IPh2ZSB2ZWRo5mZ0bmluZyBhZiB0ZWtzdCB0aWwgZW4gbGluamUuCisKK0JFTcZSSzogYSwgaSBvZyBBIGflciBhbGxlIHRpbCBkZW4gc2FtbWUgaW5kc+Z0LXRpbHN0YW5kLAorICAgICAgICBkZW4gZW5lc3RlIGZvcnNrZWwgZXIgaHZvciB0ZWduZW5lIGluZHPmdHRlcy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiA2LjM6IEFOIEFOREVOIE3FREUgQVQgRVJTVEFUVEUKKworCisgICAgICAqKiBTa3JpdiBldCBzdG9ydCAgUiAgZm9yIGF0IGVyc3RhdHRlIGZsZXJlIGVuZCDpdCB0ZWduLiAqKgorCisgIDEuIEZseXQgbWFya/hyZW4gbmVkIHRpbCBkZW4gZvhyc3RlIGxpbmplIG1lZCAtLS0+LiBGbHl0IG1hcmv4cmVuIHRpbAorICAgICBiZWd5bmRlbHNlbiBhZiBkZW4gZvhyc3RlICB4eHggLgorCisgIDIuIFRyeWsgbnUgcOUgIFIgIG9nIHNrcml2IG51bW1lcmV0IHNvbSBlciB1bmRlciBkZXQgcOUgZGVuIGFuZGVuIGxpbmplLAorICAgICBz5SBkZXQgZXJzdGF0dGVyIHh4eCAuCisKKyAgMy4gVHJ5ayBw5SA8RVNDPiBmb3IgYXQgZm9ybGFkZSBlcnN0YXQtdGlsc3RhbmQuIEJlbeZyayBhdCByZXN0ZW4gYWYgbGluamVuCisgICAgIGZvcmJsaXZlciB15m5kcmV0LgorCisgIDQuIEdlbnRhZyB0cmlubmVuZSBmb3IgYXQgZXJzdGF0dGUgZGV0IHNpZHN0ZSB4eHguCisKKy0tLT4gTuVyIDEyMyBs5mdnZXMgc2FtbWVuIG1lZCB4eHggZ2l2ZXIgZGV0IHh4eC4KKy0tLT4gTuVyIDEyMyBs5mdnZXMgc2FtbWVuIG1lZCA0NTYgZ2l2ZXIgZGV0IDU3OS4KKworQkVNxlJLOiBFcnN0YXQtdGlsc3RhbmQgZXIgbGlnZXNvbSBpbmRz5nQtdGlsc3RhbmQsIG1lbiBodmVydCBpbmR0YXN0ZWRlCisgICAgICAgIHRlZ24gc2xldHRlciBldCBla3Npc3RlcmVuZGUgdGVnbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDYuNDogS09QzUVSIE9HIElORFPGVCBURUtTVAorCisKKwkgICoqIEJydWcgIHktb3BlcmF0b3JlbiAgdGlsIGF0IGtvcGllcmUgdGVrc3Qgb2cgIHAgIHRpbCBhdCBpbmRz5nR0ZSBkZW4gKioKKworICAxLiBH5SBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPiBvZyBwbGFjZXIgbWFya/hyZW4gZWZ0ZXIgImEpIi4KKyAgCisgIDIuIFN0YXJ0IHZpc3VlbCB0aWxzdGFuZCBtZWQgIHYgIG9nIGZseXQgbWFya/hyZW4gdGlsIGxpZ2UgaW5kZW4gImb4cnN0ZSIuCisgIAorICAzLiBTa3JpdiAgeSAgZm9yIGF0IHlhbmstdWR0cuZra2UgKGtvcGllcmUpIGRlbiBmcmVtaOZ2ZWRlIHRla3N0LgorCisgIDQuIEZseXQgbWFya/hyZW4gdGlsIHNsdXRuaW5nZW4gYWYgZGVuIG7mc3RlIGxpbmplOiAgaiQKKworICA1LiBTa3JpdiAgcCAgZm9yIGF0IHB1dC1pbmRz5nR0ZSAoaW5kc+Z0dGUpIHRla3N0ZW4uIFNrcml2IHPlOiAgYSBhbmRldCA8RVNDPiAuCisKKyAgNi4gQnJ1ZyB2aXN1ZWwgdGlsc3RhbmQgdGlsIGF0IG1hcmtlcmUgIiBwdW5rdC4iLCB5YW5rLXVkdHLmayBtZWQgIHkgLCBmbHl0CisgICAgIHRpbCBzbHV0bmluZ2VuIGFmIG7mc3RlIGxpbmplIG1lZCAgaiQgIG9nIHB1dC1pbmRz5nQgdGVrc3RlbiBkZXIgbWVkICBwIC4KKworLS0tPiAgYSkgZGV0dGUgZXIgZGV0IGb4cnN0ZSBwdW5rdC4KKyAgICAgIGIpCisKKyAgQkVNxlJLOiBkdSBrYW4gb2dz5SBicnVnZSAgeSAgc29tIGVuIG9wZXJhdG9yOyAgeXcgIHlhbmstdWR0cuZra2VyIGV0IG9yZC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICBMZWt0aW9uIDYuNTogU8ZUIFZBTEdNVUxJR0hFRAorCisKKwkgICoqIFPmdCBlbiB2YWxnbXVsaWdoZWQgc+UgZW4gc/hnbmluZyBlbGxlciB1ZHNraWZ0bmluZyBpZ25vcmVyZXIgZm9yc2tlbGxlIHDlIHN0b3JlL3Nt5SBib2dzdGF2ZXIgKioKKworICAxLiBT+GcgZWZ0ZXIgJ2lnbm9yZXInLCB2ZWQgYXQgc2tyaXZlOiAgIC9pZ25vcmVyICA8RU5URVI+CisgICAgIEdlbnRhZyBmbGVyZSBnYW5nZSB2ZWQgYXQgdHJ5a2tlIHDlICBuIC4KKworICAyLiBT5nQgJ2ljJy12YWxnbXVsaWdoZWRlbiAoSWdub3JlciBmb3Jza2VsbGUgcOUgc3RvcmUvc23lIGJvZ3N0YXZlciksIHZlZCBhdCBza3JpdmU6ICAgOnNldCBpYworCisgIDMuIFP4ZyBudSBlZnRlciAnaWdub3JlcicgaWdlbiwgdmVkIGF0IHRyeWtrZSBw5SAgbgorICAgICBCZW3mcmsgYXQgSWdub3JlciBvZyBJR05PUkVSIG51IG9nc+UgYmxpdmVyIGZ1bmRldC4KKworICA0LiBT5nQgJ2hsc2VhcmNoJy0gb2cgJ2luY3NlYXJjaCctdmFsZ211bGlnaGVkZXJuZTogIDpzZXQgaGxzIGlzCisKKyAgNS4gU2tyaXYgbnUgc/hnLWtvbW1hbmRvZW4gaWdlbiBvZyBzZSBodmFkIGRlciBza2VyOiAgL2lnbm9yZXIgPEVOVEVSPgorCisgIDYuIERlYWt0aXbpciBpZ25vcmVyaW5nIGFmIGZvcnNrZWxsZSBw5SBzdG9yZS9zbeUgYm9nc3RhdmVyLCB2ZWQgYXQgc2tyaXZlOiAgOnNldCBub2ljCisKK0JFTcZSSzogRmplcm4gZnJlbWjmdm5pbmdlbiBhZiBtYXRjaGVzLCB2ZWQgYXQgc2tyaXZlOiAgIDpub2hsc2VhcmNoIAorQkVNxlJLOiBIdmlzIGR1IHZpbCBpZ25vcmVyZSBjYXNlIGZvciBlbiBlbmtlbHQgc/hnLWtvbW1hbmRvLCBz5SBicnVnICBcYworICAgICAgICBpIGZyYXNlbjogIC9pZ25vcmVyXGMgIDxFTlRFUj4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgICAgTGVrdGlvbiA2IE9QU1VNTUVSSU5HCisKKyAgMS4gU2tyaXYgIG8gIGZvciBhdCDlYm5lIGVuIGxpbmplIE5FREVOVU5ERVIgbWFya/hyZW4gb2cgc3RhcnRlIGluZHPmdC10aWxzdGFuZC4KKyAgICAgU2tyaXYgIE8gIGZvciBhdCDlYm5lIGVuIGxpbmplIE9WRU5PVkVSIG1hcmv4cmVuLgorCisgIDIuIFNrcml2ICBhICBmb3IgYXQgaW5kc+Z0dGUgdGVrc3QgRUZURVIgbWFya/hyZW4uCisgICAgIFNrcml2ICBBICBmb3IgYXQgaW5kc+Z0dGUgdGVrc3QgZWZ0ZXIgc2x1dG5pbmdlbiBhZiBsaW5qZW4uCisKKyAgMy4gICBlLWtvbW1hbmRvZW4gIGZseXR0ZXIgdGlsIHNsdXRuaW5nZW4gYWYgZXQgb3JkLgorCisgIDQuICAgeS1vcGVyYXRvcmVuICB5YW5rLXVkdHLma2tlciAoa29waWVyZXIpIHRla3N0LCAgcCAgcHV0LWluZHPmdHRlciAoaW5kc+Z0dGVyKSBkZW4uCisKKyAgNS4gTuVyIGRlciBza3JpdmVzIGV0IHN0b3J0ICBSICBzdGlsbGVzIGR1IGkgZXJzdGF0LXRpbHN0YW5kIGluZHRpbCBkZXIgdHJ5a2tlcyBw5SAgPEVTQz4gIC4KKworICA2LiBO5XIgZGVyIHNrcml2ZXMgIjpzZXQgeHh4Iiwgc+Ugc+Z0dGVzIHZhbGdtdWxpZ2hlZGVuICJ4eHgiLiBOb2dsZSB2YWxnbXVsaWdoZWRlciBlcjoKKyAgCSdpYycgJ2lnbm9yZWNhc2UnCWlnbm9yZXIgZm9yc2tlbGxlIHDlIHN0b3JlL3Nt5SBib2dzdGF2ZXIgbuVyIGRlciBz+GdlcworCSdpcycgJ2luY3NlYXJjaCcJdmlzIGRlbHZpc2UgbWF0Y2ggZm9yIGVuIHP4Z2VmcmFzZQorCSdobHMnICdobHNlYXJjaCcJZnJlbWjmdiBhbGxlIGZyYXNlciBzb20gbWF0Y2hlcgorICAgICBEdSBrYW4gZW50ZW4gYnJ1Z2UgZGV0IGxhbmdlIGVsbGVyIGtvcnRlIHZhbGdtdWxpZ2hlZHNuYXZuLgorCisgIDcuIFZlZGjmZnQgIm5vIiBpIGJlZ3luZGVsc2VuLCBmb3IgYXQgc2zlIGVuIHZhbGdtdWxpZ2hlZCBmcmE6ICAgOnNldCBub2ljCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgICAgIExla3Rpb24gNy4xOiBGxSBISsZMUAorCisKKwkJICAgICAgKiogQnJ1ZyBvbmxpbmUtaGrmbHBlc3lzdGVtZXQgKioKKworICBWaW0gaGFyIGV0IG9tZmF0dGVuZGUgb25saW5lLWhq5mxwZXN5c3RlbS4gUHL4diBlbiBhZiBkaXNzZSB0cmUsCisgIGZvciBhdCBrb21tZSBpIGdhbmc6CisJLSB0cnlrIHDlIDxIRUxQPi10YXN0ZW4gKGh2aXMgZHUgaGFyIGVuKQorCS0gdHJ5ayBw5SA8RjE+LXRhc3RlbiAoaHZpcyBkdSBoYXIgZW4pCisJLSBza3JpdiAgIDpoZWxwIDxFTlRFUj4KKworICBM5nMgdGVrc3RlbiBpIGhq5mxwZXZpbmR1ZXQgZm9yIGF0IGZpbmRlIHVkIGFmIGh2b3JkYW4gaGrmbHBlbiB2aXJrZXIuCisgIFNrcml2ICBDVFJMLVcgQ1RSTC1XICAgZm9yIGF0IGhvcHBlIGZyYSBldCB2aW5kdWUgdGlsIGV0IGFuZGV0LgorICBTa3JpdiAgICA6cSA8RU5URVI+ICAgIGZvciBhdCBsdWtrZSBoauZscGV2aW5kdWV0LgorCisgIER1IGthbiBmaW5kZSBoauZscCBvbSBu5nN0ZW4gYWxsZSBlbW5lciwgdmVkIGF0IGdpdmUgZXQgYXJndW1lbnQgdGlsCisgICI6aGVscCIta29tbWFuZG9lbi4gUHL4diBkaXNzZSAoaHVzayBhdCB0cnlra2UgcOUgPEVOVEVSPik6CisKKwk6aGVscCB3CisJOmhlbHAgY19DVFJMLUQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla3Rpb24gNy4yOiBPUFJFVCBFVCBPUFNUQVJUUy1TQ1JJUFQKKworCisJCQkgICoqIEFrdGl26XIgVmltLWZ1bmt0aW9uYWxpdGV0ZXIgKioKKworICBWaW0gaGFyIG1hbmdlIGZsZXJlIGZ1bmt0aW9uYWxpdGV0ZXIgZW5kIFZpLCBtZW4gZGUgZmxlc3RlIGVyIGRlYWt0aXZlcmV0IHNvbQorICBzdGFuZGFyZC4gRm9yIGF0IGJydWdlIGZsZXJlIGZ1bmt0aW9uYWxpdGV0ZXIgc2thbCBkdSBvcHJldHRlIGVuICJ2aW1yYyItZmlsLgorCisgIDEuIEJlZ3luZCBhdCByZWRpZ2VyZSAidmltcmMiLWZpbGVuLiBEZXQgYWZo5m5nZXIgYWYgZGl0IHN5c3RlbToKKwk6ZSB+Ly52aW1yYwkJaSBVbml4CisJOmUgJFZJTS9fdmltcmMJCWkgTVMtV2luZG93cworCisgIDIuIEzmcyBudSBpbmRob2xkZXQgYWYgZWtzZW1wZWwgInZpbXJjIi1maWxlbjoKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFNrcml2IGZpbGVuIG1lZDoKKwk6dworCisgIE7mc3RlIGdhbmcgZHUgc3RhcnRlciBWaW0gYnJ1Z2VyIGRlbiBzeW50YWtzZnJlbWjmdm5pbmcuCisgIER1IGthbiB0aWxm+GplIGFsbGUgZGluZSBmb3JldHJ1a25lIGluZHN0aWxsaW5nZXIgdGlsICJ2aW1yYyItZmlsZW4uCisgIEblIG1lcmUgaW5mb3JtYXRpb24sIHZlZCBhdCBza3JpdmUgIDpoZWxwIHZpbXJjLWludHJvCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICBMZWt0aW9uIDcuMzogRlVMREbYUkVMU0UKKworCisJICAgICAgKiogS29tbWFuZG9saW5qZWZ1bGRm+HJlbHNlIG1lZCBDVFJMLUQgb2cgPFRBQj4gKioKKworICAxLiBT+HJnIGZvciBhdCBWaW0gaWtrZSBlciBpIGtvbXBhdGliZWwgdGlsc3RhbmQ6ICA6c2V0IG5vY3AKKworICAyLiBTZSBodmlsa2UgZmlsZXIgZGVyIGVyIGkgbWFwcGVuOiAgOiFscyAgIGVsbGVyICA6IWRpcgorCisgIDMuIFNrcml2IGJlZ3luZGVsc2VuIGFmIGVuIGtvbW1hbmRvOiAgOmUKKworICA0LiBUcnlrIHDlICBDVFJMLUQgIG9nIFZpbSB2aXNlciBlbiBsaXN0ZSBvdmVyIGtvbW1hbmRvZXIgZGVyIGJlZ3luZGVyIG1lZCAiZSIuCisKKyAgNS4gVHJ5ayBw5SA8VEFCPiAgb2cgVmltIHZpbCBmdWxkZvhyZSBrb21tYW5kb25hdm5ldCB0aWwgIjplZGl0Ii4KKworICA2LiBUaWxm+GogbnUgZXQgbWVsbGVtcnVtIG9nIGJlZ3luZGVsc2VuIGFmIGV0IGVrc2lzdGVyZW5kZSBmaWxuYXZuOiAgOmVkaXQgRklMCisKKyAgNy4gVHJ5ayBw5SA8VEFCPi4gVmltIGZ1bGRm+HJlciBuYXZuZXQgKGh2aXMgZGV0IGVyIHVuaWt0KS4KKworQkVNxlJLOiBGdWxkZvhyZWxzZSB2aXJrZXIgdGlsIG1hbmdlIGtvbW1hbmRvZXIuIFBy+HYgYmxvdCBhdCB0cnlra2UgcOUKKyAgICAgICAgQ1RSTC1EIG9nIDxUQUI+LiBEZXQgZXIgc+ZybGlndCBueXR0aWd0IHRpbCAgOmhlbHAgLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gNyBPUFNVTU1FUklORworCisKKyAgMS4gU2tyaXYgIDpoZWxwICBlbGxlciB0cnlrIHDlIDxGMT4gZWxsZXIgPEhlbHA+ICBmb3IgYXQg5WJuZSBldCBoauZscGV2aW5kdWUuCisKKyAgMi4gU2tyaXYgIDpoZWxwIGtvbW1hbmRvICBmb3IgYXQgZmluZGUgaGrmbHAgb20gIGtvbW1hbmRvIC4KKworICAzLiBTa3JpdiAgQ1RSTC1XIENUUkwtVyAgZm9yIGF0IGhvcHBlIHRpbCBldCBhbmRldCB2aW5kdWUKKworICA0LiBTa3JpdiAgOnEgIGZvciBhdCBsdWtrZSBoauZscGV2aW5kdWV0CisKKyAgNS4gT3ByZXQgZXQgdmltcmMtb3BzdGFydHMtc2NyaXB0IGZvciBhdCBiZXZhcmUgZGluZSBmb3JldHJ1a25lIGluZHN0aWxsaW5nZXIuCisKKyAgNi4gTuVyIGRlciBza3JpdmVzIGVuICA6LWtvbW1hbmRvICAsIHPlIHRyeWsgcOUgQ1RSTC1EIGZvciBhdCBzZQorICAgICBtdWxpZ2UgZnVsZGb4cmVsc2VyLiBUcnlrIHDlIDxUQUI+IGZvciBhdCBicnVnZSBlbiBmdWxkZvhyZWxzZS4KKworCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgRGV0IGFmc2x1dHRlciBWaW0tdmVqbGVkbmluZ2VuLiBEZXQgdmFyIG1lbmluZ2VuIGRlbiBza3VsbGUgZ2l2ZSBldAorICBrb3J0ZmF0dGV0IG92ZXJibGlrIGFmIFZpbS1lZGl0b3JlbiwgbGlnZSBub2sgdGlsIGF0IGR1IGthbiBicnVnZSBlZGl0b3JlbgorICBub2dlbmx1bmRlIGxldC4gRGVuIGVyIGxhbmd0IGZyYSBrb21wbGV0LCBkYSBWaW0gaGFyIG1hbmdlIG1hbmdlIGZsZXJlCisgIGtvbW1hbmRvZXIuIEzmcyBicnVnZXJtYW51YWxlbiBzb20gZGV0IG7mc3RlOiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIERlbm5lIGJvZyBhbmJlZmFsZXMsIHRpbCB5ZGVybGlnZXJlIGzmc25pbmcgb2cgc3R1ZGVyaW5nOgorCVZpbSAtIFZpIEltcHJvdmVkIC0gYWYgU3RldmUgT3VhbGxpbmUKKwlGb3JsYWc6IE5ldyBSaWRlcnMKKyAgRGVuIGb4cnN0ZSBib2cgc29tIGhlbHQgZXIgdGlsZWduZXQgVmltLiBTcGVjaWVsdCBueXR0aWcgZm9yIGJlZ3luZGVyZS4KKyAgRGVyIGVyIG1hbmdlIGVrc2VtcGxlciBvZyBiaWxsZWRlci4KKyAgU2UgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBEZW5uZSBib2cgZXIg5mxkcmUgb2cgbWVyZSBvbSBWaSBlbmQgVmltLCBtZW4gYW5iZWZhbGVzIG9nc+U6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGFmIExpbmRhIExhbWIKKwlGb3JsYWc6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIERldCBlciBlbiBnb2QgYm9nIHRpbCBhdCBrb21tZSB0aWwga2VuZGUgbuZzdGVuIGFsdCBodmFkIGR1IHZpbCBn+HJlIG1lZCBWaS4KKyAgRGVuIHNqZXR0ZSB1ZGdhdmUgaW5rbHVkZXJlciBvZ3PlIGluZm9ybWF0aW9uIG9tIFZpbS4KKworICBWZWpsZWRuaW5nZW4gYmxldiBza3JldmV0IGFmIE1pY2hhZWwgQy4gUGllcmNlIG9nIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgbWVkIGlkZWVyIGFmIENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIMZuZHJldCB0aWwgVmltIGFmIEJyYW0gTW9vbGVuYWFyLgorCisgIE92ZXJzYXQgdGlsIGRhbnNrIGFmIHNjb290ZXJncmlzZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5kYS51dGYtOCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGEudXRmLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA3MTcwZQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGEudXRmLTgKQEAgLTAsMCArMSw5NzIgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gViBlIGwgayBvIG0gbSBlIG4gICB0IGkgbCAgIFYgSSBNIC0gdiBlIGogbCBlIGQgbiBpIG4gZyBlIG4gIC0gIFZlcnNpb24gMS43ID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0gZXIgZW4gbWVnZXQga3JhZnRmdWxkIGVkaXRvciBtZWQgbWFuZ2Uga29tbWFuZG9lciwgZm9yIG1hbmdlIHRpbAorICAgICBhdCBmb3JrbGFyZSBpIGVuIHZlamxlZG5pbmcgc29tIGRlbm5lLiBWZWpsZWRuaW5nZW4gZXIgZGVzaWduZXQgdGlsIGF0CisgICAgIGJlc2tyaXZlIG5vayBhZiBrb21tYW5kb2VybmUgdGlsIGF0IGR1IHZpbCB2w6ZyZSBpIHN0YW5kIHRpbCBsZXQgYXQgYnJ1Z2UKKyAgICAgVmltIHNvbSBlbiBhbHNpZGlnIGVkaXRvci4KKworICAgICBEZXQgdGFnZXIgY2lya2EgMjUtMzAgbWludXR0ZXIgYXQgZnVsZGbDuHJlIHZlamxlZG5pbmdlbiwKKyAgICAgYWZow6ZuZ2lnIGFmIGh2b3IgbWVnZXQgdGlkIGRlciBicnVnZXMgcMOlIGF0IGVrc3BlcmltZW50ZXJlLgorCisgICAgIFbDhlIgT1BNw4ZSS1NPTSBQw4UgQVQ6CisgICAgIEtvbW1hbmRvZXJuZSBpIGxla3Rpb25lcm5lIMOmbmRyZSB0ZWtzdGVuLiBPcHJldCBlbiBrb3BpIGFmIGZpbGVuCisgICAgIHRpbCBhdCDDuHZlIHDDpSAoaHZpcyBkdSBzdGFydGVkZSAidmltdHV0b3IiLCBzw6UgZXIgZGV0IGFsbGVyZWRlIGVuIGtvcGkpLgorCisgICAgIERldCBlciB2aWd0aWd0IGF0IGh1c2tlIHDDpSBhdCB2ZWpsZWRuaW5nZW4gZXIgc2F0IG9wIHRpbCBhdCBsw6ZyZSB2ZWQgYXQKKyAgICAgYnJ1Z2UuIERldCBiZXR5ZGVyIGF0IGR1IHNrYWwgdWRmw7hyZSBrb21tYW5kb2VybmUgZm9yIGF0IGzDpnJlIGF0IGJydWdlCisgICAgIGRlbSBvcmRlbnRsaWd0LiBMw6ZzZXIgZHUga3VuIHRla3N0ZW4sIHPDpSBnbGVtbWVyIGR1IGtvbW1hbmRvZXJuZSEKKworICAgICBTw7hyZyBmb3IgYXQgZGluIENhcHMtTG9jay10YXN0IElLS0UgZXIgYWt0aXZlcmV0IG9nIHRyeWsKKyAgICAgcMOlICAgai10YXN0ZW4gICBub2sgZ2FuZ2UgdGlsIGF0IGZseXR0ZSBtYXJrw7hyZW4gc8OlIGxla3Rpb24gMS4xCisgICAgIGZ5bGRlciBoZWxlIHNrw6ZybWVuLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDEuMTogRkxZVCBNQVJLw5hSRU4KKworCisgICAqKiBUcnlrIHDDpSBoLSxqLSxrLSxsLXRhc3Rlcm5lIHNvbSB2aXN0LCBmb3IgYXQgZmx5dHRlIG1hcmvDuHJlbi4gKioKKwkgICAgIF4KKwkgICAgIGsJCSAgICBGaWY6IEgtdGFzdGVuIGVyIHRpbCB2ZW5zdHJlIG9nIGZseXR0ZXIgdGlsIHZlbnN0cmUuCisgICAgICAgPCBoCSBsID4JCSBMLXRhc3RlbiBlciB0aWwgaMO4anJlIG9nIGZseXR0ZXIgdGlsIGjDuGpyZS4KKwkgICAgIGoJCQkgSi10YXN0ZW4gbGlnbmVyIGVuIG5lZC1waWwuCisJICAgICB2CisgIDEuIEZseXQgbWFya8O4cmVuIHJ1bmR0IHDDpSBza8Omcm1lbiBpbmR0aWwgZHUgZXIgZm9ydHJvbGlnIG1lZCBkZXQuCisKKyAgMi4gSG9sZCBuZWQtdGFzdGVuIChqKSBuZWRlLCBpbmR0aWwgZGVuIGdlbnRhZ2VyLgorICAgICBOdSB2ZWQgZHUgaHZvcmRhbiBkdSBmbHl0dGVyIHRpbCBkZW4gbsOmc3RlIGxla3Rpb24uCisKKyAgMy4gQnJ1ZyBuZWQtdGFzdGVuIHRpbCBhdCBmbHl0dGUgdGlsIGxla3Rpb24gMS4yLgorCitCRU3DhlJLOiBIdmlzIGR1IG5vZ2Vuc2luZGUgYmxpdmVyIGkgdHZpdmwgb20gbm9nZXQgZHUgc2tyZXYsIHPDpSB0cnlrIHDDpSA8RVNDPgorICAgICAgICBmb3IgYXQgc3RpbGxlIGRpZyBpIG5vcm1hbCB0aWxzdGFuZC4gU2tyaXYgc8OlIGtvbW1hbmRvZW4gaWdlbi4KKworQkVNw4ZSSzogUGlsZXRhc3Rlcm5lIGLDuHIgb2dzw6Ugdmlya2UuIE1lbiBtZWQgaGprbCBrYW4gZHUgZmx5dHRlIHJ1bmR0CisgICAgICAgIG1lZ2V0IGh1cnRpZ2VyZSwgbsOlciBkdSBoYXIgdsOmbm5ldCBkaWcgdGlsIGRldC4gU2VyacO4c3QhCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgTGVrdGlvbiAxLjI6IEFGU0xVVCBWSU0KKworCisgICEhIEJFTcOGUks6IEzDpnMgaGVsZSBsZWt0aW9uZW4sIGluZGVuIHRyaW5uZW5lIG5lZGVuZm9yIHVkZsO4cmVzISEKKworICAxLiBUcnlrIHDDpSA8RVNDPi10YXN0ZW4gKGZvciBhdCB2w6ZyZSBzaWtrZXIgcMOlLCBhdCBkdSBlciBpIG5vcm1hbCB0aWxzdGFuZCkuCisKKyAgMi4gU2tyaXY6CTpxISA8RU5URVI+LgorICAgICBEZXQgYWZzbHV0dGVyIGVkaXRvcmVuLCBodm9ydmVkIMOmbmRyaW5nZXIgc29tIGR1IGhhciBmb3JldGFnZXQgZm9ya2FzdGVzLgorCisgIDMuIFZlbmQgdGlsYmFnZSBoZXJ0aWwgdmVkIGF0IHVkZsO4cmUga29tbWFuZG9lbiBzb20gZmlrIGRpZyBpbmQgaQorICAgICB2ZWpsZWRuaW5nZW4uIERldCB2YXIgbXVsaWd2aXM6ICB2aW10dXRvciA8RU5URVI+CisKKyAgNC4gSHZpcyBkdSBoYXIgbMOmcnQgdHJpbm5lbmUgdWRlbmFkIG9nIGVyIGtsYXIsIHPDpSB1ZGbDuHIgdHJpbgorICAgICAxIHRpbCAzIGZvciBhdCBhZnNsdXR0ZSBvZyBrb21tZSBpbmQgaSBlZGl0b3JlbiBpZ2VuLgorCitCRU3DhlJLOiA6cSEgPEVOVEVSPiAgZm9ya2FzdGVyIMOmbmRyaW5nZXIgc29tIGR1IGhhciBmb3JldGFnZXQuIE9tIGbDpSBsZWt0aW9uZXIKKyAgICAgICAgdmlsIGR1IGzDpnJlIGF0IGdlbW1lIMOmbmRyaW5nZXJuZSB0aWwgZW4gZmlsLgorCisgIDUuIEZseXQgbWFya8O4cmVuIG5lZCB0aWwgbGVrdGlvbiAxLjMuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWt0aW9uIDEuMzogVEVLU1RSRURJR0VSSU5HIC0gU0xFVAorCisKKwkgICAqKiBUcnlrIHDDpSAgeCAgZm9yIGF0IHNsZXR0ZSB0ZWduZXQgc29tIG1hcmvDuHJlbiBlciBvdmVucMOlLiAqKgorCisgIDEuIEZseXQgbWFya8O4cmVuIG5lZCB0aWwgbGluamVuIG1lZCAtLS0+LgorCisgIDIuIFJldCBmZWpsZW5lIHZlZCBhdCBmbHl0dGUgbWFya8O4cmVuIGluZHRpbCBkZW4gZXIgb3ZlbnDDpQorICAgICB0ZWduZXQgc29tIHNrYWwgc2xldHRlcy4KKworICAzLiBUcnlrIHDDpQl4LXRhc3RlbiAgZm9yIGF0IHNsZXR0ZSBkZXQgdcO4bnNrZWRlIHRlZ24uCisKKyAgNC4gR2VudGFnIHRyaW4gMiB0aWwgNCBpbmR0aWwgc8OmdG5pbmdlbiBlciBrb3JyZWt0LgorCistLS0+IEtrb2VuIHNwcmFuZ2cgb3Z2ZXJyIG3DpcOlbmVuLgorCisgIDUuIEfDpSB2aWRlcmUgdGlsIGxla3Rpb24gMS40LCBudSBodm9yIGxpbmplbiBlciBrb3JyZWt0LgorCitCRU3DhlJLOiBFZnRlcmjDpW5kZW4gc29tIGR1IGdlbm5lbWfDpXIgdmVqbGVkbmluZ2VuLCBzw6UgbMOmciBkZXQgaWtrZSB1ZGVuYWQsCisgICAgICAgIGzDpnIgZGV0IHZlZCBhdCBnw7hyZSBkZXQuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla3Rpb24gMS40OiBURUtTVFJFRElHRVJJTkcgLSBJTkRTw4ZUCisKKworCQkJKiogVHJ5ayBww6UgIGkgIGZvciBhdCBpbmRzw6Z0dGUgdGVrc3QuICoqCisKKyAgMS4gRmx5dCBtYXJrw7hyZW4gbmVkIHRpbCBkZW4gZsO4cnN0ZSBsaW5qZSBtZWQgLS0tPi4KKworICAyLiBGb3IgYXQgZ8O4cmUgZGVuIGbDuHJzdGUgbGluamUgbWFnZW4gdGlsIGRlbiBhbmRlbiwgc2thbCBtYXJrw7hyZW4gZmx5dHRlcworICAgICBvdmVucMOlIGRldCBmw7hyc3QgdGVnbiBFRlRFUiBkZXIgaHZvciB0ZWtzdGVuIHNrYWwgaW5kc8OmdHRlcy4KKworICAzLiBUcnlrIHDDpSAgaSAgb2cgc2tyaXYgZGUgbsO4ZHZlbmRpZ2UgdGlsZsO4amVsc2VyLgorCisgIDQuIEVmdGVyaMOlbmRlbiBzb20gaHZlciBmZWpsIHJldHRlcywgc8OlIHRyeWsgcMOlIDxFU0M+IGZvciBhdCB2ZW5kZSB0aWxiYWdlCisgICAgIHRpbCBub3JtYWwgdGlsc3RhbmQuIEdlbnRhZyB0cmluIDIgdGlsIDQgZm9yIGF0IHJldHRlIHPDpnRuaW5nZW4uCisKKy0tLT4gRGVyIG1hbmdsZXIgdGVrc3QgZGVuZSAuCistLS0+IERlciBtYW5nbGVyIG5vZ2V0IHRla3N0IHDDpSBkZW5uZSBsaW5qZS4KKworICA1LiBOw6VyIGR1IGZvcnRyb2xpZyBtZWQgYXQgaW5kc8OmdHRlIHRla3N0LCBzw6UgZmx5dCB0aWwgbGVrdGlvbiAxLjUuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWt0aW9uIDEuNTogVEVLU1RSRURJR0VSSU5HIC0gVkVESMOGRlQKKworCisJCQkqKiBUcnlrIHDDpSAgQSAgZm9yIGF0IHZlZGjDpmZ0ZSB0ZWtzdC4gKioKKworICAxLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGRlbiBmw7hyc3RlIGxpbmplIG1lZCAtLS0+LgorICAgICBEZXQgZXIgbGlnZSBtZWdldCBodmlsa2V0IHRlZ24gbWFya8O4cmVuIGVyIHDDpSwgcMOlIGxpbmplbi4KKworICAyLiBUcnlrIHDDpSAgQSAgb2cgc2tyaXYgZGUgbsO4ZHZlbmRpZ2UgdGlsZsO4amVsc2VyLgorCisgIDMuIFRyeWsgcMOlIDxFU0M+IG7DpXIgdGVrc3RlbiBlciBibGV2ZXQgdmVkaMOmZnRldCBmb3IgYXQgdmVuZGUgdGlsYmFnZSB0aWwgbm9ybWFsIHRpbHN0YW5kLgorCisgIDQuIEZseXQgbWFya8O4cmVuIHRpbCBkZW4gYW5kZW4gbGluamUgbWVkIC0tLT4gb2cgZ2VudGFnCisgICAgIHRyaW4gMiBvZyAzIGZvciBhdCByZXR0ZSBzw6Z0bmluZ2VuLgorCistLS0+IERlciBtYW5nbGVyIG5vZ2V0IHRla3N0IHDDpSBkZW4KKyAgICAgRGVyIG1hbmdsZXIgbm9nZXQgdGVrc3QgcMOlIGRlbm5lIGxpbmplLgorLS0tPiBEZXIgbWFuZ2xlciBvZ3PDpSBub2dldCB0ZWsKKyAgICAgRGVyIG1hbmdsZXIgb2dzw6Ugbm9nZXQgdGVrc3QgaGVyLgorCisgIDUuIE7DpXIgZHUgZXIgZm9ydHJvbGlnIG1lZCBhdCB2ZWRow6ZmdGUgdGVrc3QsIHPDpSBmbHl0IHRpbCBsZWt0aW9uIDEuNi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAgIExla3Rpb24gMS42OiBSRURJR0VSIEVOIEZJTAorCisJCSAgICAqKiBCcnVnICA6d3EgIHRpbCBhdCBnZW1tZSBlbiBmaWwgb2cgYWZzbHV0dGUuICoqCisKKyAgISEgQkVNw4ZSSzogTMOmcyBoZWxlIGxla3Rpb25lbiwgaW5kZW4gdHJpbm5lbmUgbmVkZW5mb3IgdWRmw7hyZXMhIQorCisgIDEuIEFmc2x1dCB2ZWpsZWRuaW5nZW4gc29tIGR1IGdqb3JkZSBpIGxla3Rpb24gMS4yOiAgOnEhCisgICAgIEVsbGVyIGfDuHIgZsO4bGdlbmRlIGkgZW4gYW5kZW4gdGVybWluYWwsIGh2aXMgZHUgaGFyIGFkZ2FuZyB0aWwgZW4uCisKKyAgMi4gU2tyaXYgZGVubmUga29tbWFuZG8gaSBza2FscHJvbXB0ZW46ICB2aW0gdHV0b3IgPEVOVEVSPgorICAgICAndmltJyBlciBrb21tYW5kb2VuIHRpbCBhdCBzdGFydGUgVmltLWVkaXRvcmVuLCAndHV0b3InIGVyIG5hdm5ldCBww6UKKyAgICAgZmlsZW4gc29tIGR1IHZpbCByZWRpZ2VyZS4gQnJ1ZyBlbiBmaWwgc29tIGthbiDDpm5kcmVzLgorCisgIDMuIEluZHPDpnQgb2cgc2xldCB0ZWtzdCwgc29tIGR1IGzDpnJ0ZSB2aSBkZSBmb3JyaWdlIGxla3Rpb25lci4KKworICA0LiBHZW0gZmlsZW4gbWVkIMOmbmRyaW5nZXIgb2cgYWZzbHV0IFZpbSBtZWQ6ICA6d3EgIDxFTlRFUj4KKworICA1LiBIdmlzIGR1IGFmc2x1dHRlZGUgdmltdHV0b3IgaSB0cmluIDEsIHPDpSBnZW5zdGFydCB2aW10dXRvciBvZyBmbHl0IG5lZAorICAgICB0aWwgZsO4bGdlbmRlIG9wc3VtbWVyaW5nLgorCisgIDYuIFVkZsO4ciB0cmlubmVuZSBvdmVuZm9yLCBuw6VyIGR1IGhhciBsw6ZzdCBvZyBmb3JzdMOlZXQgZGVtLgorICAKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgICAgTGVrdGlvbiAxIE9QU1VNTUVSSU5HCisKKworICAxLiBNYXJrw7hyZW4gZmx5dHRlcyBlbnRlbiBtZWQgcGlsZXRhc3Rlcm5lIGVsbGVyIGhqa2wtdGFzdGVybmUuCisJIGggKHZlbnN0cmUpCWogKG5lZCkgICAgICAgayAob3ApCSAgICBsIChow7hqcmUpCisKKyAgMi4gVmltIHN0YXJ0ZXMgZnJhIHNrYWxwcm9tcHRlbiwgdmVkIGF0IHNrcml2ZTogIHZpbSBGSUxOQVZOIDxFTlRFUj4KKworICAzLiBWaW0gYWZzbHV0dGVzLCB2ZWQgYXQgc2tyaXZlOgkgICA8RVNDPiAgIDpxIQkgPEVOVEVSPiAgZm9yIGF0IGZvcmthc3RlIGFsbGUgw6ZuZHJpbmdlci4KKwkgICAgIEVMTEVSLCB2ZWQgYXQgc2tyaXZlOgkgICA8RVNDPiAgIDp3cQkgPEVOVEVSPiAgZm9yIGF0IGdlbW1lIMOmbmRyaW5nZXJuZS4KKworICA0LiBTbGV0IHRlZ24gdmVkIG1hcmvDuHJlbiwgdmVkIGF0IHNrcml2ZTogIHgKKworICA1LiBJbmRzw6Z0IGVsbGVyIHZlZGjDpmZ0IHRla3N0LCB2ZWQgYXQgc2tyaXZlOgorCSBpICAgc2tyaXYgaW5kc2F0IHRla3N0ICAgICAgIDxFU0M+CQlpbmRzw6Z0IGluZGVuIG1hcmvDuHJlbgorCSBBICAgc2tyaXYgdmVkaMOmZnRldCB0ZWtzdCAgICA8RVNDPgkJdmVkaMOmZnQgZWZ0ZXIgbGluamVuCisKK0JFTcOGUks6IE7DpXIgZGVyIHRyeWtrZXMgcMOlIDxFU0M+LCBzw6Ugc3RpbGxlcyBkdSBpIG5vcm1hbCB0aWxzdGFuZCBlbGxlciBvZ3PDpQorICAgICAgICBhbm51bGxlcmVzIGVuIHXDuG5za2V0IG9nIGRlbHZpc3QgZnVsZGbDuHJ0IGtvbW1hbmRvLgorCitGb3J0c8OmdCBudSBtZWQgbGVrdGlvbiAyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gMi4xOiBTTEVUVEVLT01NQU5ET0VSCisKKworCQkgICAgICAgKiogU2tyaXYgIGR3ICBmb3IgYXQgc2xldHRlIGV0IG9yZC4gKioKKworICAxLiBUcnlrIHDDpSAgPEVTQz4gIGZvciBhdCB2w6ZyZSBzaWtrZXIgcMOlLCBhdCBkdSBlciBpIG5vcm1hbCB0aWxzdGFuZC4KKworICAyLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPi4KKworICAzLiBGbHl0IG1hcmvDuHJlbiB0aWwgYmVneW5kZWxzZW4gYWYgZXQgb3JkIHNvbSBza2FsIHNsZXR0ZXMuCisKKyAgNC4gU2tyaXYgICBkdwkgZm9yIGF0IGbDpSBvcmRldCB0aWwgYXQgZm9yc3ZpbmRlLgorCisgIEJFTcOGUks6IEJvZ3N0YXZldCAgZCAgdmlzZXMgcMOlIGRlbiBzaWRzdGUgbGluamUgcMOlIGRlbiBza8Omcm0gZHUgc2tyZXYKKwkJZGV0IHDDpS4gVmltIHZlbnRlciBww6UgYXQgZHUgc2tyaXZlciAgdyAuIEh2aXMgZHUgc2VyIGV0IGFuZGV0IHRlZ24KKwkJZW5kICBkICAsIHPDpSBza3JldiBkdSBmb3JrZXJ0OyB0cnlrIHDDpSAgPEVTQz4gIG9nIHN0YXJ0IGZvcmZyYS4KKworLS0tPiBEZXIgZXIgcmVnbm9ybSBub2dsZSBvcmQgc29tIHNqb3Z0IGlra2UgaMO4cmVyIHRpbCBwYXBpciBpIHPDpnRuaW5nZW4uCisKKyAgNS4gR2VudGFnIHRyaW4gMyBvZyA0IGluZHRpbCBzw6Z0bmluZ2VuIGVyIGtvcnJla3Qgb2cgZ8OlIHRpbCBsZWt0aW9uIDIuMi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla3Rpb24gMi4yOiBGTEVSRSBTTEVUVEVLT01NQU5ET0VSCisKKworCSAgICoqIFNrcml2ICBkJAlmb3IgYXQgc2xldHRlIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbi4gKioKKworICAxLiBUcnlrIHDDpSAgPEVTQz4gIGZvciBhdCB2w6ZyZSBzaWtrZXIgcMOlLCBhdCBkdSBlciBpIG5vcm1hbCB0aWxzdGFuZC4KKworICAyLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPi4KKworICAzLiBGbHl0IG1hcmvDuHJlbiB0aWwgc2x1dG5pbmdlbiBhZiBkZW4gcmV0dGUgbGluamUgKEVGVEVSIGRldCBmw7hyc3RlIC4gKS4KKworICA0LiBTa3JpdiAgICBkJCAgICBmb3IgYXQgc2xldHRlIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbi4KKworLS0tPiBOb2dlbiBza3JldiBzbHV0bmluZ2VuIGFmIGxpbmplbiB0byBnYW5nZS4gc2x1dG5pbmdlbiBhZiBsaW5qZW4gdG8gZ2FuZ2UuCisKKworICA1LiBGbHl0IHZpZGVyZSB0aWwgbGVrdGlvbiAyLjMgZm9yIGF0IGZvcnN0w6UgaHZhZCBkZXIgc2tlci4KKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWt0aW9uIDIuMzogT00gT1BFUkFUT1JFUiBPRyBCRVbDhkdFTFNFUgorCisKKyAgTWFuZ2Uga29tbWFuZG9lciBzb20gw6ZuZHJlIHRla3N0IHNrYWJlcyBmcmEgZW4gb3BlcmF0b3Igb2cgZW4gYmV2w6ZnZWxzZS4KKyAgRm9ybWF0ZXQgdGlsIGVuIHNsZXR0ZWtvbW1hbmRvIG1lZCBzbGV0dGVvcGVyYXRvcmVuICBkICBlciBzb20gZsO4bGdlcjoKKworICAJZCAgIGJldsOmZ2Vsc2UKKworICBIdm9yOgorICAgIGQgICAgICAgICAtIGVyIHNsZXR0ZW9wZXJhdG9yZW4uCisgICAgYmV2w6ZnZWxzZSAtIGVyIGh2YWQgb3BlcmF0b3JlbiBza2FsIGFyYmVqZGUgcMOlIChvcGxpc3RldCBuZWRlbmZvcikuCisKKyAgRW4ga29ydCBsaXN0ZSBvdmVyIGJldsOmZ2Vsc2VyOgorICAgIHcgLSBpbmR0aWwgYmVneW5kZWxzZW4gYWYgZGV0IG7DpnN0ZSBvcmQsIEVLU0tMVVNJViBkZXRzIGbDuHJzdGUgdGVnbi4KKyAgICBlIC0gdGlsIHNsdXRuaW5nZW4gYWYgZGV0IG51dsOmcmVuZGUgb3JkLCBJTktMVVNJViBkZXQgc2lkc3RlIHRlZ24uCisgICAgJCAtIHRpbCBzbHV0bmluZ2VuIGFmIGxpbmplbiwgSU5LTFVTSVYgZGV0IHNpZHN0ZSB0ZWduLgorCisgIFPDpSBuw6VyIGRlciBza3JpdmVzICBkZSAgc8OlIHNsZXR0ZXMgZGVyIGZyYSBtYXJrw7hyZW4gdGlsIHNsdXRuaW5nZW4gYWYgb3JkZXQuCisKK0JFTcOGUks6IE7DpXIga3VuIGJldsOmZ2Vsc2VuIHRyeWtrZXMgaSBub3JtYWwgdGlsc3RhbmQsIHVkZW4gZW4gb3BlcmF0b3IsCisgICAgICAgIHPDpSBmbHl0dGVzIG1hcmvDuHJlbiBzb20gYW5naXZldC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWt0aW9uIDIuNDogQlJVRyBUw4ZMTEVSIFRJTCBFTiBCRVbDhkdFTFNFCisKKworICAgKiogTsOlciBkZXIgc2tyaXZlcyBldCBudW1tZXIgaW5kZW4gZW4gYmV2w6ZnZWxzZSwgc8OlIGdlbnRhZ2VzIGRlbiBkZXQgYW50YWwgZ2FuZ2UuICoqCisKKyAgMS4gRmx5dCBtYXJrw7hyZW4gbmVkIHRpbCBiZWd5bmRlbHNlbiBhZiBsaW5qZW4gbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgIDJ3ICBmb3IgYXQgZmx5dHRlIG1hcmvDuHJlbiBmcmVtYWQgdG8gb3JkLgorCisgIDMuIFNrcml2ICAzZSAgZm9yIGF0IGZseXR0ZSBtYXJrw7hyZW4gZnJlbWFkIHRpbCBzbHV0bmluZ2VuIGFmIGRldCB0cmVkamUgb3JkLgorCisgIDQuIFNrcml2ICAwICAobnVsKSBmb3IgYXQgZmx5dHRlIHRpbCBiZWd5bmRlbHNlbiBhZiBsaW5qZW4uCisKKyAgNS4gR2VudGFnIHRyaW4gMiBvZyAzIG1lZCBmb3Jza2VsbGlnZSBudW1yZS4KKworLS0tPiBEZXR0ZSBlciBibG90IGVuIGxpbmplIG1lZCBvcmQgc29tIGR1IGthbiBmbHl0dGUgcnVuZHQgaS4KKworICA2LiBGbHl0IHZpZGVyZSB0aWwgbGVrdGlvbiAyLjUuCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICBMZWt0aW9uIDIuNTogQlJVRyBUw4ZMTEVSIFRJTCBBVCBTTEVUVEUgRkxFUkUKKworCisgICAqKiBOw6VyIGRlciBza3JpdmVzIGV0IG51bW1lciBtZWQgZW4gb3BlcmF0b3IsIHPDpSBnZW50YWdlcyBkZW4gZGV0IGFudGFsIGdhbmdlLiAqKgorCisgIEkga29tYmluYXRpb25lbiBtZWQgc2xldHRlb3BlcmF0b3JlbiBvZyBlbiBiZXbDpmdlbHNlIG7DpnZudCBvdmVuZm9yIGthbiBkdQorICBpbmRzw6Z0dGUgZW4gdMOmbGxlciBpbmRlbiBiZXbDpmdlbHNlbiBmb3IgYXQgc2xldHRlIGZsZXJlOgorCSBkICAgbnVtbWVyICAgYmV2w6ZnZWxzZQorCisgIDEuIEZseXQgbWFya8O4cmVuIHRpbCBkZXQgZsO4cnN0ZSBvcmQgTUVEIFNUT1JUIHDDpSBsaW5qZW4gbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgIGQydyAgZm9yIGF0IHNsZXR0ZSBkZSB0byBvcmQgTUVEIFNUT1JUCisKKyAgMy4gR2VudGFnIHRyaW4gMSBvZyAyIG1lZCBlbiBhbmRlbiB0w6ZsbGVyIGZvciBhdCBzbGV0dGUgZGUgZWZ0ZXJmw7hsZ2VuZGUKKyAgICAgb3JkIE1FRCBTVE9SVCBtZWQgw6luIGtvbW1hbmRvCisKKy0tLT4gIGRlbm5lIEFCQyBERSBsaW5qZSBGR0hJIEpLIExNTiBPUCBtZWQgb3JkIGVyIFEgUlMgVFVWIHJlbnNldC4KKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWt0aW9uIDIuNjogQVJCRUpEIFDDhSBMSU5KRVIKKworCisJCSAgICoqIFNrcml2ICBkZCAgIGZvciBhdCBzbGV0dGUgZW4gaGVsIGxpbmplLiAqKgorCisgIFBnYS4gYXQgc2xldG5pbmcgYWYgbGluamVyIGJydWdlcyBzw6Ugb2Z0ZSwgc8OlIGJlc2x1dHRlZGUgZGVzaWduZXJuZSBhZiBWaQorICBhdCBkZXQgdmlsbGUgdsOmcmUgbGV0dGVyZSBiYXJlIGF0IHNrcml2ZSB0byBkJ2VyIGZvciBhdCBzbGV0dGUgZW4gbGluamUuCisKKyAgMS4gRmx5dCBtYXJrw7hyZW4gdGlsIGRlbiBhbmRlbiBsaW5qZSBpIGZyYXNlbiBuZWRlbmZvci4KKyAgMi4gU2tyaXYgIGRkICBmb3IgYXQgc2xldHRlIGxpbmplbi4KKyAgMy4gRmx5dCBudSB0aWwgZGVuIGZqZXJkZSBsaW5qZS4KKyAgNC4gU2tyaXYgICAyZGQgICBmb3IgYXQgc2xldHRlIHRvIGxpbmplci4KKworLS0tPiAgMSkgIFJvc2VyIGVyIHLDuGRlLAorLS0tPiAgMikgIE11ZGRlciBlciBzam92dCwKKy0tLT4gIDMpICBWaW9sZXIgZXIgYmzDpSwKKy0tLT4gIDQpICBKZWcgaGFyIGVuIHNjb290ZXIsCistLS0+ICA1KSAgVXJlIHZpc2VyIHRpZGVuLAorLS0tPiAgNikgIFN1a2tlciBlciBzw7hkdAorLS0tPiAgNykgIE9nIGR1IGVyIGxpZ2Ugc8OlLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla3Rpb24gMi43OiBGT1JUUllELUtPTU1BTkRPRU4KKworCisgICAqKiBUcnlrIHDDpSAgdQlmb3IgYXQgZm9ydHJ5ZGUgZGUgc2lkc3RlIGtvbW1hbmRvZXIsICAgVSAgZm9yIGF0IHJldHRlIGVuIGhlbCBsaW5qZS4gKioKKworICAxLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPiBvZyBwbGFjZXIgZGVuIHDDpQorICAgICBkZW4gZsO4cnN0ZSBmZWpsLgorICAyLiBTa3JpdiAgeCAgZm9yIGF0IHNsZXR0ZSBkZXQgZsO4cnN0ZSB1w7huc2tlZGUgdGVnbi4KKyAgMy4gU2tyaXYgbnUgIHUgIGZvciBhdCBmb3J0cnlkZSBkZW4gc2lkc3RlIGtvbW1hbmRvIGRlciBibGV2IHVkZsO4cnQuCisgIDQuIFJldCBkZW5uZSBnYW5nIGFsbGUgZmVqbGVuZSBww6UgbGluamVuIG1lZCAgIHgta29tbWFkb2VuLgorICA1LiBTa3JpdiBudSBldCBzdG9ydCAgVSAgZm9yIGF0IGbDpSBsaW5qZW4gdGlsYmFnZSB0aWwgZGVucyBvcHJpbmRlbGlnZSB0aWxzdGFuZC4KKyAgNi4gU2tyaXYgbnUgIHUgIG5vZ2xlIGbDpSBnYW5nZSBmb3IgYXQgZm9ydHJ5ZGUgIFUnZXQgIG9nIGZvcnVkZ8OlZW5kZSBrb21tYW5kb2VyLgorICA3LiBTa3JpdiBudSBDVFJMLVIgKGhvbGQgQ1RSTC10YXN0ZW4gbmVkZSBtZW5zIGRlciB0cnlra2VzIHDDpSBSKSBub2dsZSBmw6UgZ2FuZ2UKKyAgICAgZm9yIGF0IG9tZ8O4cmUga29tbWFuZG9lcm5lIChmb3J0cnlkIGZvcnRyeWRlbHNlcm5lKS4KKworLS0tPiBSZXR0IGZlamxlbmUgcHDDpSBsaWluamVuIG9nIGVycnN0YXQgZGVtIG1lZWQgZm9ydHJ5ZC4KKworICA4LiBEZXQgZXIgbWVnZXQgbnl0dGlnZSBrb21tYW5kb2VyLiBGbHl0IG51IHRpbCBsZWt0aW9uIDIgb3BzdW1tZXJpbmcuCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgICAgTGVrdGlvbiAyIE9QU1VNTUVSSU5HCisKKworICAxLiBTbGV0IGZyYSBtYXJrw7hyZW4gb3AgdGlsIGRldCBuw6ZzdGUgb3JkLCB2ZWQgYXQgc2tyaXZlOiAgICBkdworICAyLiBTbGV0IGZyYSBtYXJrw7hyZW4gdGlsIHNsdXRuaW5nZW4gYWYgZW4gbGluamUsIHZlZCBhdCBza3JpdmU6ICAgIGQkCisgIDMuIFNsZXQgZW4gaGVsIGxpbmplLCB2ZWQgYXQgc2tyaXZlOiAgICBkZAorCisgIDQuIEdlbnRhZyBlbiBiZXbDpmdlbHNlIHZlZCBhdCB2ZWRow6ZmdGUgZXQgbnVtbWVyIGkgYmVneW5kZWxzZW46ICAgMncKKyAgNS4gRm9ybWF0ZXQgdGlsIGVuIMOmbmRyLWtvbW1hbmRvIGVyOgorICAgICAgICAgICAgICAgb3BlcmF0b3IgICBbbnVtbWVyXSAgIGJldsOmZ2Vsc2UKKyAgICAgaHZvcjoKKyAgICAgICBvcGVyYXRvciAgICAtIGVyIGh2YWQgZGVyIHNrYWwgZ8O4cmVzLCBzw6Vzb20gIGQgIGZvciBhdCBzbGV0dGUKKyAgICAgICBbbnVtbWVyXSAgICAtIGVyIGVuIHZhbGdmcmkgdMOmbGxlciB0aWwgYXQgZ2VudGFnZSBiZXbDpmdlbHNlbgorICAgICAgIGJldsOmZ2Vsc2UgICAtIGZseXR0ZXIgb3ZlciB0ZWtzdGVuIHNvbSBkZXIgc2thbCBhcmJlamRlIHDDpSwgc8Olc29tICB3IChvcmQpLAorCQkgICAkICh0aWwgc2x1dG5pbmdlbiBhZiBsaW5qZW4pLCBvc3YuCisKKyAgNi4gRmx5dCB0aWwgYmVneW5kZWxzZW4gYWYgbGluamVuIG1lZCBldCBudWw6ICAwCisKKyAgNy4gRm9ydHJ5ZCB0aWRsaWdlcmUgaGFuZGxpbmdlciwgdmVkIGF0IHNrcml2ZTogCSAgIHUgIChsaWxsZSB1KQorICAgICBGb3J0cnlkIGFsbGUgw6ZuZHJpbmdlcm5lIHDDpSBlbiBsaW5qZSwgdmVkIGF0IHNrcml2ZTogIFUgIChzdG9ydCBVKQorICAgICBGb3J0cnlkIGZvcnRyeWRlbHNlcm5lLCB2ZWQgYXQgc2tyaXZlOgkJICAgQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJIExla3Rpb24gMy4xOiBQVVQtSU5EU8OGVFRFLUtPTU1BTkRPRU4KKworCisgICAgICAgKiogU2tyaXYJcCAgZm9yIGF0IHB1dC1pbmRzw6Z0dGUgdGlkbGlnZXJlIHNsZXR0ZWRlIHRla3N0IGVmdGVyIG1hcmvDuHJlbi4gKioKKworICAxLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGRlbiBmw7hyc3RlIGxpbmplIG1lZCAtLS0+LgorCisgIDIuIFNrcml2ICBkZCAgZm9yIGF0IHNsZXR0ZSBsaW5qZW4gb2cgZ2VtbWUgZGVuIGkgZXQgVmltLXJlZ2lzdGVyLgorCisgIDMuIEZseXQgbWFya8O4cmVuIHRpbCBjKS1saW5qZW4sIE9WRVIgaHZvciBkZW4gc2xldHRlZGUgbGluamUgc2thbCB2w6ZyZS4KKworICA0LiBTa3JpdiAgIHAgICBmb3IgYXQgcHV0LWluZHPDpnR0ZSBsaW5qZW4gbmVkZW51bmRlciBtYXJrw7hyZW4uCisKKyAgNS4gR2VudGFnIHRyaW4gMiB0aWwgNCBmb3IgYXQgcHV0LWluZHPDpnR0ZSBhbGxlIGxpbmplcm5lIGkgZGVuIHJpZ3RpZ2UgcsOma2tlZsO4bGdlLgorCistLS0+IGQpIEthbiBkdSBsw6ZyZSBsaWdlIHPDpT8KKy0tLT4gYikgVmlvbGVyIGVyIGJsw6UsCistLS0+IGMpIEludGVsbGlnZW5zIHNrYWwgbMOmcmVzLAorLS0tPiBhKSBSb3NlciBlciByw7hkZSwKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgIExla3Rpb24gMy4yOiBFUlNUQVQtS09NTUFORE9FTgorCisKKyAgICAgICAqKiBTa3JpdiAgcnggIGZvciBhdCBlcnN0YXR0ZSB0ZWduZXQgdmVkIG1hcmvDuHJlbiBtZWQgIHggLiAqKgorCisgIDEuIEZseXQgbWFya8O4cmVuIG5lZCB0aWwgZGVuIGbDuHJzdGUgbGluamUgbWVkIC0tLT4uCisKKyAgMi4gRmx5dCBtYXJrw7hyZW4gc8OlIGRlbiBlciBvdmVucMOlIGRlbiBmw7hyc3RlIGZlamwuCisKKyAgMy4gU2tyaXYgICByCW9nIHPDpSB0ZWduZXQgc29tIHNrYWwgdsOmcmUgZGVyLgorCisgIDQuIEdlbnRhZyB0cmluIDIgb2cgMyBpbmR0aWwgZGVuIGbDuHJzdGUgbGluamUgZXIgbWFnZW4gdGlsIGRlbiBhbmRlbi4KKworLS0tPiAgRGVmIHZhciBub2hlbiBkZXIgdHJ1a2tlZGUgcMOlIGRlIGZvcmtlcmdlIHRhc3RlciwgZGEgbGluamVtIGJsZXYgc2tyZXZldCEKKy0tLT4gIERlciB2YXIgbm9nZW4gZGVyIHRyeWtrZWRlIHDDpSBkZSBmb3JrZXJ0ZSB0YXN0ZXIsIGRhIGxpbmplbiBibGV2IHNrcmV2ZXQhCisKKyAgNS4gRmx5dCBudSB2aWRlcmUgdGlsIGxla3Rpb24gMy4zLgorCitCRU3DhlJLOiBIdXNrIHDDpSBhdCBkdSBza2FsIGzDpnJlIHZlZCBhdCBnw7hyZSBkZXQsIGlra2UgdmVkIGF0IGzDpnJlIGRldCB1ZGVuYWQuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gMy4zOiDDhk5EUklOR1NPUEVSQVRPUkVOCisKKworCSAgICoqIMOGbmRyIGluZHRpbCBzbHV0bmluZ2VuIGFmIGV0IG9yZCwgdmVkIGF0IHNrcml2ZSAgY2UgLiAqKgorCisgIDEuIEZseXQgbWFya8O4cmVuIG5lZCB0aWwgZGVuIGbDuHJzdGUgbGluamUgbWVkIC0tLT4uCisKKyAgMi4gUGxhY2VyIG1hcmvDuHJlbiBww6UgIGsnZXQgIGkgIGxpa2liai4KKworICAzLiBTa3JpdiAgY2UgIG9nIGRldCBrb3JyZWt0ZSBvcmQgKGkgZGV0dGUgdGlsZsOmbGRlIHNrcml2ZXMgIG5qZW4gKS4KKworICA0LiBUcnlrIHDDpSA8RVNDPiBvZyBmbHl0IHRpbCBkZXQgbsOmc3RlIHRlZ24gZGVyIHNrYWwgw6ZuZHJlcy4KKworICA1LiBHZW50YWcgdHJpbiAzIG9nIDQgaW5kdGlsIGRlbiBmw7hyc3RlIHPDpnRuaW5nIGVyIG1hZ2VuIHRpbCBkZW4gYW5kZW4uCisKKy0tLT4gTGlraWJqIGhhciBub2dsZSBmw6UgbmRvIHNvbSB2bmVzIMOmbmRyZXMgdnJmIMOmbmRyaW5nc29wZXJhdG9yZW4uCistLS0+IExpbmplbiBoYXIgbm9nbGUgZsOlIG9yZCBzb20gc2thbCDDpm5kcmVzIG1lZCDDpm5kcmluZ3NvcGVyYXRvcmVuLgorCitCZW3DpnJrIGF0ICBjZSAgc2xldHRlciBvcmRldCBvZyBzdGlsbGVyIGRpZyBpIGluZHPDpnQtdGlsc3RhbmQuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla3Rpb24gMy40OiBGTEVSRSDDhk5EUklOR0VSIE1FRCBjCisKKworICAgICAqKiDDhk5EUklOR1NPUEVSQVRPUkVOIGJydWdlcyBtZWQgZGUgc2FtbWUgYmV2w6ZnZWxzZXIgc29tIHNsZXQuICoqCisKKyAgMS4gw4ZuZHJpbmdzb3BlcmF0b3JlbiB2aXJrZXIgcMOlIHNhbW1lIG3DpWRlIHNvbSBzbGV0LiBGb3JtYXRldCBlcjoKKworICAgICAgICAgYyAgICBbbnVtbWVyXSAgIGJldsOmZ2Vsc2UKKworICAyLiBCZXbDpmdlbHNlcm5lIGVyIGRlIHNhbW1lLCBzw6Vzb20gICB3IChvcmQpIG9nICAkIChzbHV0bmluZ2VuIGFmIGxpbmplbikuCisKKyAgMy4gRmx5dCBuZWQgdGlsIGRlbiBmw7hyc3RlIGxpbmplIG1lZCAtLS0+LgorCisgIDQuIEZseXQgbWFya8O4cmVuIHRpbCBkZW4gZsO4cnN0ZSBmZWpsLgorCisgIDUuIFNrcml2ICBjJCAgb2cgc2tyaXYgcmVzdGVuIGFmIGxpbmplbiBzb20gZGVuIGFuZGVuIGxpbmplIG9nIHRyeWsgcMOlIDxFU0M+LgorCistLS0+IFNsdXRuaW5nZW4gYWYgbGluamVuIGhhciBicnVnIGZvciBsaWR0IGhqw6ZscCB0aWwgYXQgYmxpdmUgbGlnZXNvbSBkZW4gYW5kZW4uCistLS0+IFNsdXRuaW5nZW4gYWYgbGluamVuIHNrYWwgcmV0dGVzIG1lZCAgIGMkLWtvbW1hbmRvZW4uCisKK0JFTcOGUks6IER1IGthbiBicnVnZSBiYWNrc3BhY2UtdGFzdGVuIHRpbCBhdCByZXR0ZSBmZWpsIG7DpXIgZHUgc2tyaXZlci4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgICBMZWt0aW9uIDMgT1BTVU1NRVJJTkcKKworCisgIDEuIFB1dC1pbmRzw6Z0IHRla3N0IHRpbGJhZ2Ugc29tIGxpZ2UgZXIgYmxldmV0IHNsZXR0ZXQsIHZlZCBhdCBza3JpdmUgICBwIC4KKyAgICAgRGV0IHB1dC1pbmRzw6Z0dGVyIGRlbiBzbGV0dGVkZSB0ZWtzdCBFRlRFUiBtYXJrw7hyZW4gKGh2aXMgZW4gbGluamUgYmxldgorICAgICBzbGV0dGV0LCBzw6UgdmlsIGRlbiB2w6ZyZSBww6UgbGluamVuIG5lZGVudW5kZXIgbWFya8O4cmVuKS4KKworICAyLiBFcnN0YXQgdGVnbmV0IHVuZGVyIG1hcmvDuHJlbiwgdmVkIGF0IHNrcml2ZSAgIHIgICBvZyBzw6UKKyAgICAgdGVnbmV0IHNvbSBkdSB2aWwgaGF2ZSBkZXIuCisKKyAgMy4gw4ZuZHJpbmdzb3BlcmF0b3JlbiBnaXZlciBkaWcgbXVsaWdoZWQgZm9yIGF0IMOmbmRyZSBmcmEgbWFya8O4cmVuIHRpbCBodm9yCisgICAgIGJldsOmZ2Vsc2VuIHRhZ2VyIGRpZyBoZW4uIFNrcml2IGYuZWtzLiAgY2UgIGZvciBhdCDDpm5kcmUgZnJhIG1hcmvDuHJlbiB0aWwKKyAgICAgc2x1dG5pbmdlbiBhZiBvcmRldCwgIGMkICBmb3IgYXQgw6ZuZHJlIHRpbCBzbHV0bmluZ2VuIGFmIGVuIGxpbmplbi4KKworICA0LiBGb3JtYXRldCB0aWwgYXQgw6ZuZHJlIGVyOgorCisJIGMgICBbbnVtbWVyXSAgIGJldsOmZ2Vsc2UKKworR8OlIG51IHZpZGVyZSB0aWwgZGVuIG7DpnN0ZSBsZWt0aW9uLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExla3Rpb24gNC4xOiBNQVJLw5hSUExBQ0VSSU5HIE9HIEZJTFNUQVRVUworCisgICoqIFNrcml2IENUUkwtRyBmb3IgYXQgdmlzZSBkaW4gcGxhY2VyaW5nIGkgZmlsZW4gb2cgZmlsc3RhdHVzc2VuLgorICAgICBTa3JpdiAgRyAgZm9yIGF0IGZseXR0ZSB0aWwgZW4gbGluamUgaSBmaWxlbi4gKioKKworICBCRU3DhlJLOiBMw6ZzIGhlbGUgbGVrdGlvbmVuLCBpbmRlbiB0cmlubmVuZSB1ZGbDuHJlcyEhCisKKyAgMS4gSG9sZCBDdHJsLXRhc3RlbiBuZWRlIG9nIHRyeWsgcMOlICBnIC4gVmkga2FsZGVyIGRldCBDVFJMLUcuCisgICAgIERlciB2aXNlcyBlbiBtZWRkZWxlbHNlIG5lZGVyc3QgcMOlIHNpZGVuIG1lZCBmaWxuYXZuZXQgb2cKKyAgICAgcGxhY2VyaW5nZW4gaSBmaWxlbi4gSHVzayBsaW5qZW51bW1lcmV0IHRpbCB0cmluIDMuCisKK0JFTcOGUks6IER1IHNlciBtdWxpZ3ZpcyBtYXJrw7hycGxhY2VyaW5nZW4gbmVkZXJzdCBpIGjDuGpyZSBoasO4cm5lIGFmIHNrw6ZybWVuLgorICAgICAgICBEZXQgc2tlciBuw6VyICdydWxlcictdmFsZ211bGlnaGVkZW4gZXIgc2F0IChzZSAgOmhlbHAgJ3J1bGVyJyAgKQorCisgIDIuIFRyeWsgcMOlICBHICBmb3IgYXQgZmx5dHRlIGRpZyBuZWRlcnN0IGkgZmlsZW4uCisgICAgIFNrcml2ICBnZyAgZm9yIGF0IGZseXR0ZSBkaWcgw7h2ZXJzdCBpIGZpbGVuLgorCisgIDMuIFNrcml2IG51bW1lcmV0IHDDpSBkZW4gbGluamUgZHUgdmFyIHDDpSwgb2cgc8OlICBHIC4gRGV0CisgICAgIHJldHVybmVyZXIgZGlnIHRpbCBkZW4gbGluamUgZHUgdmFyIHDDpSBkYSBkdSBmw7hyc3RlIHRyeWtrZWRlIHDDpSBDVFJMLUcuCisKKyAgNC4gSHZpcyBkdSBmw7hsZXIgZGlnIGtsYXIgdGlsIGF0IGfDuHJlIGRldCwgc8OlIHVkZsO4cmUgdHJpbiAxIHRpbCAzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gNC4yOiBTw5hHLUtPTU1BTkRPRU4KKworCisgICAgICoqIFNrcml2ICAvICBlZnRlcmZ1bGd0IGFmIGVuIGZyYXNlIGZvciBhdCBzw7hnZSBlZnRlciBmcmFzZW4uICoqCisKKyAgMS4gSSBub3JtYWwgdGlsc3RhbmQsIHNrcml2ICAvLXRlZ25ldCAgLiBCZW3DpnJrIGF0IGRldCBvZyBtYXJrw7hyZW4KKyAgICAgdmlzZXMgaSBidW5kZW4gYWYgc2vDpnJtZW4gc29tIG1lZCAgOi1rb21tYW5kb2VuCS4KKworICAyLiBTa3JpdiBudSAnZmVlZWpqbCcgPEVOVEVSPi4gRGV0IGVyIG9yZGV0IGR1IHZpbCBzw7hnZSBlZnRlci4KKworICAzLiBTw7hnIGVmdGVyIGRlbiBzYW1tZSBmcmFzZSBpZ2VuLCB2ZWQgYmxvdCBhdCBza3JpdmUgIG4gLgorICAgICBTw7hnIGVmdGVyIGRlbiBzYW1tZSBmcmFzZSBpIGRlbiBhbmRlbiByZXRuaW5nLCB2ZWQgYXQgc2tyaXZlICBOIC4KKworICA0LiBTw7hnIGVmdGVyIGVuIGZyYXNlIGkgZGVuIG1vZHNhdHRlIHJldG5pbmcsIHZlZCBhdCBicnVnZSAgPyAgaSBzdGVkZXQgZm9yICAvIC4KKworICA1LiBHw6UgdGlsYmFnZSBodm9yIGR1IGtvbSBmcmEsIHZlZCBhdCB0cnlra2UgcMOlICBDVFJMLU8gIChIb2xkIEN0cmwgbmVkZSBtZW5zCisgICAgIGRlciB0cnlra2VzIHDDpSBib2dzdGF2ZXQgbykuIEdlbnRhZyBmb3IgYXQgZ8OlIGzDpm5nZXJlIHRpbGJhZ2UuIENUUkwtSSBnw6VyIGZyZW1hZC4KKworLS0tPiAgImZlZWVqamwiIGVyIGRlbiBmb3JrZXJ0ZSBtw6VkZSBhdCBzdGF2ZSB0aWwgZmVqbDsgZmVlZWpqbCBlciBlbiBmZWpsLgorQkVNw4ZSSzogTsOlciBzw7hnbmluZ2VuIG7DpXIgc2x1dG5pbmdlbiBhZiBmaWxlbiwgc8OlIGZvcnRzw6Z0dGVyIGRlbiB2ZWQKKyAgICAgICAgYmVneW5kZWxzZW4sIG1lbiBtaW5kcmUgJ3dyYXBzY2FuJy12YWxnbXVsaWdoZWRlbiBlciBibGV2ZXQgc2zDpWV0IGZyYS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMZWt0aW9uIDQuMzogU8OYRyBFRlRFUiBNT0RTVkFSRU5ERSBQQVJFTlRFU0VSCisKKworCSAgICAgICoqIFNrcml2ICAlICBmb3IgYXQgZmluZGUgZW4gbW9kc3ZhcmVuZGUgKSxdLCBlbGxlciB9IC4gKioKKworICAxLiBQbGFjZXIgbWFya8O4cmVuIHDDpSAoLCBbLCBlbGxlciB7IHDDpSBsaW5qZW4gbmVkZW5mb3IgbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgbnUgICUtdGVnbmV0ICAuCisKKyAgMy4gTWFya8O4cmVuIGZseXR0ZXIgdGlsIGRlbiBtb2RzdmFyZW5kZSBwYXJlbnRlcyBlbGxlciBrbGFtbWUuCisKKyAgNC4gU2tyaXYgICUgIGZvciBhdCBmbHl0dGUgbWFya8O4cmVuIHRpbCBkZW4gYW5kZW4gbW9kc3ZhcmVuZGUga2xhbW1lLgorCisgIDUuIEZseXQgbWFya8O4cmVuIHRpbCBlbiBhbmRlbiAoLCksWyxdLHsgZWxsZXIgfSBvZyBzZSBodmFkICAlICBnw7hyLgorCistLS0+IERldHRlICggZXIgZW4gdGVzdGxpbmplIG1lZCAoJ2VyLCBbJ2VyIF0gb2cgeydlciB9LiApKQorCisKK0JFTcOGUks6IERldCBlciBtZWdldCBueXR0aWd0IHZlZCBmZWpscmV0bmluZyBhZiBldCBwcm9ncmFtIHNvbSBtYW5nbGVyCisgICAgICAgIG1vZHN2YXJlbmRlIHBhcmVudGVzZXIhCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAgTGVrdGlvbiA0LjQ6IFVEU0tJRlQtS09NTUFORE9FTgorCisKKwkqKiBTa3JpdiAgOnMvZ2FtbWVsL255L2cgIGZvciBhdCB1ZHNraWZ0ZSAnZ2FtbWVsJyBtZWQgJ255Jy4gKioKKworICAxLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPi4KKworICAyLiBTa3JpdiAgOnMvZGV0dC9kZXQgPEVOVEVSPiAuIEJlbcOmcmsgYXQga29tbWFuZG9lbiBrdW4gw6ZuZHJlIGRlbgorICAgICBmw7hyc3RlIGZvcmVrb21zdCBhZiAiZGV0dCIgcMOlIGxpbmplbi4KKworICAzLiBTa3JpdiBudSAgOnMvZGV0dC9kZXQvZyAuIE7DpXIgIGctZmxhZ2V0ICB0aWxmw7hqZXMsIHPDpSB1ZHNraWZ0ZXMgZGVyCisgICAgIGdsb2JhbHQgcMOlIGxpbmplbiwgYWx0c8OlIMOmbmRyZSBhbGxlIGZvcmVrb21zdGVyIGFmICJkZXR0IiBww6UgbGluamVuLgorCistLS0+IGRldHQgc2lnZXMgYXQgZGV0dCBlciBiZWRzdCBhdCBzZSBww6UgYmxvbXN0ZXIgbsOlciBkZXR0IGVyIGZvcsOlci4KKworICA0LiDDhm5kciBodmVyIGZvcmVrb21zdCBhZiBlbiB0ZWduc3RyZW5nIG1lbGxlbSB0byBsaW5qZXIsCisgICAgIHZlZCBhdCBza3JpdmUgICA6Iywjcy9nYW1tZWwvbnkvZyAgICBodm9yICMsIyBlciBsaW5qZW51bXJlbmUgb3ZlciBvbXLDpWRldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWYgbGluamVyIGh2b3IgdWRza2lmdG5pbmdlbiBza2FsIHNrZS4KKyAgICAgU2tyaXYgICAgICAgICAgIDolcy9nYW1tZWwvbnkvZyAgICAgIGZvciBhdCDDpm5kcmUgaHZlciBmb3Jla29tc3QgaSBoZWxlIGZpbGVuLgorICAgICBTa3JpdiAgICAgICAgICAgOiVzL2dhbW1lbC9ueS9nYyAgICAgZm9yIGF0IGZpbmRlIGh2ZXIgZm9yZWtvbXN0IGkgaGVsZSBmaWxlbiwKKyAgICAgCQkJICAgICAgICAgICAgICAgICAgbWVkIGVuIHByb21wdCBvbSBodm9ydmlkdCBkZXIgc2thbCB1ZHNraWZ0ZXMgZWxsZXIgZWouCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgICAgTGVrdGlvbiA0IE9QU1VNTUVSSU5HCisKKworICAxLiBDVFJMLUcgIHZpc2VyIGRpbiBwbGFjZXJpbmcgaSBmaWxlbiBvZyBmaWxzdGF0dXNzZW4uCisgICAgICAgICAgICAgRyAgZmx5dHRlciB0aWwgc2x1dG5pbmdlbiBhZiBmaWxlbi4KKyAgICAgbnVtbWVyICBHICBmbHl0dGVyIHRpbCBsaW5qZW51bW1lcmV0LgorICAgICAgICAgICAgZ2cgIGZseXR0ZXIgdGlsIGRlbiBmw7hyc3RlIGxpbmplLgorCisgIDIuIE7DpXIgZGVyIHNrcml2ZXMgIC8JZWZ0ZXJmdWxndCBhZiBlbiBmcmFzZSwgc8OlIHPDuGdlcyBkZXIgRlJFTUFEIGVmdGVyIGZyYXNlbi4KKyAgICAgTsOlciBkZXIgc2tyaXZlcyAgPwllZnRlcmZ1bGd0IGFmIGVuIGZyYXNlLCBzw6Ugc8O4Z2VzIGRlciBCQUdMw4ZOUyBlZnRlciBmcmFzZW4uCisgICAgIFNrcml2ICBuICBlZnRlciBlbiBzw7hnbmluZywgZm9yIGF0IGZpbmRlIGRlbiBuw6ZzdGUgZm9yZWtvbXN0IGkgZGVuIHNhbW1lIHJldG5pbmcsCisgICAgIGVsbGVyICBOICBmb3IgYXQgc8O4Z2UgaSBkZW4gbW9kc2F0dGUgcmV0bmluZy4KKyAgICAgQ1RSTC1PIHRhZ2VyIGRpZyB0aWxiYWdlIHRpbCDDpmxkcmUgcGxhY2VyaW5nZXIsIENUUkwtSSB0aWwgbnllcmUgcGxhY2VyaW5nZXIuCisKKyAgMy4gTsOlciBkZXIgc2tyaXZlcyAgJQltZW5zIG1hcmvDuHJlbiBlciBww6UgZXQgKCwpLFssXSx7LCBlbGxlciB9LCBzw6UgZ8OlciBkZW4gdGlsIGRlbnMgbWF0Y2guCisKKyAgNC4gVWRza2lmdCBkZW4gZsO4cnN0ZSBmw7hyc3RlIGdhbW1lbCBtZWQgbnkgcMOlIGVuIGxpbmplLCB2ZWQgYXQgc2tyaXZlICAgIDpzL2dhbW1lbC9ueQorICAgICBVZHNraWZ0IGFsbGUgZ2FtbWVsIG1lZCBueSBww6UgZW4gbGluamUsIHZlZCBhdCBza3JpdmUJCSAgIDpzL2dhbW1lbC9ueS9nCisgICAgIFVkc2tpZnQgZnJhc2VyIG1lbGxlbSB0byBsaW5lbnVtcmUsIHZlZCBhdCBza3JpdmUJCQkgICA6Iywjcy9nYW1tZWwvbnkvZworICAgICBVZHNraWZ0IGFsbGUgZm9yZWtvbXN0ZXIgaSBmaWxlbiwgdmVkIGF0IHNrcml2ZQkJCSAgIDolcy9nYW1tZWwvbnkvZworICAgICBTcMO4cmcgb20gYmVrcsOmZnRlbHNlIGh2ZXIgZ2FuZywgdmVkIGF0IHRpbGbDuGplICdjJwkJCSAgIDolcy9nYW1tZWwvbnkvZ2MKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiA1LjE6IFVERsOYUiBFTiBFS1NURVJOIEtPTU1BTkRPCisKKworICAgKiogU2tyaXYgIDohCWVmdGVyZnVsZ3QgYWYgZW4gZWtzdGVybiBrb21tYW5kbywgZm9yIGF0IHVkZsO4cmUga29tbWFuZG9lbi4gKioKKworICAxLiBTa3JpdiBkZW4gdmVsa2VuZHRlIGtvbW1hbmRvCTogIGZvciBhdCBzw6Z0dGUgbWFya8O4cmVuIG5lZGVyc3QgcMOlCisgICAgIHNrw6ZybWVuLiBEZXQgZ2l2ZXIgZGlnIG11bGlnaGVkIGZvciBhdCBpbmR0YXN0ZSBlbiBrb21tYW5kb2xpbmpla29tbWFuZG8uCisKKyAgMi4gU2tyaXYgbnUgICEtdGVnbmV0ICAodWRyw6Vic3RlZ24pLiBEZXQgZ2l2ZXIgZGlnIG11bGlnaGVkCisgICAgIGZvciBhdCB1ZGbDuHJlIGVuaHZlciBla3N0ZXJuIHNrYWxrb21tYW5kby4KKworICAzLiBTa3JpdiBmLmVrcy4gICBscyAgIGVmdGVyICEgb2cgdHJ5ayBzw6UgcMOlIDxFTlRFUj4uIERldAorICAgICB2aXNlciBkaWcgZW4gbGlzdGUgb3ZlciBkaW4gbWFwcGUsIGxpZ2Vzb20gaHZpcyBkdSB2YXIgdmVkCisgICAgIHNrYWxwcm9tcHRlbi4gRWxsZXIgYnJ1ZyAgOiFkaXIgIGh2aXMgaWtrZSBscyB2aXJrZXIuCisKK0JFTcOGUks6IERldCBlciBtdWxpZ3QgYXQgdWRmw7hyZSBlbmh2ZXIgZWtzdGVybiBrb21tYW5kbyBww6UgZGVubmUgbcOlZGUsCisgICAgICAgIG9nc8OlIG1lZCBhcmd1bWVudGVyLgorCitCRU3DhlJLOiBBbGxlICA6LWtvbW1hbmRvZXIgIHNrYWwgYWZzbHV0dGVzIHZlZCBhdCB0cnlra2UgcMOlIDxFTlRFUj4uCisgICAgICAgIFZpIG7DpnZuZXIgZGV0IGlra2UgYWx0aWQgaGVyZWZ0ZXIuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla3Rpb24gNS4yOiBNRVJFIE9NIEFUIFNLUklWRSBGSUxFUgorCisKKyAgICAgKiogR2VtIMOmbmRyaW5nZXJuZSBzb20gZXIgZm9yZXRhZ2V0IHRpbCB0ZWtzdGVuLCB2ZWQgYXQgc2tyaXZlICA6dyBGSUxOQVZOLiAqKgorCisgIDEuIFNrcml2ICA6IWRpciAgZWxsZXIgIDohbHMgIGZvciBhdCBmw6UgZW4gbGlzdGUgb3ZlciBkaW4gbWFwcGUuCisgICAgIER1IHZlZCBhbGxlcmVkZSBhdCBkdSBza2FsIHRyeWtrZSBww6UgPEVOVEVSPiBiYWdlZnRlci4KKworICAyLiBWw6ZsZyBldCBmaWxuYXZuIHNvbSBpa2tlIGZpbmRlcyBlbmRudSwgc8Olc29tIFRFU1QuCisKKyAgMy4gU2tyaXYgbnU6CSA6dyBURVNUICAgKGh2b3IgVEVTVCBlciBmaWxuYXZuZXQgc29tIGR1IHbDpmxnZXIuKQorCisgIDQuIERldCBnZW1tZXIgaGVsZSBmaWxlbiAoVmltLXZlamxlZG5pbmdlbikgdW5kZXIgbmF2bmV0IFRFU1QuCisgICAgIEJla3LDpmZ0IGRldCwgdmVkIGlnZW4gYXQgc2tyaXZlICAgIDohZGlyICBlbGxlciAgOiFscyAgIGZvciBhdCBzZSBkaW4gbWFwcGUuCisKK0JFTcOGUks6IEh2aXMgZHUgYWZzbHV0dGVyIFZpbSBvZyBzdGFydGVyIGRlbiBpZ2VuIG1lZCAgdmltIFRFU1QgLCBzw6UgdmlsCisgICAgICAgIGZpbGVuIHbDpnJlIGVuIG7DuGphZ3RpZyBrb3BpIGFmIHZlamxlZG5pbmdlbiBkYSBkdSBnZW10ZSBkZW4uCisKKyAgNS4gRmplcm4gbnUgZmlsZW4sIHZlZCBhdCBza3JpdmUgKE1TLURPUyk6ICAgIDohZGVsIFRFU1QKKwkJCQllbGxlciAoVW5peCk6CTohcm0gVEVTVAorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrdGlvbiA1LjM6IE1BUkvDiVIgVEVLU1QgU09NIFNLQUwgU0tSSVZFUworCisKKwkqKiBHZW0gZW4gZGVsIGFmIGVuIGZpbCwgdmVkIGF0IHNrcml2ZSAgdiAgYmV2w6ZnZWxzZSAgOncgRklMTkFWTiAqKgorCisgIDEuIEZseXQgbWFya8O4cmVuIHRpbCBkZW5uZSBsaW5qZS4KKworICAyLiBUcnlrIHDDpSAgdiAgb2cgZmx5dCBtYXJrw7hyZW4gdGlsIHRoZSBmZW10ZSBwdW5rdCBuZWRlbmZvci4gQmVtw6ZyayBhdAorICAgICB0ZWtzdGVuIGVyIGZyZW1ow6Z2ZXQuCisKKyAgMy4gVHJ5ayBww6UgIDotdGVnbmV0ICAuIE5lZGVyc3QgcMOlIHNrw6ZybWVuIHZpc2VzICA6JzwsJz4uCisKKyAgNC4gU2tyaXYgIHcgVEVTVCAgLCBodm9yIFRFU1QgZXIgZmlsbmF2bmV0IHNvbSBlbmRudSBpa2tlIGZpbmRlcy4gQmVrcsOmZnQKKyAgICAgYXQgZHUgc2VyICA6JzwsJz53IFRFU1QgIGluZGVuIGR1IHRyeWtrZXIgcMOlIDxFTlRFUj4uCisKKyAgNS4gVmltIHNrcml2ZXIgZGUgbWFya2VyZWRlIGxpbmplciB0aWwgZmlsZW4gVEVTVC4gQnJ1ZyAgOiFkaXIgIGVsbGVyICA6IWxzCisgICAgIGZvciBhdCBzZSBkZW4uIEZqZXJuIGRlbiBpa2tlIGVuZG51ISBWaSBicnVnZXIgZGVuIGkgZGVuIG7DpnN0ZSBsZWt0aW9uLgorCitCRU3DhlJLOiBOw6VyIGRlciB0cnlra2VzIHDDpSAgdiAgc3RhcnRlcyB2aXN1ZWwgbWFya2VyaW5nLiBEdSBrYW4gZmx5dHRlIG1hcmvDuHJlbgorICAgICAgICBydW5kdCBmb3IgYXQgZ8O4cmUgbWFya2VyaW5nZW4gc3TDuHJyZSBlbGxlciBtaW5kcmUuIER1IGthbiBzw6UgYnJ1Z2UgZW4KKyAgICAgICAgb3BlcmF0b3IgdGlsIGF0IGfDuHJlIG5vZ2V0IG1lZCB0ZWtzdGVuLiBGLmVrcy4gdmlsICBkICBzbGV0dGUgdGVrc3Rlbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWt0aW9uIDUuNDogSU5ESEVOVCBPRyBTQU1NRU5Mw4ZHIEZJTEVSCisKKworICAgICAgICoqIEluZHPDpnQgaW5kaG9sZGV0IGFmIGVuIGZpbCwgdmVkIGF0IHNrcml2ZSAgOnIgRklMTkFWTiAgKioKKworICAxLiBQbGFjZXIgbWFya8O4cmVuIGxpZ2Ugb3Zlbm92ZXIgZGVubmUgbGluamUuCisKK0JFTcOGUks6IE7DpXIgdHJpbiAyIGVyIHVkZsO4cnQgdmlsIGR1IHNlIHRla3N0ZW4gZnJhIGxla3Rpb24gNS4zLiBGbHl0IHPDpQorICAgICAgICBORUQgZm9yIGF0IHNlIGRlbm5lIGxla3Rpb24gaWdlbi4KKworICAyLiBJbmRoZW50IG51IGRpbiBURVNULWZpbCBtZWQga29tbWFuZG9lbiAgIDpyIFRFU1QgICAsIGh2b3IgVEVTVCBlcgorICAgICBuYXZuZXQgcMOlIGZpbGVuIHNvbSBkdSBicnVndGUuCisgICAgIEZpbGVuIHNvbSBkdSBpbmRoZW50ZXIgcGxhY2VyZXMgdW5kZXIgbWFya8O4cmVucyBsaW5qZS4KKworICAzLiBCZWtyw6ZmdCBhdCBlbiBmaWwgYmxldiBpbmRoZW50ZXQsIHZlZCBhdCBmbHl0dGUgbWFya8O4cmVuIHRpbGJhZ2Ugb2cgYmVtw6ZyaworICAgICBhdCBkZXIgbnUgZXIgdG8ga29waWVyIGFmIGxla3Rpb24gNS4zLCBkZW4gb3JpZ2luYWxlIG9nIGZpbHZlcnNpb25lbi4KKworQkVNw4ZSSzogRHUga2FuIG9nc8OlIGzDpnNlIG91dHB1dHRldCBmcmEgZW4gZWtzdGVybiBrb21tYW5kby4gRi5la3MuIGzDpnNlcgorICAgICAgICA6ciAhbHMgIG91dHB1dHRldCBmcmEgbHMta29tbWFuZG9lbiBvZyBpbmRzw6Z0dGVyIGRldCB1bmRlcgorICAgICAgICBtYXJrw7hyZW4uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgICBMZWt0aW9uIDUgT1BTVU1NRVJJTkcKKworCisgIDEuICA6IWtvbW1hbmRvICB1ZGbDuHJlciBlbiBla3N0ZXJuIGtvbW1hbmRvLgorCisgICAgICBOb2dsZSBueXR0aWdlIGVrc2VtcGxlciBlcjoKKwkgKE1TLURPUykJICAoVW5peCkKKwkgIDohZGlyCQkgICA6IWxzCQkgICAtICB2aXNlciBlbiBsaXN0ZSBvdmVyIG1hcHBlci4KKwkgIDohZGVsIEZJTE5BVk4gICAgOiFybSBGSUxOQVZOICAgIC0gIGZqZXJuZXIgZmlsZW4gRklMTkFWTi4KKworICAyLiAgOncgRklMTkFWTiAgIHNrcml2ZXIgZGVuIG51dsOmcmVuZGUgVmltLWZpbCB0aWwgZGlza2VuIG1lZCBuYXZuZXQgRklMTkFWTi4KKworICAzLiAgdiAgYmV2w6ZnZWxzZSAgOncgRklMTkFWTiAgZ2VtbWVyIGRlIHZpc3VlbHQgbWFya2VyZWRlIGxpbmplciBpIGZpbGVuCisgICAgICBGSUxOQVZOLgorCisgIDQuICA6ciBGSUxOQVZOICBpbmRoZW50ZXIgZGlza2ZpbGVuIEZJTE5BVk4gb2cgaW5kc8OmdHRlciBkZW4gdW5kZXIKKyAgICAgIG1hcmvDuHJlbnMgcGxhY2VyaW5nLgorCisgIDUuICA6ciAhZGlyICBsw6ZzZXIgb3V0cHV0dGV0IGZyYSBkaXIta29tbWFuZG9lbiBvZyBpbmRzw6Z0dGVyIGRldCB1bmRlcgorICAgICAgbWFya8O4cmVucyBwbGFjZXJpbmcuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgTGVrdGlvbiA2LjE6IMOFQk4tS09NTUFORE9FTgorCisKKyAqKiBTa3JpdiAgbyAgZm9yIGF0IMOlYm5lIGVuIGxpbmplIHVuZGVyIG1hcmvDuHJlbiBvZyBzdGlsbGUgZGlnIGkgaW5kc8OmdC10aWxzdGFuZC4gKioKKworICAxLiBGbHl0IG1hcmvDuHJlbiBuZWQgdGlsIGxpbmplbiBtZWQgLS0tPi4KKworICAyLiBTa3JpdiBib2dzdGF2ZXQgIG8gIG1lZCBzbcOldCwgZm9yIGF0IMOlYm5lIGVuIGxpbmplIFVOREVSIG1hcmvDuHJlbiBvZyBzdGlsbGUKKyAgICAgZGlnIGkgaW5kc8OmdC10aWxzdGFuZC4KKworICAzLiBTa3JpdiBudSBub2dldCB0ZWtzdCBvZyB0cnlrIHDDpSA8RVNDPiBmb3IgYXQgYWZzbHV0dGUgaW5kc8OmdC10aWxzdGFuZC4KKworLS0tPiBFZnRlciAgbyAgZXIgYmxldmV0IHNrcmV2ZXQsIHBsYWNlcmVzIG1hcmvDuHJlbiBww6UgZGVuIMOlYm5lIGxpbmplIGkgaW5kc8OmdC10aWxzdGFuZC4KKworICA0LiBTa3JpdiBibG90IGV0IHN0b3J0CU8gLCBpIHN0ZWRldCBmb3IgZXQgbGlsbGUgIG8gICwgZm9yIGF0CisgICAgIMOlYm5lIGVuIGxpbmplIE9WRU5PVkVSIG1hcmvDuHJlbi4gUHLDuHYgZGV0IHDDpSBsaW5qZW4gbmVkZW5mb3IuCisKKy0tLT4gw4VibiBlbiBsaW5lIG92ZW5vdmVyIGRlbm5lLCB2ZWQgYXQgc2tyaXZlIE8gbWVucyBtYXJrw7hyZW4gZXIgcMOlIGRlbm5lIGxpbmplLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxla3Rpb24gNi4yOiBWRURIw4ZGVC1LT01NQU5ET0VOCisKKworCSAgICAgKiogU2tyaXYgIGEgIGZvciBhdCBpbmRzw6Z0dGUgdGVrc3QgRUZURVIgbWFya8O4cmVuLiAqKgorCisgIDEuIEZseXQgbWFya8O4cmVuIG5lZCB0aWwgYmVneW5kZWxzZW4gYWYgbGluamVuIG1lZCAtLS0+LgorICAKKyAgMi4gVHJ5ayBww6UgIGUgIGluZHRpbCBtYXJrw7hyZW4gZXIgcMOlIHNsdXRuaW5nZW4gYWYgIGxpbiAuCisKKyAgMy4gU2tyaXYgZXQgIGEgIChtZWQgc23DpXQpIGZvciBhdCB2ZWRow6ZmdGUgdGVrc3QgRUZURVIgbWFya8O4cmVuLgorCisgIDQuIEZ1bGRmw7hyIG9yZGV0IGxpZ2Vzb20gbGluamVuIHVuZGVyIGRldC4gVHJ5ayBww6UgPEVTQz4gZm9yIGF0IGFmc2x1dHRlCisgICAgIGluZHPDpnQtdGlsc3RhbmQuCisKKyAgNS4gQnJ1ZyAgZSAgdGlsIGF0IGZseXR0ZSB0aWwgZGV0IG7DpnN0ZSB1ZsOmcmRpZ2Ugb3JkIG9nIGdlbnRhZyB0cmluIDMgb2cgNC4KKyAgCistLS0+IExpbiBnaXZlciBkaWcgbXVsaWdoZWQgZm9yIGF0IMO4diB2ZWRow6ZmdG5pbiBhZiB0ZWtzdCB0aWwgZW4gbGluamUuCistLS0+IExpbmplbiBnaXZlciBkaWcgbXVsaWdoZWQgZm9yIGF0IMO4dmUgdmVkaMOmZnRuaW5nIGFmIHRla3N0IHRpbCBlbiBsaW5qZS4KKworQkVNw4ZSSzogYSwgaSBvZyBBIGfDpXIgYWxsZSB0aWwgZGVuIHNhbW1lIGluZHPDpnQtdGlsc3RhbmQsCisgICAgICAgIGRlbiBlbmVzdGUgZm9yc2tlbCBlciBodm9yIHRlZ25lbmUgaW5kc8OmdHRlcy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgTGVrdGlvbiA2LjM6IEFOIEFOREVOIE3DhURFIEFUIEVSU1RBVFRFCisKKworICAgICAgKiogU2tyaXYgZXQgc3RvcnQgIFIgIGZvciBhdCBlcnN0YXR0ZSBmbGVyZSBlbmQgw6l0IHRlZ24uICoqCisKKyAgMS4gRmx5dCBtYXJrw7hyZW4gbmVkIHRpbCBkZW4gZsO4cnN0ZSBsaW5qZSBtZWQgLS0tPi4gRmx5dCBtYXJrw7hyZW4gdGlsCisgICAgIGJlZ3luZGVsc2VuIGFmIGRlbiBmw7hyc3RlICB4eHggLgorCisgIDIuIFRyeWsgbnUgcMOlICBSICBvZyBza3JpdiBudW1tZXJldCBzb20gZXIgdW5kZXIgZGV0IHDDpSBkZW4gYW5kZW4gbGluamUsCisgICAgIHPDpSBkZXQgZXJzdGF0dGVyIHh4eCAuCisKKyAgMy4gVHJ5ayBww6UgPEVTQz4gZm9yIGF0IGZvcmxhZGUgZXJzdGF0LXRpbHN0YW5kLiBCZW3DpnJrIGF0IHJlc3RlbiBhZiBsaW5qZW4KKyAgICAgZm9yYmxpdmVyIHXDpm5kcmV0LgorCisgIDQuIEdlbnRhZyB0cmlubmVuZSBmb3IgYXQgZXJzdGF0dGUgZGV0IHNpZHN0ZSB4eHguCisKKy0tLT4gTsOlciAxMjMgbMOmZ2dlcyBzYW1tZW4gbWVkIHh4eCBnaXZlciBkZXQgeHh4LgorLS0tPiBOw6VyIDEyMyBsw6ZnZ2VzIHNhbW1lbiBtZWQgNDU2IGdpdmVyIGRldCA1NzkuCisKK0JFTcOGUks6IEVyc3RhdC10aWxzdGFuZCBlciBsaWdlc29tIGluZHPDpnQtdGlsc3RhbmQsIG1lbiBodmVydCBpbmR0YXN0ZWRlCisgICAgICAgIHRlZ24gc2xldHRlciBldCBla3Npc3RlcmVuZGUgdGVnbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQlMZWt0aW9uIDYuNDogS09Qw41FUiBPRyBJTkRTw4ZUIFRFS1NUCisKKworCSAgKiogQnJ1ZyAgeS1vcGVyYXRvcmVuICB0aWwgYXQga29waWVyZSB0ZWtzdCBvZyAgcCAgdGlsIGF0IGluZHPDpnR0ZSBkZW4gKioKKworICAxLiBHw6UgbmVkIHRpbCBsaW5qZW4gbWVkIC0tLT4gb2cgcGxhY2VyIG1hcmvDuHJlbiBlZnRlciAiYSkiLgorICAKKyAgMi4gU3RhcnQgdmlzdWVsIHRpbHN0YW5kIG1lZCAgdiAgb2cgZmx5dCBtYXJrw7hyZW4gdGlsIGxpZ2UgaW5kZW4gImbDuHJzdGUiLgorICAKKyAgMy4gU2tyaXYgIHkgIGZvciBhdCB5YW5rLXVkdHLDpmtrZSAoa29waWVyZSkgZGVuIGZyZW1ow6Z2ZWRlIHRla3N0LgorCisgIDQuIEZseXQgbWFya8O4cmVuIHRpbCBzbHV0bmluZ2VuIGFmIGRlbiBuw6ZzdGUgbGluamU6ICBqJAorCisgIDUuIFNrcml2ICBwICBmb3IgYXQgcHV0LWluZHPDpnR0ZSAoaW5kc8OmdHRlKSB0ZWtzdGVuLiBTa3JpdiBzw6U6ICBhIGFuZGV0IDxFU0M+IC4KKworICA2LiBCcnVnIHZpc3VlbCB0aWxzdGFuZCB0aWwgYXQgbWFya2VyZSAiIHB1bmt0LiIsIHlhbmstdWR0csOmayBtZWQgIHkgLCBmbHl0CisgICAgIHRpbCBzbHV0bmluZ2VuIGFmIG7DpnN0ZSBsaW5qZSBtZWQgIGokICBvZyBwdXQtaW5kc8OmdCB0ZWtzdGVuIGRlciBtZWQgIHAgLgorCistLS0+ICBhKSBkZXR0ZSBlciBkZXQgZsO4cnN0ZSBwdW5rdC4KKyAgICAgIGIpCisKKyAgQkVNw4ZSSzogZHUga2FuIG9nc8OlIGJydWdlICB5ICBzb20gZW4gb3BlcmF0b3I7ICB5dyAgeWFuay11ZHRyw6Zra2VyIGV0IG9yZC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICBMZWt0aW9uIDYuNTogU8OGVCBWQUxHTVVMSUdIRUQKKworCisJICAqKiBTw6Z0IGVuIHZhbGdtdWxpZ2hlZCBzw6UgZW4gc8O4Z25pbmcgZWxsZXIgdWRza2lmdG5pbmcgaWdub3JlcmVyIGZvcnNrZWxsZSBww6Ugc3RvcmUvc23DpSBib2dzdGF2ZXIgKioKKworICAxLiBTw7hnIGVmdGVyICdpZ25vcmVyJywgdmVkIGF0IHNrcml2ZTogICAvaWdub3JlciAgPEVOVEVSPgorICAgICBHZW50YWcgZmxlcmUgZ2FuZ2UgdmVkIGF0IHRyeWtrZSBww6UgIG4gLgorCisgIDIuIFPDpnQgJ2ljJy12YWxnbXVsaWdoZWRlbiAoSWdub3JlciBmb3Jza2VsbGUgcMOlIHN0b3JlL3Ntw6UgYm9nc3RhdmVyKSwgdmVkIGF0IHNrcml2ZTogICA6c2V0IGljCisKKyAgMy4gU8O4ZyBudSBlZnRlciAnaWdub3JlcicgaWdlbiwgdmVkIGF0IHRyeWtrZSBww6UgIG4KKyAgICAgQmVtw6ZyayBhdCBJZ25vcmVyIG9nIElHTk9SRVIgbnUgb2dzw6UgYmxpdmVyIGZ1bmRldC4KKworICA0LiBTw6Z0ICdobHNlYXJjaCctIG9nICdpbmNzZWFyY2gnLXZhbGdtdWxpZ2hlZGVybmU6ICA6c2V0IGhscyBpcworCisgIDUuIFNrcml2IG51IHPDuGcta29tbWFuZG9lbiBpZ2VuIG9nIHNlIGh2YWQgZGVyIHNrZXI6ICAvaWdub3JlciA8RU5URVI+CisKKyAgNi4gRGVha3RpdsOpciBpZ25vcmVyaW5nIGFmIGZvcnNrZWxsZSBww6Ugc3RvcmUvc23DpSBib2dzdGF2ZXIsIHZlZCBhdCBza3JpdmU6ICA6c2V0IG5vaWMKKworQkVNw4ZSSzogRmplcm4gZnJlbWjDpnZuaW5nZW4gYWYgbWF0Y2hlcywgdmVkIGF0IHNrcml2ZTogICA6bm9obHNlYXJjaCAKK0JFTcOGUks6IEh2aXMgZHUgdmlsIGlnbm9yZXJlIGNhc2UgZm9yIGVuIGVua2VsdCBzw7hnLWtvbW1hbmRvLCBzw6UgYnJ1ZyAgXGMKKyAgICAgICAgaSBmcmFzZW46ICAvaWdub3JlclxjICA8RU5URVI+Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICAgIExla3Rpb24gNiBPUFNVTU1FUklORworCisgIDEuIFNrcml2ICBvICBmb3IgYXQgw6VibmUgZW4gbGluamUgTkVERU5VTkRFUiBtYXJrw7hyZW4gb2cgc3RhcnRlIGluZHPDpnQtdGlsc3RhbmQuCisgICAgIFNrcml2ICBPICBmb3IgYXQgw6VibmUgZW4gbGluamUgT1ZFTk9WRVIgbWFya8O4cmVuLgorCisgIDIuIFNrcml2ICBhICBmb3IgYXQgaW5kc8OmdHRlIHRla3N0IEVGVEVSIG1hcmvDuHJlbi4KKyAgICAgU2tyaXYgIEEgIGZvciBhdCBpbmRzw6Z0dGUgdGVrc3QgZWZ0ZXIgc2x1dG5pbmdlbiBhZiBsaW5qZW4uCisKKyAgMy4gICBlLWtvbW1hbmRvZW4gIGZseXR0ZXIgdGlsIHNsdXRuaW5nZW4gYWYgZXQgb3JkLgorCisgIDQuICAgeS1vcGVyYXRvcmVuICB5YW5rLXVkdHLDpmtrZXIgKGtvcGllcmVyKSB0ZWtzdCwgIHAgIHB1dC1pbmRzw6Z0dGVyIChpbmRzw6Z0dGVyKSBkZW4uCisKKyAgNS4gTsOlciBkZXIgc2tyaXZlcyBldCBzdG9ydCAgUiAgc3RpbGxlcyBkdSBpIGVyc3RhdC10aWxzdGFuZCBpbmR0aWwgZGVyIHRyeWtrZXMgcMOlICA8RVNDPiAgLgorCisgIDYuIE7DpXIgZGVyIHNrcml2ZXMgIjpzZXQgeHh4Iiwgc8OlIHPDpnR0ZXMgdmFsZ211bGlnaGVkZW4gInh4eCIuIE5vZ2xlIHZhbGdtdWxpZ2hlZGVyIGVyOgorICAJJ2ljJyAnaWdub3JlY2FzZScJaWdub3JlciBmb3Jza2VsbGUgcMOlIHN0b3JlL3Ntw6UgYm9nc3RhdmVyIG7DpXIgZGVyIHPDuGdlcworCSdpcycgJ2luY3NlYXJjaCcJdmlzIGRlbHZpc2UgbWF0Y2ggZm9yIGVuIHPDuGdlZnJhc2UKKwknaGxzJyAnaGxzZWFyY2gnCWZyZW1ow6Z2IGFsbGUgZnJhc2VyIHNvbSBtYXRjaGVyCisgICAgIER1IGthbiBlbnRlbiBicnVnZSBkZXQgbGFuZ2UgZWxsZXIga29ydGUgdmFsZ211bGlnaGVkc25hdm4uCisKKyAgNy4gVmVkaMOmZnQgIm5vIiBpIGJlZ3luZGVsc2VuLCBmb3IgYXQgc2zDpSBlbiB2YWxnbXVsaWdoZWQgZnJhOiAgIDpzZXQgbm9pYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgICAgICBMZWt0aW9uIDcuMTogRsOFIEhKw4ZMUAorCisKKwkJICAgICAgKiogQnJ1ZyBvbmxpbmUtaGrDpmxwZXN5c3RlbWV0ICoqCisKKyAgVmltIGhhciBldCBvbWZhdHRlbmRlIG9ubGluZS1oasOmbHBlc3lzdGVtLiBQcsO4diBlbiBhZiBkaXNzZSB0cmUsCisgIGZvciBhdCBrb21tZSBpIGdhbmc6CisJLSB0cnlrIHDDpSA8SEVMUD4tdGFzdGVuIChodmlzIGR1IGhhciBlbikKKwktIHRyeWsgcMOlIDxGMT4tdGFzdGVuIChodmlzIGR1IGhhciBlbikKKwktIHNrcml2ICAgOmhlbHAgPEVOVEVSPgorCisgIEzDpnMgdGVrc3RlbiBpIGhqw6ZscGV2aW5kdWV0IGZvciBhdCBmaW5kZSB1ZCBhZiBodm9yZGFuIGhqw6ZscGVuIHZpcmtlci4KKyAgU2tyaXYgIENUUkwtVyBDVFJMLVcgICBmb3IgYXQgaG9wcGUgZnJhIGV0IHZpbmR1ZSB0aWwgZXQgYW5kZXQuCisgIFNrcml2ICAgIDpxIDxFTlRFUj4gICAgZm9yIGF0IGx1a2tlIGhqw6ZscGV2aW5kdWV0LgorCisgIER1IGthbiBmaW5kZSBoasOmbHAgb20gbsOmc3RlbiBhbGxlIGVtbmVyLCB2ZWQgYXQgZ2l2ZSBldCBhcmd1bWVudCB0aWwKKyAgIjpoZWxwIi1rb21tYW5kb2VuLiBQcsO4diBkaXNzZSAoaHVzayBhdCB0cnlra2UgcMOlIDxFTlRFUj4pOgorCisJOmhlbHAgdworCTpoZWxwIGNfQ1RSTC1ECisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWt0aW9uIDcuMjogT1BSRVQgRVQgT1BTVEFSVFMtU0NSSVBUCisKKworCQkJICAqKiBBa3RpdsOpciBWaW0tZnVua3Rpb25hbGl0ZXRlciAqKgorCisgIFZpbSBoYXIgbWFuZ2UgZmxlcmUgZnVua3Rpb25hbGl0ZXRlciBlbmQgVmksIG1lbiBkZSBmbGVzdGUgZXIgZGVha3RpdmVyZXQgc29tCisgIHN0YW5kYXJkLiBGb3IgYXQgYnJ1Z2UgZmxlcmUgZnVua3Rpb25hbGl0ZXRlciBza2FsIGR1IG9wcmV0dGUgZW4gInZpbXJjIi1maWwuCisKKyAgMS4gQmVneW5kIGF0IHJlZGlnZXJlICJ2aW1yYyItZmlsZW4uIERldCBhZmjDpm5nZXIgYWYgZGl0IHN5c3RlbToKKwk6ZSB+Ly52aW1yYwkJaSBVbml4CisJOmUgJFZJTS9fdmltcmMJCWkgTVMtV2luZG93cworCisgIDIuIEzDpnMgbnUgaW5kaG9sZGV0IGFmIGVrc2VtcGVsICJ2aW1yYyItZmlsZW46CisJOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiBTa3JpdiBmaWxlbiBtZWQ6CisJOncKKworICBOw6ZzdGUgZ2FuZyBkdSBzdGFydGVyIFZpbSBicnVnZXIgZGVuIHN5bnRha3NmcmVtaMOmdm5pbmcuCisgIER1IGthbiB0aWxmw7hqZSBhbGxlIGRpbmUgZm9yZXRydWtuZSBpbmRzdGlsbGluZ2VyIHRpbCAidmltcmMiLWZpbGVuLgorICBGw6UgbWVyZSBpbmZvcm1hdGlvbiwgdmVkIGF0IHNrcml2ZSAgOmhlbHAgdmltcmMtaW50cm8KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgIExla3Rpb24gNy4zOiBGVUxERsOYUkVMU0UKKworCisJICAgICAgKiogS29tbWFuZG9saW5qZWZ1bGRmw7hyZWxzZSBtZWQgQ1RSTC1EIG9nIDxUQUI+ICoqCisKKyAgMS4gU8O4cmcgZm9yIGF0IFZpbSBpa2tlIGVyIGkga29tcGF0aWJlbCB0aWxzdGFuZDogIDpzZXQgbm9jcAorCisgIDIuIFNlIGh2aWxrZSBmaWxlciBkZXIgZXIgaSBtYXBwZW46ICA6IWxzICAgZWxsZXIgIDohZGlyCisKKyAgMy4gU2tyaXYgYmVneW5kZWxzZW4gYWYgZW4ga29tbWFuZG86ICA6ZQorCisgIDQuIFRyeWsgcMOlICBDVFJMLUQgIG9nIFZpbSB2aXNlciBlbiBsaXN0ZSBvdmVyIGtvbW1hbmRvZXIgZGVyIGJlZ3luZGVyIG1lZCAiZSIuCisKKyAgNS4gVHJ5ayBww6UgPFRBQj4gIG9nIFZpbSB2aWwgZnVsZGbDuHJlIGtvbW1hbmRvbmF2bmV0IHRpbCAiOmVkaXQiLgorCisgIDYuIFRpbGbDuGogbnUgZXQgbWVsbGVtcnVtIG9nIGJlZ3luZGVsc2VuIGFmIGV0IGVrc2lzdGVyZW5kZSBmaWxuYXZuOiAgOmVkaXQgRklMCisKKyAgNy4gVHJ5ayBww6UgPFRBQj4uIFZpbSBmdWxkZsO4cmVyIG5hdm5ldCAoaHZpcyBkZXQgZXIgdW5pa3QpLgorCitCRU3DhlJLOiBGdWxkZsO4cmVsc2Ugdmlya2VyIHRpbCBtYW5nZSBrb21tYW5kb2VyLiBQcsO4diBibG90IGF0IHRyeWtrZSBww6UKKyAgICAgICAgQ1RSTC1EIG9nIDxUQUI+LiBEZXQgZXIgc8OmcmxpZ3Qgbnl0dGlndCB0aWwgIDpoZWxwIC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgICBMZWt0aW9uIDcgT1BTVU1NRVJJTkcKKworCisgIDEuIFNrcml2ICA6aGVscCAgZWxsZXIgdHJ5ayBww6UgPEYxPiBlbGxlciA8SGVscD4gIGZvciBhdCDDpWJuZSBldCBoasOmbHBldmluZHVlLgorCisgIDIuIFNrcml2ICA6aGVscCBrb21tYW5kbyAgZm9yIGF0IGZpbmRlIGhqw6ZscCBvbSAga29tbWFuZG8gLgorCisgIDMuIFNrcml2ICBDVFJMLVcgQ1RSTC1XICBmb3IgYXQgaG9wcGUgdGlsIGV0IGFuZGV0IHZpbmR1ZQorCisgIDQuIFNrcml2ICA6cSAgZm9yIGF0IGx1a2tlIGhqw6ZscGV2aW5kdWV0CisKKyAgNS4gT3ByZXQgZXQgdmltcmMtb3BzdGFydHMtc2NyaXB0IGZvciBhdCBiZXZhcmUgZGluZSBmb3JldHJ1a25lIGluZHN0aWxsaW5nZXIuCisKKyAgNi4gTsOlciBkZXIgc2tyaXZlcyBlbiAgOi1rb21tYW5kbyAgLCBzw6UgdHJ5ayBww6UgQ1RSTC1EIGZvciBhdCBzZQorICAgICBtdWxpZ2UgZnVsZGbDuHJlbHNlci4gVHJ5ayBww6UgPFRBQj4gZm9yIGF0IGJydWdlIGVuIGZ1bGRmw7hyZWxzZS4KKworCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgRGV0IGFmc2x1dHRlciBWaW0tdmVqbGVkbmluZ2VuLiBEZXQgdmFyIG1lbmluZ2VuIGRlbiBza3VsbGUgZ2l2ZSBldAorICBrb3J0ZmF0dGV0IG92ZXJibGlrIGFmIFZpbS1lZGl0b3JlbiwgbGlnZSBub2sgdGlsIGF0IGR1IGthbiBicnVnZSBlZGl0b3JlbgorICBub2dlbmx1bmRlIGxldC4gRGVuIGVyIGxhbmd0IGZyYSBrb21wbGV0LCBkYSBWaW0gaGFyIG1hbmdlIG1hbmdlIGZsZXJlCisgIGtvbW1hbmRvZXIuIEzDpnMgYnJ1Z2VybWFudWFsZW4gc29tIGRldCBuw6ZzdGU6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgRGVubmUgYm9nIGFuYmVmYWxlcywgdGlsIHlkZXJsaWdlcmUgbMOmc25pbmcgb2cgc3R1ZGVyaW5nOgorCVZpbSAtIFZpIEltcHJvdmVkIC0gYWYgU3RldmUgT3VhbGxpbmUKKwlGb3JsYWc6IE5ldyBSaWRlcnMKKyAgRGVuIGbDuHJzdGUgYm9nIHNvbSBoZWx0IGVyIHRpbGVnbmV0IFZpbS4gU3BlY2llbHQgbnl0dGlnIGZvciBiZWd5bmRlcmUuCisgIERlciBlciBtYW5nZSBla3NlbXBsZXIgb2cgYmlsbGVkZXIuCisgIFNlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRGVubmUgYm9nIGVyIMOmbGRyZSBvZyBtZXJlIG9tIFZpIGVuZCBWaW0sIG1lbiBhbmJlZmFsZXMgb2dzw6U6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGFmIExpbmRhIExhbWIKKwlGb3JsYWc6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIERldCBlciBlbiBnb2QgYm9nIHRpbCBhdCBrb21tZSB0aWwga2VuZGUgbsOmc3RlbiBhbHQgaHZhZCBkdSB2aWwgZ8O4cmUgbWVkIFZpLgorICBEZW4gc2pldHRlIHVkZ2F2ZSBpbmtsdWRlcmVyIG9nc8OlIGluZm9ybWF0aW9uIG9tIFZpbS4KKworICBWZWpsZWRuaW5nZW4gYmxldiBza3JldmV0IGFmIE1pY2hhZWwgQy4gUGllcmNlIG9nIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgbWVkIGlkZWVyIGFmIENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIMOGbmRyZXQgdGlsIFZpbSBhZiBCcmFtIE1vb2xlbmFhci4KKworICBPdmVyc2F0IHRpbCBkYW5zayBhZiBzY29vdGVyZ3Jpc2VuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K