ZGlmZiAtLWdpdCBhL09MRC5yYzUgYi9PTEQucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZTJjMjgKLS0tIC9kZXYvbnVsbAorKysgYi9PTEQucmM1CkBAIC0wLDAgKzEsNDA4OCBAQAorSGFsbG8genVzYW1tZW4gKEZyZXVuZCwgMjEuIE5vdiAxOTk3LCAxMDozMDo1Mik6CitIaSwKKworYXVmIHZpZWxmYWNoZW4gV3Vuc2NoIGdpYnQgZXMgamV0enQgYXVjaCBlaW5lIFJ1YnJpayBmdWVyIGRhcyBGaWViZXIsIHdhcworZ2VyYWRlIHVtZ2VodC4uLiA6LSkKKworRnJldW5kLCBhdWNoIGluZml6aWVydC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjM6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoTmFzaW0sIDIxLiBOb3YgMTk5NywgMTA6MzM6MDcpOgorfiMhIG9uPU5hc2ltIG90PTg4MDEwNDYyNiBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04ODAxMDA3MTYgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDA1Nzk1NQorRXMgZ2lidCBlaW5lbiBleHRyYSBDbGllbnQgZnVlciBXaW45NSwgZGVyIG51ciBoaWRkZW4gbGFldWZ0IC0gaXN0IGVpbiBleHRyYQorQXJjaGl2LCByYzU2NDAxLXdpbjk1aGlkZGVuLXg4Ni1jbGkuemlwLiBEYXMgUHJvZ3JhbW0gaGVpc3N0IGVpbmZhY2ggbnVyCityYzU2NC5leGUgdW5kIGhpbnRlcmxhZXNzdCwgc293ZWl0IGljaCBnZXNlaGVuIGhhYmUsIGtlaW5lIHNpY2h0YmFyZW4gU3B1cmVuCithdWYgZGVyIE9iZXJmbGFlY2hlLiAKKworR3J1c3MsIE5hc2ltCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCityYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzoyNSk6Cit+IyEgb249QW5ha2luIG90PTg3ODU2OTczMSBvZz1oYXJkc29mdHdhcmUKK0hpLAorCitpY2ggaGFiIGVpbiBwYWFyIEFuZnJhZ2VuIGJla29tbWVuIHdlZ2VuIGRlbQorZGV1dHNjaGVuIE11ZFRlYW0genVyIHJjNS02NEJpdCBDaGFsbGVuZ2UuCitJbmZvcyBnaWJ0IGVzIHVudGVyIHd3dy5kaXN0cmlidXRlZC5uZXQKK0Fsc28gZXMgZ2lidCBlaW4gVGVhbSBtdWQuZGUgKFRlYW1Oci4gNTc2KS4KK1dlbm4gaWhyIG1pdG1hY2hlbiB3b2xsdCBpc3QgZm9sZ2VuZGVzCit6dSBiZWFjaHRlbjoKKworYSkgZGVuIENsaWVudCBob2xlbiBkZXIgZGFzIFpldWcgYXVzcmVjaG5ldC4KKyAgIHZvbiBodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC9yYzUvcmM1djItY2xpZW50cy5odG1sCisKK2IpIGRhcyBUZWlsIGF1c3BhY2tlbiB1bmQgbWl0IC1jb25maWcgYXVmcnVmZW4KKyAgIGpldHp0IDEpIGF1c3dhZWhsZW4gdW5kIG51biBhbHMgYWRyZXNzZQorICAgcmM1QG11ZC5kZSBlaW5nZWJlbi4KKworYykgbWl0IHJjNTY0IChvZGVyIHdpZSBhdWNoIGltbWVyIGRhcyBhdXNmdWVyaGJhcmUKKyAgIFByb2dyYW1tIGhlaXNzdCkgYXVmcnVmZW4uCisKK0RhcyBUZWlsIG51dHp0IHdpcmtsaWNoIG51ciBkaWUgSWRsZXplaXQgZGVzIFJlY2huZXJzCit1bmQgZXMgaXN0IGtlaW5lIEJlZWludHJhZWNodGlndW5nIGRlcyBBcmJlaXRlbnMKK3p1IHNwdWVyZW4uCisKK0hhcHB5IENyYWNraW5nCisKKworQW5ha2luCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzM6MjcpOgorfiMhIG9uPUFuYWtpbiBvdD04Nzg1OTE5MjAgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QW5ha2luIHJ0PTg3ODU2OTczMSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitIaSwKKword2VubiBqZW1hbmQgbWl0bWFjaGVuIHNvbGx0ZSBrYW5uIGVyIG1hbAorZWluZSBFTWFpbCBhbiBtaWNoIHNjaHJlaWJlbiwgaWNoIHdpbGwgbm9jaAorbmUgV2Vic2VpdGUgbWFjaGVuIHdvIGFsbGUgZHJhdWZzdGVoZW4gZGllCittaXRtYWNoZW4uCisKK0FuYWtpbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzM6MjkpOgorfiMhIG9uPUJhYm9vbiBvdD04Nzg2MjkxMzkgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QW5ha2luIHJ0PTg3ODU5MTkyMCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitXZW5uIG1pciBqZW1hbmQgZWluZSBTdGFuZGxlaXR1bmcgc2NoZW5rdCBzdGVsbGUgaWNoIGF1Y2ggZ2VybmUgbWVpbmVuIEFtaWdhCis1MDAgenVyIFZlcmZ1ZWd1bmcuIDotKQorCitCYWJvb24oKQorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzozMCk6Cit+IyEgb249QW5ha2luIG90PTg3ODYzMDAwNCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1CYWJvb24gcnQ9ODc4NjI5MTM5IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK0R1IGJyYXVjaHN0IGtlaW5lIFN0YW5kbGVpdHVuZywgbWFuIGthbm4gc2ljaCBhdWNoIDIwMCBCbG9lY2tlCitob2xlbiwgc2ljaCB2b20gTmV0eiB0cmVubmVuLCBhdXNyZWNobmVuIHVuZCBiZWkgbmV4dGVuIGNvbm5lY3QKK3dlcmRlbiBkaWVzZSB1ZWJlcnRyYWdlbiA7KQorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV40OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzozMSk6Cit+IyEgb249RnJldW5kIG90PTg3ODY0MTkwMCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1BbmFraW4gcnQ9ODc4NjMwMDA0IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK0dlbmF1LCBkYXMgbWFjaGUgaWNoLiA6LSkKKworRnJldW5kIC0gYXVjaCBtYWwgZGFiZWkuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV41OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzo1NCk6Cit+IyEgb249TXlzdGVyaW91cyBvdD04Nzg2NTgxOTYgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49RnJldW5kIHJ0PTg3ODY0MTkwMCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCituaSBoYW8hIQorCitqYXUsIG1laW4gcmVjaG5hIGxhZXVmdCBhdWNoIHNjaG9uIHNlaXQgaGV1dGUgbWlkZGFjaCB1bmQgY3JhY2t0IGdhbnogZmxlaXNzaWcKKzopCisKKypob2VmbGljaCB2ZXJuZWlnZW5kKgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNjogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6MTMpOgorfiMhIG9uPVJhZmZpIG90PTg3OTE4NDU4OSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1NeXN0ZXJpb3VzIHJ0PTg3ODY1ODE5NiByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitIYXRzIHNjaG9uIGplbWFuZCBnZXNjaGFmdCBkZW4gV2luTlQgQ2xpZW50IHVlYmVyIG5lbiBGaXJld2FsbCBhcmJlaXRlbiB6dQorbGFzc2VuID8KKworV2FzIGlzdCBkYSBhbHMgZWluc3RlbGx1bmcgZnVlciBkZW4gS2V5c2VydmVyIG5vZXRpZyA/CisKK0dydXNzCitILgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6MTUpOgorfiMhIG9uPVJhZmZpIG90PTg3OTE5NTUzMCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04NzkxODQ1ODkgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorUC5TLjogTWFsIGh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L3Nsb2dhbnMvIGFuc2NoYXVlbiAhCisKK0dydXNzCitILgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6MjMpOgorfiMhIG9uPUFjcmltb24gb3Q9ODc5MjU5ODExIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg3OTE4NDU4OSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCisuIG8gTyAoIERhIHZlcmdld2FsdGlndCBqZW1hbmQgZWluZW4gTmV0endlcmshIE5UIGFscyBDbGllbnQgb2RlciBTZXJ2ZXIhIERhcwora2FubiBudXIgc2NoaWVmZ2VoZW4uICkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjg6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM1OjI1KToKK34jISBvbj1SYWZmaSBvdD04NzkyNzA4NDMgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QWNyaW1vbiBydD04NzkyNTk4MTEgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorCitTYWcgZGFzIG1hbCBtZWluZW0gQ2hlZiAuLi4gb2RlciBzb25zdHdlbSAuLi4gYWxsZXMgV2luZG93c2dsYWV1YmlnZSAuLi4gaWNoCitiaW4gdW16aW5nZWx0IHZvbiBBbGllbnMgIQorCitIIEkgTCBGIEUgIQorCitILgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeOTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6NDUpOgorfiMhIG9uPVJhZmZpIG90PTg3OTQ0NjcxOSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04NzkyNzA4NDMgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorU29vIGRpZSBlcnN0ZW4gMjU2IEJsb2NrcyB1bmQgNzJoIHJlY2hlbnplaXQgc2luZCBnZXNjaGljaHRlIDopCitNYWwgc2VoZW4uLi4uLi4KKworR3J1c3MKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xMDogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MDkpOgorfiMhIG9uPVJhZmZpIG90PTg3OTk2NzI5NCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04Nzk0NDY3MTkgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorWndpc2NoZW5lcmdlYm5pc3M6CitUZWFtICEgVGVhbSBOYW1lICEgIFRvdGFsICEgICAgVGltZSAhICAgTGFzdCAhICBLZXkgUmF0ZQorUmFuayAhICAgICAgICAgICAhIEJsb2NrcyAhIFdvcmtpbmcgISAgQmxvY2sgISBra2V5cy9zZWMKKy0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tCisyNjAgICFtdWQuZGUgICAgICEgIDIxODc0ICEgMjAgZGF5cyAhIDE5LU5vdiAhICAgMzIzNi4yMAorCitHYW56IG5ldHQsYWJlciBkYXMgbXVzcyBtZWhyIHdlcmRlbi4gRGEgaWNoIHVuZ2VmYWVyIDI2MiBra2V5cy9zCitzY2hhZmZlIHNpbmQgZGEgZ2VyYWRlIG1hbCBub2NoIDEyIHdlaXRlcmUgUmVjaG5lciB3aWUgZGVyIGhpZXIKKyhQMjAwKSB0YWV0aWcgLSBEYXMgaXN0IHp1IHdlbmlnLiBXZWl0ZXIgYWxzIGJpcyBQbGF0eiAxMDAga29tbWVuCit3aXIgZGEgbmljaHQsIHVuZCB1bnNlcmUgQ2hhbmNlbiBzaW5kIG51bm1hbCBQcm9wb3J0aW9uYWwgenVyCitNZW5nZSBkZXIgZHVyY2hzdWNodGVuIEtleXMgaXN0IHNjaGF1dHMgc2NobGVjaHQgZnVlciBkaWUgTXVkLworUGFydHlzcGVuZGUgYXVzIDooCisKK0dydXNzCitILgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMTE6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjEwKToKK34jISBvbj1SYWZmaSBvdD04Nzk5Njc5MDUgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49UmFmZmkgcnQ9ODc5OTY3Mjk0IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK05hY2h0cmFnCisKK05vY2htYWwgZnVlciBhbGwgZGllIHdpbGxpZ2VuLCBkaWUgc2ljaCBiaXNoZXIgYXVmIEZhbHNjaGVzIEJldHJ1Z3NzeXN0ZW0sCitvZGVyIGZlaGxlbmRlbiBJbnRlcm5ldGFuc2NobHVzcyByYXVzZ2VyZWRldCBoYWJlbjogZGFzIERpbmcgZnVua3Rpb25pZXJ0Cit1bnRlciBmYXN0IGplZGVtIGdhZW5naWdlbiBCZXRyaWVic3N5c3RlbSwgdW5kIGJyYXVjaHQgYXVjaCBrZWluZW4gZGF1ZXJuZGVuCitJbnRlcm5ldGFuc2NobHVzcyAtIERlciBDbGllbnQgaGF0IGVpbmVuIFB1ZmZlciB2b24gQmlzIHp1IDIwMCBLZXlibG9lY2tlbiwKK3dhcyBiZWkgZWluZW0gUDIwMCBldHdhIDUwLTU1IFN0dW5kZW4gUmVjaGVuemVpdCBzaW5kLCBkLmguIGFsbGUgMiB0YWdlIG1hbAorZnVlciAxMC0xNSBNaW51dGVuIG9ubGluZWdlaGVuLgorCitFcyBtdWVzc3RlIHNvZ2FyIGdlaGVuIHNpY2ggZGllIGJsb2NrcyBhbiBkZXIgVW5pIHp1IHNhdWdlbiwgdW5kIGRhbm4gcGVyCitEaXNrZXR0ZSBuYWNoIGhhdXNlIHp1IG5laG1lbiwgZG9ydCBkYW5uIDIgdGFnZSByZWNobmVuIChsYW5nc2FtbWUgUmVjaG5lcgorbGFlbmdlcikgdW5kIGRhbm4gd2llZGVyIGFuIGRlciBVbmkgenVydWVja3NjaGlja2VuLiAyMDAgS2V5YmxvY2tzIHNpbmQgZXR3YQorMjUgS0IuCisKK1VuZCBBT0wsIG9kZXIgQW5kZXJlIE9mZmxpbmVwcm92aWRlciBzaW5kIGF1Y2gga2VpbiBIaW5kZXJuaXNzIC4uLiBlcyByZWljaHQKK2VpbmUgSFRUUCAoV1dXKSBWZXJiaW5kdW5nIHVtIEtleXMgYXVzenV0dGF1c2NoZW4gLi4uIGFsc28sIHJhbm4gYW4gZGVuIFNwZWNrLgorCitHcnVzcworSC4KKworUC5TLjogTmljaHQgdm9yIGRlbSBNdWQgZWlua25hY2tlbiAtIEZ1ZXIgZGFzIG11ZCBSQzUtNjQga25hY2tlbiEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjEyOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxMSk6Cit+IyEgb249QmFicyBvdD04Nzk5NzIzNDMgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49UmFmZmkgcnQ9ODc5OTY3OTA1IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK0hpbmRlcm5pcyBpc3QsIGRhcyBlcyBrZWluIFByb2dyYW1tIGdpYnQsIHdhcyB1bnRlciBOVCBvZGVyIDk1IG9obmUKK0FkbWlucmVjaHRlIHp1bSBMYXVmZW4genUgYnJpbmdlbiBpc3QgOy1QCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xMzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MTIpOgorfiMhIG9uPURlbnRpIG90PTg3OTk3MjkyMyBvZz1oYXJkc29mdHdhcmUKK34jISBybj1CYWJzIHJ0PTg3OTk3MjM0MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCisKK1VudGVyIFdpbjk1IGdpYnQgZXMgdWViZXJoYXVwdCBrZWluZSBQcm9ibGVtZSBtaXQgZGVuIEFkbWluLVJlY2h0ZW4sIAorZGEgZXMgZ2FyIGtlaW5lIG5lbm5lbnN3ZXJ0ZSBBYnNjaG90dHVuZyBkZXMgU3lzdGVtcyBnaWJ0LCBzbyBkYXNzIGR1IAorc29nYXIgZGVuIENMaWVudCBzbyBpbnN0YWxsaWVyZW4ga2FubnN0LCBkYXNzIGRlciBBZG1pbiBuaWNodHMgbWl0LQorYmVrb21tdCAoYXVzc2VyLCBkYXNzIGRpZSBDUFUgcGVybWFuZW50IHp1IDEwMCAlIGF1c2dlbGFzdGV0IGlzdCkuCitVbnRlciBOVCBrYW5uc3QgRHUgZGVuIENMaWVudCB6dW1pbmRlc3Qgd2FlaHJlbiBEdSBhcmJlaXRlc3QgbGF1ZmVuIAorbGFzc2VuLCBhbGxlcmRpbmdzIGthbm5zdCBEdSBub3JtYWxlcndlaXNlIGRlbiBTZXJ2aWNlIG5pY2h0IG9obmUKK0FkbWluLVJlY2h0ZSBpbnN0YWxsaWVyZW4uCisKK0RlbnRpCisKK1BTOiBJY2ggbGFzc2UgZGVyemVpdCBwZXJtYW5lbnQgZWluZW4gUG93ZXJNYWMsIGVpbmVuIE5ULVNlcnZlcgorbWl0IGVpbmVtIFAxNTAgdW5kIGVpbmVuIG1pdCAyIFAxNTAgdW5kIGVpbmVuIE5UIEFscGhhIEFYUCAzMDAtU2VydmVyCitsYXVmZW4sIGRhenUga29tbWVuIG5vY2ggYmlzIHp1IDUgUElJLTI2NiwgZGllIGFsbGVyZGluZ3MgbnVyIHRlaWx6ZWl0CithcmJlaXRlbiB1bmQgbWVpbiBwcml2YXRlciBQQywgZGVyIG51ciB0YWdzdWViZXIgbGFldWZ0LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMTE6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjEzKToKK34jISBvbj1SaW5nb3Igb3Q9ODc5OTczNzU4IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg3OTk2NzI5NCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitOdW4sIGRhc3Mgd2lyIG1laHIgTGV1dGUgYnJhdWNoZW4sIGlzdCBrbGFyLiAqVmllbCogbWVociBMZXV0ZSBzb2dhci4gCisKK0FiZXIgZGFzIG1laW5lIGljaCBuaWNodCBudXIgYXVmIG11ZC5kZSBiZXpvZ2VuLCBzb25kZXJuIGluc2dlc2FtdC4gV2FzIGJyaW5ndAorZXMsIGRhcyBiZXN0ZSBUZWFtIHp1IHNlaW4sIHdlbm4gd2lyIG1pdCBkZXIgbW9tZW50YW5lbiBSZWNoZW5sZWlzdHVuZwordHJvdHpkZW0gbm9jaCBzYXR0IHVlYmVyIDEwMCBKYWhyZSAoISkgYnJhdWNoZW4sIHVtIGRlbiBLZXlzcGFjZSB6dQorZHVyY2hzdWNoZW4/CisKK0RhIGJyaW5ndCBlcyB2aWVsbGVpY2h0IGRvY2ggbWVociwgaGV1dGUgemVobiBEb2xsYXIgZmVzdCBhbnp1bGVnZW4gdW5kIGZ1ZXIKK2h1bmRlcnQgSmFocmUgWmluc2VuIHp1IGthc3NpZXJlbiA7LSkKKworUmluZ29yCisKK1AuUy46IGRpZSBodW5kZXJ0IEphaHJlIGJlemllaGVuIHNpY2ggbmljaHQgYXVmIGRhcyBUZWFtIG11ZC5kZSwgc29uZGVybiBhdWYKK2FsbGUgbW9tZW50YW4gZnVlciBkaXN0cmlidXRlZC5uZXQga25hY2tlbmRlbiBSZWNobmVyLiBVbmQgZGFzIHNpbmQgbW9tZW50YW4KK2ltbWVyaGluIHVlYmVyIHplaG50YXVzZW5kIHZlcnNjaGllZGVuZSBlTWFpbC1BZHJlc3NlbiAuLi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjE0OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxNCk6Cit+IyEgb249QmFicyBvdD04Nzk5ODYzMzYgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49RGVudGkgcnQ9ODc5OTcyOTIzIHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK05hamEsIGVqZGVuZmFsbHMgaGFiIGljaCBhdXMgTmV1Z2llciBtYWwgZGllIFNhZnR3YXJlIGdlc2F1Z3QsIGFiZXIKK2F1ZiBOVCBicmljaHQgZGFubiBzY2hvbiBkYXMgSW5zdGFsbGF0aW9uc3Byb2dyYW1tIGFiLCB3ZWlsIGVzIHVuYmVkaW5ndAorZGFyYXVmIGJlc3RlaHQsIGluIGlyZ2VuZCBlaW4gU3lzdGVtdmVyemVpY2huaXMgcmVpbnp1c2NocmVpYmVuLCB3byBpY2gKK2tlaW5lIFJlY2h0ZSBkcmF1ZiBoYWIuCitEYSBrYW5uIGljaCBhbHNvIGF1Y2ggd2VubiBpY2ggZ3JhZCBhbSBQQyBhcmJlaXQgbml4IG1hY2hlbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjE1OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxNSk6Cit+IyEgb249QW5ha2luIG90PTg4MDAwOTkzOSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1CYWJzIHJ0PTg3OTk4NjMzNiByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitIaSwKKworaW4gZGVyIGxldHp0ZW4gTWVsZHVuZyBoYWJlbiBkaWUgdm9tIHJjNSBnZXNhZ3QgZXMgd3VyZGVuIAorZWluIHBhYXIgQmxvY2tzIHZlcnNjaGx1Y2t0IHVuZCBuaWNodCBpbiBkZXIgU3RhdGlzdGlrCithbmdlemVpZ3QuIEljaCBzZWxic3QgbGFzc2UgbWl0IGNhLiAxLTIgbWtleXMvcyByZWNobmVuCitqZSBuYWNoIFJlY2huZXJsYWdlLgorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xNjogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MTYpOgorfiMhIG9uPUFuYWtpbiBvdD04ODAwMTAyNDIgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QW5ha2luIHJ0PTg4MDAwOTkzOSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitIaSwKKworaWNoIHNlaGUgZ2VyYWRlLCBnZXN0ZXJuIGhhdHRlbiB3aXIgNTQ4MSBra2V5cy9zLiBFcyB3aXJkIGxhbmdzYW0KK21laHIgOikKKworQW5ha2luLgorCitOYWNoenVsZXNlbiBhdWY6CitodHRwOi8vcmM1c3RhdHMuZGlzdHJpYnV0ZWQubmV0L3Rtc3VtbWFyeS5pZGM/VE09NTc2CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xNDogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MTcpOgorfiMhIG9uPU1vcmdvdGggb3Q9ODgwMDEyMjgwIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPURlbnRpIHJ0PTg3OTk3MjkyMyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitVbmQgd2VubiBEdSBqZXR6dCBub2NoIHNhZ3N0IHdvIER1IHdvaG5zdCwgdG9ldGUgaWNoIERpY2ggdW5kIGVyYmUgRGVpbmUKK1JlY2huZXIuIDstKSkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjE3OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxOCk6Cit+IyEgb249Q2F0d2VhemxlIG90PTg4MDAxNTA2MiBvZz1oYXJkc29mdHdhcmUKK34jISBybj1BbmFraW4gcnQ9ODgwMDEwMjQyIHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK0RhcyBrbGluZ3Qgd2lya2xpY2ggbmFjaCB2aWVsLgorSWNoIHd1ZXJkIGphIGdlcm4gdW5zZXIgTWF0aGVuZXR6IG1pdHJlY2huZW4gbGFzc2VuLCBhYmVyIGRhcyBtYWNodCBsZWlkZXIKK3NjaG9uIGVpbiBhbmRlcmVyIFN1cHBvcnRlciB2b24gdW5zIG1pdCBzZWluZXIgUHJpdmF0YWRyZXNzZS4gCitXaXIga29tbWVuIGRhbWl0IGltbWVyaGluIGF1ZiBQbGF0eiA2MCBtaXQgY2EuIDc1MDAga2tleXMvcy4KK1lUQworUFM6IEljaCBrb2VubnRlIE1HIG1pdCByZWluaGFlbmdlbiA6LSkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjE1OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxOSk6Cit+IyEgb249UmFmZmkgb3Q9ODgwMDIxOTcyIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPU1vcmdvdGggcnQ9ODgwMDEyMjgwIHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKKz4gbmltbSByZWNobmVyIGF1cyBsZWljaGUKK0R1IG5pbW1zdCBlaW5lbiBQQy1YVCBhdXMgZGVyIExlaWNoZS4KKworR3JpbnMKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xODogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MjApOgorfiMhIG9uPVJhZmZpIG90PTg4MDAyMjU5NSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODgwMDE1MDYyIHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK2EpIE5UIFByb2dyYW1tOiBEYXMgUHJvZ3JhbW0gYnJhdWNodCBrZWluZXJsZWkgUm9vdHJlY2h0ZSwgdW5kIGF1Y2ggc29ubnN0CisgICBuaXguIGVpbmZhY2ggcmM1NjQwMS13aW4zMi14ODYtZ3VpLnppcCAoMjE2Ljg4NSBCeXRlcykgemllaGVuLCBlbnR6aXBlbiwKKyAgIHVuZCByYzU2NGd1aS5leGUgc3RhcnRlbi4gZGVuIFNldHVwYnV0dG9uIGFua2xpY2tlbiBkaWUgZmVobGVuZGVuIHdlcnRlCisgICBlaW50cmFnZW4gKGdnZi4gZGllIFJlYWRtZSBsZXNlbikgdW5kIGZlcnRpY2guICBOdWxsIFByb2JsZW1vIC0gSWNoIGthbm4KKyAgIG1pciBuaWNodCB2b3JzdGVsbGVuIGRhcyBlcyBpcmdlbmRlaW5lIEtvbmZpZ3VyYXRpb24gZ2lidHIgd28gZGFzIG5pY2h0CisgICBsYWV1ZnQsIG5hY2hkZW1zIHNvZ2FyIHVlYmVyIG1laW5lbiBkb29mZW4gZG9wcGVsdGVuIEZpcmV3YWxsIGZ1bnp0IChpY2gKKyAgIHZlcndlbmRlIGRpZSBIVFRQIFR1bm5lbHVuZyA6KS4KKworYikgU3VjaHplaXQ6IEdlc3Rlcm4gaGF0dGUgZGVyIFNlcnZlciB1bmdlZmFlciA3LjAwMG1rZXlzL3MgYW5nZXplaWd0LgorICAgZGFzIGhlaXNzdCBkYXMgcHJvIHRhZyBmYXN0IDQwIEJpdCBkdXJjaHN1Y2h0IHdlcmRlbi4gRGFubiBrb21tZW4gd2lyIGF1ZgorICAgMl4xNCB0YWdlIGRpZSBkYXMgZGluZyBsYXVmZW4gbXVzcyAtIHdhcyBldHdhIDQ0IEphaHJlIGVudHNwcmljaHQuCisgICBEZWluZSBaaW5zaWRlZSBzY2hhdXQgc2Nob24gc2NobGVjaHRlciBhdXMgLSBhdXNzZXJkZW0gc29sbGUKKyAgIGRlciB0cmVmZmVyIGphIGJlcmVpdHMgcnVuZCB1bSBkaWUgaGFlbGZ0ZSBkZXIgdW50ZXJzdWNodGVuIGtleXMgYXVmdHJldGVuCisgICAoamFqYSwgaWNoIHdlaXNzIHN0YXRpc3Rpc2NoZSBXaWxkc2F1IHVuZCB1bnZlcmJlc3NlcmxpY2hlciBPcHR0aW1pc3QpLgorCitjKSBXSVIgQlJBVUNIRU4gTUVIUiBSRUNIRU5MRUlTVFVORworCitHcnVzcworSC4KKyhJY2ggbGFzcyBqZXR6dCBuYWNodGVucyBub2NoIDQgd2VpdGVyZSBQMjAwIG1pdHJlY2huZW4uKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMTk6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjQ3KToKK34jISBvbj1HcmltbWJvcm4gb3Q9ODgwMDI0NzIwIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDAyMjU5NSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitJY2ggc3RldWVyZSBtb21lbnRhbiBlaW5lbiBQOTAgYmVpLgorV2VubiBtaXIgamVtYW5kIGVyemFlaGx0LCB3aWUgbWFuIHNpY2ggYW4gZWluIFRlYW0gcmFuaGFlbmd0IHd1ZXJkZSBpY2ggZGFzIGphCit0dW4sIHVuZCBhdWNoIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gd2VpdGVyZW4gUmVjaG5lciBiZWlzdGV1ZXJuIChkYSBnaWJ0cyBlaW4KK3BhYXIgdW50ZXJiZXNjaGFlZnRpZ3RlIHVsdHJhc3BhcmNzLi4uKS4KKworR2RBCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo0OSk6Cit+IyEgb249VGFuZ2FsdXIgb3Q9ODgwMDI0ODY0IG9nPWhhcmRzb2Z0d2FyZQorUmFuawlUZWFtL0VtYWlsCVRvdGFsCVRpbWUJVGltZQlLZXkgcmF0ZQorICAgICAgICAgICAgICAgIEJsb2NrcyAJV29ya2luZyBCbG9jawlra2V5cy9zZWMKKworICA0NDkJcmM1QG11ZC5kZQkxNjUxOQkxNyBkYXlzCTIwLU5vdgkyODUxLjI2CisgMTQ1NAlkZW50aUBtZy5tdWQuZGUJIDYyNjggICAxNCBkYXlzCTIwLU5vdiAgMTI5OC4yNworMTA0MzEgICBsZW9AbXVkLmRlCSAgMzg0CTEwIGRheXMJMTktTm92CSAxMTkuMzAKKzEzOTUyCW11ZC5kZQkJICAgODcJMjEgZGF5cwkgMy1Ob3YJICA1NC4wNgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjUwKToKK34jISBvbj1TaWx2YW5hIG90PTg4MDAyNTcyMCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1UYW5nYWx1ciBydD04ODAwMjQ4NjQgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorSG1tbSwgd2VubiBtaXIgYSkgamVtYW5kIGVya2xhZXJ0LCB1bSB3YXMgZXMgZWlnZW50bGljaCBnZWh0IHVuZCBiKSBtaXIKK2plbWFuZCBkZW4gQ29kZSBlbnRzcHJlY2hlbmQgdW1zY2hyZWlidCwga29lbm50ZSBpY2ggdmVyc3VjaGVuLCB1bnNlcmUKK1NTUDIwMDAgbWFsIGZ1ZXIgZGFzIGVpbmUgb2RlciBhbmRlcmUgV29jaGVuZW5kZSBkcmFuIGFyYmVpdGVuIHp1IGxhc3Nlbi4KK0ljaCBzY2hhZXR6ZSwgZGFzIFRlaWwgYnJpbmd0IG5lbiBiaXNzY2hlbiBtZWhyIFJlY2hlbmxlaXN0dW5nLi4uIDopCisKKyAgU2lsdmFuYSAoZ2VodCBkYW5uIG1hbCBkYXMgUlogZXR3YXMgbmVydmVuLi4uKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1MSk6Cit+IyEgb249QW5ha2luIG90PTg4MDAyNjYxNyBvZz1oYXJkc29mdHdhcmUKK34jISBybj1TaWx2YW5hIHJ0PTg4MDAyNTcyMCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDI0ODY0CitIaSwKKword2VubiBqZW1hbmQgZnVlciBzZWluIE9TIGRhcyBQcm9ncmFtbSBicmF1Y2h0OgoraHR0cDovL3d3dy5kaXN0cmlidXRlZC5uZXQvcmM1L3JjNXYyLWNsaWVudHMuaHRtbAorCitJbmZvcyBmdWVyIGRhcyBQcm9qZWN0IGdpYnQgZXMgdW50ZXI6CitodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC8KKworQW5ha2luLiAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjM6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjUyKToKK34jISBvbj1BbmFraW4gb3Q9ODgwMDI2ODU3IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPUFuYWtpbiBydD04ODAwMjY2MTcgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorTm9jaHdhcy4uLgorCitmYWxscyBqZW1hbmQgbWl0bWFjaGVuIHdpbGwsIGVpbmZhY2ggYWxzIEVtYWlsYWRyZXNzZQorcmM1QG11ZC5kZSBpbSBTZXR1cC9Db25maWcgZWluc3RlbGxlbiwgZGFubiBpc3QgbWFuCitiZWkgdW5zIGRhYmVpLgorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTcGFzcyBtaXQgZGVtIEludGVybmV0IEV4cGxvZGVyIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NTMpOgorfiMhIG9uPVJ1bWF0YSBvdD04ODAwMjk1OTIgb2c9aGFyZHNvZnR3YXJlCitBdXMgZGVtIHdhaHJlbiBMZWJlbiAtIGlzdCBtaXIgKnNlbGJzdCogcGFzc2llcnQhCisgCitEYSBkZW5rZSBpY2gsIHNvIHNjaGxpbW0sIHdpZSBhbGxlIExldXRlIHNhZ2VuLCBrYW5uIGRlciBJRSA0MCBqYSBuaWNodAorc2VpbiwgdW5kIHZvcmdlc3Rlcm4gZmFuZCBpY2ggaGVyYXVzLCBkYXNzIGVzIGRhcyBndXRlIFN0dWVjayBzb2dhciBmdWVyCitTb2xhcmlzIGdpYnQuIEdlc2FndCwgZ2V0YW4sIGljaCBsYWRlIG1pciBkYXMgRGluZyBoZXJ1bnRlciAoZ2luZyBuaWNodAorbWl0IE5ldHNjYXBlIDQuMDIsIHNvbmRlcm4gbnVyIG1pdCBOZXRzY2FwZSAzLngsIGFiZXIgZGFzIGlzdCBqYSBrZWluCitQcm9ibGVtKS4gTmFjaCBkZW0gU3RhcnQgcGFja3Qgc2ljaCBkYXMgUHJvZ3JhbW0gYXVjaCBnZW5hdSBkYSBoaW4sIHdvCitpY2ggZXMgc2FnZSAtIGZhc3Qgbm9jaCBiZXNzZXIgYWxzIFRjbC9UayBpbnN0YWxsaWVyZW4uIEljaCBzdGFydGUgZGFzIAorUHJvZ3JhbW0gdW5kIHdhcyBwYXNzaWVydD8gTmFjaCBldHdhIDUgTWludXRlbiBGb250ZGF0ZW4gTGFkZW4gc2VtbWVsdAorbWVpbiBYIGFiIHVuZCBpY2ggYmluIGF1c2dlbG9nZ3QuCisgCitOYWphLCBtZWluIFhjbGllbnQgaXN0IGphIG5pY2h0IGdlcmFkZSBidWdmcmVpLCBhbHMgdmVyc3VjaGUgaWNoIGVzIG1pdAorbmllZGlnZW0gbG9hZCBub2NoIGVpbm1hbC4gV2llZGVyIGRyYXVzc2VuLiBIbW0sIGxpZWJlciBvbHZ3bSBzdGF0dCBhZnRlcnN0ZXAKK25laG1lbj8gSWNoIGZsaWVnZSBub2NoIHZvciBkZXIgSW5zdGFsbGF0aW9uIGRlcyBGb250Y2FjaGVzIHJhdXMuIE9rLAorSUU0MCBkZWluc3RhbGxpZXJlbiwgbmV1IGluc3RhbGxpZXJlbiB1bmQgbm9jaG1hbC4gV2llZGVyIGRyYXVzc2VuLgorIAorTmFjaGRlbSBpY2ggYWxsZXMgbmFjaCAvZGV2L251bGwgdmVyc2Nob2JlbiBoYXR0ZSB1bmQgbWljaCBtYWwgd2llZGVyIGFuIGRlbgorb2x2d20gZ2V3b2VobnQgaGF0dGUsIHN0ZWxsdGUgaWNoIGFtIG5hZWNoc3RlbiBUYWcgZmVzdCwgZGEgbWVpbiBSZWNobmVyCit1bmdld29laG5saWNoIGxhKG4pZ3NhbSB3YXIuIEVpbiBwcyBlcmdhYiB2aWVyIGxhdWZlbmRlIEludGVybmV0ZXhwbG9yZXIuCisgCitIdXQgYWIgdm9yIE1pY3Jvc29mdCwgZWluIFByb2dyYW1tIHp1IHNjaHJlaWJlbiwgZGFzcyBlaW5lbiBBYnN0dXJ6IGRlcworWFNlcnZlcnMgdWViZXJsZWJ0LiBXZWl0ZXIgc28sIHZpZWxsZWljaHQgc2NoYWZmdCBpaHIgZXMgZG9jaCBub2NoLCBhdWNoCitVbml4IFJlY2huZXIgaW0gU3R1bmRlbnRha3QgenVtIEJvb3RlbiB6dSBiZWtvbW1lbi4KKworUnVtYXRhLCBkZXIgZXMgbWFsIHdpcmtsaWNoIG9obmUgVm9ydXRlaWxlIHZlcnN1Y2h0IGhhdHRlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNDogU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NTQpOgorfiMhIG9uPUFuYWtpbiBvdD04ODAwMzAwNTYgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QW5ha2luIHJ0PTg4MDAyNjg1NyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDI0ODY0CitOdXIgbm9jaCBuZSBLbGVpbmlna2VpdC4gRGEgbWljaCBzY2hvbiBlaW5pZ2UgZ2VmcmFndCBoYWJlbgoraGFiIGljaCBuZSBrbGVpbmUgRkFRIHp1c2FtbWVuZ2ViYXN0ZWx0LgorLT4gaHR0cDovL3d3dy5hZWktcG90c2RhbS5tcGcuZGUvfndlaHJlbnMvcmM1LworV2VyIG5vY2ggSWRlZW4gaGF0IHdhcyByZWluIHNvbGwuIE1haWwgbWUuCisKK0FuYWtpbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjU6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjU1KToKK34jISBvbj1LZXkgb3Q9ODgwMDM4MTk0IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPUFuYWtpbiBydD04ODAwMzAwNTYgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorV2VubiBtYWwgd2VyIHNvIG5ldHQgd2FlcmUgdW5kIGdlbmF1IHVuZCB2b3IgYWxsZW0gYXVmIERFVVRTQ0ggYWxsZXMgZXJrbGFlcmVuCitrb2VubnRlLCBrb2VubnRlbiBoaWVyIG5lbiBwYWFyIHJlY2huZXIgbWl0bWFjaGVuIGRpZSBlaCBpbW1lciBhbiBzZWluIC4uLgorCitBdXRzY2ggd2FzIHdpbiBkZXV0c2NoIGljaCBrb2VubmVuIHNwcmVjaGVuIGhldXRlIDspKQorCitLZXkgbml4IHZlcnN0ZWhuIGluZ2xpc2NoIDopCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV42OiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1Nik6Cit+IyEgb249VGFuZ2FsdXIgb3Q9ODgwMDM4NTYzIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPUtleSBydD04ODAwMzgxOTQgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorSXN0IGRhcyBkZW5uIHNvb29vbyBzY2h3ZXIgPworRGllIFNlaXRlIGlzdCBkb2NoIG51biBlY2h0IGd1dCBnZW1hY2h0LgorRW8gRWluZmFjaCBmdWVyIGRlbiBlbnRzcHJlY2hlbmRlbiBSZWNobmVyL0JldHJpZWJzc3lzdGVtCitkaWUgU29mdHdhcmUgZG93bmxvYWRlbiB1bmQgaW5zdGFsbGllcmVuLgorQWxzIGUtbWFpbCBhZHJlc3NlIGdpYnN0IHJjNUBtdWQuZGUgYW5nZWJlbi4gRmVydGlnICEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjc6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjU3KToKK34jISBvbj1LZXkgb3Q9ODgwMDM5MDY4IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVRhbmdhbHVyIHJ0PTg4MDAzODU2MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDI0ODY0CitKYSBkaWUga2xlaW5lbiBHcmFmaWtlbiBzaW5kIGVjaHQgbmllZGxpY2gsIHVuZCBtZWhyIHdlaXNzIGljaCB2b24gZGVtIHRlaWwKK25ldC4KKworS2V5CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV42OiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1OCk6Cit+IyEgb249R25vbWUgb3Q9ODgwMDM5MTMxIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPUtleSBydD04ODAwMzgxOTQgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorYWFhYWFsc286CitlcyBnZWh0IGRhcnVtLCBkYXNzIFJDNSAoZmlybWEgb2RlciBzby4uKSBlaW5lbiB3ZXR0YmV3ZXJiIHZlcmFuc3RhbHRldCwKK2VpbmVuIGNvZGUgenUga25hY2tlbi4gZGllc2VyIHdpcmQgbWl0IGltbWVyIGxhZW5nZXJlbiBzY2hsdWVzc2VsbiBjb2RpZXJ0Cisoei5adC4gNjQgQml0KS4gZGVyIGxldHp0ZSBoYXR0ZSA1NiBCaXQgdW5kIHd1cmRlIGlubmVyaGFsYiB2b24gZWluIHBhYXIKK21vbmF0ZW4gZ2VrbmFja3QsIG5hdHVlcmxpY2ggZ2VodCBkYXMgbmljaHQgYWxsZWluZSwgZGFubiB3dWVyZGUgbWFuIGRhCisxMDAwIGphaHJlIGRyYW5zaXR6ZW4sIGFiZXIgd2VubiB2aWVsZSBtaXRtYWNoZW4gKHVlYmVycyBJbnRlcm5ldCksIGRhbm4KK2dlaHQgZGFzIHJlY2h0IGZpeC4gZC5oLiBtYW4gaG9sdCBzaWNoIHNvIGVpbmVuIGNsaWVudCAoc2llaGUgYW5raW5zCithZHJlc3NlbmFuZ2FiZSBpbiBlaW5lciBkZXIgYXJ0aWtlbCBkYXZvcikgZW50c3ByZWNoZW5kIHNlaW5lcyBzeXN0ZW1zCitkYW5uIGluc3RhbGxpZXJlbiB1bmQgbGF1ZmVubGFzc2VuLiB3ZXIgbmUgc3RhbmRsZWl0dW5nIGhhdCwga2FubiBlcworZGVuIGdhbnplbiB0YWcgbGF1ZmVuIGxhc3Nlbiwgd2VyIG5pY2h0LCBkZXIga2FubiBzaWNoIGVpbiBwYWFyIGJsb2NrcworaG9sZW4sIGRlbiByZWNobmVyIHJlY2huZW4gbGFzc2VuIChkYXp1IGJyYXVjaHQgbWFuIGtlaW5lIGludC12ZXJiaW5kdW5nCittZWhyKSwgZGFubiBkaWUgYXVzZ2VyZWNobmV0ZW4gYmxvY2tzIHdpZWRlciBoaW5zY2hpY2tlbiwgd2llZGVyIGVpbiBwYWFyCitob2xlbiBldGMuIFdJQ0hUSUc6IHdpciBicmF1Y2hlbiBuYXR1ZXJsaWNoIHNvdmllbCB3aWUgbW9lZ2xpY2ggcmVjaGVuLQorbGVpc3R1bmcsIE5PQ0ggV0lDSFRJR0VSOiBkYW1pdCBXSVIgKGFscyB0ZWFtICJtdWQuZGUiKSB2aWVsbGVpY2h0IGdld2luLQorbmVuIChqYSwgZXMgZ2lidCBhdWNoIGVpbmVuIGdlbGRwcmVpcyA6KSwgbXVzcyBhbHMgYWRyZXNzZW5hbmdhYmUgZG9ydDoKKyJyYzVAbXVkLmRlIiBzdGVoZW4sIGRhbWl0IGRpZSBhdXNnZXJlY2huZXRlbiBibG9ja3MgYXVmIHVuc2VyIGtvbnRvIGdlaGVuIQord2VyIGVzIG5vY2ggZ2VuYXVlciBoYWJlbiBtb2VjaHRlIC0+IG1haWwgYW5ha2luIDopCisKK2duT21lCisKK3Aucy4gYWNoc28sIGRhcyBnYW56ZSBoYXQgYXVjaCBlaW5lbiBzaW5uOiBuYWVtbGljaCB1bSB6dSB6ZWlnZW4sIGRhc3MKKyAgICAgNjQtQml0LVNjaGx1ZXNzZWwgbW9tZW50YW4gbmljaHQgc2ljaGVyIHNpbmQgdW5kIGRlc2hhbGIgZWluIHBhYXIKKyAgICAgZ2VzZXR6ZSBnZWFlbmRlcnQgd2VyZGVuIHNvbGx0ZW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV43OiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1OSk6Cit+IyEgb249QW5hdG9sIG90PTg4MDAzOTQ5MCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1Hbm9tZSBydD04ODAwMzkxMzEgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDAyNDg2NAorR3V0ZSBBdXNmdWVocnVuZywgbnVyIGVpbmVzIGhhYmUgaWNoIG5pY2h0IGdhbnogdmVyc3RhbmRlbi4uLjoKK0RlciA1NmJpdC1TY2hsdWVzc2VsIHd1cmRlIGluIDI3MCBUYWdlbiBnZWtuYWNrdC4gV2VubiB3aXIgZGF2b24gYXVzZ2VoZW4sIAorZGFzcyBkaWUgV2FocnNjaGVpbmxpY2hrZWl0IGdlbmF1c28gYmVpbSA2NGJpdC1TY2hsdWVzc2VsIHp1c2NobGFlZ3QsIGR1ZXJmdGUKK2RhcyBkYW5uIGRvY2ggMjcwIFRhZ2UgKiAyXig2NC01NikgLSBhbHNvIGFuIGRpZSA3MDAwMCBUYWdlIHNlaW4uIAorCitKYWFhLCBvaywgbWFuIGJyYXVjaHQgYWxzbyBtZWhyIFJlY2hlbmxlaXN0dW5nLiBBYmVyIGljaCBiZXp3ZWlmbGUgaXJnZW5kd2llLCAKK2Rhc3MgbWFuIGxvY2tlcmZsb2NraWcgZGFzIDI1Ni1mYWNoZSBhdWYgZGllIEJlaW5lIGJyaW5ndCB3aWUgYmVpbSBsZXR6dGVuIAorbWFsLiBPZGVyIHRhZXVzY2hlIGljaCBtaWNoIGluIGlyZ2VuZGVpbmVyIGRpZXNlciBaYWhsZW4uLi4/CisKK0FuYXRvbCwgd2Vpc3MgZXMgbmljaHQKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeODogU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MDApOgorfiMhIG9uPUdub21lIG90PTg4MDAzOTc5MSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1BbmF0b2wgcnQ9ODgwMDM5NDkwIHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04ODAwMjQ4NjQKK2ltIHByaW56aXAgaGFzdCBkdSByZWNodC4KK2Rlc2hhbGI6IG1laHIgcmVjaGVubGVpc3R1bmchIGRlbm4gbWl0IGplZGVtIHJlY2huZXIgbWVociBlcmhvZWh0IHNpY2gKK2RpZSB3YWhyc2NoZWlubGljaGtlaXQsIGRhc3Mgd2lyIGRlbiBjb2Rla25hY2tlciBhdWNoIG5vY2ggZXJsZWJlbgorZHVlcmZlbi4uLiA7LSkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIwOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowMSk6Cit+IyEgb249UmFmZmkgb3Q9ODgwMDQwNDQzIG9nPWhhcmRzb2Z0d2FyZQorQWxzbyBub2NobWFsIGZ1ZXIgdW5zZXIgU2NobHVlc3NlbGNoZW46CisKK0VzIGdlaHQgZGFydW0gZWluZSA2NC1CaXQgU2NobHVlc3NlbCB6dSBrbmFja2VuIC0gc28gcmljaHRpZyBtaXQgYnJ1dGUtZm9yY2UKKy4uLiBhbHMgTWV0emVsbWFlc3NpZy4gRGFmdWVyIHdlcmRlbiBsZXV0ZSBnZXN1Y2h0IGRpZSBpaHJlIFJlY2huZXIgd2FyZW5kIHNpZQorZ2VyYWRlIG5peCB6dSB0dW4gaGFiZW4gbWV0emVsbiBsYXNzZW4gLSBhbHNvIHByYWt0aXNjaCBzb3dhcyB3aWUKK3RmLU1ldHplbHNjcmlwdGUgOikKKworSXJnZW5kd28gaW4gZGVuIFdlaXRlbiBEZXMgSW50ZXJuZXRzIHN0ZWh0IGVpbiBrbGVpbmVyIFNlcnZlciBydW0sIGRlciBhbiBBbGwKK2RpZSBNZXR6ZWx3aWxsaWdlbiBTY2hsdWVzc2VsYmVyZWljaGUgdmVydGVpbHQsIHVuZCBkaWUgZXJnZWJuaXNzZSBkZXIgU3VjaGUKK3dpZWRlciBlbnRnZWdlbm5pbW10LgorCitKZWRlciBrYW5uIHNpY2ggZWluIHNvbGNoZXMgS2V5LU1ldHplbC1TY3JpcHQtUHJvZ3JhbW0gcnVudGVybGFkZW4gdW5kCitsb3NsYXVmZW5sYXNzZW4gLSBFaW56aWdlIEJlZGluZ3VuZyBpc3QsIGRhcyBEaWUgQ1BVIG1laHIgbGVpc3R1bmcgYWxzIEVpbmUKK1dhc2NobWFzY2hpZW5lIGhhdCwgdW5kIGF1c3NlcmRlbSBhYiB1bmQgenUgenVncmlmZiBhdWZzIEludGVybmV0LgorCitEZXIgU2VydmVyIHZlcm1lcmt0IGZ1ZXIgamVkZW4gZGVyIG1pdG1hY2h0IHdlbGNoZSBCbG9ja3MgZGVyIGR1cmNoc3VjaHQgaGF0LAordW5kIHdpZXZpZWwuIFRlaWxuZWhtZXIga29lbm5lbiBzaWNoIHp1IE1ldHplbHRlYW1zIHp1c2FtbWVuc2NobGllc3NlbiwgdW5kIHNvCitpaHJlIEdld2lubmNoYW5jZW4gRXJob2VoZW4uCisKKyhBY2ggamEsIEdld2lubmNoYW5jZW46IFdlciBkZW4gU2NobHVlc3NlbCBrbmFja3QgYmVrb21tdCAxMC4wMDAgRVAgYWVoIFVTRAorbWVpbiBpY2gpCisKK0FuYWtpbiBoYXQgdm9yIDMgd29jaGVuIGRhcyBtdWQuZGUgdGVhbSBpbml0aWllcnQsIHVuZCB3aXIgaGFiZW4gdW5zIGJlcmVpdHMKK2F1ZiByYW5nIDIyMCBkZXIgaGl0bGlzdGUgaG9jaGdlc3BpZWx0LiAoSm8sIEJlc3Rlbmxpc3RlbiBnaWJ0cyBkYSBkYW5uIGF1Y2gKKzopCisKK1dhcyBicmF1Y2hzdCBkdSBub2NoIGFuIEluZm8gPworCitHcnVzcworSC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIxOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowMik6Cit+IyEgb249UmFmZmkgb3Q9ODgwMDQxNTIwIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDA0MDQ0MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDQwNDQzCitOYWNodHJhZzoKKworRGEgR2VsZCBpc3QgZnVlciBkaWUgbmFjaHN0ZSBNdWRwYXJ0eSB2b3JnZXNlaGVuIC0gd2UgbWl0Y3JhY2t0IGtyaWVndAorYmVzc2VyZXMgQmllciwgYmVzc2VyZSBXdWVyc2NodGVsLCB1bmQgU3VwZXJCZWRpZW51bmcgOikKKworQW5hdG9sOiBqbywgbWVociByZWNobmVyLCBtZWhyIHJlY2huZXIsIG1laHIgUmVjaG5lci4KK1RhdHNhY2hlIGlzdCBkYXMgZXMgamV0enQgc2Nob24gZmFzdCBkaWUgZG9wcGVsdGUgcmVjaG5lbGVpc3R1bmcgaXN0IHdpZSBiZWltCitSQzUtNTYuCisKK0dydXNzCitILgorCitQLlMuOiB3ZXIgaXN0IGVpZ2VudGxpY2ggc29wcGVAdW5pLW11ZW5zdGVyLmRlID8gLSBEaWUgaGFiZW4gc2NoZWluYmFyIG5lCityaWNodGlnIGdyb3NzZSBSZWNoZW5sZWlzdHVuZyAtIHVlYmVyIDcuMDAwIGtrZXlzL3Nla3VuZGUgaW4gbXVlbnN0ZXIgLi4uIGthbm4KK2RhIG5pY2h0IG1hbCBlaW5lciBzY2hhdWVuIG9iIG1hbiBkaWUgaW5zIHRlYW0gYnJpbmd0ID8KKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMjE6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjAzKToKK34jISBvbj1aZXBoeXIgb3Q9ODgwMDQxOTA0IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDA0MDQ0MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDQwNDQzCisKK0VpbiBLZXktTWV0emVsLVNrcmlwdC1Qcm9ncmFtbT8gTGFldWZ0IGRhcyBuaWNodCBhdWYgUGxheWVya2lsbCByYXVzPworCitaZXBoLCBtYWwgd2llZGVyIGtvbWlzY2ggZHJhdWYKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIyOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowNCk6Cit+IyEgb249QW5hdG9sIG90PTg4MDA0MTk1MiBvZz1oYXJkc29mdHdhcmUKK34jISBybj1aZXBoeXIgcnQ9ODgwMDQxOTA0IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04ODAwNDA0NDMKK1dpZSBoYWV0dGUgZXIgc29uc3QgenUgc2VpbmVuIDM3NSBUb2RlbiBrb21tZW4gc29sbGVuLi4uPworCitBbmF0b2wgLSB1bmQgd28gaXN0IEdyaW1tYm9ybiBoaW4/CisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIyOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowNSk6Cit+IyEgb249Q2F0d2VhemxlIG90PTg4MDA0MjI5MyBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04ODAwNDE1MjAgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDA0MDQ0MworWnVtIFBTOgorR2VuYXUgZGFzIGlzdCBlaW5lciB1bnNlcmVyIFN1cHBvcnRlci4gCitXaXIgaGFiZW4gY2EuIDEzMCBTdW5zIHZvbiBkZW5lbiBydW5kIGRpZSBIYWVsZnRlIHZvbiAyMDowMCBiaXMgNjowMCBVaHIgYW4KK2RlbSByYzU2NCByZWNobmV0LiBJY2ggd2VyZGUgaWhuIGZyYWdlbiwgb2RlciBiaXR0ZW4gZXMgYXVzenVzdGVsbGVuLCBkYW5uCittZWxkZSBpY2ggZGFzIGF1ZiByYzVAbXVkLmRlIGFuLgorCitZb3VycyB0cnVseSwKKyAgICAgIENhdHdlYXpsZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMjM6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjA2KToKK34jISBvbj1SYWZmaSBvdD04ODAwNDI0NzEgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDA0MjI5MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDQwNDQzCitTdXBhIC0gTWl0IGRlbSB6dXNhbW1lbiBoYWV0dGVuIHdpciBiYWxkIG5lIHJhdGUgdm9uIHVlYmVyIDExLjAwMCBra2V5cy9zIC4uLgorZGFzIGhlYnQgZGllIGNoYW5jZW4gYmV0cmFlY2h0bGljaC4KKworRGFzIGxhbmd0IGZ1ZXIgZWluZW4gcGxhdHogdW50ZXIgZGVuIGVyc3RlbiAzMCAuLi4gCisKK0dyaW5zCitILgorKEZyZXV0IHNpY2ggc2Nob24gYXVmIGRpZSBQYXJ0eSkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIxOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowNyk6Cit+IyEgb249S2V5IG90PTg4MDA0MjQ3NyBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04ODAwNDA0NDMgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDA0MDQ0MworSG1tIGphIGRvY2ggLi4uIAorV2VyIGhhdCBkYXMgc2NyaXB0IGdlc2NocmllYmVuPyB1bmQgaXN0IGRhcyBuZXQgdmVyYm90ZW4/CitBdXNzZXJkZW0gd2VyIHNwZW5kaWVydCBtaXIgZGllIG11ZW56ZW4gZnVlcnMgdGFua2VuPyAuKQorCitLZXkgc2NobWFycm5lbmQgdW5kIHNlaW5lbiByZWNobmVyIHNjaG9uIGRyYW5nZXNldHp0IDspCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yMjogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MDgpOgorfiMhIG9uPVJhZmZpIG90PTg4MDA0MjU5NCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1LZXkgcnQ9ODgwMDQyNDc3IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04ODAwNDA0NDMKKworSWNoIHNjaGFldHogbWFsIER1IGhhc3QgenV2aWVsZSBLdWVoZSBhdWYgZGVtIEJhdWVybmhvZiBnZWtpbGx0LCB1bmQgbnUgaGFiZW4KK2RpZSBzaWNoIHp1c2FtbWVuZ2VzZXR6dCAod3d3LmJvdmluZS5uZXQpIHVuZCBlaW4gS2V5LU1ldHplbC1TY3JpcHQtUHJvZ3JhbW0KK2dlYmFzdGVsdC4gRnVlciBkaWUgVGFua211ZW56ZW4gZnJhZyBtYWwgZGVpbmVuIGxvY2FsIGludGVsIGRlYWxlci4KKworR3JpbnMKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yMzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MDkpOgorfiMhIG9uPUtleSBvdD04ODAwNDI1OTYgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDA0MjI5MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDQwNDQzCisxMzAgU3Vucz8/Pz8gVWZmCisKK0tleSBnZWh0IG1hbCBzZWluZSBLb2xsZWdlbiBmcmFnZW4gb2IgZGVyZW4gUmVjaG5lciB1bnRlcmJlbGFzdGV0IHNpbmQuIDopCisKK1AuUy46IEFlaCBSYWZmaSBoYWIgZG9jaCBub2NoIHdhcyAuLi4gd2VubiBtYW4gZGFzIHRlaWwgdW50ZXIgZG9zIGxhdWZlbgorbGFlc3N0LCB1bmQgZGFubiB3aW4gc3RhcnRldCwgc3RvZWhydCBkYXMgZGFzIHByb2c/IG9kZXIgdW1nZWtlaHJ0PyBhbHNvIHdlbm5zCit1bnRlciB3aW4gbGFldWZ0IHVuZCBtYW4gZGFzIGFic2NoYWx0ZXQgOikKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjI0OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoxMCk6Cit+IyEgb249UmFmZmkgb3Q9ODgwMDQyNjYzIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPUtleSBydD04ODAwNDI1OTYgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDA0MDQ0MworVW50ZXIgRG9zIGxhdWZlbiBsYXNzZW4gdW5kIGRhbm4gV2luZG93cyBzdGFydGVuID8gU2NoYWV0emUgZGFzIGdlaHQgbmljaHQKK2d1dC4KKworR3J1c3MKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yNTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTEpOgorfiMhIG9uPVNpbHZhbmEgb3Q9ODgwMDQ0Mzc3IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDA0MjY2MyByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDQwNDQzCisuLi51bmQgYW5kZXJlc3J1bSBnZWh0cyBnYXJhbnRpZXJ0IHNjaGllZiEKKyAgU2lsdmFuYQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMTk6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjEyKToKK34jISBvbj1BdmFsb24gb3Q9ODgwMDQ0NTY1IG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDAyMjU5NSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitEaWUgNDQgSmFocmUgZ2VoZW4gdm9uIGRlciBkZXJ6ZWl0aWdlbiBSZWNoZW5sZWlzdHVuZyBhdXMuIFdlbm4gd2lyCitiZXJ1ZWNrc2ljaHRpZ2VuLCBkYXNzIHNpY2ggc2VsYmlnZSBhYmVyIGltIFNjaG5pdHQgYWxsZSAyIEphaHJlCit2ZXJkb3BwZWx0LC4uLi4uIHNpbmQgd2lyIGJhbGQgZmVydGlnIDopCisKK2kuVi4sIHdvb2R5Li0gW3NvcnJ5LCB0ZWFtIGF1c3RyaWFdCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yMDogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTMpOgorfiMhIG9uPVJhZmZpIG90PTg4MDA0NTc0NCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1BdmFsb24gcnQ9ODgwMDQ0NTY1IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK1dhYWFhYWFhaCBlaW4gc3Bpb24gLi4uLiBhZWggbmVlIGZhbHNjaGVyIGFuc2F0eiAtIGV1Y2ggaG9obGVuIHdpciBlcnN0bWFsCitoZWltIGlucyByZWljaCAhCisKK0dyaW5zCitILgorUC5TLjogd2VyIHNlaW5lbiByZWNobmVyIHVuZCBzZWluZSBXb3Jrc3RhdGlvbiBub2NoIG5pY2h0IHJlY2huZW4gbGFlc3N0IGJpdHRlCitiZWkgbWlyIChvZGVyIGFuYWtpbiBvZGVyIEdyaW1tYm9ybikgbWVsZGVuIC4uLi4gZGFzIG11c3MgZ2VhZW5kZXJ0IHdlcmRlbiAtCit3ZXIgYWJlbmRzIDUgc3R1bmRlbiB2b3IgbmVyIHVuaXgtV29ya3N0YXRpb24gb2RlciBlaW5lbSBQQyBzaXR6dCBrYW5uCitwYXJhbGxlbCBhdWNoIEtleXMtTWV0emVsbi4gVEYgb2RlciB0ZWxuZXQgd2lyZCBkYXZvbiBwcmFrdGlzY2ggbmljaHQgZ2VzdG9lcnQKKy0gZnJhZ3QgT3JrdG9ldGVyLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMjE6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE0KToKK34jISBvbj1DYXR3ZWF6bGUgb3Q9ODgwMDUxMjMwIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJhZmZpIHJ0PTg4MDA0NTc0NCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCitHdWdndWchCisKK01pY2ggd3VlcmQgaW50ZXJlc3NpZXJlbiwgd2lldmllbGUgYmVyZWl0cyBpbiB1bnNlcmVyIEdydXBwZSBtaXRtYWNoZW4uCitJbnNiZXNvbmRlcmUsIG9iIG1laW5lIERhdGVuIGFua29tbWVuIDopCisKK1lUQworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMjI6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE1KToKK34jISBvbj1SYWZmaSBvdD04ODAwNTE4MTggb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDA1MTIzMCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODc4NTY5NzMxCithbHNvIG1pdG1hY2hlbiB0dW4gbWVpbmVzIFdpc3NlbnM6CitBbmFraW4KK0NhdHdlYXpsZQorRGVudGkgKG1pdCBlaWdlbmVyIE1haWxhZHJlc3NlKQorRWlzaQorR25vbWUKK0dyaW1tYm9ybgorS2Fyb2wKK0tleQorT3JrdG9ldGUKK1JhZmZpCisKK0htbSBhZWggbWVociBmYWxsZW4gbWlyIGF1ZiBkaWUgc2NobmVsbGUgbmljaHQgZWluLgorCitHcnVzcworSC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIzOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoxNik6Cit+IyEgb249RnJldW5kIG90PTg4MDA1NTQxOSBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04ODAwNTE4MTggcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorTnVyIGRlciBWb2xsc3RhZW5kaWdrZWl0IGhhbGJlci4uLgorCitGcmV1bmQgbWFjaHQgYXVjaCBtaXQuIDotKQorCitEZXJzZWxiZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0FubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE3KToKK34jISBvbj1SaW5nb3Igb3Q9ODgwMDU3OTU1IG9nPWhhcmRzb2Z0d2FyZQorSGlobyEKKworV2VpbCBnZXJhZGUgZGllIEZyYWdlIGF1ZiAtcmM1IGthbSB1bmQgZGFzIGJpc2hlciBuaWNodCBlcndhZWhudCB3dXJkZTogYXVmCitJbnRlbC1LaXN0ZW4gdW5kIENsb25lcyBrYW5uIHJjNTY0IG5pY2h0IGltbWVyIHp1dmVybGFlc3NpZyBmZXN0c3RlbGxlbiwKK3dlbGNoZSBDUFUgIGdlbmF1IGltIFJlY2huZXIgc3RlY2t0LiBVbmQgZGEgZGFzIFByb2dyYW1tIGplIG5hY2ggQ1BVIHNwZXppZWxsZQorT3B0aW1pZXJ1bmdlbiB2b3JuaW1tdCwga2FubiBkdXJjaCBkaWUgZmFsc2NoZSBFaW5zdGVsbHVuZyB3ZXJ0dm9sbGUKK1JlY2hlbnplaXQgdmVyc2Nod2VuZGV0IHdlcmRlbiA7LSkKKworQWxzbyBlaW5mYWNoIG1hbCAncmM1NjQgLWNvbmZpZycgYXVmcnVmZW4gKGJ6dyByYzUgb2RlciB3aWUgYXVjaCBzb25zdCBkYXMKK0ZpbGUgaGVpc3N0KSB1bmQgdW50ZXIgUHVua3QgMTUgZGllIHZvcmhhbmRlbmUgQ1BVIGVpbnN0ZWxsZW4uCisKK1VuZCBmdWVyIExldXRlLCBkaWUgZGllIEJpbGRzY2hpcm1hdXNnYWJlbiBuaWNodCBoYWJlbiB3b2xsZW4gKHZvciBhbGxlbSwgd2VubgorZGVyIFByb3plc3MgaW0gSGludGVyZ3J1bmQgd2VpdGVybGF1ZmVuIHNvbGwsIG5hY2hkZW0gbWFuIHNpY2ggYXVmIGRlciBLaXN0ZQorYXVzZ2Vsb2dndCBoYXQpLCBlbXBmaWVobHQgc2ljaCBhbHMgQXVmcnVmIGdlbmVyZWxsICdub2h1cCByYzU2NCA+L2Rldi9udWxsJicKKyhnaWx0IGZ1ZXIgTGludXggdW5kIGFuZGVyZSBVbmljZXMpLgorCitGdWVyIGRpZSBOZXVnaWVyaWdlbiwgZGllIHRyb3R6ZGVtIHdpc3NlbiB3b2xsZW4sIHdhcyBkYXMgUHJvZ3JhbW0gaW4gZGVyCitad2lzY2hlbnplaXQgc28gZ2VtYWNodCBoYXQsIGVtcGZpZWhsdCBlcyBzaWNoLCB1bnRlciBQdW5rdCA3IGVpbmVuIE5hbWVuIGZ1ZXIKK2VpbiBMb2dmaWxlIGFuenVnZWJlbi4KKworUmluZ29yCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yMzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTgpOgorfiMhIG9uPU5hc2ltIG90PTg4MDA1ODc3NCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1SYWZmaSBydD04ODAwNTE4MTggcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg3ODU2OTczMQorPEF1ZnplaWc+IEhpZXIuIE1vbWVudGFuIG51ciBtaXQgMTI1a2tleS9zIHJ1bmQgdW0gZGllIFVociwgd2lyZCBhYmVyCitkZW1uYWVjaHN0IG1laHIhIAorCitOYXNpbQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE5KToKK34jISBvbj1OYXNpbSBvdD04ODAwNTkwOTIgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49UmluZ29yIHJ0PTg4MDA1Nzk1NSByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDU3OTU1CitTZWhyIHNjaG9lbiBpc3QgYXVjaCBkZXIgaGlkZGVuLUNsaWVudCBmdWVyIFNpbm5sb3MgOTUgLSB0YXVjaHQgd2lya2xpY2gKK25pcmdlbmR3byBhdWYsIGVzIHNlaSBkZW5uLCB3aW50b3AgYXVzIGRlbiBrZXJuZWx0b3lzIGlzdCBpbnN0YWxsaWVydC4KK0FjaHR1bmcsIGRhcyBEaW5nIGJyYXVjaHQgZWluZSByYzU2NC5pbmkgLSBkaWUgbGVndCBlcyBiZWltIGVyc3RlbiBTdGFydAorc2VsYnN0YWVuZGlnIGFuLCBhbGxlcmRpbmdzIG1pdCBkZXIgZmFsc2NoZW4gRU1haWwtQWRyZXNzZS4gQWxzbyBSZWNobmVyCitzY2huZWxsIG5ldSBib290ZW4gKG9kZXIgbWl0IHdpbnRvcCBkZW4gUHJvemVzcyBhYnNjaGllc3NlbikgdW5kIGRpZSBpbmkKK2VkaXRpZXJlbi4KKworTmFzaW0gKG1hY2h0IGhhcm1sb3NlIE1pdGFyYmVpdGVyIHp1IENyYWNrZXJuKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjIwKToKK34jISBvbj1BdmFsb24gb3Q9ODgwMDc1OTQwIG9nPWhhcmRzb2Z0d2FyZQorfiMhIHJuPVJpbmdvciBydD04ODAwNTc5NTUgcmc9aGFyZHNvZnR3YXJlCit+IyEgdGlkPTg4MDA1Nzk1NQorS2xlaW5lcyBOb3RhIGJlbmUgYW0gUmFuZGU6IERlciBBTUQgSzYgKC0yMDAgZ2V0ZXN0ZXQpIGxhZXVmdAorbWl0IGRlciBFaW5zdGVsbHVuZyAzODYvNDg2IHNjaG5lbGxlciBhbHMgbWl0IGRlciBLNi1FaW5zdGVsbHVuZywKK2JyaW5ndCBpbiBzZWxiaWdlciBuYWVtbGljaCAzMDVrIHN0YXR0IDI4Nmsga2V5cy9zZWMuCisKK2lWLiB3b29keS4tCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUmU6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjIxKToKK34jISBvbj1SYWZmaSBvdD04ODAxMDA3MTYgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QXZhbG9uIHJ0PTg4MDA3NTk0MCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDU3OTU1CitXZWxjaGVzIEJTID8gdW50ZXIgV2luRG9vZjk1L05UIGJyaW5ndCBkZXIgSzYyMDAgcnVuZCAzMTUgLSBhbHMgSzYuCisKK05hc2ltOiBrYW5ucyBzZWluIGRhcyBkdSBlaW5lbiBhbmRlcmVuIGVpbnNldHp0IGFscyBpY2ggPyB3ZW5uIGljaCBhdWYgaGlkZGVuCitnZWhlIGtvbW10IGluIGRlciBTdGF0dXNsZWlzdGUsIGxpbmtzIHVudGVuLCBlaW4ga2xlaW5lciBSaW5kZXJzY2hhZWRlbCwgdWViZXIKK3dlbGNoZW4gbWFuIGRlbiByYzU2NCB3aWVkZXIgaG9jaGhvbGVuIGthbm4gLi4uIGF1c3NlcmRlbSBnZWh0IGRpZQorS29uZmlndXJhdGlvbiBzY2hvZW4gdWViZXIgZGFzIHJjNTY0Z3VpLgorCitHcnVzcworSC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogQW5tZXJrdW5nIGZ1ZXIgeDg2LUJlbnV0emVyIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MjIpOgorfiMhIG9uPUZyZXVuZCBvdD04ODAxMDM3MjAgb2c9aGFyZHNvZnR3YXJlCit+IyEgcm49QXZhbG9uIHJ0PTg4MDA3NTk0MCByZz1oYXJkc29mdHdhcmUKK34jISB0aWQ9ODgwMDU3OTU1CitTb3JyeSwKKworYmVpIG1pciBicmluZ3QgZGVyIEs2LTIwMCAzMTI1MDAga2V5cy9zZWsuIAorCitNZXJrc2FtLi4uCitGcmV1bmQuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4yNDogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MjMpOgorfiMhIG9uPVRhbmdhbHVyIG90PTg4MDEwMzc3OCBvZz1oYXJkc29mdHdhcmUKK34jISBybj1GcmV1bmQgcnQ9ODgwMDU1NDE5IHJnPWhhcmRzb2Z0d2FyZQorfiMhIHRpZD04Nzg1Njk3MzEKK1RhbmdhbHVyIG1hY2h0IGF1Y2ggbWl0IDotKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworU3RhdGlzdGlrIDIxLTExLTk3IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MjQpOgorfiMhIG9uPVRhbmdhbHVyIG90PTg4MDEwMzg3NSBvZz1oYXJkc29mdHdhcmUKK0VtYWlsCVRlYW0vRW1haWwJVG90YWwJVGltZQkgIExhc3QJICBLZXkgcmF0ZQorUmFuayAgICAgICAgICAgICAgICAgICAgQmxvY2tzIAlXb3JraW5nICAgQmxvY2sJICBra2V5cy9zZWMKKworICA0MDcgICAgcmM1QG11ZC5kZSAgICAgIDE4NTYzICAgMTggZGF5cyAgIDIxLU5vdiAgIDMwMzUuNDMKKyAxMzg5ICAgZGVudGlAbWcubXVkLmRlICAgNjkxNiAgIDE1IGRheXMgICAyMS1Ob3YgICAxMzQyLjk1CisxMDcwNCAgICBsZW9AbXVkLmRlICAgICAgICAzODQgICAxMSBkYXlzICAgMTktTm92ICAgIDExOS4zMAorMTQyNzMgICAgICAgIG11ZC5kZSAgICAgICAgIDg3ICAgMjIgZGF5cyAgICAzLU5vdiAgICAgNTQuMDYKKzE2NzI1IHJjNUBtZy5tdWQuZGUgICAgICAgICAxMSAgICAxIGRheXMgICAyMC1Ob3YgICAgIDM0LjE4CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogU3RhdGlzdGlrIDIxLTExLTk3IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzk6NTQpOgorfiMhIHJuPUdyaW1tYm9ybiBydD04ODAxMDUwNDQgcmc9cmM1Cit+IyEgdGlkPTg4MDEwNTA0NAorUHJvdGVzdGUgd2VnZW4gZGVyIFZlcmxlZ2VvcmdpZSBiaXR0ZSBudXIgdW50ZXIgQmVpbGVndW5nIHZvbiBtaW5kZXN0ZW5zIGZ1ZW5mCitlcmxlZGlndGVuIEJsb2Vja2VuLi4uCisKK1VuZCBkYW1pdCBkZXIgcmVwbHkgYXVjaCBTaW5uIGhhdDogU29sbHRlIG1hbiBuaWNodCBkaWUgZ2FuemVuIG11ZC5kZXMKK3p1c2FtbWVuZmFzc2VuIGF1ZiByYzVAbXVkLmRlPyBPZGVyIG1hY2hlbiB3aXIgYXV0b21hdGlzY2ggc28sIGRhc3MgYWxsZSwgZGllCitAbXVkLmRlIGFuZ2ViZW4sIGRhcyBHZWxkIGRlciBQYXJ0eSB6dXIgVmVyZnVlZ3VuZyBzdGVsbGVuIG11ZXNzdGVuPyA7LSkKKworR3JpbW1ib3JuIGRlciBWZXJsZWdlcgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworcmM1LUtvZWxuIChPcmt0b2V0ZXIsIDIxLiBOb3YgMTk5NywgMTI6Mzk6MzMpOgorSEkgIQorQW4gYWxsZSwgZGllIGluIEtvZWxuIG5vY2ggZWluZSBXb3Jrc3RhdGlvbiBkcmFuaGFlbmdlbiB3b2xsZW4gKHZvciBhbGxlbSwKK3NvbGNoZSwgZGllIGFsbGdlbWVpbiB6dWdhZW5nbGljaCBzaW5kKSwgc2NoYXV0IGRvY2ggYml0dGUgZXJzdCBtYWwgbWl0IGRlbQorYmVmZWhsIHRvcCAsIG9iIG5pY2h0IGV2dGwgc2Nob24gamVtYW5kIGRpZXNlbiBSZWNobmVyIGZ1ZXIgZ2VuYXUgZGVuIFp3ZWNrCitudXR6LgorV2VubiBuaWNodCwgbmF0dWVybGljaCBzb2ZvcnQgYmVzY2hsYWduYWhtZW4uCitzbWFpbCAyIHVuZCAzIHNpbmQgYmVyZWl0cyBiZWxlZ3QsIHNtYWlsMSBpc3QgaW4gQXJiZWl0Lgorc3BhcmN3MSBpc3QgYmVsZWd0LCBocHcxIGF1Y2gKKworT3JrVC4KKworUFMgd29yazIgYXJiZWl0ZSBpY2ggZ2VyYWRlIGRyYW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogcmM1LUtvZWxuIChBbmF0b2wsIDIxLiBOb3YgMTk5NywgMTQ6Mjc6MDEpOgorfiMhIHJuPU9ya3RvZXRlciBydD04ODAxMTIzNzMgcmc9cmM1Cit+IyEgdGlkPTg4MDExMjM3MworVW5kIHdlciBoYWVuZ3Qgc2ljaCBhbiBkaWUgS29lbG5lciBTdGFyZmlyZT8gOykKKworQW5hdG9sLCB3aXR0ZXJ0IExlaXN0dW5nCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogcmM1LUtvZWxuIChSYWZmaSwgMjEuIE5vdiAxOTk3LCAxNTowMToxOCk6Cit+IyEgcm49QW5hdG9sIHJ0PTg4MDExODgyMSByZz1yYzUKK34jISB0aWQ9ODgwMTEyMzczCitKdXV1dUh1dXV1IEdyaW1tYm9ybiAuLi4uLi4KKworR3JpbnMKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitLb2Vsbi4uLi4gKFRhbmdhbHVyLCAyMS4gTm92IDE5OTcsIDE1OjA2OjU2KToKK3p1ciBaZWl0IHJlY2huZXQgYXVjaCBlaW5lIEluZHkgbWl0Li4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiBBbm1lcmt1bmcgZnVlciB4ODYtQmVudXR6ZXIgKEF2YWxvbiwgMjEuIE5vdiAxOTk3LCAxNjoxNTo0MSk6Cit+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MDEwNTA0MiByZz1yYzUKK34jISB0aWQ9ODgwMDU3OTU1CitJY2ggaGFiZSBkaWVzZSBCZW9iYWNodHVuZyBuYWNodm9sbHppZWhiYXIgdW50ZXIgTGludXggZ2VtY2FodCwKK2FsbGVyZGluZ3Mgdm9yIGVpbmVtIE1vbmF0IG9kZXIgc28sIGVzIGthbm4gc2VpbiwgZGFzcyBkaWUKK0NsaWVudHMgaW56d2lzY2hlbiB2ZXJiZXNzZXJ0IHd1cmRlbi4gTWFpbmJvYXJkIGlzdCBlaW4gQXN1cworUDJUNCBSZXYgMy4xIChIWCksIDUxMmsgQ2FjaGUsIDQ4IE1CIDYwbnMgbm9uLUVETyBTSU1Ncywgd2VubgorZGFzIGVpbmUgRXJrbGFlcnVuZyBpc3QuLi4KKworYXZhbG9uLi0KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogU3RhdGlzdGlrIDIxLTExLTk3IChSaW5nb3IsIDIxLiBOb3YgMTk5NywgMTY6MTg6NDEpOgorfiMhIHJuPUdyaW1tYm9ybiBydD04ODAxMDUxOTQgcmc9cmM1Cit+IyEgdGlkPTg4MDEwNTA0NAorRGFzIFZlcmZhaHJlbiwgYWxsZSB1ZWJlciBkaWVzZWxiZSBlTWFpbC1BZHJlc3NlIHp1IGVpbmVtIFRlYW0KK3p1c2FtbWVuenVmYXNzZW4sIGlzdCBlaCAnZXR3YXMnIHZlcmVpbmZhY2h0LgorCitBdWYgZGllIFdlaXNlIGhhdCBkYXMgVGVhbSBuYWVtbGljaCBudXIgZWluZW4gZWluemlnZW4gVGVpbG5laG1lciwgZGVyIGhhbHQKK21pdCByZWNodCB2aWVsZW4gTWFzY2hpbmVuIHJlY2huZXQuCisKK0VzIGthbm4gamVkZXIgdW50ZXIgc2VpbmVyIGVpZ2VuZW4gZU1haWwtQWRyZXNzZSB0ZWlsbmVobWVuLiBNYW4ga2FubiBhdWYgZGVyCitTdGF0aXN0aWtzZWl0ZSB2b24gZGlzdHJpYnV0ZWQubmV0IHVudGVyIHNlaW5lciBlTWFpbC1BZHJlc3NlIGVpbiBQYXNzd29ydAorYW5mb3JkZXJuIChiencuIG1hbiBiZWtvbW10IGVzIG5hY2ggbmVyIFdlaWxlIGF1dG9tYXRpc2NoIHp1Z2VzY2hpY2t0KS4gTWl0CitkaWVzZW0gUFcga2FubiBtYW4gc2ljaCBkYW5uIG9mZml6aWVsbCBiZWkgZWluZW0gVGVhbSBhbm1lbGRlbiAtIGViZW5mYWxscyBhdWYKK2RlciBTdGF0aXN0aWtzZWl0ZS4KKworRGFkdXJjaCB3YWVyZSBkaWUgVGVpbG5laG1lcnphaGwgYmVpIGRlbSBUZWFtIGVuZGxpY2gga29ycmVrdCwgbWFuIGtvZW5udGUKK2hpbnRlcmhlciBTdGF0aXN0aWtlbiB1ZWJlciBkaWUgZWluemVsbmVuIFRlaWxuZWhtZXIgYmVrb21tZW4sIHNpZWh0IGdlbmF1LAord2VyIGpldHp0IGFsbGVzIG1pdG1hY2h0IGV0Yy4KKworUmluZ29yCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCisxNiBiaXQgd2luMy4xIChSYXR6LCAyMS4gTm92IDE5OTcsIDE5OjM5OjA2KToKK2hhbGxvLAorenVyIHplaXQgcmVjaG5lbiBoaWVyIDEgcDEyMCwgMiBwOTAsIHVuZCAxIDQ4NmR4MzMgbWl0LiAKK0ljaCBzdWNoZSBub2NoIGVpbmVuIGNsaWVudCBmdWVyIDE2IGJpdCB3aW4zLjEKK2dydXNzIHJhdHoKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JDNSAhIChCYW1idWxrbywgMjIuIE5vdiAxOTk3LCAwMDo1NjoyMyk6CitIYXQgZWlnZW50bGljaCBtYWwgamVtYW5kIGdlcHJ1ZWZ0LCB3YXMgZGFzIFByb2dyYW1tIG1hY2h0PyBOaWNodCBkYXNzIGljaAoraGllciBhdWYgZXRsaWNoZW4gUmVjaG5lcm4gaXJnZW5kbmVuIFNjaGVpc3MgaW5zdGFsbGllcmUsIGRlciBuYWVjaHN0ZSBXb2NoZQorZGllIGdhbnplbiBGZXN0cGxhdHRlbiBsb2VzY2h0LgorV2VubiBtYW4gZGFubiByYXVzZmluZGV0LCBkYXNzIGljaCBhbGwgZGllIFJlY2huZXIgbGFobWdlbGVndCBoYWJlLCB3aXJkIGRhcworc2ljaGVyIHJpZXNlbiBBZXJnZXIgZ2ViZW4uIFZpZWxlaWNodCBpc3QgZGFzIGphIGVpbiBNYXJrZXRpbmctdHJpY2sgdm9uIEJpbGwKK0dhdGVzLCBkZXIgZGFtaXQgYWxsZSBuaWNodCBEb3NcV2luIFJlY2huZXIgbGFobWxlZ3QgOi0pKSkKKworCitCYW1idWxrbworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJDNSAhIChEZW50aSwgMjIuIE5vdiAxOTk3LCAwMDo1NzoxMyk6Cit+IyEgcm49QmFtYnVsa28gcnQ9ODgwMTU2NTgzIHJnPXJjNQorfiMhIHRpZD04ODAxNTY1ODMKKworSGloaSwgYmVpIGxhZXVmdCBlcyBzZWl0IDIgd29jaGVuIGF1ZiBkaXZlcnNlbiByZWNobmVybiwgaWNoIGhhYmUgYXVzc2VyCitjb3JlLWR1bXBzIGtlaW5lIHByb2JsZW1lIGdlaGFidCA7KQorCitEZW50aQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBSQzUgISAoQmFtYnVsa28sIDIyLiBOb3YgMTk5NywgMDE6MDA6MDMpOgorfiMhIHJuPURlbnRpIHJ0PTg4MDE1NjYzMyByZz1yYzUKK34jISB0aWQ9ODgwMTU2NTgzCitOYWphIGFiZXIgaWNoIHdlaXNzIGltbWVyIG5vY2ggbmljaHQsIG9iIGljaCBuaWNodCBpcmdlbmR3ZWxjaGVuIE11ZWxsCithdXNyZWNobmUsIGZ1ZXIgZGllIGplbWFuZCBzb25zdCB2aWVsIG1laHIgYWxzIGRpZSAxMGskIFByZWlzZ2VsZCBiZXphaGxlbgorbXVlc3N0ZS4KK0thbm4gamEgc2VpbiwgZGFzcyBkaWUgQW1pcyBzbyBpaHJlIG5ldWVuIEEtQm9tZW4tU2ltdWxhdGlvbmVuIGF1c3JlY2hlbi4gRGllCitzaW5kIGphIGF1Y2ggYW0gc3BhcmVuIHdpZSBiZWtsb3BwdCA6LSkpKSkKKworQmFtYnVsa28KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjIzOiByYzUgKEtyZWxsamEsIDIyLiBOb3YgMTk5NywgMTE6MTU6MDYpOgorfiMhIHJuPUdyaW1tYm9ybiBydD04ODAxMDUwMzUgcmc9cmM1Cit+IyEgdGlkPTg3ODU2OTczMQorVHVlIGF1Y2ggbWl0CisgICBLcmVsbGphCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitNZWhyIFJlY2huZXIuLi4gKEppbWRpZ3JpeiwgMjIuIE5vdiAxOTk3LCAxMzoxODoyNik6CitIb2ksCitpY2ggaGFiZSBoZXV0ZSBtYWwgMTE4IEhQcyByZWluZ2VoYWVuZ3QsIGFsbGVyZGluZ3Mgc2luZCAxMTMgZGF2b24gCitpbiBlaW5lbSBuaWNodC16dWdhZW5nbGljaGVuIE5ldHogdW5kIHZlcndlbmRlbiBkZXNoYWxiIGh0dHAsIGRhbWl0IGhhdHRlCitpY2ggYWJlciBzY2hvbiBvZWZ0ZXJzIHByb2JsZW1lIEtleXMgenUgYmVrb21tZW4gOigsIG1vbWVudGFuIHNjaGVpbnRzIGFiZXIgenUKK2tsYXBwZW4KK0VzIGhhbmRlbHQgc2ljaCBkYWJlaSB1bSA3MjBlciB1bmQgZWluIHBhYXIgNzE1ZXIsIGVpbmUgNzEyIHVuZCBzb2dhcgorZWluZSA3NTUgdW5kIHp3ZWkgNzc4ZXIuCisKK0ljaCBrYW5uIHZlcm11dGxpY2ggbm9jaCBtZWhyIHdvcmtzdGF0aW9ucyBhdWZ0cmVpYmVuLCB1bmQgd2VubgorZWluZXIgZWluZW4gY2xpZW50IGZ1ZXIgVW5pY29zIDggc2NocmVpYnQgdmllbGxlaWNodAoramEgc29nYXIgbmUgQ3JheSBUOTAgOikKKworQ2lhbywKKyBKaW0gRGlHcml6CitQLlMuOiBBbmFraW4sIHNjaHJlaWJzdCBEdSBtaWNoIGljaCBkaWUgTGlzdGUgbWl0IHJlaW4gPyAoZW1haWw6IGRsQGxlby5vcmcpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitkaW5nZW5zIChHdW5kdXIsIDIyLiBOb3YgMTk5NywgMjA6MDM6MjMpOgorSGkKK1dlbm4gaWNocyByaWNodGlnIGdlc2VoZW4gaGFiIGlzdCBtdWQuZGUgYXVmIFBsYXR6IDE3Ny4uZ3V0IGdlbGw/IDotKQorR3J1c3MKK0d1bmR1cgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IGRpbmdlbnMgKEd1bmR1ciwgMjIuIE5vdiAxOTk3LCAyMDowNzozNCk6Cit+IyEgcm49R3VuZHVyIHJ0PTg4MDIyNTQwMyByZz1yYzUKK34jISB0aWQ9ODgwMjI1NDAzCitBY2hqYSB1bmQgZ2VzdGVybiB3YXJlbiB3aXIgYXVmIFBsYXR6IDc0IC4uLgorSG9lcnQgc2ljaCBkb2NoIG5vY2ggYmVzc2VyIGFuIG9kZXI/CitHcnVzcworRy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK2RpbmdlbnMgKEd1bmR1ciwgMjMuIE5vdiAxOTk3LCAxMjo0ODo1Mik6CitQbGF0eiAxNjAgZnVlciBtdWQuZGUgLi4KKy4uLgorRy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1N0YXRpc3RpayEgKEJhbWJ1bGtvLCAyNC4gTm92IDE5OTcsIDA5OjU1OjMxKToKKworUGxhdHogMTE0IGZ1ZXIgbXVkLmRlCisKK1VuZCBpbiBkZXIgVG9wLTEwMC1ZZXN0ZXJkYXkgd2FyZW4gd2lyIHNvZ2FyIHNjaG9uIGF1ZiBQbGF0eiAxNCAhISEhIQorCitzY2hvbiBtYWwgZGllIFBhcnR5IHZvci4KKworQmFtYnVsa28KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBTdGF0aXN0aWshIChLZXksIDI0LiBOb3YgMTk5NywgMDk6NTk6MjUpOgorfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4MDM2MTczMSByZz1yYzUKK34jISB0aWQ9ODgwMzYxNzMxCitJbW1lciBsYW5nc2FtIC4uLgorSW1tZXJoaW4gd2FyZW4gYW0gV0UgUmVjaG5lciBkcmFuIGRpZSB1ZWJlciBkaWUgV29jaGUgbmljaHQgbGF1ZmVuIC4uLi4KKworS2V5CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCityYzUgU1RSSUtFUyEgKENhdHdlYXpsZSwgMjQuIE5vdiAxOTk3LCAxMDoxNjo1OCk6CitNb2luIQorCitEYXMgVGVhbSBNdWQuZGUgaGF0IGRpZXNlcyBXRSBlaW5lIGdlcmFkZXp1IHVuZ2xhdWJsaWNoZSBMZWlzdHVuZyBnZWJyYWNodCEKK05hY2ggZWluIF9iaXNzY2hlbl8gTW90aXZhdGlvbiBEb25uZXJzdGFnIHVuZCBGcmVpdGFnIGhhYmVuIGFsbGUgbW9lZ2xpY2hlbgorTGV1dGUgaWhyZSBSZWNobmVycGFya3MgbWl0YW5nZXNjaGxvc3NlbiAoc2llaGUgZnJ1ZWhlcmUgTWFpbHMpLiBEYXMgRXJnZWJuaXM6CitXaXIgc2luZCBzZWl0IEZyZWl0YWcgdW0gMTcwIFBsYWV0emUgdm9uIDI4MCBhdWYgMTEwIGdlc3RpZWdlbiEhIEljaCBzY2hhZXR6ZSwKK2RhcyB3aXIgaGV1dGUgTmFjaG1pdHRhZyBpbiBkaWUgVG9wMTAwIGF1ZnN0ZWlnZW4gd2VyZGVuLgorV2lyIGhhYmVuIGJlcmVpdHMgNzAwMDAgQmxvZWNrZSBiZXJlY2huZXQsIGRhdm9uIHJ1bmQgNDUwMDAgZGllc2VzIFdvY2hlbmVuZGUsCitkYXMgdmVyc3ByaWNodCBhbGxlaW4gYmVpIGtvbnN0YW50ZXIgTGVpc3R1bmcgZWluZW4gdmVyZGFtbXQgZ3V0ZW4gUGxhdHouCitBYmVyISBFcyBrb2VubmVuIGphIGltbWVyIG5vY2ggbWVociBtaXRtYWNoZW4hCitBbHNvIGxvcy4gSGFzdCBEdSBub2NoIG5lbiBSZWNobmVyIGZyZWk/IEhhc3QgRHUgWnVnYW5nIHp1IG1laHJlcmVuIFJlY2huZXJuPworSmVkZXIgQmxvY2sgemFlaGx0LiBQcm9ncmFtbSBob2xlbiwgYmlzc2NoZW4ga29uZmlndXJpZXJlbiwgdW5kIGxvcyEKK0hpbGZlc3RlbGx1bmcgbGVpc3RlbiBSYWZmaSwgQW5ha2luLCBpY2ggbm5kIHZpZWxlIG1laHIsIEZyYWdlbiBrb2VubmVuIGF1ZiAKK2RlbSByYzUtS2FuYWwgZ2VzdGVsbHQgd2VyZGVuLiAKK1lvdXJzIHRydWx5LAorICAgICBDYXR3ZWF6bGUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK3VwZGF0ZSAoQW5ha2luLCAyNC4gTm92IDE5OTcsIDEwOjMzOjMzKToKK0hpLAorCitKZXR6dCBzaW5kIGVuZGxpY2ggU3RhdGlzdGlrZW4gZnVlciB1bnMgdmVyZnVlZ2Jhci4gTWFuIGthbm4gc2VoZW4KK3dlciB3ZWl2aWVsIHJlY2huZXQsIHdlbm4gbWFuIHNlaW5lIGVpZ2VuZSBFbWFpbCBhbmdpYnQuCitTaWVoZSBodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvLgorCitidHcuIFBsYXR6IDExNCB1bmQgUGxhdHogMTQgeWVzdGVyZGF5IG1pdCBrbmFwcCA1MCBNS2V5cy9zISEhCisKK0FuYWtpbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1N0YXRpc3RpayAyNC0xMS05NyAoVGFuZ2FsdXIsIDI0LiBOb3YgMTk5NywgMTE6NTQ6NDEpOgorRW1haWwgICAgVGVhbS9FbWFpbCAgICAgICAgICAgICAgVG90YWwgICAgVGltZSAgICAgIExhc3QgICAgIEtleSByYXRlCitSYW5rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja3MgICBXb3JraW5nICAgQmxvY2sgICAga2tleXMvc2VjCisKKyAxMDcgICAgIERpc3RyaWJ1dGVkIENvbXB1dGluZyAgIDczNzExICAgIDMyIGRheXMgICAyNC1Ob3YgICAgNjkzOS43NgorICAgICAgICAgQ29tbXVuaXR5CisgMTA4ICAgICBUcmlnZ2VyIEludGVybmV0ICAgICAgICA3MjcxOCAgICAzMCBkYXlzICAgMjQtTm92ICAgIDcyODcuOTcKKyAgICAgICAgIFNlcnZpY2VzICAgICAgICAgICAgICAgICAgIAorIDEwOSAgICAgUm9iZXJ0Lk5ldCAgICAgICAgICAgICAgNzI1MzYgICAgMzIgZGF5cyAgIDI0LU5vdiAgICA2ODI5LjE0CisgMTEwICAgICBtdWQuZGUgICAgICAgICAgICAgICAgICA3MjMyOSAgICAyNSBkYXlzICAgMjQtTm92ICAgIDg2NDMuMDEKKyAxMTEgICAgIFRlbGlhIEludGVybmV0ICAgICAgICAgIDcxMzE1ICAgIDMyIGRheXMgICAyNC1Ob3YgICAgNjcxNC4xOAorICAgICAgICAgSW5jaWRlbnQgUmVzcG9uc2UKKyAgICAgICAgIFRlYW0JCSAgICAgICAgICAgIAorIDExMiAgICAgVGVhbSBXb28gSUkgICAgICAgICAgICAgNzEwMTggICAgMzIgZGF5cyAgIDI0LU5vdiAgICA2Njg2LjIyCisgMTEzICAgICBBbmthdCAgICAgICAgICAgICAgICAgICA3MDAwNSAgICAzMiBkYXlzICAgMjQtTm92ICAgIDY1OTAuODUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiB1cGRhdGUgKE1vcmdvdGgsIDI0LiBOb3YgMTk5NywgMTI6MzE6MDUpOgorfiMhIHJuPUFuYWtpbiBydD04ODAzNjQwMTMgcmc9cmM1Cit+IyEgdGlkPTg4MDM2NDAxMworV28gZ2FicyBub2NobWFsIGRpZSBGQVEgKG5pY2h0IGltIFdXVyksIHdpZSBkYXMgbWl0IGRlciBlaWdlbmVuIGVNYWlsCitmdW5rdGlvbmllcnQ/IE1pY2ggd3VlcmQgc2Nob24gaW50ZXJlc3NpZXJlbiwgd2lldmllbCBkaWUgR3Vya2VuIGhpZXIgdm9tCitUZWxsZXIgemllaGVuLiBJbSBNb21lbnQgc2luZCB2b24gbWlyIGFrdGl2aWVydDogMiBMaW51eCBQMTY2LCAyIFdJTjk1IFAxNjYuCitNKgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiB1cGRhdGUgKFBpbGdyaW0sIDI0LiBOb3YgMTk5NywgMTM6MDI6MTEpOgorfiMhIHJuPU1vcmdvdGggcnQ9ODgwMzcxMDY1IHJnPXJjNQorfiMhIHRpZD04ODAzNjQwMTMKK0htbW0sCisKK2ljaCBoYWIgbWFsIGJlaSBtaXIgcmM1QG11ZC5kZSBhbmdlZ2ViZW4sIHVuZCBsYXNzIG1pciBwYXJhbGxlbCBuZW4gbG9nLWZpbGUKK2F1c2dlYmVuICh3YXIgZGEgaXJnZW50d28gaW0gU2V0dXAKK21vZWdsaWNoIChsaW51eCkpIC4uLgorCitob2ZmZSwgZGFzIGlzdCByaWNodGlnIHNvIC4uLgorCitQaWxncmltIChyZWNobmV0IGF1Y2ggbmVuIGJpc2NoZWwpCit+CitQLlM6OiBhbHNvIGRlbiBVbnRlcnNjaGllZCB6aXNjaGVuIEdydXBwZSB1bmQgZS1tYWlsIGlzdCBtaXIgKGhvZmZlbnRsaWNoKWtsYXIKKy4uLiBhYmVyIHdvIHN0ZWxsdCBtYW4gZGFzIGVpbiA/Pz8/CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiB1cGRhdGUgKEJhbWJ1bGtvLCAyNC4gTm92IDE5OTcsIDEzOjA1OjEyKToKK34jISBybj1QaWxncmltIHJ0PTg4MDM3MjkzMSByZz1yYzUKK34jISB0aWQ9ODgwMzY0MDEzCitXZW5uIG1hbiBzZWluZSBlaWdlbmUgZS1tYWlsIGFscyBBZHJlc3NlIHVuZCBuaWNodCByYzVAbXVkLmRlIGltIGNvbmZpZworYW5naWJ0LCBiZWtvbW10IG1hbiBuYWNoIGVpbmVyIHdlaWxlIDEtMiBTdHVuZGVuLiBOZSBlLW1haWwgdm9uCitkaXN0cmlidXRlZC5uZXQgbWl0IGVpbmVtIFBhc3N3b3J0LgorV2VubiBtYW4gZGFubiBhdWYgZGllIFN0YXQtU2VpdGUgZ2VodCB1bmQgbmFjaCBzZWluZXIgZWlnZW5lbiBBZHJlc3NlIHN1Y2h0LAora2FubiBtYW4gZG9ydCBtaXQgZGllc2VtIFBhc3N3b3J0IHNlaW5lIEJsb2Vja2UgYW4gZWluIFRlYW0gZ2ViZW4uCisKK1NvIHNpZWh0IG1hbiBnZW5hdSwgd2lldmllbGUgQmxvZWNrZSBtYW4gc2VsYmVyIHJlY2huZXQuICgxMDAgbG9nZmlsZXMgenUKK2R1cmNoc3VjaGVuIGlzdCB3YXMgbmVydmlnKSB1bmQgc2NoZW5rdCBkaWUgQmxvZWNrZSBhbidzIHRlYW0uCisKK2dydXNzCitCYW1idWxrbworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogdXBkYXRlIChIaWdobGFuZGVyLCAyNC4gTm92IDE5OTcsIDEzOjQ1OjA3KToKK34jISBybj1QaWxncmltIHJ0PTg4MDM3MjkzMSByZz1yYzUKK34jISB0aWQ9ODgwMzY0MDEzCitFaW5nZW5lIGVtYWlsIGVpbnN0ZWxsZW4uIERhbmFjaCBhdWYgZGllIFN0YXRpc3Rpay1TZWl0ZSBiZWkgZGlzdHJpYnV0ZWQuZXQKK3NvbGwgbmF0dWVybGljaCBuZXQgaGVpc3Nlbi4gVW50ZW4gbm9jaG1hbCBTdGF0aXN0aWNzCithbmtsaWNrZW4uIE5hY2ggZGVyIGVpZ2VuZW4gZW1haWwgc3VjaGVuLiBTaWNoIGVpbiBwYXNzd29yZCBtYWlsZW4gbGFzc2VuLgorV2llZGVyIGF1ZiBkaWUgU2VpdGVuIGdlaGVuLCBlaWdlbmUgZW1haWwgc3VjaGVuLCBkYW5uIGFua2xpY2tlbi4KK0pldHp0IHVudGVuIHBhc3N3b3JkIGVpbmdlYmVuIHVuZCBtb2RpZnkgd2FlaGxlbi4KK1RlYW1udW1tZXIgNTc2IGFuZ2ViZW4uIEFlbmRlcm4ga2xpY2tlbi4KK0RlaW5lIGVtYWlsIGVyc2NoZWludCBlaW5pZ2UgWmVpdCwgbmFjaGRlbSBEdSBibG9ja3MKK2dlc2NoaWNrdCBoYXN0LCBhbHNvIG5pY2h0IGdsZWljaCB2ZXJ6d2VpZmVsbiA6PgorICAgSHJUCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitXaW5fTlQgKEJhbWJ1bGtvLCAyNC4gTm92IDE5OTcsIDE0OjU3OjAwKToKK0tlbm50IHNpY2ggaGllciBqZW1hbmQgbWl0IFdpbl9OVCBhdXM/CitLYW5uIGljaCBpcmdlbmR3aWUgZGVuIENsaWVudCBsYXVmZW4gbGFzc2VuLCBuYWNoZGVtIGljaCBtaWNoIGF1c2dlbG9nZ3QgaGFiZT8KK0Rhbm4ga29lbm50ZSBpY2ggaGllciBub2NoIGNhLiAzMCBQZW50aXVtcyBtaXQgamUgMjkwIGtrZXlzL3NlYy4gYW5zY2hsaWVzc2VuLgorCitEYW5rZQorQmFtYnVsa28KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK25vY2htZWhyIEhwcyAoSmltZGlncml6LCAyNC4gTm92IDE5OTcsIDE1OjE4OjEzKToKK01vaW4sCisKK2ljaCBrb25udGUgbm9jaCBtZWhyIEhwcyBkcmFuaGFlbmdlIHNvIG5vY2htYWwgMjAgZGFmdWVyIHN0YWVya2VyZS4KK0xlaWRlciBkYXJmIGVpbiBQcm96ZXNzIG51ciAxaCBDUFUgWmVpdCBuZWhtZW4gZGFubiB3aXJkIGVyIGdla2lsbHQsCitpY2ggbXVzcyBkaWUgYXVmIGRpZXNlbiByZWNobmVyIGltbWVyIHdpZWRlciBuZXUgc3RhcnRlbiwgYWxzbworc2luZCBkaWUgbmljaHQgcGVybWFtZW50IGRyYW4uCisKK01pY2ggd3VlcmRlIG1hbCBpbnRlcmVzc2llcmVuLCB3aWUgZGllIGluIGRlciBTdGF0aXN0aWsKK2FuZ2VnZWJlbmUgc3VzdGFpbmVkLWtleXJhdGUgbWl0IGRlciB3aXJrbGljaGtlaXQKK2F1c3NpZWh0LiBhdWd1c3RhLmRlIHNjaGFmZnQgbHQgTGlzdGUgc28gNjcwMGtrZXlzL3MgTWFqZXN0aXgKK2hhdCBtaXIgYWJlciBlcnphZWhsdCwgZGFzcyBzaWUgaW4gZWNodCB1ZWJlciAxNU1rZXlzL3Mgc2NoYWZmZW4uCisKK1dpciBzaW5kIHVlYnJpZ2VucyBudXIga25hcHAgdm9yIGRlbmVuLCBhbHNvIHN0cmVuZ3QgRXVjaCBtYWwgYW4uCisKK0NpYW8sCisgSmltIERpR3JpeiAoMjUxN2trZXlzL3MpIAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogUkM1ICEgKFJhZmZpLCAyNC4gTm92IDE5OTcsIDE1OjM0OjA4KToKK34jISBybj1CYW1idWxrbyBydD04ODAxNTY4MDMgcmc9cmM1Cit+IyEgdGlkPTg4MDE1NjU4MworQS1Cb21iZW5zaW11bGF0aW9uIC4uLiBvaCwgZ29pbCwgZGEgd2lsbCBpY2ggYXVjaCBtaXRyZWNobmVuIC4uLiBrcmlndCBtYW4KK2Rhbm4gYXVjaCBkYXMgZXJnZWJuaXNzIGFscyBWaWRlbyAoTVBFRyBmdWVyIG1laW5lbiBXaW5WaWRlby1QbGF5ZXIpPworCitHcmlucworSC4KKy5ubgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBSQzUgISAoQXNtb2RpcywgMjQuIE5vdiAxOTk3LCAxODo0MToyMSk6Cit+IyEgcm49RGVudGkgcnQ9ODgwMTU2NjMzIHJnPXJjNQorfiMhIHRpZD04ODAxNTY1ODMKK0ljaCBzYWNodGUgZG9jaCwgZGVyIGluc3RhbGxpZXJ0IGRlbiBXZWlobmFjaHRzLVZpcnVzLgorV2FzIGRlciB0dXQsIG1lcmtzdGUgZGFubiBhbSAyNC4gRGV6ZW1iZXIgOikKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0ljaCBrcmljaCBrZWluZSBNYWlsICoqd2VpbioqIChNb3Jnb3RoLCAyNS4gTm92IDE5OTcsIDA3OjE5OjU3KToKK0RhIGljaCBnZXN0ZXJuIGVpbmUgTWFpbCB2b24gQmFtYnVsa28gYmVrb21tZW4gaGFiLCBpbiBkZXIgZXJrbGFlcnQgd2FyLCB3aWUKK21hbiBtaXQgc2VpbmVyIGVpZ2VuZW4gZW1haWwgZnVlciBkYXMgbXVkLXRlYW0gcmVjaG5ldCwgaGFiIGljaCBkYXMgbmF0dWVybGljaAorc29mb3J0IGF1c3Byb2JpZXJ0LiBEYSBzb2xsdGUgbmFjaCBnZXJhdW1lciB6ZWl0ICgxIHN0dW5kZSkgbmFjaCB2ZXJzY2hpY2tlbgorZGVzIG5hZWNoc3RlbiBidWZmZXJzIGVpbmUgbWFpbCBrb21tZW4sIGluIGRlciBlaW4gcGFzc3dvcnQgc3RlaHQuIE51biwgYWxsZQorbWVpbmUgcmVjaG5lciBoYWJlbiBzY2hvbiBmbGVpc3NpZyBidWZmZXJzIGdlc2NoaWNrdCwgYWJlciBpY2ggaGFiIGtlaW5lIG1haWwuCitXdWFoaGggISEhIFdhcyBpc3QgZGEgbG9zPz8/CitNKiwgZ2FueiB2ZXJ6d2VpZmVsdAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IEljaCBrcmljaCBrZWluZSBNYWlsICoqd2VpbioqIChEZW50aSwgMjUuIE5vdiAxOTk3LCAwODoyNjoyNSk6Cit+IyEgcm49TW9yZ290aCBydD04ODA0Mzg3OTcgcmc9cmM1Cit+IyEgdGlkPTg4MDQzODc5NworCisKK0R1IG11c3N0IGRpZXNlIG1haWwgZW50d2VkZXIgYW5mb3JkZXJuLCBvZGVyIER1IGJla29tbXN0IHNpZSBuYWNoIAorY2EgZHJlaSBXb2NoZW4gYXV0b21hdGlzY2guIEFub3JkZXJuIGthbm5zdCBEdSBzaWUsIHdlbm4gRHUgYXVmIGRlcgorU3RhdGlzdGlrc2VpdGUgbmFjaCBkZWluZXIgZW1haWwgc3VjaHN0IHVuZCBkYW5uIGF1ZiAKK3NlbmQgUGFzc3dvcmQga2xpY2tzdC4gQWxsZXJkaW5ncyBrb2VubnRlIGVzIHNlaW4sIGRhc3MgRHUgc2llIG5pY2h0CitiZWtvbW1zdCwgd2VubiBzaWUgaW5zIE1HIGdlaGVuIHNvbGwsIGRhIGRhcyBNRy1NYWlsc3lzdGVtIGltbWVyIAord2llZGVyIFByb2JsZW1lIG1hY2h0LgorCitEZW50aQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworRi5BLlEuIChBbmFraW4sIDI2LiBOb3YgMTk5NywgMTY6NTk6MDMpOgorSGksCisKK3dlbm4gamVtYW5kIEZyYWdlbiB6dSByYzUgaGF0LCB6LkIuIAorCistIFdpZSBrYW5uIGljaCBtaXRtYWNoZW4/CistIFdpZSBrYW5uIGljaCBtZWluZSBlaWdlbmUgRU1haWxhZHJlc3NlIGFuZ2ViZW4gdW5kIGltCisgICBUZWFtIG11ZC5kZSBtaXRtYWNoZW4/CisKK2V0Yy4KKworZGFubiBzb2xsdGUgZXIgenVlcnN0IGh0dHA6Ly93d3cuYWVpLXBvdHNkYW0ubXBnLmRlL353ZWhyZW5zL3JjNS8KK2xlc2VuLgorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTdGF0aXN0aWsgdm9tIDI4LjExLjk3IChHcmltbWJvcm4sIDI4LiBOb3YgMTk5NywgMTE6MjQ6NDYpOgorR2VzdGVybjoKKworICAgICBUZWFtICAgICAgICAgICAgICAgICAgIFRvdC4gQmxvY2tzICAga2tleXMvcworMTAgQml0QnVja2V0IFJDNSBUZWFtICAgICAgICAgMzAzMDYgICAgICA5NDE1Ny40NgorMTEgbXVkLmRlICAgICAgICAgICAgICAgICAgICAgMjkzMjkgICAgICA5MTEyMi4wMworMTIgVGVhbSBGcmVlQlNEICAgICAgICAgICAgICAgMjI0NjUgICAgICA2OTc5Ni4zMworCitJbnNnZXNhbXQ6CisgICAgIFRlYW0gICAgICAgICAgICAgICAgICAgVG90LiBCbG9ja3MgIHNlaXQgICAgIGtrZXlzL3MgCis0MiBQdWdldHNvdW5kIFJDNSBDb25zb3J0aXVtIDE4ODIyNiAgICAgMzUgZGF5cyAgMTYyNDQuMzgKKzQzIG11ZC5kZSAgICAgICAgICAgICAgICAgICAgMTc5ODgwICAgICAyOCBkYXlzICAxOTI3MS4zMAorNDQgUEFDICAgICAgICAgICAgICAgICAgICAgICAxNzY5MDYgICAgIDM1IGRheXMgIDE1MjY3LjQ0CisKK01laHIgUmVjaGVubGVpc3R1bmchCisKK0dyaW1tYm9ybiBkZXIgQXRoZWlzdAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFN0YXRpc3RpayB2b20gMjguMTEuOTcgKFRhbmdhbHVyLCAyOC4gTm92IDE5OTcsIDE0OjMxOjA5KToKK34jISBybj1HcmltbWJvcm4gcnQ9ODgwNzEyNjg2IHJnPXJjNQorfiMhIHRpZD04ODA3MTI2ODYKK1dpciBicmF1Y2hlbiBkcmluZ2VuZCBtZWhyIFJFQ0hFTkxFSVNUVU5HCitzZWl0IHZvcmdlc3Rlcm4gc2lua3QgZGllIFJhdGUgc3RldGlnIGFiIHZvbiAzMy4wMDAgYXVmIGpldHogMjkuMDAwCisKK3NvcnJ5IGZ1ZXIgZGFzIExheW91dCB0aXBwZSBkZW4gQXJ0aWtlbCBlaW4gb2huZSB6dSBzZWhlbgord2FzIGljaCBzY2hyZWliZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1NhdGlzdGlrIDEtMTItMTk5NyAoVGFuZ2FsdXIsICAxLiBEZXogMTk5NywgMTA6MTg6MjkpOgorVGVhbSBTdW1tYXJ5IGZvciBtdWQuZGUgCisKK1RoaXMgdGVhbSBpcyBUZWFtIElEICM1NzYKKworQ3VycmVudCBSYW5raW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDM4CitUb3RhbCBibG9ja3MgdG8gc2VhcmNoOiAgICAgICAgICAgNjg3MTk0NzY3MzYKK1RvdGFsIGJsb2NrcyBjaGVja2VkOiAgICAgICAgICAgICAgICAgIDIzNDI3NgorS2V5c3BhY2UgRXhoYXVzdGVkOiAgICAgICAgICAgICAgICAgIDAuMDAwMzQxJQorVG90YWwga2V5cyBjaGVja2VkOiAgICAgICAgICAgICAgICA2MyBUcmlsbGlvbgorVGltZSBXb3JraW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzUgZGF5cworT3ZlcmFsbCBSYXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAyMDIxOC42MiBra2V5cy9zZWMKKworMTM3NjUgYmxvY2tzIHdlcmUgY29tcGxldGVkIHllc3RlcmRheSAoIDAuMDAwMDIwMDMlIG9mIHRoZSBrZXlzcGFjZSkKK2F0IGEgc3VzdGFpbmVkIHJhdGUgb2YgNDI3NjYga2tleXMvc2VjIQorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTYXRpc3RpayDfMi0xMi0xOTk3IChUYW5nYWx1ciwgIDIuIERleiAxOTk3LCAwOTo1OToxNCk6CitUaGlzIHRlYW0gaXMgVGVhbSBJRCAjNTc2CisKK0N1cnJlbnQgUmFua2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgMzcKK1RvdGFsIGJsb2NrcyB0byBzZWFyY2g6ICAgICAgICAgNjg3MTk0NzY3MzYKK1RvdGFsIGJsb2NrcyBjaGVja2VkOiAgICAgICAgICAgICAgICAyNDc1MTcKK0tleXNwYWNlIEV4aGF1c3RlZDogICAgICAgICAgICAgICAgMC4wMDAzNjAlCitUb3RhbCBrZXlzIGNoZWNrZWQ6ICAgICAgICAgICAgICA2NiBUcmlsbGlvbgorVGltZSBXb3JraW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDM2IGRheXMKK092ZXJhbGwgUmF0ZTogICAgICAgICAgICAgMjA3ODQuMDEga2tleXMvc2VjCisKKzExODkyIGJsb2NrcyB3ZXJlIGNvbXBsZXRlZCB5ZXN0ZXJkYXkgKCAwLjAwMDAxNzMxJSBvZiB0aGUga2V5c3BhY2UpCithdCBhIHN1c3RhaW5lZCByYXRlIG9mIDM2OTQ3IGtrZXlzL3NlYyEKKworaG1tbSBuaWNoIHNvIGRvbGxlIGRhcyBnYW56ZSAhCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogU2F0aXN0aWsg3zItMTItMTk5NyAoS2V5LCAgMi4gRGV6IDE5OTcsIDEwOjA0OjMwKToKK34jISBybj1UYW5nYWx1ciBydD04ODEwNTMxNTQgcmc9cmM1Cit+IyEgdGlkPTg4MTA1MzE1NAorQWxzbyBsYW5nc2FtIC4uLi4KK0plZGVyIGRlciBtaXRtYWNodCBnaWJ0IHNpY2ggTXVlaGUsIGFiZXIgZGFzIGVpbnppZ3N0ZSB3YXMgbWFuIHp1IGhvZXJlbgorYmVrb21tdCBpc3QgTWVociBSZWNoZW5sZWlzdHVuZywga29lbm50ZSBiZXNzZXIgc2VpbiwgbmljaCBzbyBkb2xsZSwgdW5kIHdhcword2Vpc3MgaWNoIQorV2llIHdhZXJlIGVzIG1hbCB3ZW5uIGVpbmlnZSBoaWVyIG5lbiBiaXNzZXJsIHBvc2l0aXZlciBzZWhlbj8KK09kZXJ0IHZpZWxsZWljaHQgaG9lcmVuIHdpciBhdWNoIGdsZWljaCBhdWYsIHNjaGVpbmJhciBzaW5kIGphIGVpbmlnZSBuaWUKK3p1ZnJpZWRlbi4KKworS2V5IGhhdCBuaXggdWVicmlnIGZ1ZXIgc29uIGR1bW1lcyBnZWxhYmVyCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUmU6IFNhdGlzdGlrIN8yLTEyLTE5OTcgKEdyaW1tYm9ybiwgIDIuIERleiAxOTk3LCAxMDoxMToxOCk6Cit+IyEgcm49S2V5IHJ0PTg4MTA1MzQ3MCByZz1yYzUKK34jISB0aWQ9ODgxMDUzMTU0CitEdSBzY2hyZWlic3QgIndpciIuIFdpZXZpZWxlIEJsb2Vja2Ugc2luZCBkZW5uIHZvbiBEaXI/IEFuc29uc3RlbiBnaWx0IGltCitnZXNhbXRlbiBpbmZvcm1hdGlzY2hlbiBCZXJlaWNoOiBXZXIgenVmcmllZGVuIGlzdCBnZWh0IHVudGVyLiBTaWVoZQorTWFjSW50b3NoLCBkaWUgYXVjaCBtaXQgaWhyZW0gU3lzdGVtIHp1ZnJpZWRlbiB3YXJlbiwgbmljaHRzIG1laHIgZHJhbiBnZXRhbgoraGFiZW4gdW5kIGpldHp0IHVudGVyZ2VoZW4uIFBsYXR6IDM3IGlzdCBqYSBzY2hvZW4sIGFiZXIgZGFzIGhlaXNzdCwgZGEgc2luZAorbm9jaCAzNiBUZWFtcyB2b3IgZWluZW0uIFVuZCBkaWUgZ2VyZWNobmV0ZW4gU2NobHVlc3NlbCBnZWhlbiBhdWNoIHJ1bnRlciwgd2lyCit3YXJlbiBzY2hvbiBhdWYgdWViZXIgNDBNa2V5L3MuCisKK0dyaW1tYm9ybiBkZXIgQXRoZWlzdAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogU2F0aXN0aWsg3zItMTItMTk5NyAoS2V5LCAgMi4gRGV6IDE5OTcsIDEwOjE0OjM4KToKK34jISBybj1HcmltbWJvcm4gcnQ9ODgxMDUzODc4IHJnPXJjNQorfiMhIHRpZD04ODEwNTMxNTQKK1dpZXZpZWxlIEJsb2Vja2Ugdm9uIG1pciBzaW5kPyBOZXQgdmllbCwgYWJlciB3ZW5pZ3N0ZW5zIGV0d2FzLiAKK05hdW5kPyB1bmQgd2VubiBub2NoIDEwMCBUZWFtcyB2b3IgdW5zIHdhZXJlbiwgd2llIHdhZXJlIGVzIG1hbCBtaXQgbmVyCithdXNzYWdlIHdlaXRlciBzbywgb2RlciBzb3dhcyBpbiBkZXIgYXJ0PworTmVpbiBtYW4gbXVzcyBlcyBuYXR1ZXJsaWNoIG5lZ2F0aXYgYXVzZHJ1ZWNrZW4uCitNb2Vuc2NoIExldXRjaGVuISBEYXMgaXN0IG5lbiBrbGVpbmVyIFdldHRiZXdlcmIgdW5kIG5ldHkgZGllIE9seW1iaWFkZSBvZGVyCitzb25zdCB3YXMuCitKYSBzY2hvZW4sIHVuZCB3ZW5uIHdpciBhdWYgMTAwTWtleS9zZWMgZ2V3ZXNlbiB3YWVyZW4gLi4uIGVzIGdpYnQgYXVjaCBsZXV0ZQorZGllIHByb2JzIGtyaWVnZW4gd2VubiBzaWUgZGFzIHByb2cgbGF1ZmVuIGxhc3NlbiB3dWVyZGVuLiBXZXIgd2FyIGRhcyBub2NoCitnbGVpY2ggZGVyIHNlaW5lbiBhY2NvdW50IGRlc2hhbGIgdmVybG9yZW4gaGF0PworCitLZXkKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNDogU2F0aXN0aWsg3zItMTItMTk5NyAoS2V5LCAgMi4gRGV6IDE5OTcsIDEwOjIwOjIwKToKK34jISBybj1LZXkgcnQ9ODgxMDU0MDc4IHJnPXJjNQorfiMhIHRpZD04ODEwNTMxNTQKK1NvIG5vY2ggZWluZSBrbGVpbmUgRXJpbm5lcnVuZzoKK1dpciB3YXJlbiBuYWNoIDE3IFRhZ2VybiBhdWYgUGxhdHogNTAwc291bmRzb3ZpZWwgLi4uIHVuZCBqZXR6dCBzaW5kIHdpciBhdWYKK3BsYXR6IDM3CitJY2ggZnVlciBtZWluZW4gVGVpbCBmaW5kZSBkYXMgZWluZSB6aWVtbGljaCBnZWlsZSBMZWlzdHVuZy4KKworS2V5CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCituZXR6cHJvYmxlbWUgKEZ5dCwgIDIuIERleiAxOTk3LCAxMDozNDoxNCk6CisKK0ljaCByZWNobmUgc2Nob24gc2VpdCBkcmVpIFRhZ2VuIFJhbmRvbWJsb2Vja2UgdW5kIGtyaWVnIGRpZSBuaWNodCBtYWwgbG9zLgorQW4gbWVpbmVyIEtvbmZpZ3VyYXRpb24gaGF0IHNpY2ggbWVpbmVyIE1laW51bmcgbmFjaCBuaXggZ2VhZW5kZXJ0LCBoYXQKK2plbWFuZCBuZSBBaG51bmcsIHdvcmFuIGRhcyBsaWVnZW4ga2Fubj8KKworRnl0LAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNTogU2F0aXN0aWsg3zItMTItMTk5NyAoVGFuZ2FsdXIsICAyLiBEZXogMTk5NywgMTA6NDE6MzkpOgorfiMhIHJuPUtleSBydD04ODEwNTQ0MjAgcmc9cmM1Cit+IyEgdGlkPTg4MTA1MzE1NAorQWxzbyBlcnN0bWFsIHNpbmQgZGFzIG51ciBkaWUgcmVpbmUgWmFobGVuLCBkaWUgaWNoIGRhIHZvbiBkZXIgU3RhdGlzdGlrIFNlaXRlCitnZXpvZ2VuIGhhYmUgdW5kIGljaCBoYWJlIG5lIGdhbnplIFdlaWxlIHVlYmVybGVndCBvYiBpY2ggZGEgbm9jaCBlaW5lbgorS29tbWVudGFyIHp1IHNjaHJlaWJlIG9kZXIgbmljaHQuIERhcyBrYW5uc3QgRHUgbWlyIGdsYXViZW4gS2V5ICEKK0FiZXIgbnUgYXVjaCBtYWwgd2FzIHBvc2l0aXZlcywgd2VubiBEdSBEaXIgbWFsIGFuc2NoYXVzdCB3ZXIgZGEgYWxsZXMKK2luendpc2NoZW4gbWl0bWFjaHQgaXN0IGRhcyBzY2hvbiByZWNodCBiZWVpbmRydWNrZW5kIHVuZCBnZW5hdXNvIGtsYXIgaXN0cyBvYgorRHUgZGEgbnVuIGVpbmVuIHNjaG5lbGxlbiBvZGVyIGxhbmdzYW1lbiBSZWNobmVyIGhhc3QsIGplZGVyIEJsb2NrIHphZWhsdCAhCitJc3QgaGFsdCBzbyBlaW4gYmlzY2hlbiB3aWUgYmVpIE9seW1waWEgZGFzIGdhbnplLiBBYiBqZXR6dCB3aXJkcyBkaWUKK1N0YXRpc3RpayB3ZW5uICh1ZWJlcmhhdXB0IGdld3VlbnNjaHQpIG9obmUgaXJnZW5kd2VsY2hlIEtvbW1lbnRhcmUgZ2ViZW4uCitFaW5lIFJlaW0ga2FubiBzaWNoIGRhbm4gamVkZXIgc2VsYmVyIGRyYXVmIG1hY2hlbi4KKworVGFuZ2FsdXIgRmV1ZXJ0YXR6CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV41OiBTYXRpc3RpayDfMi0xMi0xOTk3IChNb3Jnb3RoLCAgMi4gRGV6IDE5OTcsIDEwOjQ4OjU2KToKK34jISBybj1LZXkgcnQ9ODgxMDU0NDIwIHJnPXJjNQorfiMhIHRpZD04ODEwNTMxNTQKK1llcCwgCitpY2ggYmluIGluIDYgVGFnZW4gdm9uIEdhbnphbUFyc2NoIGJpcyBhdWYgUGxhdHogNjY5MiBhdWZnZXN0aWVnZW4sIG1pdCAxOTM1CitCbG9ja3MgdW5kIGNhLiA2NzBra3llcy9zLiBJY2ggZmluZCBkYXMgc2Nob24gb2ssIGFiZXIgbWVociBpc3QgYmVpIG1pciBuaWNodAorZHJpbiA7LSguCitNKgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogU2F0aXN0aWsg3zItMTItMTk5NyAoSGFuZ292ZXIsICAyLiBEZXogMTk5NywgMTQ6MDg6NDEpOgorfiMhIHJuPUdyaW1tYm9ybiBydD04ODEwNTM4Nzggcmc9cmM1Cit+IyEgdGlkPTg4MTA1MzE1NAorTW9pbiEKKworQWJlciBzb25zdCBoYWJ0IGlociBrZWluZSBQcm9ibGVtZT8gSWNoIGhhYiBSQzUgZWhlciBhbHMgU3Bhc3Nha3Rpb24gbWl0CitlaW5lbSBtYWVzc2lnIGVybnN0ZW4gSGludGVyZ3J1bmQgZ2VzZWhlbiwgYWJlciB3ZW5uIGRhcyBoaWVyIHNjaG9uIAord2llZGVyIGluIFNjaHdhY2htYXRpc211cyB1bmQgZHVtbWVzIEdlc3VlbHplIGF1c2FydGV0LCB1ZWJlcndpZWd0IGVoZXIKK2RpZSBBYnNjaHJlY2t1bmcuLi4KKworSGFuZ292ZXIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBuZXR6cHJvYmxlbWUgKE15c3RlcmlvdXMsICAyLiBEZXogMTk5NywgMTg6MjE6MDIpOgorfiMhIHJuPUZ5dCBydD04ODEwNTUyNTQgcmc9cmM1Cit+IyEgdGlkPTg4MTA1NTI1NAorbmkgaGFvIQorCitobW0uLi4uCisKK2lzIHZpZWxsZWljaHQgbmUgdWViZXJmbHVlc3NpZ2UgZnJhZ2UsIAorCithYmVyIGJpc3QgZHUgc2ljaGVyLCBkYXNzIGRlaW5lIG5ldHp2ZXJiaW5kdW5nIGF1Y2gga2xhcHB0Pz8KKworYmVpIG1pciBnYWJzIG51ciByYW5kb20tYmxvZWNrZSwgYWxzIGljaCB1ZWJlciBkaWUgZmlyZXdhbGwgbm9jaCBuaWNoCitydWViZXJrYW0gKGFiZXIgamV0enQgZ3JhYiBpY2ggbWljaCB1bnRlbiBkdXJjaCkuLi4KKwordmllbGxlaWNodCB3dXJkZSBqYSBpbnp3aXNjaGVuIHNvd2FzIGJlaSBldWNoIGluc3RhbGxpZXJ0PyAoaG1tLi4uIGFiZXIgZGFzCitoYWV0dGVzdCBkdSBzaWNoZXJsaWNoIGJlbWVya3QgPjopCisKK2xvZXNjaCBkb2NoIG1hbCBkaWUgYnVmZmVyLCBzdGFydGUgZGVuIGNsaWVudCBuZXUgdW5kIHNjaGF1IGdlbmF1LCB3YXMgZXIgZGlyCitmdWVyIG1lbGR1bmdlbiBhdXN3aXJmdCAocGVyIGxvZ2ZpbGUpIHVuZCBwb3N0ZSBkYXMgZ2FuemUgbWFsIGhpZXJoZXIuLi4KKworaXJnZW5kd28gZ2lidCBlcyBhdWNoIG5lIG1haWxpbmctbGlzdGUgZGF6dSAobXVzc3RlIG1hbCBiZWkgZGlzdHJpYnV0ZWQKK3N1Y2hlbikuLgorCisqaG9lZmxpY2ggdmVybmVpZyoKKyAgICAgICBkQSBteXNUZVJpT3VzCisKK3Aucy46IGhhdCBqZW1hbmQgc2Nob24gZGVuIDAyLWNsaWVudCBnZXByb2JidD8gYnJpbmd0IGRlciB3YXMgZ2VnZW51ZWJlciBkZW0KKzAxZXI/CisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjQ6IFNhdGlzdGlrIN8yLTEyLTE5OTcgKEppbWRpZ3JpeiwgIDIuIERleiAxOTk3LCAxODo0Mjo1OCk6Cit+IyEgcm49S2V5IHJ0PTg4MTA1NDA3OCByZz1yYzUKK34jISB0aWQ9ODgxMDUzMTU0CitNb2luLAorCithbHNvIHdpciB3YXJlbiBkZWZpbml0aXYgc2Nob24gdWViZXIgMTA1TWtleXMvcyBzdXN0YWluZWQhCitNaXR0bGVyd2VpbGUgaXN0IGVzIGxlaWRlciB3aWVkZXIgdW50ZXIgZGllIGhhZWxmdGUgYWJnZXN1bmtlbiA6KCgKK0tsYXIgZGllIFdlbHQgZ2VodCBhdWNoIHNvIHVudGVyIDspLCBhYmVyIGNvb2wgd2FlcnMKK3dlbm4gd2lyIHdpZWRlciB6dSB1bnNlcmVyIGFsdGVuIEZvcm0gZmluZGVuLgorV29yYW4ga29lbm50ZSBlcyBkZW5uIGxpZWdlbiA/IAorVmllbGxlaWNodCBoYWJlbiBqYSBlaW5pZ2UgYWxsZQorSWhyZSBjbGllbnRzIHNjaG9uIGxhZW5nZXIgbmljaHQgbWVociB1ZWJlcnBydWVmdCBvYgorc2llIG5vY2ggbGF1ZmVuID8gKGljaCBtdXNzIHRhZWdsaWNoIHdlbGNoZSBuZXUgc3RhcnRlbiwKK3dlaWwgZGllIFJlY2huZXIgaGFsdCBhdWNoIG1hbCByZWJvb3RlbikKKworSWNoIGRydWVjayB1bnMgd2VpdGVyIGRpZSBEYXVtZW4gOi0pCisKK0NpYW8sCisgSmltIERpR3JpeiAtIGNhIDVNa2V5cy9zIHN1c3RhaW5lZAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBuZXR6cHJvYmxlbWUgKEZ5dCwgIDIuIERleiAxOTk3LCAxOToyMDo1Myk6Cit+IyEgcm49TXlzdGVyaW91cyBydD04ODEwODMyNjIgcmc9cmM1Cit+IyEgdGlkPTg4MTA1NTI1NAorCitQcm9ibGVtIGdlbG9lc3QuLi4gbGV0enRsaWNoIHdhciBkaWUgVXJzYWNoZSBuZSBLb21iaW5hdGlvbiBhdXMgQXVzZmFlbGxlbiBpbQorUmVjaGVuemVudHJ1bSBoaWVyIHVuZCBtZWluZXIgVW5mYWVoaWdrZWl0LCBtaWNoIGRlbiBuZXVlbiBCZWRpbmd1bmdlbgorYW56dXBhc3NlbiA7LSkKKworRnl0LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogbmV0enByb2JsZW1lIChSYWZmaSwgIDIuIERleiAxOTk3LCAxOTozNzo0OCk6Cit+IyEgcm49Rnl0IHJ0PTg4MTA4Njg1MyByZz1yYzUKK34jISB0aWQ9ODgxMDU1MjU0CitVbmQgd2FzIGxlcm5lbiB3aXIgZGFyYXVzID8KKworSW5idWZmZXIgZ3Jvc3MgZ2VudWcgZGltZW5zaW9uaWVyZW4hIEplZGVzIE5ldHoga2FubiBtYWwgYWJnZWllcm4uCisKK0FtIGJlc3RlbiBJbmJ1ZmYgPTIwMC4KKworR3J1c3MKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUmU6IFNhdGlzdGlrIN8yLTEyLTE5OTcgKExhcmlzc2EsICAzLiBEZXogMTk5NywgMDk6NTE6MzQpOgorfiMhIHJuPUtleSBydD04ODEwNTM0NzAgcmc9cmM1Cit+IyEgdGlkPTg4MTA1MzE1NAorSm8sIG1laW5lIE1laW51bmchCisKK1dlbm4gbWFuIGJlZGVua3QsIGRhcyBtaXQgZWluZXIgJ0xvZXN1bmcnIGVyc3QgaW4gbWVocmVyZW4gTW9uYXRlbgorenUgcmVjaG5lbiBpc3QuLi4KK0Fsc28gdW5kIChKb2YgdW5kIG1pcikgbWFjaHRzIGVpbmZhY2ggU3Bhc3MgZGFiZWkgenUgc2VpbiB1bmQgZGllCit0YWVnbGljaGVuIEZvcnRzY2hyaXR0ZSB6dSBiZW9iYWNodGVuLgorCitHcnVlc2UsIExhcmkKKzopCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTdGF0aXN0aWsgKEdyaW1tYm9ybiwgIDkuIERleiAxOTk3LCAxNzo1NDowNCk6CitOdXIga3VyeiB6d2lzY2hlbmR1cmNoOgorR2VzZXJuIGhhdHRlIG11ZC5kZSBndXRlIDUwTWtleS9zIHVuZCB3YXIgZGFtaXQgYXVmIFBsYXR6IDE0LiBEYXMgVGVhbSBhdWYKK1BsYXR6IDEgcmVjaG5ldCBydW5kIDE1bWFsIHNvdmllbCwgbmFlbWxpY2ggNzkwTWtleS9zLiBCZWVpbmRydWNrZW5kLi4uICh6dW1hbAorZGFzIHNvIGVpbiBrb21pc2NoZXMgTWFjLVRlYW0gaXN0KS4KKworR3JpbW1ib3JuIGRlciBBdGhlaXN0CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogU3RhdGlzdGlrIChSYWZmaSwgIDkuIERleiAxOTk3LCAxODoxOTowOCk6Cit+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MTY4NjQ0NCByZz1yYzUKK34jISB0aWQ9ODgxNjg2NDQ0CitXZXIgd2VpcyB3YXMgZnVlciBlaW5lIFBvd2VyLVBDLUJhbmsgZGllIGhhYmVuIDopCisKK0FiZXIgYW0gV0Ugd2FyZW4gd2lyIGphIHNvZ2FyIFBsYXR6IDEyIC0gMyBwbGFldHplIFZPUiB1bmkuZGUgLi4uIHdvbGxlbiB3aXIKK25pY2h0IGVuZGxpY2ggZ3JhZWRpZyBzZWluIHVuZCBzaWUgaW4gdW5zZXIgVGVhbSBhdWZuZWhtZW4gPworCitHcmlucworSC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBTdGF0aXN0aWsgKERlbnRpLCAgOS4gRGV6IDE5OTcsIDIxOjI4OjUyKToKK34jISBybj1HcmltbWJvcm4gcnQ9ODgxNjg2NDQ0IHJnPXJjNQorfiMhIHRpZD04ODE2ODY0NDQKKworS29taXNjaGVzIE1hYy1UZWFtIDspKQorCitJY2gga2FubiBkYXp1IG51ciBzYWdlbiwgZGFzcyBlaW4gUG93ZXItTWFjIGV4dHJlbSBzY2huZWxsIHVuZCBndXQga25hY2t0LCAKK21laW4gUFBDIDYwNC0xMjAgKG9kZXIgUG93ZXJNYWMgODUwMC0xMjApIG1hY2h0IHNvIHVtIDM0MGtrZXlzL3MsIGRhIGVzIAoraW56d2lzY2hlbiB2b24gZGllc2VtIFByb3plc3NvcnR5cCBWYXJpYW50ZW4gYmlzIG1pbmRlc3RlbiAzMDAgTWh6IHVuZCBtaXQKK2JpcyB6dSA0IFByb3plc3NvcmVuIHBybyBNYWMgZ2lidCwgaXN0IG1hbiBzZWhyIHNjaG5lbGwgYmVpIGVpbmVyIGV4dHJlbSAKK2hvaGVuIEtleXJhdGUuIEluendpc2NoZW4gZ2lidCBlcyBhdXNzZXJkZW0gZGVuIE5hY2hmb2xnZS1Qcm96ZXNzb3IsIGRlciBub2NoCittYWwgYmVkZXV0ZW5kIHNjaG5lbGxlciBpc3QuCisKK0RhcyBUZWFtIGF1ZiBQbGF0eiAxIChNYWMtRXZhbmdlbGlzdGEgb2RlciBzbykgaXN0IHdvaGwgZWluIFRlYW0gdm9uIEFwcGxlCitzZWxiZXIsIGV2ZW50dWVsbCBlaW4gaW5vZmZpemllbGxlcywgbWFuIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGRpZSBlaW5mYWNoIAorc2VociB2aWVsZSBNYWNzIG5pY2h0cyBhbmRlcmVzIHR1biBsYXNzZW4uCisKK051ciBzbyBhbHMga2xlaW5lIFJhbmQtaW5mbworCitEZW50aSBsYWVzc3Qgc2VpbmVuIE1hYyBhdWNoIG5pY2h0cyBhbmRlcmVzIHR1bi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogU3RhdGlzdGlrIChNYXJjdXMsIDEwLiBEZXogMTk5NywgMTM6MzU6NTEpOgorfiMhIHJuPURlbnRpIHJ0PTg4MTY5OTMzMiByZz1yYzUKK34jISB0aWQ9ODgxNjg2NDQ0CitVbmQgYXVzc2VyZGVtIGdlaG9lcnQgTUFDIG1pdCB6dSBkZW5lbiwgZGllIFJDNSByaWNodGlnIHNjaG5lbGwgYmVyZWNobmVuCitrb2VubmVuICh3aWUgZGllIEludGVsIHg4NiBQcm96ZXNzb3JlbiksIHVuZCBkYWR1cmNoIHNlbGJzdCB3ZXNlbnRsaWNoIG1laHIKK0xlaXN0dW5nIGFscyBkaWUgZ2FuemVuIFNwYXJjcyB1bmQgSFBzIGhhYmVuLi4uCisKK0NpYW8sIE1hcmN1cworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworTmV1ZXIgQ2xpZW50IGZ1ZXIgTWFjcyAoTmVyZGFuZWwsIDEwLiBEZXogMTk5NywgMTQ6NTM6MzkpOgorRnVlciBtYWNzIGdpYnRzIHNlaXQgdm9yZ2VzdGVybiBlaW5lbiBDbGllbnQsIGRlciBhdWYgNjAzIHVuZCA2MDQgUHJvemVzc29yZW4KK3VtIDExJSBzY2huZWxsZXIgaXN0LiBadWRlbSBrYW5uIG1hbiBkYW1pdCAxMDAwIEJsb2Vja2UgYnVmZmVybi4gQWxzbyBzb2ZvcnQKK2hlcnVudGVybGFkZW4gOy0pCitTaWVoZSBodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLW1hYy5uZXQvY2xpZW50cy9pbmRleC5odG1sCisKK04uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNTozNik6Cit+IyEgb249TGkgb3Q9ODgyMjcxMjM3IG9nPWFsbGdlbWVpbmVzCit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MjI2OTc4NyByZz1hbGxnZW1laW5lcworfiMhIHRpZD04ODIyNjk3ODcKK0thbm4gbWlyIG1hbCBqZW1hbmQgZXJrbGFlcmVuLCB3YXJ1bSBkYXMgbmljaHQgc2ljaGVyIHNlaW4gc29sbD8gV2VubiBkYXMKK2dhbnplIEludGVybmV0IHZlcnN1Y2h0LCBkZW4gQ29kZSBoZXJhdXN6dWJla29tbWVuLCB1bmQgZGFzc2ljaGVybGljaCBhdWNoCitpcmdlbmR3YW5uIHNjaGFmZnQsIGhlaXNzdCBkYSBkb2NoIG5pY2h0LCBkYXNzIGFpY2ggZWluemVsbmUgSGFja2VyCitkYXNzY2hhZmZlbiwgb2RlciBpcnJlIGljaCBtaWNoIGRhPworYmluIGljaCB6dSBkb29mLCB1bSBkYXN6dSBrYXBpZXJlbiwgb2RlciBpc3QgZGFzIG51ciBlaW4gbmV1ZXMgc2NoaWNrZXMsCithdWZnZWJsYWVodGVzICJFdmVudCIgaW0gSW50ZXJuZXQ/CitJY2ggbWVpbiwgZGFzIFByZWlzZ2VsZCwgb2ssIGFiZXIgc29uc3Q/CitMaSAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNTo0NCk6Cit+IyEgb249TGFyaXNzYSBvdD04ODIyNzE4OTggb2c9YWxsZ2VtZWluZXMKK34jISBybj1MaSBydD04ODIyNzEyMzcgcmc9YWxsZ2VtZWluZXMKK34jISB0aWQ9ODgyMjY5Nzg3CitBbHNvLAoraWNoIGRlbmtlIGVzIGdhaHQgZGFydW0genUgemVpZ2VuLCBkYXNzIGVzIG1vZWdsaWNoIGlzdAorbWl0IGdlbnVlZ2VuZCBSZWNobmVybiBzcGlyY2ggR2VsZCBlaW5lbiBDb2RlIHp1IGtuYWNrZW4sCitkZXIgd2FzX3dlaXNzX2ljaF93YXMgZnVlciB0b2xsZSBSZWdpZXJ1bmdzL01pbGl0YWVyL1NvbnN0d2FzLQorR2VoZWltbmlzc2UgYmVodWV0ZXQuCisKK1VuZCBkYXMgc29sbCBqYSBuaWNodCwgZ2VsbGU/CisKK0xhcmksIG1hY2h0IGF1Y2ggbWl0LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNTo1OCk6Cit+IyEgb249Q2F0d2VhemxlIG90PTg4MjI3Mzc4MCBvZz1hbGxnZW1laW5lcworfiMhIHJuPUxhcmlzc2EgcnQ9ODgyMjcxODk4IHJnPWFsbGdlbWVpbmVzCit+IyEgdGlkPTg4MjI2OTc4NworCitleGFrdCEKKworRGFtYWxzICwgYWxzIGRpZSBhbmdlZmFuZ2VuIGhhYmVuLCBoYXQgbmV0c2NhcGUgc2VpbmUgVmVyY3J5cHR1bmdzc2FjaGVuIG5vY2gKK21pdCA0MGJpdCB2ZXJzY2hsdWVzc2VsdC4gRGVyIHd1cmRlIGluIGNhLiAzLjUgU3R1bmRlbiBnZWtuYWNrdCEKK0t1cnogZGFyYXVmIGhhdCBuZXRzY2FwZSBhdWNoIGhvZWhlciB2ZXJzY2hsdWVzc2VsdC4gWnVzYWV0bGljaCBnaWJ0IGVzIGluCitBbWVyaWthIHNvIGVpbiBzZWx0c2FtZXMgZXhwb3J0LWdlc2V0eiwgbmFjaGRlbSBtYW4gYmVzdGltbXRlIHZlcnNjaGx1ZXNzZWx0ZQorU2FjaGVuIG5pY2h0IGV4cG9ydGllcmVuIGRhcmYuIEFiZXIgZGEga2VubiBpY2ggbWljaCBuaWNodCBnZW5hdSBhdXMsIGRhCittdWVzc3RlIHNpY2ggbWFsIGVpbiBQcm9maSB6dSBlcmtsYWVyZW4uCitBdWNoIGRhZ2VnZW4gZ2VodCBkaWVzZSByYzUta2FtcGFnbmUuCitZVEMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjM6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChDYXR3ZWF6bGUsIDE2LiBEZXogMTk5NywgMTM6MDc6MTMpOgorfiMhIG9uPVllbmRpIG90PTg4MjI3NDAwMyBvZz1hbGxnZW1laW5lcworfiMhIHJuPUxhcmlzc2EgcnQ9ODgyMjcxODk4IHJnPWFsbGdlbWVpbmVzCit+IyEgdGlkPTg4MjI2OTc4NworCisuLi4uIGF1c3NlcmRlbSBpc3QgZGF2b24gYXVzenVnZWhlbiwgZGFzcyBSZWdpZXJ1bmcvTWlsaXRhZXIvU29uc3R3YXMgc2VsYmVyCitlaW5lIE1lbmdlIFJlY2huZXIgaGF0LCBkaWUgYXVjaCB6dW0gU2NobHVlc3NlbGtuYWNrZW4gZWluZ2VzZXR6dCB3ZXJkZW4KK2tvZW5uZW4uIAorCitJY2ggd3VlcmRlIG1pY2ggc2ljaGVyZXIgZnVlaGxlbiwgd2VubiBpY2ggd3Vlc3N0ZSwgZGFzcyBlcyBlaW5lbiBTY2hsdWVzc2VsCitnaWJ0LCBkZW4gc2VsYnN0IDM3IFppbGxpb25lbiBOZXR6dXNlciBtaXQgdmVyZWludGVuIEtyYWVmdGVuIGVyc3QgbmFjaCAxOQorV29jaGVuIGdla25hY2t0IGhhYmVuIC0tIGRhbm4gcmVjaG5lIGljaCBtaXIgYXVzLCBkYXNzIGRpZSBIZXJyZW4gaW4gZGVuCitUcmVuY2hjb2F0cyB3b2hsIGF1Y2ggZWluZW4gaGFsYmVuIE1vbmF0IGJyYXVjaGVuIHdlcmRlbi4uLgorCitZZW5kaSAtLQorICAgICAgICAgaGF0IG5pY2h0cyB6dSB2ZXJiZXJnZW4sIGFiZXIgd2VubiwgZGFubiB3aWxsIGVyIGVzIHdlbmlnc3RlbnMgdm9yCisgICAgICAgICBfYWxsZW5fIHZlcmJlcmdlbi4KKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFBhdHJ5biwgMTYuIERleiAxOTk3LCAxNDo1Nzo0Nyk6Cit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MjI3Mzk0NCByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3CitpY2ggZGVuayBtYWwsIGRlciBjb250ZXN0IHdpcmQgZGFzIGdlZ2VudGVpbCB2b24gZGVtIGVycmVpY2hlbiwgd2FzIGVyCitlaWdlbnRsaWNoIGJlendlY2t0LiB6dW0gZGVyemVpdGlnZW4gemVpdHB1bmt0IGthbm4gbWFuIGVpbmVuIDY0Yml0CitzY2hsdWVzc2VsIGR1cmNoYXVzIGFscyBzaWNoZXIgYmV0cmFjaHRlbiwgZGVubiBkaWUgd2lya2xpY2ggZ2VoZWltZW4KK2RhdGVuIHdlcmRlbiBhdWNoIHdpcmtsaWNoIGJlc3NlciB2ZXNjaGx1ZXNzZWx0IDopCit3ZW5uIGRlciBjb2RlIGluIGhpbnJlaWNoZW5kIHZlcm51ZW5mdGlnZXIgemVpdCBnZWtuYWNrdCB3ZXJkZW4gc29sbCwgZGFubgoraXN0IHNlbGJzdCBtaXQgZGVyIGRlcnplaXRpZ2VuIGdlYmFsbHRlbiByZWNoZW5wb3dlciBlaW4gaGVmdGlnZXIKK2dsdWVja3N0cmVmZmVyIG5vZXRpZywgd2llIG1hbiBhbiBkZW4gemFobGVuIGxlaWNodCBlcmtlbm5lbiBrYW5uLgorZnVlciBiYW5rZ2VzY2hhZWZ0ZSwgcG9zdCwgcGVyc29lbmxpY2hlIGRhdGVuIGlzdCBlcyBtZWhyIGFscyBhdXNyZWljaGVuZC4KK2RhIGdpYnQgYmVxdWVtZXJlIGFuc2F0enB1bmt0ZSwgdW0gc28gZXR3YXMgYXVzenVzcGllb25pZXJlbiwKK2xlaXR1bmdlbiB1bWxlaXRlbiwgZWxla3Ryb21hZ25ldGlzY2hlIGVtaXNzaW9uZW4gYW5hbHlzaWVyZW4gKG1vbml0b3JlIHpCKSwKK2tsYXNzaXNjaGUgc3Bpb25hZ2V0ZWNobmlrZW4gOykKKworLS0tLS0tCitwYXRyeW4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjQ6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChXdXJ6ZWwsIDE2LiBEZXogMTk5NywgMTk6MDI6NDIpOgorfiMhIHJuPVBhdHJ5biBydD04ODIyODA2Njcgcmc9cmM1Cit+IyEgdGlkPTg4MjI2OTc4NworPmRpZSB3aXJrbGljaCBnZWhlaW1lbiBkYXRlbiB3ZXJkZW4gYXVjaCB3aXJrbGljaCBiZXNzZXIgdmVzY2hsdWVzc2VsdCA6KQorCitzdGltbXQuIGJlaSBkZXIgZ2FuemVuIGRpc2t1c3Npb24gd2lyZCBpbW1lciB3aWVkZXIgbGVpY2h0IHVlYmVyc2VoZW4sIGRhc3MKK2VzIGF1Y2ggdW5rbmFja2JhcmUgdmVyc2NobHVlc3NlbHVuZ2VuIGdpYnQuIGRpZSBzaW5kIG51ciBuaWNodCBzbyBsZWljaHQKK3Byb2dyYW1tdGVjaG5pc2NoIHp1IHJlYWxpc2llcmVuIHdpZSBkYXMsIHdhcyBkYSBqZXR6dCBnZWtuYWNrdCB3ZXJkZW4gc29sbC4KK21pdCBicnV0ZSBmb3JjZSBnZWh0IGViZW4gbnVyIF9mYXN0XyBhbGxlcy4KKword3VyemVsCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV41OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoUm9jaHVzLCAxNi4gRGV6IDE5OTcsIDE5OjA1OjQ1KToKK34jISBybj1XdXJ6ZWwgcnQ9ODgyMjk1MzYyIHJnPXJjNQorfiMhIHRpZD04ODIyNjk3ODcKK0RhcyBlaW56aWdlIFZlcnNjaGx1ZXNzZWx1bmdzdmVyZmFocmVuLCB2b24gZGVtIEJFV0lFU0VOIGlzdCwgZGFzcyBlcwordW5rbmFja2JhciBpc3QsIGlzdCBzZWhyIGxlaWNodCBwcm9ncmFtbXRlY2huaXNjaCB6dSByZWFsaXNpZXJlbi4KK051ciBkZXIgU2NobHVlc3NlbGF1c3RhdXNjaCBpc3QgZGFzIFByb2JsZW0gOikKKworICBSb2NodXMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjQ6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChBdmFsb24sIDE2LiBEZXogMTk5NywgMjI6NDk6MDIpOgorfiMhIHJuPUNhdHdlYXpsZSBydD04ODIyNzM5NTggcmc9cmM1Cit+IyEgdGlkPTg4MjI2OTc4NworSGksCisKK2ljaCB6aXRpZXIgbWFsIG4gd2VuaWcgYXVzIG5lciBWb3JsZXN1bmcgdm9uIGhldXRlLi4uCitzaW5uZ2VtYWVzcywgdmVyc3RlaHQgc2ljaC4gRXMgYmVnYWIgc2ljaCwgZGFzcyBkaWVzZXMgdm9uIERpcgorYW5nZXNwcm9jaGVuZSBFeHBvcnRnZXNldHogKFZlcnNjaGx1ZXNzZWx1bmdzYWxnb3JpdGhtZW4gZmFsbGVuCitkZW1nZW1hZXNzIGluIGRpZSBLYXRlZ29yaWUgJ1dhZmZlbm11bml0aW9uJykgZGF6dSBmdWVocnRlLCBkYXNzCisoRXVyb3BhZWVyIHNpbmQgamEgYXVjaCBuaWNodCBibG9lZCkgaW4gRXVyb3BhIHZlcm1laHJ0IEZpcm1lbgorYXVzIGRlbSBCb2RlbiB3dWNoc2VuLCBkaWUgZWJlbnNvbGNoZSBlbnR3aWNrZWx0ZW4gdW5kIHZlci0KK2thdWZ0ZW4uIFVuZCBkYXNzIEZpcm1lbiBpbiBBbWVyaWthIG51biBpaHJlcnNlaXRzIHp1bmVobWVuZHMKK0FuZ3N0IHVtIGlocmUgUHJvZHVrdGUgYmVrYW1lbiwgenVtaW5kZXN0IHVlYmVyIGRlcmVuIEFic2F0egoraW4gbm9uLVVTQS4gVW5kIHZlcm1laHJ0IERydWNrIGF1ZiBpaHJlIEdlc2V0emdlYmVyIGF1c3VlYnRlbi4KK1NvZGFzcyBkaWVzZSBFeHBvcnRiZXNjaHJhZW5rdW5nZW4gbnVuIG5hY2ggdW5kIG5hY2ggZ2Vsb2NrZXJ0Cit3dXJkZW4gdW5kIHdlcmRlbiAtIGFuZ2VibGljaCBiZXJlaXRzIGltIEJhbmtlbmJlcmVpY2gsIHdvIGVzCit1bSB2aWVsIEdlbGQgZ2VodCAobmljaHQgbnVyIHdvZXJ0bGljaCkuIFVuZCBzbyB3aXJkIGVzIHNpY2gKK3dvaGwgYmVnZWJlbiwgZGFzcyBkaWUgV2lydHNjaGFmdCBkYXMgbGV0enRlIFdvcnQgaGFiZW4gd2lyZC4KK1VuZCBuaWNodCBkaWUgUG9saXRpay4KKword29vZHkuLQorCitQUy4gSWNoIHd1ZXJkZSBkaWUgVm9ybGVzdW5nIGphIGxpZWJlbmQgZ2VybiB3ZWl0ZXJlbXBmZWhsZW4sCisgICAgYWJlciBkaWUgd2VuaWdzdGVuIHdlcmRlbiBuYWNoIFdpZW4ga29tbWVuIHdvbGxlbiA6KSwgdW5kCisgICAgenVkZW0gZ2lidHMgbnVyIG5vY2ggZWluZW4gQmxvY2sgaW0gSmFlbm5lci4uLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNDogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKEhlbHZhLCAxNy4gRGV6IDE5OTcsIDE4OjMxOjM2KToKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODgyMjczOTU4IHJnPXJjNQorfiMhIHRpZD04ODIyNjk3ODcKK1NvIHdlaXQgaWNoIHdlaXNzLCB2ZXJ3ZW5kZW4gZGllIEFtaXMgZWluZW4gMTQyLWJpdCBjb2RlIChhdWYgamVkZW4gRmFsbCB1YmVyCisxNDAgYml0LCBpY2ggbWVpbmUgd2lya2xpY2ggMTQyLSBvZGVyIGdlaHQgZGFzIGF1cyBtYXRoZW1hdGlzY2hlbiBHcnVlbmRlbgorbmljaHQtIHNvcnJ5LCBiaW4ga2VpbiBOYXR3aSBvZGVyIHNvIGV0d3MsIGRlciBkYXMgZ2xlaWNoIHVlYmVyYmxpY2t0IDspICkuCitIZWx2YQorUC5TLiBiZWkgZXJuc3RoYWZ0ZW0gSW50ZXJlc3NlIHNjaGF1ZSBpY2ggZGllIEJpdHphaGwgYXVjaCBub2NobWFsIG5hY2guLi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjU6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChQYXRyeW4sIDE3LiBEZXogMTk5NywgMTg6NDA6NTcpOgorfiMhIHJuPUhlbHZhIHJ0PTg4MjM3OTg5NiByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3CitkYSBqZWRlIHNjaGx1ZXNzZWxsYWVuZ2UgZGVua2JhciBpc3QsIGdpYnQgZXMgbmljaHQgJ2RlbiBjb2RlLCBkZW4gZGllIGFtaXMKK3ZlcndlbmRlbicuIGRpZSBoYWJlbiBhbGxlcyBtb2VnbGljaGUgaW0gZWluc2F0eiwgZHUgd2lyc3QgZG9ydCB6dW1pbmRlc3QKK2thdW0gYXVmIGVpbmVyIGtyZWRpdGthcnRlIGVpbmVuIDEyOCBiaXQtY29kZSBmaW5kZW4sIHVlaWJyaWdlbnMgZWluZQorZGVyemVpdCBtZWhyIGFscyBhdXNyZWljaGVuZGUgc2NobHVlc3NlbGxhZW5nZSwgbWl0IGRlciBtYW4gZGllCitnYW56ZSBkaXNrdXNpb24gZXJzY2hsYWdlbiBrb2VubnRlLiBsZWlkZXIgaGFiZW4gZGllIGdlaGVpbWRpZW5zdGUgZGVyCit3ZWx0IGRvcnQgYXVjaCBlaW4gd29lcnRjaGVuIG1pdHp1cmVkZW4uIGF1c3NlcmRlbSBzdGVpZ3QgZGVyIHJlY2hlbmF1ZndhbmQKK2Z1ZXIgZ3JvZXNzZXJlIHNjaGx1ZXNzZWxsYWVuZ2VuIGF1Y2gsIHdlbm4gZGVyIHNjaGx1ZXNzZWwgYmVrYW5udCBpc3QsCit6d2FyIG51ciBzZWhyIGJlc2NoZWlkZW4gaW0gdmVyZ2xlaWNoIHp1bSBkdXJjaHByb2JpZXJlbiwgYWJlciBpbW1lcmhpbgorc28gc3RhcmssIGRhc3MgZWluIDEsNTAgRE0gcHJvemVzc29yIGluIGRpZSBrbmllIGdlaHQuCisKKy0tLS0tLQorcGF0cnluCisKK1BTOiBzb2xsdGUgamVtYWxzIGplbWFuZCBlaW5lbiBnZXNjaGxvc3NlbmVuIGF1c2RydWNrIGZpbmRlbiwgdW0genUgZWluZXIKKyAgICBwcmltemFobCBzZWluZW4gendpbGxpbmcgaGVyYXVzenVmaW5kZW4gb2RlciBhdWNoIG51ciBlaW5lbgorICAgIHByaW16YWhsdGVzdCBvaG5lIGR1cmNocHJvYmllcmVuLCBkYW5uIHNvbGx0ZSBlciBlcyBiZXNzZXIgZnVlciBzaWNoCisgICAgYmVoYWx0ZW4sIHNlaW4gbGViZW4gaXN0IGRhbm4gYmVzdGltbXQgbmljaHQgbWVociB2aWVsIHdlcnQgOikKKworUFNTOiBlaW4gbmljaHQgYXVmIHByaW16YWhsZW4gYmFzaWVyZW5kZXMgdmVyZmFocmVuLCB3ZWxjaGVzIG1hdGhlbWF0aXNjaAorICAgICBiZXdlaXNzYmFyIHNpY2hlciBpc3QsIGJyYXVjaHQgZWluZW4gc3RvZXJzZW5kZXIsIHdlbGNoZXIgenVmYWxsc2ZvbGdlbgorICAgICB2b24gemFobGVuIGxpZWZlcnQuIGRlciBhdWZ3YW5kIGlzdCBkZXNoYWxiIHJlY2h0IGhvY2gsIGRlbm4gZGllCisgICAgIHNjaGx1ZXNzZWwgYWVuZGVybiBzaWNoIGltIHByaW56aXAgdW51bnRlcmJyb2NoZW4gdW5kIHNvd29obCBzZW5kZXIKKyAgICAgYWxzIGF1Y2ggZW1wZmFlbmdlciBicmF1Y2hlbiBnbGVpY2h6ZWl0aWdlbiB6dWdyaWZmIGRhcmF1Zi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjY6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChFbmRlciwgMTguIERleiAxOTk3LCAwOTozOTozNCk6Cit+IyEgcm49UGF0cnluIHJ0PTg4MjM4MDQ1NyByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3Citad2lsbGluZyBlaW5lciBQcmltemFobAorCitEYXMgaGFiZSBpY2ggbmljaHQgdmVyc3RhbmRlbiwgb2J3b2hsIGljaCB3ZWlzcywgd2FzIG5lIFByaW16YWhsIGlzdC4KK1ZpZWxlaWNodCBrYW5uc3QgRHUgZGFzIG1hbCBlcmxhZXV0ZXJuLiBJY2ggd2lsbCBtYWwgc2VoZW4gb2IgaWNoIGVpbmVuIGZpbmRlbgora2Fubi4KKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNzogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFJvbmRhLCAxOC4gRGV6IDE5OTcsIDA5OjQzOjA0KToKK34jISBybj1FbmRlciBydD04ODI0MzQzNzQgcmc9cmM1Cit+IyEgdGlkPTg4MjI2OTc4NworRXMgZ2VodCBkYXJ1bSwgZWluZSBtb2VnbGljaHN0IGdyb3NzZSBQcmltemFobCB4IHp1IGZpbmRlbiwgYmVpIGRlciBhdWNoIHgrMgorZWluZSBQcmltIGlzdC4uLgorRGllIERpbmdlciB3ZXJkZW4sIGplIGhvZWhlciBEdSBnZWhzdCwgaW1tZXIgc2VsdGVuZXIuLi4KK0JlbnV0enQgbWFuIGdsYXViIGNpIGhhY3VoIGZ1ZXIgVmVyc2NobHVlc3NlbHVuZ2VuPz8/CisKK1JvbmRhICp1bndpc3NlbmQgYWJlciBtaXQgZ2VzdW5kZXIgSGFsYmJpbGR1bmcgOikqCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV42OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoQWNyaW1vbiwgMTkuIERleiAxOTk3LCAxOTo1OToyOSk6Cit+IyEgcm49UGF0cnluIHJ0PTg4MjM4MDQ1NyByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3CitXYXJ1bSBzb2xsdGUgamVtYW5kZXMgTGViZW4sIGRlciBlaW5lbiBzY2huZWxsZW4gUHJpbXphaGx0ZXN0IGZpbmRldCwgbmljaHQKK21laHIgdmllbCB3ZXJ0IHNlaW4/CisKK0VzIGlzdCBub2NoIGtlaW5lciBkYXJhbiBnZXN0b3JiZW4sIGRhc3ogZXIgZGllIEZhc3QtRm91cmllci1UcmFuc2Zvcm1hdGlvbgorZW50ZGVja3QgaGF0LgorCitBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjc6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChHcmltbWJvcm4sIDE5LiBEZXogMTk5NywgMjA6MTU6MjApOgorfiMhIHJuPUFjcmltb24gcnQ9ODgyNTU3OTY5IHJnPXJjNQorfiMhIHRpZD04ODIyNjk3ODcKK1dlbm4gRHUgZWluZSBNZXRob2RlIGZpbmRlc3QsIG1pdCBkZXIgRHUgcHJha3Rpc2NoIHNhZW10bGljaGUgR2VoZWltZGllbnN0ZQordW5kIE1pbGl0YWVycyBkaWVzZXIgRXJkZSBob2VjaHN0Z3JhZGlnIGdlZmFlaHJkZXN0LCBkYW5uIF9pc3RfIERlaW4gTGViZW4KK25pY2h0IG1laHIgdmllbCB3ZXJ0LiBEZXIgTWVpbnVuZyBiaW4gaWNoIGFsbGVyZGluZ3MgYXVjaC4KK1dhcnVtPyBXZWlsIGVzIHdvaGwga2VpbiBQcm9ibGVtIGlzdCwgSW5mbyB2b20gIkZlaW5kIiBpbiBkaWUgRmluZ2VyIHp1CitiZWtvbW1lbi4gTWFuIGthbm4gc2llIG51ciBpY2h0IGVudHNjaGx1ZXNzZWxuLiBVbmQgbWFjaCBkYXMgdm9uIGhldXRlIGF1ZgorbW9yZ2VuIGVudHNjaGx1ZXNzZWxiYXIuLi4KKworR3JpbW1ib3JuIGRlciBBdGhlaXN0CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV44OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoQWNyaW1vbiwgMTkuIERleiAxOTk3LCAyMDo0MzowMCk6Cit+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MjU1ODkyMCByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3CitTYWdlbiB3aXIsIEdyaW1tYm9ybiBoYXQgaW4gZWluZW0gR2Vpc3Rlc2JsaXR6IGVpbmVuIHNjaG5lbGxlbiBQcmltemFobHRlc3QKK2dlZnVuZGVuLgorCitEYW5uIGlzdCBHcmltbWJvcm5zIExlYmVuIGFsbGVyZGluZ3MgbnVyIHNvIGxhbmdlIGdlZmFlaHJkZXQsIHdpZSBlciBkaWVzZXMKK1ZlcmZhaHJlbiBub2NoIF9uaWNodF8gdmVyb2VmZmVudGxpY2h0IGhhdC4KKworV2VubiBlciBlcyBkYW5uIHZlcm9lZmZlbnRsaWNodCBoYXQsIGRhbm4gc2luZCBkaWUgR2VoZWltZGllbnN0ZSBuaWNodCBtZWhyCithdWYgc2VpbmVuIFRvZCBlcnBpY2h0LCB3ZWlsIHNpZSBkYW5uIGR1cmNoIHNlaW5lbiBUb2QgZGFzIEJla2FubnR3ZXJkZW4KK2RpZXNlcyBBbGdvcml0aG11cyBuaWNodCBtZWhyIHZlcmhpbmRlcm4ga29lbm5lbi4KKworKFNpZSBrb2VubnRlbiBob2VjaHN0ZW5zIGVpbmVtIHp3ZWl0ZW4gR3JpbW1ib3Juc2NoZW4gR2Vpc3Rlc2JsaXR6IHZvcmJldWdlbi4pCisKK0Fjcmltb24sIGRlciBSb3RlIFJpdHRlcgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeOTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFJhZmZpLCAxOS4gRGV6IDE5OTcsIDIyOjE2OjUzKToKK34jISBybj1BY3JpbW9uIHJ0PTg4MjU2MDU4MCByZz1yYzUKK34jISB0aWQ9ODgyMjY5Nzg3CitEdSB2ZXJnaXNzdCBkYXMgTWVuc2NoZW4gaW0gYWxsZ2VtZWluZW4gYmVpIHNvd2FzIHJlY2h0IGtsZWlubGljaCB1bmQKK05hY2h0cmFnZW5kIHNpbmQgLi4uIHp1bSBhbmRlcmVuIGRlbmtlIGljaCBnaWJ0cyBnYXJhbnRpZXJ0IGtlaW5lCitEaWVuc3RhbndlaXN1bmcgZnVlcnMgbmljaHR1bWJyaW5nZW4gOikKKworR3J1c3MKK0guCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSQzUgKFJhZmZpLCAxOS4gRGV6IDE5OTcsIDIyOjE3OjQxKToKK0FjaCBqYSAtIHNjaG9lbmVzIFdFIC0gdW5kIGFsbGUgZGllIGhldXRlIGxldHp0bWFsaWcgdm9yIGlocmVtIFJlY2huZXIgc2l0emVuOgorUmVjaG5lciBtaXQgUkM1IHVlYmVyIFdlaWhuYWNodGVuIER1cmNobGF1ZmVuIGxhc3NlbiAhCisKK0dydXNzCitILgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJDNSAoQW5hdG9sLCAxOS4gRGV6IDE5OTcsIDIyOjIxOjM3KToKK34jISBybj1SYWZmaSBydD04ODI1NjYyNjEgcmc9cmM1Cit+IyEgdGlkPTg4MjU2NjI2MQorVmVyZ2lzcyBlcy4gRGllICIgQ2xpZW50LVByb2dyYW1taWVyZXIgc2luZCBzaWNoIHdvaGwgenUgc2NoYWRlLCBpaHJlbgorQ2xpZW50IGF1Y2ggZnVlciBOZVhUIG1hY2gtaTM4NiB6dSB1ZWJlcnNldHplbi4uLi4gaWNoIGhhZXR0ZSBlaW4gRHV6ZW5kCitQZW50aXVtcyByZWNobmVuIGxhc3NlbiBrb2VubmVuLi4uIERhc3MgZGVyIEFJWC1DbGllbnQgbnVyIHVudGVyIEFJWCA0LioKK2xhZXVmdCwgbXVzcyBpY2ggdmVybXV0bGljaCBuaWNodCBlcndhZWhuZW4uCisKK1RqYSwgc2NoYWRlIDopCitBbmF0b2wKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworTkVVIC0gREVTIElJIChNaWthLCAyMi4gRGV6IDE5OTcsIDEwOjIxOjMzKToKK0l0J3MgYSBnby4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0ZWQubmV0IHdpbGwgYmUgYWNjZXB0aW5nIHRoZSBSU0EgREVTCitJSSBDaGFsbGVuZ2UuIFdlIGFyZSB2ZXJ5IG11Y2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHRvcCBvZiBpdCwgYW5kIGNsaWVudHMgd2lsbCBiZSByZWFkeSBhbmQKK3Rlc3RlZCBiZWZvcmUgOTowMCBBTSAoUFNUKSBvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAxMnRoLCAxOTk4IHdoZW4gdGhlIGNvbnRlc3Qgc3RhcnRzLiBOZXcKK2NsaWVudHMgd2lsbCBiZSBlbmhhbmNlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGR1YWwgJ2NvcmUnIGFuZCBvbiBKYW4gMTJ0aCB3ZSdsbCBzdGFydAorc2VuZGluZyBvdXQgREVTIGRhdGEgaW5zdGVhZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgUkM1LTY0IGRhdGEuIFNldmVyYWwgdjMgZmVhdHVyZXMgd2lsbCBhbHNvCitiZSB0ZXN0ZWQgb3V0IGluIHRoZSBoeWJyaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudHMgdG8gc2VlIGhvdyB0aGV5IHdpbGwgcGVyZm9ybS4gV2UgYXJlCithbHNvIHdvcmtpbmcgb24gZ2V0dGluZyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgdGhlIFNPTE5ldCBjb29yZGluYXRvciBhbmQgdGhlCitERVNDSEFMTCBHdXJ1IGFzIHdlbGwuCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHdlIGNhbiBnZXQgdGhlIGZ1bGwgc3VwcG9ydCBvZiB0aGUKK2Rpc3RyaWJ1dGVkLm5ldCBjb21tdW5pdHksIHdlIHNob3VsZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgYWJsZSB0byBiZWF0IERFUyBhZ2FpbiBhbmQgc2hvdyBqdXN0IGhvdword2VhayBERVMgcmVhbGx5IGlzIGluIDE5OTgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVkIHRvIHRoZSBwaGVub21lbmFsIGNvbXB1dGluZyBwb3dlciBvZgorZGlzdHJpYnV0ZWQubmV0CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldGFpbHMgd2lsbCBiZSBwbGFjZWQgb24KK2h0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L2Rlcy8gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGV5IGJlY29tZSBhdmFpbGFibGUuCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tQWRhbSBMLiBCZWJlcmcgCisKK1NvcnJ5IGZ1ZXIgZGFzIG1pZXNlIEZvcm1hdC4uLgorCitNaWthCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xMDogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFllbmRpLCAyMi4gRGV6IDE5OTcsIDE0OjM1OjU3KToKK34jISBybj1SYWZmaSBydD04ODI1NjYyMTMgcmc9cmM1Cit+IyEgdGlkPTg4MjI2OTc4NworTmEsIHdlbm4gR3JpbW1pIGRpZSBLbmFja2VyLUZvcm1lbCB2ZXJvZWZmZW50bGljaHQsIGJldm9yIGVpbiBHZWhlaW1kaWVuc3QgaWhuCit1bWJyaW5nZW4ga29ubnRlLCBkYW5uIHdlcmRlbiBkaWUgSGVycmVuIGluIGRlbiBUcmVuY2hjb2F0cyBpaG4gdmVybXV0bGljaAorZnVlciBpaHJlbiBSZWNobmVycGFyayBhbmhldWVybiB3b2xsZW4gLS0gZnVlciAxMEtETSBpbSBNb25hdCwgRGllbnN0d2FnZW4sCitEaWVuc3R3b2hudW5nLCBHZXNwaWVsaW5uZW4sIEx1c3RrbmFiZW4sIExhZW1tZXIgb2RlciBNZWxvbmVuIG5hY2ggR3VzdG8gZnJlaQorSGF1cywgYWJlciBCSVRURUJJVFRFLCBoYWIgbm9jaCBlaW5tYWwgc28gZWluZSBJZGVlLi4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4xMTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKEF1Z3JhLCAyMi4gRGV6IDE5OTcsIDE5OjA5OjE4KToKK34jISBybj1ZZW5kaSBydD04ODI3OTc3NTcgcmc9cmM1Cit+IyEgdGlkPTg4MjI2OTc4NworV2VyIHNvbGwgYmVpIGRlciBnYW56ZW4gQWJsZW5rdW5nIG5vY2ggbWFsIG5lIGd1dGUgSWRlZSBoYWJlbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBORVUgLSBERVMgSUkgKEdyaW1tYm9ybiwgMjIuIERleiAxOTk3LCAyMDowNzozNyk6Cit+IyEgcm49TWlrYSBydD04ODI3ODI0OTMgcmc9cmM1Cit+IyEgdGlkPTg4Mjc4MjQ5MworS2xlaW5lciBUaXA6IFNvbiBaZXVjaHMgZXJzdCBpbiBlaW5lbiBFZGl0b3IgcGFzdGVuLCBuZXUgZm9ybWF0aWVyZW4sIHVuZCBlcnN0CitkYW5uIGluIGRpZSBtcGEgcGFzdGVuIHVuZCBhbGxlIHNpbmQgZ2x1ZWNrbGljaC4KKworR3JpbW1ib3JuIGRlciBBdGhlaXN0CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogU3RhdGlzdGlrIChDaGVhc3ksIDI1LiBEZXogMTk5NywgMTk6Mzg6MjgpOgorfiMhIHJuPUdyaW1tYm9ybiBydD04ODE2ODY0NDQgcmc9cmM1Cit+IyEgdGlkPTg4MTY4NjQ0NAorRGFzIG1hYy10ZWFtIGhhdCBuZW4ga2xhcmVuIFZvcnRlaWw6IHdlc2VudGxpY2ggbWVociByZWdpc3RlciBwcm8gcHJvemVzc29yLAordW5kIHdlc2VudGxpY2ggc2NobmVsbGVyZSBwcm96ZXNzb3Jlbi4gd2VubiBpY2ggbWljaCBuaWNodCBpcnJlLCBsYWV1ZnQgZGVyCitnZXNhbXRlIGtleS1BbGdvcml0aG11cyB2b2xsc3RhZW5kaWcgaW0gY2FjaGUsIHNhZW10bGljaGUgdmFyaWFibGVuIGxpZWdlbiBpbgorcmVnaXN0ZXJuLiBOYWphLCBnJ3NjaGVpdGUgcHJvemVzc29yZW4gYnJpbmdlbiBtZWhyIGFscyBtdWx0aW1lZGlhIDotKSkpCistQ2hlYXN5CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitXZXIgZmFlbHNjaHQgZGllIHNjaG9lbnN0ZSBTdGF0aXN0aWs/IChYZW51LCAyNy4gRGV6IDE5OTcsIDE2OjU0OjM3KToKKyhBbGxlIExlc2VyIG1pdCBha3V0ZXIgTWF0aGUtcGhvYmllIG1vZWdlbiBiaXR0ZSBuaWNodCB3ZWl0ZXJsZXNlbiA6KQorV2VpdGVzdGdlaGVuZCBiZWthbm50IGlzdCwgZGFzcyBkaWUgU3RhdHMgaW1tZXIgbm9jaCBiZWltIDE2LjEyLiBoYWVuZ2VuLgorWml0YXQ6CisnV29yayBvbiBzdGF0cyBoYXMgbm93IHJlc3VtZWQsIGFuZCB3ZSBleHBlY3QgdGhlbSB0byBiZSBiYWNrIGluIG9wZXJhdGlvbiAKKyBhZnRlciB0aGlzIHdlZWtlbmQuJyAgIChyYzVzdGF0cy5kaXN0cmlidXRlZC5uZXQvc3RhdHNtc2cuaHRtbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitBYmVyIGV4dHJhcG9saWVyZW4ga2FubiBtYW4gamEgdHJvdHpkZW06CisKK0Fsc28gYmVpIGtvbnN0YW50IGJsZWliZW5kZXIgS2V5cmF0ZSByPTEwNzY1NzgxIGtrZXlzL3NlYyBlcmdpYnQgc2ljaAorZWluZSBTY2hsdWVzc2VsZnVua3Rpb24gayh0KT0gcip0CitkLmguIGRlcihkaWU/L2Rhcz8pIEtleXNwYWNlIGlzdCBkYW5uIG5hY2ggY2EuIDU0IEphaHJlbiBlcnNjaG9lcGZ0LgorKGRhcyBzb2xsdGVuIGRpZSBtZWlzdGVuIHZvbiB1bnMgZG9jaCB3b2hsIG5vY2ggZXJsZWJlbi4gOi0pCisKK0JlaSBkZXIgQW5uYWhtZSwgZGFzcyBkaWUgUmVjaGVubGVpc3R1bmcgcih0KSBnbGVpY2htYWVzc2lnIGFuc3RlaWd0LAora2FubiBtYW4gayh0KT1hKnQqdCtiKnQgYW5zZXR6ZW4uCitadXNhbW1lbiBtaXQgZGVuIGsoNTQgZCk9MTI0NzMyODk1IEJsb2Vja2VuIHNvd2llIHIoNTQgZCkgd2llIG9iZW4ga29tbWUgaWNoCithdWYgbnVyIG5vY2ggY2EuIDE3NjUgVGFnZSBiaXMgMTAwJSBlcnJlaWNodCBzaW5kLgorKFp1bSBWZXJnbGVpY2ggZmFsbHMgZWluZXIgbmFjaHJlY2huZW4gd2lsbDogYT0yMTQwMCBCbC4vZC9kICBiPTExNTUwMDAgQmwuL2QpCitBbHNvIG51ciBldHdhIDQgSmFocmUgdW5kIDEwIE1vbmF0ZSEKKworVW5kIHNjaGxpZXNzbGljaCBnaWJ0IGVzIGphIGF1Y2ggbm9jaCBleHBvbmVudGllbGxlcyBXYWNoc3R1bSwKKyhldHdhICdNci4gR2F0ZXMgKFVuLSlWZXJtb2VnZW4gdmVyZG9wcGVsdCBzaWNoIGFsbGUgMTUgTW9uYXRlIC4uLicpCit3ZW5uIGljaCBhbHNvIGRpZSBXZXJ0ZSBuYWNoIDU0IFRhZ2VuIGluCitrKHQpPUEqKGV4cChCKnQpLTEpIGVpbnNldHplIChkaWUgLTEgYnJhdWNoZSBpY2ggZnVlciBrKDApPTApLAorZXJnZWJlbiBzaWNoIG51ciBjYS4gNDExIFRhZ2UgKHZvbiBkZW5lbiA2MCBzY2hvbiB2b3JiZWkgc2luZCkuCitEZW16dWZvbGdlIG11ZXNzdGUgZGVyIEVyZm9sZyBub2NoIGluICc5OCBrb21tZW4uIDotMAorKEE9ODkzNzAwMDAgQmwuICAgIEI9MCwwMTYxOC9kKQorCisKK1VuZCBkYXMgaXN0IGFsbGVzIE1hdGhlbWF0aWssIGFsc28gd2FociA7LSkuCisKKworWGVudSwgCitNUEEtT2ZmbGluZS1MZXNlciwgbGllYnQgU3RhdGlzdGlrZW4gb2huZSBGZWhsZXJiZXRyYWNodHVuZy4uLgorICAKK1AuUy4KK0NhdHdlYXpsZSBoYXQsIHdlbm4gaWNoIHJpY2h0aWcgZ2Vob2VydCBoYWJlLCBhdWNoIG5vY2ggZWluZSBWZXJzaW9uIG1pdCAKKzggSmFocmVuLCB1bnRlciBkZXIgUHJhZW1pc3NlLCBkYXNzIHNpY2ggZGllIEhhcmR3YXJlbGVpc3R1bmcgYWxsZSAKKzE4IE1vbmF0ZSB2ZXJkb3BwZWx0IChNb29yZXMgR2VzZXR6KS4KKworVW5kIHNjaGxpZXNzbGljaCBrYW5uIG1hbiBkaWUgVGhlc2UgbmljaHQgdm9lbGxpZyB2b24gZGVyIEhhbmQgd2Vpc2VuLCAKK2RpZSBnZXNhbXRlIFJlY2hlbmxlaXN0dW5nIHd1ZXJkZSBzaWNoIGluIGV0d2Egd2llIGRpZSBNZW5nZSBkZXIgenUKK3JvdXRlbmRlbiBEYXRlbiBlbnR3aWNrZWxuIChWZXJkb3BwbHVuZyBhbGxlIDYgTW9uYXRlIGx0LiBjJ3QgSGVmdCAxNiBTLjE1MCkKKworUC5QLlMKK2FiZXIgdW5pLmRlIHNjaGxhZ2VuIHdpciBkb2NoIGxvY2tlciA7LSkpCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogU3RhdGlzdGlrIChYZW51LCAyNy4gRGV6IDE5OTcsIDE2OjU5OjM3KToKK34jISBybj1DaGVhc3kgcnQ9ODgzMDc1MTA4IHJnPXJjNQorfiMhIHRpZD04ODE2ODY0NDQKKworVGF0c2FlY2hsaWNoIGtuYWNrdCBlaW4gUG93ZXJQQyBiZXN0ZW5mYWxscyBjYS4gMjUlIHNjaG5lbGxlciBhbHMgZWluCitnbGVpY2hzY2huZWxsIGdldGFrdGV0ZXIgSW50ZWwuIChzaWVoZSBSQzVzIHNwZWVkIHBhZ2VzKQorCitVbSBFdmFuZ2VMaXN0YSdzIFN0YXRpc3RpayB6dSBlcnJlaWNoZW4gZHVlcmZ0ZW4ga25hcHBlIAorNjIwIFBvd2VyTWFjJ3MgKDMwMCBNSHopIDI0IFN0dW5kZW4gYW0gVGFnIG5pY2h0cyBhbmRlcmVzIG1laHIgdHVuLgorCisKK0RpZSBlaWdlbnRsaWNoZSBTdGFlcmtlIHZvbiBkZW0gImtvbWlzY2hlbiBNYWMtVGVhbSIgbGllZ3Qgd29hbmRlcnM6CisKKyJFdmFuZ2VMaXN0IHN0YXJ0ZWQgYXMgYSBsaXN0c2VydmVyIHRvIGdldCBpbmZvcm1hdGlvbiBhbmQgZ29vZCBuZXdzIHRvIHRoZSAKK29mZmljaWFsIGFuZCB1bm9mZmljaWFsLCBwYWlkIGFuZCB1bnBhaWQgZXZhbmdlbGlzdHMgb2YgTWFjaW50b3NoLCBQaXBwaW4sIAorTmV3dG9uLCBhbmQgQXBwbGUgQ29tcHV0ZXIuCisgICAgIEl0IGhhcyBleHBsb2RlZCBpbiBzaXplIGFuZCBpbmZsdWVuY2UuIEFzIG9mIEp1bHksIDE5OTYgdGhlcmUgYXJlIAorYWJvdXQgNDAsMDAwIGRpcmVjdCBzdWJzY3JpYmVycyB0byB0aGUgbGlzdC4gVXNpbmcgQWRhbSBFbmdzdCdzIHJ1bGUgb2YgCit0aHVtYiB0aGF0IDcgcGVvcGxlIHJlYWQgdGhlIG1lc3NhZ2VzIG9uIGEgbGlzdHNlcnZlciBmb3IgZXZlcnkgMSB0aGF0IGlzIAorZGlyZWN0bHkgc3Vic2NyaWJlZCwgYWJvdXQgMjgwLDAwMCBwZW9wbGUgcmVhZCBFdmFuZ2VMaXN0LgorICAgICBFdmFuZ2VMaXN0IGlzIG5vdCBhIGxpc3Qgc2VydmVyIHRvIHRhbGsgdG8gb3RoZXJzLiBBbGwgdGhlIHBvc3RpbmdzIAorY29tZSBmcm9tIEd1eSBLYXdhc2FraS4gSGlzIGdvYWwgaXMgdG8gaGVscCB5b3Ugc3ByZWFkIHRoZSB3b3JkIGFib3V0IEFwcGxlJ3MKK2luc2FuZWx5IGdyZWF0IGNvbXB1dGVycyBhbmQgUERBcywgc28gdGhlcmUgaXMgbm8gInNreS1pcy1mYWxsaW5nIiBqdW5rIAorb24gRXZhbmdlTGlzdC4gKFlvdSBjYW4gZ2V0IHRoYXQgaW4gbWFueSBvdGhlciBwbGFjZXMuKSIKKyh3d3cuZXZhbmdlbGlzdC5tYWNhZGRpY3QuY29tL2ludHJvLmh0bWwpCisKK01pdCBhbmRlcmVuIFdvcnRlbjoKK1dlciBhdWNoIGltbWVyIHNpY2ggZGF6dSBiZXJ1ZmVuIGZ1ZWhsdCwgZGVtIFJlc3QgZGVyIFdlbHQgenUgUHJlZGlnZW4sCitkYXNzIEFwcGxlIGRpZSBiZXN0ZW4gQ29tcHV0ZXIgdWViZXJoYXVwdCBoZXJzdGVsbHQsIHdpcmQgbWl0IGhvaGVyIAorV2FocnNjaGVpbmxpY2hrZWl0IGZydWVoZXIgb2RlciBzcGFldGVyIGF1ZiBkaWVzZW4gIk5hY2hyaWNodGVuZGllbnN0Igorc3Rvc3Nlbi4KK1VuZCBSQzUgZWlnbmV0IHNpY2ggZGEgbmF0dWVybGljaCBvcHRpbWFsIGFscyBCZXdlaXNtaXR0ZWwuCisKK01pdCBzb3ZpZWwgUHV0ZXIncG93ZXIgdW5kIElkZWFsaXNtdXMga2FubiB3b2hsIGthdW0gZWluIGFuZGVyZXMgVGVhbQora29ua3VycmllcmVuLgorCisKKyAgIC4uLi4ub29vb29PT09PT0NDQ0NDSUlJSUkvLy8vL1wvXC9cL1wvXC8gWCBYIFggWCBYZW51CisKK2NldGVydW0gY2Vuc2VvIHVuaXZlcnNpdGFtLmRlIGVzc2UgZGVmZW5kYW0uCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK25hY2hyaWNodCAoTG9uZG8sICAyLiBKYW4gMTk5OCwgMDQ6MzI6MDYpOgora3VyeiB1bmQgc2NobWVyemxvczoKK3dpZSBtYWNodCBtYW4gbWl0PworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IG5hY2hyaWNodCAoQ2F0d2VhemxlLCAgMi4gSmFuIDE5OTgsIDEwOjExOjQzKToKK34jISBybj1Mb25kbyBydD04ODM3MTE5MjYgcmc9cmM1Cit+IyEgdGlkPTg4MzcxMTkyNgoraHR0cDovL3d3dy5hZWktcG90c2RhbS5tcGcuZGUvfndlaHJlbnMvcmM1LworCitZVEMgKGh1Y2gsIGVpbiBFaW56ZWlsZXIgOi0pCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitNb3JnZW4gc3RhcnRldCBkZXIgREVTLUNoYWxsZW5nZSEhISEgKENhdHdlYXpsZSwgMTIuIEphbiAxOTk4LCAxMjoyNjoxOCk6CisKK0dyZWV0aW5ncworCitkaXN0cmlidXRlZC5uZXQgZ29lcyB0byBXYXIgYWdhaW5zdCBERVMgSUk6CisKK1RoZSBjb250ZXN0IHN0YXJ0cyBKYW4gMTN0aCwgMTk5OCwgYXQgOUFNIFBTVCAoR01ULTgpCisKK0NsaWVudHMgYW5kIHByb3hpZXMgd2lsbCBiZSBhdmFpYWxhYmxlIG1vbmRheS4gUGxlYXNlIHdhdGNoIHRoZSBjbGllbnRzIHBhZ2UgCitjbG9zZWx5IGZvciB0aGVtIGFuZCB1cGRhdGUgeW91ciBtYWNoaW5lcyBhcyBzb29uIGFzIHlvdSBjYW4uCisKK05vdGUgdGhhdCB0aGUgb2xkIGNsaWVudHMgd2lsbCB0YWxrIHRvIGEgbmV3IHByb3h5LCBidXQgbm90IHRoZSBvdGhlciB3YXkKK2Fyb3VuZCwgc28geW91IG5lZWQgdG8gdXBkYXRlIHlvdXIgcGVyc29uYWwgcHJveHkgaWYgeW91IHVzZSBvbmUgRklSU1QuCisKK1dlIG5lZWQgYWxsIHRoZSBwb3dlciB3ZSBjYW4gZ2V0LCBhcyBxdWlja2x5IGFzIHdlIGNhbiBnZXQgaXQuIFRoaXMgaXMgYQorc2hvcnQgdGVybSBwcm9qZWN0IHRoYXQgd2UgaG9wZSB0byBDUlVTSCBpbiBsZXNzIHRoZW4gMyB3ZWVrcy4gVGVsbCB5b3VyCitmcmllbmRzLCB0ZWxsIHlvdXIgZmFtaWx5LCB0ZWxsIHRoZSBnZWVrIG5leHQgZG9vci4KKworVGhpcyBpcyBhYm91dCBob3cgZmFzdCB3ZSBjYW4gZ2V0IExPVFMgb2YgcGVvcGxlIGFuZCB0aGVpciBjb21wdXRlcnMgcnVubmluZwordGhlIG5ldyBjbGllbnRzIHRvIGNyYWNrIERFUy4gREVTIElJIGlzbid0IGxvbmcgZW5vdWdoIHRvIHdvcnJ5IGFib3V0IG91cgoraW5kaXZpZHVhbCBvciB0ZWFtIHN0YXRzLCBvbmx5IHRoZSBmdWxsIHN0YXRzIG9mIGRpc3RyaWJ1dGVkLm5ldAorCisgIEFkYW0gTC4gQmViZXJnCisgIGJlYmVyZ0BkaXN0cmlidXRlZC5uZXQKKyAgZGlzdHJpYnV0ZWQubmV0IGZvdW5kZXIKKyAgaHR0cDovL3d3dy5paXQuZWR1L35iZWJlcmcvCistLS0tLQorCitLbGluZ3QgamEgZ2FyIG5pY2h0IHNjaGxlY2h0LCAzIFdPY2hlbiA6LSkKK0Fsc28gTGV1dGUsIGhhZW5ndCBFdWNoIHJlaW4uLi4KKworWVRDCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogTW9yZ2VuIHN0YXJ0ZXQgZGVyIERFUy1DaGFsbGVuZ2UhISEhIChBbmF0b2wsIDEyLiBKYW4gMTk5OCwgMTY6MjU6MzEpOgorfiMhIHJuPUNhdHdlYXpsZSBydD04ODQ2MDQzNzggcmc9cmM1Cit+IyEgdGlkPTg4NDYwNDM3OAorV2FzIG51PyBSQzUtNjQgb2RlciBERVM/IEtvZW5udCBpaHIgZXVjaCBuaWNodCBtYWwgZWluaWdlbj8KKworQW5hdG9sCisKK1BTOiBEYSBoYXQgc2ljaCBkZXIgU3lzdGVtYWRtaW5pc3RyYXRvciBkZXIgSW5mb3JtYXRpayBzaWNoIHZvcmhpbiBkb2NoCisgICAgZ2xhdHQgZGFmdWVyIGVudHNjaHVsZGlndCwgZGFzcyBzaWUgZGFzIE5ldHogbmV1IGJvb3RlbiBtdXNzdGVuIHVuZAorICAgIG1laW5lIHJjNS1jbGllbnRlbiBkYWJlaSB0ZXJtaW5pZXJ0IHd1cmRlbi4uLiAqc2NobXVuemVsKiBJY2ggbWFnIGRlbgorICAgIFR5cCwgd2lya2xpY2ggOikKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFdlciBmYWVsc2NodCBkaWUgc2Nob2Vuc3RlIFN0YXRpc3Rpaz8gKEZ5dCwgMTIuIEphbiAxOTk4LCAxNzo1MDoyMyk6Cit+IyEgcm49WGVudSBydD04ODMyMzgwNzcgcmc9cmM1Cit+IyEgdGlkPTg4MzIzODA3NworCitEZWluZSBaYWhsZW4gaGFiZW4gYWxsZW5mYWxscyB3YXMgbWl0IFN0YXRpc3RpayB6dSB0dW4uCisKK0Z5dCwgd2lzc2VuZCwgd2FydW0gZGllIG1laXN0ZW4gZW5nbGlzY2hlbiBVbmliaWJsaW90aGVrZW4gU3RhdGlzdGlrYnVlY2hlcgord2VpdCB3ZWcgdm9uIE1hdGhlbWF0aWtidWVjaGVybiBhdWZiZXdhaHJlbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK2Rlc2NsaWVudD8gcmM/IChCaWVyY2hlbiwgMTQuIEphbiAxOTk4LCAwMjo0NjowMik6CitNb2luLCAKK2tvZW5udGUgbWFsIGRhcyBqZW1hbmQga29vcmRpbmllcmVuPyB3ZWxjaGVuIHdldHRiZXdlcmIgc29sbGVuIHdpciBudW4KK3VudGVyc3R1ZXR6ZW4sIHdlbGNoZW4gbmljaHQsIHdlbGNoZSB6ZWl0c3Bhbm5lLCB3YXMgdHJhZWd0IG1hbiB3byBiZWkgZGVtCituZXVlbiBlaW4uLiBldGMuIG9kZXIgd2VyZGVuIGhpZXIgbnVyIGdlcnVlY2h0ZSB2b24gc3BhbHRlcm4gdW50ZXIgZGllIGxldXRlCitnZWJyYWNodCwgZGVubiBtZWhyIGFscyBnZXJ1ZWNodGUgdW5kIGR1bW1lIHNwcnVlY2hlIGhhYmUgaWNoIGJpc2hlciBuaWNodAordmVybm9tbWVuLi4uIGFsc286IHJjNSBvZGVyIGRhcyBkZXNjbGllbnQgdGVpbD8gdW5kIHdlbm4gZGVzLCB3aWUgZnVua3Rpb25pZXJ0CitkYXMgZGluZz8genVtaW5kZXN0IGJlaSBtaXIgd2FyIGtlaW5lciBkZXIga2V5c2VydmVyIGVycmVpY2hiYXIuLi4uCitncnVzcyAtIEJpZXJjaGVuIC0KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBkZXNjbGllbnQ/IHJjPyAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDEyOjI0OjExKToKK34jISBybj1CaWVyY2hlbiBydD04ODQ3NDIzNjIgcmc9cmM1Cit+IyEgdGlkPTg4NDc0MjM2MgorW0FbQgorQWFhbHNvIQorCitERVMgb2RlciByYzUtNjQ/CistLS0tLS0tLS0tLS0tLS0tCitEZXIgcmM1LTY0LWNvbnRlc3QgaGF0IGJpcyBoZXV0ZSAoMTQuMS45OCkgY2EuIDMgUHJvbWlsbGUgZGVzIEtleXNwYWNlcworZHVyY2hnZXJlY2huZXQuIER1IGthbm5zdCBEaXIgb2huZSB2ZXJzY2hvZW50ZSBBbm5haG1lbiBsZWljaHQgYXVzcmVjaG5lbiwKK3dpZSBsYW5nZSBlcyBub2NoIG5vY2ggZGF1ZXJ0LCBiaXMgZGVyIHJpY2h0aWdlIEtleSBnZWZ1bmRlbiBpc3QsIG5hZW1saWNoCitKYWhyZS4gCitEZXIgREVTLUNvbnRlc3QgaGF0IG51ciBlaW5lbiA1Ni1iaXR0aWdlbiBTY2hsdWVzc2VsLCBpc3QgYWxzbyAyXjggbWFsCitzY2huZWxsZXIgenUgZHVyY2hmb3JzdGVuLiBKZW1hbmQgYmVpIEJvdmluZSBoYXQgYXVzZ2VyZWNobmV0LCBkYXMgbWl0CitkZXIgYWt0dWVsbGVuIFJlY2hlbnBvd2VyIGRlciBrZXkgaW4gMjUuNiB0YWdlbiB6dSBrbmFja2VuIGlzdCwgdm9ycmF1cy0KK2dlc2V0enQgbmF0dWVybGljaCwgX2FsbGVfIFRlaWxuZWhtZXIgd3VlcmRlbiBERVMgc3RhdHQgcmM1IHJlY2huZW4uCitFcyBpc3QgYWxzbyBrZWluIFByb2JsZW0sIGRlbiByYzU2NCBmdWVyIDQgV29jaGVuIHp1IHBhdXNpZXJlbiB1bmQgYW0gREVTCit0ZWlsenVuZWhtZW4sIGVyIHZlcnNwcmljaHQgaW4gdmllbCBrdWVyemVyZXIgWmVpdCBtZWhyIEVyZm9sZy4KK0FtIGJlc3RlbiBhbHNvIGpldHp0IGF1ZiBERVMgYXVmcnVlc3RlbiwgdW5kIGRhbmFjaCBhbSByYzU2NCB3ZWl0ZXJyZWNobmVuLgorCitXaWUgc3RlbGwgaWNoIHVtIGF1ZiBERVM/CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitOdW4sIGR1IGJyYXVjaHN0IGVpbmVuIG5ldWVuIENsaWVudCBWZXJzaW9uIDIuNywgZGllc2VyIGJlaGVycnNjaHQgZGllIAorREVTLVJlY2hudW5nLiBMZWlkZXIgZ2lidCBlcyBkZW4gYmlzaGVyICgxNC4xLjk4LCAxMToxNSkgbnVyIGZ1ZXIgUENzLgorV2VubiBEdSBhbHNvIG5pY2h0IGF1ZiBlaW5lbSBQQyByZWNobmVzdCBibGVpYnQgZnVlciBEaWNoIGFsbGVzIGJlaW0gYWx0ZW4sCitmYWxscyBuaWNodCwgc29sbHRlc3QgRHUgaW4gZGVuIG5hZWNoc3RlbiB0YWdlbiBtYWwgYmVpIGJvdmluZSBuYWNoc2VoZW4sCitvYiBlaW4gZnVlciBEaWNoIHBhc3NlbmRlciBDbGllbnQgZGEgaXN0LgorCitDbGllbnQgMi43MDAxCistLS0tLS0tLS0tLS0KK0RlciBuZXVlIENsaWVudCBpc3QgbXVsdGlmdW5rdGlvbmFsIHVuZCBiZWhlcnNjaHQgZGllIEJlcmVjaG51bmcgdm9uIAorYmVpZGVuIEJsb2NrLUFydGVuLCBzb3dvaGwgcmM1NjQsIGFscyBhdWNoIERFUy4gSmUgbmFjaGRlbSwgd2VsY2hlIAorQmxvZWNrZSBlciB2b20gUHJveHkgYmVrb21tdCwgc2NoYWx0ZXQgZXIgdW0uIAorCitXYXMgbXVzcyBpY2ggYmVpIFYyLjcgbmV1IGVpbnN0ZWxsZW4/CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitadXNhZXR6bGljaCB6dW0gdWVibGljaGVuIEtyYW0sIGthbm4gbWFuIGJlaSA0cmM1ZGVzIC1jb25maWc0IG5vY2ggZWluCitwYWFyIGV4dHJhLU9wdGlvbmVuIGVpbnN0ZWxsZW4uIAorWnVhbGxlcmVyc3QgaGFiZW4gZGllIERFUy1CbG9lY2tlIGVpZ2VuZSBCdWZmZXJmaWxlcyBidWZmLWluLmRlcyB1bmQgCitidWZmLW91dC5kZXMuIERhcmluIHdlcmRlbiB1bmFiaGFlbmdpZyB2b20gcmM1IGRpZSBCbG9lY2tlIHZlcndhbHRldC4KK01hbiBrYW5uIGF1Y2ggZWluc3RlbGxlbiwgd2llIGdyb3NzIGRpZSBCbG9lY2tlIHNlaW4gc29sbGVuLCBkaWUgCittYW4gYmVyZWNobmVuIHdpbGwgKDI3OiBQcmVmZXJyZWQgQmxvY2sgU2l6ZSksIGFiZXIgZGEgd3VlcmRlIGljaCBuaWNodAorZHJhbmdlaGVuLgorRGllIEJlcmVjaG51bmcgZWluZXMgREVTLUJsb2NrcyBkYXVlcnQgaW4gZXR3YXMgZHJlaW1hbCBzbyBsYW5nZSwgd2llIAorZWluIHJjNS1ibG9jaywgYWxzbyB3dWVyZGUgaWNoIGVtcGZlaGxlbiwgZGllIERFUy1CdWZmZXIgKHB1bmt0IDMpCitnZWdlbnVlYmVyIGRlbiByYzUtYnVmZmVyd2VydGVuIHp1IGRyaXR0ZWxuLCBtdXNzIG1hbiBhYmVyIG5pY2h0LgorSW4gUHVua3QgMjcga2FubiBtYW4gZWluZSBQcmlvcml0YWV0IGFuZ2ViZW4sIG9iIG1hbiByYzUtIG9kZXIgREVTLQorQmxvZWNrZSByZWNobmVuIHdpbGwuIERpZXMgc29sbHRlIG1hbiBhdWYgMiBTdGVsbGVuIChERVMpLgorCitNdXNzIGljaCB3YXMgYWVuZGVybiwgd2VubiBERVMgZ2VrbmFja3QgaXN0PworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0tsYXJlcyBOZWluLgorV2VubiBkZXIgU2NobHVlc3NlbCBnZWtuYWNrdCBpc3QsIGtvbW1lbiB2b20gUHJveHkga2VpbmUgbmV1ZW4gCitERVMtQmxvZWNrZSBtZWhyIG5hY2gsIHVuZCBkZXIgQ2xpZW50IGZhZW5ndCBhbiB3ZWl0ZXIgYW4gZGVuIHJjNS0KK0Jsb2Vja2VuIHp1IHJlY2huZW4uIAorV2VubiBpY2ggZGFzIHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlLCBiZWtvbW10IGRlciBDTGllbnQgc29nYXIgbmUgCitOYWNocmljaHQgdm9tIFByb3h5IHVuZCB3aXJmdCBkaWUgcmVzdGxpY2hlbiBERVMtQmxvZWNrZSB3ZWcuCitEaWUgUHJpb3JpdHkgRGVpbmVzIENsaWVudHMgYnJhdWNoc3QgRHUgYXVjaCBuaWNodCB6dSBhZW5kZXJuLCBpaG4KK2F1ZiBQcmlvOkRFUyB6dSBsYXNzZW4gaXN0IHNvZ2FyIHNpbm52b2xsLCBkYSBERVMgd29obCBhbGxlIGhhbGJlCitKYWhyZSBuZXUgYXVzZ2VzY2hyaWViZW4gd2lyZCwgZGFubiBnZWh0IGRlciBnYW56ZSBTcGFzcyB2b24gdm9ybmUKK2xvcyA6LSkKKworVW5kIHdhcyBicmluZ3QgREVTPworLS0tLS0tLS0tLS0tLS0tLS0tLQorRGVyIERFUy1LZXkgYnJpbmd0IGF1Y2ggS29obGUsIGplIGZydWVoZXIgZXIgZ2VrbmFja3Qgd2lyZCwgZGVzdG8gCitob2VoZXIgZGVyIEdld2lubjoKKzIyLjUgVGFnZTogMTAwMDAkCis0NSBUYWdlOiAgIDUwMDAkCis2Ny41IFRhZ2U6IDEwMDAkCitEYW5hY2ggZ2lidHMgbml4IG1laHIuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitQdXRCdWZmZXJFcnJvciAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDEzOjQ4OjMyKToKK01vaW4hCisKK0htLCBkZXIgbmV1ZSBDbGllbnQgMi43MDAxIGlzdCBNaXN0LCBiencuIGJ1Z2d5LiBNYW4ga2FubiBkYW1pdCBrZWluZSAKK1JDNS1CbG9lY2tlIG1laHIgcmVjaG5lbiwgYmVpbSBXZWdzY2hyZWliZW4gZGVzIEJsb2NrcyBtYWNodCBlciAKK25lbiBQdXRCdWZmZXJFcnJvciB1bmQgc2NobWVpc3N0IGRlbiBCbG9jayB3ZWcgOigKK0ljaCBoYWIgZGVuIEJ1ZyBzY2hvbiBhbiBCb3ZpbmUgZ2VtZWxkZXQsIHdhbm4gc2ljaCB3YXMgdHV0IGthbm4gaWNoCituYXR1ZXJsaWNoIG5pY2h0IHNhZ2VuLgorTWFuIGthbm4gYW5zdGFuZHNsb3MgREVTLUJsb2Vja2UgcmVjaG5lbiwgZGFmdWVyIGlzdCBlciBnZWVpZ25ldC4gCitEdSBzb2xsdGVzdCBEaXIgZGFubiBhYmVyIHJlY2h0emVpdGlnLCAgYmV2b3IgZXMgbWl0IHJjNSB3ZWl0ZXJnZWh0IGVpbmUKK25ldWUgVmVyc2lvbiBnZWhvbHQgaGFiZW4uCisKK1lUQworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBkZXNjbGllbnQ/IHJjPyAoR3JpbW1ib3JuLCAxNC4gSmFuIDE5OTgsIDE0OjE1OjM0KToKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODg0Nzc3MDUxIHJnPXJjNQorfiMhIHRpZD04ODQ3NDIzNjIKK01laW5zdCBEdSBtaXQgImNsaWVudCBnaWJ0IGVzIG51ciBmdWVyIFBDIiAiY2xpZW50IGdpYnQgZXMgbnVyIGZ1ZXIgUEMiIG9kZXIKKyJjbGllbnQgZ2lidCBlcyBudXIgZnVlciBQQy1iYXNpZXJ0ZSBNaWNyb3NvZnQtU3lzdGVtZSI/CitELmguIHdpZSBzaWVodHMgbWl0IExpbnV4LCBGcmVlQlNELCB4ODYtU29sYXJpcywgT1MvMi4uLiBhdXM/CisKK0dyaW1tYm9ybiBkZXIgQXRoZWlzdAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogZGVzY2xpZW50PyByYz8gKENhdHdlYXpsZSwgMTQuIEphbiAxOTk4LCAxNDoyNDo1Myk6Cit+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDc4MzczNCByZz1yYzUKK34jISB0aWQ9ODg0NzQyMzYyCitIbSwgbWl0IFBDIG1laW5lIGljaCBkZW4gUHJvemVzc29yLCBhbHNvIGtvbmtyZXRlciB4ODYuCitDbGllbnRzIGZ1ZXIgTGludXgsIEZyZWVCU0QgdW5zIE9TLzIgc2luZCBnZW5hdXNvIHdpZSBkaWUgZnVlcgorTWljcm9zb2Z0LVByb2R1a3RlIHZvcmhhbmRlbi4KK1g4Ni1Tb2xhcmlzIHdvaGwgbm9jaCBuaWNodC4KK1lUQworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFB1dEJ1ZmZlckVycm9yIChDYXR3ZWF6bGUsIDE0LiBKYW4gMTk5OCwgMjE6NDM6MjQpOgorfiMhIHJuPUNhdHdlYXpsZSBydD04ODQ3ODIxMTIgcmc9cmM1Cit+IyEgdGlkPTg4NDc4MjExMgorSG0sIGRhcyBQcm9ibGVtIGlzdCBnZWtsYWVydC4KK0RlciBuZXVlIENsaWVudCBrb21tdCBtaXQgZGVuIGFsdGVuIGJ1ZmZlcm4gbmljaHQga2xhciwgbWFuIGthbm4gZGFtaXQgYWxzbwora2VpbmUgQmxvZWNrZSBiZXJlY2huZW4sIGRpZSBtYW4gc2Nob24gaGF0LiAKK0VyZ286IEVyc3QgYWxsZSByYzUtYmxvZWNrZSB6dWVuZGUgcmVjaG5lbiwgZGFubiBhdWYgZGVuIG5ldWVuIGNsaWVudCAKK3Vtc3RlaWdlbi4KK0RhcyBkYXMgbWVnbWFlc3NpZ2VyIE1pc3QgaXN0LCBicmF1Y2ggaWNoIHdvaGwga2VpbmVtIHp1IHNhZ2VuIDooCitZVEMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK3JjNSBzcGVlZCAoQW5ha2luLCAyOC4gSmFuIDE5OTgsIDEwOjIzOjEwKToKK0hpLAorCitpY2ggd3VlcmRlIGdlcm5lIG1hbCB3aXNzZW4sIHdlbGNoZSBwcm96ZXNzb3Jlbi9vcy9yYzVkZXMgdmVyc2lvbgoraWhyIGVpbnNldHp0IHVuZCB3aWV2aWVsZSBta2V5cyBkYXMgdGVpbCBkYW5uIHNjaGFmZnQuCitJY2ggc2FtbWVsIGRpZSBkYXRlbiB1bmQgZGFubiBtYWNoIGljaCBub2NoIG5lIHdlYnNlaXRlIGRhdm9uLgorCitOZW4gQXBsaGEgNDMzIHVudGVyIERpZ2l0YWwgVW5peCA0LjAgbWl0IFJDNURFUyB2Mi43MDA1LjM4NyBtYWNodCAKK2RvY2ggdGF0c2FlY2hsaWNoIDI1MDE5NDguNTQgS2V5cy9zLiAKKworQW0gYmVzdGVuIGFscyBtYWlsIG9kZXIgaGllciBpbiBkaWUgcnVicmlrLgorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogcmM1IHNwZWVkIChBbmFraW4sIDI4LiBKYW4gMTk5OCwgMTE6MzY6MzYpOgorfiMhIHJuPUFuYWtpbiBydD04ODU5NzkzOTAgcmc9cmM1Cit+IyEgdGlkPTg4NTk3OTM5MAorQWNoamEuLi4KKworZGllIFdlcnRlIHdlcmRlbiBhdWYgaHR0cDovL3d3dy5hZWktcG90c2RhbS5tcGcuZGUvfndlaHJlbnMvcmM1L3NwZWVkLmh0bWwKK3N0ZWhlbi4KKworQW5ha2luLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQXJ0aWtlbCBMYXRlc3QgYW5ub3VuY2UgKENhdHdlYXpsZSwgIDMuIEZlYiAxOTk4LCAwOToyMjozMSk6CitNb2luIQorCitIaWVyIGRpZSBuZXVlc3RlIE5hY2hyaWNodCB2b24gZGVuIHJjNS1KdW5ncy4KK0RhIGRpZSAyMi41LVRhZ2UtRnJpc3QgZmFzdCB2b3JiZWkgaXN0LCBzb2xsdGV0IGlociBhbGxlIGluYWt0aXZlbgorUmVjaG5lciwgZGllIG1pdHJlY2huZW4sIHNwYWV0ZXN0ZW5zIG1vcmdlbiBlbnRsZWVyZW4sIGZhbGxzIGRhIAoramEgZG9jaCBkZXIgS2V5IGJlaSBpc3QgOi0pLgorWW91cnMgdHJ1bHksCisgICAgIENhdHdlYXpsZQorLS0tLS0KKyAKK0dyZWV0aW5ncy4uLgorIAorQXMgb2YgdG9kYXkgd2UgaGF2ZSBjb21wbGV0ZWQgMjUuNyUgYW5kIHRoZSBERVNDSEFMTCBjbGllbnRzIGhhdmUKK2NvbXBsZXRlZCAwLjklIGJyaW5naW5nIHVzIHRvIDI2LjYlIHRocm91Z2ggdGhlIERFU0lJIGtleXNwYWNlIGF0IGEgcmF0ZQorb2YgMThNa2V5cy9zZWMgb3IgMi4xJS9kYXkuCisgCitBcyBvZiB0aGlzIHdyaXRpbmcsIG9ubHkgNTEgaG91cnMgcmVtYWluIHVudGlsIHRoZSAyMi41IGRheSBkZWFkbGluZS4KK0hvcGVmdWxseSB3ZSdsbCBnZXQgbHVja3ksIG90aGVyd2lzZSBSU0EgZ2V0cyBhbGwgdGhhdCBmcmVlIHB1YmxpY2l0eQorYXQgb3VyIGV4cGVuc2UgZm9yIDEvMiB0aGUgcHJpY2UuCisgCitXZSd2ZSBhZGRlZCBTb2Z0d2FyZSBpbiB0aGUgUHVibGljIEludGVyZXN0IHRvIHRoZSBub24tcHJvZml0cyBsaXN0IGFuZAordGhlIGxpc3Rpbmcgb2Ygbm9uLXByb2ZpdHMgaXMgc3ViamVjdCB0byBjaGFuZ2Ugb3ZlciB0aW1lLCBzbyBwbGVhc2UgYmUKK3N1cmUgdG8ga2VlcCBhbiBleWUgb24gaXQgYXMgdGhlIGNvbnRlc3QgcHJvZ3Jlc3NlcyBiZWNhdXNlIHlvdSBtYXkgd2lzaAordG8gY2hhbmdlIHlvdXIgdm90ZS4gUGxlYXNlIHZpc2l0IHRoZSB2b3RpbmcgY2VudGVyIGF0CitodHRwOi8vZGVzc3RhdHMuZGlzdHJpYnV0ZWQubmV0L21vbmV5Lmh0bWwgYW5kIGNhc3QgeW91ciB2b3RlLgorIAorVGhhbmsgdG8gdGhlIHVzZXJzIHRoYXQgcGFydGljaXBhdGVkIGluIHRoZSBwcm9qZWN0IGZsYWdzCittaWNyby1mb2N1cyBncm91cC4gVGhleSBjYW1lIHVwIHdpdGggYSBjb3VwbGUgbW9yZSB1c2VmdWwgZmxhZ3MKK2ZvciB2MyBwcm9qZWN0IHNlbGVjdGlvbi4KKyAKK01hbnkgdGhhbmtzIGFzIHdlbGwgdG8gUm9ja2UgVmVyc2VyIGZvciBsaWNlbnNlIHRvIHVzZSB0aGUgREVTQ0hBTEwKK3MtYm94ZXMgaW4gdGhlIGRpc3RyaWJ1dGVkLm5ldCBjbGllbnRzLCBvdXIgY2xpZW50cyBub3cgc3BlZWQgYWxvbmcKK2FzIGFsbCB0aGUgTWFjIHVzZXJzIGhhdmUgYWxyZWFkeSBub3RpY2VkLiBBbmRyZXcgTWVnZ3MgYWxzbyBtYWRlCithIHN1cnByaXNlIHJlYXBwZWFyYW5jZSBhbmQgY29kZWQgYSBmZXcgbW9yZSBra2V5cy9zZWMgb3V0IG9mIGl0LgorLS0tLS0KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBBcnRpa2VsIExhdGVzdCBhbm5vdW5jZSAoQ2F0d2VhemxlLCAgMy4gRmViIDE5OTgsIDA5OjI0OjQ2KToKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODg2NDk0MTUxIHJnPXJjNQorfiMhIHRpZD04ODY0OTQxNTEKK0Z1ZXIgZGVuIHZvcmhlcmdlaGVuZGVuIEFydGlrZWwgZ2lidCBlcyB1ZWJyaWdlbnMgZWluZSBkZXV0c2NoZQorVWViZXJzZXR6dW5nLCBkaWUgaWNoIEV1Y2ggbmljaHQgdm9yZW50aGFsdGVuIG1vZWNodGUgOi0pCitZVEMKKy0tLS0tCisjIyMgR2VybWFuIHRyYW5zbGF0aW9uIGJ5IG1hY2hpbmUgIyMjCisgCitUaGVtYTogWyBBRE1JTiBdIFp1c3RhbmQgZGVyIGRpc3RyaWJ1dGVkLm5ldC1BZHJlc3NlIC0gRmViLCAxLiAxOTk4IAorIAorR3JlLi4uLCAKKyAKK0FiIGhldXRpZ2VtIFRhZyBoYWJlbiB3aXIgMjUsNyUgZHVyY2hnZWZocnQgdW5kIGRpZSBERVNDSEFMTC1LbGllbnRlbgoraGFiZW4gMCw5JSB1bnMgYmlzIDI2LDYlIGR1cmNoIGRhcyBERVNJSS1LRVlTUEFDRSBtaXQgZWluZXIgS2luZXRpayB2b24KKzE4TWtleXMvc2VjIG9kZXIgdm9uIDIuMSUvZGF5IGhvbGVuZCBkdXJjaGdlZmhydC4gCisgCitBYiBkaWVzZW0gU2NocmVpYmVuIGJsZWliZW4gbnVyIDUxIFN0dW5kZW4gYmlzIGRlbiAyMiw1IFRhZ2Vzc3RpY2h0YWcuCitIb2ZmbnVuZ3N2b2xsIGVyaGFsdGVuIHdpciBnbGNrbGljaCwgYW5kZXJuZmFsbHMgZXJobHQgUlNBIGFsbGVzLCBkYXMKK1dlcmJ1bmcgYW4gdW5zZXJlbiBVbmtvc3RlbiBmciAxLzIgZGVyIFByZWlzIGZyZWlnZWJlbi4gCisgCitXaXIgaGFiZW4gU29mdHdhcmUgaW0gYWxsZ2VtZWluZW4gSW50ZXJlc3NlIG5pY2h0LXByb2ZpdGllcmVuIExpc3RlCitoaW56dWdlZmd0IHVuZCBkaWUgTGlzdGVuIHZvbiBuaWNodC1wcm9maXRpZXJlbiBzaW5kIGFiaG5naWcgdm9uCituZGVydW5nIGJlciBaZWl0LCBnZWZhbGxlbiBzbyBzaW5kIHNpY2hlciwgZWluIEF1Z2UgYXVmIGlociB6dQoraGFsdGVuLCB3aHJlbmQgZGVyIFdldHRiZXdlcmIgd2VpdGVya29tbXQsIHdlaWwgU2llIG1jaHRlbiBJaHJlCitTdGltbWUgbmRlcm4ga25uZW4uIEJlc3VjaGVuIFNpZSBiaXR0ZSBkaWUgV2hsZW5taXR0ZSBhbgoraHR0cDovL2Rlc3N0YXRzLmRpc3RyaWJ1dGVkLm5ldC9tb25leS5odG1sIHVuZCBnZWJlbiBTaWUgSWhyZSBTdGltbWUgYWIuIAorIAorRGFua2VuIFNpZSB6dSBkZW4gQmVudXR6ZXJuLCBkaWUgYW4gZGVyIFByb2pla3RtYXJraWVydW5nc2ZhaG5lbi1NaWtyby0KK0Zva3VzZ3J1cHBlIHRlaWxuYWhtZW4uIFNpZSBrYW1lbiBvYmVuIG1pdCBudHpsaWNoZXJlbiBNYXJraWVydW5nc2ZhaG5lbgorZWluZXMgUGFhcmVzIGZyIEF1c3dhaGwgZGVzIFByb2pla3RlcyB2My4gCisgCitWaWVsIERhbmsgYXVlcmRlbSBSb2NrZSBWZXJzZXIgZnIgTGl6ZW56LCBkaWUgREVTQ0hBTEwtU2tzdGVuIGluCitkZW4gZGlzdHJpYnV0ZWQubmV0LUtsaWVudGVuIHp1IGJlbnV0emVuLCB1bnNlcmUgS2xpZW50ZW4KK2Jlc2NobGV1bmlndCBqZXR6dCBlbnRsYW5nIGFscyBhbGxlIE1hY2JlbnV0emVyIGhhdCBiZWFjaHRldAorYmVyZWl0cy4gQW5kcmV3IE1lZ2dzIGF1Y2ggYmlsZGV0ZSBlaW4gYmVycmFzY2h1bmdzcmVhcHBlYXJhbmNlCit1bmQgY29kaWVydGUgZWluaWdlIG1laHIga2tleXMvc2VjIGF1cyBpaG0gaGVyYXVzLiAKKy0tLS0tCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCithcnRpa2VsIEFubm91bmNlbWVudCB2b20gMTUuRmVicnVhciAoQ2F0d2VhemxlLCAxOC4gRmViIDE5OTgsIDA5OjQxOjU3KToKK0JldHJlZmY6IFtBRE1JTl0gQmVyaWNodCB1ZWJlciBkaWUgQWt0aXZpdGFldGVuIHZvbiBkaXN0cmlidXRlZC5uZXQgLQorMTUuMi4xOTk4CisKKyoqKiBNb21lbnRhbmUgTGFnZSAqKioKKworV2FlaHJlbmQgU2llIGRpZXNlIE5hY2hyaWNodCBsZXNlbiwgd2VyZGVuIHdpciBtZWhyIGFscyA2NSUgZGVzIERFUy1JSQorU2NobHVlc3NlbHJhdW1lcyBtaXQgdWViZXIgMjVHa2V5cy9zIGdldGVzdGV0IGhhYmVuLgorCitEZXIgSGF1cHRzZXJ2ZXIgaGF0IGJlaW5haGUgZGVuIGdlc2FtdGVuIERFUy1JSSBTY2hsdWVzc2VscmF1bSBlaW4KK2Vyc3RlcyBNYWwgYXVzZ2VnZWJlbiB1bmQgbWl0IGRlbSAiUmVjeWNsaW5nIiBkZXIgQmxvY2tzIGJlZ29ubmVuLiBEYXMKK2hlaXNzdCwgZGFzcyBCbG9ja3MsIHdlbGNoZSB6dXZvciBzY2hvbiBlaW5tYWwgdmVyZ2ViZW4sIGFiZXIgbmljaHQKK2dldGVzdGV0IG9kZXIgbmljaHQgenVydWVja2dlc2FuZHQgd29yZGVuIHNpbmQsIGVybmV1dCB2ZXJnZWJlbiB3ZXJkZW4uCisKK0JpcyBqZXR6dCBpc3QgbnVyIGVpbiBzZWhyIGtsZWluZXIgVGVpbCBkZXMgU2NobHVlc3NlbHJhdW1lcyBuZXUKK3ZlcmdlYmVuIHdvcmRlbi4gQWJlciBtaXQgZGVyIFplaXQsIHdlbm4gd2lyIGRlbSByaWNodGlnZW4gU2NobHVlc3NlbAorbmFlaGVyIGdla29tbWVuIHNpbmQsIHdpcmQgZGVyIFNlcnZlciBpbW1lciBtZWhyIGRlciBlcnN0IGt1ZXJ6bGljaAordmVyZ2ViZW5lbiBCbG9ja3MgZWluIHdlaXRlcmVzIE1hbCB2ZXJnZWJlbi4KKworVW0gZGVuIEFyYmVpdHNhdWZ3YW5kIG1vZWdsaWNoc3QgZ2VyaW5nIHp1IGhhbHRlbiwgc29sbHRlbiBTaWUgSWhyZQorT3V0cHV0LVB1ZmZlciBqZXR6dCBsZWVyZW4uIEZhbGxzIFNpZSBub2NoIGdyb3NzZSBJbnB1dC1QdWZmZXIgdm9tCitCZWdpbm4gZGVzIFdldHRiZXdlcmJlcyBoYWJlbiwgZGllIG5vY2ggbmljaHQgZ2V0ZXN0ZXQgd29yZGVuIHNpbmQsCitzb2xsdGVuIFNpZSBkaWVzZSBqZXR6dCBsb2VzY2hlbiB1bmQgbmV1ZSBCbG9ja3MgaGVydW50ZXJsYWRlbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBhcnRpa2VsIEFubm91bmNlbWVudCB2b20gMTUuRmVicnVhciAoQXNtb2RpcywgMjEuIEZlYiAxOTk4LCAwMTo1MDoxMyk6Cit+IyEgcm49Q2F0d2VhemxlIHJ0PTg4Nzc5MTMxNyByZz1yYzUKK34jISB0aWQ9ODg3NzkxMzE3CitIbW0sIG1pciBzaW5kIG1hbCA2MCBCbG9lY2tlIHZlcmxvcmVuZ2VnYW5nZW4sIG9iIGRhIGRlciByaWNodGlnZQorU2NobHVlc3NlbCBkYWJlaXdhciA/IDopCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitERVMtSUkgaXN0IGdla25hY2t0ISAoQ2F0d2VhemxlLCAyNS4gRmViIDE5OTgsIDEwOjQ2OjQ2KToKK1N1YmplY3Q6IFtBTk5PVU5DRV0gW0FETUlOXSBUaGUgc2VjcmV0IG1lc3NhZ2UgaXMuLi4KKworCitPbmNlIGFnYWluIEkgaGF2ZSB0aGUgZ3JlYXQgcHJpdmlsZWdlIG9mIGNvbWluZyB0byB5b3Ugd2l0aCBnb29kIG5ld3MuCisKK0l0IGlzIHdpdGggZ3JlYXQgcGxlYXN1cmUgKGFuZCBhIHNpZ2ggb2YgcmVsaWVmKSB0aGF0IEkgY2FuIG5vdyBpbmZvcm0geW91Cit0aGF0IHRoZSBERVMtSUktMSBjaGFsbGVuZ2UgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IG1ldCBieSBkaXN0cmlidXRlZC5uZXQuCisKK1RoZSB3aW5uaW5nIGtleSB0byB0aGUgY2hhbGxlbmdlIHdhcyBkZXRlY3RlZCBhbmQgc3VibWl0dGVkIHRvIFJTQSBMYWJzCithdCAwMjoyNiBHTVQgb24gTW9uZGF5LCAyMy1GZWItMTk5OC4KKworVGhlIGNvcnJlY3Qga2V5LCA3NiA5RSA4QyBEOSBGMiAyRiA1RCBFQSwgcmV2ZWFsZWQgdGhlIHdvcmRzIHdoaWNoIHdlJ3ZlCitiZWVuIGFudGljaXBhdGluZyB0aGVzZSBwYXN0IDM5IGRheXM6CisKKyJUaGUgc2VjcmV0IG1lc3NhZ2UgaXM6IE1hbnkgaGFuZHMgbWFrZSBsaWdodCB3b3JrLiIKKworKElmIHlvdSBhc2sgbWUsIHRoaXMgaXMgYSBuaWNlIG5vZCBpbiBvdXIgZGlyZWN0aW9uLiAgVGhhbmtzLCBSU0EgTGFicyEpCisKK0luIGFkZGl0aW9uIHRvIHByb3ZpbmcgdGhhdCA1Ni1iaXQgREVTIGlzIG5vIGxvbmdlciBzdWZmaWNpZW50IGZvciBwcm90ZWN0aW5nCit2YWx1YWJsZSBpbmZvcm1hdGlvbiwgd2UndmUgbm93IGFsc28gcHJvdmVkIHRoYXQgYmxpbmQgbHVjayBuZWVkIG5vdCBiZSBhCitmYWN0b3IgaW4gYnJ1dGUtZm9yY2UgZGVjcnlwdGlvbiBhdHRhY2tzLiAgVGhlIG9yaWdpbmFsIERFUyBDaGFsbGVuZ2UgYW5kIHRoZQorbW9yZSByZWNlbnQgUkM1LTU2IHdpbnMgd2VyZSBmb3J0dW5hdGUgYW5kIGRpZCBub3QgaGF2ZSB0byBzd2VlcCBhIHNpZ25pZmljYW50Citwb3J0aW9uIG9mIHRoZSBrZXlzcGFjZS4gIFRoaXMgdGltZSBhcm91bmQsIGhvd2V2ZXIsIHdlIG1hbmFnZWQgdG8gY29tcGxldGUKK2FsbW9zdCA5MCUgb2YgdGhlIGtleXNwYWNlIGFuZCBoYXZlIG5vdyBwcm92ZW4gdGhhdCBldmVuIHdoZW4gdGhlIGxhdyBvZgorYXZlcmFnZXMgY2hvb3NlcyB0byBjYXRjaCB1cCB0byB1cyBhbmQgZm9yY2VzIHVzIHRvIHBheSBvdXIgZHVlcywgd2UgYXJlIHN0aWxsCithbiB1bnN0b3BwYWJsZSBmb3JjZS4gIE91ciBjb2xsZWN0aXZlIHZpY3RvcnkgaXMgYWxsIHRoZSBtb3JlIGltcHJlc3NpdmUgd2hlbgoreW91IGNvbnNpZGVyIHdoYXQgd2UgaGFkIHRvIGFjY29tcGxpc2ggdG8gYWNoaWV2ZSBpdC4KKworV2UgdGVzdGVkIHNpeHR5LXRocmVlIHF1YWRyaWxsaW9uIGtleXMuICBUaGF0IG51bWJlciBpcyBzaW1wbHkgc3RhZ2dlcmluZy4KKworQXNzdW1pbmcgKjAqIGdyb3d0aCBiZXR3ZWVuIG5vdyBhbmQgSnVseSwgd2UnbGwgYmUgYWJsZSB0byBzd2VlcCB0aGUgZW50aXJlCitERVMtSUktMiBrZXlzcGFjZSBpbiBqdXN0IHVuZGVyIDI5IGRheXMuICBUaGF0J3MgYXNzdW1pbmcgdGhhdCB3ZSBkbyBub3QKK3JlY3J1aXQgYW5vdGhlciBwZXJzb24sIGRvbid0IGFkZCBhbnkgbW9yZSBtYWNoaW5lcywgYW5kIGFyZSBldmVuIG1vcmUgdW5sdWNreQorbmV4dCB0aW1lLiAgSSBkYXJlc2F5IGF0IGxlYXN0IG9uZSBvZiB0aG9zZSBhc3N1bXB0aW9ucyBpcyBwcm9iYWJseSBmYWxzZS4KKworSSdkIGludml0ZSBhbGwgb2YgeW91IHRvIGpvaW4gdXMgaW4gSVJDIChlZm5ldCwgI2Rpc3RyaWJ1dGVkKSBmb3IgYSByb3dkeQordmljdG9yeSBwYXJ0eS4gIFRha2UgYSBicmVhdGhlci4gIFNpdCBiYWNrIGFuZCB3YXRjaCB5b3VyIGNsaWVudHMKK2F1dG9tYXRpY2FsbHkKK3JvbGwgb3ZlciB0byBSQzUtNjQuCisKK1RoZSBvbmx5IG90aGVyIGlzc3VlIGF0IGhhbmQgaXMgKndobyogZm91bmQgdGhlIGtleS4gIFRoZSBwZXJzb24gd2hvIGZvdW5kIHRoZQord2lubmluZyBrZXkgaGFzIHBvbGl0ZWx5IGFza2VkIHRvIHJlbWFpbiBhbm9ueW1vdXMuICBSZXN0IGFzc3VyZWQsIEkndmUgYmVlbgoraW4gY29udGFjdCB3aXRoIHRoZW0gYW5kIHRoZXkga25vdyB0aGV5J3ZlIHdvbi4gIFRoZXkgd2lsbCBiZSByZWNlaXZpbmcgdGhlaXIKK2Z1bGwgc2hhcmUgb2YgdGhlIHByaXplIGFuZCBhcmUgcXVpdGUgZXhjaXRlZCBhYm91dCB0aGUgdmljdG9yeS4gIEFsbCBJJ2QgYXNrCitpcyB0aGF0IHdlIGFsbCByZXNwZWN0IHRoaXMgcGVyc29uJ3Mgd2lzaGVzIGFuZCBub3QgYm90aGVyIHRoZSBsaXN0IHdpdGggCitwdWJsaWMgc3BlY3VsYXRpb24gYXMgdG8gdGhlaXIgaWRlbnRpdHkuICBJJ20gc3VyZSB3ZSBhbGwgYXBwcmVjaWF0ZSBqdXN0Citob3cgaW1wb3J0YW50IHByaXZhY3kgYW5kIGFub255bWl0eSBjYW4gYmUuCisKK0hlcmUgYXJlIHNvbWUgbnVtYmVycyB0byBjaGV3IG9uIHdoaWxlIHRoZSBzdGF0cyBhcmUgZG93bjoKKworUHJvamVjdCBzdGF0aXN0aWNzOgorICAgICAgICBTdGFydCBvZiBjb250ZXN0OiAgICAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAxMywgMTk5OCBhdCAwOTowMCBQU1QKKyAgICAgICAgU3RhcnQgb2YgZGlzdHJpYnV0ZWQubmV0IGVmZm9ydDogICAgICAgIEphbnVhcnkgMTMsIDE5OTggYXQgMDk6MDggUFNUCisgICAgICAgIEVuZCBvZiBDb250ZXN0OiAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMywgMTk5OCBhdCAwMjoyNgorUFNUCisKKyAgICAgICAgU2l6ZSBvZiBrZXlzcGFjZTogICAgICAgICAgICAgICAgICAgICAgIDcyLDA1Nyw1OTQsMDM3LDkyNyw5MzYKKyAgICAgICAgQXBwcm94aW1hdGUga2V5cyB0ZXN0ZWQ6ICAgICAgICAgICAgICAgIDYzLDY4NiwwMDAsMDAwLDAwMCwwMDAKKworICAgICAgICBOdW1iZXIgb2YgMl4zMCAoYXZlcmFnZSkga2V5YmxvY2tzOiAgICAgICAgICAgICAgICAgNjcsMTA4LDg2NAorICAgICAgICBOdW1iZXIgb2Yga2V5cyBpbiBhdmVyYWdlIGtleWJsb2NrOiAgICAgICAgICAgICAgMSwwNzMsNzQxLDgyNAorICAgICAgICBQZWFrIGJsb2NrcyBwZXIgZGF5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUsNTQwLDk4MgorICAgICAgICBQZWFrIGtleXMgcGVyIHNlY29uZDogICAgICAgICAgICAgICAgICAgICAgICAgICAzNCw0MzAsNDYwLDAwMAorCitUaGUgdW5lbmNyeXB0ZWQgbWVzc2FnZTogTWFueSBoYW5kcyBtYWtlIGxpZ2h0IHdvcmsKKworQ29tcHV0aW5nIGVxdWl2YWxlbnRzOgorCisgICBEaXN0cmlidXRlZC5uZXQgaXMgZXF1aXZhbGVudCBpbiBwcm9jZXNzaW5nIHBvd2VyIHRvOgorCisgICAgICAgICAgIDExLDI2NCAgICAgICBERUMgQWxwaGEgMjEwNjQgNTMzcworICAgICAgICAgICAxNSwzMTYgICAgICAgU3VuIFVsdHJhIEkgMTY3cworICAgICAgICAgICAyMiwzOTMgICAgICAgSW50ZWwgUGVudGl1bSBJSSAzMzNzCisgICAgICAgICAgIDY4LDg1OSAgICAgICBNYWNpbnRvc2ggUG93ZXJQQyA2MDRlLzIwMHMuCisgICAgICAgICAgIDQxLDcxMiAgICAgICBJbnRlbCBQZW50aXVtIDE2NnMKKyAgICAgICAgICAzOTksMzc0ICAgICAgIEludGVsIDQ4NkRYMi82NnMKKyAgICAgICAgNyw0NDYsMDMzICAgICAgIEludGVsIDM4NlNYLzIwcworCisoYmFzZWQgc29sZWx5IG9uIERFUyBjbGllbnQgcGVyZm9ybWFuY2UpCisKK1Byb3NwZWN0aXZlOgorCitJZiBLZXlzIHdlcmUgZG9sbGFycywgd2UgY291bGQgcGF5IG9mZiB0aGUgVS5TLiBOYXRpb25hbCBEZWJ0IGluIDYuMjUgbWludXRlcworCitJZiBLZXlzIHdlcmUgcGVubmllcywgd2UgY291bGQgYnV5IDUzNjI0OTM4NSBNYXpkYSBNaWF0YXMgZWFjaCBkYXkuIAorCitJZiBLZXlzIHdlcmUgcGVubmllcywgd2UgY291bGQgYnV5IDI1NjcyODI0OSBKZWVwIENoZXJva2VlcyBlYWNoIGRheSEKKworSWYgeW91IHByaW50ZWQgYSBzaW5nbGUgcGFnZSB0byByZXByZXNlbnQgZWFjaCBrZXkgYmxvY2sgYXMgaXQgd2FzIGNoZWNrZWQgCithbmQgcGxhY2VkIHRob3NlIHBhZ2VzIGluIGEgc3RhY2ssIGl0IHdvdWxkIGdyb3cgMTIuODMgaW5jaGVzIHRhbGxlciBldmVyeSAKK21pbnV0ZS4KKworSWYgYmxvY2tzIHdlcmUgbGl0ZXJzIG9mIERyLiBQZXBwZXIsIHdlIGNvdWxkIHByb2R1Y2UgNjM4MTQ5MyBzaXgtcGFja3MgZWFjaCAKK2RheQorCitJZiBLZXkgQmxvY2tzIHdlcmUgY2hlZXNlYnVyZ2VycywgZnJpZXMsIGFuZCBhIGxhcmdlIERyLiBQZXBwZXIsIHdlIGNvdWxkIAorZmVlZCB0aGUgZW50aXJlIGNpdHkgb2YgVG9yb250bywgT250YXJpbyBsdW5jaCBlYWNoIGRheS4KKworKG9uIGEgcGVyc29uYWwgbm90ZSwgSXQgc3VyZSBmZWVscyBuaWNlIHRvIGJlIGRvaW5nIFJDNSBibG9ja3MgYWdhaW4uICBJIGZlZWwKK2xpa2UgSSd2ZSBqdXN0IHNsaXBwZWQgb24gYW4gb2xkLCBjb21mb3J0YWJsZSBwYWlyIG9mIGxvYWZlcnMgdGhhdCB3ZXJlIGxvc3QKK2luCit0aGUgYXR0aWMgZm9yIHR3byBtb250aHMpCisKKy0tIAorIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXworfERhdmlkIE1jTmV0dCAgICAgIHxUbyBlbnN1cmUgcHJpdmFjeSBhbmQgZGF0YSBpbnRlZ3JpdHkgdGhpcyBtZXNzYWdlIGhhc3wKK3xudWdnZXRAc2xhY2tlci5jb218YmVlbiBlbmNyeXB0ZWQgdXNpbmcgZHVhbCByb3VuZHMgb2YgUk9ULTEzIGVuY3J5cHRpb258Cit8QmlybWluZ2hhbSwgQUwgVVNBfFBsZWFzZSBlbmNyeXB0IGFsbCBpbXBvcnRhbnQgY29ycmVzcG9uZGVuY2Ugd2l0aCBQR1AhfAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKword2VyPyAoTGFyaXNzYSwgMjUuIEZlYiAxOTk4LCAxMjo0MzozMyk6CitIb2ksCitpc3QgYmVrYW5udCB3ZXIgZGVuIGtleSBrZWtuYWNrdCBoYXQ/IG9kZXIgaGFiIGljaHMgdWViZXJsZXNlbi4uLgorCitMYXJpLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IHdlcj8gKEdyaW1tYm9ybiwgMjUuIEZlYiAxOTk4LCAxMjo0NTowOSk6Cit+IyEgcm49TGFyaXNzYSBydD04ODg0MDcwMTMgcmc9cmM1Cit+IyEgdGlkPTg4ODQwNzAxMworRHUgaGFzdCB1ZWJlcmxlc2VuLCBkYXNzIGRlcmplbmlnZSBhbm9ueW0gYmxlaWJlbiB3b2xsdGUuCisKK0dyaW1tYm9ybiBkZXIgQXRoZWlzdAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiB3ZXI/IChZZW5kaSwgMjUuIEZlYiAxOTk4LCAxNDowOTozMCk6Cit+IyEgcm49R3JpbW1ib3JuIHJ0PTg4ODQwNzEwOSByZz1yYzUKK34jISB0aWQ9ODg4NDA3MDEzCisKKy4uLiBsYXV0IEF1c3NhZ2UgZGVzIE1lbnNjaGVuIGRlciBkYXMgR2VsZCBoYWV0dGUgdmVydGVpbGVuIHNvbGxlbiB1bmQgc2ljaAoramV0enQgZGF2b24gZmVpeGVuZCBlaW5lbiBuZXVlbiBDb21wdXRlciBrYXVmdC4KKworWWVuZGksIAorICAgICAgIGhldXRlIG1hbCBaeW5pa2VyLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitERVMtSUktRW5kc3RhbmQgKFhlbnUsIDI3LiBGZWIgMTk5OCwgMDQ6MDA6MDUpOgorSGFsbG8gQm92aW5lLSB1bmQgc3BlemllbGwgTW9uYXJjaGVuLWZyZXVuZGUKKworV2VyIGRlbiBkaXN0cmlidXRlZC5uZXQgc3RhdHNlcnZlciBhZWhubGljaCBvZnQgd2llIGljaCBhYmdlZnJhZ3QgaGF0LCAKK2hhdCB3b2hsIGdlc2VoZW4sIGRhc3MgZG9ydCBlaW5lIFplaXQgbGFuZyBlaW5lIDJNQiBsYW5nZSBmaW5hbC1yYW5raW5ncworTGlzdGUgbWl0IGFsbGVuIGNhLiAxODEwMCBiZXRlaWxpZ3RlbiBFbWFpbC1hZHJlc3NlbiB6dW0gQWJydWZlbiBiZXJlaXQgc3RhbmQuCitXZW5uIHNpY2ggbnVyIGplZGVyIGh1bmRlcnRzdGUgYmVzY2h3ZXJ0IGhhdCwgZHVlcmZ0ZW4gZGllIExldXRlIHZvbiAKK2Rpc3RyaWJ1dGVkLm5ldCBlcnN0IG1hbCBlaW5lIFdlaWxlIGJlc2NoYWVmdGlndCBzZWluLCBpaHJlIG1haWxib3ggCit6dSBlbnRtdWVsbGVuLi4uCitJY2ggc2NoYWV0emUsIGRlbiBGZWhsZXIgd2VyZGVuIHNpZSBuaWNodCBzbyBzY2huZWxsIHdpZWRlcmhvbGVuLgorCitJY2gga2FubiBudXIgaG9mZmVuLCBkYXNzIG5pZW1hbmQgZGllc2UgWmVpdCBnZW51dHp0IGhhdCwgZGllIFNwYW1tZXIgZGllc2VyIAorV2VsdCBnbHVlY2tsaWNoZXIgenUgbWFjaGVuLgorCisoT2J3b2hsIGljaCBtaXIgZGllIExpc3RlIGF1cyBtZWluZW0gQnJvd3Nlci1jYWNoZSBnZXpvZ2VuIGhhYmUsIAordmVyc3ByZWNoZSBpY2ggaGllcm1pdCBmZWllcmxpY2gsIHNpZSBuaWNodCBmdWVyIE1hc3Nlbi1lbWFpbHMgCit6dSB2ZXJ3ZW5kZW4uIDotKQorCisKK1dlcidzIHZlcnBhc3N0IGhhdCB1bmQgc2VpbmVuIEVuZHN0YW5kIHdpc3NlbiBtb2VjaHRlLCBrYW5uIG1pciAKK2phIGVpbmUgZWluZSBuZXR0ZSBrbGVpbmUgTWFpbCBzY2hyZWliZW4sIGZhbGxzIGVyL3NpZSBzaWNoIHVudGVuIAorbmljaHQgd2llZGVyZmluZGVuIHNvbGx0ZS4KKyhBbGxlIDI0MSBCZXRlaWxpZ3RlbiBtaXQgKi5kZSBoaWVyIGF1Znp1bGlzdGVuLCBlcnNjaGllbiBtaXIgaXJnZW5kd2llIAora29udHJhcHJvZHVrdGl2LiA7KQorCitPcHRpbWlzdGVuIGtvZW5uZW4gYXVjaCBkYXJhdWYgd2FydGVuLCBkYXNzIGRpcyoubmV0IEV4dHJhc3RhdHNlaXRlbiBudXIgCitmdWVyIGRlbiBuYWNoIFRlYW1zIGdlb3JkbmV0ZW4gREVTLUVuZHN0YW5kIGVpbnJpY2h0ZXQuCisKKworICAgIFJhbmsgUGFydGljaXBhbnQgICAgICAgICAgICAgICAgICAgICAgQmxvY2tzICBEYXlzICAgICAgUmF0ZSAgICAgICAKKworKi5tdWQuZGUKKworICAgICAxMjggbmFzaW1AbWcubXVkLmRlICAgICAgICAgICAgICAgICAgIDg0Nzg3ICAgIDM3ICAgMTM1MDguOTMgCisgICAgIDQwMiBjYXR3ZWF6bGVAbWcubXVkLmRlICAgICAgICAgICAgICAgNDE5MTIgICAgMzkgICAgNjM1Mi4wMCAKKyAgICAyMDIwIGFsaW5lQG1nLm11ZC5kZSAgICAgICAgICAgICAgICAgICAxMTMxMCAgICAzMSAgICAyMTI5LjYzIAorICAgIDM1NDEgYm9lYmJlbEBtZy5tdWQuZGUgICAgICAgICAgICAgICAgICA2NDE4ICAgIDMxICAgIDEyMDguNDkgCisgICAgODk3MiBncmVtbGluQG1nLm11ZC5kZSAgICAgICAgICAgICAgICAgIDE3MjIgICAgMzEgICAgIDMyNC4yNSAKKyAgICA5NDEyIHF1YXNpbW9kb0BtZy5tdWQuZGUgICAgICAgICAgICAgICAgMTUyNyAgICAzOCAgICAgMjM3LjIxIAorICAgMTE2MjYgYXNtb2Rpc0BtZy5tdWQuZGUgICAgICAgICAgICAgICAgICAgNzQ3ICAgIDM2ICAgICAxMjguOTQgCisgICAxMzAxNCBjYXR3ZWF5bGVAbWcubXVkLmRlICAgICAgICAgICAgICAgICA0MzUgICAgMTAgICAgMjcwMy4wMCAKKyAgIDE2NDQ3IGV0YWluQG1nLm11ZC5kZSAgICAgICAgICAgICAgICAgICAgICA2MCAgICAxNyAgICAgMTg2LjQxIAorCisqdW5pLW11ZW5zdGVyKgorCisgICAgIDE3NyBzb3BwZUB1bmktbXVlbnN0ZXIuZGUgICAgICAgICAgICAgNzEzNDYgICAgMzcgICAxMTM2Ny40MCAKKyAgICAgMzAyIGthbXBtQHVuaS1tdWVuc3Rlci5kZSAgICAgICAgICAgICA1MTU5MSAgICAzOSAgICA3ODE4LjkxIAorICAgIDQwMTAgbmlyZGF2b0BtZy51bmktbXVlbnN0ZXIuZGUgICAgICAgICA1NjEwICAgIDMxICAgIDEwNTYuMzQgCisgICAgNDEzNyBUYW5nYWx1ckBtZy51bmktbXVlbnN0ZXIuZGUgICAgICAgIDU0MzggICAgMzIgICAgIDk5My44NCAKKyAgIDEwODY3IGhvdHRlQHVuaS1tdWVuc3Rlci5kZSAgICAgICAgICAgICAgIDk3MCAgICAyNyAgICAgMjg3LjAyIAorICAgMTYyMTQgYm9sbGlub0BwaWtwMTUudW5pLW11ZW5zdGVyLmRlICAgICAgIDcyICAgICAzICAgICAxNDkuMTMgCisKKworCitBY2ggamEsIGVzIGlzdCBuaWNodCBnZXNhZ3QsIGRhc3Mgb2JpZ2UgZGllIEJsb2Vja2UgZnVlciBtdWQuZGUgZ2VyZWNobmV0IAoraGFiZW4uIERpZSBUZWFtenVnZWhvZXJpZ2tlaXQgd2FyIG5pY2h0IFRlaWwgZGVyIExpc3RlLgorCisKKworRnVlciBhbGxlLCBkaWUgZGllIFRlYW0tU3RhdHMgYW5zZWhlbiB3b2xsZW4sIGFiZXIgenUgZmF1bCBzaW5kLCAKK2locmVuIEJyb3dzZXIgYW56dXNjaG1laXNzZW4sIGhpZXIgZWluIEF1c3p1ZzoKKworIDEgQml0QnVja2V0IERFUyBUZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgNjk4NTI3MyAgMzkgMTA1ODY1Ny45NCAKKyAyIEphcGFuIEZyZWVCU0QgVXNlcnMgR3JvdXAgICAgICAgICAgICAgICAgICAgIDU5OTM4NTQgIDM5ICA5MDg0MDIuNzQgCisgMyBKYXBhbiBMaW51eCBVc2VycyBHcm91cCAgICAgICAgICAgICAgICAgICAgICA0MDE2OTMwICAzOSAgNjA4Nzg4LjY0IAorIDQgVGVhbSBXYXJwZWQgKE9TLzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwNjc1NCAgMzkgIDQxMDIyNC4wMCAKKyA1IFRlYW0gRXZhbmdlTGlzdGEgKE1hY3MgUnVsZSEgOi0pICAgICAgICAgICAgIDI0MjY5MzAgIDM5ICAzNjc4MTUuMDggCisgNiBMaW51eE5FVCBSQzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTY2OTU1ICAzOSAgMjk4MTAzLjI0IAorMTAgdW5pLmRlIChHZXJtYW4gVW5pdmVyc2l0aWVzKSAgICAgICAgICAgICAgICAgMTE2NjkxOSAgMzkgIDE3Njg1My4yMyAKKzI1IFRlYW0gSHVuZ2FyeSBTVEIrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Mjc3NTYgIDM5ICAgNzk5ODQuNDMgCisyNiBBYWNoZW4gVW5pdmVyc2l0eSBvZiBUZWNobm9sb2d5IGFuZCBGcmllbmRzICAgNTA3MjI3ICAzOSAgIDc2ODczLjE0IAorMjcgS3J5cHRvbiBEZWZlbnNlIEZvcmNlcyAgICAgICAgICAgICAgICAgICAgICAgIDQ4MzEyNCAgMjggIDEwMDA2Ny42MCAKKzI4IFRyaWFuZ2xlIEZyYXRlcm5pdHkgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDczODMgIDM5ICAgNjc4MDMuNDQgCisyOSBDYW5hZGlhbiBMaW51eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDM2ODk3ICAzOSAgIDY2MjE0LjIzIAorMzAgU3dpc3N0ZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQyODk2NSAgMzkgICA2NTAxMi4wOSAKKzMxIFVGIENSWVBUTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Mjc0OTYgIDM5ICAgNjQ3ODkuNDYgCiszMiAgSSAgbXVkLmRlICAvSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIzMTk1ICAzOSAgIDY0MTM3LjYxIAorMzMgU2F0dXJuIE1haWxpbmcgTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgIDM5NDUyOCAgMzkgICA1OTc5Mi45NyAKKzM0IFRlYW0gI0xpbnV4V2FyZVogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzODQxMTEgIDM5ICAgNTgyMTQuMjEgCisKKworTWFpbHMgYml0dGUgbmFjaCBNb2VnbGljaGtlaXQgLT4gSEJvdUBSb2NrZXRtYWlsLmNvbQorKEljaCBiaW4gaW0gd2VzZW50bGljaGVuIG5vY2ggaW4gZGVyIFByYWUtTXVkLVBoYXNlIDopCisKKworLiB4IFggWGVudQorCitQLlMuCitpcmdlbmR3aWUgJUdSRVB0IHpNdWQgaW4gZWluZW0gMk1CIEZpbGUgZXR3YXMgbGFuZ3NhbS4uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitTdGF0cyB3aWVkZXIgZGEgKFhlbnUsICA3LiBNYXIgMTk5OCwgMDU6NDE6NTEpOgorRGllIFN0YXRzIHNpbmQgd2llZGVyIGRhIDopCisKK0ltIE1vbWVudCBzaW5kIHdpciBhdWYgUGxhdHogMTkKK1ZvciBkZXIgVFUgQWFjaGVuIDopKQordW5pLmRlIGlzdCBsZWlkZXIgYXVzc2VyIFJlaWNod2VpdGUgKFBsYXR6IDEzKQorCitJbiBkZXIgYWt0dWVsbGVuIFJlY2hlbmxlaXN0dW5nICgiZ2VzdGVybiIpIAorc2luZCB3aXIgYWxsZXJkaW5ncyBudXIgYXVmIFBsYXR6IDI2LgorCitOaWNodCBzY2hsYXBwbWFjaGVuIQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFN0YXRzIHdpZWRlciBkYSAoRnl0LCAxMS4gTWFyIDE5OTgsIDE1OjAxOjU4KToKK34jISBybj1YZW51IHJ0PTg4OTI0NTcxMSByZz1yYzUKK34jISB0aWQ9ODg5MjQ1NzExCisKK09raSwgaGFiIGF1Y2ggd2llZGVyICplaW5lbiogUmVjaG5lciBkYWJlaSA7LSkKKworRnl0LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBTdGF0cyB3aWVkZXIgZGEgKE5pcmRhdm8sIDExLiBNYXIgMTk5OCwgMTU6MDY6MjQpOgorfiMhIHJuPUZ5dCBydD04ODk2MjQ5MTggcmc9cmM1Cit+IyEgdGlkPTg4OTI0NTcxMQorICBXYXMsIG51ciBlaW5lbj8gRGFzIG11c3MgYWJlciBub2NoIG1laHIgd2VyZGVuLi4uIHVuaS5kZSBtdXNzIGRvY2ggaXJnZW53aWUKK3p1IHVlYmVyaG9sZW4gc2VpbiEKKworICAgICAgTmlyZGF2bywgcmVjaG5ldCBtaXQgYWxsZW0sIHdhcyBlciBoYXQKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjM6IFN0YXRzIHdpZWRlciBkYSAoT3JrdG9ldGVyLCAxMS4gTWFyIDE5OTgsIDE1OjA3OjQwKToKK34jISBybj1OaXJkYXZvIHJ0PTg4OTYyNTE4NCByZz1yYzUKK34jISB0aWQ9ODg5MjQ1NzExCitJY2ggcmVjaG5lIGltbWVyIG51ciBtaXQgZGVtIHNjaGxpbW1zdGVuLi4uCisKK09ya1QgdHJldWVyIEFuaGFlbmdlciB2b24gTXVycGh5LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworTHVzY2hlbiAoQ2F0d2VhemxlLCAyMC4gTWFyIDE5OTgsIDEwOjExOjIwKToKK01vaW4hCisKK1dhcyBpc3QgaGllciBlaWdlbnRsaWNoIGxvcz8KK1NvIHdpZSBpY2ggZGFzIHNlaGUsIHdlcmRlIGljaCBpbiBhYnNlaGJhcmVyIFplaXQgYXVmIFBsYXR6IDEgZGVyIG11ZC5kZS0KK2xpc3RlIGxhbmRlbi4gSGFidCBpaHIgYWxsZSBrZWluZSBMdXN0IG1laHI/IEdpYnQgZXMga2VpbmUgSGVyYXVzZm9yZGVyZXIKK21laHI/IFNvIHdpZXMgamV0enQgbGFldWZ0LCB3ZXJkZSBpY2ggamEgd29obCBwcm9ibGVtbG9zIGFuIEV1Y2ggYWxsZW4gCit2b3JiZWl6aWVoZW4uCisKK0x1c2NoZW4gLi4uLgorCitZVEMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBMdXNjaGVuIChGcmV1bmQsIDIwLiBNYXIgMTk5OCwgMTA6MTc6NDApOgorfiMhIHJuPUNhdHdlYXpsZSBydD04OTAzODUwODAgcmc9cmM1Cit+IyEgdGlkPTg5MDM4NTA4MAorVW50ZXJ0YWVuaWdzdGVyIENhdHdlYXpsZSwKK29oIHdlaXNlc3RlciBSQy01IFJlY2huZXIgdW50ZXIgZGVuIE11ZGRlcm4sIGdlcHJpZXNlbiBzZWllbiBEZWluZSBkdXJjaAordW5zZXJlIFN0ZXVlcmdlbGRlciBmaW5hemllcnRlbiBVbml2ZXJzaXRhZXRzLVJlY2huZXIuIERpY2ggaGVyYXVzenVmb3JkZXJuCitrYW5uIHVubW9lZ2xpY2ggZWluZW0gU3RlcmJsaWNoZW4gdW50ZXIgZGVyIFNvbm5lIGdlbGluZ2VuLiBEaWNoIHZlcmVocmVuIHdpciwKK0RpY2ggd29sbGVuIHdpciBhdWYgUGxhdHogMSBzZWhlbi4KKworRGVyIEdlcmluZ3N0ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBMdXNjaGVuIChSYXR6LCAyMC4gTWFyIDE5OTgsIDE5OjA3OjE0KToKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODkwMzg1MDgwIHJnPXJjNQorfiMhIHRpZD04OTAzODUwODAKK0VzIGdpYnQgTGV1dGUgZGllIGhhYmVuIFJlY2huZXIgenVyIFZlcmZ1ZWd1bmcgZGllIHNvd2lzbyBkZW4gCitnYW56ZW4gVGFnIHVuZCBhbSBXb2NoZW5lbmRlIGxhdWZlbi4gCitSZWNobmVyIGFsbGVyZGluZ3MgaGllcmZ1ZXIgZXh0cmEgYW56dXNjaGFsdGVuIG9kZXIgbGF1ZmVuIAorenUgbGFzc2VuLCBlcnNjaGVpbnQgbWlyIGVpbmUgemllaG1saWNoZSBFbmVyZ2lldmVyc2Nod2VuZHVuZyB6dSBzZWluLgorVmllbGxlaWNodCBrb2VubnRlIG1hbCBqZW1hbmQgZGllc2Ugc3RhcmtlIGJlaGF1cHR1bmcgZHVyY2hyZWNobmVuLgorV2lldmllbCBrV2ggcHJvIEJsb2NrIHZlcmJyYXVjaHQgZWluIFJlY2huZXIgd29obCBzbz8KK05pY2h0cyBnZWdlbiBkYXMgWmllbCB1bmQgZGllIEF1ZmdhYmUsIGFiZXIgaXN0IGRlciBFbmVyZ2llYXVmd2FuZAorZ2VyZWNodGZlcnRpZ3Q/CitXaWUgc3RlaGUgaWNoIGRlbm4gdm9yIGRlbiBMZXV0ZW4gZGEsIGRlbmVuIGljaCBnZXByZWRpZ3QgaGFiZSBkb2NoIGJpdHRlCit1ZWJlciBkYXMgV29jaGVuZW5kZSBpaHJlIFJlY2huZXIgYWJ6dXN0ZWxsZW4gdW0gU3Ryb20genUgc3BhcmVuIT8KKworR3J1c3MgcmF0emZhdHogUmF0egorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IEx1c2NoZW4gKFNhYmJlcmtvcHAsIDIwLiBNYXIgMTk5OCwgMTk6MjQ6MjApOgorfiMhIHJuPUNhdHdlYXpsZSBydD04OTAzODUwODAgcmc9cmM1Cit+IyEgdGlkPTg5MDM4NTA4MAorbW9pbiwgCisKK25hIHdlciBlcyBnbGF1YnQsIGRhc3MgZHUgaW4gYWJzZWhiYXJlciBaZWl0IGF1ZiBQbGF0eiAxIHNlaW4gd2lyc3QgOikKKworLi4uIGdsYXVidCBkYSBuaWNodCBkcmFuIAorICAgICAgICAgIFNhYmJlcmtvcHAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBMdXNjaGVuIChOYXNpbSwgMjYuIE1hciAxOTk4LCAyMjoxNjo0OCk6Cit+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MDM4NTA4MCByZz1yYzUKK34jISB0aWQ9ODkwMzg1MDgwCitIYWIgbmVuIG5ldWVuIEpvYiB1bmQgZGllIGluIGRlciBhbHRlbiBGaXJtYSBqZXR6dCBuZW4gRmlyZXdhbGwgLSBlcmdvIGtvbW1lbgorZGllIENsaWVudHMgbmljaHQgbWVociBkdXJjaC4gOi0tKAorQWJlciBtYWwgZ3Vja2VuLCBldnRsLiBrb21tZSBpY2ggZG9jaCBub2NoIGFuIGRpZSByYzVkZXMuaW5pIGRyYW4gLi4uCisKK05hc2ltLCBhdWNoIG5pY2h0IGdhbnogc2NobGVjaHQgZGFiZWkgbW9tZW50YW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUmU6IEx1c2NoZW4gKEdyaW1tYm9ybiwgMjcuIE1hciAxOTk4LCAxNzowNDoyMik6Cit+IyEgcm49TmFzaW0gcnQ9ODkwOTQ3MDA4IHJnPXJjNQorfiMhIHRpZD04OTAzODUwODAKK0RhIGdhYnMgZG9jaCBpcmdlbmRzb2VpbmUgRWluc3RlbGx1bmcgZnVlciBkZW4gY2xpZW50LCBkZXIgZHVyY2ggZmlyZXdhbGxzCit0dW5uZWx0PworVW5kIHdhcyBkaWUgRW5lcmdpZXZlcnNjaHdlbmR1bmcgYmV0cmlmZnQ6IFNpbm4gZGVyIFNhY2hlIGlzdCBqYSBnZXJhZGUsIG5pY2h0CitleHRyYSBLYXBheml0YWV0IGRhZnVlciBmcmVpenVtYWNoZW4gc29uZGVybiBzb3dpZXNvIHZvcmhhbmRlbmUsIGFiZXIgbmljaHQKK2dlbnV0enRlIExlaXN0dW5nIChkLmguIGRlciBQUHJvNTAwIGxhbmd3ZWlsaXQgc2ljaCBtaXQgTWluZXN3ZWVwZXIpCithYnp1Z3JlaWZlbiB1bmQgenUgbnV0emVuLgorCitHcmltbWJvcm4gZGVyIEF0aGVpc3QKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK2Vyc3RlciAoQ2F0d2VhemxlLCAyNS4gTWFpIDE5OTgsIDA5OjM2OjE0KToKK0hpaGkhIDopCitFcnN0ZXIgISA6KQorCitZVEMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBlcnN0ZXIgKE1vcmdvdGgsIDI1LiBNYWkgMTk5OCwgMDk6NDM6MzUpOgorfiMhIHJuPUNhdHdlYXpsZSBydD04OTYwODE3NzQgcmc9cmM1Cit+IyEgdGlkPTg5NjA4MTc3NAorSmEgaXMga2xhciwgd2llIGJlaW0gU2V4LCB3b2xsIDstKSkKKworTSoKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBlcnN0ZXIgKFllbmRpLCAyNS4gTWFpIDE5OTgsIDExOjIzOjUyKToKK34jISBybj1DYXR3ZWF6bGUgcnQ9ODk2MDgxNzc0IHJnPXJjNQorfiMhIHRpZD04OTYwODE3NzQKK0Vya2xhZXJ0IG1pciBkYXMgamVtYW5kPworCitZVFkKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBlcnN0ZXIgKE9ya3RvZXRlciwgMjcuIE1haSAxOTk4LCAxMTozMDo0Myk6Cit+IyEgcm49WWVuZGkgcnQ9ODk2MDg4MjMyIHJnPXJjNQorfiMhIHRpZD04OTYwODE3NzQKK0Fsc28gWWVuZGksIGRhcyBmYWVuZ3QgYmVpIGRlbiBCaWVuY2hlbiB1bmQgZGVuIEJsdWVtY2hlbiBhbi4uLgorTmFlaGVyZXMgYml0dGUgYmVpIGRlaW5lbSBCaW9sb2dpZWxlaHJlciAobWl0dGVsc3R1ZmUpIGVyZnJhZ2VuLgorCitPcmtULgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogZXJzdGVyIChZZW5kaSwgMjcuIE1haSAxOTk4LCAxMjo0MTo1Mik6Cit+IyEgcm49T3JrdG9ldGVyIHJ0PTg5NjI2MTQ0MyByZz1yYzUKK34jISB0aWQ9ODk2MDgxNzc0CitPaCBEdSBUb2V0ZXIgZGVyIE9ya3MsIGRlcyBMZXNlbnMgbmljaHQgbWFlY2h0aWc6CitNZWluIEFydGlrZWwgd2FyIGF1ZiBDYXQqcyAiRXJzdGVyISIgYmV6b2dlbiwgbmljaHQgYXVmIE1vcmdvdGhzIHB1YmVydGFlcmUKK0FudHdvcnQuLi4gdW5kIGRhcyBtaXQgZGVuIEJsdW1lbiB1bmQgZGVuIEVsZmVuIGhhdCBtZWluZSBNdXR0ZXIgbWlyIHNjaG9uCitlcmtsYWVydCwgYWxzIGljaCBuaWNodG1hbCAzMCB3YXIhCisKK1lUWQorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitHZWdlbmRhcnN0ZWxsdW5nIChCbHVlbWVsLCAyNy4gTWFpIDE5OTgsIDEyOjU2OjI0KToKK1NlaXQgd2FubiB0cmVpYmVucyBkaWUgRWxmZW4gbWl0IEJsdW1lbiAtIHVuZCBhdXNzZXJkZW0gaGFiIGljaCBuaWNodHMgbWl0CitCaWVuY2hlbiAtIFVudmVyc2NoYWVtdGhlaXQgIQorCitFaW4gQmx1ZW1lbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogZXJzdGVyIChTdW5mbG93ZXIsIDI3LiBNYWkgMTk5OCwgMTQ6MDU6MjUpOgorfiMhIHJuPU9ya3RvZXRlciBydD04OTYyNjE0NDMgcmc9cmM1Cit+IyEgdGlkPTg5NjA4MTc3NAorV2llIHdhcyBoYWIgaWNoIG1pdCBCaWVuZW4genUgdHVuIG9ya3RvZXRvbGluID8KKworRGllc2UgVmllY2hlciBzY2h3aXJyZW4gaGVydW0sIG1hY2hlbiBrcmFjaCB1bmQgc3RlbGxlbiBzbyBuZSBnZWxibGljaGUKK21hc3NlIGhlciBuYW1lbnMgSG9uaWcsIGlnaXR0IGlnaXR0Li4uCisKK1N1bioKKworICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjQ6IGVyc3RlciAoQW5hdG9sLCAyNy4gTWFpIDE5OTgsIDE2OjExOjI3KToKK34jISBybj1TdW5mbG93ZXIgcnQ9ODk2MjcwNzI1IHJnPXJjNQorfiMhIHRpZD04OTYwODE3NzQKK1dhcyBDYXR3ZWF6bGUgc2FnZW4gd29sbHRlOiBJbiBkZXIgVGVhbWF1c3dlcnR1bmcgZGVzIFRlYW1zICJtdWQuZGUiIGlzdAorZGFzIFRlYW1taXRnbGllZCAiY2F0d2VhemxlQG1nLm11ZC5kZSIgbWl0IHppZW1saWNoX3ZpZWxlbl9CbG9lY2tlbiwgYWxzbworZXR3YSA1MDAwIHRhZWdsaWNoLCBpbnp3aXNjaGVuIGFuIGRlciBTcGl0emUuCisKK3VuaS5kZSBoYXQgbXVkLmRlIHVlYnJpZ2VucyBndXQgYWJnZWhhZW5ndC4KKworQW5hdG9sIDopCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1Byb2JsZW0gbWl0IENsaWVudCAoSXZvLCAgMS4gSnVuIDE5OTgsIDIwOjI1OjE2KToKK2Fsc28gZm9sZ2VuZGVzOgorbWVpbiByYzUtY2xpZW50IChSQzUtNjQgdjIuNjQwMi4yNzApIGZ1ZXIgd2luOTUgdmVydXJzYWNodCBhbiBtZWluZW0gcmVjaG5lcgoraGluIHVuZCB3aWVkZXIgbmVuIHN5c3RlbXN0aWxsc3RhbmQuIGRpZXNlbiBrYW5uIGljaCBkdXJjaCBlaW4gYXVmcnVmZW4gZGVyCit0YXNrbGlzdGUgdWViZXJ3aW5kZW4uIHRyb3R6ZGVtIGlzdCBkYXMgbmljaHQgc28gdG9sbCwgaGF0IGplbWFuZCBlaW4KK2FlaG5saWNoZXMgcHJvYmxlbSwgd2llIGthbm4gbWFuIGVzIGJlaGViZW4gb2RlciBnaWJ0IGVzIGVpbmVuIG5ldWVuIGNsaWVudCA/CisKK0l2bworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFByb2JsZW0gbWl0IENsaWVudCAoQ2F0d2VhemxlLCAgMi4gSnVuIDE5OTgsIDExOjQ0OjM3KToKK34jISBybj1Jdm8gcnQ9ODk2NzI1NTE2IHJnPXJjNQorfiMhIHRpZD04OTY3MjU1MTYKK0dpYnQgZXMuIAorRHUgaGFzdCBkYSBuZW4gdXJhbHQgc2luZ2xlLWNsaWVudC4KK0RpZSBha3R1ZWxsc3RlIFZlcnNpb24gaXN0IDIuNzAxNy40MDAhISEgZGllIDIuN2VyIGtvZW5uZW4gYmVpZGVzIHJlY2huZW4KK3JjNSB1bmQgZGVzLiBEYXMgaXN0IGluc2Jlc29uZGVyZSBpbnRlc3NhbnQsIGRhIGFuZmFuZyBKdWxpIGRlciBERVMtSUlJCitzdGFydGVuIG11ZXNzdGUsIGRlciB3ZXNlbnRsaWNoIHNjaG5lbGxlcmVuIEVyZm9sZyB2ZXJzcHJpY2h0ISAoY2EuNDAgVGFnZQorYmVpIERFUy1JSSkuIERpZSAyLjdlciBzaW5kIGF1Y2ggZXR3YXMgc2NobmVsbGVyLiBXZXIgYWxzbyBub2NoIGFsdGUgCit2ZXJzaW9uZW4gaGF0LCBzb2xsdGUgdW5iZWRpbmd0IHplaXRpZyBhdWZydWVzdGVuIQorCitZb3VycyB0cnVseSwKKyAgICAgQ2F0d2VhemxlCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitLZXlyYXRlIHVuZCBERVMtSUktMiAoQ2F0d2VhemxlLCAyMi4gSnVuIDE5OTgsIDA5OjI3OjU3KToKKyoqKiBOZXdzICoqKgorCitGb3IgdGhlIHdlZWsgZW5kaW5nIDYvMjAsIHdlIGRpZCA0NS44IG1pbGxpb24gYmxvY2tzIGZvciBhbiBhdmVyYWdlCitrZXlyYXRlIHdhcyAyMCwzNDggTWsvcy4gVGhpcyBpcyBhbiBpbmNyZWFzZSBvZiA2MjYsMDAwIGJsb2NrcworMjA4IE1rL3MgZnJvbSBsYXN0IHdlZWsuIEF0IDIwLDM0OCBNay9zLCBpdCB3aWxsIHRha2UgMjguNDMgeWVhcnMgdG8KK2V4aGF1c3QgdGhlIGtleXNwYWNlLCBkb3duIGZyb20gMjguNzUgeWVhcnMgbGFzdCB3ZWVrLCBhbmQgNzguOTYgeWVhcnMKK2FmdGVyIG91ciBmaXJzdCBtb250aCBvbiB0aGUgcHJvamVjdCAoMTEvMjIvOTcpLiBJZiBvdXIgcmF0ZSBpcworZ3Jvd2luZyBsaW5lYXJseSBhdCAyNiw0MDAgYmxvY2tzIHBlciBkYXksIHdlIHdpbGwgZXhoYXVzdCB0aGUKK2tleXNwYWNlIGluIDUuNiB5ZWFycy4gSWYgb3VyIGtleXJhdGUgaXMgZG91YmxpbmcgZXZlcnkgMTMzIGRheXMsCit3ZSB3aWxsIGV4aGF1c3QgdGhlIGtleXNwYWNlIGluIDIuMSB5ZWFycy4KKworREVTLUlJLTIgd2lsbCBiZWdpbiBpbiAyMSBkYXlzLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitOZXVlciBDbGllbnQ/IChDYXR3ZWF6bGUsIDIyLiBKdW4gMTk5OCwgMDk6NTQ6MjEpOgorTW9pbiEKKworSWNoIG1vZWNodGUgbWljaCBkZXIgRW1wZmVobHVuZyB2b24gZGlzdHJpYnV0ZWQubmV0IGFuc2NobGllc3NlbiB1bmQgYWxsZW4KK3JhdGVuLCBhdWYgZGVuIG5ldWVuIGNsaWVudCB1bXp1c3RlaWdlbi4gSW4gMyBXb2NoZW4gZmFlbmd0IGRlciBuZXVlIERFUy1JSQorQ29udGVzdCBhbi4gQml0dGUgbmVobXQgc28gdW1mYW5ncmVpY2ggdGVpbCB3aWUgbW9lZ2xpY2gsIEJlaW0gbGV0enRlbiBtYWwKK2hhdHRlIGRpZSBHcnVwcGUgbXVkLmRlIGltbWVyaGluIGVpbiBDaGFuY2Ugdm9uIDEgenUgMjAwIGF1ZiBkaWUgMTAwMDAkLgorRmFsbHMgRHUgbmljaHQgd2Vpc3N0LCB3b3ZvbiBpY2ggaGllciByZWRlLCBzY2hhdSBEaXIgbWFsIGRpZSBTZWl0ZW4gdm9uCitBbmFraW4gYW46IGh0dHA6Ly93d3cuYWVpLXBvdHNkYW0ubXBnLmRlL353ZWhyZW5zL3JjNS8KKworWVRDCistLS0tLQorQXMgb2YgdG9uaWdodCwgdGhlIHJlbGVhc2Ugb2YgMi43MTAwIGNsaWVudHMgaXMgc2NoZWR1bGVkIGZvciB0aGlzCitXZWRuZXNkYXkuIGl0J3MgVkVSWSBpbXBvcnRhbnQgdGhhdCB5b3UgdXBncmFkZSBhcyBtYW55IGNsaWVudHMKK2FzCitwb3NzaWJsZSBhcyBzb29uIGFzIHRoZXNlIG5ldyBjbGllbnRzIGFyZSBhdmFpbGFibGUuIEl0J3MgZXZlbiBtb3JlCitpbXBvcnRhbnQgdGhhdCB5b3UgcmVhZCB0aGUgdXBncmFkZSBpbnN0cnVjdGlvbnMgaW4gdGhlIHJlYWRtZSBmaWxlCithcyBzZXZlcmFsIGltcG9ydGFudCBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlLgorCitUaGUgbmV3IGNsaWVudHMgaGF2ZSBzZXZlcmFsIGJpZyBpbXByb3ZlbWVudHM6CisxLiBOZXcgY29yZXMgZm9yIGFsbCBwbGF0Zm9ybXMgeWllbGRpbmcgaGlnaGVyIERFUyByYXRlcyBvbiBhbGwKKyAgIGNsaWVudHMsIHdpdGggaW1wcm92ZW1lbnRzIHJhbmdpbmcgZnJvbSA1MCBra2V5cy9zZWNvbmQgdG8KKyAgIDggbWVnYWtleXMvc2Vjb25kLCBkZXBlbmRpbmcgb24gdGhlIHByb2Nlc3Nvci4KKzIuIEF1dG9tYXRlZCBjb250ZXN0IHN3aXRjaGluZy4gIE9sZGVyIGNsaWVudHMgd2lsbCBub3QgYXV0b21hdGljYWxseQorICAgc3dpdGNoIGZyb20gcmM1IHRvIGRlczsgdG8gZW5zdXJlIHRoYXQgeW91ciBjbGllbnRzIHN0YXJ0IG9uCisgICBERVMtSUktMiBBU0FQIHdpdGhvdXQgaHVtYW4gaW50ZXJ2ZW50aW9uLCBhbiB1cGdyYWRlIGlzIHJlcXVpcmVkLgorCitJZiB5b3UgYXJlIHJ1bm5pbmcgYSBwZXJzb25hbCBwcm94eSB5b3UgTVVTVCB1cGdyYWRlIGl0IF9iZWZvcmVfIHlvdQordXBncmFkZSBhbnkgb2YgeW91ciBjbGllbnRzLiBPbGRlciBwZXJzb25hbCBwcm94aWVzICB3aWxsIG5vdCBsZXQKK2Jsb2NrcyBmcm9tIHRoZSBuZXcgY2xpZW50cyBwYXNzIHRocm91Z2guCistLS0tLQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworZGVzIGJsb2NrcyAoQW5ha2luLCAyMy4gSnVuIDE5OTgsIDA4OjU4OjI5KToKK0hpLAorCitpY2ggaGFiZSBiZWkgbWlyIGFscyBiZXZvcnp1Z3RlbiB3ZXR0YmV3ZXJiIGRlcyBlaW5nZXN0ZWxsdC4KK0Fuc2NoZWluZW5kIHJlY2huZXQgbWVpbiBjbGllbnQgYXVjaCBkZXMgYmxvZWNrZSwgb2J3b2hsIGVzIAoraW0gbW9tIGtlaW5lbiBkZXMgZ2lidCBudXIgcmM1PyBIYXQgc29uc3Qgbm9jaCBqZW1hbmQKK2RpZXNlIFZlcmhhbHRlbiBiZW9iYWNodGV0PworCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogZGVzIGJsb2NrcyAoTW9yZ290aCwgMjMuIEp1biAxOTk4LCAwODo1OTo1Myk6Cit+IyEgcm49QW5ha2luIHJ0PTg5ODU4NTEwOSByZz1yYzUKK34jISB0aWQ9ODk4NTg1MTA5CitKYSwgamVkZXNtYWwgd2VubiBEdSBkZW4gY2xpZW50IG5ldSBzdGFydGVzdCwgemllaHQgZXIgbGVlcmU/IERFUyBibG9lY2tlIHVuZAorbWVya3QgZGFubiwgZGFzIERFUyBuaWNodCBha3RpdiBpc3QuLi4KK1NjaGVpbnQgbm9ybWFsIHp1IHNlaW4uCitNKgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBkZXMgYmxvY2tzIChKb2YsIDIzLiBKdW4gMTk5OCwgMDk6MDE6MTkpOgorfiMhIHJuPU1vcmdvdGggcnQ9ODk4NTg1MTkzIHJnPXJjNQorfiMhIHRpZD04OTg1ODUxMDkKKworIEVyIHJlY2huZXQgMzIgbWFsIGRlbiBCbG9jayBtaXQgZGVtIGtvcnJla3RlbiBFcmdlYm5pcyAobnVyIGRlbiBiZWtvbW10IGVyCit2b20ga2V5IHNlcnZlcikgdW5kIHNjaG5hbGx0IGRhbm4sIGRhcyBlcyB2b3JiZWkgaXN0IC4uLiBpcmdlbmRzb3dhcyAKK0tyYW5rZXMuIEhhYiBhdWNoIG5pY2h0IHZlcnN0YW5kZW4gd2llc28gZGllIGRpZSBERVMtRW5kZS1Fcmtlbm51bmcgc28KK3NlbHRzYW0gaW1wbGVtZW50aWVydCBoYWJlbiAuLi4KKworIEpvZgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogZGVzIGJsb2NrcyAoQ2F0d2VhemxlLCAyMy4gSnVuIDE5OTgsIDEwOjMxOjU1KToKK34jISBybj1Kb2YgcnQ9ODk4NTg1Mjc5IHJnPXJjNQorfiMhIHRpZD04OTg1ODUxMDkKK0phdSwga3Jhbmsgd2FyIGRhcyBzY2hvbiAuLi4KK0ljaCBob2ZmZSBtYWwsIGRhc3MgZGFzIGltIG5ldWVuIENsaWVudCBiZXNzZXIgZ2VyZWdlbHQgaXN0IC4uLgorWVRDCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogTmV1ZXIgQ2xpZW50PyAoTmlyZGF2bywgIDcuIEp1bCAxOTk4LCAxNDoyMToxMCk6Cit+IyEgcm49Q2F0d2VhemxlIHJ0PTg5ODUwMjA2MSByZz1yYzUKK34jISB0aWQ9ODk4NTAyMDYxCisgIE5hamEsIGljaCB3ZWlzcyBuaWNodCwgb2IgZGVyIG5ldWUgQ2xpZW50IHdpcmtsaWNoIHNvIGRhcyBHZWxiZSB2b20gRWkKK2lzdC4uLiB6dW1pbmRlc3QsIHdhcyBkZW4gVzk1IEdVSS1DbGllbnQgYW5nZWh0LiBEZXIgbWFjaHQgYmVpIG1pciBhdWYKK2RpdmVyc2VuIFJlY2huZXJuIG1hc3NpdmUgUHJvYmxlbWUsIGdhbnogaW0gR2VnZW5zYXR6IHp1bSAyLjcwMTctQ2xpZW50LCBkZXIKK21vbmF0ZWxhbmcgb2huZSBtdXJyZW4gdW5kIG11Y2tlbiBsYWV1ZnQuIFp1Z2VnZWJlbiwgZGllIERFUy1SYXRlIGlzdCBnYW56CitiZWVpbmRydWNrZW5kLCBhYmVyIGljaCBrYW5uIGhpZXIgbmljaHQgZGllIFJlY2huZXIgbWVpbmVyIEtvbGxlZ2VuIHN0YWVuZGlnCittaXQgZWluZW0gdW5zaWNoZXJlbiBQcm9ncmFtbSBhYnNjaGllc3Nlbi4KKyAgSGF0IG5vY2ggamVtYW5kIEVyZmFocnVuZ2VuIGluIGRpZXNlciBSaWNodHVuZyBnZW1hY2h0PworICAgIE5pcmRhdm8sIHJlY2huZXQgYXVjaCBtaXQKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogTmV1ZXIgQ2xpZW50PyAoUm9uZGEsICA3LiBKdWwgMTk5OCwgMTU6MDU6MDcpOgorfiMhIHJuPU5pcmRhdm8gcnQ9ODk5ODE0MDcwIHJnPXJjNQorfiMhIHRpZD04OTg1MDIwNjEKK0xlaWRlciBqYSAtIHp1bWluZGVzdCwgd2VubiBpY2ggZGFzIERpbmcgbWl0IGVyaG9laHRlciBwcmlvcml0YWV0IGxhdWZlbgorbGFzc2UsIHN0ZWh0IGRlciBSZWNobmVyIGltbWVyIG1hbCB3aWVkZXIga29tcGxldHQgKG9rLCBuYWNoIGt1cnplciBaZWl0IGdlaHRzCit3aWVkZXIsIG5lcnZpZyBpc3RzIGFiZXIgYXVmIGplZGVuIEZhbGwpLiBCZXNzZXIgbGFldWZ0IGVyIG51ciwgd2VubiBtYW4gaWhtCituaWVkcmlnZXN0ZSBQcmlvIGdpYnQuCisKK1JvbmRhCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiBOZXVlciBDbGllbnQ/IChHcmltbWJvcm4sICA3LiBKdWwgMTk5OCwgMTc6NTU6MzMpOgorfiMhIHJuPVJvbmRhIHJ0PTg5OTgxNjcwNyByZz1yYzUKK34jISB0aWQ9ODk4NTAyMDYxCitEYXMgbWl0IGRlciBuaWVkcmlnc3RlbiBQcmlvIGlzdCBqYSBhdWNoIFNpbm4gZGVyIFNhY2hlLCBuaWNodCB3YWhyPworCitHZEEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0RFUy1JSSBoYXQgYW5nZWZhbmdlbiEhISAoQ2F0d2VhemxlLCAxMy4gSnVsIDE5OTgsIDE5OjQ0OjU3KToKKy0tLS0tCitMb29rIHdoYXQgZW1lcmdlZCBmcm9tIGl0cyBjb2Nvb24gdG9kYXkhCisKKyAgIC8vXCAgICAgICAgIC9cXAorICB8fCAqIFwgLiAuIC8gKiB8fAorICAgXFxfX19fXFgvX19fXy8vCisgICAgLyAqICAvT1wgICogXAorICAgIFxfXy8gICIgIFxfXy8KKworREVTLUlJLTIgaXMgYmFjaywgaG9wZSB5b3UncmUgcmVhZHksIGJlY2F1c2UgZGlzdHJpYnV0ZWQubmV0IHN1cmUgaXMuCitXZSBoYXZlIDEwIGRheXMgdG8gZmluZCB0aGUgbWFnaWMga2V5LCB0dXJuIGl0IGluLCBhbmQgY2xhaW0gdGhlCiskMTAsMDAwIHByaXplLgorCitBcyBhIHJlbWluZGVyLCBwbGVhc2Ugc2V0IHlvdXIgcHJlZmVycmVkIGJsb2NrIHNpemUgYXMgaGlnaCBhcworcG9zc2libGUgKHByZWZlcmFibHkgMzEgYml0KSBhbmQgYnVmZmVyIHNpemUgc28gdGhhdCB5b3UgYXJlCitidWZmZXJpbmcgbm8gbW9yZSB0aGFuIDEgZGF5cyB3b3J0aCBvZiB3b3JrLiBXZSBuZWVkIHlvdSB0byBkbyBsYXJnZQorc2l6ZWQgYmxvY2tzIHRvIGhlbHAgcmVkdWNlIG5ldHdvcmsgbG9hZCAob3VyIGVzdGltYXRlZCBrZXlyYXRlIGlzCit0d2ljZSB3aGF0IGl0IHdhcyBmb3IgREVTLUlJLTEpLCBhbmQgYmxvY2sgbGF0ZW5jeSB3aWxsIGJlIF92ZXJ5XworaW1wb3J0YW50IGluIHRoaXMgY29udGVzdCBiZWNhdXNlIHdlIHdpbGwgcHJvYmFibHkgc3RhcnQgcmVjeWNsaW5nCitieSBkYXkgNSBvciA2LgorCitSQzUgc3RhdHMgd2lsbCBiZSB1bmF2YWlsYWJsZSB1bnRpbCB0aGUgZW5kIG9mIERFUy4gREVTIHN0YXRzIHNob3VsZAorYmUgdXAgYXQgfjAyMDAgR01UIHRvbW9ycm93LgorCitXZSBoaWdobHkgcmVjb21tZW5kIHlvdSB1cGdyYWRlIHRvIHRoZSBuZXdlc3QgMi43MSBjbGllbnRzIGlmIHlvdSBjYW4uCitJZiB5b3UgbXVzdCBydW4gYW4gb2xkZXIgY2xpZW50IChwcmlvciB0byBidWlsZCA0MDgpLCBwbGVhc2UgY2hlY2sgdG8KK21ha2Ugc3VyZSB0aGF0IHByZWZmZXJlZGNvbnRlc3QgaXMgc2V0IHRvIDIsIG5vdCAxLiBJbiBsYXRlciBjbGllbnRzLAorbWFrZSBzdXJlIHByb2Nlc3NkZXM9MS4KKyAKK1JlbWVtYmVyIHRoYXQgdGhlIGNsaWVudHMgd2lsbCBub3Qgc3dpdGNoIHRvIERFUyB1bnRpbCB0aGV5IHRhbGsgdG8KK3RoZSBuZXR3b3JrLiBJbiBvcmRlciB0byBnZXQgdGhlIGJpZ2dlc3QgaGVhZCBzdGFydCBvbiBERVMsIHlvdSBjYW4KK3RlbXBvcmFyaWx5IHNldCB5b3VyIFJDNSBidWZmZXJzIHRvIDE6MSwgb3IgZm9yY2UgYSBtYW51YWwgdXBkYXRlCitvbmNlIERFUyBoYXMgc3RhcnRlZC4KKyAKK0JlIHN1cmUgdG8gY2hlY2sgZm9yIHRoZSBsYXRlc3QgY2xpZW50cyBhcyB3ZWxsLiBOZXcgTU1YIGNsaWVudHMKK3dlcmUgcmVsZWFzZWQgeWVzdGVyZGF5IHRoYXQgYXJlIGFsbW9zdCB0d2ljZSBhcyBmYXN0IG9uIG15IHN5c3RlbS4KK0NoZWNrIGh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L2NsaWVudHMuaHRtbCBvZnRlbiwgb3Igc3RvcCBieQorI2Rpc3RyaWJ1dGVkIG9uIElSQ3MgRUZuZXQgYW5kIGpvaW4gaW4gdGhlIGZ1bi4KKyAKKyAKKyAgQWRhbSBMLiBCZWJlcmcKKyAgYmViZXJnQGRpc3RyaWJ1dGVkLm5ldAorICBkaXN0cmlidXRlZC5uZXQgZm91bmRlcgorICBodHRwOi8vd3d3LmlpdC5lZHUvfmJlYmVyZy8KKy0tLS0tCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitERVMtSUkgdm9yYmVpLi4uIChNaWthLCAxNy4gSnVsIDE5OTgsIDEwOjI0OjU5KToKK3NpZWhlIGh0dHA6Ly93d3cuZWZmLm9yZy9kZXNjcmFja2VyLmh0bWwKK01pa2EKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0ViZW5lIHJjL2RlcyAoUm9uZGEsIDE3LiBKdWwgMTk5OCwgMTE6Mzc6NTgpOgorTnVyIHdlaWwncyB2aWVsbGVpY2h0IG5vY2ggbmljaHQgamVkZXIgZ2VtZXJrdCBoYXQgOykKK0VzIGdpYnQgbmUgRWJlbmUgZGFmdWVyLi4uCitNYW4gbGllc3Qgc2ljaCwKKworUm9uZGEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0RlciBEZXMyIGlzdCBnZWtuYWNrdCEgKEdyaW1tYm9ybiwgMTcuIEp1bCAxOTk4LCAxMzozNzoyNCk6Cit+IyEgb249Um9uZGEgb3Q9OTAwNjY3MzAwIG9nPWFsbGdlbWVpbmVzCitHcmFkIHBlciBNYWlsIGJla29tbWVuOgorLS0tCitJbiBhIHByZXNzIHJlbGVhc2UgKGh0dHA6Ly93d3cuZWZmLm9yZy9kZXNjcmFja2VyLmh0bWwpIHRoZSBFbGVjdHJvbmljCitGcm9udGllciBGb3VuZGF0aW9uIChFRkYpIGFubm91bmNlZCB0b2RheSB0aGF0IGl0IGhhZCBiZWF0IERFUy1JSS0yCit1c2luZyBhIG1hY2hpbmUgaXQgZGV2ZWxvcGVkIGZvciBVUyQyNTAsMDAwIGRlc2lnbmVkIHNwZWNpZmljYWxseSB0bworY3JhY2sgREVTLgorCitkaXN0cmlidXRlZC5uZXQgaXMgdGhyaWxsZWQgdGhhdCBpdCBoYXMgYmVlbiBzaG93biBERVMgY2FuIGJlCitjcmFja2VkIGluIGEgcmVtYXJrYWJseSBzaG9ydCB0aW1lLCB3aXRoIGRlZGljYXRlZCBzcGVjaWFsIHB1cnBvc2UKK2hhcmR3YXJlLiBUaGUgZmFjdCB0aGF0IHRoaXMgREVTIGNvbnRlc3QgY291bGQgYmUgY3JhY2tlZCBpbiBvbmx5CisyLjUgZGF5cyBkcmFtYXRpY2FsbHkgZGVtb25zdHJhdGVzIHRoYXQgNTYtYml0IGVuY3J5cHRpb24gaXMgbm90CithZGVxdWF0ZSBmb3IgYW55IHNlcmlvdXMgcHJpdmFjeS9zZWN1cml0eSB1c2UuCisKK1dlIGNvbmdyYXR1bGF0ZSB0aGVtIGZvciB0aGVpciBhY2hpZXZlbWVudCwgYW5kIGhvcGUgdGhleSBoYXZlIGZ1bgorcGxheWluZyBRdWFrZSBvbiB0aGVpciBuZXcgYm94IGZvciB0aGUgbmV4dCA2IG1vbnRocyB1bnRpbCBERVMtSUktMy4KKzopCisKK2Rpc3RyaWJ1dGVkLm5ldCBpcyBjdXJyZW50bHkgdGVzdGluZyBERVMga2V5cyBhdCBhcHJveGltYXRlbHkgdGhlIHNhbWUKK3JhdGUgYXMgRUZGICh3aGlsZSBzdGlsbCB3b3JraW5nIG9uIDExR2tleXMvc2VjIG9mIFJDNSksIHVzaW5nIG9ubHkKK3NwYXJlIGN5Y2xlcyBvbiBleGlzdGluZyBtYWNoaW5lcy4gVGhpcyBkZW1vbnN0cmF0ZXMgdGhhdCA1Ni1iaXQKK2VuY3J5cHRpb24gaXMgdnVsbmVyYWJsZSB0byBhIHZhcmlldHkgb2YgYXR0YWNrcywgYnkgb3JnYW5pemF0aW9ucworbGFyZ2UgYW5kIHNtYWxsLgorCitEZXNwaXRlIHRoaXMgcmVwb3J0IG9mIERFUy1JSS0yIGJlaW5nIGNyYWNrZWQsIHdlIHdpbGwgY29udGludWUgdG8KK2Rpc3RyaWJ1dGUga2V5cyB1bnRpbCB3ZSBnZXQgY29uZmlybWF0aW9uIGZyb20gUlNBLiBZb3VyIGNsaWVudHMKK3Nob3VsZCBzd2l0Y2ggYmFjayBhdXRvbWF0aWNhbGx5IG9uY2Ugd2UgZmxpcCB0aGUgc3dpdGNoLgorCitXZSBob3BlIHRvIHNlZSB0aGUgRUZGIGFnYWluIGZvciBERVMtSUktMyBhdCB3aGljaCBwb2ludCB3ZSBleHBlY3QKK291ciBnZW5lcmFsIHB1cnBvc2UgYXJjaGl0ZWN0dXJlIHRvIGJlIGF0IGxlYXN0IDIuNiB0aW1lcyBmYXN0ZXIKK3RoYW4gaXQgaXMgbm93LiBJbiB0aGUgbWVhbnRpbWUgZGlzdHJpYnV0ZWQubmV0IHdpbGwgcHVyc3VlIG90aGVyCitkaXN0cmlidXRlZCBjb21wdXRpbmcgcHJvamVjdHMgbGlrZSBSQzUtNjQuCisKKyAgQWRhbSBMLiBCZWJlcmcKKyAgYmViZXJnQGRpc3RyaWJ1dGVkLm5ldAorICBkaXN0cmlidXRlZC5uZXQgZm91bmRlcgorICBodHRwOi8vd3d3LmlpdC5lZHUvfmJlYmVyZy8KKworLS0tCitTY2hhZGUsIGRpZXNtYWwgd2FyZW4gZXMgbGVpZGVyIG5pY2h0IGRpZSB3YWhuc2lubmlnZW4gS3VlaGUsIGRpZSBkYXMgUmVubmVuCitnZW1hY2h0IGhhYmVuIDooIEFiZXIgZGFzIG5hZWNoc3RlIE1hbCBzaWNoZXIgOykKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBEZXIgRGVzMiBpc3QgZ2VrbmFja3QhIChBbmFraW4sIDE3LiBKdWwgMTk5OCwgMTM6NTc6MjQpOgorfiMhIHJuPUdyaW1tYm9ybiBydD05MDA2NzU0NDQgcmc9cmM1Cit+IyEgdGlkPTkwMDY3NTQ0NAorCitTaWVoZSBhdWNoOiBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9mci0xNy4wNy45OC0wMDAvCisKK0FuYWtpbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1BsYWV0emUgKENhdHdlYXpsZSwgMTEuIEF1ZyAxOTk4LCAxMjo0Nzo0NSk6CitJY2ggaGFiIG1laW5lbSBQbGF0eiAxIGltIFRlYW0gbXVkLmRlIHZlcmxvcmVuIDooCitEYXMgVGVhbSBtdWQuZGUgaGF0IGVpbmVuIFBsYXR6IGd1dGdlbWFjaHQgdW5kIGlzdCBhdWYgMjUgZ2VsYW5kZXQgOikKKworTm9jaCBjYS4gNzdrIEJsb2Vja2UgYXVmaG9sZW4gYmlzIFBsYXR6IDI0IDopCisKK1lUQworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworV2FzIGlzdCBsb3M/IChBbGluZSwgMTIuIEphbiAxOTk5LCAxNDowMzoxOSk6CitIaSwKKworaGF0IGplbWFuZCBoaWVyIHZpZWxsZWljaHQgbmUgQWhudW5nIHdhcyBiZWkgZGlzdHJpYnV0ZWQubmV0Citsb3MgaXN0PworRWluaWdlIGRlciBiZWkgbWlyIGxhdWZlbmRlbiBDbGllbnRzIG1lbGRlbiwKK2Rhc3MgZWluIERFUy1Db250ZXN0IGdlc3RhcnRldCBpc3QgdW5kIGZhbmdlbiBhbiBERVMgenUKK3JlY2huZW4uIERpZSBXV1ctU2VpdGVuIGRpZSBpY2ggYmVrb21tZSBzaW5kIGFsbGVyZGluZ3Mgc2VpdAorZGVtIDUuMS4gbmljaHQgbWVociBha3R1YWxpc2llcnQgd29yZGVuLiBXYXMgaGF0IGRhcyB6dQorYmVkZXV0ZW4/CisKK0dydXNzCisKK0FsaW5lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogV2FzIGlzdCBsb3M/IChDYXR3ZWF6bGUsIDEyLiBKYW4gMTk5OSwgMTU6NTQ6MTIpOgorfiMhIHJuPUFsaW5lIHJ0PTkxNjE0OTc5OSByZz1yYzUKK34jISB0aWQ9OTE2MTQ5Nzk5CitBbSAxOC4gKG9kZXIgc28pIHN0YXJ0ZXQgREVTLUlJSSB1bmQgZGllIGhhYmVuIGp1ZW5nc3QgZWluZW4gVGVzdGR1cmNobGF1ZgorZ2VtYWNodC4KK0R1IHNvbGx0ZXN0IERpciBuZXVlIENsaWVudHMgZGFmdWVyIGhvbGVuLgorCitZb3VycyB0cnVseSwKKyAgICAgQ2F0d2VhemxlCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUmU6IFdhcyBpc3QgbG9zPyAoUmluZ29yLCAxMi4gSmFuIDE5OTksIDE1OjU2OjAxKToKK34jISBybj1DYXR3ZWF6bGUgcnQ9OTE2MTU2NDUyIHJnPXJjNQorfiMhIHRpZD05MTYxNDk3OTkKK1dhcnVtIG1hY2hlbiBkaWUgbmV1ZXJkaW5ncyBUZXN0ZHVyY2hsYWV1ZmU/IERhcyBrb3N0ZXQgZG9jaCBudXIgUmVjaGVuemVpdAorYmVpbSAiZWlnZW50bGljaGVuIiBDb250ZXN0LgorCitadW1hbCBhdWYgZGVyIFdlYnNlaXRlIG51ciBzdGFuZCwgZGFzcyBkZXIgREVTLUlJSSBhbSAxOC4gYW5mYWVuZ3QuIEFiZXIgdm9uCituZW0gVGVzdCBzdGFuZCBkYSBuaXguIFdhciBldHdhcyB2ZXJ3aXJyZW5kIGRhcyBHYW56ZS4KKworUmluZ29yCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiBXYXMgaXN0IGxvcz8gKFJvY2h1cywgMTIuIEphbiAxOTk5LCAxNTo1OTowNik6Cit+IyEgcm49UmluZ29yIHJ0PTkxNjE1NjU2MSByZz1yYzUKK34jISB0aWQ9OTE2MTQ5Nzk5CitEYW1pdCBhdWNoIGFsbGVzIGF1ZiBBbmhpZWIgZnVua3Rpb25pZXJ0LgorRnVlciBERVMtSUlJIGlzdCBkYXMgWmllbCBuYWVtbGljaCwgdW50ZXIgMjQgU3R1bmRlbiB6dSBrb21tZW4sCitkLmguIG1hbiBzb2xsdGUgcHVlbmt0bGljaCB6dSBCZWdpbm4gZGVzIENvbnRlc3RzIGFuZmFuZ2VuIGtvZW5uZW4KK3VuZCBuaWNodCBlcnN0IG5vY2ggbmUgaGFsYmUgU3R1bmRlIGRlYnVnZ2VuIG11ZXNzZW4uCisKKworIFJvY2h1cworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworU3RhdGlzdGlrIERFUy1JSUkgKE1vcmdvdGgsIDE5LiBKYW4gMTk5OSwgMDA6MzA6MzMpOgoraHR0cDovL3d3dy5kaXN0cmlidXRlZC5uZXQvZGVzL3JzYV9ib2R5Lmh0bWwKKworRWluIFJlYWwtVGltZSBVcGRhdGUgOy0pKQorCitNKgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUkM1IHVudGVyIFdpbmRvb2YgTlQgKFppbm8sIDE4LiBKdW4gMTk5OSwgMTA6MTg6MDgpOgorTW9pbiwKKworbmFjaGRlbSB1bnNlciBSZWNoZW56ZW50cnVtIG5pY2h0IG1laHIgbW9lY2h0ZSwgZGFzcyBkaWUgUkM1LUNsaWVudGVuIHN0YWVuZGlnCitsYXVmZW4sIHN1Y2hlIGljaCBuYWNoIGVpbmVyIE1vZWdsaWNoa2VpdCwgZGllIENsaWVudGVuIGJlaW0gRWlubG9nZ2VuIGVpbmVzCitOdXR6ZXJzIHp1IHN0b3BwZW4gdW5kIGJlaW0gQXVzbG9nZ2VuIHdpZWRlciB6dSBzdGFydGVuLiBXZWlzcyBqZW1hbmQsIHdpZQorc293YXMgdW50ZXIgV2luZG9vZiBOVCBlaW5mYWNoIHp1IHJlYWxpc2llcmVuIGlzdC4gSWNoIHdhZXJlIGZ1ZXIgZ3V0ZQorVm9yc2NobGFlZ2Ugc2VociBkYW5rYmFyLgorCitNYWhhdG1hCisKK1AuUy4gV2VubiBpY2ggbWlyIGRpZSBTdGF0cyBzbyBhbnNjaGF1ZTogdW5zZXIgVGVhbSB3YXIgYXVjaCBzY2hvbm1hbCBiZXNzZXIsCit3YXMgaXN0IG51ciBsb3MgbWl0IGV1Y2g/CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogUkM1IHVudGVyIFdpbmRvb2YgTlQgKEJhbWJ1bGtvLCAxOC4gSnVuIDE5OTksIDEwOjI5OjEzKToKK34jISBybj1aaW5vIHJ0PTkyOTcwMTA4OCByZz1yYzUKK34jISB0aWQ9OTI5NzAxMDg4CitOYWphIHJjNSBoYXQgaGFsdCBLb21rdXJyZW56IHZvbiBTZXRpQEhvbWUgYmVrb21tZW4uLi4uLgorCitCYW1idWxrbworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBSQzUgdW50ZXIgV2luZG9vZiBOVCAoTWFoYXRtdSwgMTguIEp1biAxOTk5LCAxNToyMTozMyk6Cit+IyEgcm49QmFtYnVsa28gcnQ9OTI5NzAxNzUzIHJnPXJjNQorfiMhIHRpZD05Mjk3MDEwODgKKypnKiBLb3JyZWt0LiBJcmdlbmR3aWUgbXV0ZXQgU2V0aUBob21lIGFscyBldHdhcyBzaW5udm9sbGVyIGFuLiBKZXR6dAorYnJhdWNoZW4gZGllIG51ciBkYXMgS25vdyBob3cgdm9uIGRpc3RyaWJ1dGVkIHVuZCBzY2hvbiBoYWJlbiBzaWUgYXVjaAordmllbCBLYXBheml0YWV0LiBVZWJlcmhhdXB0IGtvZW5udGUgbWFuLCBuYWNoZGVtIHJjNSBkYXMgdm9yZ2VtYWNodCBoYXQsCitSZWNoZW5sZWlzdGVuIHNhbW1lbG4gdW5kIHZlcnNjaGVyYmVsbi4gSWNoIGRlbmsgbWFsIG51ciBhbiBkaWUgZGFtaXQKK3VlYmVyZmx1ZXNzaWdlbiwgc2F1dGV1cmVuIGhvY2hwYXJhbGxlbGVuIFJlY2huZXIuCisKK0dsb2luCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV4zOiBSQzUgdW50ZXIgV2luZG9vZiBOVCAoRW1haWwsIDE5LiBKdW4gMTk5OSwgMTA6Mzc6MzUpOgorfiMhIHJuPU1haGF0bXUgcnQ9OTI5NzE5MjkzIHJnPXJjNQorfiMhIHRpZD05Mjk3MDEwODgKK0htbSwgd2FzIGlzIGFuIGRlbSBHZXJ1ZWNodCwgZGFzIGJlaSBTZXRpIGplZGVyIGRhcyBzZWxiZSBEYXRlbnBha2V0CitkdXJjaHN1Y2h0LCBkYXNzIGRlcmVuIFJlY2huZXIgb2IgZGVyIGhvaGVuIEJldGVpbGlndW5nIHVlYmVybGFzdGV0IHNpbmQsIHVuZAorZGFzIG1hbiBkYWhlciBuaWUgd2FzIGZpbmRlbiBrb2VubmVuIHdpcmQ/CitXYW5uIHdhcmQgaWhyIGRhcyBsZXR6dGUgbWFsIGF1ZiBkZXIgSFAgdm9uIFNldGlASG9tZSwgdW5kIGhhYnQgbmljaCBudXIgZGllCitUb3BsaXN0ZW4gYW5nZWd1Z2d0PworCisKK0VtYWlsIGZ1ZXIgRGljaC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjQ6IFJDNSB1bnRlciBXaW5kb29mIE5UIChBc2hpeWEsIDE5LiBKdW4gMTk5OSwgMTY6NTg6MDYpOgorfiMhIHJuPUVtYWlsIHJ0PTkyOTc4ODY1NSByZz1yYzUKK34jISB0aWQ9OTI5NzAxMDg4CitBbiBkZW0gR2VydWVjaHQgaXN0IHdvaGwgZXR3YXMgbWVociBhbHMgbmljaHRzIGRyYW4sIHp1bWluZGVzdAorZ2Vpc3RlcnRlIGRhcyBhdWNoIHVlYmVyIGRpZSBHSU1QUy1NYWlsaW5nbGlzdGUuCisKK0FzaGl5YQorKHN1Y2h0IFByaW16YWhsZW4uLi4pCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitBZW5kZXJ1bmcgKEFuYWtpbiwgMTguIEphbiAyMDAwLCAxOTo1ODowMSk6CitIaSwKKworendlaSBrbGVpbmUgU2FjaGVuCithKSBkaWUgbXVkLmRlIHJjNSB3ZWJzZWl0ZSBpc3QgbnVuIHVudGVyIHd3dy5tdWQuZGUvcmM1IHp1ZXJyZWljaGVuCitiKSBhdWYgZGVyIG11ZC5kZSBob21lcGFnZSBpc3QgbnVuIGRlciBha3R1ZWxsZSBwbGF0eiBkZW4gd2lyCisgICBoYWJlbiBkYXJnZXN0ZWxsdAorCitBbmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZTogQWVuZGVydW5nIChUYXJpbmEsIDE4LiBKYW4gMjAwMCwgMjE6MzU6MzYpOgorfiMhIHJuPUFuYWtpbiBydD05NDgyMjE4ODEgcmc9cmM1Cit+IyEgdGlkPTk0ODIyMTg4MQord2VubiBtYW4gYXVmIGRlciB3d3cubXVnLmRlL3JjNS1zZWl0ZSBkZW4gbGluayBhdWYgZGllIGNsaWVudHMgYW5rbGlja3QsCitiZWtvbW10IG1hbiBlaW5lbiBmZWhsZXIuIFZpZWxsZWljaHQga29lbm50ZSBtYW4gZGFzIG5vY2ggYWVuZGVybi4KKworR3J1c3MsCitUYXJpbmEgKHd1ZXJkZSBhdWNoIGdlcm5lIG1pdG1hY2hlbikKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogQWVuZGVydW5nIChBbmFraW4sIDE5LiBKYW4gMjAwMCwgMTA6MDM6MDUpOgorfiMhIHJuPVRhcmluYSBydD05NDgyMjc3MzYgcmc9cmM1Cit+IyEgdGlkPTk0ODIyMTg4MQorCitHZWZpeGVkLgorCitBTmFraW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChHbG9pbnNvbiwgMjYuIFNlcCAyMDAyLCAxODo0Mjo1Nik6CitodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC9wcmVzc3Jvb20vbmV3cy0yMDAyMDkyNi5odG1sCisKK0RhbWl0IGR1ZXJmdGUgc2ljaCBkaWVzZSBSdWJyaWsgaGllciBlcnVlYnJpZ2VuLiBHaWJ0IGFiZXIgbm9jaCBhbmRlcmUKK1Byb2pla3RlIGRlciBBcnQgOikKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChBbHBoYSwgMjYuIFNlcCAyMDAyLCAxODo0NDoxMik6Cit+IyEgcm49R2xvaW5zb24gcnQ9MTAzMzA1ODU3NiByZz1yYzUKK34jISB0aWQ9MTAzMzA1ODU3NgorekIgd3d3LlVELmNvbSwgZGllIHJlY2huZW4gYXVjaCBhbiBzYWNoZW4gZGllIHdpcmtsaWNoIG51ZXR6bGljaCBzaW5kLCB6QgorS3JlYnNmb3JzY2h1bmcuCitBbHBoYS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZTogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDIsIDIwOjAxOjQ0KToKK34jISBybj1BbHBoYSBydD0xMDMzMDU4NjUyIHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CisiS3JlYnNmb3JzY2h1bmciIGlzdCBuaWNodCB3aXJrbGljaCBwZXIgc2UgbnVldHpsaWNoLiBEYXMgaXN0IGxlZGlnbGljaCBlaW4KK1RyaWdnZXIgZnVlciBERkctR2VsZGVyLgorCitHZEEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjM6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFphcm5peWEsIDI3LiBTZXAgMjAwMiwgMTE6MDQ6MzUpOgorfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMzMDYzMzA0IHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CitBbHNvIGJlaSBkaXN0cmlidXRlZC5uZXQgbGF1ZmVuIGRpZSBPR1IgUHJvamVrdGUgd29obCBiYWxkIHdlaXRlciB1bmQgZXMgaXN0CitkYW1pdCB6dSByZWNobmVuLCBkYXNzIHNlaHIgc2NobmVsbCBhdWYgcmM1LTcyIHVtZ2VzdGVsbHQgd2lyZC4gSWNoIHd1ZXJkIGRhCithbHNvIG1hbCBhYndhcnRlbi4KKworTWFyYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNDogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoRWxiZXJldCwgMjcuIFNlcCAyMDAyLCAxMTozNTowMSk6Cit+IyEgcm49WmFybml5YSBydD0xMDMzMTE3NDc1IHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2Cit3YXMgaXN0IGVpZ2VudGxpY2ggZ2VuYXUgZGFzIHppZWwgYmVpIGRlbSByYzUtNjQgZ2V3ZXNlbj8gRGFzIGtuYWNrZW4gZGVzCitTY2hsdWVzc2VscyBrYW5uIGVzIGRvY2ggd2FobCBrYXVtIGdld2VzZW4gc2Vpbiwgb2Rlcj8gV2FzIHdvbGx0ZSBtYW4gbWl0CitkaWVzZW0gUHJvamVrdCB6ZWlnZW4/CisKK0VsYmkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjU6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEtyZWxsamEsIDI3LiBTZXAgMjAwMiwgMTE6MzY6MjApOgorfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMzExOTMwMSByZz1yYzUKK34jISB0aWQ9MTAzMzA1ODU3NgorSWNoIGRlbmtlIGxlaWRlciBzY2hvbi4gQXVjaCB3ZW5uIGVpbmlnZSBMZXV0ZSAoZWlzY2hsaWVzc2xpY2ggbWVpbmVyCitNYXNzaWdrZWl0KSBkYW1hbHMgc2Nob24gZ2VzcG90dGV0IGhhYmVuLCBkYXNzIGRhcyB3b2hsIGVoZXIgZGVyIE5hY2h3ZWlzCit3aXJkLCBkYXMgZWluIDY0IEJpdCBLZXkgZ2FyIG5pY2h0IHNvbyBzY2hsZWNodCBpc3QuCisKK1RzY2h1ZXNzCisKK0tyZWxsamEKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjU6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFBhdHJ5biwgMjcuIFNlcCAyMDAyLCAxMTozNzo0NCk6Cit+IyEgcm49RWxiZXJldCBydD0xMDMzMTE5MzAxIHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CitrbGFyIHdhciBkYXMga25hY2tlbiBkYXMgemllbCwgZGVyIGJld2VpcywgZGFzcyBkaWVzZSB2ZXJzY2hsdWVzc2VsdW5nCit1bnp1cmVpY2hlbmQgaXN0IGJlaSBkZXIgaGV1dGlnZW4gcmVjaGVubGVpc3R1bmcsIHdlbm4gZGFzIHBlciBicnV0ZSBmb3JjZQoraW4gaGlucmVpY2hlbmQga3VyemVyIHplaXQgZ2VsaW5ndC4KK2ljaCBiaW4gZGVyIG1laW51bmcsIGRlbiBiZXdlaXMgaGF0IG1hbiBuaWNodCBnZXNjaGFmZnQuCitlaW5lIGdld2FsdGlnZSByZWNoZW5wb3dlciBoYXQgemllbWxpY2ggbGFuZ2UgYmVub2V0aWd0LgorZnVlciBlbWFpbHMgb2RlciBzbyByZWljaHQgZGFzIHRvdGFsLCBhdWNoIGZ1ZXIga3JlZGl0a2FydGVuIG9kZXIgc28sCitkaWUgZ2VsdGVuIG1laXN0IG5pY2ggbWFsIHNvbGFuZ2UuCit3aWNodGlnZXJlIGRhdGVuIHdlcmRlbiBtZWlzdCBlaCBhbmRlcnMgZ2VzY2h1ZXR6dC4KKworLS0gCitwYXRyeW4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjU6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEtyZWxsamEsIDI3LiBTZXAgMjAwMiwgMTE6Mzc6NTQpOgorfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMzExOTMwMSByZz1yYzUKK34jISB0aWQ9MTAzMzA1ODU3NgorRWluIFNlbGJzcmVwbHkuIHJjNS01NiwgaGF0dGUgZGFtYWxzLCBnbGF1YmUgaWNoIHp1bWluZGVzdCB6dSBlcmlubmVybiwgbm9jaAorY2EuIDEvMiBKYWhyIGdlZGF1ZXJ0LiBXZW5uIG1hbiBhbHNvIG1hbCB2b24gMjU2IGZhY2hlbSBBdWZ3YW5kIHVuZCBlaW5lcgorUmVjaGVubGVpc3R1bmcgdmVyZG9wcGx1bmcgYWxsZSAxOCBNb25hdGUgYXVzZ2VodCwgbXVzc3RlIGVzIGVpbmZhY2ggZGF1ZXJuLgorCitLcmVsbGphCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV42OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChFbGJlcmV0LCAyNy4gU2VwIDIwMDIsIDExOjQ1OjEyKToKK34jISBybj1LcmVsbGphIHJ0PTEwMzMxMTk0NzQgcmc9cmM1Cit+IyEgdGlkPTEwMzMwNTg1NzYKK2ViZW4sIGljaCBzZWggbmljaHQsIGRhc3MgMTcwMCBUYWdlIFJlY2hlbnplaXQgaW4gaXJnZW5kZWluZXIgd2Vpc2UgemVpZ2VuLAorZGFzcyBlaW4gU2NobHVlc3NlbCBuaWNodCBzaWNoZXIgZ2VudWcgc2VpLCB1bSBkYW1pdCBEYXRlbiB6dSB2ZXJzY2hsdWVzc2VsbgorZGllIGtlaW5lIHNvbyBsYW5nZSBIYWx0YmFya2VpdCBoYWJlbi4gRGFoZXIgd2FyIGljaCBhdWNoIG5pZSBiZXJlaXQsIG1laW5lbgorQ29tcHV0ZXIgZGFmdWVyIHJlY2huZW4genUgbGFzc2VuLiBJY2ggd3Vlc3N0ZSBqYSBlaW4gcGFhciBtYXRoZW1hdGlzY2hlCitQcm9qZWt0ZSwgd28gZGllc2UgUmVjaGVucG93ZXIgZHVyY2hhdXMgYnJhdWNoYmFyIHdhZXJlLCBhYmVkciB3YWhyc2NoZWlubGljaAord3VlcmRlIG1hbiBkYWZ1ZXIgbmljaHQgc292aW9lbGUgTGV1dGUgenVzYW1tZW50cm9tbWVsbiBrb2VubmVuIDopCisKK0VsYmkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjc6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEh1bW5pLCAyNy4gU2VwIDIwMDIsIDExOjQ1OjM4KToKK34jISBybj1FbGJlcmV0IHJ0PTEwMzMxMTk5MTIgcmc9cmM1Cit+IyEgdGlkPTEwMzMwNTg1NzYKK0dlbmF1LCBDb253YXktUG9seW5vbWUgYXVzcmVjaG5lbiB6dW0gQmVpc3BpZWwhCisKK0h1bW5pCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitSZV44OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChaYXJuaXlhLCAyNy4gU2VwIDIwMDIsIDEyOjMyOjQzKToKK34jISBybj1IdW1uaSBydD0xMDMzMTE5OTM4IHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CitJY2ggYmluIHNpY2hlciwgYXVjaCBuYWNoIEdlc3ByYWVjaGVuIG1pdCBFeHBlcnRlbiwgZGFzcyBSQzUtNjQgc2Nob24gdmllbAorZnJ1ZWhlciBoYWV0dGUgZ2VrbmFja3Qgd2VyZGVuIGtvZW5uZW4sIHdlbm4gbWFuIG5pY2h0IGJydXRlIGZvcmNlIGdlbm9tbWVuCitoYWV0dGUsIHNvbmRlcm4gZGFiZWkgZWluIHdlbmlnIGxvZ2lzY2ggbmFjaGdlZGFjaHQuLi4gZGFzIHdhciBhYmVyIG5pY2h0IGRhcworWmllbCB2b24gZGVtIFByb2pla3QuLi4gSW0gRW5kZWZmZWt0IGhhdCBzaWNoIGdlemVpZ3QsIERBU1MgZGVyIENvZGUKK2VpbmlnZXJtYXNzZW4gc2ljaGVyIGlzdCBnZWdlbnVlYmVyIGVpbmVtIGJydXRlIEZvcmNlIEFuZ3JpZmYsIGRhcyBpc3QgZG9jaAorYXVjaCB3YXMuIEFuZGVyZSBDb2RlYW5iaWV0ZXIgd2llIERFUyBoYWJlbiB6QiBudXIgZ3Jvc3MgcnVtZ2V0b2VudCwgZGFzcyBpaHJlCitWZXJzY2hsdWVzc2VsdW5nIHNvb29vIHRvbGwgaXN0IHVuZCBkZXIgQ29kZSBpc3QgZGFubiBpbm5lcmhhbGIgdm9uIDMgVGFnZW4KKyghISEpIG1pdCBicnV0ZSBmb3JjZSBnZWtuYWNrdCB3b3JkZW4uLi4gc2VpdCBkZW0gd2lsbCBERVMgbWl0IHNlaW5lbiBuZXVlbgorQ29kZXMgYmVpIGRlciBTYWNoZSBuaWNodCBtZWhyIG1pdHNwaWVsZW4sIHdhcyBtaWNoIGVpbiB3ZW5pZyBzdG9lcnQsIGRlbm4gZXIKK3NjaGVpbnQgc2NobGVjaHQgenUgc2VpbiB1bmQgZWluIGdyb3NzdGVpbCBkZXIgS3JlZGl0a2FydGVuIHNpbmQgKEFGQUlLKSBERVMKK2NvZGllcnQuLi4gCisKK01hcmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjk6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEdsb2luc29uLCAyNy4gU2VwIDIwMDIsIDEzOjIwOjQ5KToKK34jISBybj1aYXJuaXlhIHJ0PTEwMzMxMjI3NjMgcmc9cmM1Cit+IyEgdGlkPTEwMzMwNTg1NzYKK1dlciBuYWNoIGVpbmVtIGFuZGVyZW4gUHJvamVrdCBmdWVyIHNpY2ggc3VjaHQsIGRlbSBpc3QgaGllcm1pdAoraHR0cDovL3d3dy5hc3BlbmxlYWYuY29tL2Rpc3RyaWJ1dGVkL2Rpc3RyaWItcHJvamVjdHMuaHRtbAorZW1wZm9obGVuLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeMzogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoUm9jaHVzLCAyOC4gU2VwIDIwMDIsIDE5OjEzOjA0KToKK34jISBybj1HcmltbWJvcm4gcnQ9MTAzMzA2MzMwNCByZz1yYzUKK34jISB0aWQ9MTAzMzA1ODU3NgorSmVkZW5mYWxscyBXRVNFTlRMSUNIIG51ZXR6bGljaGVyLCBhbHMgcmM1LVNjaGx1ZXNzZWwga25hY2tlbgorb2RlciBBdXNzZXJpcmRpc2NoZSBqYWdlbi4KKworICBSb2NodXMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlXjY6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFBpbGdyaW0sIDExLiBPa3QgMjAwMiwgMTQ6MzU6NTkpOgorfiMhIHJuPVBhdHJ5biBydD0xMDMzMTE5NDY0IHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CitXZW5uIG1hbiBhYmVyIGJlZGVua3QsIGRhc3Mgc2ljaCBkaWUgUmVjaGVucG93ZXIgc28gemllaG1saWNoCithbGxlIHBhYXIgSmFocmUgKDwgMykgVmVyZG9wcGVsdCwga2FubiBtYW4gYWJzZWhlbiwgd2llIGxhbmcKK3NvbGNoZSBEb2t1bWVudGUgZ2VzY2h1ZXR6dCBibGVpYmVuIC4uLiAKKworUGlsZ3JpbQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVeNzogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoV29vZHksIDE0LiBPa3QgMjAwMiwgMDA6NDY6MjgpOgorfiMhIHJuPVBpbGdyaW0gcnQ9MTAzNDMzOTc1OSByZz1yYzUKK34jISB0aWQ9MTAzMzA1ODU3NgorQWxsZSAxOCBNb25hdGUuIEV0d2EuIFNlaXQgZGVuIDcwZXJuLiBNb29yZSdzIExhdy4uLiAoYXVjaCB3ZW5ucyB1cnNwcmdsLgorZGllIEFuemFobCBkZXIgVHJhbnNpc3RvcmVuIGJlc2NocmllYikKKworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmU6IFJlOiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChBdG96LCAxOC4gT2t0IDIwMDIsIDIyOjEyOjA4KToKK34jISBybj1BbHBoYSBydD0xMDMzMDU4NjUyIHJnPXJjNQorfiMhIHRpZD0xMDMzMDU4NTc2CitBbHNvIFVEIGhhdCBtaXIgemllbWxpY2ggQ1BVLVplaXQgZ2VrbGF1dCwgb2J3b2hsIGVyIGVpZ2VudGxpY2ggbGF1dAorQmVzY2hyZWlidW5nIG51ciBkZW4gTGVlcmxhdWZwcm96ZXNzIGVyc2V0emVuIHNvbGx0ZS4gRHVtbWVyd2Vpc2UgaGF0IGVzIGViZW4KK2RhcyBuaWNodCBnZXRhbi4gV2FyIGdhbnogdG9sbCwgd2VpbCBpY2ggZGFtaXQgc3RhdHQgMiBTdHVuZGVuIHBsb2V0emxpY2ggbWVocgorYWxzIGRhcyBEb3BwZWx0ZSBnZWJyYXVjaHQgaGFiZS4gQmVzb25kZXJzIHdlaWwgd2lyIGVyc3QgZ2FyIG5pY2h0IGdlbWVya3QKK2hhYmVuLCB3ZWlsIHdpciBub2NoIGFuIGFuZGVyZW4gUmVjaG5lcm4genUgR2FuZ2Ugd2FyZW4uLi4KK0JlaSBtaXIgaXN0IGRlciBlcnN0IG1hbCByYXVzZ2VmbG9nZW4uCisKK0dydXNzLAorQXRvegorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworUmVjaGVuemVpdCAuLi4gKEdsb2luLCAyNC4gU2VwIDIwMDMsIDEyOjM5OjAwKToKKy4uLiBrYW5uIG1lbnNjaCBhYiBqZXR6dCBhdWNoIGhpZXIgdmVyYmFsbGVybjoKKworaHR0cDovL3d3dy5jbGltYXRlcHJlZGljdGlvbi5uZXQvaW5kZXgucGhwCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZWNoZW56ZWl0IC4uLiAoWm9vaywgMjQuIFNlcCAyMDAzLCAxMjo0NjoxNCk6Cit+IyEgcm49R2xvaW4gcnQ9MTA2NDM5OTk0MCByZz1yYzUKK34jISB0aWQ9MTA2NDM5OTk0MAorQWxzbyBzY2hvbiBkaWUgVVJMIGtsaW5ndCBpcmdlbmR3aWUgd2lya2xpY2ggbmFjaCAidmVyYmFsbGVybiIgOykKKworWm9vay4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK1JlOiBSZWNoZW56ZWl0IC4uLiAoVmFyZGlvbiwgMjQuIFNlcCAyMDAzLCAxMjo0Nzo0Mik6Cit+IyEgcm49R2xvaW4gcnQ9MTA2NDM5OTk0MCByZz1yYzUKK34jISB0aWQ9MTA2NDM5OTk0MAorQWx0ZXJuYXRpdiBrYW5uIG1hbiBhdWNoIGVpbmZhY2ggZGVuIE1QRUc0LUVuY29kZXIgd2VpdGVyIHNlaW5lIEFyYmVpdCB0dW4KK2xhc3Nlbi4KKworVmFyZGlvbgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKwo=