ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IucHQgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0Y2RmMmYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnB0CkBAIC0wLDAgKzEsOTg0IEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICAgQiBlIG0gICBWIGkgbiBkIG8gICBhIG8gICBWIEkgTSAgIFQgdSB0IG8gciAgIC0gICBWZXJz428gMS43IHB0X0JSICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIOkgdW0gcG9kZXJvc28gZWRpdG9yIHF1ZSBwb3NzdWkgbXVpdG9zIGNvbWFuZG9zLCB0YW50b3MgcXVlIHNlcmlhCisgICAgIGltcG9zc+12ZWwgZW5zaW5hciBudW0gdHV0b3JpYWwgY29tbyBlc3RlLiBFc3RlIHR1dG9yaWFsIOkgcGxhbmVqYWRvIHBhcmEKKyAgICAgYXByZXNlbnRhciBvcyBjb21hbmRvcyBzdWZpY2llbnRlcyBwYXJhIHZvY+ogZmljYXIgaGFiaWxpdGFkbyBhIHVzYXIKKyAgICAgZmFjaWxtZW50ZSBvIFZpbSBjb21vIHVtIGVkaXRvciBkZSB0ZXh0b3MgZ2Vu6XJpY28uCisKKyAgICAgTyB0ZW1wbyBhcHJveGltYWRvIHJlcXVlcmlkbyBwYXJhIGNvbXBsZXRhciBvIHR1dG9yaWFsIOkgZGUgMjUtMzAgbWludXRvcywKKyAgICAgZGVwZW5kZW5kbyBkZSBxdWFudG8gdGVtcG8g6SBnYXN0byBwcmF0aWNhbmRvIG9zIGNvbWFuZG9zLgorCisgICAgIEFURU7Hw086CisgICAgIE9zIGNvbWFuZG9zIG5hcyBsaef1ZXMgduNvIG1vZGlmaWNhciBvIHRleHRvLiBVdGlsaXplIHVtYSBj83BpYSBkZXN0ZQorICAgICBhcnF1aXZvIHBhcmEgcHJhdGljYXIgb3MgY29tYW5kb3MgKHNlIHZvY+ogaW5pY2lvdSBvICJ2aW10dXRvciIsIGVzdGEgauEKKyAgICAg6SB1bWEgY/NwaWEpLgorCisgICAgIMkgaW1wb3J0YW50ZSBsZW1icmFyIHF1ZSBlc3RlIHR1dG9yaWFsIOkgcGxhbmVqYWRvIHBhcmEgZW5zaW5hciBhdHJhdulzIGRhCisgICAgIHBy4XRpY2EuIElzc28gc2lnbmlmaWNhIHF1ZSB2b2PqIHByZWNpc2EgZXhlY3V0YXIgb3MgY29tYW5kb3MgcGFyYSAKKyAgICAgYXByZW5k6i1sb3MgYWRlcXVhZGFtZW50ZS4gU2Ugdm9j6iBzb21lbnRlIGxlciBvIHRleHRvLCBlc3F1ZWNlcuEgb3MKKyAgICAgY29tYW5kb3MhCisKKyAgICAgQWdvcmEsIGNlcnRpZmlxdWUtc2UgZGUgcXVlIHN1YSB0ZWNsYSBTaGlmdC1Mb2NrIChvdSBDYXBzIExvY2spIG7jbyBlc3RlamEKKyAgICAgYXRpdmFkYSBlIHByZXNzaW9uZSBhIHRlY2xhICBqICBvIGJhc3RhbnRlIHBhcmEgbW92ZXIgbyBjdXJzb3IgYXTpIHF1ZSBhCisgICAgIExp5+NvIDEuMSBlc3RlamEgY29tcGxldGFtZW50ZSBuYSB0ZWxhLgorfn5+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+CisJCQkgTGnn428gMS4xOiAgTU9WRU5ETyBPIENVUlNPUgorCisKKyAgKiogUGFyYSBtb3ZlciBvIGN1cnNvciwgcHJlc3Npb25lIGFzIHRlY2xhcyBoLGosayxsIGNvbmZvcm1lIGluZGljYWRvLiAqKgorICAgICAgICAgICAgIF4KKyAgICAgICAgICAgICBrICAgICAgICAgIERpY2E6IEEgdGVjbGEgaCBlc3ThIOAgZXNxdWVyZGEgZSBtb3ZlIHBhcmEgYSBlc3F1ZXJkYS4KKyAgICAgICA8IGggICAgICAgbCA+ICAgICAgICAgIEEgdGVjbGEgbCBlc3ThIOAgZGlyZWl0YSBlIG1vdmUgcGFyYSBhIGRpcmVpdGEuCisgICAgICAgICAgICAgaiAgICAgICAgICAgICAgICBBIHRlY2xhIGogc2UgcGFyZWNlIGNvbSB1bWEgc2V0YSBwYXJhIGJhaXhvLgorICAgICAgICAgICAgIHYKKyAgMS4gTW92YSBvIGN1cnNvciBwZWxhIHRlbGEgYXTpIHF1ZSB2b2PqIHNlIHNpbnRhIGNvbmZvcnThdmVsLgorCisgIDIuIFNlZ3VyZSBwcmVzc2lvbmFkYSBhIHRlY2xhIChqKSBhdOkgaGF2ZXIgcmVwZXRp5+NvLgorICAgICBBZ29yYSB2b2PqIGrhIHNhYmUgY29tbyBpciBwYXJhIGEgcHLzeGltYSBsaefjby4KKworICAzLiBVc2FuZG8gYSB0ZWNsYSBqLCBtb3ZhIGF06SBhIGxp5+NvIDEuMi4KKworTk9UQTogU2Ugdm9j6iBlc3ThIGluc2VndXJvIHNvYnJlIG8gcXVlIGRpZ2l0b3UsIHByZXNzaW9uZSA8RVNDPiBwYXJhIAorICAgICAgY29sb2PhLWxvIG5vIG1vZG8gTm9ybWFsLiBFbnTjbyByZWRpZ2l0ZSBvIGNvbWFuZG8gcXVlIHZvY+ogcXVlcmlhLgorCitOT1RBOiBBcyB0ZWNsYXMgZGUgY3Vyc29yIGRldmVtIGZ1bmNpb25hciB0YW1i6W0uIE1hcyB1c2FuZG8gaGprbCwgdONvIGxvZ28KKyAgICAgIGVzdGVqYSBhY29zdHVtYWRvLCB2b2PqIHBvZGVy4SBzZSBtb3ZlciBtdWl0byBtYWlzIHJhcGlkYW1lbnRlLgorCit+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+fn4KKwkJCSAgIExp5+NvIDEuMjogU0FJTkRPIERPIFZJTQorCisKKyAhISBOT1RBOiBBbnRlcyBkZSBleGVjdXRhciBxdWFscXVlciBkb3MgcGFzc29zIGFiYWl4bywgbGVpYSBhIGxp5+NvIGludGVpcmEgISEKKworICAxLiBQcmVzc2lvbmUgPEVTQz4gKHBhcmEgdGVyIGNlcnRlemEgZGUgcXVlIGVzdOEgbm8gbW9kbyBOb3JtYWwpLgorCisgIDIuIERpZ2l0ZSAgICA6cSEgPEVOVEVSPi4KKyAgICAgSXNzbyBzYWkgZG8gZWRpdG9yIFNFTSBzYWx2YXIgcXVhbHF1ZXIgbXVkYW7nYSBxdWUgdGVuaGEgc2lkbyBmZWl0YS4KKyAgICAgU2UgcXVpc2VyIHNhbHZhciBhcyBhbHRlcmHn9WVzIGUgc2FpciwgZGlnaXRlICAgICA6d3EgPEVOVEVSPgorCisgIDMuIFF1YW5kbyB2aXIgbyBwcm9tcHQgZG8gc2hlbGwgZGlnaXRlIG8gY29tYW5kbyBxdWUgbGhlIHRyb3V4ZSBhIGVzdGUKKyAgICAgdHV0b3JpYWwsIG5hIG1haW9yaWEgZG9zIGNhc29zOiAgICAgIHZpbXR1dG9yIDxFTlRFUj4uCisKKyAgNC4gU2Ugdm9j6iBtZW1vcml6b3UgZXN0ZXMgcGFzc29zIGUgZXN04SBjb25maWFudGUsIGV4ZWN1dGUgb3MgcGFzc29zIGRlCisgICAgIDEgYSAzIHBhcmEgc2FpciBlIHJlLWVudHJhciBubyBlZGl0b3IuCisKK05PVEE6ICA6cSEgPEVOVEVSPiAgZGVzY2FydGEgcXVhbHF1ZXIgbXVkYW7nYS4gRW0gdW1hIHBy83hpbWEgbGnn428gc2Vy4QorICAgICAgIGVuc2luYWRvIGNvbW8gc2FsdmFyIGFzIG11ZGFu52FzIGZlaXRhcyBlbSB1bSBhcnF1aXZvLgorCisgIDUuIERlc+dhIG8gY3Vyc29yIGF06SBhIExp5+NvIDEuMy4KKworfn5+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+CisJCSAgICAgTGnn428gMS4zOiBFRElUQU5ETyBURVhUT1MgLSBERUxFx8NPCisKKyAgKiogTm8gbW9kbyBOb3JtYWwsIHByZXNzaW9uZSAgeCAgcGFyYSBkZWxldGFyIG8gY2FyYWN0ZXJlIHNvYiBvIGN1cnNvci4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIFBhcmEgY29ycmlnaXIgb3MgZXJyb3MsIG1vdmEgbyBjdXJzb3IgYXTpIHF1ZSBlbGUgZXN0ZWphIHNvYnJlIG8gCisgICAgIGNhcmFjdGVyZSBhIHNlciBkZWxldGFkby4KKworICAzLiBQcmVzc2lvbmUgYSB0ZWNsYSAgeCAgcGFyYSBkZWxldGFyIG8gY2FyYWN0ZXJlIGluZGVzZWphZG8uCisKKyAgNC4gUmVwaXRhIG9zIHBhc3NvcyAyIGF06SA0IGF06SBxdWUgYSBzZW50ZW7nYSBlc3RlamEgY29ycmV0YS4KKworLS0tPiBBIHZ2YWNhIHB1bGxvdXUgcG9yIGNjaW1hYSBkZGEgbHV1dWEuCisKKyAgNS4gQWdvcmEgcXVlIGEgc2VudGVu52EgZXN04SBjb3JyZXRhLCB24SBwYXJhIGEgTGnn428gMS40LgorCitOT1RBOiBFbnF1YW50byBzZWd1ZSBlc3RlIHR1dG9yaWFsLCBu428gdGVudGUgbWVtb3JpemFyLCBhcHJlbmRhIHBlbG8gdXNvLgorCisKKworfn5+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+CisJCSAgICBMaefjbyAxLjQ6IEVESVRBTkRPIFRFWFRPUyAtIElOU0VSx8NPCisKKwkJICAgKiogUHJlc3Npb25lICBpICBwYXJhIGluc2VyaXIgdGV4dG8uICoqCisKKworICAxLiBNb3ZhIG8gY3Vyc29yIGF06SBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIFBhcmEgZmF6ZXIgYSBwcmltZWlyYSBsaW5oYSBmaWNhciBpZ3VhbCDgIHNlZ3VuZGEsIG1vdmEgbyBjdXJzb3IgcGFyYQorICAgICBvIHByaW1laXJvIGNhcmFjdGVyZSBERVBPSVMgZGUgb25kZSBvIHRleHRvIGRldmVy4SBzZXIgaW5zZXJpZG8uCisKKyAgMy4gUHJlc3Npb25lICBpICBlIGRpZ2l0ZSBhcyBhZGnn9WVzIG5lY2Vzc+FyaWFzLgorCisgIDQuIEFzc2ltIHF1ZSBjYWRhIGVycm8gZm9yIGNvcnJpZ2lkbyBwcmVzc2lvbmUgPEVTQz4gcGFyYSByZXRvcm5hciBhbyBtb2RvCisgICAgIE5vcm1hbC4gUmVwaXRhIG9zIHBhc3NvcyAyIGF06SA0IHBhcmEgY29ycmlnaXIgYSBzZW50ZW7nYS4KKworLS0tPiBUZW0gdGV4dCBmYXRhZG8gZGVzdGEgLgorLS0tPiBUZW0gYWxndW0gdGV4dG8gZmFsdGFuZG8gZGVzdGEgbGluaGEuCisKKyAgNS4gUXVhbmRvIHNlIHNlbnRpciBjb25mb3J04XZlbCBjb20gYSBpbnNlcufjbyBkZSB0ZXh0bywgbW92YSBvIGN1cnNvciBwYXJhCisgICAgIGEgbGnn428gMS41LgorCisKK35+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+fgorCQkgICBMaefjbyAxLjU6IEVESVRBTkRPIFRFWFRPIC0gQURJQ0lPTkFORE8KKworCQkgICoqIFByZXNzaW9uZSAgQSAgcGFyYSBhZGljaW9uYXIgdGV4dG8uICoqCisKKyAgMS4gTW92YSBvIGN1cnNvIHBhcmEgYSBwcmltZWlyYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKyAgICAgTuNvIGltcG9ydGEgc29icmUgcXVhbCBjYXJhY3RlcmUgbyBjdXJzb3IgZXN0YXLhIG5hIGxpbmhhLgorCisgIDIuIFByZXNzaW9uZSAgQSAgZSBkaWdpdGUgYXMgYWRp5/VlcyBuZWNlc3Phcmlhcy4KKworICAzLiBRdWFuZG8gYWRpY2lvbmFyIG8gdGV4dG8sIHByZXNzaW9uZSA8RVNDPiBwYXJhIHJldG9ybmFyIGFvIG1vZG8gTm9ybWFsLgorCisgIDQuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIHNlZ3VuZGEgbGluaGEgbWFyY2FkYSAtLS0+IGUgcmVwaXRhIG9zIHBhc3NvcyAyIGUgMworICAgICBwYXJhIGNvcnJpZ2lyIG8gdGV4dG8uCisKKy0tLT4gSOEgYWxndW0gdGV4dG8gZmFsdGFuZG8gZGVzCisgICAgIEjhIGFsZ3VtIHRleHRvIGZhbHRhbmRvIGRlc3RhIGxpbmhhLgorICAgICBI4SBhbGd1bSB0ZXh0byBmYWx0YW4KKy0tLT4gSOEgYWxndW0gdGV4dG8gZmFsdGFuZG8gYXF1aS4KKworICA1LiBRdWFuZG8gc2Ugc2VudGlyIGNvbmZvcnThdmVsIGFkaWNpb25hbmRvIHRleHRvLCBtb3ZhIHBhcmEgYSBsaefjbyAxLjYuCisKKworfn5+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+CisJCQlMaefjbyAxLjY6IEVESVRBTkRPIFVNIEFSUVVJVk8KKwkJKiogVXNlICA6d3EgIHBhcmEgc2FsdmFyIHVtIGFycXVpdm8gZSBzYWlyLiAqKgorCisJICAhISBOT1RBOiBBbnRlcyBkZSBleGVjdXRhciBxdWFscXVlciB1bSBkb3MgcGFzc29zIGFiYWl4bywKKwkJICAgICAgIGxlaWEgZXN0YSBsaefjbyBjb21wbGV0YW1lbnRlISEKKworICAxLiBTYWlhIGRlc3RlIHR1dG9yaWFsIGNvbW8gbyBmZXogbmEgbGnn428gMS4yOiAgOnEhCisgICAgIE91LCBzZSB0aXZlciBhY2Vzc28gYSBvdXRybyB0ZXJtaW5hbCwgZmHnYSBvIHNlZ3VpbnRlIG5lbGUuCisKKyAgMi4gTm8gcHJvbXB0IGRvIHNoZWxsLCBkaWdpdGUgZXNzZSBjb21hbmRvOiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgaXMg6SBjb21hbmRvIHBhcmEgaW5pY2lhciBvIGVkaXRvciBWaW0gZSAndHV0b3InIOkgbyBub21lIGRvCisgICAgIGFycXVpdm8gcXVlIHZvY+ogZGVzZWphIGVkaXRhci4gIFVzZSB1bSBhcnF1aXZvIHF1ZSBwb3NzYSBzZXIgbW9kaWZpY2Fkby4KKworICAzLiBJbnNpcmEgZSBkZWxldGUgdGV4dG8gdGFsIGNvbW8gYXByZW5kZXUgY29tIGFzIGxp5/VlcyBhbnRlcmlvcmVzLgorCisgIDQuIFNhbHZlIG8gYXJxdWl2byBjb20gYXMgbXVkYW7nYXMgZSBzYWlhIGRvIFZpbSBjb206ICA6d3EgPEVOVEVSPgorCisgIDUuIFNlIHZvY+ogdGl2ZXIgc2HtZG8gZG8gdmltdHV0b3Igbm8gcGFzc28gMSwgcmVpbmljaWUgbyB2aW10dXRvciBlIHbhIHBhcmEKKyAgICAgbyBzdW3hcmlvIHNlZ3VpbnRlLgorCisgIDYuIEFw83MgbGVyIG9zIHBhc3NvcyBhY2ltYSBlIGNvbXByZWVuZOotbG9zLCBleGVjdXRlLW9zLgorCit+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+fn4KKwkJCSAgICAgIFNVTcFSSU8gREEgTEnHw08gMQorCisgIDEuIE8gY3Vyc29yIOkgbW92aWRvIHVzYW5kbyB0YW50byBhcyB0ZWNsYXMgZGUgc2V0YSBxdWFudG8gYXMgdGVjbGFzIGhqa2wuCisJaCAoZXNxdWVyZGEpCWogKHBhcmEgYmFpeG8pCWsgKHBhcmEgY2ltYSkJbCAoZGlyZWl0YSkKKworICAyLiBQYXJhIGVudHJhciBubyBWaW0gYSBwYXJ0aXIgZGUgdW0gc2hlbGwgZGlnaXRlOiB2aW0gTk9NRURPQVJRVUlWTyA8RU5URVI+CisKKyAgMy4gUGFyYSBzYWlyIGRvIFZpbSBkaWdpdGU6ICA8RVNDPiA6cSEgPEVOVEVSPiBwYXJhIGRlc2NhcnRhciBhcyBhbHRlcmHn9WVzLgorICAgICAgICAgICAgICAgICAgIE9VIGRpZ2l0ZTogIDxFU0M+IDp3cSA8RU5URVI+IHBhcmEgc2FsdmFyIGFzIGFsdGVyYef1ZXMuCisKKyAgNC4gUGFyYSBkZWxldGFyIHVtIGNhcmFjdGVyZSBzb2IgbyBjdXJzb3Igbm8gbW9kbyBOb3JtYWwgZGlnaXRlOiAgeAorCisgIDUuIFBhcmEgaW5zZXJpciB0ZXh0byBuYSBwb3Np5+NvIGRvIGN1cnNvciBlbnF1YW50byBlc3RpdmVyIG5vIG1vZG8gTm9ybWFsCisgICAgIGRpZ2l0ZToKKyAgICAgICAgICAgICBpICAgICBkaWdpdGUgbyB0ZXh0byA8RVNDPiAgIGluc2VyaXIgZGVwb2lzIGRvIGN1cnNvcgorCSAgICAgQSAgICAgZGlnaXRlIG8gdGV4dG8gPEVTQz4gICBhZGljaW9uYXIgbm8gZmluYWwgZGEgbGluaGEKKworTk9UQTogUHJlc3Npb25hbmRvIDxFU0M+IHZvY+ogaXLhIHBhcmEgbyBtb2RvIE5vcm1hbCBvdSBjYW5jZWxhcuEgdW0gY29tYW5kbworICAgICAgYWluZGEgaW5jb21wbGV0by4KKworQWdvcmEgY29udGludWUgY29tIGEgTGnn428gMi4KKworfn5+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+CisJCQlMaefjbyAyLjE6IENPTUFORE9TIERFIERFTEXHw08KKworCSAgKiogRGlnaXRlICBkdyAgcGFyYSBkZWxldGFyIGF06SBvIGZpbmFsIGRlIHVtYSBwYWxhdnJhLiAqKgorCisKKyAgMS4gUHJlc3Npb25lICA8RVNDPiAgcGFyYSB0ZXIgY2VydGV6YSBkZSBxdWUgZXN04SBubyBtb2RvIE5vcm1hbC4KKworICAyLiBNb3ZhIG8gY3Vyc29yIGF06SBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDMuIE1vdmEgbyBjdXJzb3IgYXTpIG8gY29tZedvIGRhIHBhbGF2cmEgcXVlIHByZWNpc2Egc2VyIGRlbGV0YWRhLgorCisgIDQuIERpZ2l0ZSAgZHcgIHBhcmEgZmF6ZXIgYSBwYWxhdnJhIGRlc2FwYXJlY2VyLgorCisgIE5PVEE6IEEgbGV0cmEgIGQgIHZhaSBhcGFyZWNlIG5hIPpsdGltYSBsaW5oYSBkYSB0ZWxhIGVucXVhbnRvIHZvY+ogYQorCWRpZ2l0YS4gTyBWaW0gZXN04SBsaGUgZXNwZXJhbmRvIGRpZ2l0YXIgdW0gIHcgLiBTZSB2b2PqIGRpZ2l0b3UKKwlhbGd1bWEgY29pc2EgZXJyYWRhLCBwcmVzc2lvbmUgPEVTQz4gZSBjb21lY2UgZGUgbm92by4KKworLS0tPiBUZW0gYSBhbGd1bWFzIG9pIHBhbGF2cmFzIGRpdmVyc+NvIHF1ZSBu428gcGVydGVuY2VtIHBhcGVsIGEgZXN0YSBzZW50ZW7nYS4KKworICA1LiBSZXBpdGEgb3MgcGFzc29zIDMgYW8gNCBhdOkgcXVlIGEgc2VudGVu52EgZXN0ZWphIGNvcnJldGEgZSB24SBwYXJhIGEKKyAgICAgTGnn428gMi4yLgorCit+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+fn4KKyAgICAgICAgICAgICAgICAgICAgIExp5+NvIDIuMjogTUFJUyBDT01BTkRPUyBERSBERUxFx8NPCisKKyAgICAgICAgICAqKiBEaWdpdGUgIGQkICBwYXJhIGRlbGV0YXIgYXTpIG8gZmluYWwgZGEgbGluaGEuICoqCisKKworCisgIDEuIFByZXNzaW9uZSA8RVNDPiBwYXJhIHRlciBjZXJ0ZXphIGRlIGVzdGFyIG5vIG1vZG8gTm9ybWFsLgorCisgIDIuIE1vdmEgbyBjdXJzb3IgYXTpIGEgbGluaGEgYWJhaXhvIG1hcmNhZGEgY29tIC0tLT4uCisKKyAgMy4gTW92YSBvIGN1cnNvciBhdOkgbyBmaW0gZGEgbGluaGEgY29ycmV0YSAoREVQT0lTIGRvIHByaW1laXJvICAuKS4KKworICA0LiBEaWdpdGUgIGQkICBwYXJhIGRlbGV0YXIgYXTpIG8gZmluYWwgZGEgbGluaGEuCisKKy0tLT4gQWxndeltIGRpZ2l0b3UgbyBmaW5hbCBkZXN0YSBsaW5oYSBkdWFzIHZlemVzLiBkZXN0YSBsaW5oYSBkdWFzIHZlemVzLgorCisgIDUuIFbhIHBhcmEgYSBsaefjbyAyLjMgcGFyYSBlbnRlbmRlciBvIHF1ZSBlc3ThIGFjb250ZWNlbmRvLgorCisKKworCisKK35+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+fgorCQkgICBMaefjbyAyLjM6IFNPQlJFIE9QRVJBRE9SRVMgRSBNT1ZJTUVOVE9TIAorCisgIE11aXRvcyBjb21hbmRvcyBxdWUgbXVkYW0gdGV4dG8gc+NvIGZlaXRvcyBkZSB1bSBvcGVyYWRvciBlIHVtIG1vdmltZW50by4KKyAgTyBmb3JtYXRvIHBhcmEgdW0gY29tYW5kbyBkZWxldGFyIGNvbSBvIG9wZXJhZG9yIGRlIGRlbGXn428gIGQgIHRlbSBhCisgIHNlZ3VpbnRlIGZvcm1hOgorCisgICAgICAgICBkICAgbW92aW1lbnRvCisgIE9uZGU6CisgICAgZCAtIOkgbyBvcGVyYWRvciBkZWxldGFyLgorICAgIG1vdmltZW50byAtIOkgY29tbyBvIG9wZXJhZG9yIHZhaSBvcGVyYXIgKGxpc3RhZG8gYWJhaXhvKS4KKworICBVbWEgcGVxdWVuYSBsaXN0YSBkZSB0ZWNsYXMgZGUgbW92aW1lbnRvOgorICAgIHcgLSBkbyBjdXJzb3IgYXTpIG8gZmltIGRhIHBhbGF2cmEsIGluY2x1aW5kbyBvIGVzcGHnby4KKyAgICBlIC0gZG8gY3Vyc29yIGF06SBvIGZpbSBkYSBwYWxhdnJhLCBOw08gaW5jbHVpbmRvIG8gZXNwYedvLgorICAgICQgLSBkbyBjdXJzb3IgYXTpIG8gZmltIGRhIGxpbmhhLgorCisgIFBvcnRhbnRvLCBkaWdpdGFuZG8gIGRlICBpcuEgZGVsZXRhciBkbyBjdXJzb3IgYW8gZmltIGRhIHBhbGF2cmEuCisKK05PVEE6IFByZXNzaW9uYW5kbyBhcGVuYXMgYSB0ZWNsYSBkZSBtb3ZpbWVudG8gZW5xdWFudG8gZW0gbW9kbyBOb3JtYWwsIHNlbSBvCitvcGVyYWRvciwgaXLhIG1vdmVyIG8gY3Vyc29yIGNvbW8gZXNwZWNpZmljYWRvIG5hIGxpc3RhIGRlIHRlY2xhcyBkZQorbW92aW1lbnRvLgorCit+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+fn4KKwkgICAgICAgTGnn428gMi40OiBVU0FORE8gVU0gQ09OVEFET1IgUEFSQSBVTSBNT1ZJTUVOVE8KKworICAgICoqIERpZ2l0YW5kbyB1bSBu+m1lcm8gYW50ZXMgZGUgdW0gbW92aW1lbnRvIHJlcGV0ZS1vIG11aXRhcyB2ZXplcy4gKioKKworCisgICAxLiBNb3ZhIG8gY3Vyc29yIHBhcmEgbyBjb21l528gZGEgbGluaGEgbWFyY2FkYSBjb20gLS0tPiBhYmFpeG8uCisKKyAgIDIuIERpZ2l0ZSAgMncgIHBhcmEgbW92ZXIgbyBjdXJzb3IgZHVhcyBwYWxhdnJhcyBhZGlhbnRlLgorCisgICAzLiBEaWdpdGUgIDNlICBwYXJhIG1vdmVyIG8gY3Vyc29yIHBhcmEgbyBmaW0gZGEgdGVyY2VpcmEgcGFsYXZyYSBhZGlhbnRlLgorCisgICA0LiBEaWdpdGUgIDAgICh6ZXJvKSBwYXJhIG1vdmVyIHBhcmEgbyBpbu1jaW8gZGEgbGluaGEuCisKKyAgIDUuIFJlcGl0YSBvcyBwYXNzb3MgMiBlIDMgY29tIGRpZmVyZW50ZXMgbvptZXJvcy4KKworLS0tPiBFc3RhIOkgdW1hIGxpbmhhIGNvbSBhbGd1bWFzIHBhbGF2cmFzIHBhcmEgbGhlIHBlcm1pdGlyIGZhemVyIG1vdmltZW50b3MuCisKKyAgIDYuIFbhIHBhcmEgYSBMaefjbyAyLjUuCisKKworCisKK35+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+fgorCSAgICAgICBMaefjbyAyLjU6IFVTQU5ETyBVTSBDT05UQURPUiBQQVJBIERFTEVUQVIgTUFJUworCisgICAqKiBEaWdpdGFuZG8gdW0gbvptZXJvIGNvbSB1bSBvcGVyYWRvciByZXBldGUtbyBlc3NlIG76bWVybyBkZSB2ZXplcy4gKioKKworCisgICBWb2PqIGRldmUgaW5zZXJpciB1bSBjb250YWRvciBlbnRyZSBvIG9wZXJhZG9yIGRlIGRlbGXn428gZSBvIG1vdmltZW50bworICAgbWVuY2lvbmFkb3MgYWNpbWEgcGFyYSBwYXJhIGRlbGV0YXIgbWFpczoKKyAgICAgICBkICAgbvptZXJvICAgbW92aW1lbnRvCisKKyAgIDEuIE1vdmltZW50ZSBvIGN1cnNvciBwYXJhIGEgcHJpbWVpcmEgcGFsYXZyYSBjb20gTEVUUkFTIE1BSdpTQ1VMQVMgbmEKKyAgICAgIGxpbmhhIG1hcmNhZGEgY29tIC0tLT4uCisKKyAgIDIuIERpZ2l0ZSAgZDJ3ICBwYXJhIGRlbGV0YXIgYXMgZHVhcyBwYWxhdnJhcyBjb20gTEVUUkFTIE1BSdpTQ1VMQVMuCisKKyAgIDMuIFJlcGl0YSBvcyBwYXNzb3MgMSBlIDIgY29tIGRpZmVyZW50ZXMgY29udGFkb3JlcyBwYXJhIGRlbGV0YXIgYXMKKyAgICAgIHBhbGF2cmFzIGRlIExFVFJBUyBNQUnaU0NVTEFTIGNvbSB1bSBjb21hbmRvLgorCistLS0+ICBlc3RhIEFCQyBERSBsaW5oYSBGR0hJIEpLIExNTiBPUCBkZSBwYWxhdnJhcyBlc3ThIFEgUlMgVFVWIGxpbXBhLgorCisKKworCit+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+fn4KKwkJICAgICAgIExp5+NvIDIuNjogT1BFUkFORE8gU09CUkUgTElOSEFTCisKKwkgICAgICAqKiBEaWdpdGUgIGRkICBwYXJhIGRlbGV0YXIgdW1hIGxpbmhhIGludGVpcmEuICoqCisKKyAgRW0gdmlydHVkZSBkYSBmcmVxdepuY2lhIGVtIGRlbGV0YXIgdW1hIGxpbmhhIGludGVpcmEsIG9zIHByb2pldGlzdGFzIGRvIFZpCisgIGRlY2lkaXJhbSBxdWUgc2VyaWEgbWFpcyBzaW1wbGVzIGRpZ2l0YXIgZG9pcyBkJ3MgbnVtYSBsaW5oYSBwYXJhIGRlbGV04S1sYS4KKworICAxLiBNb3ZhIG8gY3Vyc29yIGF06SBhIHNlZ3VuZGEgbGluaGEgbmEgbGlzdGEgYSBiYWl4by4KKyAgMi4gRGlnaXRlICBkZCAgcGFyYSBkZWxldGFyIGEgbGluaGEuCisgIDMuIEFnb3JhIG1vdmEgYXTpIGEgcXVhcnRhIGxpbmhhLgorICA0LiBEaWdpdGUgIDJkZCAgcGFyYSBkZWxldGFyIGR1YXMgbGluaGFzLgorCistLS0+ICAxKSAgUm9zYXMgc+NvIHZlcm1lbGhhcywKKy0tLT4gIDIpICBMYW1hIOkgZGl2ZXJ0aWRhLAorLS0tPiAgMykgIFZpb2xldGFzIHPjbyBhenVpcywKKy0tLT4gIDQpICBFdSB0ZW5obyB1bSBjYXJybywKKy0tLT4gIDUpICBSZWzzZ2lvcyBkaXplbSBhcyBob3JhcywKKy0tLT4gIDYpICBB5/pjYXIg6SBkb2NlLAorLS0tPiAgNykgIEUgYXNzaW0g6SB2b2PqLgorCitOb3RhcyBkbyB0cmFkdXRvcjogTGFtYSAobXVkKSBlbSBpbmds6nMgcG9kZSBzaWduaWZpY2FyIGZvZm9jYSwgZGlmYW1h5+NvLgorICAgICAgICAgICAgICAgICAgIEjhIHJpbWEgbm8gdGV4dG8gb3JpZ2luYWwuCit+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+fn4KKwkJICAgICBMaefjbyAyLjc6IE8gQ09NQU5ETyBVTkRPIChERVNGQVpFUikKKworKiogUHJlc3Npb25lIHUgcGFyYSBkZXNmYXplciBvcyD6bHRpbW9zIGNvbWFuZG9zLCBVIHJlc3RhdXJhIGxpbmhhIGludGVpcmEuKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+IGUgcG9zaWNpb25lLW8gc29icmUgbworICAgICBwcmltZWlybyBlcnJvLgorICAyLiBEaWdpdGUgIHggIHBhcmEgZGVsZXRhciBvIHByaW1laXJvIGNhcmFjdGVyZSBpbmRlc2VqYWRvLgorICAzLiBBZ29yYSwgZGlnaXRlICB1ICBwYXJhIGRlc2ZhemVyIG8g+mx0aW1vIGNvbWFuZG8gZXhlY3V0YWRvLgorICA0LiBEZXN0YSB2ZXosIGNvcnJpamEgdG9kb3Mgb3MgZXJyb3MgbmEgbGluaGEgdXNhbmRvIG8gY29tYW5kbyAgeCAuCisgIDUuIEFnb3JhLCBkaWdpdGUgdW0gVSBtYWn6c2N1bG8gcGFyYSByZXRvcm5hciBhIGxpbmhhIGFvIHNldSBlc3RhZG8gb3JpZ2luYWwuCisgIDYuIERpZ2l0ZSAgdSAgYWxndW1hcyB2ZXplcyBwYXJhIGRlc2ZhemVyIG8gIFUgIGUgb3MgY29tYW5kb3MgYW50ZXJpb3Jlcy4KKyAgNy4gRGlnaXRlIENUUkwtUiAoc2VndXJhbmRvIGEgdGVjbGEgQ1RSTCBlbnF1YW50byBkaWdpdGEgUikgYWxndW1hcyB2ZXplcworICAgICBwYXJhIHJlZmF6ZXIgb3MgY29tYW5kb3MgKGRlc2ZhemVyIG9zIHVuZG8ncykuCisKKy0tLT4gQ29ycmlpamEgb3MgZXJyb3Mgbm5lc3RhIGxpbmhhIGUgcmVldG9ybmUtb3MgY29tIHVuZG8uCisKKyAgOC4gRXNzZXMgY29tYW5kb3Mgc+NvIG11aXRvIPp0ZWlzLiBBZ29yYSB24SBwYXJhIG8gc3Vt4XJpbyBkYSBMaefjbyAyLgorCisKKworCit+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+fn4KKwkJCSAgICAgIFNVTcFSSU8gREEgTEnHw08gMgorCisKKyAgMS4gUGFyYSBkZWxldGFyIGRvIGN1cnNvciBhdOkgbyBmaW0gZGUgdW1hIHBhbGF2cmEgZGlnaXRlOiAgIGR3CisgIDIuIFBhcmEgZGVsZXRhciBkbyBjdXJzb3IgYXTpIG8gZmltIGRlIHVtYSBsaW5oYSBkaWdpdGU6ICAgZCQKKyAgMy4gUGFyYSBkZWxldGFyIHVtYSBsaW5oYSBpbnRlaXJhIGRpZ2l0ZTogICBkZAorICA0LiBQYXJhIHJlcGV0aXIgdW0gbW92aW1lbnRvIGFkaWNpb25lIGFudGVzIHVtIG76bWVybzogICAydworICA1LiBPIGZvcm1hdG8gcGFyYSB1bSBjb21hbmRvIG5vIG1vZG8gTm9ybWFsIOk6CisgICAgICAgICAgIG9wZXJhZG9yICAgW276bWVyb10gICBtb3ZpbWVudG8KKyAgIG9uZGU6CisgICAgICBvcGVyYWRvciAgLSDpIG8gcXVlIHNlcuEgZmVpdG8sIGNvbW8gIGQgIHBhcmEgZGVsZXRhcgorICAgICAgbvptZXJvICAgIC0g6SBxdWFudGFzIHZlemVzIG8gY29tYW5kbyBzZXLhIHJlcGV0aWRvCisgICAgICBtb3ZpbWVudG8gLSBtb3ZpbWVudG8gc29icmUgbyB0ZXh0byBxdWUgc29mcmVy4SBhIG9wZXJh5+NvLCBjb21vCisgICAgICAgICAgICAgICAgICB3IChwYWxhdnJhKSwgJCAoYXTpIG8gZmluYWwgZGEgbGluaGEpLCBldGMuCisKKyAgNS4gUGFyYSBkZXNmYXplciB1bSBh5+NvIGFudGVyaW9yLCBkaWdpdGU6ICAgICAgICAgICAgICAgICAgdSAgKG1pbvpzY3VsbykKKyAgICAgUGFyYSBkZXNmYXplciB0b2RhcyBhcyBtb2RpZmljYef1ZXMgZW0gdW1hIGxpbmhhIGRpZ2l0ZTogVSAobWFp+nNjdWxvKQorICAgICBQYXJhIGRlc2ZhemVyIG8gcXVlIGZvaSBkZXNmZWl0byBkaWdpdGU6ICAgICAgICAgICAgICAgICBDVFJMLVIKKworCisKKworfn5+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+CisJCQlMaefjbyAzLjE6IE8gQ09NQU5ETyBQVVQgKFDUUikKKworCSoqIERpZ2l0ZSAgcCAgcGFyYSBjb2xvY2FyIGEg+mx0aW1hIGRlbGXn428gYXDzcyBvIGN1cnNvci4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgYXTpIGEgcHJpbWVpcmEgbGluaGEgbmEgbGlzdGEgYWJhaXhvLgorCisgIDIuIERpZ2l0ZSAgZGQgIHBhcmEgZGVsZXRhciBhIGxpbmhhIGUgZ3VhcmThLWxhIG5vIGJ1ZmZlciBkbyBWaW0uCisKKyAgMy4gTW92YSBvIGN1cnNvciBhdOkgYSBsaW5oYSBBQ0lNQSBkZSBvbmRlIGEgbGluaGEgZGVsZXRhZGEgZGV2ZSBmaWNhci4KKworICA0LiBObyBtb2RvIE5vcm1hbCwgZGlnaXRlICBwICBwYXJhIGluc2VyaXIgYSBsaW5oYS4KKworICA1LiBSZXBpdGEgb3MgcGFzc29zIDIgYW8gNCBwYXJhIHD0ciB0b2RhcyBhcyBsaW5oYXMgbmEgb3JkZW0gY29ycmV0YS4KKworICAgICBkKSBWb2PqIHBvZGUgYXByZW5kZXIgdGFtYultPworICAgICBiKSBWaW9sZXRhcyBz428gYXp1aXMsCisgICAgIGMpIEludGVsaWfqbmNpYSBzZSBhcHJlbmRlLAorICAgICBhKSBSb3NhcyBz428gdmVybWVsaGFzLAorCitOb3RhIGRvIHRyYWR1dG9yOiBI4SByaW1hIG5vIG9yaWdpbmFsLgorCit+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+fn4KKwkJICBMaefjbyAzLjI6IE8gQ09NQU5ETyBSRVBMQUNFIChTVUJTVElUVUlSKQorCisgICAgICoqIERpZ2l0ZSAgcnggIHBhcmEgc3Vic3RpdHVpciBvIGNhcmFjdGVyZSBzb2IgbyBjdXJzb3IgcG9yICB4IC4gKiogCisKKworICAxLiBNb3ZhIG8gY3Vyc29yIGF06SBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIE1vdmEgbyBjdXJzb3IgYXTpIHF1ZSBlbGUgZXN0ZWphIHNvYnJlIG8gcHJpbWVpcm8gZXJyby4KKworICAzLiBEaWdpdGUgIHIgIGUgZW50428gbyBjYXJhY3RlcmUgcXVlIGRldmVyaWEgZXN0YXIgbOEuCisKKyAgNC4gUmVwaXRhIG9zIHBhc3NvcyAyIGUgMyBhdOkgcXVlIGEgcHJpbWVpcmEgbGluaGEgZXN0ZWphIGNvcnJldGEuCisKKy0tLT4gUXVlbmRvIGVzdGUgbGltaGEgZm9pIGR1Z2l0YWRhLCBhbGd1ZW0gcHJlc3Npb25pdSBhbGd1bWFzIHRlY2xhcyBlcnJhZHpzIQorLS0tPiBRdWFuZG8gZXN0YSBsaW5oYSBmb2kgZGlnaXRhZGEsIGFsZ3XpbSBwcmVzc2lvbm91IGFsZ3VtYXMgdGVjbGFzIGVycmFkYXMhCisKKyAgNS4gQWdvcmEgduEgcGFyYSBhIExp5+NvIDMuMy4KKworTk9UQTogTGVtYnJlLXNlIHF1ZSB2b2PqIGRldmUgYXByZW5kZXIgcGVsbyB1c28sIG7jbyBwZWxhIG1lbW9yaXph5+NvLgorCisKKworfn5+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+CisJCSAgICAgTGnn428gMy4zOiBPIE9QRVJBRE9SIENIQU5HRSAoTVVEQVIpCisKKwkqKiBQYXJhIG11ZGFyIHRvZGEgdW1hIHBhbGF2cmEgb3UgcGFydGUgZGVsYSwgZGlnaXRlICBjdyAuICoqCisKKworICAxLiBNb3ZhIG8gY3Vyc29yIGF06SBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorICAKKyAgMi4gUG9zaWNpb25lIG8gY3Vyc29yIHNvYnJlIG8gdSBlbSBsdW5iYS4KKworICAzLiBEaWdpdGUgIGN3ICBlIGEgcGFsYXZyYSBjb3JyZXRhIChuZXNzZSBjYXNvLCBkaWdpdGUgJ2luaGEnLikKKworICA0LiBQcmVzc2lvbmUgPEVTQz4gZSBtb3ZhIHBhcmEgbyBwcvN4aW1vIGNhcmFjdGVyZSBhIHNlciBhbHRlcmFkby4KKworICA1LiBSZXBpdGEgb3MgcGFzc29zIDMgZSA0IGF06SBxdWUgYSBwcmltZWlyYSBzZW50ZW7nYSBlc3RlamEgaWd1YWwg4CBzZWd1bmRhLgorCistLS0+IEVzc2EgbHVuYmEgdGVtIHB3bGVzbWZyIHF1ZSBvY3JpbW1tICBzb2kgYWx0ZXJhZGFzIGN1cCBvIGNvbWFuZG8gY2hhbmdlLgorLS0tPiBFc3NhIGxpbmhhIHRlbSBwYWxhdnJhcyBxdWUgcHJlY2lzYW0gc2VyIGFsdGVyYWRhcyBjb20gbyBjb21hbmRvIGNoYW5nZS4gCisKK05vdGUgcXVlICBjdyAgbuNvIHNvbWVudGUgc3Vic3RpdHVpIGEgcGFsYXZyYSwgbWFzIHRhbWLpbSBsaGUgY29sb2NhIG5vIG1vZG8KK2RlIGluc2Vy5+NvLgorCisKK35+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+fgorCQkgICAgICBMaefjbyAzLjQ6IE1BSVMgTVVEQU7HQVMgVVNBTkRPIGMKKworICAgICAgKiogTyBvcGVyYWRvciBjaGFuZ2Ug6SB1c2FkbyBjb20gb3MgbWVzbW9zIG9iamV0b3MgcXVlIGRlbGV0ZS4gKioKKworICAxLiBPIG9wZXJhZG9yIGNoYW5nZSB0cmFiYWxoYSBkYSBtZXNtYSBtYW5laXJhIHF1ZSBvIGRlbGV0ZS4gTyBmb3JtYXRvIOk6CisKKyAgICAgICAgICBjICAgIFtu+m1lcm9dICAgIG1vdmltZW50bworCisgIDIuIE9zIG1vdmltZW50b3MgdGFtYultIHPjbyBvcyBtZXNtb3M6IHcgKHBhbGF2cmEpLCAkIChmaW0gZGEgbGluaGEpLCBldGMuCisKKyAgMy4gTW92YSBhdOkgYSBwcmltZWlyYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKworICA0LiBNb3ZhIG8gY3Vyc29yIGF06SBvIHByaW1laXJvIGVycm8uCisKKyAgNS4gRGlnaXRlICBjJCAgcGFyYSBmYXplciBvIHJlc3RvIGRhIGxpbmhhIGZpY2FyIGlndWFsIOAgc2VndW5kYSBlIHByZXNzaW9uZQorICAgICA8RVNDPi4KKworLS0tPiBPIGZpbSBkZXN0YSBsaW5oYSBwcmVjaXNhIGRlIGFqdWRhIHBhcmEgZmljYXIgaWd1YWwg4CBzZWd1bmRhLgorLS0tPiBPIGZpbSBkZXN0YSBsaW5oYSBwcmVjaXNhIHNlciBjb3JyaWdpZG8gdXNhbmRvIG8gY29tYW5kbyAgYyQuCisKK05PVEE6IFZvY+ogcG9kZSB1c2FyIGEgdGVjbGEgQmFja3NwYWNlIHBhcmEgY29ycmlnaXIgZXJyb3MgZW5xdWFudG8gZGlnaXRhLgorCit+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+fn4KKwkJCSAgICAgIFNVTcFSSU8gREEgTEnHw08gMworCisKKyAgMS4gUGFyYSBpbnNlcmlyIHVtIHRleHRvIHF1ZSBq4SBmb2kgZGVsZXRhZG8sIGRpZ2l0ZSAgcCAuIElzc28gY29sb2NhIG8gdGV4dG8KKyAgICAgZGVsZXRhZG8gQVDTUyBvIGN1cnNvciAoc2UgdW1hIGxpbmhhIOkgZGVsZXRhZGEgZWxhIHNlcuEgaW5zZXJpZGEgbmEgbGluaGEKKyAgICAgYWJhaXhvIGRvIGN1cnNvcikuCisKKyAgMi4gUGFyYSBzdWJzdGl0dWlyIG8gY2FyYWN0ZXJlIHNvYiBvIGN1cnNvciwgZGlnaXRlICByICBlIGVudONvIG8gY2FyYWN0ZXJlCisgICAgIHF1ZSBpcuEgc3Vic3RpdHVpciBvIG9yaWdpbmFsLgorCisgIDMuIE8gY29tYW5kbyBjaGFuZ2UgcG9zc2liaWxpdGEgbXVkYXIgZG8gY3Vyc29yIGF06SBvbmRlIG8gbW92aW1lbnRvIGZvci4KKyAgICAgRXg6IERpZ2l0ZSAgY3cgIHBhcmEgbXVkYXIgZG8gY3Vyc29yIGF06SBvIGZpbSBkZSB1bWEgcGFsYXZyYSwgYyQgcGFyYQorICAgICBtdWRhciBhdOkgbyBmaW0gZGEgbGluaGEuCisKKyAgNC4gTyBmb3JtYXRvIHBhcmEgdW1hIG9wZXJh5+NvIGNoYW5nZSDpOgorCisgICAgICAgICBjICAgW276bWVyb10gICBtb3ZpbWVudG8KKworQWdvcmEgduEgcGFyYSBhIHBy83hpbWEgbGnn428uCisKKworCit+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+fn4KKwkgICAgIExp5+NvIDQuMTogTE9DQUxJWkHHw08gRE8gQ1VSU09SIEUgU1RBVFVTIERPIEFSUVVJVk8KKworICAgICoqIERpZ2l0ZSBDVFJMLUcgcGFyYSBtb3N0cmFyIHN1YSBsb2NhbGl6YefjbyBubyBhcnF1aXZvIGUgc2V1IHN0YXR1cy4KKyAgICAgICBEaWdpdGUgIEcgIHBhcmEgbW92ZXIgcGFyYSB1bWEgbGluaGEgZG8gYXJxdWl2by4gICoqCisKKyAgTm90YTogTGVpYSBlc3RhIGxp5+NvIGludGVpcmEgYW50ZXMgZGUgZXhlY3V0YXIgcXVhbHF1ZXIgdW0gZG9zIHBhc3NvcyEhCisKKyAgMS4gU2VndXJlIHByZXNzaW9uYWRhIGEgdGVjbGEgQ3RybCBlIHByZXNzaW9uZSAgZyAuIE7zcyBjaGFtYW1vcyBpc3NvIGRlCisgICAgIENUUkwtRy4gVW1hIG1lbnNhZ2VtIGFwYXJlY2Vy4SBubyByb2RhcOkgZGEgcOFnaW5hIGNvbSBvIG5vbWUgZG8gYXJxdWl2bworICAgICBlIGEgc3VhIHBvc2nn428gbm8gYXJxdWl2by4gTGVtYnJlLXNlIGRvIG76bWVybyBkYSBsaW5oYSBwYXJhIG8gUGFzc28gMy4KKworTk9UQTogIEEgcG9zaefjbyBkbyBjdXJzb3IgcG9kZSBlc3RhciB2aXPtdmVsIG5vIGNhbnRvIGRpcmVpdG8gaW5mZXJpb3IgZGEKKyAgICAgICB0ZWxhLiBJc3NvIGFjb250ZWNlIHF1YW5kbyBhIG9w5+NvICdydWxlcicgZXN04SBhdGl2YQorICAgICAgICh2ZWphICA6aGVscCAncnVsZXInICkuCisKKyAgMi4gUHJlc3Npb25lICBHICBwYXJhIG1vdmVyIHBhcmEgbyBmaW5hbCBkbyBhcnF1aXZvLgorICAgICBEaWdpdGUgIGdnICBwYXJhIG1vdmVyIHBhcmEgbyBpbu1jaW8gZG8gYXJxdWl2by4KKworICAzLiBEaWdpdGUgbyBu+m1lcm8gZGEgbGluaGEgZW0gcXVlIHZvY+ogZXN0YXZhIGUgZW50428gRyAuIElzdG8KKyAgICAgcmV0b3JuYXLhIG8gY3Vyc29yIOAgbGluaGEgZW0gcXVlIHZvY+ogZXN0YXZhIHF1YW5kbyBwcmVzc2lvbm91IENUUkwtRy4KKworICA0LiBTZSB2b2PqIGVzdGl2ZXIgY29uZmlhbnRlIHBhcmEgZmF6ZXIgaXN0bywgZXhlY3V0ZSBvcyBwYXNzb3MgMSBhbyAzLgorfn5+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+CisgICAgICAgICAgICAgICAgICAgICAgIExp5+NvIDQuMjogTyBDT01BTkRPIFNFQVJDSCAoUFJPQ1VSQSkKKworICAgICAgKiogRGlnaXRlICAvICBzZWd1aWRvIHBvciB1bWEgc3RyaW5nIHBhcmEgcHJvY3VyYXIgcGVsYSBzdHJpbmcuICoqCisKKyAgMS4gTm8gbW9kbyBOb3JtYWwgZGlnaXRlIG8gY2FyYWN0ZXJlICAvIC4gTm90ZSBxdWUgZWxlIGUgbyBjdXJzb3IgYXBhcmVjZW0KKyAgICAgbm8gcm9kYXDpIGRhIHRlbGEsIGNvbW8gb2NvcnJlIGNvbSBvIGNvbWFuZG8gIDogLgorCisgIDIuIEFnb3JhIGRpZ2l0ZSAnZXJycm9vJyA8RU5URVI+LiBFc3RhIOkgYSBwYWxhdnJhIHF1ZSB2b2PqIHF1ZXIgcHJvY3VyYXIuCisKKyAgMy4gUGFyYSBwcm9jdXJhciBwZWxhIG1lc21hIHBhbGF2cmEgZGUgbm92bywgc2ltcGxlc21lbnRlIHRlY2xlICBuIC4KKyAgICAgUGFyYSBwcm9jdXJhciBwZWxhIG1lc21hIHBhbGF2cmEgbmEgZGlyZefjbyBvcG9zdGEsIHRlY2xlICBOIC4KKworICA0LiBTZSB2b2PqIHF1ZXIgcHJvY3VyYXIgcG9yIHVtYSBzdHJpbmcgbm8gc2VudGlkbyBkZSBmcmVudGUgcGFyYSB0cuFzLCB1c2UKKyAgICAgPyAgZW0gdmV6IGRlICAvIC4KKworICA1LiBQYXJhIHZvbHRhciBwYXJhIG9uZGUgZXN0YXZhLCBwcmVzc2lvbmUgQ1RSTC1PIChtYW50ZW5oYSBhIHRlY2xhIEN0cmwKKyAgICAgcHJlc3Npb25hZGEgZSBwcmVzc2lvbmUgYSB0ZWNsYSBvKS4gUmVwaXRhIHBhcmEgdm9sdGFyIG91dHJhcyBwb3Np5/Vlcy4KKyAgICAgQ1RSTC1JIHNlZ3VlIHBhcmEgcG9zaef1ZXMgbWFpcyByZWNlbnRlcy4KKworLS0tPiAgImVycnJvbyIgbuNvIOkgdW1hIG1hbmVpcmEgZGUgZXNjcmV2ZXIgZXJybzsgIGVycnJvbyDpIHVtIGVycm8uCitOT1RBOiBRdWFuZG8gYSBidXNjYSBhdGluZ2UgbyBmaW5hbCBkbyBhcnF1aXZvIGVsYSBjb250aW51YXLhIGRvIGNvbWXnbywgYQorICAgICAgbWVub3MgcXVlIGEgb3Dn428gJ3dyYXBzY2FuJyBlc3RlamEgZGVzYXRpdmFkYS4KK35+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+fgorCQlMaefjbyA0LjM6IFBST0NVUkEgUE9SIENBU0FNRU5UTyBERSBQQVLKTlRFU0VTCisKKwkgICAqKiBEaWdpdGUgICUgIHBhcmEgYWNoYXIgdW0gY2FzYW1lbnRvIGRlICksXSwgb3UgfSAuICoqCisKKworICAxLiBQb3NpY2lvbmUgbyBjdXJzb3IgZW0gcXVhbHF1ZXIgKCwgWywgb3UgeyBuYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKyAgCisgIDIuIEFnb3JhIGRpZ2l0ZSBvIGNhcmFjdGVyZSAgJSAuCisgIAorICAzLiBPIGN1cnNvciBkZXZlIGVzdGFyIG5vIHBhcupudGVzZXMgb3UgY29sY2hldGVzIHF1ZSBjYXNhIGNvbSBvIHByaW1laXJvLgorCisgIDQuIERpZ2l0ZSAgJSAgcGFyYSBtb3ZlciBvIGN1cnNvciBkZSB2b2x0YSBhbyBwcmltZWlybyBjb2xjaGV0ZSBvdSBwYXLqbnRlc2VzCisgICAgIChwb3IgY2FzYW1lbnRvKS4KKworLS0tPiBJc3RvICgg6SB1bWEgbGluaGEgZGUgdGVzdGUgY29udGVuZG8gKCdzLCBbJ3MgXSBlIHsncyB9LiApKQorCitOb3RhOiBJc3NvIOkgbXVpdG8g+nRpbCBwYXJhIGNvcnJpZ2lyIHVtIHByb2dyYW1hIGNvbSBwYXLqbnRlc2VzIG7jby1jYXNhZG9zIQorCisKKworCisKK35+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+fgorCQkgICAgICAgTGnn428gNC40OiBPIENPTUFORE8gU1VCU1RJVFVJUgorCisgICAgICAqKiBEaWdpdGUgIDpzL3ZlbGhvL25vdm8vZyAgcGFyYSBzdWJzdGl0dWlyICd2ZWxobycgcG9yICdub3ZvJy4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIERpZ2l0ZSAgOi9zL2FhL2EgPEVOVEVSPiAuIE5vdGUgcXVlIGVzdGUgY29tYW5kbyBzb21lbnRlIG11ZGEgYSAKKyAgICAgcHJpbWVpcmEgb2NvcnLqbmNpYSBuYSBsaW5oYS4KKworICAzLiBBZ29yYSBkaWdpdGUgIDpzL2FhL2EvZyAgIHNpZ25pZmljYW5kbyBzdWJzdGl0dWlyIGdsb2JhbG1lbnRlIG5hIGxpbmhhLgorICAgICBJc3RvIG11ZGEgdG9kYXMgYXMgb2NvcnLqbmNpYXMgbmEgbGluaGEuCisKKy0tLT4gYWEgbWVsaG9yIOlwb2NhIHBhcmEgdmVyIGFhcyBmbG9yZXMg6SBhYSBwcmltYXZlcmEuIAorCisgIDQuIFBhcmEgbXVkYXIgdG9kYSBvY29ycupuY2lhIGRlIHVtYSBzdHJpbmcgZW50cmUgZHVhcyBsaW5oYXMsCisgICAgIGRpZ2l0ZSAgOiMsI3MvdmVsaG8vbm92by9nICAgb25kZSAjLCMgc+NvIG9zIG76bWVyb3MgZGFzIGR1YXMgbGluaGFzLgorICAgICBEaWdpdGUgIDolcy92ZWxoby9ub3ZvL2cgICAgIHBhcmEgbXVkYXIgdG9kYXMgYXMgb2NvcnLqbmNpYXMgbm8gYXJxdWl2bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVpcm8uCisgICAgIERpZ2l0ZSAgOiUvdmVsaG8vbm92by9nYyAgICAgcGFyYSBtdWRhciB0b2RhcyBhcyBvY29ycupuY2lhIG5vIGFycXVpdm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlaXJvLCBjb20gYSBvcOfjbyBkZSBjb25maXJtYXIgY2FkYQorCQkJCSAgc3Vic3RpdHVp5+NvLgorfn5+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+fgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VNwVJJTyBEQSBMScfDTyA0CisgIDEuICAgIENUUkwtRyAgbW9zdHJhIGEgc3VhIGxvY2FsaXph5+NvIG5vIGFycXVpdm8gZSBvIHN0YXR1cyBkbyBtZXNtby4KKyAgICAgICAgICAgICBHICBtb3ZlIHBhcmEgbyBmaW5hbCBkbyBhcnF1aXZvLgorICAgICBu+m1lcm8gIEcgIG1vdmUgcGFyYSBlc3RhIGxpbmhhIGNvbSBlc3NlIG76bWVyby4KKyAgICAgICAgICAgIGdnICBtb3ZlIHBhcmEgYSBwcmltZWlyYSBsaW5oYS4KKworICAyLiBEaWdpdGFuZG8gIC8gIHNlZ3VpZG8gcG9yIHVtYSBleHByZXNz428gcHJvY3VyYSDAIEZSRU5URSBwb3IgZWxhLgorICAgICBEaWdpdGFuZG8gID8gIHNlZ3VpZG8gcG9yIHVtYSBleHByZXNz428gcHJvY3VyYSBwZWxhIGV4cHJlc3PjbyBkZSBUUsFTCisgICAgIFBBUkEgRlJFTlRFLgorICAgICBBcPNzIHVtYSBidXNjYSwgZGlnaXRlIG4gcGFyYSBhY2hhciBhIHBy83hpbWEgb2NvcnLqbmNpYSBuYSBtZXNtYSBkaXJl5+NvCisgICAgIG91IE4gcGFyYSBwcm9jdXJhciBuYSBkaXJl5+NvIG9wb3N0YS4KKyAgICAgQ1RSTC1PIGxldmEgYSBwb3Np5/VlcyBhbnRpZ2FzIGUgQ1RSTC1JIGEgcG9zaef1ZXMgbWFpcyByZWNlbnRlcy4KKworICAzLiBEaWdpdGFuZG8gICUgIGVucXVhbnRvIG8gY3Vyc29yIGVzdOEgc29icmUgdW0gKCwpLFssXSx7LCBvdSB9IGxvY2FsaXphCisgICAgIG8gcGFyIHF1ZSBjYXNhIGNvbSBlbGUuCisKKyAgNC4gUGFyYSBzdWJzdGl0dWlyOgorICAgICAgIG8gcHJpbWVpcm8gJ3ZlbGhvJyBkZSB1bWEgbGluaGEgcG9yICdub3ZvJyBkaWdpdGUgICA6cy92ZWxoby9ub3ZvCisgICAgICAgdG9kb3Mgb3MgJ3ZlbGhvJ3MgZW0gdW1hIGxpbmhhIHBvciAnbm92bycgZGlnaXRlICAgIDpzL3ZlbGhvL25vdm8vZworICAgICAgIGV4cHJlc3P1ZXMgZW50cmUgZG9pcyBu+m1lcm9zICgjKSBkZSBsaW5oYXMgZGlnaXRlICA6Iywjcy92ZWxoby9ub3ZvCisgICAgICAgdG9kYXMgYXMgb2NvcnLqbmNpYXMgbm8gYXJxdWl2byBkaWdpdGUgICAgICAgICAgICAgIDolcy92ZWxoby9ub3ZvL2cKKyAgICAgUGFyYSBjb25maXJtYXIgY2FkYSBzdWJzdGl0dWnn428gYWRpY2lvbmUgJ2MnICAgICAgICAgOiVzL3ZlbGhvL25vdm8vZ2MKK35+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+fn4KKwkJIExp5+NvIDUuMTogQ09NTyBFWEVDVVRBUiBVTSBDT01BTkRPIEVYVEVSTk8KKworCisgKiogRGlnaXRlICA6ISAgc2VndWlkbyBwb3IgdW0gY29tYW5kbyBleHRlcm5vIHBhcmEgZXhlY3V0YXIgZXNzZSBjb21hbmRvLiAqKgorCisgIDEuIERpZ2l0ZSBvIGZhbWlsaWFyIGNvbWFuZG8gIDogIHBhcmEgbGV2YXIgbyBjdXJzb3IgYW8gcm9kYXDpIGRhIHRlbGEuIElzc28KKyAgICAgbGhlIHBlcm1pdGUgZW50cmFyIHVtIGNvbWFuZG8uCisKKyAgMi4gQWdvcmEgZGlnaXRlIG8gY2FyYWN0ZXJlICAhICAocG9udG8gZGUgZXhjbGFtYefjbykuIElzc28gbGhlIHBlcm1pdGUKKyAgICAgZXhlY3V0YXIgcXVhbHF1ZXIgY29tYW5kbyBkbyBzaGVsbC4KKworICAzLiBDb21vIHVtIGV4ZW1wbG8gZGlnaXRlICBscyAgc2VndWluZG8gbyAgISAgZSBlbnTjbyB0ZWNsZSA8RU5URVI+LiBJc3RvCisgICAgIGly4SBtb3N0cmFyIHVtYSBsaXN0YWdlbSBkbyBzZXUgZGlyZXTzcmlvLCBjb21vIHNlIHZvY+ogZXN0aXZlc3NlIG5vCisgICAgIHByb21wdCBkbyBzaGVsbC4gT3UgdXNlICA6IWRpciBzZSBscyBu428gZnVuY2lvbmFyLgorCitOT1RBOiAgySBwb3Nz7XZlbCBleGVjdXRhciBxdWFscXVlciBjb21hbmRvIGV4dGVybm8gZGVzc2EgbWFuZWlyYSwgaW5jbHVzaXZlCisgICAgICAgY29tIGFyZ3VtZW50b3MuCisKK05PVEE6ICBUb2RvcyBvcyBjb21hbmRvcyAgOiAgZGV2ZW0gc2VyIGZpbmFsaXphZG9zIHRlY2xhbmRvLXNlIDxFTlRFUj4KKyAgICAgICBEYXF1aSBlbSBkaWFudGUgbuNvIGlyZW1vcyBtZW5jaW9uYXIgaXNzbyBzZW1wcmUuCisKKworfn5+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+fgorCQkgICAgTGnn428gNS4yOiBNQUlTIFNPQlJFIFNBTFZBUiBBUlFVSVZPUworCisgICAgICoqIFBhcmEgc2FsdmFyIGFzIGFsdGVyYef1ZXMgbm8gdGV4dG8sIGRpZ2l0ZSAgOncgTk9NRURPQVJRVUlWTy4gKioKKworCisgIDEuIERpZ2l0ZSAgOiFkaXIgIG91ICA6IWxzIHBhcmEgdGVyIHVtYSBsaXN0YWdlbSBkZSBzZXUgZGlyZXTzcmlvLgorICAgICBWb2PqIGrhIGRldmUgc2FiZXIgcXVlIHByZWNpc2EgdGVjbGFyIDxFTlRFUj4gZGVwb2lzIGRpc3NvLgorCisgIDIuIEVzY29saGEgdW0gbm9tZSBkZSBhcnF1aXZvIHF1ZSBhaW5kYSBu428gZXhpc3RhLCBjb21vIFRFU1RFLgorCisgIDMuIEFnb3JhIGRpZ2l0ZTogICA6dyBURVNURSAgKG9uZGUgVEVTVEUg6SBvIG5vbWUgcXVlIHZvY+ogZXNjb2xoZXUuKQorCisgIDQuIElzdG8gc2FsdmEgbyBhcnF1aXZvIGludGVpcm8gIChvIFZpbSBUdXRvcikgY29tIG8gbm9tZSBURVNURS4KKyAgICAgUGFyYSB2ZXJpZmljYXIgaXNzbywgZGlnaXRlICA6IWxzIGRlIG5vdm8gcGFyYSB2ZXIgc2V1IGRpcmV083JpbworCitOT1RBOiBTZSB2b2PqIHNhaXIgZG8gVmltIGUgZW50cmFyIGRlIG5vdm8gY29tIG8gbm9tZSBkbyBhcnF1aXZvIFRFU1RFLAorICAgICAgbyBhcnF1aXZvIGRldmUgc2VyIHVtYSBj83BpYSBleGF0YSBkbyB0dXRvciBxdWFuZG8gdm9j6iBvIHNhbHZvdS4KKworICA1LiBBZ29yYSByZW1vdmEgbyBhcnF1aXZvIGRpZ2l0YW5kbyAoTVMtRE9TKTogICAgIDohZGVsIFRFU1RFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91IChVbml4KTogICAgICAgOiFybSBURVNURQorCisKK35+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+fgorCQkgTGnn428gNS4zOiBTRUxFQ0lPTkFORE8gTyBURVhUTyBBIFNFUiBTQUxWTworCisgICoqIFBhcmEgc2FsdmFyIHBhcnRlIGRlIHVtIGFycXVpdm8sIGRpZ2l0ZSAgdiAgbW92aW1lbnRvIE5PTUVET0FSUVVJVk8gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIHBhcmEgZXN0YSBsaW5oYS4KKworICAyLiBQcmVzc2lvbmUgIHYgIGUgbW92YSBvIGN1cnNvciBwYXJhIG8gcXVpbnRvIGl0ZW0gYWJhaXhvLiBOb3RlIHF1ZSBvIHRleHRvCisgICAgIOkgcmVhbOdhZG8uCisKKyAgMy4gUHJlc3Npb25lIG8gY2FyYWN0ZXJlICA6ICBlIG5vdGUgcXVlIGFwYXJlY2Vy4SAgOic8LCc+ICBubyBsYWRvIGluZmVyaW9yCisgICAgIGRhIHRlbGEuCisKKyAgNC4gRGlnaXRlICB3IFRFU1RFICwgc2VuZG8gVEVTVEUgdW0gbm9tZSBkZSBhcnF1aXZvIHF1ZSBu428gZXhpc3RlIGFpbmRhLgorICAgICBWb2PqIGRldmVy4SB2ZXIgIDonPCwnPncgVEVTVEUgIGFudGVzIGRlIHByZXNzaW9uYXIgPEVOVEVSPi4KKworICA1LiBPIFZpbSBzYWx2YXLhIGFzIGxpbmhhcyBzZWxlY2lvbmFkYXMgbm8gYXJxdWl2byBURVNURS4gVXNlICA6IWRpciAgb3UKKyAgICAgITpscyBwYXJhIHbqLWxvLiBO428gbyBhcGFndWUgYWdvcmEhIE7zcyBvIHVzYXJlbW9zIG5hIHBy83hpbWEgbGnn428uCisKK05PVEE6ICBQcmVzc2lvbmFuZG8gIHYgIGluaWNpYSBvIG1vZG8gVmlzdWFsIGRlIHNlbGXn428uICBWb2PqIHBvZGUgbW92ZXIgbworY3Vyc29yIHBlbGEgdGVsYSBwYXJhIHRvcm5hciBhIHNlbGXn428gbWFpb3Igb3UgbWVub3IuIFBvZGUsIGVudONvLCB1c2FyIHVtCitvcGVyYWRvciBwYXJhIGV4ZWN1dGFyIGFsZ3VtYSBh5+NvLiBQb3IgZXhlbXBsbywgIGQgIGRlbGV0YSBvIHRleHRvLgorCit+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+fn4KKwkJICBMaefjbyA1LjQ6IFJFQ1VQRVJBTkRPIEUgSlVOVEFORE8gQVJRVUlWT1MKKworICAgICoqIFBhcmEgaW5zZXJpciBvIGNvbnRl+mRvIGRlIHVtIGFycXVpdm8sIGRpZ2l0ZSAgOnIgTk9NRURPQVJRVUlWTyAqKgorCisKKyAgMS4gUG9zaWNpb25lIG8gY3Vyc29yIGxvZ28gYWNpbWEgZGVzdGEgbGluaGEuCisKK05PVEE6ICBEZXBvaXMgZGUgZXhlY3V0YXIgbyBQYXNzbyAyIHZvY+ogdmVy4SBhIGxp5+NvIDUuMy4gRW50428gREVTx0EgbworICAgICAgIGN1cnNvciBwYXJhIHZlciBlc3RhIGxp5+NvIG5vdmFtZW50ZS4KKworICAyLiBBZ29yYSByZWN1cGVyZSBvIGFycXVpdm8gVEVTVEUgdXNhbmRvIG8gY29tYW5kbyAgOnIgVEVTVEUgIG9uZGUgVEVTVEUg6SBvCisgICAgIG5vbWUgZG8gYXJxdWl2by4KKyAgICAgTyBhcnF1aXZvIHJlY3VwZXJhZG8g6SBjb2xvY2FkbyBhYmFpeG8gZGEgbGluaGEgYXR1YWwgZG8gY3Vyc29yLgorCisgIDMuIFBhcmEgdmVyaWZpY2FyIHF1ZSBvIGFycXVpdm8gZm9pIHJlY3VwZXJhZG8sIHZvbHRlIGNvbSBvIGN1cnNvciBlIHZlcmlmaXF1ZQorICAgICBxdWUgYWdvcmEgZXhpc3RlbSBkdWFzIGPzcGlhcyBkYSBMaefjbyA1LjMsIGEgb3JpZ2luYWwgZSBhIHZlcnPjbyBkbyAKKyAgICAgYXJxdWl2by4KKworTk9UQTogVm9j6iB0YW1i6W0gcG9kZSBsZXIgYSBzYe1kYSBkZSB1bSBjb21hbmRvIGV4dGVybm8uIFBvciBleGVtcGxvLCAgOnIgIWxzCisgICAgICBs6iBhIHNh7WRhIGRvIGNvbWFuZG8gbHMgZSBjb2xvY2EgbyByZXN1bHRhZG8gYWJhaXhvIGRvIGN1cnNvci4KKworCit+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+fn4KKwkJCSAgICAgIFNVTcFSSU8gREEgTEnHw08gNSAKKworCisgIDEuICA6IWNvbWFuZG8gIGV4ZWN1dGEgdW0gY29tYW5kbyBleHRlcm5vLgorCisgICAgICBBbGd1bnMgZXhlbXBsb3Mg+nRlaXMgc+NvOgorICAgICAgICAgKE1TLURPUykgICAgICAgICAoVU5JWCkKKwkgIDohZGlyICAgICAgICAgICAgOiFscyAgICAgICAgICAtICBsaXN0YSBjb250ZfpkbyBkbyBkaXJldPNyaW8uCisgICAgICAgICAgOiFkZWwgQVJRVUlWTyAgICA6IXJtIEFSUVVJVk8gIC0gIHJlbW92ZSBBUlFVSVZPLgorCisgIDIuIDp3IEFSUVVJVk8gIHNhbHZhIG8gYXR1YWwgYXJxdWl2byBkbyBWaW0gcGFyYSBvIGRpc2NvIGNvbSBvIG5vbWUgQVJRVUlWTy4KKworICAzLiB2ICBtb3ZpbWVudG8gIDp3IEFSUVVJVk8gIHNhbHZhIGFzIGxpbmhhcyBWaXN1YWxtZW50ZSBzZWxlY2lvbmFkYXMgZW0KKyAgICAgQVJRVUlWTy4KKworICA0LiA6ciBBUlFVSVZPICByZWN1cGVyYSBBUlFVSVZPIGRvIGRpc2NvIGUgbyBpbnNlcmUgZGVudHJvIGRvIGFycXVpdm8gYXR1YWwKKyAgICAgbmEgcG9zaefjbyBkbyBjdXJzb3IuCisKKyAgNS4gOnIgIWRpciAgbOogYSBzYe1kYSBkbyBjb21hbmRvIGRpciBlIGNvbG9jYSBvIHJlc3VsdGFkbyBhYmFpeG8gZGEgcG9zaefjbworICAgICBhdHVhbCBkbyBjdXJzb3IuCisKKworfn5+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+fgorICAgICAgICAgICAgICAgICAgICAgICAgTGnn428gNi4xOiBPIENPTUFORE8gT1BFTiAoQUJSSVIpCisKKyAgICoqIERpZ2l0ZSAgbyAgcGFyYSBhYnJpciB1bWEgbGluaGEgZW1iYWl4byBkbyBjdXJzb3IgZSBpciBwYXJhIG8gbW9kbyBkZQorICAgICAgSW5zZXLn428gKElOU0VSVCkuICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciBwYXJhIGEgbGluaGEgYWJhaXhvIG1hcmNhZGEgY29tIC0tLT4uCisKKyAgMi4gRGlnaXRlICBvIChtaW76c2N1bG8pIHBhcmEgYWJyaXIgdW1hIGxpbmhhIEFCQUlYTyBkbyBjdXJzb3IgZSBpciBwYXJhIG8KKyAgICAgbW9kbyBkZSBJbnNlcufjbyAoSU5TRVJUKS4KKworICAzLiBBZ29yYSBkaWdpdGUgYWxndW0gdGV4dG8gZSBwcmVzc2lvbmUgPEVTQz4gcGFyYSBzYWlyIGRvIG1vZG8gZGUKKyAgICAgSW5zZXLn428uCisKKy0tLT4gQXDzcyB0ZWNsYXIgIG8gIG8gY3Vyc29yIOkgY29sb2NhZG8gbmEgbGluaGEgYWJlcnRhIG5vIG1vZG8gZGUgSW5zZXLn428uCisKKyAgNC4gUGFyYSBhYnJpciB1bWEgbGluaGEgQUNJTUEgZG8gY3Vyc29yLCBzaW1wbGVzbWVudGUgdGVjbGUgdW0gIE8gIG1hafpzY3VsbywKKyAgICAgZW0gdmV6IGRlIHVtICBvICBtaW76c2N1bG8uIFRlbnRlIGlzc28gbmEgbGluaGEgYWJhaXhvLgorCistLS0+IEFicmEgdW1hIGxpbmhhIGFjaW1hIGRlc3RhIHRlY2xhbmRvIE8gZW5xdWFudG8gbyBjdXJzb3IgZXN04SBuZXN0YSBsaW5oYS4KKworCisKK35+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+fn4KKwkJCSBMaefjbyA2LjI6IE8gQ09NQU5ETyBBUFBFTkQKKworCSAgICAqKiBEaWdpdGUgIGEgIHBhcmEgaW5zZXJpciB0ZXh0byBERVBPSVMgZG8gY3Vyc29yLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBvIGlu7WNpbyBkYSBsaW5oYSBtYXJjYWRhIGNvbSAtLS0+IC4KKworICAyLiBQcmVzc2lvbmUgIGUgIGF06SBvIGN1cnNvciBmaWNhciBzb2JyZSBvIGZpbmFsIGRlIGxpIC4KKworICAzLiBEaWdpdGUgdW0gIGEgIChtaW76c2N1bG8pIHBhcmEgYWRpY2lvbmFyIHRleHRvIERFUE9JUyBkbyBjYXJhY3RlcmUgc29iIG8KKyAgICAgY3Vyc29yLgorCisgIDQuIENvbXBsZXRlIGEgcGFsYXZyYSBjb25mb3JtZSBhIGxpbmhhIGFiYWl4by4gUHJlc3Npb25lIDxFU0M+IHBhcmEgc2FpciBkbworICAgICBtb2RvIGRlIEluc2Vy5+NvLgorCisgIDUuIFVzZSAgZSAgcGFyYSBtb3ZlciBwYXJhIGEgcHLzeGltYSBwYWxhdnJhIGluY29tcGxldGEgIHJlcGl0YSBvcyBwYXNzb3MgMworICAgICBlIDQuCisKKy0tLT4gRXN0YSBsaW4gbGhlIHBlcm1pdGUgcHJhdGljIGEgYWRp5yBkZSB0ZXh0byBhIHVtYSBsaW5oYS4KKy0tLT4gRXN0YSBsaW5oYSBsaGUgcGVybWl0ZSBwcmF0aWNhciBhIGFkaefjbyBkZSB0ZXh0byBhIHVtYSBsaW5oYS4KKworTk9UQTogYSwgaSBlIEEgbGV2YW0gYW8gbWVzbW8gbW9kbyBkZSBJbnNlcufjbywgYSD6bmljYSBkaWZlcmVu52Eg6SBvbmRlIG9zCisgICAgICBjYXJhY3RlcmVzIHPjbyBpbnNlcmlkb3MuCit+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+fn5+CisJICAgICBMaefjbyA2LjM6IFVNQSBPVVRSQSBWRVJTw08gRE8gUkVQTEFDRSAoU1VCU1RJVFVJUikKKworICAgICAgKiogRGlnaXRlIHVtIFIgbWFp+nNjdWxvIHBhcmEgc3Vic3RpdHVpciBtYWlzIGRlIHVtIGNhcmFjdGVyZS4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LiBNb3ZhIG8KKyAgICAgY3Vyc29yIHBhcmEgbyBpbu1jaW8gZG8gcHJpbWVpcm8gIHh4eCAuCisgIAorICAyLiBBZ29yYSBwcmVzc2lvbmUgIFIgIGUgZGlnaXRlIG9zIG76bWVyb3MgcXVlIGVzdONvIGFiYWl4byBkZWxlLCBuYSBzZWd1bmRhCisgICAgIGxpbmhhLCBwYXJhIHN1YnN0aXR1aXIgbyAgeHh4IC4KKworICAzLiBQcmVzc2lvbmUgPEVTQz4gcGFyYSBzYWlyIGRvIG1vZG8gZGUgU3Vic3RpdHVp5+NvLiBOb3RlIHF1ZSBvIHJlc3RvIGRhCisgICAgIGxpbmhhIHBlcm1hbmVjZSBpbmFsdGVyYWRhLgorCisgIDQuIFJlcGl0YSBvcyBwYXNzb3MgcGFyYSBzdWJzdGl0dWlyIG9zICB4eHggIHJlc3RhbnRlcy4KKworLS0tPiAgQWRpY2lvbmFuZG8gMTIzIGEgeHh4IHJlc3VsdGEgZW0geHh4LgorLS0tPiAgQWRpY2lvbmFuZG8gMTIzIGEgNDU2IHJlc3VsdGEgZW0gNTc5LgorCitOT1RBOiAgTyBtb2RvIGRlIFN1YnN0aXR1aefjbyDpIGNvbW8gbyBtb2RvIGRlIEluc2Vy5+NvLCBtYXMgY2FkYSBjYXJhY3RlcmUKKyAgICAgICBkaWdpdGFkbyBkZWxldGEgdW0gY2FyYWN0ZXJlIGV4aXN0ZW50ZS4KKworfn5+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+CisJCSAgICAgICBMaefjbyA2LjQ6IENPUElBUiBFIENPTEFSIFRFWFRPCisKKwkqKiBVc2UgbyBvcGVyYWRvciAgeSAgcGFyYSBjb3BpYXIgdGV4dG8gZSAgcCAgcGFyYSBjb2zhLWxvLiAqKgorCisgICAxLiBW4SBwYXJhIGEgbGluaGEgbWFyY2FkYSBjb20gLS0tPiBhYmFpeG8gZSBwb3NpY2lvbmUgbyBjdXJzb3IgYXDzcyAiYSkiLgorCisgICAyLiBJbmljaWUgbyBtb2RvIFZpc3VhbCBjb20gIHYgIGUgbW92YSBvIGN1cnNvciBwYXJhIGxvZ28gYW50ZXMgZGUKKyAgICAgICJwcmltZWlybyIuCisKKyAgIDMuIERpZ2l0ZSAgeSAgcGFyYSBjb3BpYXIgbyB0ZXh0byBzZWxlY2lvbmFkby4KKworICAgNC4gTW92YSBvIGN1cnNvciBwYXJhIG8gZmluYWwgZGEgcHLzeGltYSBsaW5oYTogIGokCisKKyAgIDUuIERpZ2l0ZSAgcCAgcGFyIHD0ciAoY29sYXIpIG8gdGV4dG8uIEVudONvLCBkaWdpdGU6ICBvIHNlZ3VuZG8gPEVTQz4gLgorCisgICA2LiBVc2UgbyBtb2RvIFZpc3VhbCBwYXJhIHNlbGVjaW9uYXIgICIgaXRlbS4iLCBjb3BpZS1vIGNvbSAgeSAsIG1vdmEgcGFyYQorICAgICAgbyBmaW5hIGRhIHBy83hpbWEgbGluaGEgY29tICBqJCAgZSBwb25oYSAoY29sZSkgbyB0ZXh0byBjb20gIHAgLgorCistLS0+ICBhKSBlc3NlIOkgbyBwcmltZWlybyBpdGVtLgorICAgICAgYikKK05PVEE6ICBWb2PqIHRhbWLpbSBwb2RlIHVzYXIgIHkgIGNvbW8gdW0gb3BlcmFkb3I7IHBvciBleGVtcGxvLCB5dyBjb3BpYSB1bWEKKyAgICAgICBwYWxhdnJhLgorfn5+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+CisJCSAgICAgIExp5+NvIDYuNTogQ09ORklHVVJBUiBQUkVGRVLKTkNJQVMKKworICAgICAgKiogQ29uZmlndXJhciB1bWEgcHJlZmVy6m5jaWEgZGUgbW9kbyBxdWUgdW0gc2VhcmNoIG91IHN1YnN0aXR1dGUKKwkgaWdub3JhIHNlIGFzIGxldHJhcyBlc3TjbyBlbSBtYWn6c2N1bGFzIG91IG1pbvpzY3VsYXMuICoqCisKKyAgMS4gUHJvY3VyZSBwb3IgJ2lnbm9yZScgZW50cmFuZG86ICAvaWdub3JlIDxFTlRFUj4KKyAgICAgUmVwaXRhIHbhcmlhcyB2ZXplcyB0ZWNsYW5kbyAgbiAuCisgIDIuIENvbmZpZ3VyZSBhIG9w5+NvICdpYycgKElnbm9yZSBjYXNlKSBkaWdpdGFuZG86CisgICAgIDpzZXQgaWMKKyAgMy4gQWdvcmEgcHJvY3VyZSBwb3IgJ2lnbm9yZScgZGUgbm92byB0ZWNsYW5kbzogbgorICAgICBSZXBpdGEgduFyaWFzIHZlemVzLgorICA0LiBDb25maWd1cmUgYXMgb3Dn9WVzICdobHNlYXJjaCcgZSAnaW5jc2VhcmNoJzoKKyAgICAgOnNldCBobHMgaXMKKyAgNS4gQWdvcmEgZW50cmUgY29tIG8gY29tYW5kbyBzZWFyY2ggZGUgbm92bywgZSB2ZWphIG8gcXVlIGFjb250ZWNlOgorICAgICAvaWdub3JlCisgIDYuIFBhcmEgZGVzYWJpbGl0YXIgYSBkZXNjb25zaWRlcmHn428gZGUgbWFp+nNjdWxhcyBlIG1pbvpzY3VsYXM6CisgICAgIDpzZXQgbm9pYworCitOT1RBOiAgUGFyYSByZW1vdmVyIG8gcmVhbGNlIGRvcyB0ZXJtb3MgbG9jYWxpemFkb3MgZW50cmU6ICA6bm9obHNlYXJjaAorTk9UQTogIFNlIHF1aXNlciBpZ25vcmFyIGEgZGlmZXJlbudhIGVudHJlIG1hafpzY3VsYXMgZSBtaW76c2N1bGFzIGVtIGFwZW5hcworICAgICAgIHVtYSBwZXNxdWlzYSwgdXNlICBcYyAgbm8gY29tYW5kbzogIC9pZ25vcmVcYyA8RU5URVI+CisKK35+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+fgorCQkJICAgICAgU1VNwVJJTyBEQSBMScfDTyA2CisKKyAgMS4gRGlnaXRlICBvICBwYXJhIGFicmlyIHVtYSBsaW5oYSBBQkFJWE8gZG8gY3Vyc29yIGUgaW5pY2lhciBvIG1vZG8gZGUKKyAgICAgSW5zZXLn428uCisgICAgIERpZ2l0ZSAgTyAgcGFyYSBhYnJpciB1bWEgbGluaGEgQUNJTUEgZGEgbGluaGEgb25kZSBvIGN1cnNvciBlc3ThLgorCisgIDIuIERpZ2l0ZSAgYSAgcGFyYSBhZGljaW9uYXIgdGV4dG8gREVQT0lTIGRvIGNhcmFjdGVyZSBvbmRlIGVzdOEgbyBjdXJzb3IuCisgICAgIERpZ2l0ZSAgQSAgcGFyYSBhZGljaW9uYXIgdGV4dG8gYW8gZmluYWwgZGEgbGluaGEuCisKKyAgMy4gTyBjb21hbmRvICBlICBtb3ZlIG8gY3Vyc29yIHBhcmEgbyBmaW5hbCBkZSB1bWEgcGFsYXZyYS4KKworICA0LiBPIG9wZXJhZG9yICB5ICBjb3BpYSB0ZXh0bywgIHAgIHD1ZSAoY29sYSkgbyB0ZXh0byBjb3BpYWRvLgorCisgIDUuIERpZ2l0YW5kbyAgUiAgZW50cmEtc2Ugbm8gbW9kbyBkZSBTdWJzdGl0dWnn428gYXTpIHF1ZSA8RVNDPiBzZWphCisgICAgIHByZXNzaW9uYWRvLgorCisgIDYuIERpZ2l0YW5kbyAgIjpzZXQgeHh4IiBtb2RpZmljYS1zZSBhIG9w5+NvICJ4eHgiLiBBbGd1bWFzIG9w5/VlcyBz4286CisgICAgICAgICAnaWMnICdpZ25vcmVjYXNlJyAgICAgaWdub3JhIGRpZmVyZW7nYSBlbnRyZSBtYWn6c2N1bGFzL21pbvpzY3VsYXMKKwkgJ2lzJyAnaW5jc2VhcmNoJyAgICAgIHJlYWxpemEgYSBidXNjYSBlbnF1YW50byBzZSBkaWdpdGEKKwkgJ2hscycgJ2hsc2VhcmNoJyAgICAgIHJlYWznYSB0b2RvcyBvcyB0cmVjaG9zIGxvY2FsaXphZG9zCisgICAgIFZvY+ogdGFudG8gcG9kZSB1c2FyIG8gbm9tZSBjdXJ0byBxdWFudG8gbyBub21lIGxvbmdvIGRhIG9w5+NvLgorICA3LiBBZGljaW9uZSBvIHByZWZpeG8gIm5vIiBwYXJhIGRlc2FiaWxpdGFyIHVtYSBvcOfjbzogIDpzZXQgbm9pYworfn5+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+CisJCQkgICBMScfDTyA3LjE6IE9CVEVORE8gQUpVREEKKworCQkgKiogVXNhciBvIHNpc3RlbWEgZGUgYWp1ZGEgZG8gcHLzcHJpbyBWaW0gKioKKworICBPIFZpbSBwb3NzdWkgc2lzdGVtYSBkZSBhanVkYSBhYnJhbmdlbnRlLiBQYXJhIGNvbWXnYXIsIHRlbnRlIGFsZ3VtCisgIGRlc3NlcyB0cupzOgorICAgICAgICAtIHByZXNzaW9uZSBhIHRlY2xhIDxIRUxQPiAoc2Ugdm9j6iB0aXZlciB1bWEpCisgICAgICAgIC0gcHJlc3Npb25lIGEgdGVjbGEgPEYxPiAgIChzZSB2b2PqIHRpdmVyIHVtYSkKKyAgICAgICAgLSBkaWdpdGUgICAgICA6aGVscCA8RU5URVI+CisKKyAgTGVpYSBvIHRleHRvIGRhIGFqdWRhIHBhcmEgYXByZW5kZXIgY29tbyBvIHNpc3RlbWEgZGUgYWp1ZGEgZnVuY2lvbmEuCisgIERpZ2l0ZSAgQ1RSTC1XIENUUkwtVyAgcGFyYSBwdWxhciBkZSB1bWEgamFuZWxhIHBhcmEgb3V0cmEuCisgIERpZ2l0ZSAgOnEgPEVOVEVSPiBwYXJhIGZlY2hhciBhIGphbmVsYSBkYSBhanVkYS4KKworICBWb2PqIHBvZGUgYWNoYXIgYWp1ZGEgc29icmUgcXVhbHF1ZXIgYXNzdW50bywgZm9ybmVjZW5kbyB1bSBhcmd1bWVudG8gcGFyYQorICBvIGNvbWFuZG8gIjpoZWxwIi4gVGVudGUgaXN0byAobuNvIGVzcXVl52EgZGUgcHJlc3Npb25hciA8RU5URVI+KToKKworICAgICAgIDpoZWxwIHcKKyAgICAgICA6aGVscCBjX0NUUkwtRAorICAgICAgIDpoZWxwIGluc2VydC1pbmRleAorICAgICAgIDpoZWxwIHVzZXItbWFudWFsCisKK35+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+fgorCQkgTGnn428gNy4yOiBDUklBUiBVTSBTQ1JJUFQgREUgSU5JQ0lBTElaQcfDTworCisJCSAgICAgICAqKiBIYWJpbGl0YXIgcmVjdXJzb3MgZG8gVmltICoqCisKKyAgTyBWaW0gdGVtIG11aXRvIG1haXMgcmVjdXJzb3MgZG8gcXVlIG8gVmksIG1hcyBuYSBzdWEgbWFpb3JpYSBlbGVzIHPjbworICBkZXNhYmlsaXRhZG9zIHBvciBwYWRy428uICBQYXJhIHVzYXIgbWFpcyByZWN1cnNvcywgdm9j6iB0ZW0gcXVlIGNyaWFyIHVtCisgIGFycXVpdm8gInZpbXJjIi4KKworICAxLiBDb21lY2UgYSBlZGl0YXIgbyBhcnF1aXZvICJ2aW1yYyIuIElzc28gZGVwZW5kZSBkbyBzaXN0ZW1hOgorICAgICAgICAgOmUgfi8udmltcmMgICAgICAgICAgICAgIHBhcmEgVW5peAorICAgICAgICAgOmUgJFZJTS9fdmltcmMgICAgICAgICAgIHBhcmEgTVMtV2luZG93cworCisgIDIuIEFnb3JhLCBsZWlhIG8gY29udGX6ZG8gZG8gYXJxdWl2byAidmltcmMiIGRlIGV4ZW1wbG86CisgICAgICAgICA6ciAkVklNL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU2FsdmUgbyBhcnF1aXZvIGNvbToKKyAgICAgICAgIDp3CisKKyAgRGEgcHLzeGltYSB2ZXogcXVlIG8gVmltIGZvciBpbmljaWFkbywgZWxlIGly4SB1c2FyIHJlYWxjZSBkZSBzaW50YXhlLiBWb2PqCisgIHBvZGUgYWRpY2lvbmFyIHN1YXMgY29uZmlndXJh5/VlcyBwcmVmZXJpZGFzIHBhcmEgZXNzZSBhcnF1aXZvICJ2aW1yYyIuIFBhcmEKKyAgbWFpb3JlcyBpbmZvcm1h5/VlcywgZGlnaXRlOiAgOmhlbHAgdmltcmMtaW50cm8KKworfn5+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+CisJCQkgICAgTGnn428gNy4zOiBDT01QTEVUQcfDTworCisJICAgKiogQ29tcGxldGHn428gZGEgbGluaGEgZGUgY29tYW5kbyBjb20gQ1RSTC1EIGUgPFRBQj4gKioKKworICAgMS4gQ2VydGlmaXF1ZS1zZSBkZSBxdWUgbyBWaW0gbuNvIGVzdOEgbm8gbW9kbyBjb21wYXTtdmVsOiAgOnNldCBub2NwCisKKyAgIDIuIE9saGUgcXVhaXMgYXJxdWl2b3MgZXhpc3RlbSBubyBkaXJldPNyaW86ICA6IWxzICBvdSAgOiFkaXIKKworICAgMy4gRGlnaXRlIG8gaW7tY2lvIGRlIHVtIGNvbWFuZG86ICA6ZQorCisgICA0LiBQcmVzc2lvbmUgIENUUkwtRCAgZSBvIFZpbSBpcuEgbW9zdHJhciBhIGxpc3RhIGRvcyBjb21hbmRvcyBpbmljaWFkb3MKKyAgICAgIGNvbSAiZSIuCisKKyAgIDUuIFByZXNzaW9uZSAgPFRBQj4gIGUgbyBWaW0gaXLhIGNvbXBsZXRhciBvIG5vbWUgZG8gY29tYW5kbyBwYXJhICI6ZWRpdCIuCisKKyAgIDYuIEFnb3JhLCBhZGljaW9uZSB1bSBlc3Bh528gZSBvIGlu7WNpbyBkbyBub21lIGRlIHVtIGFycXVpdm8gZXhpc3RlbnRlOgorICAgICAgOmVkaXQgQVJRCisKKyAgIDcuIFByZXNzaW9uZSA8VEFCPi4gIE8gVmltIGly4SBjb21wbGV0YXIgbyBub21lIChzZSBlbGUgZm9yIPpuaWNvKS4KKworTk9UQTogIEEgY29tcGxldGHn428gZnVuY2lvbmEgY29tIG11aXRvcyBjb21hbmRvcy4gQmFzdGEgcHJlc3Npb25hciBDVFJMLUQgZQorPFRBQj4uIElzc28g6SBlc3BlY2lhbG1lbnRlIPp0aWwgcGFyYSAgOmhlbHAgLgorfn5+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+CisJCQkgICAgICBTVU3BUklPIERBIExJx8NPIDcKKworCisgIDEuIERpZ2l0ZSAgOmhlbHAgb3UgcHJlc3Npb25lIDxGMT4gb3UgPEhlbHA+ICBwYXJhIGFicmlyIGEgamFuZWxhIGRlIGFqdWRhLgorCisgIDIuIERpZ2l0ZSAgOmhlbHAgY21kICBwYXJhIGFjaGFyIGEgYWp1ZGEgc29icmUgIGNtZCAuCisKKyAgMy4gRGlnaXRlICBDVFJMLVcgQ1RSTC1XICBwYXJhIHB1bGFyIGRlIHVtYSBqYW5lbGEgcGFyYSBvdXRyYS4KKworICA0LiBEaWdpdGUgIDpxICBwYXJhIGZlY2hhciBhIGphbmVsYSBkZSBhanVkYS4KKworICA1LiBDcmllIHVtIHNjcmlwdCBkZSBpbmljaWFsaXph5+NvIHZpbXJjIHBhcmEgYXRpdmFyIGF1dG9tYXRpY2FtZW50ZSBhcyBzdWFzCisgICAgIGNvbmZpZ3VyYef1ZXMgcHJlZmVyaWRhcy4KKworICA2LiBRdWFuZG8gcHJlc3Npb25hbmRvIHVtIGNvbWFuZG8gIDogLCBwcmVzc2lvbmUgQ1RSTC1EIHBhcmEgdmVyIGFzCisgICAgIHBvc3NpYmlsaWRhZGUgZGUgY29tcGxldGHn428uCisKKworCisgIAorCit+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+fn4KKworICBJc3RvIGNvbmNsdWkgbyBWaW0gdHV0b3IuIEVsZSBwcmV0ZW5kZXUgZGFyIHVtYSBicmV2ZSBhcHJlc2VudGHn428gZG8gZWRpdG9yCisgIFZpbSwgc29tZW50ZSBvIGJhc3RhbnRlIHBhcmEgcXVlIHZvY+ogcG9zc2EgdXNhciBvIGVkaXRvciBjb20gZmFjaWxpZGFkZS4KKyAgRWxlIGVzdOEgbG9uZ2UgZGUgc2VyIGNvbXBsZXRvLCB1bWEgdmV6IHF1ZSBvIFZpbSBwb3NzdWkgbXVpdG9zLCBtdWl0b3MgbWFpcworICBjb21hbmRvcy4gTyBwcvN4aW1vIHBhc3NvIOkgbGVyIG8gbWFudWFsOiAgIjpoZWxwIHVzZXItbWFudWFsIi4KKworICBMaXZybyByZWNvbWVuZGFkbyBlbSBQb3J0dWd16nMgc29icmUgbyBWaW06CisgICAgICAgTyBlZGl0b3IgZGUgdGV4dG8gVmltIC0gZGUgU+lyZ2lvIEx1aXogQXJh+mpvIGRhIFNpbHZhIGV0IGFsLgorICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC92aW1ib29rLworCisgIFBhcmEgZnV0dXJhIGxlaXR1cmEgZSBlc3R1ZG8sIGVzdGUgbGl2cm8g6SByZWNvbWVuZGFkbzoKKyAgICAgICBWaW0gLSBWaSBJbXByb3ZlZCAtIGRlIFN0ZXZlIE91YWxsaW5lCisgICAgICAgRWRpdG9yYTogTmV3IFJpZGVycworICBFc3RlIOkgbyBwcmltZWlybyBsaXZybyBjb21wbGV0YW1lbnRlIGRlZGljYWRvIGFvIFZpbS4gRXNwZWNpYWxtZW50ZSD6dGlsCisgIHBhcmEgaW5pY2lhbnRlcywgY29tIG11aXRvcyBleGVtcGxvcyBlIGlsdXN0cmHn9WVzLgorICBWZWphIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRXNzZSBsaXZybyDpIG1haXMgYW50aWdvIGUgbWFpcyBzb2JyZSBvIFZpIGRvIHF1ZSBzb2JyZSBvIFZpbSwgbWFzIHRhbWLpbSDpCisgIHJlY29tZW5kYWRvOgorICAgICAgIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBkZSBMaW5kYSBMYW1iCisgICAgICAgRWRpdG9yYTogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgRXN0ZSDpIHVtIGJvbSBsaXZybyBwYXJhIGFwcmVuZGVyIHF1YXNlIHR1ZG8gbyBxdWUgdm9j6iBxdWVyIGZhemVyIGNvbSBvIFZpLgorICBBIHNleHRhIGVkaefjbyB0YW1i6W0gaW5jbHVpIGluZm9ybWHn9WVzIHNvYnJlIG8gVmltLgorCisgIEVzdGUgdHV0b3JpYWwgZm9pIGVzY3JpdG8gcG9yIE1pY2hhZWwgQy4gUGllcmNlIGUgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcywgdXNhbmRvIGlk6WlhcyBmb3JuZWNpZGFzIHBvciBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgTW9kaWZpY2FkbyBwYXJhIG8gVmltIHBvciBCcmFtIE1vb2xlbmFyLgorCisgIFZlcnPjbyAxLjQgdHJhZHV6aWRhIHBhcmEgbyBwb3J0dWd16nMgcG9yIE1hcmNlbG8gRHJ1ZGkgTWlyYW5kYSwgRXNjb2xhCisgIFBvbGl06WNuaWNhIGRhIFVuaXZlcnNpZGFkZSBkZSBT428gUGF1bG8uCisKKyAgUmV2aXPjbyBlIGF0dWFsaXph5+NvIGRhIHRyYWR15+NvIHBhcmEgYSB2ZXJz428gMS43IHBvciBKYWtzb24gQXF1aW5vLAorICBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBDZWFy4TogRS1tYWlsOiBqYWx2ZXNhcUBnbWFpbC5jb20KKworICBMYXN0IENoYW5nZTogMjAxMCBKdWwgMjcKKworfn5+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+CmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLnB0LnV0Zi04IGIvcnVudGltZS90dXRvci90dXRvci5wdC51dGYtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWY5NThiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5wdC51dGYtOApAQCAtMCwwICsxLDk4NCBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICAgIEIgZSBtICAgViBpIG4gZCBvICAgYSBvICAgViBJIE0gICBUIHUgdCBvIHIgICAtICAgVmVyc8OjbyAxLjcgcHRfQlIgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0gw6kgdW0gcG9kZXJvc28gZWRpdG9yIHF1ZSBwb3NzdWkgbXVpdG9zIGNvbWFuZG9zLCB0YW50b3MgcXVlIHNlcmlhCisgICAgIGltcG9zc8OtdmVsIGVuc2luYXIgbnVtIHR1dG9yaWFsIGNvbW8gZXN0ZS4gRXN0ZSB0dXRvcmlhbCDDqSBwbGFuZWphZG8gcGFyYQorICAgICBhcHJlc2VudGFyIG9zIGNvbWFuZG9zIHN1ZmljaWVudGVzIHBhcmEgdm9jw6ogZmljYXIgaGFiaWxpdGFkbyBhIHVzYXIKKyAgICAgZmFjaWxtZW50ZSBvIFZpbSBjb21vIHVtIGVkaXRvciBkZSB0ZXh0b3MgZ2Vuw6lyaWNvLgorCisgICAgIE8gdGVtcG8gYXByb3hpbWFkbyByZXF1ZXJpZG8gcGFyYSBjb21wbGV0YXIgbyB0dXRvcmlhbCDDqSBkZSAyNS0zMCBtaW51dG9zLAorICAgICBkZXBlbmRlbmRvIGRlIHF1YW50byB0ZW1wbyDDqSBnYXN0byBwcmF0aWNhbmRvIG9zIGNvbWFuZG9zLgorCisgICAgIEFURU7Dh8ODTzoKKyAgICAgT3MgY29tYW5kb3MgbmFzIGxpw6fDtWVzIHbDo28gbW9kaWZpY2FyIG8gdGV4dG8uIFV0aWxpemUgdW1hIGPDs3BpYSBkZXN0ZQorICAgICBhcnF1aXZvIHBhcmEgcHJhdGljYXIgb3MgY29tYW5kb3MgKHNlIHZvY8OqIGluaWNpb3UgbyAidmltdHV0b3IiLCBlc3RhIGrDoQorICAgICDDqSB1bWEgY8OzcGlhKS4KKworICAgICDDiSBpbXBvcnRhbnRlIGxlbWJyYXIgcXVlIGVzdGUgdHV0b3JpYWwgw6kgcGxhbmVqYWRvIHBhcmEgZW5zaW5hciBhdHJhdsOpcyBkYQorICAgICBwcsOhdGljYS4gSXNzbyBzaWduaWZpY2EgcXVlIHZvY8OqIHByZWNpc2EgZXhlY3V0YXIgb3MgY29tYW5kb3MgcGFyYSAKKyAgICAgYXByZW5kw6otbG9zIGFkZXF1YWRhbWVudGUuIFNlIHZvY8OqIHNvbWVudGUgbGVyIG8gdGV4dG8sIGVzcXVlY2Vyw6Egb3MKKyAgICAgY29tYW5kb3MhCisKKyAgICAgQWdvcmEsIGNlcnRpZmlxdWUtc2UgZGUgcXVlIHN1YSB0ZWNsYSBTaGlmdC1Mb2NrIChvdSBDYXBzIExvY2spIG7Do28gZXN0ZWphCisgICAgIGF0aXZhZGEgZSBwcmVzc2lvbmUgYSB0ZWNsYSAgaiAgbyBiYXN0YW50ZSBwYXJhIG1vdmVyIG8gY3Vyc29yIGF0w6kgcXVlIGEKKyAgICAgTGnDp8OjbyAxLjEgZXN0ZWphIGNvbXBsZXRhbWVudGUgbmEgdGVsYS4KK35+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+fgorCQkJIExpw6fDo28gMS4xOiAgTU9WRU5ETyBPIENVUlNPUgorCisKKyAgKiogUGFyYSBtb3ZlciBvIGN1cnNvciwgcHJlc3Npb25lIGFzIHRlY2xhcyBoLGosayxsIGNvbmZvcm1lIGluZGljYWRvLiAqKgorICAgICAgICAgICAgIF4KKyAgICAgICAgICAgICBrICAgICAgICAgIERpY2E6IEEgdGVjbGEgaCBlc3TDoSDDoCBlc3F1ZXJkYSBlIG1vdmUgcGFyYSBhIGVzcXVlcmRhLgorICAgICAgIDwgaCAgICAgICBsID4gICAgICAgICAgQSB0ZWNsYSBsIGVzdMOhIMOgIGRpcmVpdGEgZSBtb3ZlIHBhcmEgYSBkaXJlaXRhLgorICAgICAgICAgICAgIGogICAgICAgICAgICAgICAgQSB0ZWNsYSBqIHNlIHBhcmVjZSBjb20gdW1hIHNldGEgcGFyYSBiYWl4by4KKyAgICAgICAgICAgICB2CisgIDEuIE1vdmEgbyBjdXJzb3IgcGVsYSB0ZWxhIGF0w6kgcXVlIHZvY8OqIHNlIHNpbnRhIGNvbmZvcnTDoXZlbC4KKworICAyLiBTZWd1cmUgcHJlc3Npb25hZGEgYSB0ZWNsYSAoaikgYXTDqSBoYXZlciByZXBldGnDp8Ojby4KKyAgICAgQWdvcmEgdm9jw6ogasOhIHNhYmUgY29tbyBpciBwYXJhIGEgcHLDs3hpbWEgbGnDp8Ojby4KKworICAzLiBVc2FuZG8gYSB0ZWNsYSBqLCBtb3ZhIGF0w6kgYSBsacOnw6NvIDEuMi4KKworTk9UQTogU2Ugdm9jw6ogZXN0w6EgaW5zZWd1cm8gc29icmUgbyBxdWUgZGlnaXRvdSwgcHJlc3Npb25lIDxFU0M+IHBhcmEgCisgICAgICBjb2xvY8OhLWxvIG5vIG1vZG8gTm9ybWFsLiBFbnTDo28gcmVkaWdpdGUgbyBjb21hbmRvIHF1ZSB2b2PDqiBxdWVyaWEuCisKK05PVEE6IEFzIHRlY2xhcyBkZSBjdXJzb3IgZGV2ZW0gZnVuY2lvbmFyIHRhbWLDqW0uIE1hcyB1c2FuZG8gaGprbCwgdMOjbyBsb2dvCisgICAgICBlc3RlamEgYWNvc3R1bWFkbywgdm9jw6ogcG9kZXLDoSBzZSBtb3ZlciBtdWl0byBtYWlzIHJhcGlkYW1lbnRlLgorCit+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+fn4KKwkJCSAgIExpw6fDo28gMS4yOiBTQUlORE8gRE8gVklNCisKKworICEhIE5PVEE6IEFudGVzIGRlIGV4ZWN1dGFyIHF1YWxxdWVyIGRvcyBwYXNzb3MgYWJhaXhvLCBsZWlhIGEgbGnDp8OjbyBpbnRlaXJhICEhCisKKyAgMS4gUHJlc3Npb25lIDxFU0M+IChwYXJhIHRlciBjZXJ0ZXphIGRlIHF1ZSBlc3TDoSBubyBtb2RvIE5vcm1hbCkuCisKKyAgMi4gRGlnaXRlICAgIDpxISA8RU5URVI+LgorICAgICBJc3NvIHNhaSBkbyBlZGl0b3IgU0VNIHNhbHZhciBxdWFscXVlciBtdWRhbsOnYSBxdWUgdGVuaGEgc2lkbyBmZWl0YS4KKyAgICAgU2UgcXVpc2VyIHNhbHZhciBhcyBhbHRlcmHDp8O1ZXMgZSBzYWlyLCBkaWdpdGUgICAgIDp3cSA8RU5URVI+CisKKyAgMy4gUXVhbmRvIHZpciBvIHByb21wdCBkbyBzaGVsbCBkaWdpdGUgbyBjb21hbmRvIHF1ZSBsaGUgdHJvdXhlIGEgZXN0ZQorICAgICB0dXRvcmlhbCwgbmEgbWFpb3JpYSBkb3MgY2Fzb3M6ICAgICAgdmltdHV0b3IgPEVOVEVSPi4KKworICA0LiBTZSB2b2PDqiBtZW1vcml6b3UgZXN0ZXMgcGFzc29zIGUgZXN0w6EgY29uZmlhbnRlLCBleGVjdXRlIG9zIHBhc3NvcyBkZQorICAgICAxIGEgMyBwYXJhIHNhaXIgZSByZS1lbnRyYXIgbm8gZWRpdG9yLgorCitOT1RBOiAgOnEhIDxFTlRFUj4gIGRlc2NhcnRhIHF1YWxxdWVyIG11ZGFuw6dhLiBFbSB1bWEgcHLDs3hpbWEgbGnDp8OjbyBzZXLDoQorICAgICAgIGVuc2luYWRvIGNvbW8gc2FsdmFyIGFzIG11ZGFuw6dhcyBmZWl0YXMgZW0gdW0gYXJxdWl2by4KKworICA1LiBEZXPDp2EgbyBjdXJzb3IgYXTDqSBhIExpw6fDo28gMS4zLgorCit+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+fn4KKwkJICAgICBMacOnw6NvIDEuMzogRURJVEFORE8gVEVYVE9TIC0gREVMRcOHw4NPCisKKyAgKiogTm8gbW9kbyBOb3JtYWwsIHByZXNzaW9uZSAgeCAgcGFyYSBkZWxldGFyIG8gY2FyYWN0ZXJlIHNvYiBvIGN1cnNvci4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIFBhcmEgY29ycmlnaXIgb3MgZXJyb3MsIG1vdmEgbyBjdXJzb3IgYXTDqSBxdWUgZWxlIGVzdGVqYSBzb2JyZSBvIAorICAgICBjYXJhY3RlcmUgYSBzZXIgZGVsZXRhZG8uCisKKyAgMy4gUHJlc3Npb25lIGEgdGVjbGEgIHggIHBhcmEgZGVsZXRhciBvIGNhcmFjdGVyZSBpbmRlc2VqYWRvLgorCisgIDQuIFJlcGl0YSBvcyBwYXNzb3MgMiBhdMOpIDQgYXTDqSBxdWUgYSBzZW50ZW7Dp2EgZXN0ZWphIGNvcnJldGEuCisKKy0tLT4gQSB2dmFjYSBwdWxsb3V1IHBvciBjY2ltYWEgZGRhIGx1dXVhLgorCisgIDUuIEFnb3JhIHF1ZSBhIHNlbnRlbsOnYSBlc3TDoSBjb3JyZXRhLCB2w6EgcGFyYSBhIExpw6fDo28gMS40LgorCitOT1RBOiBFbnF1YW50byBzZWd1ZSBlc3RlIHR1dG9yaWFsLCBuw6NvIHRlbnRlIG1lbW9yaXphciwgYXByZW5kYSBwZWxvIHVzby4KKworCisKK35+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+fgorCQkgICAgTGnDp8OjbyAxLjQ6IEVESVRBTkRPIFRFWFRPUyAtIElOU0VSw4fDg08KKworCQkgICAqKiBQcmVzc2lvbmUgIGkgIHBhcmEgaW5zZXJpciB0ZXh0by4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgYXTDqSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIFBhcmEgZmF6ZXIgYSBwcmltZWlyYSBsaW5oYSBmaWNhciBpZ3VhbCDDoCBzZWd1bmRhLCBtb3ZhIG8gY3Vyc29yIHBhcmEKKyAgICAgbyBwcmltZWlybyBjYXJhY3RlcmUgREVQT0lTIGRlIG9uZGUgbyB0ZXh0byBkZXZlcsOhIHNlciBpbnNlcmlkby4KKworICAzLiBQcmVzc2lvbmUgIGkgIGUgZGlnaXRlIGFzIGFkacOnw7VlcyBuZWNlc3PDoXJpYXMuCisKKyAgNC4gQXNzaW0gcXVlIGNhZGEgZXJybyBmb3IgY29ycmlnaWRvIHByZXNzaW9uZSA8RVNDPiBwYXJhIHJldG9ybmFyIGFvIG1vZG8KKyAgICAgTm9ybWFsLiBSZXBpdGEgb3MgcGFzc29zIDIgYXTDqSA0IHBhcmEgY29ycmlnaXIgYSBzZW50ZW7Dp2EuCisKKy0tLT4gVGVtIHRleHQgZmF0YWRvIGRlc3RhIC4KKy0tLT4gVGVtIGFsZ3VtIHRleHRvIGZhbHRhbmRvIGRlc3RhIGxpbmhhLgorCisgIDUuIFF1YW5kbyBzZSBzZW50aXIgY29uZm9ydMOhdmVsIGNvbSBhIGluc2Vyw6fDo28gZGUgdGV4dG8sIG1vdmEgbyBjdXJzb3IgcGFyYQorICAgICBhIGxpw6fDo28gMS41LgorCisKK35+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+fgorCQkgICBMacOnw6NvIDEuNTogRURJVEFORE8gVEVYVE8gLSBBRElDSU9OQU5ETworCisJCSAgKiogUHJlc3Npb25lICBBICBwYXJhIGFkaWNpb25hciB0ZXh0by4gKioKKworICAxLiBNb3ZhIG8gY3Vyc28gcGFyYSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorICAgICBOw6NvIGltcG9ydGEgc29icmUgcXVhbCBjYXJhY3RlcmUgbyBjdXJzb3IgZXN0YXLDoSBuYSBsaW5oYS4KKworICAyLiBQcmVzc2lvbmUgIEEgIGUgZGlnaXRlIGFzIGFkacOnw7VlcyBuZWNlc3PDoXJpYXMuCisKKyAgMy4gUXVhbmRvIGFkaWNpb25hciBvIHRleHRvLCBwcmVzc2lvbmUgPEVTQz4gcGFyYSByZXRvcm5hciBhbyBtb2RvIE5vcm1hbC4KKworICA0LiBNb3ZhIG8gY3Vyc29yIHBhcmEgYSBzZWd1bmRhIGxpbmhhIG1hcmNhZGEgLS0tPiBlIHJlcGl0YSBvcyBwYXNzb3MgMiBlIDMKKyAgICAgcGFyYSBjb3JyaWdpciBvIHRleHRvLgorCistLS0+IEjDoSBhbGd1bSB0ZXh0byBmYWx0YW5kbyBkZXMKKyAgICAgSMOhIGFsZ3VtIHRleHRvIGZhbHRhbmRvIGRlc3RhIGxpbmhhLgorICAgICBIw6EgYWxndW0gdGV4dG8gZmFsdGFuCistLS0+IEjDoSBhbGd1bSB0ZXh0byBmYWx0YW5kbyBhcXVpLgorCisgIDUuIFF1YW5kbyBzZSBzZW50aXIgY29uZm9ydMOhdmVsIGFkaWNpb25hbmRvIHRleHRvLCBtb3ZhIHBhcmEgYSBsacOnw6NvIDEuNi4KKworCit+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+fn4KKwkJCUxpw6fDo28gMS42OiBFRElUQU5ETyBVTSBBUlFVSVZPCisJCSoqIFVzZSAgOndxICBwYXJhIHNhbHZhciB1bSBhcnF1aXZvIGUgc2Fpci4gKioKKworCSAgISEgTk9UQTogQW50ZXMgZGUgZXhlY3V0YXIgcXVhbHF1ZXIgdW0gZG9zIHBhc3NvcyBhYmFpeG8sCisJCSAgICAgICBsZWlhIGVzdGEgbGnDp8OjbyBjb21wbGV0YW1lbnRlISEKKworICAxLiBTYWlhIGRlc3RlIHR1dG9yaWFsIGNvbW8gbyBmZXogbmEgbGnDp8OjbyAxLjI6ICA6cSEKKyAgICAgT3UsIHNlIHRpdmVyIGFjZXNzbyBhIG91dHJvIHRlcm1pbmFsLCBmYcOnYSBvIHNlZ3VpbnRlIG5lbGUuCisKKyAgMi4gTm8gcHJvbXB0IGRvIHNoZWxsLCBkaWdpdGUgZXNzZSBjb21hbmRvOiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgaXMgw6kgY29tYW5kbyBwYXJhIGluaWNpYXIgbyBlZGl0b3IgVmltIGUgJ3R1dG9yJyDDqSBvIG5vbWUgZG8KKyAgICAgYXJxdWl2byBxdWUgdm9jw6ogZGVzZWphIGVkaXRhci4gIFVzZSB1bSBhcnF1aXZvIHF1ZSBwb3NzYSBzZXIgbW9kaWZpY2Fkby4KKworICAzLiBJbnNpcmEgZSBkZWxldGUgdGV4dG8gdGFsIGNvbW8gYXByZW5kZXUgY29tIGFzIGxpw6fDtWVzIGFudGVyaW9yZXMuCisKKyAgNC4gU2FsdmUgbyBhcnF1aXZvIGNvbSBhcyBtdWRhbsOnYXMgZSBzYWlhIGRvIFZpbSBjb206ICA6d3EgPEVOVEVSPgorCisgIDUuIFNlIHZvY8OqIHRpdmVyIHNhw61kbyBkbyB2aW10dXRvciBubyBwYXNzbyAxLCByZWluaWNpZSBvIHZpbXR1dG9yIGUgdsOhIHBhcmEKKyAgICAgbyBzdW3DoXJpbyBzZWd1aW50ZS4KKworICA2LiBBcMOzcyBsZXIgb3MgcGFzc29zIGFjaW1hIGUgY29tcHJlZW5kw6otbG9zLCBleGVjdXRlLW9zLgorCit+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+fn4KKwkJCSAgICAgIFNVTcOBUklPIERBIExJw4fDg08gMQorCisgIDEuIE8gY3Vyc29yIMOpIG1vdmlkbyB1c2FuZG8gdGFudG8gYXMgdGVjbGFzIGRlIHNldGEgcXVhbnRvIGFzIHRlY2xhcyBoamtsLgorCWggKGVzcXVlcmRhKQlqIChwYXJhIGJhaXhvKQlrIChwYXJhIGNpbWEpCWwgKGRpcmVpdGEpCisKKyAgMi4gUGFyYSBlbnRyYXIgbm8gVmltIGEgcGFydGlyIGRlIHVtIHNoZWxsIGRpZ2l0ZTogdmltIE5PTUVET0FSUVVJVk8gPEVOVEVSPgorCisgIDMuIFBhcmEgc2FpciBkbyBWaW0gZGlnaXRlOiAgPEVTQz4gOnEhIDxFTlRFUj4gcGFyYSBkZXNjYXJ0YXIgYXMgYWx0ZXJhw6fDtWVzLgorICAgICAgICAgICAgICAgICAgIE9VIGRpZ2l0ZTogIDxFU0M+IDp3cSA8RU5URVI+IHBhcmEgc2FsdmFyIGFzIGFsdGVyYcOnw7Vlcy4KKworICA0LiBQYXJhIGRlbGV0YXIgdW0gY2FyYWN0ZXJlIHNvYiBvIGN1cnNvciBubyBtb2RvIE5vcm1hbCBkaWdpdGU6ICB4CisKKyAgNS4gUGFyYSBpbnNlcmlyIHRleHRvIG5hIHBvc2nDp8OjbyBkbyBjdXJzb3IgZW5xdWFudG8gZXN0aXZlciBubyBtb2RvIE5vcm1hbAorICAgICBkaWdpdGU6CisgICAgICAgICAgICAgaSAgICAgZGlnaXRlIG8gdGV4dG8gPEVTQz4gICBpbnNlcmlyIGRlcG9pcyBkbyBjdXJzb3IKKwkgICAgIEEgICAgIGRpZ2l0ZSBvIHRleHRvIDxFU0M+ICAgYWRpY2lvbmFyIG5vIGZpbmFsIGRhIGxpbmhhCisKK05PVEE6IFByZXNzaW9uYW5kbyA8RVNDPiB2b2PDqiBpcsOhIHBhcmEgbyBtb2RvIE5vcm1hbCBvdSBjYW5jZWxhcsOhIHVtIGNvbWFuZG8KKyAgICAgIGFpbmRhIGluY29tcGxldG8uCisKK0Fnb3JhIGNvbnRpbnVlIGNvbSBhIExpw6fDo28gMi4KKworfn5+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+CisJCQlMacOnw6NvIDIuMTogQ09NQU5ET1MgREUgREVMRcOHw4NPCisKKwkgICoqIERpZ2l0ZSAgZHcgIHBhcmEgZGVsZXRhciBhdMOpIG8gZmluYWwgZGUgdW1hIHBhbGF2cmEuICoqCisKKworICAxLiBQcmVzc2lvbmUgIDxFU0M+ICBwYXJhIHRlciBjZXJ0ZXphIGRlIHF1ZSBlc3TDoSBubyBtb2RvIE5vcm1hbC4KKworICAyLiBNb3ZhIG8gY3Vyc29yIGF0w6kgYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKworICAzLiBNb3ZhIG8gY3Vyc29yIGF0w6kgbyBjb21lw6dvIGRhIHBhbGF2cmEgcXVlIHByZWNpc2Egc2VyIGRlbGV0YWRhLgorCisgIDQuIERpZ2l0ZSAgZHcgIHBhcmEgZmF6ZXIgYSBwYWxhdnJhIGRlc2FwYXJlY2VyLgorCisgIE5PVEE6IEEgbGV0cmEgIGQgIHZhaSBhcGFyZWNlIG5hIMO6bHRpbWEgbGluaGEgZGEgdGVsYSBlbnF1YW50byB2b2PDqiBhCisJZGlnaXRhLiBPIFZpbSBlc3TDoSBsaGUgZXNwZXJhbmRvIGRpZ2l0YXIgdW0gIHcgLiBTZSB2b2PDqiBkaWdpdG91CisJYWxndW1hIGNvaXNhIGVycmFkYSwgcHJlc3Npb25lIDxFU0M+IGUgY29tZWNlIGRlIG5vdm8uCisKKy0tLT4gVGVtIGEgYWxndW1hcyBvaSBwYWxhdnJhcyBkaXZlcnPDo28gcXVlIG7Do28gcGVydGVuY2VtIHBhcGVsIGEgZXN0YSBzZW50ZW7Dp2EuCisKKyAgNS4gUmVwaXRhIG9zIHBhc3NvcyAzIGFvIDQgYXTDqSBxdWUgYSBzZW50ZW7Dp2EgZXN0ZWphIGNvcnJldGEgZSB2w6EgcGFyYSBhCisgICAgIExpw6fDo28gMi4yLgorCit+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+fn4KKyAgICAgICAgICAgICAgICAgICAgIExpw6fDo28gMi4yOiBNQUlTIENPTUFORE9TIERFIERFTEXDh8ODTworCisgICAgICAgICAgKiogRGlnaXRlICBkJCAgcGFyYSBkZWxldGFyIGF0w6kgbyBmaW5hbCBkYSBsaW5oYS4gKioKKworCisKKyAgMS4gUHJlc3Npb25lIDxFU0M+IHBhcmEgdGVyIGNlcnRlemEgZGUgZXN0YXIgbm8gbW9kbyBOb3JtYWwuCisKKyAgMi4gTW92YSBvIGN1cnNvciBhdMOpIGEgbGluaGEgYWJhaXhvIG1hcmNhZGEgY29tIC0tLT4uCisKKyAgMy4gTW92YSBvIGN1cnNvciBhdMOpIG8gZmltIGRhIGxpbmhhIGNvcnJldGEgKERFUE9JUyBkbyBwcmltZWlybyAgLikuCisKKyAgNC4gRGlnaXRlICBkJCAgcGFyYSBkZWxldGFyIGF0w6kgbyBmaW5hbCBkYSBsaW5oYS4KKworLS0tPiBBbGd1w6ltIGRpZ2l0b3UgbyBmaW5hbCBkZXN0YSBsaW5oYSBkdWFzIHZlemVzLiBkZXN0YSBsaW5oYSBkdWFzIHZlemVzLgorCisgIDUuIFbDoSBwYXJhIGEgbGnDp8OjbyAyLjMgcGFyYSBlbnRlbmRlciBvIHF1ZSBlc3TDoSBhY29udGVjZW5kby4KKworCisKKworCit+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+fn4KKwkJICAgTGnDp8OjbyAyLjM6IFNPQlJFIE9QRVJBRE9SRVMgRSBNT1ZJTUVOVE9TIAorCisgIE11aXRvcyBjb21hbmRvcyBxdWUgbXVkYW0gdGV4dG8gc8OjbyBmZWl0b3MgZGUgdW0gb3BlcmFkb3IgZSB1bSBtb3ZpbWVudG8uCisgIE8gZm9ybWF0byBwYXJhIHVtIGNvbWFuZG8gZGVsZXRhciBjb20gbyBvcGVyYWRvciBkZSBkZWxlw6fDo28gIGQgIHRlbSBhCisgIHNlZ3VpbnRlIGZvcm1hOgorCisgICAgICAgICBkICAgbW92aW1lbnRvCisgIE9uZGU6CisgICAgZCAtIMOpIG8gb3BlcmFkb3IgZGVsZXRhci4KKyAgICBtb3ZpbWVudG8gLSDDqSBjb21vIG8gb3BlcmFkb3IgdmFpIG9wZXJhciAobGlzdGFkbyBhYmFpeG8pLgorCisgIFVtYSBwZXF1ZW5hIGxpc3RhIGRlIHRlY2xhcyBkZSBtb3ZpbWVudG86CisgICAgdyAtIGRvIGN1cnNvciBhdMOpIG8gZmltIGRhIHBhbGF2cmEsIGluY2x1aW5kbyBvIGVzcGHDp28uCisgICAgZSAtIGRvIGN1cnNvciBhdMOpIG8gZmltIGRhIHBhbGF2cmEsIE7Dg08gaW5jbHVpbmRvIG8gZXNwYcOnby4KKyAgICAkIC0gZG8gY3Vyc29yIGF0w6kgbyBmaW0gZGEgbGluaGEuCisKKyAgUG9ydGFudG8sIGRpZ2l0YW5kbyAgZGUgIGlyw6EgZGVsZXRhciBkbyBjdXJzb3IgYW8gZmltIGRhIHBhbGF2cmEuCisKK05PVEE6IFByZXNzaW9uYW5kbyBhcGVuYXMgYSB0ZWNsYSBkZSBtb3ZpbWVudG8gZW5xdWFudG8gZW0gbW9kbyBOb3JtYWwsIHNlbSBvCitvcGVyYWRvciwgaXLDoSBtb3ZlciBvIGN1cnNvciBjb21vIGVzcGVjaWZpY2FkbyBuYSBsaXN0YSBkZSB0ZWNsYXMgZGUKK21vdmltZW50by4KKworfn5+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+CisJICAgICAgIExpw6fDo28gMi40OiBVU0FORE8gVU0gQ09OVEFET1IgUEFSQSBVTSBNT1ZJTUVOVE8KKworICAgICoqIERpZ2l0YW5kbyB1bSBuw7ptZXJvIGFudGVzIGRlIHVtIG1vdmltZW50byByZXBldGUtbyBtdWl0YXMgdmV6ZXMuICoqCisKKworICAgMS4gTW92YSBvIGN1cnNvciBwYXJhIG8gY29tZcOnbyBkYSBsaW5oYSBtYXJjYWRhIGNvbSAtLS0+IGFiYWl4by4KKworICAgMi4gRGlnaXRlICAydyAgcGFyYSBtb3ZlciBvIGN1cnNvciBkdWFzIHBhbGF2cmFzIGFkaWFudGUuCisKKyAgIDMuIERpZ2l0ZSAgM2UgIHBhcmEgbW92ZXIgbyBjdXJzb3IgcGFyYSBvIGZpbSBkYSB0ZXJjZWlyYSBwYWxhdnJhIGFkaWFudGUuCisKKyAgIDQuIERpZ2l0ZSAgMCAgKHplcm8pIHBhcmEgbW92ZXIgcGFyYSBvIGluw61jaW8gZGEgbGluaGEuCisKKyAgIDUuIFJlcGl0YSBvcyBwYXNzb3MgMiBlIDMgY29tIGRpZmVyZW50ZXMgbsO6bWVyb3MuCisKKy0tLT4gRXN0YSDDqSB1bWEgbGluaGEgY29tIGFsZ3VtYXMgcGFsYXZyYXMgcGFyYSBsaGUgcGVybWl0aXIgZmF6ZXIgbW92aW1lbnRvcy4KKworICAgNi4gVsOhIHBhcmEgYSBMacOnw6NvIDIuNS4KKworCisKKworfn5+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+CisJICAgICAgIExpw6fDo28gMi41OiBVU0FORE8gVU0gQ09OVEFET1IgUEFSQSBERUxFVEFSIE1BSVMKKworICAgKiogRGlnaXRhbmRvIHVtIG7Dum1lcm8gY29tIHVtIG9wZXJhZG9yIHJlcGV0ZS1vIGVzc2UgbsO6bWVybyBkZSB2ZXplcy4gKioKKworCisgICBWb2PDqiBkZXZlIGluc2VyaXIgdW0gY29udGFkb3IgZW50cmUgbyBvcGVyYWRvciBkZSBkZWxlw6fDo28gZSBvIG1vdmltZW50bworICAgbWVuY2lvbmFkb3MgYWNpbWEgcGFyYSBwYXJhIGRlbGV0YXIgbWFpczoKKyAgICAgICBkICAgbsO6bWVybyAgIG1vdmltZW50bworCisgICAxLiBNb3ZpbWVudGUgbyBjdXJzb3IgcGFyYSBhIHByaW1laXJhIHBhbGF2cmEgY29tIExFVFJBUyBNQUnDmlNDVUxBUyBuYQorICAgICAgbGluaGEgbWFyY2FkYSBjb20gLS0tPi4KKworICAgMi4gRGlnaXRlICBkMncgIHBhcmEgZGVsZXRhciBhcyBkdWFzIHBhbGF2cmFzIGNvbSBMRVRSQVMgTUFJw5pTQ1VMQVMuCisKKyAgIDMuIFJlcGl0YSBvcyBwYXNzb3MgMSBlIDIgY29tIGRpZmVyZW50ZXMgY29udGFkb3JlcyBwYXJhIGRlbGV0YXIgYXMKKyAgICAgIHBhbGF2cmFzIGRlIExFVFJBUyBNQUnDmlNDVUxBUyBjb20gdW0gY29tYW5kby4KKworLS0tPiAgZXN0YSBBQkMgREUgbGluaGEgRkdISSBKSyBMTU4gT1AgZGUgcGFsYXZyYXMgZXN0w6EgUSBSUyBUVVYgbGltcGEuCisKKworCisKK35+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+fgorCQkgICAgICAgTGnDp8OjbyAyLjY6IE9QRVJBTkRPIFNPQlJFIExJTkhBUworCisJICAgICAgKiogRGlnaXRlICBkZCAgcGFyYSBkZWxldGFyIHVtYSBsaW5oYSBpbnRlaXJhLiAqKgorCisgIEVtIHZpcnR1ZGUgZGEgZnJlcXXDqm5jaWEgZW0gZGVsZXRhciB1bWEgbGluaGEgaW50ZWlyYSwgb3MgcHJvamV0aXN0YXMgZG8gVmkKKyAgZGVjaWRpcmFtIHF1ZSBzZXJpYSBtYWlzIHNpbXBsZXMgZGlnaXRhciBkb2lzIGQncyBudW1hIGxpbmhhIHBhcmEgZGVsZXTDoS1sYS4KKworICAxLiBNb3ZhIG8gY3Vyc29yIGF0w6kgYSBzZWd1bmRhIGxpbmhhIG5hIGxpc3RhIGEgYmFpeG8uCisgIDIuIERpZ2l0ZSAgZGQgIHBhcmEgZGVsZXRhciBhIGxpbmhhLgorICAzLiBBZ29yYSBtb3ZhIGF0w6kgYSBxdWFydGEgbGluaGEuCisgIDQuIERpZ2l0ZSAgMmRkICBwYXJhIGRlbGV0YXIgZHVhcyBsaW5oYXMuCisKKy0tLT4gIDEpICBSb3NhcyBzw6NvIHZlcm1lbGhhcywKKy0tLT4gIDIpICBMYW1hIMOpIGRpdmVydGlkYSwKKy0tLT4gIDMpICBWaW9sZXRhcyBzw6NvIGF6dWlzLAorLS0tPiAgNCkgIEV1IHRlbmhvIHVtIGNhcnJvLAorLS0tPiAgNSkgIFJlbMOzZ2lvcyBkaXplbSBhcyBob3JhcywKKy0tLT4gIDYpICBBw6fDumNhciDDqSBkb2NlLAorLS0tPiAgNykgIEUgYXNzaW0gw6kgdm9jw6ouCisKK05vdGFzIGRvIHRyYWR1dG9yOiBMYW1hIChtdWQpIGVtIGluZ2zDqnMgcG9kZSBzaWduaWZpY2FyIGZvZm9jYSwgZGlmYW1hw6fDo28uCisgICAgICAgICAgICAgICAgICAgSMOhIHJpbWEgbm8gdGV4dG8gb3JpZ2luYWwuCit+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+fn4KKwkJICAgICBMacOnw6NvIDIuNzogTyBDT01BTkRPIFVORE8gKERFU0ZBWkVSKQorCisqKiBQcmVzc2lvbmUgdSBwYXJhIGRlc2ZhemVyIG9zIMO6bHRpbW9zIGNvbWFuZG9zLCBVIHJlc3RhdXJhIGxpbmhhIGludGVpcmEuKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+IGUgcG9zaWNpb25lLW8gc29icmUgbworICAgICBwcmltZWlybyBlcnJvLgorICAyLiBEaWdpdGUgIHggIHBhcmEgZGVsZXRhciBvIHByaW1laXJvIGNhcmFjdGVyZSBpbmRlc2VqYWRvLgorICAzLiBBZ29yYSwgZGlnaXRlICB1ICBwYXJhIGRlc2ZhemVyIG8gw7psdGltbyBjb21hbmRvIGV4ZWN1dGFkby4KKyAgNC4gRGVzdGEgdmV6LCBjb3JyaWphIHRvZG9zIG9zIGVycm9zIG5hIGxpbmhhIHVzYW5kbyBvIGNvbWFuZG8gIHggLgorICA1LiBBZ29yYSwgZGlnaXRlIHVtIFUgbWFpw7pzY3VsbyBwYXJhIHJldG9ybmFyIGEgbGluaGEgYW8gc2V1IGVzdGFkbyBvcmlnaW5hbC4KKyAgNi4gRGlnaXRlICB1ICBhbGd1bWFzIHZlemVzIHBhcmEgZGVzZmF6ZXIgbyAgVSAgZSBvcyBjb21hbmRvcyBhbnRlcmlvcmVzLgorICA3LiBEaWdpdGUgQ1RSTC1SIChzZWd1cmFuZG8gYSB0ZWNsYSBDVFJMIGVucXVhbnRvIGRpZ2l0YSBSKSBhbGd1bWFzIHZlemVzCisgICAgIHBhcmEgcmVmYXplciBvcyBjb21hbmRvcyAoZGVzZmF6ZXIgb3MgdW5kbydzKS4KKworLS0tPiBDb3JyaWlqYSBvcyBlcnJvcyBubmVzdGEgbGluaGEgZSByZWV0b3JuZS1vcyBjb20gdW5kby4KKworICA4LiBFc3NlcyBjb21hbmRvcyBzw6NvIG11aXRvIMO6dGVpcy4gQWdvcmEgdsOhIHBhcmEgbyBzdW3DoXJpbyBkYSBMacOnw6NvIDIuCisKKworCisKK35+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+fgorCQkJICAgICAgU1VNw4FSSU8gREEgTEnDh8ODTyAyCisKKworICAxLiBQYXJhIGRlbGV0YXIgZG8gY3Vyc29yIGF0w6kgbyBmaW0gZGUgdW1hIHBhbGF2cmEgZGlnaXRlOiAgIGR3CisgIDIuIFBhcmEgZGVsZXRhciBkbyBjdXJzb3IgYXTDqSBvIGZpbSBkZSB1bWEgbGluaGEgZGlnaXRlOiAgIGQkCisgIDMuIFBhcmEgZGVsZXRhciB1bWEgbGluaGEgaW50ZWlyYSBkaWdpdGU6ICAgZGQKKyAgNC4gUGFyYSByZXBldGlyIHVtIG1vdmltZW50byBhZGljaW9uZSBhbnRlcyB1bSBuw7ptZXJvOiAgIDJ3CisgIDUuIE8gZm9ybWF0byBwYXJhIHVtIGNvbWFuZG8gbm8gbW9kbyBOb3JtYWwgw6k6CisgICAgICAgICAgIG9wZXJhZG9yICAgW27Dum1lcm9dICAgbW92aW1lbnRvCisgICBvbmRlOgorICAgICAgb3BlcmFkb3IgIC0gw6kgbyBxdWUgc2Vyw6EgZmVpdG8sIGNvbW8gIGQgIHBhcmEgZGVsZXRhcgorICAgICAgbsO6bWVybyAgICAtIMOpIHF1YW50YXMgdmV6ZXMgbyBjb21hbmRvIHNlcsOhIHJlcGV0aWRvCisgICAgICBtb3ZpbWVudG8gLSBtb3ZpbWVudG8gc29icmUgbyB0ZXh0byBxdWUgc29mcmVyw6EgYSBvcGVyYcOnw6NvLCBjb21vCisgICAgICAgICAgICAgICAgICB3IChwYWxhdnJhKSwgJCAoYXTDqSBvIGZpbmFsIGRhIGxpbmhhKSwgZXRjLgorCisgIDUuIFBhcmEgZGVzZmF6ZXIgdW0gYcOnw6NvIGFudGVyaW9yLCBkaWdpdGU6ICAgICAgICAgICAgICAgICAgdSAgKG1pbsO6c2N1bG8pCisgICAgIFBhcmEgZGVzZmF6ZXIgdG9kYXMgYXMgbW9kaWZpY2HDp8O1ZXMgZW0gdW1hIGxpbmhhIGRpZ2l0ZTogVSAobWFpw7pzY3VsbykKKyAgICAgUGFyYSBkZXNmYXplciBvIHF1ZSBmb2kgZGVzZmVpdG8gZGlnaXRlOiAgICAgICAgICAgICAgICAgQ1RSTC1SCisKKworCisKK35+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+fgorCQkJTGnDp8OjbyAzLjE6IE8gQ09NQU5ETyBQVVQgKFDDlFIpCisKKwkqKiBEaWdpdGUgIHAgIHBhcmEgY29sb2NhciBhIMO6bHRpbWEgZGVsZcOnw6NvIGFww7NzIG8gY3Vyc29yLiAqKgorCisKKyAgMS4gTW92YSBvIGN1cnNvciBhdMOpIGEgcHJpbWVpcmEgbGluaGEgbmEgbGlzdGEgYWJhaXhvLgorCisgIDIuIERpZ2l0ZSAgZGQgIHBhcmEgZGVsZXRhciBhIGxpbmhhIGUgZ3VhcmTDoS1sYSBubyBidWZmZXIgZG8gVmltLgorCisgIDMuIE1vdmEgbyBjdXJzb3IgYXTDqSBhIGxpbmhhIEFDSU1BIGRlIG9uZGUgYSBsaW5oYSBkZWxldGFkYSBkZXZlIGZpY2FyLgorCisgIDQuIE5vIG1vZG8gTm9ybWFsLCBkaWdpdGUgIHAgIHBhcmEgaW5zZXJpciBhIGxpbmhhLgorCisgIDUuIFJlcGl0YSBvcyBwYXNzb3MgMiBhbyA0IHBhcmEgcMO0ciB0b2RhcyBhcyBsaW5oYXMgbmEgb3JkZW0gY29ycmV0YS4KKworICAgICBkKSBWb2PDqiBwb2RlIGFwcmVuZGVyIHRhbWLDqW0/CisgICAgIGIpIFZpb2xldGFzIHPDo28gYXp1aXMsCisgICAgIGMpIEludGVsaWfDqm5jaWEgc2UgYXByZW5kZSwKKyAgICAgYSkgUm9zYXMgc8OjbyB2ZXJtZWxoYXMsCisKK05vdGEgZG8gdHJhZHV0b3I6IEjDoSByaW1hIG5vIG9yaWdpbmFsLgorCit+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+fn4KKwkJICBMacOnw6NvIDMuMjogTyBDT01BTkRPIFJFUExBQ0UgKFNVQlNUSVRVSVIpCisKKyAgICAgKiogRGlnaXRlICByeCAgcGFyYSBzdWJzdGl0dWlyIG8gY2FyYWN0ZXJlIHNvYiBvIGN1cnNvciBwb3IgIHggLiAqKiAKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgYXTDqSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIE1vdmEgbyBjdXJzb3IgYXTDqSBxdWUgZWxlIGVzdGVqYSBzb2JyZSBvIHByaW1laXJvIGVycm8uCisKKyAgMy4gRGlnaXRlICByICBlIGVudMOjbyBvIGNhcmFjdGVyZSBxdWUgZGV2ZXJpYSBlc3RhciBsw6EuCisKKyAgNC4gUmVwaXRhIG9zIHBhc3NvcyAyIGUgMyBhdMOpIHF1ZSBhIHByaW1laXJhIGxpbmhhIGVzdGVqYSBjb3JyZXRhLgorCistLS0+IFF1ZW5kbyBlc3RlIGxpbWhhIGZvaSBkdWdpdGFkYSwgYWxndWVtIHByZXNzaW9uaXUgYWxndW1hcyB0ZWNsYXMgZXJyYWR6cyEKKy0tLT4gUXVhbmRvIGVzdGEgbGluaGEgZm9pIGRpZ2l0YWRhLCBhbGd1w6ltIHByZXNzaW9ub3UgYWxndW1hcyB0ZWNsYXMgZXJyYWRhcyEKKworICA1LiBBZ29yYSB2w6EgcGFyYSBhIExpw6fDo28gMy4zLgorCitOT1RBOiBMZW1icmUtc2UgcXVlIHZvY8OqIGRldmUgYXByZW5kZXIgcGVsbyB1c28sIG7Do28gcGVsYSBtZW1vcml6YcOnw6NvLgorCisKKworfn5+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+CisJCSAgICAgTGnDp8OjbyAzLjM6IE8gT1BFUkFET1IgQ0hBTkdFIChNVURBUikKKworCSoqIFBhcmEgbXVkYXIgdG9kYSB1bWEgcGFsYXZyYSBvdSBwYXJ0ZSBkZWxhLCBkaWdpdGUgIGN3IC4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgYXTDqSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorICAKKyAgMi4gUG9zaWNpb25lIG8gY3Vyc29yIHNvYnJlIG8gdSBlbSBsdW5iYS4KKworICAzLiBEaWdpdGUgIGN3ICBlIGEgcGFsYXZyYSBjb3JyZXRhIChuZXNzZSBjYXNvLCBkaWdpdGUgJ2luaGEnLikKKworICA0LiBQcmVzc2lvbmUgPEVTQz4gZSBtb3ZhIHBhcmEgbyBwcsOzeGltbyBjYXJhY3RlcmUgYSBzZXIgYWx0ZXJhZG8uCisKKyAgNS4gUmVwaXRhIG9zIHBhc3NvcyAzIGUgNCBhdMOpIHF1ZSBhIHByaW1laXJhIHNlbnRlbsOnYSBlc3RlamEgaWd1YWwgw6Agc2VndW5kYS4KKworLS0tPiBFc3NhIGx1bmJhIHRlbSBwd2xlc21mciBxdWUgb2NyaW1tbSAgc29pIGFsdGVyYWRhcyBjdXAgbyBjb21hbmRvIGNoYW5nZS4KKy0tLT4gRXNzYSBsaW5oYSB0ZW0gcGFsYXZyYXMgcXVlIHByZWNpc2FtIHNlciBhbHRlcmFkYXMgY29tIG8gY29tYW5kbyBjaGFuZ2UuIAorCitOb3RlIHF1ZSAgY3cgIG7Do28gc29tZW50ZSBzdWJzdGl0dWkgYSBwYWxhdnJhLCBtYXMgdGFtYsOpbSBsaGUgY29sb2NhIG5vIG1vZG8KK2RlIGluc2Vyw6fDo28uCisKKworfn5+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+CisJCSAgICAgIExpw6fDo28gMy40OiBNQUlTIE1VREFOw4dBUyBVU0FORE8gYworCisgICAgICAqKiBPIG9wZXJhZG9yIGNoYW5nZSDDqSB1c2FkbyBjb20gb3MgbWVzbW9zIG9iamV0b3MgcXVlIGRlbGV0ZS4gKioKKworICAxLiBPIG9wZXJhZG9yIGNoYW5nZSB0cmFiYWxoYSBkYSBtZXNtYSBtYW5laXJhIHF1ZSBvIGRlbGV0ZS4gTyBmb3JtYXRvIMOpOgorCisgICAgICAgICAgYyAgICBbbsO6bWVyb10gICAgbW92aW1lbnRvCisKKyAgMi4gT3MgbW92aW1lbnRvcyB0YW1iw6ltIHPDo28gb3MgbWVzbW9zOiB3IChwYWxhdnJhKSwgJCAoZmltIGRhIGxpbmhhKSwgZXRjLgorCisgIDMuIE1vdmEgYXTDqSBhIHByaW1laXJhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDQuIE1vdmEgbyBjdXJzb3IgYXTDqSBvIHByaW1laXJvIGVycm8uCisKKyAgNS4gRGlnaXRlICBjJCAgcGFyYSBmYXplciBvIHJlc3RvIGRhIGxpbmhhIGZpY2FyIGlndWFsIMOgIHNlZ3VuZGEgZSBwcmVzc2lvbmUKKyAgICAgPEVTQz4uCisKKy0tLT4gTyBmaW0gZGVzdGEgbGluaGEgcHJlY2lzYSBkZSBhanVkYSBwYXJhIGZpY2FyIGlndWFsIMOgIHNlZ3VuZGEuCistLS0+IE8gZmltIGRlc3RhIGxpbmhhIHByZWNpc2Egc2VyIGNvcnJpZ2lkbyB1c2FuZG8gbyBjb21hbmRvICBjJC4KKworTk9UQTogVm9jw6ogcG9kZSB1c2FyIGEgdGVjbGEgQmFja3NwYWNlIHBhcmEgY29ycmlnaXIgZXJyb3MgZW5xdWFudG8gZGlnaXRhLgorCit+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+fn4KKwkJCSAgICAgIFNVTcOBUklPIERBIExJw4fDg08gMworCisKKyAgMS4gUGFyYSBpbnNlcmlyIHVtIHRleHRvIHF1ZSBqw6EgZm9pIGRlbGV0YWRvLCBkaWdpdGUgIHAgLiBJc3NvIGNvbG9jYSBvIHRleHRvCisgICAgIGRlbGV0YWRvIEFQw5NTIG8gY3Vyc29yIChzZSB1bWEgbGluaGEgw6kgZGVsZXRhZGEgZWxhIHNlcsOhIGluc2VyaWRhIG5hIGxpbmhhCisgICAgIGFiYWl4byBkbyBjdXJzb3IpLgorCisgIDIuIFBhcmEgc3Vic3RpdHVpciBvIGNhcmFjdGVyZSBzb2IgbyBjdXJzb3IsIGRpZ2l0ZSAgciAgZSBlbnTDo28gbyBjYXJhY3RlcmUKKyAgICAgcXVlIGlyw6Egc3Vic3RpdHVpciBvIG9yaWdpbmFsLgorCisgIDMuIE8gY29tYW5kbyBjaGFuZ2UgcG9zc2liaWxpdGEgbXVkYXIgZG8gY3Vyc29yIGF0w6kgb25kZSBvIG1vdmltZW50byBmb3IuCisgICAgIEV4OiBEaWdpdGUgIGN3ICBwYXJhIG11ZGFyIGRvIGN1cnNvciBhdMOpIG8gZmltIGRlIHVtYSBwYWxhdnJhLCBjJCBwYXJhCisgICAgIG11ZGFyIGF0w6kgbyBmaW0gZGEgbGluaGEuCisKKyAgNC4gTyBmb3JtYXRvIHBhcmEgdW1hIG9wZXJhw6fDo28gY2hhbmdlIMOpOgorCisgICAgICAgICBjICAgW27Dum1lcm9dICAgbW92aW1lbnRvCisKK0Fnb3JhIHbDoSBwYXJhIGEgcHLDs3hpbWEgbGnDp8Ojby4KKworCisKK35+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+fgorCSAgICAgTGnDp8OjbyA0LjE6IExPQ0FMSVpBw4fDg08gRE8gQ1VSU09SIEUgU1RBVFVTIERPIEFSUVVJVk8KKworICAgICoqIERpZ2l0ZSBDVFJMLUcgcGFyYSBtb3N0cmFyIHN1YSBsb2NhbGl6YcOnw6NvIG5vIGFycXVpdm8gZSBzZXUgc3RhdHVzLgorICAgICAgIERpZ2l0ZSAgRyAgcGFyYSBtb3ZlciBwYXJhIHVtYSBsaW5oYSBkbyBhcnF1aXZvLiAgKioKKworICBOb3RhOiBMZWlhIGVzdGEgbGnDp8OjbyBpbnRlaXJhIGFudGVzIGRlIGV4ZWN1dGFyIHF1YWxxdWVyIHVtIGRvcyBwYXNzb3MhIQorCisgIDEuIFNlZ3VyZSBwcmVzc2lvbmFkYSBhIHRlY2xhIEN0cmwgZSBwcmVzc2lvbmUgIGcgLiBOw7NzIGNoYW1hbW9zIGlzc28gZGUKKyAgICAgQ1RSTC1HLiBVbWEgbWVuc2FnZW0gYXBhcmVjZXLDoSBubyByb2RhcMOpIGRhIHDDoWdpbmEgY29tIG8gbm9tZSBkbyBhcnF1aXZvCisgICAgIGUgYSBzdWEgcG9zacOnw6NvIG5vIGFycXVpdm8uIExlbWJyZS1zZSBkbyBuw7ptZXJvIGRhIGxpbmhhIHBhcmEgbyBQYXNzbyAzLgorCitOT1RBOiAgQSBwb3Npw6fDo28gZG8gY3Vyc29yIHBvZGUgZXN0YXIgdmlzw612ZWwgbm8gY2FudG8gZGlyZWl0byBpbmZlcmlvciBkYQorICAgICAgIHRlbGEuIElzc28gYWNvbnRlY2UgcXVhbmRvIGEgb3DDp8OjbyAncnVsZXInIGVzdMOhIGF0aXZhCisgICAgICAgKHZlamEgIDpoZWxwICdydWxlcicgKS4KKworICAyLiBQcmVzc2lvbmUgIEcgIHBhcmEgbW92ZXIgcGFyYSBvIGZpbmFsIGRvIGFycXVpdm8uCisgICAgIERpZ2l0ZSAgZ2cgIHBhcmEgbW92ZXIgcGFyYSBvIGluw61jaW8gZG8gYXJxdWl2by4KKworICAzLiBEaWdpdGUgbyBuw7ptZXJvIGRhIGxpbmhhIGVtIHF1ZSB2b2PDqiBlc3RhdmEgZSBlbnTDo28gRyAuIElzdG8KKyAgICAgcmV0b3JuYXLDoSBvIGN1cnNvciDDoCBsaW5oYSBlbSBxdWUgdm9jw6ogZXN0YXZhIHF1YW5kbyBwcmVzc2lvbm91IENUUkwtRy4KKworICA0LiBTZSB2b2PDqiBlc3RpdmVyIGNvbmZpYW50ZSBwYXJhIGZhemVyIGlzdG8sIGV4ZWN1dGUgb3MgcGFzc29zIDEgYW8gMy4KK35+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+fgorICAgICAgICAgICAgICAgICAgICAgICBMacOnw6NvIDQuMjogTyBDT01BTkRPIFNFQVJDSCAoUFJPQ1VSQSkKKworICAgICAgKiogRGlnaXRlICAvICBzZWd1aWRvIHBvciB1bWEgc3RyaW5nIHBhcmEgcHJvY3VyYXIgcGVsYSBzdHJpbmcuICoqCisKKyAgMS4gTm8gbW9kbyBOb3JtYWwgZGlnaXRlIG8gY2FyYWN0ZXJlICAvIC4gTm90ZSBxdWUgZWxlIGUgbyBjdXJzb3IgYXBhcmVjZW0KKyAgICAgbm8gcm9kYXDDqSBkYSB0ZWxhLCBjb21vIG9jb3JyZSBjb20gbyBjb21hbmRvICA6IC4KKworICAyLiBBZ29yYSBkaWdpdGUgJ2VycnJvbycgPEVOVEVSPi4gRXN0YSDDqSBhIHBhbGF2cmEgcXVlIHZvY8OqIHF1ZXIgcHJvY3VyYXIuCisKKyAgMy4gUGFyYSBwcm9jdXJhciBwZWxhIG1lc21hIHBhbGF2cmEgZGUgbm92bywgc2ltcGxlc21lbnRlIHRlY2xlICBuIC4KKyAgICAgUGFyYSBwcm9jdXJhciBwZWxhIG1lc21hIHBhbGF2cmEgbmEgZGlyZcOnw6NvIG9wb3N0YSwgdGVjbGUgIE4gLgorCisgIDQuIFNlIHZvY8OqIHF1ZXIgcHJvY3VyYXIgcG9yIHVtYSBzdHJpbmcgbm8gc2VudGlkbyBkZSBmcmVudGUgcGFyYSB0csOhcywgdXNlCisgICAgID8gIGVtIHZleiBkZSAgLyAuCisKKyAgNS4gUGFyYSB2b2x0YXIgcGFyYSBvbmRlIGVzdGF2YSwgcHJlc3Npb25lIENUUkwtTyAobWFudGVuaGEgYSB0ZWNsYSBDdHJsCisgICAgIHByZXNzaW9uYWRhIGUgcHJlc3Npb25lIGEgdGVjbGEgbykuIFJlcGl0YSBwYXJhIHZvbHRhciBvdXRyYXMgcG9zacOnw7Vlcy4KKyAgICAgQ1RSTC1JIHNlZ3VlIHBhcmEgcG9zacOnw7VlcyBtYWlzIHJlY2VudGVzLgorCistLS0+ICAiZXJycm9vIiBuw6NvIMOpIHVtYSBtYW5laXJhIGRlIGVzY3JldmVyIGVycm87ICBlcnJyb28gw6kgdW0gZXJyby4KK05PVEE6IFF1YW5kbyBhIGJ1c2NhIGF0aW5nZSBvIGZpbmFsIGRvIGFycXVpdm8gZWxhIGNvbnRpbnVhcsOhIGRvIGNvbWXDp28sIGEKKyAgICAgIG1lbm9zIHF1ZSBhIG9ww6fDo28gJ3dyYXBzY2FuJyBlc3RlamEgZGVzYXRpdmFkYS4KK35+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+fgorCQlMacOnw6NvIDQuMzogUFJPQ1VSQSBQT1IgQ0FTQU1FTlRPIERFIFBBUsOKTlRFU0VTCisKKwkgICAqKiBEaWdpdGUgICUgIHBhcmEgYWNoYXIgdW0gY2FzYW1lbnRvIGRlICksXSwgb3UgfSAuICoqCisKKworICAxLiBQb3NpY2lvbmUgbyBjdXJzb3IgZW0gcXVhbHF1ZXIgKCwgWywgb3UgeyBuYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKyAgCisgIDIuIEFnb3JhIGRpZ2l0ZSBvIGNhcmFjdGVyZSAgJSAuCisgIAorICAzLiBPIGN1cnNvciBkZXZlIGVzdGFyIG5vIHBhcsOqbnRlc2VzIG91IGNvbGNoZXRlcyBxdWUgY2FzYSBjb20gbyBwcmltZWlyby4KKworICA0LiBEaWdpdGUgICUgIHBhcmEgbW92ZXIgbyBjdXJzb3IgZGUgdm9sdGEgYW8gcHJpbWVpcm8gY29sY2hldGUgb3UgcGFyw6pudGVzZXMKKyAgICAgKHBvciBjYXNhbWVudG8pLgorCistLS0+IElzdG8gKCDDqSB1bWEgbGluaGEgZGUgdGVzdGUgY29udGVuZG8gKCdzLCBbJ3MgXSBlIHsncyB9LiApKQorCitOb3RhOiBJc3NvIMOpIG11aXRvIMO6dGlsIHBhcmEgY29ycmlnaXIgdW0gcHJvZ3JhbWEgY29tIHBhcsOqbnRlc2VzIG7Do28tY2FzYWRvcyEKKworCisKKworCit+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+fn4KKwkJICAgICAgIExpw6fDo28gNC40OiBPIENPTUFORE8gU1VCU1RJVFVJUgorCisgICAgICAqKiBEaWdpdGUgIDpzL3ZlbGhvL25vdm8vZyAgcGFyYSBzdWJzdGl0dWlyICd2ZWxobycgcG9yICdub3ZvJy4gKioKKworCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBhIGxpbmhhIGFiYWl4byBtYXJjYWRhIGNvbSAtLS0+LgorCisgIDIuIERpZ2l0ZSAgOi9zL2FhL2EgPEVOVEVSPiAuIE5vdGUgcXVlIGVzdGUgY29tYW5kbyBzb21lbnRlIG11ZGEgYSAKKyAgICAgcHJpbWVpcmEgb2NvcnLDqm5jaWEgbmEgbGluaGEuCisKKyAgMy4gQWdvcmEgZGlnaXRlICA6cy9hYS9hL2cgICBzaWduaWZpY2FuZG8gc3Vic3RpdHVpciBnbG9iYWxtZW50ZSBuYSBsaW5oYS4KKyAgICAgSXN0byBtdWRhIHRvZGFzIGFzIG9jb3Jyw6puY2lhcyBuYSBsaW5oYS4KKworLS0tPiBhYSBtZWxob3Igw6lwb2NhIHBhcmEgdmVyIGFhcyBmbG9yZXMgw6kgYWEgcHJpbWF2ZXJhLiAKKworICA0LiBQYXJhIG11ZGFyIHRvZGEgb2NvcnLDqm5jaWEgZGUgdW1hIHN0cmluZyBlbnRyZSBkdWFzIGxpbmhhcywKKyAgICAgZGlnaXRlICA6Iywjcy92ZWxoby9ub3ZvL2cgICBvbmRlICMsIyBzw6NvIG9zIG7Dum1lcm9zIGRhcyBkdWFzIGxpbmhhcy4KKyAgICAgRGlnaXRlICA6JXMvdmVsaG8vbm92by9nICAgICBwYXJhIG11ZGFyIHRvZGFzIGFzIG9jb3Jyw6puY2lhcyBubyBhcnF1aXZvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZWlyby4KKyAgICAgRGlnaXRlICA6JS92ZWxoby9ub3ZvL2djICAgICBwYXJhIG11ZGFyIHRvZGFzIGFzIG9jb3Jyw6puY2lhIG5vIGFycXVpdm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlaXJvLCBjb20gYSBvcMOnw6NvIGRlIGNvbmZpcm1hciBjYWRhCisJCQkJICBzdWJzdGl0dWnDp8Ojby4KK35+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+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVTcOBUklPIERBIExJw4fDg08gNAorICAxLiAgICBDVFJMLUcgIG1vc3RyYSBhIHN1YSBsb2NhbGl6YcOnw6NvIG5vIGFycXVpdm8gZSBvIHN0YXR1cyBkbyBtZXNtby4KKyAgICAgICAgICAgICBHICBtb3ZlIHBhcmEgbyBmaW5hbCBkbyBhcnF1aXZvLgorICAgICBuw7ptZXJvICBHICBtb3ZlIHBhcmEgZXN0YSBsaW5oYSBjb20gZXNzZSBuw7ptZXJvLgorICAgICAgICAgICAgZ2cgIG1vdmUgcGFyYSBhIHByaW1laXJhIGxpbmhhLgorCisgIDIuIERpZ2l0YW5kbyAgLyAgc2VndWlkbyBwb3IgdW1hIGV4cHJlc3PDo28gcHJvY3VyYSDDgCBGUkVOVEUgcG9yIGVsYS4KKyAgICAgRGlnaXRhbmRvICA/ICBzZWd1aWRvIHBvciB1bWEgZXhwcmVzc8OjbyBwcm9jdXJhIHBlbGEgZXhwcmVzc8OjbyBkZSBUUsOBUworICAgICBQQVJBIEZSRU5URS4KKyAgICAgQXDDs3MgdW1hIGJ1c2NhLCBkaWdpdGUgbiBwYXJhIGFjaGFyIGEgcHLDs3hpbWEgb2NvcnLDqm5jaWEgbmEgbWVzbWEgZGlyZcOnw6NvCisgICAgIG91IE4gcGFyYSBwcm9jdXJhciBuYSBkaXJlw6fDo28gb3Bvc3RhLgorICAgICBDVFJMLU8gbGV2YSBhIHBvc2nDp8O1ZXMgYW50aWdhcyBlIENUUkwtSSBhIHBvc2nDp8O1ZXMgbWFpcyByZWNlbnRlcy4KKworICAzLiBEaWdpdGFuZG8gICUgIGVucXVhbnRvIG8gY3Vyc29yIGVzdMOhIHNvYnJlIHVtICgsKSxbLF0seywgb3UgfSBsb2NhbGl6YQorICAgICBvIHBhciBxdWUgY2FzYSBjb20gZWxlLgorCisgIDQuIFBhcmEgc3Vic3RpdHVpcjoKKyAgICAgICBvIHByaW1laXJvICd2ZWxobycgZGUgdW1hIGxpbmhhIHBvciAnbm92bycgZGlnaXRlICAgOnMvdmVsaG8vbm92bworICAgICAgIHRvZG9zIG9zICd2ZWxobydzIGVtIHVtYSBsaW5oYSBwb3IgJ25vdm8nIGRpZ2l0ZSAgICA6cy92ZWxoby9ub3ZvL2cKKyAgICAgICBleHByZXNzw7VlcyBlbnRyZSBkb2lzIG7Dum1lcm9zICgjKSBkZSBsaW5oYXMgZGlnaXRlICA6Iywjcy92ZWxoby9ub3ZvCisgICAgICAgdG9kYXMgYXMgb2NvcnLDqm5jaWFzIG5vIGFycXVpdm8gZGlnaXRlICAgICAgICAgICAgICA6JXMvdmVsaG8vbm92by9nCisgICAgIFBhcmEgY29uZmlybWFyIGNhZGEgc3Vic3RpdHVpw6fDo28gYWRpY2lvbmUgJ2MnICAgICAgICAgOiVzL3ZlbGhvL25vdm8vZ2MKK35+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+fn4KKwkJIExpw6fDo28gNS4xOiBDT01PIEVYRUNVVEFSIFVNIENPTUFORE8gRVhURVJOTworCisKKyAqKiBEaWdpdGUgIDohICBzZWd1aWRvIHBvciB1bSBjb21hbmRvIGV4dGVybm8gcGFyYSBleGVjdXRhciBlc3NlIGNvbWFuZG8uICoqCisKKyAgMS4gRGlnaXRlIG8gZmFtaWxpYXIgY29tYW5kbyAgOiAgcGFyYSBsZXZhciBvIGN1cnNvciBhbyByb2RhcMOpIGRhIHRlbGEuIElzc28KKyAgICAgbGhlIHBlcm1pdGUgZW50cmFyIHVtIGNvbWFuZG8uCisKKyAgMi4gQWdvcmEgZGlnaXRlIG8gY2FyYWN0ZXJlICAhICAocG9udG8gZGUgZXhjbGFtYcOnw6NvKS4gSXNzbyBsaGUgcGVybWl0ZQorICAgICBleGVjdXRhciBxdWFscXVlciBjb21hbmRvIGRvIHNoZWxsLgorCisgIDMuIENvbW8gdW0gZXhlbXBsbyBkaWdpdGUgIGxzICBzZWd1aW5kbyBvICAhICBlIGVudMOjbyB0ZWNsZSA8RU5URVI+LiBJc3RvCisgICAgIGlyw6EgbW9zdHJhciB1bWEgbGlzdGFnZW0gZG8gc2V1IGRpcmV0w7NyaW8sIGNvbW8gc2Ugdm9jw6ogZXN0aXZlc3NlIG5vCisgICAgIHByb21wdCBkbyBzaGVsbC4gT3UgdXNlICA6IWRpciBzZSBscyBuw6NvIGZ1bmNpb25hci4KKworTk9UQTogIMOJIHBvc3PDrXZlbCBleGVjdXRhciBxdWFscXVlciBjb21hbmRvIGV4dGVybm8gZGVzc2EgbWFuZWlyYSwgaW5jbHVzaXZlCisgICAgICAgY29tIGFyZ3VtZW50b3MuCisKK05PVEE6ICBUb2RvcyBvcyBjb21hbmRvcyAgOiAgZGV2ZW0gc2VyIGZpbmFsaXphZG9zIHRlY2xhbmRvLXNlIDxFTlRFUj4KKyAgICAgICBEYXF1aSBlbSBkaWFudGUgbsOjbyBpcmVtb3MgbWVuY2lvbmFyIGlzc28gc2VtcHJlLgorCisKK35+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+fn4KKwkJICAgIExpw6fDo28gNS4yOiBNQUlTIFNPQlJFIFNBTFZBUiBBUlFVSVZPUworCisgICAgICoqIFBhcmEgc2FsdmFyIGFzIGFsdGVyYcOnw7VlcyBubyB0ZXh0bywgZGlnaXRlICA6dyBOT01FRE9BUlFVSVZPLiAqKgorCisKKyAgMS4gRGlnaXRlICA6IWRpciAgb3UgIDohbHMgcGFyYSB0ZXIgdW1hIGxpc3RhZ2VtIGRlIHNldSBkaXJldMOzcmlvLgorICAgICBWb2PDqiBqw6EgZGV2ZSBzYWJlciBxdWUgcHJlY2lzYSB0ZWNsYXIgPEVOVEVSPiBkZXBvaXMgZGlzc28uCisKKyAgMi4gRXNjb2xoYSB1bSBub21lIGRlIGFycXVpdm8gcXVlIGFpbmRhIG7Do28gZXhpc3RhLCBjb21vIFRFU1RFLgorCisgIDMuIEFnb3JhIGRpZ2l0ZTogICA6dyBURVNURSAgKG9uZGUgVEVTVEUgw6kgbyBub21lIHF1ZSB2b2PDqiBlc2NvbGhldS4pCisKKyAgNC4gSXN0byBzYWx2YSBvIGFycXVpdm8gaW50ZWlybyAgKG8gVmltIFR1dG9yKSBjb20gbyBub21lIFRFU1RFLgorICAgICBQYXJhIHZlcmlmaWNhciBpc3NvLCBkaWdpdGUgIDohbHMgZGUgbm92byBwYXJhIHZlciBzZXUgZGlyZXTDs3JpbworCitOT1RBOiBTZSB2b2PDqiBzYWlyIGRvIFZpbSBlIGVudHJhciBkZSBub3ZvIGNvbSBvIG5vbWUgZG8gYXJxdWl2byBURVNURSwKKyAgICAgIG8gYXJxdWl2byBkZXZlIHNlciB1bWEgY8OzcGlhIGV4YXRhIGRvIHR1dG9yIHF1YW5kbyB2b2PDqiBvIHNhbHZvdS4KKworICA1LiBBZ29yYSByZW1vdmEgbyBhcnF1aXZvIGRpZ2l0YW5kbyAoTVMtRE9TKTogICAgIDohZGVsIFRFU1RFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91IChVbml4KTogICAgICAgOiFybSBURVNURQorCisKK35+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+fgorCQkgTGnDp8OjbyA1LjM6IFNFTEVDSU9OQU5ETyBPIFRFWFRPIEEgU0VSIFNBTFZPCisKKyAgKiogUGFyYSBzYWx2YXIgcGFydGUgZGUgdW0gYXJxdWl2bywgZGlnaXRlICB2ICBtb3ZpbWVudG8gTk9NRURPQVJRVUlWTyAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3IgcGFyYSBlc3RhIGxpbmhhLgorCisgIDIuIFByZXNzaW9uZSAgdiAgZSBtb3ZhIG8gY3Vyc29yIHBhcmEgbyBxdWludG8gaXRlbSBhYmFpeG8uIE5vdGUgcXVlIG8gdGV4dG8KKyAgICAgw6kgcmVhbMOnYWRvLgorCisgIDMuIFByZXNzaW9uZSBvIGNhcmFjdGVyZSAgOiAgZSBub3RlIHF1ZSBhcGFyZWNlcsOhICA6JzwsJz4gIG5vIGxhZG8gaW5mZXJpb3IKKyAgICAgZGEgdGVsYS4KKworICA0LiBEaWdpdGUgIHcgVEVTVEUgLCBzZW5kbyBURVNURSB1bSBub21lIGRlIGFycXVpdm8gcXVlIG7Do28gZXhpc3RlIGFpbmRhLgorICAgICBWb2PDqiBkZXZlcsOhIHZlciAgOic8LCc+dyBURVNURSAgYW50ZXMgZGUgcHJlc3Npb25hciA8RU5URVI+LgorCisgIDUuIE8gVmltIHNhbHZhcsOhIGFzIGxpbmhhcyBzZWxlY2lvbmFkYXMgbm8gYXJxdWl2byBURVNURS4gVXNlICA6IWRpciAgb3UKKyAgICAgITpscyBwYXJhIHbDqi1sby4gTsOjbyBvIGFwYWd1ZSBhZ29yYSEgTsOzcyBvIHVzYXJlbW9zIG5hIHByw7N4aW1hIGxpw6fDo28uCisKK05PVEE6ICBQcmVzc2lvbmFuZG8gIHYgIGluaWNpYSBvIG1vZG8gVmlzdWFsIGRlIHNlbGXDp8Ojby4gIFZvY8OqIHBvZGUgbW92ZXIgbworY3Vyc29yIHBlbGEgdGVsYSBwYXJhIHRvcm5hciBhIHNlbGXDp8OjbyBtYWlvciBvdSBtZW5vci4gUG9kZSwgZW50w6NvLCB1c2FyIHVtCitvcGVyYWRvciBwYXJhIGV4ZWN1dGFyIGFsZ3VtYSBhw6fDo28uIFBvciBleGVtcGxvLCAgZCAgZGVsZXRhIG8gdGV4dG8uCisKK35+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+fgorCQkgIExpw6fDo28gNS40OiBSRUNVUEVSQU5ETyBFIEpVTlRBTkRPIEFSUVVJVk9TCisKKyAgICAqKiBQYXJhIGluc2VyaXIgbyBjb250ZcO6ZG8gZGUgdW0gYXJxdWl2bywgZGlnaXRlICA6ciBOT01FRE9BUlFVSVZPICoqCisKKworICAxLiBQb3NpY2lvbmUgbyBjdXJzb3IgbG9nbyBhY2ltYSBkZXN0YSBsaW5oYS4KKworTk9UQTogIERlcG9pcyBkZSBleGVjdXRhciBvIFBhc3NvIDIgdm9jw6ogdmVyw6EgYSBsacOnw6NvIDUuMy4gRW50w6NvIERFU8OHQSBvCisgICAgICAgY3Vyc29yIHBhcmEgdmVyIGVzdGEgbGnDp8OjbyBub3ZhbWVudGUuCisKKyAgMi4gQWdvcmEgcmVjdXBlcmUgbyBhcnF1aXZvIFRFU1RFIHVzYW5kbyBvIGNvbWFuZG8gIDpyIFRFU1RFICBvbmRlIFRFU1RFIMOpIG8KKyAgICAgbm9tZSBkbyBhcnF1aXZvLgorICAgICBPIGFycXVpdm8gcmVjdXBlcmFkbyDDqSBjb2xvY2FkbyBhYmFpeG8gZGEgbGluaGEgYXR1YWwgZG8gY3Vyc29yLgorCisgIDMuIFBhcmEgdmVyaWZpY2FyIHF1ZSBvIGFycXVpdm8gZm9pIHJlY3VwZXJhZG8sIHZvbHRlIGNvbSBvIGN1cnNvciBlIHZlcmlmaXF1ZQorICAgICBxdWUgYWdvcmEgZXhpc3RlbSBkdWFzIGPDs3BpYXMgZGEgTGnDp8OjbyA1LjMsIGEgb3JpZ2luYWwgZSBhIHZlcnPDo28gZG8gCisgICAgIGFycXVpdm8uCisKK05PVEE6IFZvY8OqIHRhbWLDqW0gcG9kZSBsZXIgYSBzYcOtZGEgZGUgdW0gY29tYW5kbyBleHRlcm5vLiBQb3IgZXhlbXBsbywgIDpyICFscworICAgICAgbMOqIGEgc2HDrWRhIGRvIGNvbWFuZG8gbHMgZSBjb2xvY2EgbyByZXN1bHRhZG8gYWJhaXhvIGRvIGN1cnNvci4KKworCit+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+fn4KKwkJCSAgICAgIFNVTcOBUklPIERBIExJw4fDg08gNSAKKworCisgIDEuICA6IWNvbWFuZG8gIGV4ZWN1dGEgdW0gY29tYW5kbyBleHRlcm5vLgorCisgICAgICBBbGd1bnMgZXhlbXBsb3Mgw7p0ZWlzIHPDo286CisgICAgICAgICAoTVMtRE9TKSAgICAgICAgIChVTklYKQorCSAgOiFkaXIgICAgICAgICAgICA6IWxzICAgICAgICAgIC0gIGxpc3RhIGNvbnRlw7pkbyBkbyBkaXJldMOzcmlvLgorICAgICAgICAgIDohZGVsIEFSUVVJVk8gICAgOiFybSBBUlFVSVZPICAtICByZW1vdmUgQVJRVUlWTy4KKworICAyLiA6dyBBUlFVSVZPICBzYWx2YSBvIGF0dWFsIGFycXVpdm8gZG8gVmltIHBhcmEgbyBkaXNjbyBjb20gbyBub21lIEFSUVVJVk8uCisKKyAgMy4gdiAgbW92aW1lbnRvICA6dyBBUlFVSVZPICBzYWx2YSBhcyBsaW5oYXMgVmlzdWFsbWVudGUgc2VsZWNpb25hZGFzIGVtCisgICAgIEFSUVVJVk8uCisKKyAgNC4gOnIgQVJRVUlWTyAgcmVjdXBlcmEgQVJRVUlWTyBkbyBkaXNjbyBlIG8gaW5zZXJlIGRlbnRybyBkbyBhcnF1aXZvIGF0dWFsCisgICAgIG5hIHBvc2nDp8OjbyBkbyBjdXJzb3IuCisKKyAgNS4gOnIgIWRpciAgbMOqIGEgc2HDrWRhIGRvIGNvbWFuZG8gZGlyIGUgY29sb2NhIG8gcmVzdWx0YWRvIGFiYWl4byBkYSBwb3Npw6fDo28KKyAgICAgYXR1YWwgZG8gY3Vyc29yLgorCisKK35+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+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgIExpw6fDo28gNi4xOiBPIENPTUFORE8gT1BFTiAoQUJSSVIpCisKKyAgICoqIERpZ2l0ZSAgbyAgcGFyYSBhYnJpciB1bWEgbGluaGEgZW1iYWl4byBkbyBjdXJzb3IgZSBpciBwYXJhIG8gbW9kbyBkZQorICAgICAgSW5zZXLDp8OjbyAoSU5TRVJUKS4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIHBhcmEgYSBsaW5oYSBhYmFpeG8gbWFyY2FkYSBjb20gLS0tPi4KKworICAyLiBEaWdpdGUgIG8gKG1pbsO6c2N1bG8pIHBhcmEgYWJyaXIgdW1hIGxpbmhhIEFCQUlYTyBkbyBjdXJzb3IgZSBpciBwYXJhIG8KKyAgICAgbW9kbyBkZSBJbnNlcsOnw6NvIChJTlNFUlQpLgorCisgIDMuIEFnb3JhIGRpZ2l0ZSBhbGd1bSB0ZXh0byBlIHByZXNzaW9uZSA8RVNDPiBwYXJhIHNhaXIgZG8gbW9kbyBkZQorICAgICBJbnNlcsOnw6NvLgorCistLS0+IEFww7NzIHRlY2xhciAgbyAgbyBjdXJzb3Igw6kgY29sb2NhZG8gbmEgbGluaGEgYWJlcnRhIG5vIG1vZG8gZGUgSW5zZXLDp8Ojby4KKworICA0LiBQYXJhIGFicmlyIHVtYSBsaW5oYSBBQ0lNQSBkbyBjdXJzb3IsIHNpbXBsZXNtZW50ZSB0ZWNsZSB1bSAgTyAgbWFpw7pzY3VsbywKKyAgICAgZW0gdmV6IGRlIHVtICBvICBtaW7DunNjdWxvLiBUZW50ZSBpc3NvIG5hIGxpbmhhIGFiYWl4by4KKworLS0tPiBBYnJhIHVtYSBsaW5oYSBhY2ltYSBkZXN0YSB0ZWNsYW5kbyBPIGVucXVhbnRvIG8gY3Vyc29yIGVzdMOhIG5lc3RhIGxpbmhhLgorCisKKworfn5+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+fgorCQkJIExpw6fDo28gNi4yOiBPIENPTUFORE8gQVBQRU5ECisKKwkgICAgKiogRGlnaXRlICBhICBwYXJhIGluc2VyaXIgdGV4dG8gREVQT0lTIGRvIGN1cnNvci4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIHBhcmEgbyBpbsOtY2lvIGRhIGxpbmhhIG1hcmNhZGEgY29tIC0tLT4gLgorCisgIDIuIFByZXNzaW9uZSAgZSAgYXTDqSBvIGN1cnNvciBmaWNhciBzb2JyZSBvIGZpbmFsIGRlIGxpIC4KKworICAzLiBEaWdpdGUgdW0gIGEgIChtaW7DunNjdWxvKSBwYXJhIGFkaWNpb25hciB0ZXh0byBERVBPSVMgZG8gY2FyYWN0ZXJlIHNvYiBvCisgICAgIGN1cnNvci4KKworICA0LiBDb21wbGV0ZSBhIHBhbGF2cmEgY29uZm9ybWUgYSBsaW5oYSBhYmFpeG8uIFByZXNzaW9uZSA8RVNDPiBwYXJhIHNhaXIgZG8KKyAgICAgbW9kbyBkZSBJbnNlcsOnw6NvLgorCisgIDUuIFVzZSAgZSAgcGFyYSBtb3ZlciBwYXJhIGEgcHLDs3hpbWEgcGFsYXZyYSBpbmNvbXBsZXRhICByZXBpdGEgb3MgcGFzc29zIDMKKyAgICAgZSA0LgorCistLS0+IEVzdGEgbGluIGxoZSBwZXJtaXRlIHByYXRpYyBhIGFkacOnIGRlIHRleHRvIGEgdW1hIGxpbmhhLgorLS0tPiBFc3RhIGxpbmhhIGxoZSBwZXJtaXRlIHByYXRpY2FyIGEgYWRpw6fDo28gZGUgdGV4dG8gYSB1bWEgbGluaGEuCisKK05PVEE6IGEsIGkgZSBBIGxldmFtIGFvIG1lc21vIG1vZG8gZGUgSW5zZXLDp8OjbywgYSDDum5pY2EgZGlmZXJlbsOnYSDDqSBvbmRlIG9zCisgICAgICBjYXJhY3RlcmVzIHPDo28gaW5zZXJpZG9zLgorfn5+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+fgorCSAgICAgTGnDp8OjbyA2LjM6IFVNQSBPVVRSQSBWRVJTw4NPIERPIFJFUExBQ0UgKFNVQlNUSVRVSVIpCisKKyAgICAgICoqIERpZ2l0ZSB1bSBSIG1hacO6c2N1bG8gcGFyYSBzdWJzdGl0dWlyIG1haXMgZGUgdW0gY2FyYWN0ZXJlLiAqKgorCisKKyAgMS4gTW92YSBvIGN1cnNvciBwYXJhIGEgcHJpbWVpcmEgbGluaGEgYWJhaXhvIG1hcmNhZGEgY29tIC0tLT4uIE1vdmEgbworICAgICBjdXJzb3IgcGFyYSBvIGluw61jaW8gZG8gcHJpbWVpcm8gIHh4eCAuCisgIAorICAyLiBBZ29yYSBwcmVzc2lvbmUgIFIgIGUgZGlnaXRlIG9zIG7Dum1lcm9zIHF1ZSBlc3TDo28gYWJhaXhvIGRlbGUsIG5hIHNlZ3VuZGEKKyAgICAgbGluaGEsIHBhcmEgc3Vic3RpdHVpciBvICB4eHggLgorCisgIDMuIFByZXNzaW9uZSA8RVNDPiBwYXJhIHNhaXIgZG8gbW9kbyBkZSBTdWJzdGl0dWnDp8Ojby4gTm90ZSBxdWUgbyByZXN0byBkYQorICAgICBsaW5oYSBwZXJtYW5lY2UgaW5hbHRlcmFkYS4KKworICA0LiBSZXBpdGEgb3MgcGFzc29zIHBhcmEgc3Vic3RpdHVpciBvcyAgeHh4ICByZXN0YW50ZXMuCisKKy0tLT4gIEFkaWNpb25hbmRvIDEyMyBhIHh4eCByZXN1bHRhIGVtIHh4eC4KKy0tLT4gIEFkaWNpb25hbmRvIDEyMyBhIDQ1NiByZXN1bHRhIGVtIDU3OS4KKworTk9UQTogIE8gbW9kbyBkZSBTdWJzdGl0dWnDp8OjbyDDqSBjb21vIG8gbW9kbyBkZSBJbnNlcsOnw6NvLCBtYXMgY2FkYSBjYXJhY3RlcmUKKyAgICAgICBkaWdpdGFkbyBkZWxldGEgdW0gY2FyYWN0ZXJlIGV4aXN0ZW50ZS4KKworfn5+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+CisJCSAgICAgICBMacOnw6NvIDYuNDogQ09QSUFSIEUgQ09MQVIgVEVYVE8KKworCSoqIFVzZSBvIG9wZXJhZG9yICB5ICBwYXJhIGNvcGlhciB0ZXh0byBlICBwICBwYXJhIGNvbMOhLWxvLiAqKgorCisgICAxLiBWw6EgcGFyYSBhIGxpbmhhIG1hcmNhZGEgY29tIC0tLT4gYWJhaXhvIGUgcG9zaWNpb25lIG8gY3Vyc29yIGFww7NzICJhKSIuCisKKyAgIDIuIEluaWNpZSBvIG1vZG8gVmlzdWFsIGNvbSAgdiAgZSBtb3ZhIG8gY3Vyc29yIHBhcmEgbG9nbyBhbnRlcyBkZQorICAgICAgInByaW1laXJvIi4KKworICAgMy4gRGlnaXRlICB5ICBwYXJhIGNvcGlhciBvIHRleHRvIHNlbGVjaW9uYWRvLgorCisgICA0LiBNb3ZhIG8gY3Vyc29yIHBhcmEgbyBmaW5hbCBkYSBwcsOzeGltYSBsaW5oYTogIGokCisKKyAgIDUuIERpZ2l0ZSAgcCAgcGFyIHDDtHIgKGNvbGFyKSBvIHRleHRvLiBFbnTDo28sIGRpZ2l0ZTogIG8gc2VndW5kbyA8RVNDPiAuCisKKyAgIDYuIFVzZSBvIG1vZG8gVmlzdWFsIHBhcmEgc2VsZWNpb25hciAgIiBpdGVtLiIsIGNvcGllLW8gY29tICB5ICwgbW92YSBwYXJhCisgICAgICBvIGZpbmEgZGEgcHLDs3hpbWEgbGluaGEgY29tICBqJCAgZSBwb25oYSAoY29sZSkgbyB0ZXh0byBjb20gIHAgLgorCistLS0+ICBhKSBlc3NlIMOpIG8gcHJpbWVpcm8gaXRlbS4KKyAgICAgIGIpCitOT1RBOiAgVm9jw6ogdGFtYsOpbSBwb2RlIHVzYXIgIHkgIGNvbW8gdW0gb3BlcmFkb3I7IHBvciBleGVtcGxvLCB5dyBjb3BpYSB1bWEKKyAgICAgICBwYWxhdnJhLgorfn5+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+CisJCSAgICAgIExpw6fDo28gNi41OiBDT05GSUdVUkFSIFBSRUZFUsOKTkNJQVMKKworICAgICAgKiogQ29uZmlndXJhciB1bWEgcHJlZmVyw6puY2lhIGRlIG1vZG8gcXVlIHVtIHNlYXJjaCBvdSBzdWJzdGl0dXRlCisJIGlnbm9yYSBzZSBhcyBsZXRyYXMgZXN0w6NvIGVtIG1hacO6c2N1bGFzIG91IG1pbsO6c2N1bGFzLiAqKgorCisgIDEuIFByb2N1cmUgcG9yICdpZ25vcmUnIGVudHJhbmRvOiAgL2lnbm9yZSA8RU5URVI+CisgICAgIFJlcGl0YSB2w6FyaWFzIHZlemVzIHRlY2xhbmRvICBuIC4KKyAgMi4gQ29uZmlndXJlIGEgb3DDp8OjbyAnaWMnIChJZ25vcmUgY2FzZSkgZGlnaXRhbmRvOgorICAgICA6c2V0IGljCisgIDMuIEFnb3JhIHByb2N1cmUgcG9yICdpZ25vcmUnIGRlIG5vdm8gdGVjbGFuZG86IG4KKyAgICAgUmVwaXRhIHbDoXJpYXMgdmV6ZXMuCisgIDQuIENvbmZpZ3VyZSBhcyBvcMOnw7VlcyAnaGxzZWFyY2gnIGUgJ2luY3NlYXJjaCc6CisgICAgIDpzZXQgaGxzIGlzCisgIDUuIEFnb3JhIGVudHJlIGNvbSBvIGNvbWFuZG8gc2VhcmNoIGRlIG5vdm8sIGUgdmVqYSBvIHF1ZSBhY29udGVjZToKKyAgICAgL2lnbm9yZQorICA2LiBQYXJhIGRlc2FiaWxpdGFyIGEgZGVzY29uc2lkZXJhw6fDo28gZGUgbWFpw7pzY3VsYXMgZSBtaW7DunNjdWxhczoKKyAgICAgOnNldCBub2ljCisKK05PVEE6ICBQYXJhIHJlbW92ZXIgbyByZWFsY2UgZG9zIHRlcm1vcyBsb2NhbGl6YWRvcyBlbnRyZTogIDpub2hsc2VhcmNoCitOT1RBOiAgU2UgcXVpc2VyIGlnbm9yYXIgYSBkaWZlcmVuw6dhIGVudHJlIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMgZW0gYXBlbmFzCisgICAgICAgdW1hIHBlc3F1aXNhLCB1c2UgIFxjICBubyBjb21hbmRvOiAgL2lnbm9yZVxjIDxFTlRFUj4KKworfn5+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+CisJCQkgICAgICBTVU3DgVJJTyBEQSBMScOHw4NPIDYKKworICAxLiBEaWdpdGUgIG8gIHBhcmEgYWJyaXIgdW1hIGxpbmhhIEFCQUlYTyBkbyBjdXJzb3IgZSBpbmljaWFyIG8gbW9kbyBkZQorICAgICBJbnNlcsOnw6NvLgorICAgICBEaWdpdGUgIE8gIHBhcmEgYWJyaXIgdW1hIGxpbmhhIEFDSU1BIGRhIGxpbmhhIG9uZGUgbyBjdXJzb3IgZXN0w6EuCisKKyAgMi4gRGlnaXRlICBhICBwYXJhIGFkaWNpb25hciB0ZXh0byBERVBPSVMgZG8gY2FyYWN0ZXJlIG9uZGUgZXN0w6EgbyBjdXJzb3IuCisgICAgIERpZ2l0ZSAgQSAgcGFyYSBhZGljaW9uYXIgdGV4dG8gYW8gZmluYWwgZGEgbGluaGEuCisKKyAgMy4gTyBjb21hbmRvICBlICBtb3ZlIG8gY3Vyc29yIHBhcmEgbyBmaW5hbCBkZSB1bWEgcGFsYXZyYS4KKworICA0LiBPIG9wZXJhZG9yICB5ICBjb3BpYSB0ZXh0bywgIHAgIHDDtWUgKGNvbGEpIG8gdGV4dG8gY29waWFkby4KKworICA1LiBEaWdpdGFuZG8gIFIgIGVudHJhLXNlIG5vIG1vZG8gZGUgU3Vic3RpdHVpw6fDo28gYXTDqSBxdWUgPEVTQz4gc2VqYQorICAgICBwcmVzc2lvbmFkby4KKworICA2LiBEaWdpdGFuZG8gICI6c2V0IHh4eCIgbW9kaWZpY2Etc2UgYSBvcMOnw6NvICJ4eHgiLiBBbGd1bWFzIG9ww6fDtWVzIHPDo286CisgICAgICAgICAnaWMnICdpZ25vcmVjYXNlJyAgICAgaWdub3JhIGRpZmVyZW7Dp2EgZW50cmUgbWFpw7pzY3VsYXMvbWluw7pzY3VsYXMKKwkgJ2lzJyAnaW5jc2VhcmNoJyAgICAgIHJlYWxpemEgYSBidXNjYSBlbnF1YW50byBzZSBkaWdpdGEKKwkgJ2hscycgJ2hsc2VhcmNoJyAgICAgIHJlYWzDp2EgdG9kb3Mgb3MgdHJlY2hvcyBsb2NhbGl6YWRvcworICAgICBWb2PDqiB0YW50byBwb2RlIHVzYXIgbyBub21lIGN1cnRvIHF1YW50byBvIG5vbWUgbG9uZ28gZGEgb3DDp8Ojby4KKyAgNy4gQWRpY2lvbmUgbyBwcmVmaXhvICJubyIgcGFyYSBkZXNhYmlsaXRhciB1bWEgb3DDp8OjbzogIDpzZXQgbm9pYworfn5+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+CisJCQkgICBMScOHw4NPIDcuMTogT0JURU5ETyBBSlVEQQorCisJCSAqKiBVc2FyIG8gc2lzdGVtYSBkZSBhanVkYSBkbyBwcsOzcHJpbyBWaW0gKioKKworICBPIFZpbSBwb3NzdWkgc2lzdGVtYSBkZSBhanVkYSBhYnJhbmdlbnRlLiBQYXJhIGNvbWXDp2FyLCB0ZW50ZSBhbGd1bQorICBkZXNzZXMgdHLDqnM6CisgICAgICAgIC0gcHJlc3Npb25lIGEgdGVjbGEgPEhFTFA+IChzZSB2b2PDqiB0aXZlciB1bWEpCisgICAgICAgIC0gcHJlc3Npb25lIGEgdGVjbGEgPEYxPiAgIChzZSB2b2PDqiB0aXZlciB1bWEpCisgICAgICAgIC0gZGlnaXRlICAgICAgOmhlbHAgPEVOVEVSPgorCisgIExlaWEgbyB0ZXh0byBkYSBhanVkYSBwYXJhIGFwcmVuZGVyIGNvbW8gbyBzaXN0ZW1hIGRlIGFqdWRhIGZ1bmNpb25hLgorICBEaWdpdGUgIENUUkwtVyBDVFJMLVcgIHBhcmEgcHVsYXIgZGUgdW1hIGphbmVsYSBwYXJhIG91dHJhLgorICBEaWdpdGUgIDpxIDxFTlRFUj4gcGFyYSBmZWNoYXIgYSBqYW5lbGEgZGEgYWp1ZGEuCisKKyAgVm9jw6ogcG9kZSBhY2hhciBhanVkYSBzb2JyZSBxdWFscXVlciBhc3N1bnRvLCBmb3JuZWNlbmRvIHVtIGFyZ3VtZW50byBwYXJhCisgIG8gY29tYW5kbyAiOmhlbHAiLiBUZW50ZSBpc3RvIChuw6NvIGVzcXVlw6dhIGRlIHByZXNzaW9uYXIgPEVOVEVSPik6CisKKyAgICAgICA6aGVscCB3CisgICAgICAgOmhlbHAgY19DVFJMLUQKKyAgICAgICA6aGVscCBpbnNlcnQtaW5kZXgKKyAgICAgICA6aGVscCB1c2VyLW1hbnVhbAorCit+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+fn4KKwkJIExpw6fDo28gNy4yOiBDUklBUiBVTSBTQ1JJUFQgREUgSU5JQ0lBTElaQcOHw4NPCisKKwkJICAgICAgICoqIEhhYmlsaXRhciByZWN1cnNvcyBkbyBWaW0gKioKKworICBPIFZpbSB0ZW0gbXVpdG8gbWFpcyByZWN1cnNvcyBkbyBxdWUgbyBWaSwgbWFzIG5hIHN1YSBtYWlvcmlhIGVsZXMgc8OjbworICBkZXNhYmlsaXRhZG9zIHBvciBwYWRyw6NvLiAgUGFyYSB1c2FyIG1haXMgcmVjdXJzb3MsIHZvY8OqIHRlbSBxdWUgY3JpYXIgdW0KKyAgYXJxdWl2byAidmltcmMiLgorCisgIDEuIENvbWVjZSBhIGVkaXRhciBvIGFycXVpdm8gInZpbXJjIi4gSXNzbyBkZXBlbmRlIGRvIHNpc3RlbWE6CisgICAgICAgICA6ZSB+Ly52aW1yYyAgICAgICAgICAgICAgcGFyYSBVbml4CisgICAgICAgICA6ZSAkVklNL192aW1yYyAgICAgICAgICAgcGFyYSBNUy1XaW5kb3dzCisKKyAgMi4gQWdvcmEsIGxlaWEgbyBjb250ZcO6ZG8gZG8gYXJxdWl2byAidmltcmMiIGRlIGV4ZW1wbG86CisgICAgICAgICA6ciAkVklNL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU2FsdmUgbyBhcnF1aXZvIGNvbToKKyAgICAgICAgIDp3CisKKyAgRGEgcHLDs3hpbWEgdmV6IHF1ZSBvIFZpbSBmb3IgaW5pY2lhZG8sIGVsZSBpcsOhIHVzYXIgcmVhbGNlIGRlIHNpbnRheGUuIFZvY8OqCisgIHBvZGUgYWRpY2lvbmFyIHN1YXMgY29uZmlndXJhw6fDtWVzIHByZWZlcmlkYXMgcGFyYSBlc3NlIGFycXVpdm8gInZpbXJjIi4gUGFyYQorICBtYWlvcmVzIGluZm9ybWHDp8O1ZXMsIGRpZ2l0ZTogIDpoZWxwIHZpbXJjLWludHJvCisKK35+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+fgorCQkJICAgIExpw6fDo28gNy4zOiBDT01QTEVUQcOHw4NPCisKKwkgICAqKiBDb21wbGV0YcOnw6NvIGRhIGxpbmhhIGRlIGNvbWFuZG8gY29tIENUUkwtRCBlIDxUQUI+ICoqCisKKyAgIDEuIENlcnRpZmlxdWUtc2UgZGUgcXVlIG8gVmltIG7Do28gZXN0w6Egbm8gbW9kbyBjb21wYXTDrXZlbDogIDpzZXQgbm9jcAorCisgICAyLiBPbGhlIHF1YWlzIGFycXVpdm9zIGV4aXN0ZW0gbm8gZGlyZXTDs3JpbzogIDohbHMgIG91ICA6IWRpcgorCisgICAzLiBEaWdpdGUgbyBpbsOtY2lvIGRlIHVtIGNvbWFuZG86ICA6ZQorCisgICA0LiBQcmVzc2lvbmUgIENUUkwtRCAgZSBvIFZpbSBpcsOhIG1vc3RyYXIgYSBsaXN0YSBkb3MgY29tYW5kb3MgaW5pY2lhZG9zCisgICAgICBjb20gImUiLgorCisgICA1LiBQcmVzc2lvbmUgIDxUQUI+ICBlIG8gVmltIGlyw6EgY29tcGxldGFyIG8gbm9tZSBkbyBjb21hbmRvIHBhcmEgIjplZGl0Ii4KKworICAgNi4gQWdvcmEsIGFkaWNpb25lIHVtIGVzcGHDp28gZSBvIGluw61jaW8gZG8gbm9tZSBkZSB1bSBhcnF1aXZvIGV4aXN0ZW50ZToKKyAgICAgIDplZGl0IEFSUQorCisgICA3LiBQcmVzc2lvbmUgPFRBQj4uICBPIFZpbSBpcsOhIGNvbXBsZXRhciBvIG5vbWUgKHNlIGVsZSBmb3Igw7puaWNvKS4KKworTk9UQTogIEEgY29tcGxldGHDp8OjbyBmdW5jaW9uYSBjb20gbXVpdG9zIGNvbWFuZG9zLiBCYXN0YSBwcmVzc2lvbmFyIENUUkwtRCBlCis8VEFCPi4gSXNzbyDDqSBlc3BlY2lhbG1lbnRlIMO6dGlsIHBhcmEgIDpoZWxwIC4KK35+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+fgorCQkJICAgICAgU1VNw4FSSU8gREEgTEnDh8ODTyA3CisKKworICAxLiBEaWdpdGUgIDpoZWxwIG91IHByZXNzaW9uZSA8RjE+IG91IDxIZWxwPiAgcGFyYSBhYnJpciBhIGphbmVsYSBkZSBhanVkYS4KKworICAyLiBEaWdpdGUgIDpoZWxwIGNtZCAgcGFyYSBhY2hhciBhIGFqdWRhIHNvYnJlICBjbWQgLgorCisgIDMuIERpZ2l0ZSAgQ1RSTC1XIENUUkwtVyAgcGFyYSBwdWxhciBkZSB1bWEgamFuZWxhIHBhcmEgb3V0cmEuCisKKyAgNC4gRGlnaXRlICA6cSAgcGFyYSBmZWNoYXIgYSBqYW5lbGEgZGUgYWp1ZGEuCisKKyAgNS4gQ3JpZSB1bSBzY3JpcHQgZGUgaW5pY2lhbGl6YcOnw6NvIHZpbXJjIHBhcmEgYXRpdmFyIGF1dG9tYXRpY2FtZW50ZSBhcyBzdWFzCisgICAgIGNvbmZpZ3VyYcOnw7VlcyBwcmVmZXJpZGFzLgorCisgIDYuIFF1YW5kbyBwcmVzc2lvbmFuZG8gdW0gY29tYW5kbyAgOiAsIHByZXNzaW9uZSBDVFJMLUQgcGFyYSB2ZXIgYXMKKyAgICAgcG9zc2liaWxpZGFkZSBkZSBjb21wbGV0YcOnw6NvLgorCisKKworICAKKworfn5+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+CisKKyAgSXN0byBjb25jbHVpIG8gVmltIHR1dG9yLiBFbGUgcHJldGVuZGV1IGRhciB1bWEgYnJldmUgYXByZXNlbnRhw6fDo28gZG8gZWRpdG9yCisgIFZpbSwgc29tZW50ZSBvIGJhc3RhbnRlIHBhcmEgcXVlIHZvY8OqIHBvc3NhIHVzYXIgbyBlZGl0b3IgY29tIGZhY2lsaWRhZGUuCisgIEVsZSBlc3TDoSBsb25nZSBkZSBzZXIgY29tcGxldG8sIHVtYSB2ZXogcXVlIG8gVmltIHBvc3N1aSBtdWl0b3MsIG11aXRvcyBtYWlzCisgIGNvbWFuZG9zLiBPIHByw7N4aW1vIHBhc3NvIMOpIGxlciBvIG1hbnVhbDogICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgTGl2cm8gcmVjb21lbmRhZG8gZW0gUG9ydHVndcOqcyBzb2JyZSBvIFZpbToKKyAgICAgICBPIGVkaXRvciBkZSB0ZXh0byBWaW0gLSBkZSBTw6lyZ2lvIEx1aXogQXJhw7pqbyBkYSBTaWx2YSBldCBhbC4KKyAgICAgICBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvdmltYm9vay8KKworICBQYXJhIGZ1dHVyYSBsZWl0dXJhIGUgZXN0dWRvLCBlc3RlIGxpdnJvIMOpIHJlY29tZW5kYWRvOgorICAgICAgIFZpbSAtIFZpIEltcHJvdmVkIC0gZGUgU3RldmUgT3VhbGxpbmUKKyAgICAgICBFZGl0b3JhOiBOZXcgUmlkZXJzCisgIEVzdGUgw6kgbyBwcmltZWlybyBsaXZybyBjb21wbGV0YW1lbnRlIGRlZGljYWRvIGFvIFZpbS4gRXNwZWNpYWxtZW50ZSDDunRpbAorICBwYXJhIGluaWNpYW50ZXMsIGNvbSBtdWl0b3MgZXhlbXBsb3MgZSBpbHVzdHJhw6fDtWVzLgorICBWZWphIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRXNzZSBsaXZybyDDqSBtYWlzIGFudGlnbyBlIG1haXMgc29icmUgbyBWaSBkbyBxdWUgc29icmUgbyBWaW0sIG1hcyB0YW1iw6ltIMOpCisgIHJlY29tZW5kYWRvOgorICAgICAgIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBkZSBMaW5kYSBMYW1iCisgICAgICAgRWRpdG9yYTogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgRXN0ZSDDqSB1bSBib20gbGl2cm8gcGFyYSBhcHJlbmRlciBxdWFzZSB0dWRvIG8gcXVlIHZvY8OqIHF1ZXIgZmF6ZXIgY29tIG8gVmkuCisgIEEgc2V4dGEgZWRpw6fDo28gdGFtYsOpbSBpbmNsdWkgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIFZpbS4KKworICBFc3RlIHR1dG9yaWFsIGZvaSBlc2NyaXRvIHBvciBNaWNoYWVsIEMuIFBpZXJjZSBlIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMsIHVzYW5kbyBpZMOpaWFzIGZvcm5lY2lkYXMgcG9yIENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmljYWRvIHBhcmEgbyBWaW0gcG9yIEJyYW0gTW9vbGVuYXIuCisKKyAgVmVyc8OjbyAxLjQgdHJhZHV6aWRhIHBhcmEgbyBwb3J0dWd1w6pzIHBvciBNYXJjZWxvIERydWRpIE1pcmFuZGEsIEVzY29sYQorICBQb2xpdMOpY25pY2EgZGEgVW5pdmVyc2lkYWRlIGRlIFPDo28gUGF1bG8uCisKKyAgUmV2aXPDo28gZSBhdHVhbGl6YcOnw6NvIGRhIHRyYWR1w6fDo28gcGFyYSBhIHZlcnPDo28gMS43IHBvciBKYWtzb24gQXF1aW5vLAorICBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBDZWFyw6E6IEUtbWFpbDogamFsdmVzYXFAZ21haWwuY29tCisKKyAgTGFzdCBDaGFuZ2U6IDIwMTAgSnVsIDI3CisKK35+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+fgo=