ZGlmZiAtLWdpdCBhL2RvYy9odHRwLXBhcnNpbmcudHh0IGIvZG9jL2h0dHAtcGFyc2luZy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFjM2ZjNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9odHRwLXBhcnNpbmcudHh0CkBAIC0wLDAgKzEsMjE0IEBACistLS0gUmVsZXZhbnQgcG9ydGlvbnMgb2YgUkZDMjYxNiAtLS0KKworT0NURVQgICAgICAgICAgICAgICA9IDxhbnkgOC1iaXQgc2VxdWVuY2Ugb2YgZGF0YT4KK0NIQVIgICAgICAgICAgICAgICAgPSA8YW55IFVTLUFTQ0lJIGNoYXJhY3RlciAob2N0ZXRzIDAgLSAxMjcpPgorVVBBTFBIQSAgICAgICAgICAgICA9IDxhbnkgVVMtQVNDSUkgdXBwZXJjYXNlIGxldHRlciAiQSIuLiJaIj4KK0xPQUxQSEEgICAgICAgICAgICAgPSA8YW55IFVTLUFTQ0lJIGxvd2VyY2FzZSBsZXR0ZXIgImEiLi4ieiI+CitBTFBIQSAgICAgICAgICAgICAgID0gVVBBTFBIQSB8IExPQUxQSEEKK0RJR0lUICAgICAgICAgICAgICAgPSA8YW55IFVTLUFTQ0lJIGRpZ2l0ICIwIi4uIjkiPgorQ1RMICAgICAgICAgICAgICAgICA9IDxhbnkgVVMtQVNDSUkgY29udHJvbCBjaGFyYWN0ZXIgKG9jdGV0cyAwIC0gMzEpIGFuZCBERUwgKDEyNyk+CitDUiAgICAgICAgICAgICAgICAgID0gPFVTLUFTQ0lJIENSLCBjYXJyaWFnZSByZXR1cm4gKDEzKT4KK0xGICAgICAgICAgICAgICAgICAgPSA8VVMtQVNDSUkgTEYsIGxpbmVmZWVkICgxMCk+CitTUCAgICAgICAgICAgICAgICAgID0gPFVTLUFTQ0lJIFNQLCBzcGFjZSAoMzIpPgorSFQgICAgICAgICAgICAgICAgICA9IDxVUy1BU0NJSSBIVCwgaG9yaXpvbnRhbC10YWIgKDkpPgorPCI+ICAgICAgICAgICAgICAgICA9IDxVUy1BU0NJSSBkb3VibGUtcXVvdGUgbWFyayAoMzQpPgorQ1JMRiAgICAgICAgICAgICAgICA9IENSIExGCitMV1MgICAgICAgICAgICAgICAgID0gW0NSTEZdIDEqKCBTUCB8IEhUICkKK1RFWFQgICAgICAgICAgICAgICAgPSA8YW55IE9DVEVUIGV4Y2VwdCBDVExzLCBidXQgaW5jbHVkaW5nIExXUz4KK0hFWCAgICAgICAgICAgICAgICAgPSAiQSIgfCAiQiIgfCAiQyIgfCAiRCIgfCAiRSIgfCAiRiIKKyAgICAgICAgICAgICAgICAgICAgICB8ICJhIiB8ICJiIiB8ICJjIiB8ICJkIiB8ICJlIiB8ICJmIiB8IERJR0lUCitzZXBhcmF0b3JzICAgICAgICAgID0gIigiIHwgIikiIHwgIjwiIHwgIj4iIHwgIkAiCisgICAgICAgICAgICAgICAgICAgIHwgIiwiIHwgIjsiIHwgIjoiIHwgIlwiIHwgPCI+CisgICAgICAgICAgICAgICAgICAgIHwgIi8iIHwgIlsiIHwgIl0iIHwgIj8iIHwgIj0iCisgICAgICAgICAgICAgICAgICAgIHwgInsiIHwgIn0iIHwgU1AgfCBIVAordG9rZW4gICAgICAgICAgICAgICA9IDEqPGFueSBDSEFSIGV4Y2VwdCBDVExzIG9yIHNlcGFyYXRvcnM+CisKK3F1b3RlZC1wYWlyICAgICAgICAgPSAiXCIgQ0hBUgorY3RleHQgICAgICAgICAgICAgICA9IDxhbnkgVEVYVCBleGNsdWRpbmcgIigiIGFuZCAiKSI+CitxZHRleHQgICAgICAgICAgICAgID0gPGFueSBURVhUIGV4Y2VwdCA8Ij4+CitxdW90ZWQtc3RyaW5nICAgICAgID0gKCA8Ij4gKihxZHRleHQgfCBxdW90ZWQtcGFpciApIDwiPiApCitjb21tZW50ICAgICAgICAgICAgID0gIigiICooIGN0ZXh0IHwgcXVvdGVkLXBhaXIgfCBjb21tZW50ICkgIikiCisKKworCisKKworNCBIVFRQIE1lc3NhZ2UKKzQuMSBNZXNzYWdlIFR5cGVzCisKK0hUVFAgbWVzc2FnZXMgY29uc2lzdCBvZiByZXF1ZXN0cyBmcm9tIGNsaWVudCB0byBzZXJ2ZXIgYW5kIHJlc3BvbnNlcyBmcm9tCitzZXJ2ZXIgdG8gY2xpZW50LiBSZXF1ZXN0IChzZWN0aW9uIDUpIGFuZCBSZXNwb25zZSAoc2VjdGlvbiA2KSBtZXNzYWdlcyB1c2UgdGhlCitnZW5lcmljIG1lc3NhZ2UgZm9ybWF0IG9mIFJGQyA4MjIgWzldIGZvciB0cmFuc2ZlcnJpbmcgZW50aXRpZXMgKHRoZSBwYXlsb2FkIG9mCit0aGUgbWVzc2FnZSkuIEJvdGggdHlwZXMgb2YgbWVzc2FnZSBjb25zaXN0IG9mIDoKKworICAtIGEgc3RhcnQtbGluZQorICAtIHplcm8gb3IgbW9yZSBoZWFkZXIgZmllbGRzIChhbHNvIGtub3duIGFzICJoZWFkZXJzIikKKyAgLSBhbiBlbXB0eSBsaW5lIChpLmUuLCBhIGxpbmUgd2l0aCBub3RoaW5nIHByZWNlZGluZyB0aGUgQ1JMRikgaW5kaWNhdGluZyB0aGUKKyAgICBlbmQgb2YgdGhlIGhlYWRlciBmaWVsZHMKKyAgLSBhbmQgcG9zc2libHkgYSBtZXNzYWdlLWJvZHkuCisKKworSFRUUC1tZXNzYWdlICAgICAgICA9IFJlcXVlc3QgfCBSZXNwb25zZQorCitzdGFydC1saW5lICAgICAgICAgID0gUmVxdWVzdC1MaW5lIHwgU3RhdHVzLUxpbmUKK2dlbmVyaWMtbWVzc2FnZSAgICAgPSBzdGFydC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgKihtZXNzYWdlLWhlYWRlciBDUkxGKQorICAgICAgICAgICAgICAgICAgICAgIENSTEYKKyAgICAgICAgICAgICAgICAgICAgICBbIG1lc3NhZ2UtYm9keSBdCisKK0luIHRoZSBpbnRlcmVzdCBvZiByb2J1c3RuZXNzLCBzZXJ2ZXJzIFNIT1VMRCBpZ25vcmUgYW55IGVtcHR5IGxpbmUocykgcmVjZWl2ZWQKK3doZXJlIGEgUmVxdWVzdC1MaW5lIGlzIGV4cGVjdGVkLiBJbiBvdGhlciB3b3JkcywgaWYgdGhlIHNlcnZlciBpcyByZWFkaW5nIHRoZQorcHJvdG9jb2wgc3RyZWFtIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBtZXNzYWdlIGFuZCByZWNlaXZlcyBhIENSTEYgZmlyc3QsIGl0CitzaG91bGQgaWdub3JlIHRoZSBDUkxGLgorCisKKzQuMiBNZXNzYWdlIGhlYWRlcnMKKworLSBFYWNoIGhlYWRlciBmaWVsZCBjb25zaXN0cyBvZiBhIG5hbWUgZm9sbG93ZWQgYnkgYSBjb2xvbiAoIjoiKSBhbmQgdGhlIGZpZWxkCisgIHZhbHVlLgorLSBGaWVsZCBuYW1lcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZS4KKy0gVGhlIGZpZWxkIHZhbHVlIE1BWSBiZSBwcmVjZWRlZCBieSBhbnkgYW1vdW50IG9mIExXUywgdGhvdWdoIGEgc2luZ2xlIFNQIGlzCisgIHByZWZlcnJlZC4KKy0gSGVhZGVyIGZpZWxkcyBjYW4gYmUgZXh0ZW5kZWQgb3ZlciBtdWx0aXBsZSBsaW5lcyBieSBwcmVjZWRpbmcgZWFjaCBleHRyYQorICBsaW5lIHdpdGggYXQgbGVhc3Qgb25lIFNQIG9yIEhULgorCisKK21lc3NhZ2UtaGVhZGVyICAgICAgPSBmaWVsZC1uYW1lICI6IiBbIGZpZWxkLXZhbHVlIF0KK2ZpZWxkLW5hbWUgICAgICAgICAgPSB0b2tlbgorZmllbGQtdmFsdWUgICAgICAgICA9ICooIGZpZWxkLWNvbnRlbnQgfCBMV1MgKQorZmllbGQtY29udGVudCAgICAgICA9IDx0aGUgT0NURVRzIG1ha2luZyB1cCB0aGUgZmllbGQtdmFsdWUgYW5kIGNvbnNpc3Rpbmcgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyICpURVhUIG9yIGNvbWJpbmF0aW9ucyBvZiB0b2tlbiwgc2VwYXJhdG9ycywgYW5kCisgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlZC1zdHJpbmc+CisKKworVGhlIGZpZWxkLWNvbnRlbnQgZG9lcyBub3QgaW5jbHVkZSBhbnkgbGVhZGluZyBvciB0cmFpbGluZyBMV1Mgb2NjdXJyaW5nIGJlZm9yZQordGhlIGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBvZiB0aGUgZmllbGQtdmFsdWUgb3IgYWZ0ZXIgdGhlIGxhc3QKK25vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBvZiB0aGUgZmllbGQtdmFsdWUuIFN1Y2ggbGVhZGluZyBvciB0cmFpbGluZyBMV1MgTUFZCitiZSByZW1vdmVkIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHNlbWFudGljcyBvZiB0aGUgZmllbGQgdmFsdWUuIEFueSBMV1MgdGhhdAorb2NjdXJzIGJldHdlZW4gZmllbGQtY29udGVudCBNQVkgYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBTUCBiZWZvcmUKK2ludGVycHJldGluZyB0aGUgZmllbGQgdmFsdWUgb3IgZm9yd2FyZGluZyB0aGUgbWVzc2FnZSBkb3duc3RyZWFtLgorCisKKz0+IGZvcm1hdCBkZXMgaGVhZGVycyA9IDEqKENIQVIgJiAhY3RsICYgIXNlcCkgIjoiICooT0NURVQgJiAoIWN0bCB8IExXUykpCis9PiBsZXMgcmVnZXggZGUgbWF0Y2hpbmcgZGUgaGVhZGVycyBzJ2FwcGxpcXVlbnQgc3VyIGZpZWxkLWNvbnRlbnQsIGV0IHBldXZlbnQKKyAgIHV0aWxpc2VyIGZpZWxkLXZhbHVlIGNvbW1lIGVzcGFjZSBkZSB0cmF2YWlsIChtYWlzIGRlIHBy6WbpcmVuY2UgYXBy6HMgbGUKKyAgIHByZW1pZXIgU1ApLgorCisoMTkuMykgVGhlIGxpbmUgdGVybWluYXRvciBmb3IgbWVzc2FnZS1oZWFkZXIgZmllbGRzIGlzIHRoZSBzZXF1ZW5jZSBDUkxGLgorSG93ZXZlciwgd2UgcmVjb21tZW5kIHRoYXQgYXBwbGljYXRpb25zLCB3aGVuIHBhcnNpbmcgc3VjaCBoZWFkZXJzLCByZWNvZ25pemUKK2Egc2luZ2xlIExGIGFzIGEgbGluZSB0ZXJtaW5hdG9yIGFuZCBpZ25vcmUgdGhlIGxlYWRpbmcgQ1IuCisKKworCisKKworbWVzc2FnZS1ib2R5ICAgID0gZW50aXR5LWJvZHkKKyAgICAgICAgICAgICAgICB8IDxlbnRpdHktYm9keSBlbmNvZGVkIGFzIHBlciBUcmFuc2Zlci1FbmNvZGluZz4KKworCisKKzUgUmVxdWVzdAorCitSZXF1ZXN0ICAgICAgICAgPSBSZXF1ZXN0LUxpbmUKKyAgICAgICAgICAgICAgICAgICooKCBnZW5lcmFsLWhlYWRlcgorICAgICAgICAgICAgICAgICAgICB8IHJlcXVlc3QtaGVhZGVyCisgICAgICAgICAgICAgICAgICAgIHwgZW50aXR5LWhlYWRlciApIENSTEYpCisgICAgICAgICAgICAgICAgICBDUkxGCisgICAgICAgICAgICAgICAgICBbIG1lc3NhZ2UtYm9keSBdCisKKworCis1LjEgUmVxdWVzdCBsaW5lCisKK1RoZSBlbGVtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IFNQIGNoYXJhY3RlcnMuIE5vIENSIG9yIExGIGlzIGFsbG93ZWQgZXhjZXB0IGluCit0aGUgZmluYWwgQ1JMRiBzZXF1ZW5jZS4KKworUmVxdWVzdC1MaW5lID0gTWV0aG9kIFNQIFJlcXVlc3QtVVJJIFNQIEhUVFAtVmVyc2lvbiBDUkxGCisKKygxOS4zKSBDbGllbnRzIFNIT1VMRCBiZSB0b2xlcmFudCBpbiBwYXJzaW5nIHRoZSBTdGF0dXMtTGluZSBhbmQgc2VydmVycwordG9sZXJhbnQgd2hlbiBwYXJzaW5nIHRoZSBSZXF1ZXN0LUxpbmUuIEluIHBhcnRpY3VsYXIsIHRoZXkgU0hPVUxEIGFjY2VwdCBhbnkKK2Ftb3VudCBvZiBTUCBvciBIVCBjaGFyYWN0ZXJzIGJldHdlZW4gZmllbGRzLCBldmVuIHRob3VnaCBvbmx5IGEgc2luZ2xlIFNQIGlzCityZXF1aXJlZC4KKworNC41IEdlbmVyYWwgaGVhZGVycworQXBwbHkgdG8gTUVTU0FHRS4KKworZ2VuZXJhbC1oZWFkZXIgID0gQ2FjaGUtQ29udHJvbAorICAgICAgICAgICAgICAgIHwgQ29ubmVjdGlvbgorICAgICAgICAgICAgICAgIHwgRGF0ZQorICAgICAgICAgICAgICAgIHwgUHJhZ21hCisgICAgICAgICAgICAgICAgfCBUcmFpbGVyCisgICAgICAgICAgICAgICAgfCBUcmFuc2Zlci1FbmNvZGluZworICAgICAgICAgICAgICAgIHwgVXBncmFkZQorICAgICAgICAgICAgICAgIHwgVmlhCisgICAgICAgICAgICAgICAgfCBXYXJuaW5nCisKK0dlbmVyYWwtaGVhZGVyIGZpZWxkIG5hbWVzIGNhbiBiZSBleHRlbmRlZCByZWxpYWJseSBvbmx5IGluIGNvbWJpbmF0aW9uIHdpdGggYQorY2hhbmdlIGluIHRoZSBwcm90b2NvbCB2ZXJzaW9uLiBIb3dldmVyLCBuZXcgb3IgZXhwZXJpbWVudGFsIGhlYWRlciBmaWVsZHMgbWF5CitiZSBnaXZlbiB0aGUgc2VtYW50aWNzIG9mIGdlbmVyYWwgaGVhZGVyIGZpZWxkcyBpZiBhbGwgcGFydGllcyBpbiB0aGUKK2NvbW11bmljYXRpb24gcmVjb2duaXplIHRoZW0gdG8gYmUgZ2VuZXJhbC1oZWFkZXIgZmllbGRzLiBVbnJlY29nbml6ZWQgaGVhZGVyCitmaWVsZHMgYXJlIHRyZWF0ZWQgYXMgZW50aXR5LWhlYWRlciBmaWVsZHMuCisKKworCisKKzUuMyBSZXF1ZXN0IEhlYWRlciBGaWVsZHMKKworVGhlIHJlcXVlc3QtaGVhZGVyIGZpZWxkcyBhbGxvdyB0aGUgY2xpZW50IHRvIHBhc3MgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dAordGhlIHJlcXVlc3QsIGFuZCBhYm91dCB0aGUgY2xpZW50IGl0c2VsZiwgdG8gdGhlIHNlcnZlci4gVGhlc2UgZmllbGRzIGFjdCBhcworcmVxdWVzdCBtb2RpZmllcnMsIHdpdGggc2VtYW50aWNzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmFtZXRlcnMgb24gYSBwcm9ncmFtbWluZworbGFuZ3VhZ2UgbWV0aG9kIGludm9jYXRpb24uCisKK3JlcXVlc3QtaGVhZGVyICA9IEFjY2VwdAorICAgICAgICAgICAgICAgIHwgQWNjZXB0LUNoYXJzZXQKKyAgICAgICAgICAgICAgICB8IEFjY2VwdC1FbmNvZGluZworICAgICAgICAgICAgICAgIHwgQWNjZXB0LUxhbmd1YWdlCisgICAgICAgICAgICAgICAgfCBBdXRob3JpemF0aW9uCisgICAgICAgICAgICAgICAgfCBFeHBlY3QKKyAgICAgICAgICAgICAgICB8IEZyb20KKyAgICAgICAgICAgICAgICB8IEhvc3QKKyAgICAgICAgICAgICAgICB8IElmLU1hdGNoCisgICAgICAgICAgICAgICAgfCBJZi1Nb2RpZmllZC1TaW5jZQorICAgICAgICAgICAgICAgIHwgSWYtTm9uZS1NYXRjaAorICAgICAgICAgICAgICAgIHwgSWYtUmFuZ2UKKyAgICAgICAgICAgICAgICB8IElmLVVubW9kaWZpZWQtU2luY2UKKyAgICAgICAgICAgICAgICB8IE1heC1Gb3J3YXJkcworICAgICAgICAgICAgICAgIHwgUHJveHktQXV0aG9yaXphdGlvbgorICAgICAgICAgICAgICAgIHwgUmFuZ2UKKyAgICAgICAgICAgICAgICB8IFJlZmVyZXIKKyAgICAgICAgICAgICAgICB8IFRFCisgICAgICAgICAgICAgICAgfCBVc2VyLUFnZW50CisKK1JlcXVlc3QtaGVhZGVyIGZpZWxkIG5hbWVzIGNhbiBiZSBleHRlbmRlZCByZWxpYWJseSBvbmx5IGluIGNvbWJpbmF0aW9uIHdpdGggYQorY2hhbmdlIGluIHRoZSBwcm90b2NvbCB2ZXJzaW9uLiBIb3dldmVyLCBuZXcgb3IgZXhwZXJpbWVudGFsIGhlYWRlciBmaWVsZHMgTUFZCitiZSBnaXZlbiB0aGUgc2VtYW50aWNzIG9mIHJlcXVlc3QtaGVhZGVyIGZpZWxkcyBpZiBhbGwgcGFydGllcyBpbiB0aGUKK2NvbW11bmljYXRpb24gcmVjb2duaXplIHRoZW0gdG8gYmUgcmVxdWVzdC1oZWFkZXIgZmllbGRzLiBVbnJlY29nbml6ZWQgaGVhZGVyCitmaWVsZHMgYXJlIHRyZWF0ZWQgYXMgZW50aXR5LWhlYWRlciBmaWVsZHMuCisKKworCis3LjEgRW50aXR5IGhlYWRlciBmaWVsZHMKKworRW50aXR5LWhlYWRlciBmaWVsZHMgZGVmaW5lIG1ldGFpbmZvcm1hdGlvbiBhYm91dCB0aGUgZW50aXR5LWJvZHkgb3IsIGlmIG5vCitib2R5IGlzIHByZXNlbnQsIGFib3V0IHRoZSByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IHRoZSByZXF1ZXN0LiBTb21lIG9mIHRoaXMKK21ldGFpbmZvcm1hdGlvbiBpcyBPUFRJT05BTDsgc29tZSBtaWdodCBiZSBSRVFVSVJFRCBieSBwb3J0aW9ucyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uLgorCitlbnRpdHktaGVhZGVyICAgPSBBbGxvdworICAgICAgICAgICAgICAgIHwgQ29udGVudC1FbmNvZGluZworICAgICAgICAgICAgICAgIHwgQ29udGVudC1MYW5ndWFnZQorICAgICAgICAgICAgICAgIHwgQ29udGVudC1MZW5ndGgKKyAgICAgICAgICAgICAgICB8IENvbnRlbnQtTG9jYXRpb24KKyAgICAgICAgICAgICAgICB8IENvbnRlbnQtTUQ1CisgICAgICAgICAgICAgICAgfCBDb250ZW50LVJhbmdlCisgICAgICAgICAgICAgICAgfCBDb250ZW50LVR5cGUKKyAgICAgICAgICAgICAgICB8IEV4cGlyZXMKKyAgICAgICAgICAgICAgICB8IExhc3QtTW9kaWZpZWQKKyAgICAgICAgICAgICAgICB8IGV4dGVuc2lvbi1oZWFkZXIKK2V4dGVuc2lvbi1oZWFkZXIgPSBtZXNzYWdlLWhlYWRlcgorCitUaGUgZXh0ZW5zaW9uLWhlYWRlciBtZWNoYW5pc20gYWxsb3dzIGFkZGl0aW9uYWwgZW50aXR5LWhlYWRlciBmaWVsZHMgdG8gYmUKK2RlZmluZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgcHJvdG9jb2wsIGJ1dCB0aGVzZSBmaWVsZHMgY2Fubm90IGJlIGFzc3VtZWQgdG8gYmUKK3JlY29nbml6YWJsZSBieSB0aGUgcmVjaXBpZW50LiBVbnJlY29nbml6ZWQgaGVhZGVyIGZpZWxkcyBTSE9VTEQgYmUgaWdub3JlZCBieQordGhlIHJlY2lwaWVudCBhbmQgTVVTVCBiZSBmb3J3YXJkZWQgYnkgdHJhbnNwYXJlbnQgcHJveGllcy4KKwo=