ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FkbTEwMjEgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDIxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZDAyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDIxCkBAIC0wLDAgKzEsMTExIEBACitLZXJuZWwgZHJpdmVyIGFkbTEwMjEKKz09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogQW5hbG9nIERldmljZXMgQURNMTAyMQorICAgIFByZWZpeDogJ2FkbTEwMjEnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIEFuYWxvZyBEZXZpY2VzIHdlYnNpdGUKKyAgKiBBbmFsb2cgRGV2aWNlcyBBRE0xMDIxQS9BRE0xMDIzCisgICAgUHJlZml4OiAnYWRtMTAyMycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MTggLSAweDFhLCAweDI5IC0gMHgyYiwgMHg0YyAtIDB4NGUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgQW5hbG9nIERldmljZXMgd2Vic2l0ZQorICAqIEdlbmVzeXMgTG9naWMgR0w1MjNTTQorICAgIFByZWZpeDogJ2dsNTIzc20nCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OgorICAqIEludGVsIFhlb24gUHJvY2Vzc29yCisgICAgUHJlZml4OiAtIGFueSBvdGhlciAtIG1heSByZXF1aXJlICdmb3JjZV9hZG0xMDIxJyBwYXJhbWV0ZXIKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogbm9uZQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IEludGVsIHdlYnNpdGUKKyAgKiBNYXhpbSBNQVgxNjE3CisgICAgUHJlZml4OiAnbWF4MTYxNycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MTggLSAweDFhLCAweDI5IC0gMHgyYiwgMHg0YyAtIDB4NGUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTWF4aW0gd2Vic2l0ZQorICAqIE1heGltIE1BWDE2MTdBCisgICAgUHJlZml4OiAnbWF4MTYxN2EnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE1heGltIHdlYnNpdGUKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODQKKyAgICBQcmVmaXg6ICdsbTg0JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgxOCAtIDB4MWEsIDB4MjkgLSAweDJiLCAweDRjIC0gMHg0ZQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgKiBQaGlsaXBzIE5FMTYxNworICAgIFByZWZpeDogJ21heDE2MTcnIChwcm9iYWJseSBkZXRlY3RlZCBhcyBhIG1heDE2MTcpCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIFBoaWxpcHMgd2Vic2l0ZQorICAqIFBoaWxpcHMgTkUxNjE3QQorICAgIFByZWZpeDogJ21heDE2MTcnIChwcm9iYWJseSBkZXRlY3RlZCBhcyBhIG1heDE2MTcpCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIFBoaWxpcHMgd2Vic2l0ZQorICAqIFRJIFRITUMxMAorICAgIFByZWZpeDogJ3RobWMxMCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MTggLSAweDFhLCAweDI5IC0gMHgyYiwgMHg0YyAtIDB4NGUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgVEkgd2Vic2l0ZQorICAqIE9uc2VtaSBNQzEwNjYKKyAgICBQcmVmaXg6ICdtYzEwNjYnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE9uc2VtaSB3ZWJzaXRlCisKKworQXV0aG9yczoKKyAgICAgICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKKyAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgorCitNb2R1bGUgUGFyYW1ldGVycworLS0tLS0tLS0tLS0tLS0tLS0KKworKiByZWFkX29ubHk6IGludAorICBEb24ndCBzZXQgYW55IHZhbHVlcywgcmVhZCBvbmx5IG1vZGUKKworCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhlIGNoaXBzIHN1cHBvcnRlZCBieSB0aGlzIGRyaXZlciBhcmUgdmVyeSBzaW1pbGFyLiBUaGUgTWF4aW0gTUFYMTYxNyBpcwordGhlIG9sZGVzdDsgaXQgaGFzIHRoZSBwcm9ibGVtIHRoYXQgaXQgaXMgbm90IHZlcnkgd2VsbCBkZXRlY3RhYmxlLiBUaGUKK01BWDE2MTdBIHNvbHZlcyB0aGF0LiBUaGUgQURNMTAyMSBpcyBhIHN0cmFpZ2h0IGNsb25lIG9mIHRoZSBNQVgxNjE3QS4KK0RpdHRvIGZvciB0aGUgVEhNQzEwLiBGcm9tIGhlcmUgb24sIHdlIHdpbGwgcmVmZXIgdG8gYWxsIHRoZXNlIGNoaXBzIGFzCitBRE0xMDIxLWNsb25lcy4KKworVGhlIEFETTEwMjEgYW5kIE1BWDE2MTdBIHJlcG9ydHMgYSBkaWUgY29kZSwgd2hpY2ggaXMgYSBzb3J0IG9mIHJldmlzaW9uCitjb2RlLiBUaGlzIGNhbiBoZWxwIHVzIHBpbnBvaW50IHByb2JsZW1zOyBpdCBpcyBub3QgdmVyeSB1c2VmdWwKK290aGVyd2lzZS4KKworQURNMTAyMS1jbG9uZXMgaW1wbGVtZW50IHR3byB0ZW1wZXJhdHVyZSBzZW5zb3JzLiBPbmUgb2YgdGhlbSBpcyBpbnRlcm5hbCwKK2FuZCBtZWFzdXJlcyB0aGUgdGVtcGVyYXR1cmUgb2YgdGhlIGNoaXAgaXRzZWxmOyB0aGUgb3RoZXIgaXMgZXh0ZXJuYWwgYW5kCitpcyByZWFsaXNlZCBpbiB0aGUgZm9ybSBvZiBhIHRyYW5zaXN0b3ItbGlrZSBkZXZpY2UuIEEgc3BlY2lhbCBhbGFybQoraW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlbW90ZSBzZW5zb3IgaXMgY29ubmVjdGVkLgorCitFYWNoIHNlbnNvciBoYXMgaXRzIG93biBsb3cgYW5kIGhpZ2ggbGltaXRzLiBXaGVuIHRoZXkgYXJlIGNyb3NzZWQsIHRoZQorY29ycmVzcG9uZGluZyBhbGFybSBpcyBzZXQgYW5kIHJlbWFpbnMgb24gYXMgbG9uZyBhcyB0aGUgdGVtcGVyYXR1cmUgc3RheXMKK291dCBvZiByYW5nZS4gVGVtcGVyYXR1cmVzIGFyZSBtZWFzdXJlZCBpbiBkZWdyZWVzIENlbHNpdXMuIE1lYXN1cmVtZW50cworYXJlIHBvc3NpYmxlIGJldHdlZW4gLTY1IGFuZCArMTI3IGRlZ3JlZXMsIHdpdGggYSByZXNvbHV0aW9uIG9mIG9uZSBkZWdyZWUuCisKK0lmIGFuIGFsYXJtIHRyaWdnZXJzLCBpdCB3aWxsIHJlbWFpbiB0cmlnZ2VyZWQgdW50aWwgdGhlIGhhcmR3YXJlIHJlZ2lzdGVyCitpcyByZWFkIGF0IGxlYXN0IG9uY2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgY2F1c2UgZm9yIHRoZSBhbGFybSBtYXkgYWxyZWFkeQoraGF2ZSBkaXNhcHBlYXJlZCEKKworVGhpcyBkcml2ZXIgb25seSB1cGRhdGVzIGl0cyB2YWx1ZXMgZWFjaCAxLjUgc2Vjb25kczsgcmVhZGluZyBpdCBtb3JlIG9mdGVuCit3aWxsIGRvIG5vIGhhcm0sIGJ1dCB3aWxsIHJldHVybiAnb2xkJyB2YWx1ZXMuIEl0IGlzIHBvc3NpYmxlIHRvIG1ha2UKK0FETTEwMjEtY2xvbmVzIGRvIGZhc3RlciBtZWFzdXJlbWVudHMsIGJ1dCB0aGVyZSBpcyByZWFsbHkgbm8gZ29vZCByZWFzb24KK2ZvciB0aGF0LgorCitYZW9uIHN1cHBvcnQKKy0tLS0tLS0tLS0tLQorCitTb21lIFhlb24gcHJvY2Vzc29ycyBoYXZlIHJlYWwgbWF4MTYxNywgYWRtMTAyMSwgb3IgY29tcGF0aWJsZSBjaGlwcword2l0aGluIHRoZW0sIHdpdGggdHdvIHRlbXBlcmF0dXJlIHNlbnNvcnMuCisKK090aGVyIFhlb25zIGhhdmUgY2hpcHMgd2l0aCBvbmx5IG9uZSBzZW5zb3IuCisKK0lmIHlvdSBoYXZlIGEgWGVvbiwgYW5kIHRoZSBhZG0xMDIxIG1vZHVsZSBsb2FkcywgYW5kIGJvdGggdGVtcGVyYXR1cmVzCithcHBlYXIgdmFsaWQsIHRoZW4gdGhpbmdzIGFyZSBnb29kLgorCitJZiB0aGUgYWRtMTAyMSBtb2R1bGUgZG9lc24ndCBsb2FkLCB5b3Ugc2hvdWxkIHRyeSB0aGlzOgorCW1vZHByb2JlIGFkbTEwMjEgZm9yY2VfYWRtMTAyMT1CVVMsQUREUkVTUworCUFERFJFU1MgY2FuIG9ubHkgYmUgMHgxOCwgMHgxYSwgMHgyOSwgMHgyYiwgMHg0Yywgb3IgMHg0ZS4KKworSWYgeW91IGhhdmUgZHVhbCBYZW9ucyB5b3UgbWF5IGhhdmUgYXBwZWFyIHRvIGhhdmUgdHdvIHNlcGFyYXRlCithZG0xMDIxLWNvbXBhdGlibGUgY2hpcHMsIG9yIHR3byBzaW5nbGUtdGVtcGVyYXR1cmUgc2Vuc29ycywgYXQgZGlzdGluY3QKK2FkZHJlc3Nlcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FkbTEwMjUgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDI1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZDJiNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDI1CkBAIC0wLDAgKzEsNTEgQEAKK0tlcm5lbCBkcml2ZXIgYWRtMTAyNQorPT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBBbmFsb2cgRGV2aWNlcyBBRE0xMDI1LCBBRE0xMDI1QQorICAgIFByZWZpeDogJ2FkbTEwMjUnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJjIC0gMHgyZQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBBbmFsb2cgRGV2aWNlcyB3ZWJzaXRlCisgICogUGhpbGlwcyBORTE2MTkKKyAgICBQcmVmaXg6ICduZTE2MTknCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJjIC0gMHgyZAorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBQaGlsaXBzIHdlYnNpdGUKKworVGhlIE5FMTYxOSBwcmVzZW50cyBzb21lIGRpZmZlcmVuY2VzIHdpdGggdGhlIG9yaWdpbmFsIEFETTEwMjU6CisgICogT25seSB0d28gcG9zc2libGUgYWRkcmVzc2VzICgweDJjIC0gMHgyZCkuCisgICogTm8gdGVtcGVyYXR1cmUgb2Zmc2V0IHJlZ2lzdGVyLCBidXQgd2UgZG9uJ3QgdXNlIGl0IGFueXdheS4KKyAgKiBObyBJTlQgbW9kZSBmb3IgcGluIDE2LiBXZSBkb24ndCBwbGF5IHdpdGggaXQgYW55d2F5LgorCitBdXRob3JzOgorICAgICAgICBDaGVuLVl1YW4gV3UgPGd3dUBlc29mdC5jb20+LAorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKKyhUaGlzIGlzIGZyb20gQW5hbG9nIERldmljZXMuKSBUaGUgQURNMTAyNSBpcyBhIGNvbXBsZXRlIHN5c3RlbSBoYXJkd2FyZQorbW9uaXRvciBmb3IgbWljcm9wcm9jZXNzb3ItYmFzZWQgc3lzdGVtcywgcHJvdmlkaW5nIG1lYXN1cmVtZW50IGFuZCBsaW1pdAorY29tcGFyaXNvbiBvZiB2YXJpb3VzIHN5c3RlbSBwYXJhbWV0ZXJzLiBGaXZlIHZvbHRhZ2UgbWVhc3VyZW1lbnQgaW5wdXRzCithcmUgcHJvdmlkZWQsIGZvciBtb25pdG9yaW5nICsyLjVWLCArMy4zViwgKzVWIGFuZCArMTJWIHBvd2VyIHN1cHBsaWVzIGFuZAordGhlIHByb2Nlc3NvciBjb3JlIHZvbHRhZ2UuIFRoZSBBRE0xMDI1IGNhbiBtb25pdG9yIGEgc2l4dGggcG93ZXItc3VwcGx5Cit2b2x0YWdlIGJ5IG1lYXN1cmluZyBpdHMgb3duIFZDQy4gT25lIGlucHV0ICh0d28gcGlucykgaXMgZGVkaWNhdGVkIHRvIGEKK3JlbW90ZSB0ZW1wZXJhdHVyZS1zZW5zaW5nIGRpb2RlIGFuZCBhbiBvbi1jaGlwIHRlbXBlcmF0dXJlIHNlbnNvciBhbGxvd3MKK2FtYmllbnQgdGVtcGVyYXR1cmUgdG8gYmUgbW9uaXRvcmVkLgorCitPbmUgc3BlY2lmaWNpdHkgb2YgdGhpcyBjaGlwIGlzIHRoYXQgdGhlIHBpbiAxMSBjYW4gYmUgaGFyZHdpcmVkIGluIHR3bworZGlmZmVyZW50IG1hbm5lcnMuIEl0IGNhbiBhY3QgYXMgdGhlICsxMlYgcG93ZXItc3VwcGx5IHZvbHRhZ2UgYW5hbG9nCitpbnB1dCwgb3IgYXMgdGhlIGEgZmlmdGggZGlnaXRhbCBlbnRyeSBmb3IgdGhlIFZJRCByZWFkaW5nIChiaXQgNCkuIEl0J3MKK2tpbmQgb2Ygc3RyYW5nZSBzaW5jZSBib3RoIGFyZSB1c2VmdWwsIGFuZCB0aGUgcmVhc29uIGZvciBkZXNpZ25pbmcgdGhlCitjaGlwIHRoYXQgd2F5IGlzIG9ic2N1cmUgYXQgbGVhc3QgdG8gbWUuIFRoZSBiaXQgNSBvZiB0aGUgY29uZmlndXJhdGlvbgorcmVnaXN0ZXIgY2FuIGJlIHVzZWQgdG8gZGVmaW5lIGhvdyB0aGUgY2hpcCBpcyBoYXJkd2lyZWQuIFBsZWFzZSBub3RlIHRoYXQKK2l0IGlzIG5vdCBhIGNob2ljZSB5b3UgaGF2ZSB0byBtYWtlIGFzIHRoZSB1c2VyLiBUaGUgY2hvaWNlIHdhcyBhbHJlYWR5CittYWRlIGJ5IHlvdXIgbW90aGVyYm9hcmQncyBtYWtlci4gSWYgdGhlIGNvbmZpZ3VyYXRpb24gYml0IGlzbid0IHNldAorcHJvcGVybHksIHlvdSdsbCBoYXZlIGEgd3JvbmcgKzEyViByZWFkaW5nIG9yIGEgd3JvbmcgVklEIHJlYWRpbmcuIFRoZSB3YXkKK3RoZSBkcml2ZXIgaGFuZGxlcyB0aGF0IGlzIHRvIHByZXNlcnZlIHRoaXMgYml0IHRocm91Z2ggdGhlIGluaXRpYWxpemF0aW9uCitwcm9jZXNzLCBhc3N1bWluZyB0aGF0IHRoZSBCSU9TIHNldCBpdCB1cCBwcm9wZXJseSBiZWZvcmVoYW5kLiBJZiBpdCB0dXJucworb3V0IG5vdCB0byBiZSB0cnVlIGluIHNvbWUgY2FzZXMsIHdlJ2xsIHByb3ZpZGUgYSBtb2R1bGUgcGFyYW1ldGVyIHRvIGZvcmNlCittb2Rlcy4KKworVGhpcyBkcml2ZXIgYWxzbyBzdXBwb3J0cyB0aGUgQURNMTAyNUEsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgQURNMTAyNQorb25seSBpbiB0aGF0IGl0IGhhcyAib3Blbi1kcmFpbiBWSUQgaW5wdXRzIHdoaWxlIHRoZSBBRE0xMDI1IGhhcyBvbi1jaGlwCisxMDBrIHB1bGwtdXBzIG9uIHRoZSBWSUQgaW5wdXRzIi4gSXQgZG9lc24ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGZvciB1cy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FkbTEwMjYgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDI2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3M2M2ODkKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hZG0xMDI2CkBAIC0wLDAgKzEsOTMgQEAKK0tlcm5lbCBkcml2ZXIgYWRtMTAyNgorPT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBBbmFsb2cgRGV2aWNlcyBBRE0xMDI2CisgICAgUHJlZml4OiAnYWRtMTAyNicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmMsIDB4MmQsIDB4MmUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgQW5hbG9nIERldmljZXMgd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hbmFsb2cuY29tL2VuL3Byb2QvMCwsNzY2XzgyNV9BRE0xMDI2LDAwLmh0bWwKKworQXV0aG9yczoKKyAgICAgICAgUGhpbGlwIFBva29ybnkgPHBwb2tvcm55QHBlbmd1aW5jb21wdXRpbmcuY29tPiBmb3IgUGVuZ3VpbiBDb21wdXRpbmcKKyAgICAgICAgSnVzdGluIFRoaWVzc2VuIDxqdGhpZXNzZW5AcGVuZ3VpbmNvbXB1dGluZy5jb20+CisKK01vZHVsZSBQYXJhbWV0ZXJzCistLS0tLS0tLS0tLS0tLS0tLQorCisqIGdwaW9faW5wdXQ6IGludCBhcnJheSAobWluID0gMSwgbWF4ID0gMTcpCisgIExpc3Qgb2YgR1BJTyBwaW5zICgwLTE2KSB0byBwcm9ncmFtIGFzIGlucHV0cworKiBncGlvX291dHB1dDogaW50IGFycmF5IChtaW4gPSAxLCBtYXggPSAxNykKKyAgTGlzdCBvZiBHUElPIHBpbnMgKDAtMTYpIHRvIHByb2dyYW0gYXMgb3V0cHV0cworKiBncGlvX2ludmVydGVkOiBpbnQgYXJyYXkgKG1pbiA9IDEsIG1heCA9IDE3KQorICBMaXN0IG9mIEdQSU8gcGlucyAoMC0xNikgdG8gcHJvZ3JhbSBhcyBpbnZlcnRlZAorKiBncGlvX25vcm1hbDogaW50IGFycmF5IChtaW4gPSAxLCBtYXggPSAxNykKKyAgTGlzdCBvZiBHUElPIHBpbnMgKDAtMTYpIHRvIHByb2dyYW0gYXMgbm9ybWFsL25vbi1pbnZlcnRlZAorKiBncGlvX2ZhbjogaW50IGFycmF5IChtaW4gPSAxLCBtYXggPSA4KQorICBMaXN0IG9mIEdQSU8gcGlucyAoMC03KSB0byBwcm9ncmFtIGFzIGZhbiB0YWNocworCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBBbmFsb2cgRGV2aWNlcyBBRE0xMDI2LiBBbmFsb2cKK0RldmljZXMgY2FsbHMgaXQgYSAiY29tcGxldGUgdGhlcm1hbCBzeXN0ZW0gbWFuYWdlbWVudCBjb250cm9sbGVyLiIKKworVGhlIEFETTEwMjYgaW1wbGVtZW50cyB0aHJlZSAoMykgdGVtcGVyYXR1cmUgc2Vuc29ycywgMTcgdm9sdGFnZSBzZW5zb3JzLAorMTYgZ2VuZXJhbCBwdXJwb3NlIGRpZ2l0YWwgSS9PIGxpbmVzLCBlaWdodCAoOCkgZmFuIHNwZWVkIHNlbnNvcnMgKDgtYml0KSwKK2FuIGFuYWxvZyBvdXRwdXQgYW5kIGEgUFdNIG91dHB1dCBhbG9uZyB3aXRoIGxpbWl0LCBhbGFybSBhbmQgbWFzayBiaXRzIGZvcgorYWxsIG9mIHRoZSBhYm92ZS4gVGhlcmUgaXMgZXZlbiA4ayBieXRlcyBvZiBFRVBST00gbWVtb3J5IG9uIGNoaXAuCisKK1RlbXBlcmF0dXJlcyBhcmUgbWVhc3VyZWQgaW4gZGVncmVlcyBDZWxzaXVzLiBUaGVyZSBhcmUgdHdvIGV4dGVybmFsCitzZW5zb3IgaW5wdXRzIGFuZCBvbmUgaW50ZXJuYWwgc2Vuc29yLiBFYWNoIHNlbnNvciBoYXMgYSBoaWdoIGFuZCBsb3cKK2xpbWl0LiBJZiB0aGUgbGltaXQgaXMgZXhjZWVkZWQsIGFuIGludGVycnVwdCAoI1NNQkFMRVJUKSBjYW4gYmUKK2dlbmVyYXRlZC4gVGhlIGludGVycnVwdHMgY2FuIGJlIG1hc2tlZC4gSW4gYWRkaXRpb24sIHRoZXJlIGFyZSBvdmVyLXRlbXAKK2xpbWl0cyBmb3IgZWFjaCBzZW5zb3IuIElmIHRoaXMgbGltaXQgaXMgZXhjZWVkZWQsIHRoZSAjVEhFUk0gb3V0cHV0IHdpbGwKK2JlIGFzc2VydGVkLiBUaGUgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgbGltaXRzIGhhdmUgYSByZXNvbHV0aW9uIG9mIDEKK2RlZ3JlZS4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkgYnV0IG1lYXN1cmVkCitpbiBjb3VudHMgb2YgYSAyMi41a0h6IGludGVybmFsIGNsb2NrLiBFYWNoIGZhbiBoYXMgYSBoaWdoIGxpbWl0IHdoaWNoCitjb3JyZXNwb25kcyB0byBhIG1pbmltdW0gZmFuIHNwZWVkLiBJZiB0aGUgbGltaXQgaXMgZXhjZWVkZWQsIGFuIGludGVycnVwdAorY2FuIGJlIGdlbmVyYXRlZC4gRWFjaCBmYW4gY2FuIGJlIHByb2dyYW1tZWQgdG8gZGl2aWRlIHRoZSByZWZlcmVuY2UgY2xvY2sKK2J5IDEsIDIsIDQgb3IgOC4gTm90IGFsbCBSUE0gdmFsdWVzIGNhbiBhY2N1cmF0ZWx5IGJlIHJlcHJlc2VudGVkLCBzbyBzb21lCityb3VuZGluZyBpcyBkb25lLiBXaXRoIGEgZGl2aWRlciBvZiA4LCB0aGUgc2xvd2VzdCBtZWFzdXJhYmxlIHNwZWVkIG9mIGEKK3R3byBwdWxzZSBwZXIgcmV2b2x1dGlvbiBmYW4gaXMgNjYxIFJQTS4KKworVGhlcmUgYXJlIDE3IHZvbHRhZ2Ugc2Vuc29ycy4gQW4gYWxhcm0gaXMgdHJpZ2dlcmVkIGlmIHRoZSB2b2x0YWdlIGhhcworY3Jvc3NlZCBhIHByb2dyYW1tYWJsZSBtaW5pbXVtIG9yIG1heGltdW0gbGltaXQuIE5vdGUgdGhhdCBtaW5pbXVtIGluIHRoaXMKK2Nhc2UgYWx3YXlzIG1lYW5zICdjbG9zZXN0IHRvIHplcm8nOyB0aGlzIGlzIGltcG9ydGFudCBmb3IgbmVnYXRpdmUgdm9sdGFnZQorbWVhc3VyZW1lbnRzLiBTZXZlcmFsIGlucHV0cyBoYXZlIGludGVncmF0ZWQgYXR0ZW51YXRvcnMgc28gdGhleSBjYW4gbWVhc3VyZQoraGlnaGVyIHZvbHRhZ2VzIGRpcmVjdGx5LiAzLjNWLCA1ViwgMTJWLCAtMTJWIGFuZCBiYXR0ZXJ5IHZvbHRhZ2UgYWxsIGhhdmUKK2RlZGljYXRlZCBpbnB1dHMuIFRoZXJlIGFyZSBzZXZlcmFsIGlucHV0cyBzY2FsZWQgdG8gMC0zViBmdWxsLXNjYWxlIHJhbmdlCitmb3IgU0NTSSB0ZXJtaW5hdG9yIHBvd2VyLiBUaGUgcmVtYWluaW5nIGlucHV0cyBhcmUgbm90IHNjYWxlZCBhbmQgaGF2ZQorYSAwLTIuNVYgZnVsbC1zY2FsZSByYW5nZS4gQSAyLjVWIG9yIDEuODJWIHJlZmVyZW5jZSB2b2x0YWdlIGlzIHByb3ZpZGVkCitmb3IgbmVnYXRpdmUgdm9sdGFnZSBtZWFzdXJlbWVudHMuCisKK0lmIGFuIGFsYXJtIHRyaWdnZXJzLCBpdCB3aWxsIHJlbWFpbiB0cmlnZ2VyZWQgdW50aWwgdGhlIGhhcmR3YXJlIHJlZ2lzdGVyCitpcyByZWFkIGF0IGxlYXN0IG9uY2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgY2F1c2UgZm9yIHRoZSBhbGFybSBtYXkgYWxyZWFkeQoraGF2ZSBkaXNhcHBlYXJlZCEgTm90ZSB0aGF0IGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBhbGwgaGFyZHdhcmUKK3JlZ2lzdGVycyBhcmUgcmVhZCB3aGVuZXZlciBhbnkgZGF0YSBpcyByZWFkICh1bmxlc3MgaXQgaXMgbGVzcyB0aGFuIDIuMAorc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUpLiBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBlYXNpbHkgbWlzcworb25jZS1vbmx5IGFsYXJtcy4KKworVGhlIEFETTEwMjYgbWVhc3VyZXMgY29udGludW91c2x5LiBBbmFsb2cgaW5wdXRzIGFyZSBtZWFzdXJlZCBhYm91dCA0Cit0aW1lcyBhIHNlY29uZC4gRmFuIHNwZWVkIG1lYXN1cmVtZW50IHRpbWUgZGVwZW5kcyBvbiBmYW4gc3BlZWQgYW5kCitkaXZpc29yLiBJdCBjYW4gdGFrZSBhcyBsb25nIGFzIDEuNSBzZWNvbmRzIHRvIG1lYXN1cmUgYWxsIGZhbiBzcGVlZHMuCisKK1RoZSBBRE0xMDI2IGhhcyB0aGUgYWJpbGl0eSB0byBhdXRvbWF0aWNhbGx5IGNvbnRyb2wgZmFuIHNwZWVkIGJhc2VkIG9uIHRoZQordGVtcGVyYXR1cmUgc2Vuc29yIGlucHV0cy4gQm90aCB0aGUgUFdNIG91dHB1dCBhbmQgdGhlIERBQyBvdXRwdXQgY2FuIGJlCit1c2VkIHRvIGNvbnRyb2wgZmFuIHNwZWVkLiBVc3VhbGx5IG9ubHkgb25lIG9mIHRoZXNlIHR3byBvdXRwdXRzIHdpbGwgYmUKK3VzZWQuIFdyaXRlIHRoZSBtaW5pbXVtIFBXTSBvciBEQUMgdmFsdWUgdG8gdGhlIGFwcHJvcHJpYXRlIGNvbnRyb2wKK3JlZ2lzdGVyLiBUaGVuIHNldCB0aGUgbG93IHRlbXBlcmF0dXJlIGxpbWl0IGluIHRoZSB0bWluIHZhbHVlcyBmb3IgZWFjaAordGVtcGVyYXR1cmUgc2Vuc29yLiBUaGUgcmFuZ2Ugb2YgY29udHJvbCBpcyBmaXhlZCBhdCAyMCCwQywgYW5kIHRoZQorbGFyZ2VzdCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVudCBhbmQgdG1pbiBvZiB0aGUgdGVtcGVyYXR1cmUgc2Vuc29ycyBzZXRzCit0aGUgY29udHJvbCBvdXRwdXQuIFNlZSB0aGUgZGF0YXNoZWV0IGZvciBzZXZlcmFsIGV4YW1wbGUgY2lyY3VpdHMgZm9yCitjb250cm9sbGluZyBmYW4gc3BlZWQgd2l0aCB0aGUgUFdNIGFuZCBEQUMgb3V0cHV0cy4gVGhlIGZhbiBzcGVlZCBzZW5zb3JzCitkbyBub3QgaGF2ZSBQV00gY29tcGVuc2F0aW9uLCBzbyBpdCBpcyBwcm9iYWJseSBiZXN0IHRvIGNvbnRyb2wgdGhlIGZhbgordm9sdGFnZSBmcm9tIHRoZSBwb3dlciBsZWFkIHJhdGhlciB0aGFuIG9uIHRoZSBncm91bmQgbGVhZC4KKworVGhlIGRhdGFzaGVldCBzaG93cyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIHdpdGggVklEIHNpZ25hbHMgYXR0YWNoZWQgdG8KK0dQSU8gbGluZXMuIFVuZm9ydHVuYXRlbHksIHRoZSBjaGlwIG1heSBub3QgYmUgY29ubmVjdGVkIHRvIHRoZSBWSUQgbGluZXMKK2luIHRoaXMgd2F5LiBUaGUgZHJpdmVyIGFzc3VtZXMgdGhhdCB0aGUgY2hpcHMgKmlzKiBjb25uZWN0ZWQgdGhpcyB3YXkgdG8KK2dldCBhIFZJRCB2b2x0YWdlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvYWRtMTAzMSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FkbTEwMzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMwYTM4MwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FkbTEwMzEKQEAgLTAsMCArMSwzNSBAQAorS2VybmVsIGRyaXZlciBhZG0xMDMxCis9PT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIEFuYWxvZyBEZXZpY2VzIEFETTEwMzAKKyAgICBQcmVmaXg6ICdhZG0xMDMwJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyYyB0byAweDJlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIEFuYWxvZyBEZXZpY2VzIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly9wcm9kdWN0cy5hbmFsb2cuY29tL3Byb2R1Y3RzL2luZm8uYXNwP3Byb2R1Y3Q9QURNMTAzMAorCisgICogQW5hbG9nIERldmljZXMgQURNMTAzMQorICAgIFByZWZpeDogJ2FkbTEwMzEnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJjIHRvIDB4MmUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgQW5hbG9nIERldmljZXMgd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3Byb2R1Y3RzLmFuYWxvZy5jb20vcHJvZHVjdHMvaW5mby5hc3A/cHJvZHVjdD1BRE0xMDMxCisKK0F1dGhvcnM6CisgICAgICAgIEFsZXhhbmRyZSBkJ0FsdG9uIDxhbGV4QGFsZXhkYWx0b24ub3JnPgorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBBRE0xMDMwIGFuZCBBRE0xMDMxIGFyZSBkaWdpdGFsIHRlbXBlcmF0dXJlIHNlbnNvcnMgYW5kIGZhbiBjb250cm9sbGVycy4KK1RoZXkgc2Vuc2UgdGhlaXIgb3duIHRlbXBlcmF0dXJlIGFzIHdlbGwgYXMgdGhlIHRlbXBlcmF0dXJlIG9mIHVwIHRvIG9uZQorKEFETTEwMzApIG9yIHR3byAoQURNMTAzMSkgZXh0ZXJuYWwgZGlvZGVzLgorCitBbGwgdGVtcGVyYXR1cmUgdmFsdWVzIGFyZSBnaXZlbiBpbiBkZWdyZWVzIENlbHNpdXMuIFJlc29sdXRpb24gaXMgMC41CitkZWdyZWUgZm9yIHRoZSBsb2NhbCB0ZW1wZXJhdHVyZSwgMC4xMjUgZGVncmVlIGZvciB0aGUgcmVtb3RlIHRlbXBlcmF0dXJlcy4KKworRWFjaCB0ZW1wZXJhdHVyZSBjaGFubmVsIGhhcyBpdHMgb3duIGhpZ2ggYW5kIGxvdyBsaW1pdHMsIHBsdXMgYSBjcml0aWNhbAorbGltaXQuCisKK1RoZSBBRE0xMDMwIG1vbml0b3JzIGEgc2luZ2xlIGZhbiBzcGVlZCwgd2hpbGUgdGhlIEFETTEwMzEgbW9uaXRvcnMgdXAgdG8KK3R3by4gRWFjaCBmYW4gY2hhbm5lbCBoYXMgaXRzIG93biBsb3cgc3BlZWQgbGltaXQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hc2IxMDAgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9hc2IxMDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI3MzY1ZQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2FzYjEwMApAQCAtMCwwICsxLDcyIEBACitLZXJuZWwgZHJpdmVyIGFzYjEwMAorPT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIENoaXBzOgorICAqIEFzdXMgQVNCMTAwIGFuZCBBU0IxMDAtQSAiQmFjaCIKKyAgICBQcmVmaXg6ICdhc2IxMDAnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJkCisgICAgRGF0YXNoZWV0OiBub25lIHJlbGVhc2VkCisKK0F1dGhvcjogTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPgorCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBzdXBwb3J0IGZvciB0aGUgQXN1cyBBU0IxMDAgYW5kIEFTQjEwMC1BICJCYWNoIi4KK1RoZXNlIGFyZSBjdXN0b20gQVNJQ3MgYXZhaWxhYmxlIG9ubHkgb24gQXN1cyBtYWluYm9hcmRzLiBBc3VzIHJlZnVzZXMgdG8KK3N1cHBseSBhIGRhdGFzaGVldCBmb3IgdGhlc2UgY2hpcHMuIFRoYW5rcyBnbyB0byBtYW55IHBlb3BsZSB3aG8gaGVscGVkCitpbnZlc3RpZ2F0ZSB0aGVpciBoYXJkd2FyZSwgaW5jbHVkaW5nOgorCitWaXRhbHkgVi4gQnVyc292CitBbGV4YW5kZXIgdmFuIEthYW0gKGF1dGhvciBvZiBNQk0gZm9yIFdpbmRvd3MpCitCZXJ0cmlrIFNpa2tlbgorCitUaGUgQVNCMTAwIGltcGxlbWVudHMgc2V2ZW4gdm9sdGFnZSBzZW5zb3JzLCB0aHJlZSBmYW4gcm90YXRpb24gc3BlZWQKK3NlbnNvcnMsIGZvdXIgdGVtcGVyYXR1cmUgc2Vuc29ycywgVklEIGxpbmVzIGFuZCBhbGFybXMuIEluIGFkZGl0aW9uIHRvCit0aGVzZSwgdGhlIEFTQjEwMC1BIGFsc28gaW1wbGVtZW50cyBhIHNpbmdsZSBQV00gY29udHJvbGxlciBmb3IgZmFucyAyIGFuZAorMyAoaS5lLiBvbmUgc2V0dGluZyBjb250cm9scyBib3RoLikgSWYgeW91IGhhdmUgYSBwbGFpbiBBU0IxMDAsIHRoZSBQV00KK2NvbnRyb2xsZXIgd2lsbCBzaW1wbHkgbm90IHdvcmsgKG9yIG1heWJlIGl0IHdpbGwgZm9yIHlvdS4uLiBpdCBkb2Vzbid0IGZvcgorbWUpLgorCitUZW1wZXJhdHVyZXMgYXJlIG1lYXN1cmVkIGFuZCByZXBvcnRlZCBpbiBkZWdyZWVzIENlbHNpdXMuCisKK0ZhbiBzcGVlZHMgYXJlIHJlcG9ydGVkIGluIFJQTSAocm90YXRpb25zIHBlciBtaW51dGUpLiBBbiBhbGFybSBpcwordHJpZ2dlcmVkIGlmIHRoZSByb3RhdGlvbiBzcGVlZCBoYXMgZHJvcHBlZCBiZWxvdyBhIHByb2dyYW1tYWJsZSBsaW1pdC4KKworVm9sdGFnZSBzZW5zb3JzIChhbHNvIGtub3duIGFzIElOIHNlbnNvcnMpIHJlcG9ydCB2YWx1ZXMgaW4gdm9sdHMuCisKK1RoZSBWSUQgbGluZXMgZW5jb2RlIHRoZSBjb3JlIHZvbHRhZ2UgdmFsdWU6IHRoZSB2b2x0YWdlIGxldmVsIHlvdXIKK3Byb2Nlc3NvciBzaG91bGQgd29yayB3aXRoLiBUaGlzIGlzIGhhcmRjb2RlZCBieSB0aGUgbWFpbmJvYXJkIGFuZC9vcgorcHJvY2Vzc29yIGl0c2VsZi4gSXQgaXMgYSB2YWx1ZSBpbiB2b2x0cy4KKworQWxhcm1zOiAoVE9ETyBxdWVzdGlvbiBtYXJrcyBpbmRpY2F0ZSBtYXkgb3IgbWF5IG5vdCB3b3JrKQorCisweDAwMDEgPT4gaW4wICg/KQorMHgwMDAyID0+IGluMSAoPykKKzB4MDAwNCA9PiBpbjIKKzB4MDAwOCA9PiBpbjMKKzB4MDAxMCA9PiB0ZW1wMSAoMSkKKzB4MDAyMCA9PiB0ZW1wMgorMHgwMDQwID0+IGZhbjEKKzB4MDA4MCA9PiBmYW4yCisweDAxMDAgPT4gaW40CisweDAyMDAgPT4gaW41ICg/KSAoMikKKzB4MDQwMCA9PiBpbjYgKD8pICgyKQorMHgwODAwID0+IGZhbjMKKzB4MTAwMCA9PiBjaGFzc2lzIHN3aXRjaAorMHgyMDAwID0+IHRlbXAzCisKK0FsYXJtIE5vdGVzOgorCisoMSkgVGhpcyBhbGFybSB3aWxsIG9ubHkgdHJpZ2dlciBpZiB0aGUgaHlzdGVyZXNpcyB2YWx1ZSBpcyAxMjdDLgorSS5lLiBpdCBiZWhhdmVzIHRoZSBzYW1lIGFzIHc4Mzc4MWQuCisKKygyKSBUaGUgbWluIGFuZCBtYXggcmVnaXN0ZXJzIGZvciB0aGVzZSB2YWx1ZXMgYXBwZWFyIHRvCitiZSByZWFkLW9ubHkgb3Igb3RoZXJ3aXNlIHN0dWNrIGF0IDB4MDAuCisKK1RPRE86CisqIEV4cGVyaW1lbnQgd2l0aCBmYW4gZGl2aXNvcnMgPiA4LgorKiBFeHBlcmltZW50IHdpdGggdGVtcC4gc2Vuc29yIHR5cGVzLgorKiBBcmUgdGhlcmUgcmVhbGx5IDEzIHZvbHRhZ2UgaW5wdXRzPyBQcm9iYWJseSBub3QuLi4KKyogQ2xlYW51cHMsIG5vIGRvdWJ0Li4uCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2RzMTYyMSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2RzMTYyMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmVlNmYxCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZHMxNjIxCkBAIC0wLDAgKzEsMTA4IEBACitLZXJuZWwgZHJpdmVyIGRzMTYyMQorPT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIERhbGxhcyBTZW1pY29uZHVjdG9yIERTMTYyMQorICAgIFByZWZpeDogJ2RzMTYyMScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NDggLSAweDRmCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIERhbGxhcyBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuZGFsc2VtaS5jb20vCisgICogRGFsbGFzIFNlbWljb25kdWN0b3IgRFMxNjI1CisgICAgUHJlZml4OiAnZHMxNjIxJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0OCAtIDB4NGYKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgRGFsbGFzIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5kYWxzZW1pLmNvbS8KKworQXV0aG9yczoKKyAgICAgICAgQ2hyaXN0aWFuIFcuIFp1Y2tzY2h3ZXJkdCA8emFueUB0cmlxLm5ldD4KKyAgICAgICAgdmFsdWFibGUgY29udHJpYnV0aW9ucyBieSBKYW4gTS4gU2VuZGxlciA8c2VuZGxlckBzZW5kbGVyLmRlPgorICAgICAgICBwb3J0ZWQgdG8gMi42IGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4KKyAgICAgICAgd2l0aCB0aGUgaGVscCBvZiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworTW9kdWxlIFBhcmFtZXRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisqIHBvbGFyaXR5IGludAorICBPdXRwdXQncyBwb2xhcml0eTogMCA9IGFjdGl2ZSBoaWdoLCAxID0gYWN0aXZlIGxvdworCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhlIERTMTYyMSBpcyBhIChvbmUgaW5zdGFuY2UpIGRpZ2l0YWwgdGhlcm1vbWV0ZXIgYW5kIHRoZXJtb3N0YXQuIEl0IGhhcworYm90aCBoaWdoIGFuZCBsb3cgdGVtcGVyYXR1cmUgbGltaXRzIHdoaWNoIGNhbiBiZSB1c2VyIGRlZmluZWQgKGkuZS4KK3Byb2dyYW1tZWQgaW50byBub24tdm9sYXRpbGUgb24tY2hpcCByZWdpc3RlcnMpLiBUZW1wZXJhdHVyZSByYW5nZSBpcyAtNTUKK2RlZ3JlZSBDZWxzaXVzIHRvICsxMjUgaW4gMC41IGluY3JlbWVudHMuIFlvdSBtYXkgY29udmVydCB0aGlzIGludG8gYQorRmFocmVuaGVpdCByYW5nZSBvZiAtNjcgdG8gKzI1NyBkZWdyZWVzIHdpdGggMC45IHN0ZXBzLiBJZiBwb2xhcml0eQorcGFyYW1ldGVyIGlzIG5vdCBwcm92aWRlZCwgb3JpZ2luYWwgdmFsdWUgaXMgdXNlZC4KKworQXMgZm9yIHRoZSB0aGVybW9zdGF0LCBiZWhhdmlvciBjYW4gYWxzbyBiZSBwcm9ncmFtbWVkIHVzaW5nIHRoZSBwb2xhcml0eQordG9nZ2xlLiBPbiB0aGUgb25lIGhhbmQgKCJoZWF0ZXIiKSwgdGhlIHRoZXJtb3N0YXQgb3V0cHV0IG9mIHRoZSBjaGlwLAorVG91dCwgd2lsbCB0cmlnZ2VyIHdoZW4gdGhlIGxvdyBsaW1pdCB0ZW1wZXJhdHVyZSBpcyBtZXQgb3IgdW5kZXJydW4gYW5kCitzdGF5cyBoaWdoIHVudGlsIHRoZSBoaWdoIGxpbWl0IGlzIG1ldCBvciBleGNlZWRlZC4gT24gdGhlIG90aGVyIGhhbmQKKygiY29vbGVyIiksIHZpY2UgdmVyc2EuIFRoYXQgd2F5ICJoZWF0ZXIiIGVxdWFscyAiYWN0aXZlIGxvdyIsIHdoZXJlYXMKKyJjb25kaXRpb25lciIgZXF1YWxzICJhY3RpdmUgaGlnaCIuIFBsZWFzZSBub3RlIHRoYXQgdGhlIERTMTYyMSBkYXRhIHNoZWV0CitpcyBzb21ld2hhdCBtaXNsZWFkaW5nIGluIHRoaXMgcG9pbnQgc2luY2Ugc2V0dGluZyB0aGUgcG9sYXJpdHkgYml0IGRvZXMKK25vdCBzaW1wbHkgaW52ZXJ0IFRvdXQuCisKK0Egc2Vjb25kIHRoaW5nIGlzIHRoYXQsIGR1cmluZyBleHRlbnNpdmUgdGVzdGluZywgVG91dCBzaG93ZWQgYSB0b2xlcmFuY2UKK29mIHVwIHRvICsvLSAwLjUgZGVncmVlcyBldmVuIHdoZW4gY29tcGFyZWQgYWdhaW5zdCBwcmVjaXNlIHRlbXBlcmF0dXJlCityZWFkaW5ncy4gQmUgc3VyZSB0byBoYXZlIGEgaGlnaCB2cy4gbG93IHRlbXBlcmF0dXJlIGxpbWl0IGdhcCBvZiBhbCBsZWFzdAorMS4wIGRlZ3JlZSBDZWxzaXVzIHRvIGF2b2lkIFRvdXQgImJvdW5jaW5nIiwgdGhvdWdoIQorCitBcyBmb3IgYWxhcm1zLCB5b3UgY2FuIHJlYWQgdGhlIGFsYXJtIHN0YXR1cyBvZiB0aGUgRFMxNjIxIHZpYSB0aGUgJ2FsYXJtcycKKy9zeXMgZmlsZSBpbnRlcmZhY2UuIFRoZSByZXN1bHQgY29uc2lzdHMgbWFpbmx5IG9mIGJpdCA2IGFuZCA1IG9mIHRoZQorY29uZmlndXJhdGlvbiByZWdpc3RlciBvZiB0aGUgY2hpcDsgYml0IDYgKDB4NDAgb3IgNjQpIGlzIHRoZSBoaWdoIGFsYXJtCitiaXQgYW5kIGJpdCA1ICgweDIwIG9yIDMyKSB0aGUgbG93IG9uZS4gVGhlc2UgYml0cyBhcmUgc2V0IHdoZW4gdGhlIGhpZ2ggb3IKK2xvdyBsaW1pdHMgYXJlIG1ldCBvciBleGNlZWRlZCBhbmQgYXJlIHJlc2V0IGJ5IHRoZSBtb2R1bGUgYXMgc29vbiBhcyB0aGUKK3Jlc3BlY3RpdmUgdGVtcGVyYXR1cmUgcmFuZ2VzIGFyZSBsZWZ0LgorCitUaGUgYWxhcm0gcmVnaXN0ZXJzIGFyZSBpbiBubyB3YXkgc3VpdGFibGUgdG8gZmluZCBvdXQgYWJvdXQgdGhlIGFjdHVhbAorc3RhdHVzIG9mIFRvdXQuIFRoZXkgd2lsbCBvbmx5IHRlbGwgeW91IGFib3V0IGl0cyBoaXN0b3J5LCB3aGV0aGVyIG9yIG5vdAorYW55IG9mIHRoZSBsaW1pdHMgaGF2ZSBldmVyIGJlZW4gbWV0IG9yIGV4Y2VlZGVkIHNpbmNlIGxhc3QgcG93ZXItdXAgb3IKK3Jlc2V0LiBCZSBhd2FyZTogV2hlbiB0ZXN0aW5nLCBpdCBzaG93ZWQgdGhhdCB0aGUgc3RhdHVzIG9mIFRvdXQgY2FuIGNoYW5nZQord2l0aCBuZWl0aGVyIG9mIHRoZSBhbGFybXMgc2V0LgorCitUZW1wZXJhdHVyZSBjb252ZXJzaW9uIG9mIHRoZSBEUzE2MjEgdGFrZXMgdXAgdG8gMTAwMG1zOyBpbnRlcm5hbCBhY2Nlc3MgdG8KK25vbi12b2xhdGlsZSByZWdpc3RlcnMgbWF5IGxhc3QgZm9yIDEwbXMgb3IgYmVsb3cuCisKK0hpZ2ggQWNjdXJhY3kgVGVtcGVyYXR1cmUgUmVhZGluZworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FzIHNhaWQgYmVmb3JlLCB0aGUgdGVtcGVyYXR1cmUgaXNzdWVkIHZpYSB0aGUgOS1iaXQgaTJjLWJ1cyBkYXRhIGlzCitzb21ld2hhdCBhcmJpdHJhcnkuIEludGVybmFsbHksIHRoZSB0ZW1wZXJhdHVyZSBjb252ZXJzaW9uIGlzIG9mIGEKK2RpZmZlcmVudCBraW5kIHRoYXQgaXMgZXhwbGFpbmVkIChub3Qgc28uLi4pIHdlbGwgaW4gdGhlIERTMTYyMSBkYXRhIHNoZWV0LgorVG8gY3V0IHRoZSBsb25nIHN0b3J5IHNob3J0OiBJbnNpZGUgdGhlIERTMTYyMSB0aGVyZSBhcmUgdHdvIG9zY2lsbGF0b3JzLAorYm90aCBvZiB0aGVtIGJpYXNzZWQgYnkgYSB0ZW1wZXJhdHVyZSBjb2VmZmljaWVudC4KKworSGlnaGVyIHJlc29sdXRpb24gb2YgdGhlIHRlbXBlcmF0dXJlIHJlYWRpbmcgY2FuIGJlIGFjaGlldmVkIHVzaW5nIHRoZQoraW50ZXJuYWwgcHJvamVjdGlvbiwgd2hpY2ggbWVhbnMgdGFraW5nIGFjY291bnQgb2YgUkVHX0NPVU5UIGFuZCBSRUdfU0xPUEUKKyh0aGUgZHJpdmVyIG1hbmFnZXMgdGhlbSk6CisKK1Rha2VuIGZyb20gRGFsbGFzIFNlbWljb25kdWN0b3JzIEFwcCBOb3RlIDA2ODogJ0luY3JlYXNpbmcgVGVtcGVyYXR1cmUKK1Jlc29sdXRpb24gb24gdGhlIERTMTYyMCcgYW5kIEFwcCBOb3RlIDEwNTogJ0hpZ2ggUmVzb2x1dGlvbiBUZW1wZXJhdHVyZQorTWVhc3VyZW1lbnQgd2l0aCBEYWxsYXMgRGlyZWN0LXRvLURpZ2l0YWwgVGVtcGVyYXR1cmUgU2Vuc29ycycKKworLSBSZWFkIHRoZSA5LWJpdCB0ZW1wZXJhdHVyZSBhbmQgc3RyaXAgdGhlIExTQiAoVHJ1bmNhdGUgdGhlIC41IGRlZ3MpCistIFRoZSByZXN1bHRpbmcgdmFsdWUgaXMgVEVNUF9SRUFELgorLSBUaGVuLCByZWFkIFJFR19DT1VOVC4KKy0gQW5kIHRoZW4sIFJFR19TTE9QRS4KKworICAgICAgVEVNUCA9IFRFTVBfUkVBRCAtIDAuMjUgKyAoKFJFR19TTE9QRSAtIFJFR19DT1VOVCkgLyBSRUdfU0xPUEUpCisKK05vdGUgdGhhdCB0aGlzIGlzIHdoYXQgdGhlIERPTkUgYml0IGluIHRoZSBEUzE2MjEgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcworZ29vZCBmb3I6IEludGVybmFsbHksIG9uZSB0ZW1wZXJhdHVyZSBjb252ZXJzaW9uIHRha2VzIHVwIHRvIDEwMDBtcy4gQmVmb3JlCit0aGF0IGNvbnZlcnNpb24gaXMgY29tcGxldGUgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gcmVhZCB2YWxpZCB0aGluZ3Mgb3V0CitvZiBSRUdfQ09VTlQgYW5kIFJFR19TTE9QRS4gVGhlIERPTkUgYml0LCBhcyB5b3UgbWF5IGhhdmUgZ3Vlc3NlZCBieSBub3csCit0ZWxscyB5b3Ugd2hldGhlciB0aGUgY29udmVyc2lvbiBpcyBjb21wbGV0ZSAoImRvbmUiLCBpbiBwbGFpbiBFbmdsaXNoKSBhbmQKK3RodXMsIHdoZXRoZXIgdGhlIHZhbHVlcyB5b3UgcmVhZCBhcmUgZ29vZCBvciBub3QuCisKK1RoZSBEUzE2MjEgaGFzIHR3byBtb2RlcyBvZiBvcGVyYXRpb246ICJDb250aW51b3VzIiBjb252ZXJzaW9uLCB3aGljaCBjYW4KK2JlIHVuZGVyc3Rvb2QgYXMgdGhlIGRlZmF1bHQgc3RhbmQtYWxvbmUgbW9kZSB3aGVyZSB0aGUgY2hpcCBnZXRzIHRoZQordGVtcGVyYXR1cmUgYW5kIGNvbnRyb2xzIGV4dGVybmFsIGRldmljZXMgdmlhIGl0cyBUb3V0IHBpbiBvciB0ZWxscyBvdGhlcgoraTJjJ3MgYWJvdXQgaXQgaWYgdGhleSBjYXJlLiBUaGUgb3RoZXIgbW9kZSBpcyBjYWxsZWQgIjFTSE9UIiwgdGhhdCBtZWFucwordGhhdCBpdCBvbmx5IGZpZ3VyZXMgb3V0IGFib3V0IHRoZSB0ZW1wZXJhdHVyZSB3aGVuIGl0IGlzIGV4cGxpY2l0bHkgdG9sZAordG8gZG8gc287IHRoaXMgY2FuIGJlIHNlZW4gYXMgcG93ZXIgc2F2aW5nIG1vZGUuCisKK05vdyBpZiB5b3Ugd2FudCB0byByZWFkIFJFR19DT1VOVCBhbmQgUkVHX1NMT1BFLCB5b3UgaGF2ZSB0byBlaXRoZXIgc3RvcAordGhlIGNvbnRpbnVvdXMgY29udmVyc2lvbnMgdW50aWwgdGhlIGNvbnRlbnRzIG9mIHRoZXNlIHJlZ2lzdGVycyBhcmUgdmFsaWQsCitvciwgaW4gMVNIT1QgbW9kZSwgeW91IGhhdmUgdG8gaGF2ZSBvbmUgY29udmVyc2lvbiBtYWRlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZWVwcm9tIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZWVwcm9tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZTgxMDQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9lZXByb20KQEAgLTAsMCArMSw5NiBAQAorS2VybmVsIGRyaXZlciBlZXByb20KKz09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBBbnkgRUVQUk9NIGNoaXAgaW4gdGhlIGRlc2lnbmF0ZWQgYWRkcmVzcyByYW5nZQorICAgIFByZWZpeDogJ2VlcHJvbScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NTAgLSAweDU3CisgICAgRGF0YXNoZWV0czogUHVibGljbHkgYXZhaWxhYmxlIGZyb206CisgICAgICAgICAgICAgICAgQXRtZWwgKHd3dy5hdG1lbC5jb20pLAorICAgICAgICAgICAgICAgIENhdGFseXN0ICh3d3cuY2F0c2VtaS5jb20pLAorICAgICAgICAgICAgICAgIEZhaXJjaGlsZCAod3d3LmZhaXJjaGlsZHNlbWkuY29tKSwKKyAgICAgICAgICAgICAgICBNaWNyb2NoaXAgKHd3dy5taWNyb2NoaXAuY29tKSwKKyAgICAgICAgICAgICAgICBQaGlsaXBzICh3d3cuc2VtaWNvbmR1Y3Rvci5waGlsaXBzLmNvbSksCisgICAgICAgICAgICAgICAgUm9obSAod3d3LnJvaG0uY29tKSwKKyAgICAgICAgICAgICAgICBTVCAod3d3LnN0LmNvbSksCisgICAgICAgICAgICAgICAgWGljb3IgKHd3dy54aWNvci5jb20pLAorICAgICAgICAgICAgICAgIGFuZCBvdGhlcnMuCisKKyAgICAgICAgQ2hpcCAgICAgU2l6ZSAoYml0cykgICAgQWRkcmVzcworICAgICAgICAyNEMwMSAgICAgMUsgICAgICAgICAgICAweDUwIChzaGFkb3dzIGF0IDB4NTEgLSAweDU3KQorICAgICAgICAyNEMwMUEgICAgMUsgICAgICAgICAgICAweDUwIC0gMHg1NyAoVHlwaWNhbCBkZXZpY2Ugb24gRElNTXMpCisgICAgICAgIDI0QzAyICAgICAySyAgICAgICAgICAgIDB4NTAgLSAweDU3CisgICAgICAgIDI0QzA0ICAgICA0SyAgICAgICAgICAgIDB4NTAsIDB4NTIsIDB4NTQsIDB4NTYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWwgZGF0YSBhdCAweDUxLCAweDUzLCAweDU1LCAweDU3KQorICAgICAgICAyNEMwOCAgICAgOEsgICAgICAgICAgICAweDUwLCAweDU0IChhZGRpdGlvbmFsIGRhdGEgYXQgMHg1MSwgMHg1MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MywgMHg1NSwgMHg1NiwgMHg1NykKKyAgICAgICAgMjRDMTYgICAgMTZLICAgICAgICAgICAgMHg1MCAoYWRkaXRpb25hbCBkYXRhIGF0IDB4NTEgLSAweDU3KQorICAgICAgICBTb255ICAgICAgMksgICAgICAgICAgICAweDU3CisKKyAgICAgICAgQXRtZWwgICAgIDM0QzAyQiAgMksgICAgMHg1MCAtIDB4NTcsIFNXIHdyaXRlIHByb3RlY3QgYXQgMHgzMC0zNworICAgICAgICBDYXRhbHlzdCAgMzRGQzAyICAySyAgICAweDUwIC0gMHg1NywgU1cgd3JpdGUgcHJvdGVjdCBhdCAweDMwLTM3CisgICAgICAgIENhdGFseXN0ICAzNFJDMDIgIDJLICAgIDB4NTAgLSAweDU3LCBTVyB3cml0ZSBwcm90ZWN0IGF0IDB4MzAtMzcKKyAgICAgICAgRmFpcmNoaWxkIDM0VzAyICAgMksgICAgMHg1MCAtIDB4NTcsIFNXIHdyaXRlIHByb3RlY3QgYXQgMHgzMC0zNworICAgICAgICBNaWNyb2NoaXAgMjRBQTUyICAySyAgICAweDUwIC0gMHg1NywgU1cgd3JpdGUgcHJvdGVjdCBhdCAweDMwLTM3CisgICAgICAgIFNUICAgICAgICBNMzRDMDIgIDJLICAgIDB4NTAgLSAweDU3LCBTVyB3cml0ZSBwcm90ZWN0IGF0IDB4MzAtMzcKKworCitBdXRob3JzOgorICAgICAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAorICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4sCisgICAgICAgIEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+LAorICAgICAgICBJQk0gQ29ycC4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoaXMgaXMgYSBzaW1wbGUgRUVQUk9NIG1vZHVsZSBtZWFudCB0byBlbmFibGUgcmVhZGluZyB0aGUgZmlyc3QgMjU2IGJ5dGVzCitvZiBhbiBFRVBST00gKG9uIGEgU0RSQU0gRElNTSBmb3IgZXhhbXBsZSkuIEhvd2V2ZXIsIGl0IHdpbGwgYWNjZXNzIHNlcmlhbAorRUVQUk9NcyBvbiBhbnkgSTJDIGFkYXB0ZXIuIFRoZSBzdXBwb3J0ZWQgZGV2aWNlcyBhcmUgZ2VuZXJpY2FsbHkgY2FsbGVkCisyNEN4eCwgYW5kIGFyZSBsaXN0ZWQgYWJvdmU7IGhvd2V2ZXIgdGhlIG51bWJlcmluZyBmb3IgdGhlc2UKK2luZHVzdHJ5LXN0YW5kYXJkIGRldmljZXMgbWF5IHZhcnkgYnkgbWFudWZhY3R1cmVyLgorCitUaGlzIG1vZHVsZSB3YXMgYSBwcm9ncmFtbWluZyBleGVyY2lzZSB0byBnZXQgdXNlZCB0byB0aGUgbmV3IHByb2plY3QKK29yZ2FuaXphdGlvbiBsYWlkIG91dCBieSBGcm9kbywgYnV0IGl0IHNob3VsZCBiZSBhdCBsZWFzdCBjb21wbGV0ZWx5CitlZmZlY3RpdmUgZm9yIGRlY29kaW5nIHRoZSBjb250ZW50cyBvZiBFRVBST01zIG9uIERJTU1zLgorCitESU1NUyB3aWxsIHR5cGljYWxseSBjb250YWluIGEgMjRDMDFBIG9yIDI0QzAyLCBvciB0aGUgMzRDMDIgdmFyaWFudHMuCitUaGUgb3RoZXIgZGV2aWNlcyB3aWxsIG5vdCBiZSBmb3VuZCBvbiBhIERJTU0gYmVjYXVzZSB0aGV5IHJlc3BvbmQgdG8gbW9yZQordGhhbiBvbmUgYWRkcmVzcy4KKworRERDIE1vbml0b3JzIG1heSBjb250YWluIGFueSBkZXZpY2UuIE9mdGVuIGEgMjRDMDEsIHdoaWNoIHJlc3BvbmRzIHRvIGFsbCA4CithZGRyZXNzZXMsIGlzIGZvdW5kLgorCitSZWNlbnQgU29ueSBWYWlvIGxhcHRvcHMgaGF2ZSBhbiBFRVBST00gYXQgMHg1Ny4gV2UgY291bGRuJ3QgZ2V0IHRoZQorc3BlY2lmaWNhdGlvbiwgc28gaXQgaXMgZ3Vlc3Mgd29yayBhbmQgZmFyIGZyb20gYmVpbmcgY29tcGxldGUuCisKK1RoZSBNaWNyb2NoaXAgMjRBQTUyLzI0TENTNTIsIFNUIE0zNEMwMiwgYW5kIG90aGVycyBzdXBwb3J0IGFuIGFkZGl0aW9uYWwKK3NvZnR3YXJlIHdyaXRlIHByb3RlY3QgcmVnaXN0ZXIgYXQgMHgzMCAtIDB4MzcgKDB4MjAgbGVzcyB0aGFuIHRoZSBtZW1vcnkKK2xvY2F0aW9uKS4gVGhlIGNoaXAgcmVzcG9uZHMgdG8gIndyaXRlIHF1aWNrIiBkZXRlY3Rpb24gYXQgdGhpcyBhZGRyZXNzIGJ1dAorZG9lcyBub3QgcmVzcG9uZCB0byBieXRlIHJlYWRzLiBJZiB0aGlzIHJlZ2lzdGVyIGlzIHByZXNlbnQsIHRoZSBsb3dlciAxMjgKK2J5dGVzIG9mIHRoZSBtZW1vcnkgYXJyYXkgYXJlIG5vdCB3cml0ZSBwcm90ZWN0ZWQuIEFueSBieXRlIGRhdGEgd3JpdGUgdG8KK3RoaXMgYWRkcmVzcyB3aWxsIHdyaXRlIHByb3RlY3QgdGhlIG1lbW9yeSBhcnJheSBwZXJtYW5lbnRseSwgYW5kIHRoZQorZGV2aWNlIHdpbGwgbm8gbG9uZ2VyIHJlc3BvbmQgYXQgdGhlIDB4MzAtMzcgYWRkcmVzcy4gVGhlIGVlcHJvbSBkcml2ZXIKK2RvZXMgbm90IHN1cHBvcnQgdGhpcyByZWdpc3Rlci4KKworTGFja2luZyBmdW5jdGlvbmFsaXR5OgorCisqIEZ1bGwgc3VwcG9ydCBmb3IgbGFyZ2VyIGRldmljZXMgKDI0QzA0LCAyNEMwOCwgMjRDMTYpLiBUaGVzZSBhcmUgbm90Cit0eXBpY2FsbHkgZm91bmQgb24gYSBQQy4gVGhlc2UgZGV2aWNlcyB3aWxsIGFwcGVhciBhcyBzZXBhcmF0ZSBkZXZpY2VzIGF0CittdWx0aXBsZSBhZGRyZXNzZXMuCisKKyogU3VwcG9ydCBmb3IgcmVhbGx5IGxhcmdlIGRldmljZXMgKDI0QzMyLCAyNEM2NCwgMjRDMTI4LCAyNEMyNTYsIDI0QzUxMikuCitUaGVzZSBkZXZpY2VzIHJlcXVpcmUgdHdvLWJ5dGUgYWRkcmVzcyBmaWVsZHMgYW5kIGFyZSBub3Qgc3VwcG9ydGVkLgorCisqIEVuYWJsZSBXcml0aW5nLiBBZ2Fpbiwgbm8gdGVjaG5pY2FsIHJlYXNvbiB3aHkgbm90LCBidXQgbWFraW5nIGl0IGVhc3kKK3RvIGNoYW5nZSB0aGUgY29udGVudHMgb2YgdGhlIEVFUFJPTXMgKG9uIERJTU1zIGFueXdheSkgYWxzbyBtYWtlcyBpdCBlYXN5Cit0byBkaXNhYmxlIHRoZSBESU1NcyAocG90ZW50aWFsbHkgcHJldmVudGluZyB0aGUgY29tcHV0ZXIgZnJvbSBib290aW5nKQordW50aWwgdGhlIHZhbHVlcyBhcmUgcmVzdG9yZWQgc29tZWhvdy4KKworVXNlOgorCitBZnRlciBpbnNlcnRpbmcgdGhlIG1vZHVsZSAoYW5kIGFueSBvdGhlciByZXF1aXJlZCBTTUJ1cy9pMmMgbW9kdWxlcyksIHlvdQorc2hvdWxkIGhhdmUgc29tZSBFRVBST00gZGlyZWN0b3JpZXMgaW4gL3N5cy9idXMvaTJjL2RldmljZXMvKiBvZiBuYW1lcyBzdWNoCithcyAiMC0wMDUwIi4gSW5zaWRlIGVhY2ggb2YgdGhlc2UgaXMgYSBzZXJpZXMgb2YgZmlsZXMsIHRoZSBlZXByb20gZmlsZQorY29udGFpbnMgdGhlIGJpbmFyeSBkYXRhIGZyb20gRUVQUk9NLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZnNjaGVyIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZnNjaGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MDMxNjUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9mc2NoZXIKQEAgLTAsMCArMSwxNjkgQEAKK0tlcm5lbCBkcml2ZXIgZnNjaGVyCis9PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogRnVqaXRzdS1TaWVtZW5zIEhlcm1lcyBjaGlwCisgICAgUHJlZml4OiAnZnNjaGVyJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg3MworCitBdXRob3JzOgorICAgICAgICBSZWluaGFyZCBOaXNzbCA8cm5pc3NsQGdteC5kZT4gYmFzZWQgb24gd29yaworICAgICAgICBmcm9tIEhlcm1hbm4gSnVuZyA8aGVqQG9kbi5kZT4sCisgICAgICAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCisgICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoaXMgZHJpdmVyIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgdGhlIEZ1aml0c3UtU2llbWVucyBIZXJtZXMgY2hpcC4gSXQgaXMKK2Rlc2NyaWJlZCBpbiB0aGUgJ1JlZ2lzdGVyIFNldCBTcGVjaWZpY2F0aW9uIEJNQyBIZXJtZXMgYmFzZWQgU3lzdGVtYm9hcmQnCitmcm9tIEZ1aml0c3UtU2llbWVucy4KKworVGhlIEhlcm1lcyBjaGlwIGltcGxlbWVudHMgYSBoYXJkd2FyZS1iYXNlZCBzeXN0ZW0gbWFuYWdlbWVudCwgZS5nLiBmb3IKK2NvbnRyb2xsaW5nIGZhbiBzcGVlZCBhbmQgY29yZSB2b2x0YWdlLiBUaGVyZSBpcyBhbHNvIGEgd2F0Y2hkb2cgY291bnRlciBvbgordGhlIGNoaXAgd2hpY2ggY2FuIHRyaWdnZXIgYW4gYWxhcm0gYW5kIGV2ZW4gc2h1dCB0aGUgc3lzdGVtIGRvd24uCisKK1RoZSBjaGlwIHByb3ZpZGVzIHRocmVlIHRlbXBlcmF0dXJlIHZhbHVlcyAoQ1BVLCBtb3RoZXJib2FyZCBhbmQKK2F1eGlsaWFyeSksIHRocmVlIHZvbHRhZ2UgdmFsdWVzICgrMTJWLCArNVYgYW5kIGJhdHRlcnkpIGFuZCB0aHJlZSBmYW5zCisocG93ZXIgc3VwcGx5LCBDUFUgYW5kIGF1eGlsaWFyeSkuCisKK1RlbXBlcmF0dXJlcyBhcmUgbWVhc3VyZWQgaW4gZGVncmVlcyBDZWxzaXVzLiBUaGUgcmVzb2x1dGlvbiBpcyAxIGRlZ3JlZS4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIFRoZSB2YWx1ZQorY2FuIGJlIGRpdmlkZWQgYnkgYSBwcm9ncmFtbWFibGUgZGl2aWRlciAoMSwgMiBvciA0KSB3aGljaCBpcyBzdG9yZWQgb24KK3RoZSBjaGlwLgorCitWb2x0YWdlIHNlbnNvcnMgKGFsc28ga25vd24gYXMgImluIiBzZW5zb3JzKSByZXBvcnQgdGhlaXIgdmFsdWVzIGluIHZvbHRzLgorCitBbGwgdmFsdWVzIGFyZSByZXBvcnRlZCBhcyBmaW5hbCB2YWx1ZXMgZnJvbSB0aGUgZHJpdmVyLiBUaGVyZSBpcyBubyBuZWVkCitmb3IgZnVydGhlciBjYWxjdWxhdGlvbnMuCisKKworRGV0YWlsZWQgZGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0JlbG93IHlvdSdsbCBmaW5kIGEgc2luZ2xlIGxpbmUgZGVzY3JpcHRpb24gb2YgYWxsIHRoZSBiaXQgdmFsdWVzLiBXaXRoCit0aGlzIGluZm9ybWF0aW9uLCB5b3UncmUgYWJsZSB0byBkZWNvZGUgZS4gZy4gYWxhcm1zLCB3ZG9nLCBldGMuIFRvIG1ha2UKK3VzZSBvZiB0aGUgd2F0Y2hkb2csIHlvdSdsbCBuZWVkIHRvIHNldCB0aGUgd2F0Y2hkb2cgdGltZSBhbmQgZW5hYmxlIHRoZQord2F0Y2hkb2cuIEFmdGVyIHRoYXQgaXQgaXMgbmVjZXNzYXJ5IHRvIHJlc3RhcnQgdGhlIHdhdGNoZG9nIHRpbWUgd2l0aGluCit0aGUgc3BlY2lmaWVkIHBlcmlvZCBvZiB0aW1lLCBvciBhIHN5c3RlbSByZXNldCB3aWxsIG9jY3VyLgorCisqIHJldmlzaW9uCisgIFJFQURJTkcgJiAweGZmID0gMHg/PzogSEVSTUVTIHJldmlzaW9uIGlkZW50aWZpY2F0aW9uCisKKyogYWxhcm1zCisgIFJFQURJTkcgJiAweDgwID0gMHg4MDogQ1BVIHRocm90dGxpbmcgYWN0aXZlCisgIFJFQURJTkcgJiAweDgwID0gMHgwMDogQ1BVIHJ1bm5pbmcgYXQgZnVsbCBzcGVlZAorCisgIFJFQURJTkcgJiAweDEwID0gMHgxMDogc29mdHdhcmUgZXZlbnQgKHNlZSBjb250cm9sOjEpCisgIFJFQURJTkcgJiAweDEwID0gMHgwMDogbm8gc29mdHdhcmUgZXZlbnQKKworICBSRUFESU5HICYgMHgwOCA9IDB4MDg6IHdhdGNoZG9nIGV2ZW50IChzZWUgd2RvZzoyKQorICBSRUFESU5HICYgMHgwOCA9IDB4MDA6IG5vIHdhdGNoZG9nIGV2ZW50CisKKyAgUkVBRElORyAmIDB4MDIgPSAweDAyOiB0aGVybWFsIGV2ZW50IChzZWUgdGVtcCo6MSkKKyAgUkVBRElORyAmIDB4MDIgPSAweDAwOiBubyB0aGVybWFsIGV2ZW50CisKKyAgUkVBRElORyAmIDB4MDEgPSAweDAxOiBmYW4gZXZlbnQgKHNlZSBmYW4qOjEpCisgIFJFQURJTkcgJiAweDAxID0gMHgwMDogbm8gZmFuIGV2ZW50CisKKyAgUkVBRElORyAmIDB4MTMgISAweDAwOiBBTEVSVCBMRUQgaXMgZmxhc2hpbmcKKworKiBjb250cm9sCisgIFJFQURJTkcgJiAweDAxID0gMHgwMTogc29mdHdhcmUgZXZlbnQKKyAgUkVBRElORyAmIDB4MDEgPSAweDAwOiBubyBzb2Z0d2FyZSBldmVudAorCisgIFdSSVRJTkcgJiAweDAxID0gMHgwMTogc2V0IHNvZnR3YXJlIGV2ZW50CisgIFdSSVRJTkcgJiAweDAxID0gMHgwMDogY2xlYXIgc29mdHdhcmUgZXZlbnQKKworKiB3YXRjaGRvZ19jb250cm9sCisgIFJFQURJTkcgJiAweDgwID0gMHg4MDogcG93ZXIgb2ZmIG9uIHdhdGNoZG9nIGV2ZW50IHdoaWxlIHRoZXJtYWwgZXZlbnQKKyAgUkVBRElORyAmIDB4ODAgPSAweDAwOiB3YXRjaGRvZyBwb3dlciBvZmYgZGlzYWJsZWQgKGp1c3Qgc3lzdGVtIHJlc2V0IGVuYWJsZWQpCisKKyAgUkVBRElORyAmIDB4NDAgPSAweDQwOiB3YXRjaGRvZyB0aW1lYmFzZSA2MCBzZWNvbmRzIChzZWUgYWxzbyB3ZG9nOjEpCisgIFJFQURJTkcgJiAweDQwID0gMHgwMDogd2F0Y2hkb2cgdGltZWJhc2UgIDIgc2Vjb25kcworCisgIFJFQURJTkcgJiAweDEwID0gMHgxMDogd2F0Y2hkb2cgZW5hYmxlZAorICBSRUFESU5HICYgMHgxMCA9IDB4MDA6IHdhdGNoZG9nIGRpc2FibGVkCisKKyAgV1JJVElORyAmIDB4ODAgPSAweDgwOiBlbmFibGUgInBvd2VyIG9mZiBvbiB3YXRjaGRvZyBldmVudCB3aGlsZSB0aGVybWFsIGV2ZW50IgorICBXUklUSU5HICYgMHg4MCA9IDB4MDA6IGRpc2FibGUgInBvd2VyIG9mZiBvbiB3YXRjaGRvZyBldmVudCB3aGlsZSB0aGVybWFsIGV2ZW50IgorCisgIFdSSVRJTkcgJiAweDQwID0gMHg0MDogc2V0IHdhdGNoZG9nIHRpbWViYXNlIHRvIDYwIHNlY29uZHMKKyAgV1JJVElORyAmIDB4NDAgPSAweDAwOiBzZXQgd2F0Y2hkb2cgdGltZWJhc2UgdG8gIDIgc2Vjb25kcworCisgIFdSSVRJTkcgJiAweDIwID0gMHgyMDogZGlzYWJsZSB3YXRjaGRvZworCisgIFdSSVRJTkcgJiAweDEwID0gMHgxMDogZW5hYmxlIHdhdGNoZG9nIC8gcmVzdGFydCB3YXRjaGRvZyB0aW1lCisKKyogd2F0Y2hkb2dfc3RhdGUKKyAgUkVBRElORyAmIDB4MDIgPSAweDAyOiB3YXRjaGRvZyBzeXN0ZW0gcmVzZXQgb2NjdXJyZWQKKyAgUkVBRElORyAmIDB4MDIgPSAweDAwOiBubyB3YXRjaGRvZyBzeXN0ZW0gcmVzZXQgb2NjdXJyZWQKKworICBXUklUSU5HICYgMHgwMiA9IDB4MDI6IGNsZWFyIHdhdGNoZG9nIGV2ZW50CisKKyogd2F0Y2hkb2dfcHJlc2V0CisgIFJFQURJTkcgJiAweGZmID0gMHg/PzogY29uZmlndXJlZCB3YXRjaCBkb2cgdGltZSBpbiB1bml0cyAoc2VlIHdkb2c6MyAweDQwKQorCisgIFdSSVRJTkcgJiAweGZmID0gMHg/PzogY29uZmlndXJlIHdhdGNoIGRvZyB0aW1lIGluIHVuaXRzCisKKyogaW4qICAgICAoMDogKzVWLCAxOiArMTJWLCAyOiBvbmJvYXJkIDNWIGJhdHRlcnkpCisgIFJFQURJTkc6IGFjdHVhbCB2b2x0YWdlIHZhbHVlCisKKyogdGVtcCpfc3RhdHVzICAgKDE6IENQVSBzZW5zb3IsIDI6IG9uYm9hcmQgc2Vuc29yLCAzOiBhdXhpbGlhcnkgc2Vuc29yKQorICBSRUFESU5HICYgMHgwMiA9IDB4MDI6IHRoZXJtYWwgZXZlbnQgKG92ZXJ0ZW1wZXJhdHVyZSkKKyAgUkVBRElORyAmIDB4MDIgPSAweDAwOiBubyB0aGVybWFsIGV2ZW50CisKKyAgUkVBRElORyAmIDB4MDEgPSAweDAxOiBzZW5zb3IgaXMgd29ya2luZworICBSRUFESU5HICYgMHgwMSA9IDB4MDA6IHNlbnNvciBpcyBmYXVsdHkKKworICBXUklUSU5HICYgMHgwMiA9IDB4MDI6IGNsZWFyIHRoZXJtYWwgZXZlbnQKKworKiB0ZW1wKl9pbnB1dCAgICgxOiBDUFUgc2Vuc29yLCAyOiBvbmJvYXJkIHNlbnNvciwgMzogYXV4aWxpYXJ5IHNlbnNvcikKKyAgUkVBRElORzogYWN0dWFsIHRlbXBlcmF0dXJlIHZhbHVlCisKKyogZmFuKl9zdGF0dXMgICAoMTogcG93ZXIgc3VwcGx5IGZhbiwgMjogQ1BVIGZhbiwgMzogYXV4aWxpYXJ5IGZhbikKKyAgUkVBRElORyAmIDB4MDQgPSAweDA0OiBmYW4gZXZlbnQgKGZhbiBmYXVsdCkKKyAgUkVBRElORyAmIDB4MDQgPSAweDAwOiBubyBmYW4gZXZlbnQKKworICBXUklUSU5HICYgMHgwNCA9IDB4MDQ6IGNsZWFyIGZhbiBldmVudAorCisqIGZhbipfZGl2ICgxOiBwb3dlciBzdXBwbHkgZmFuLCAyOiBDUFUgZmFuLCAzOiBhdXhpbGlhcnkgZmFuKQorICAJRGl2aXNvcnMgMiw0IGFuZCA4IGFyZSBzdXBwb3J0ZWQsIGJvdGggZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcKKworKiBmYW4qX3B3bSAgICgxOiBwb3dlciBzdXBwbHkgZmFuLCAyOiBDUFUgZmFuLCAzOiBhdXhpbGlhcnkgZmFuKQorICBSRUFESU5HICYgMHhmZiA9IDB4MDA6IGZhbiBtYXkgYmUgc3dpdGNoZWQgb2ZmCisgIFJFQURJTkcgJiAweGZmID0gMHgwMTogZmFuIG11c3QgcnVuIGF0IGxlYXN0IGF0IG1pbmltdW0gc3BlZWQgKHN1cHBseTogNlYpCisgIFJFQURJTkcgJiAweGZmID0gMHhmZjogZmFuIG11c3QgcnVuIGF0IG1heGltdW0gc3BlZWQgKHN1cHBseTogMTJWKQorICBSRUFESU5HICYgMHhmZiA9IDB4Pz86IGZhbiBtdXN0IHJ1biBhdCBsZWFzdCBhdCBnaXZlbiBzcGVlZCAoc3VwcGx5OiA2Vi4uMTJWKQorCisgIFdSSVRJTkcgJiAweGZmID0gMHgwMDogZmFuIG1heSBiZSBzd2l0Y2hlZCBvZmYKKyAgV1JJVElORyAmIDB4ZmYgPSAweDAxOiBmYW4gbXVzdCBydW4gYXQgbGVhc3QgYXQgbWluaW11bSBzcGVlZCAoc3VwcGx5OiA2VikKKyAgV1JJVElORyAmIDB4ZmYgPSAweGZmOiBmYW4gbXVzdCBydW4gYXQgbWF4aW11bSBzcGVlZCAoc3VwcGx5OiAxMlYpCisgIFdSSVRJTkcgJiAweGZmID0gMHg/PzogZmFuIG11c3QgcnVuIGF0IGxlYXN0IGF0IGdpdmVuIHNwZWVkIChzdXBwbHk6IDZWLi4xMlYpCisKKyogZmFuKl9pbnB1dCAgICgxOiBwb3dlciBzdXBwbHkgZmFuLCAyOiBDUFUgZmFuLCAzOiBhdXhpbGlhcnkgZmFuKQorICBSRUFESU5HOiBhY3R1YWwgUlBNIHZhbHVlCisKKworTGltaXRhdGlvbnMKKy0tLS0tLS0tLS0tCisKKyogTWVhc3VyaW5nIGZhbiBzcGVlZAorSXQgc2VlbXMgdGhhdCB0aGUgY2hpcCBjb3VudHMgInJpcHBsZXMiICh0eXBpY2FsIGZhbnMgcHJvZHVjZSAyIHJpcHBsZXMgcGVyCityb3RhdGlvbiB3aGlsZSBWRVJBWCBmYW5zIHByb2R1Y2UgMTgpIGluIGEgOS1iaXQgcmVnaXN0ZXIuIFRoaXMgcmVnaXN0ZXIgaXMKK3JlYWQgb3V0IGV2ZXJ5IHNlY29uZCwgdGhlbiB0aGUgcmlwcGxlIHByZXNjYWxlciAoMiwgNCBvciA4KSBpcyBhcHBsaWVkIGFuZAordGhlIHJlc3VsdCBpcyBzdG9yZWQgaW4gdGhlIDggYml0IG91dHB1dCByZWdpc3Rlci4gRHVlIHRvIHRoZSBsaW1pdGF0aW9uIG9mCit0aGUgY291bnRpbmcgcmVnaXN0ZXIgdG8gOSBiaXRzLCBpdCBpcyBpbXBvc3NpYmxlIHRvIG1lYXN1cmUgYSBWRVJBWCBmYW4KK3Byb3Blcmx5IChldmVuIHdpdGggYSBwcmVzY2FsZXIgb2YgOCkuIEF0IGl0cyBtYXhpbXVtIHNwZWVkIG9mIDM1MDAgUlBNIHRoZQorZmFuIHByb2R1Y2VzIDEwODAgcmlwcGxlcyBwZXIgc2Vjb25kIHdoaWNoIGNhdXNlcyB0aGUgY291bnRpbmcgcmVnaXN0ZXIgdG8KK292ZXJmbG93IHR3aWNlLCBsZWFkaW5nIHRvIG9ubHkgMTg2IFJQTS4KKworKiBNZWFzdXJpbmcgaW5wdXQgdm9sdGFnZXMKK2luMiAoImJhdHRlcnkiKSByZXBvcnRzIHRoZSB2b2x0YWdlIG9mIHRoZSBvbmJvYXJkIGxpdGhpdW0gYmF0dGVyeSBhbmQgbm90CisrMy4zViBmcm9tIHRoZSBwb3dlciBzdXBwbHkuCisKKyogVW5kb2N1bWVudGVkIGZlYXR1cmVzCitGdWppdHN1LVNpZW1lbnMgQ29tcHV0ZXJzIGhhcyBub3QgZG9jdW1lbnRlZCBhbGwgZmVhdHVyZXMgb2YgdGhlIGNoaXAgc28KK2Zhci4gVGhlaXIgc29mdHdhcmUsIFN5c3RlbSBHdWFyZCwgc2hvd3MgdGhhdCB0aGVyZSBhcmUgYSBzdGlsbCBzb21lCitmZWF0dXJlcyB3aGljaCBjYW5ub3QgYmUgY29udHJvbGxlZCBieSB0aGlzIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvZ2w1MThzbSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2dsNTE4c20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UwODgxODgKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9nbDUxOHNtCkBAIC0wLDAgKzEsNzQgQEAKK0tlcm5lbCBkcml2ZXIgZ2w1MThzbQorPT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBHZW5lc3lzIExvZ2ljIEdMNTE4U00gcmVsZWFzZSAweDAwCisgICAgUHJlZml4OiAnZ2w1MThzbScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmMgYW5kIDB4MmQKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cuZ2VuZXN5c2xvZ2ljLmNvbS9wZGYKKyAgKiBHZW5lc3lzIExvZ2ljIEdMNTE4U00gcmVsZWFzZSAweDgwCisgICAgUHJlZml4OiAnZ2w1MThzbScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmMgYW5kIDB4MmQKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cuZ2VuZXN5c2xvZ2ljLmNvbS9wZGYKKworQXV0aG9yczoKKyAgICAgICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKKyAgICAgICAgS3n2c3RpIE3kbGtraSA8a21hbGtraUBjYy5odXQuZmk+CisgICAgICAgIEhvbmctR3VubiBDaGV3IDxoZ2xpbnV4QGd1bm5ldC5vcmc+CisgICAgICAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworSU1QT1JUQU5UOgorCitGb3IgdGhlIHJldmlzaW9uIDB4MDAgY2hpcCwgdGhlIGluMCwgaW4xLCBhbmQgaW4yICB2YWx1ZXMgKCs1ViwgKzNWLAorYW5kICsxMlYpIENBTk5PVCBiZSByZWFkLiBUaGlzIGlzIGEgbGltaXRhdGlvbiBvZiB0aGUgY2hpcCwgbm90IHRoZSBkcml2ZXIuCisKK1RoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBHZW5lc3lzIExvZ2ljIEdMNTE4U00gY2hpcC4gVGhlcmUgYXJlIGF0IGxlYXN0Cit0d28gcmV2aXNpb24gb2YgdGhpcyBjaGlwLCB3aGljaCB3ZSBjYWxsIHJldmlzaW9uIDB4MDAgYW5kIDB4ODAuIFJldmlzaW9uCisweDgwIGNoaXBzIHN1cHBvcnQgdGhlIHJlYWRpbmcgb2YgYWxsIHZvbHRhZ2VzIGFuZCByZXZpc2lvbiAweDAwIG9ubHkKK2ZvciBWSU4zLgorCitUaGUgR0w1MThTTSBpbXBsZW1lbnRzIG9uZSB0ZW1wZXJhdHVyZSBzZW5zb3IsIHR3byBmYW4gcm90YXRpb24gc3BlZWQKK3NlbnNvcnMsIGFuZCBmb3VyIHZvbHRhZ2Ugc2Vuc29ycy4gSXQgY2FuIHJlcG9ydCBhbGFybXMgdGhyb3VnaCB0aGUKK2NvbXB1dGVyIHNwZWFrZXJzLgorCitUZW1wZXJhdHVyZXMgYXJlIG1lYXN1cmVkIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gQW4gYWxhcm0gZ29lcyBvZmYgd2hpbGUgdGhlCit0ZW1wZXJhdHVyZSBpcyBhYm92ZSB0aGUgb3ZlciB0ZW1wZXJhdHVyZSBsaW1pdCwgYW5kIGhhcyBub3QgeWV0IGRyb3BwZWQKK2JlbG93IHRoZSBoeXN0ZXJlc2lzIGxpbWl0LiBUaGUgYWxhcm0gYWx3YXlzIHJlZmxlY3RzIHRoZSBjdXJyZW50CitzaXR1YXRpb24uIE1lYXN1cmVtZW50cyBhcmUgZ3VhcmFudGVlZCBiZXR3ZWVuIC0xMCBkZWdyZWVzIGFuZCArMTEwCitkZWdyZWVzLCB3aXRoIGEgYWNjdXJhY3kgb2YgKy8tMyBkZWdyZWVzLgorCitSb3RhdGlvbiBzcGVlZHMgYXJlIHJlcG9ydGVkIGluIFJQTSAocm90YXRpb25zIHBlciBtaW51dGUpLiBBbiBhbGFybSBpcwordHJpZ2dlcmVkIGlmIHRoZSByb3RhdGlvbiBzcGVlZCBoYXMgZHJvcHBlZCBiZWxvdyBhIHByb2dyYW1tYWJsZSBsaW1pdC4gSW4KK2Nhc2Ugd2hlbiB5b3UgaGF2ZSBzZWxlY3RlZCB0byB0dXJuIGZhbjEgb2ZmLCBubyBmYW4xIGFsYXJtIGlzIHRyaWdnZXJlZC4KKworRmFuIHJlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8KK2dpdmUgdGhlIHJlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuICBOb3QgYWxsIFJQTSB2YWx1ZXMgY2FuCithY2N1cmF0ZWx5IGJlIHJlcHJlc2VudGVkLCBzbyBzb21lIHJvdW5kaW5nIGlzIGRvbmUuIFdpdGggYSBkaXZpZGVyCitvZiAyLCB0aGUgbG93ZXN0IHJlcHJlc2VudGFibGUgdmFsdWUgaXMgYXJvdW5kIDE5MDAgUlBNLgorCitWb2x0YWdlIHNlbnNvcnMgKGFsc28ga25vd24gYXMgVklOIHNlbnNvcnMpIHJlcG9ydCB0aGVpciB2YWx1ZXMgaW4gdm9sdHMuCitBbiBhbGFybSBpcyB0cmlnZ2VyZWQgaWYgdGhlIHZvbHRhZ2UgaGFzIGNyb3NzZWQgYSBwcm9ncmFtbWFibGUgbWluaW11bSBvcgorbWF4aW11bSBsaW1pdC4gTm90ZSB0aGF0IG1pbmltdW0gaW4gdGhpcyBjYXNlIGFsd2F5cyBtZWFucyAnY2xvc2VzdCB0bworemVybyc7IHRoaXMgaXMgaW1wb3J0YW50IGZvciBuZWdhdGl2ZSB2b2x0YWdlIG1lYXN1cmVtZW50cy4gVGhlIFZERCBpbnB1dAorbWVhc3VyZXMgdm9sdGFnZXMgYmV0d2VlbiAwLjAwMCBhbmQgNS44NjUgdm9sdCwgd2l0aCBhIHJlc29sdXRpb24gb2YgMC4wMjMKK3ZvbHQuIFRoZSBvdGhlciBpbnB1dHMgbWVhc3VyZSB2b2x0YWdlcyBiZXR3ZWVuIDAuMDAwIGFuZCA0Ljg0NSB2b2x0LCB3aXRoCithIHJlc29sdXRpb24gb2YgMC4wMTkgdm9sdC4gTm90ZSB0aGF0IHJldmlzaW9uIDB4MDAgY2hpcHMgZG8gbm90IHN1cHBvcnQKK3JlYWRpbmcgdGhlIGN1cnJlbnQgdm9sdGFnZSBvZiBhbnkgaW5wdXQgZXhjZXB0IGZvciBWSU4zOyBsaW1pdCBzZXR0aW5nIGFuZAorYWxhcm1zIHdvcmsgZmluZSwgdGhvdWdoLgorCitXaGVuIGFuIGFsYXJtIGlzIHRyaWdnZXJlZCwgeW91IGNhbiBiZSB3YXJuZWQgYnkgYSBiZWVwaW5nIHNpZ25hbCB0aHJvdWdoIHlvdXIKK2NvbXB1dGVyIHNwZWFrZXIuIEl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZSBhbGwgYmVlcGluZyBnbG9iYWxseSwgb3Igb25seSB0aGUKK2JlZXBpbmcgZm9yIHNvbWUgYWxhcm1zLgorCitJZiBhbiBhbGFybSB0cmlnZ2VycywgaXQgd2lsbCByZW1haW4gdHJpZ2dlcmVkIHVudGlsIHRoZSBoYXJkd2FyZSByZWdpc3RlcgoraXMgcmVhZCBhdCBsZWFzdCBvbmNlIChleGNlcHQgZm9yIHRlbXBlcmF0dXJlIGFsYXJtcykuIFRoaXMgbWVhbnMgdGhhdCB0aGUKK2NhdXNlIGZvciB0aGUgYWxhcm0gbWF5IGFscmVhZHkgaGF2ZSBkaXNhcHBlYXJlZCEgTm90ZSB0aGF0IGluIHRoZSBjdXJyZW50CitpbXBsZW1lbnRhdGlvbiwgYWxsIGhhcmR3YXJlIHJlZ2lzdGVycyBhcmUgcmVhZCB3aGVuZXZlciBhbnkgZGF0YSBpcyByZWFkCisodW5sZXNzIGl0IGlzIGxlc3MgdGhhbiAxLjUgc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUpLiBUaGlzIG1lYW5zIHRoYXQKK3lvdSBjYW4gZWFzaWx5IG1pc3Mgb25jZS1vbmx5IGFsYXJtcy4KKworVGhlIEdMNTE4U00gb25seSB1cGRhdGVzIGl0cyB2YWx1ZXMgZWFjaCAxLjUgc2Vjb25kczsgcmVhZGluZyBpdCBtb3JlIG9mdGVuCit3aWxsIGRvIG5vIGhhcm0sIGJ1dCB3aWxsIHJldHVybiAnb2xkJyB2YWx1ZXMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9pdDg3IGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvaXQ4NwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDAxOTUwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvaXQ4NwpAQCAtMCwwICsxLDk2IEBACitLZXJuZWwgZHJpdmVyIGl0ODcKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogSVQ4NzA1RgorICAgIFByZWZpeDogJ2l0ODcnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IGZyb20gU3VwZXIgSS9PIGNvbmZpZyBzcGFjZSwgb3IgZGVmYXVsdCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBJVEUgd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5pdGUuY29tLnR3LworICAqIElUODcxMkYKKyAgICBQcmVmaXg6ICdpdDg3MTInCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDI4IC0gMHgyZgorICAgICAgICAgICAgICAgICAgICAgICBmcm9tIFN1cGVyIEkvTyBjb25maWcgc3BhY2UsIG9yIGRlZmF1bHQgSVNBIDB4MjkwICg4IEkvTyBwb3J0cykKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgSVRFIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuaXRlLmNvbS50dy8KKyAgKiBTaVM5NTAgICBbY2xvbmUgb2YgSVQ4NzA1Rl0KKyAgICBQcmVmaXg6ICdzaXM5NTAnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IGZyb20gU3VwZXIgSS9PIGNvbmZpZyBzcGFjZSwgb3IgZGVmYXVsdCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogTm8gbG9uZ2VyIGJlIGF2YWlsYWJsZQorCitBdXRob3I6IENocmlzdG9waGUgR2F1dGhyb24gPGNocmlzZ0AwLWluLmNvbT4KKworCitNb2R1bGUgUGFyYW1ldGVycworLS0tLS0tLS0tLS0tLS0tLS0KKworKiB1cGRhdGVfdmJhdDogaW50CisKKyAgMCBpZiB2YmF0IHNob3VsZCByZXBvcnQgcG93ZXIgb24gdmFsdWUsIDEgaWYgdmJhdCBzaG91bGQgYmUgdXBkYXRlZCBhZnRlcgorICBlYWNoIHJlYWQuIERlZmF1bHQgaXMgMC4gT24gc29tZSBib2FyZHMgdGhlIGJhdHRlcnkgdm9sdGFnZSBpcyBwcm92aWRlZAorICBieSBlaXRoZXIgdGhlIGJhdHRlcnkgb3IgdGhlIG9uYm9hcmQgcG93ZXIgc3VwcGx5LiBPbmx5IHRoZSBmaXJzdCByZWFkaW5nCisgIGF0IHBvd2VyIG9uIHdpbGwgYmUgdGhlIGFjdHVhbCBiYXR0ZXJ5IHZvbHRhZ2UgKHdoaWNoIHRoZSBjaGlwIGRvZXMKKyAgYXV0b21hdGljYWxseSkuIE9uIG90aGVyIGJvYXJkcyB0aGUgYmF0dGVyeSB2b2x0YWdlIGlzIGFsd2F5cyBmZWQgdG8KKyAgdGhlIGNoaXAgc28gY2FuIGJlIHJlYWQgYXQgYW55IHRpbWUuIEV4Y2Vzc2l2ZSByZWFkaW5nIG1heSBkZWNyZWFzZQorICBiYXR0ZXJ5IGxpZmUgYnV0IG5vIGluZm9ybWF0aW9uIGlzIGdpdmVuIGluIHRoZSBkYXRhc2hlZXQuCisKKyogZml4X3B3bV9wb2xhcml0eSBpbnQKKworICBGb3JjZSBQV00gcG9sYXJpdHkgdG8gYWN0aXZlIGhpZ2ggKERBTkdFUk9VUykuIFNvbWUgY2hpcHMgYXJlCisgIG1pc2NvbmZpZ3VyZWQgYnkgQklPUyAtIFBXTSB2YWx1ZXMgd291bGQgYmUgaW52ZXJ0ZWQuIFRoaXMgb3B0aW9uIHRyaWVzCisgIHRvIGZpeCB0aGlzLiBQbGVhc2UgY29udGFjdCB5b3VyIEJJT1MgbWFudWZhY3R1cmVyIGFuZCBhc2sgaGltIGZvciBmaXguCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBJVDg3MDVGLCBJVDg3MTJGIGFuZCBTaVM5NTAgY2hpcHMuCisKK1RoaXMgZHJpdmVyIGFsc28gc3VwcG9ydHMgSVQ4NzEyRiwgd2hpY2ggYWRkcyBTTUJ1cyBhY2Nlc3MsIGFuZCBhIFZJRAoraW5wdXQsIHVzZWQgdG8gcmVwb3J0IHRoZSBWY29yZSB2b2x0YWdlIG9mIHRoZSBQZW50aXVtIHByb2Nlc3Nvci4KK1RoZSBJVDg3MTJGIGFkZGl0aW9uYWxseSBmZWF0dXJlcyBWSUQgaW5wdXRzLgorCitUaGVzZSBjaGlwcyBhcmUgJ1N1cGVyIEkvTyBjaGlwcycsIHN1cHBvcnRpbmcgZmxvcHB5IGRpc2tzLCBpbmZyYXJlZCBwb3J0cywKK2pveXN0aWNrcyBhbmQgb3RoZXIgbWlzY2VsbGFuZW91cyBzdHVmZi4gRm9yIGhhcmR3YXJlIG1vbml0b3JpbmcsIHRoZXkKK2luY2x1ZGUgYW4gJ2Vudmlyb25tZW50IGNvbnRyb2xsZXInIHdpdGggMyB0ZW1wZXJhdHVyZSBzZW5zb3JzLCAzIGZhbgorcm90YXRpb24gc3BlZWQgc2Vuc29ycywgOCB2b2x0YWdlIHNlbnNvcnMsIGFuZCBhc3NvY2lhdGVkIGFsYXJtcy4KKworVGVtcGVyYXR1cmVzIGFyZSBtZWFzdXJlZCBpbiBkZWdyZWVzIENlbHNpdXMuIEFuIGFsYXJtIGlzIHRyaWdnZXJlZCBvbmNlCit3aGVuIHRoZSBPdmVydGVtcGVyYXR1cmUgU2h1dGRvd24gbGltaXQgaXMgY3Jvc3NlZC4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIEFuIGFsYXJtIGlzCit0cmlnZ2VyZWQgaWYgdGhlIHJvdGF0aW9uIHNwZWVkIGhhcyBkcm9wcGVkIGJlbG93IGEgcHJvZ3JhbW1hYmxlIGxpbWl0LiBGYW4KK3JlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8gZ2l2ZSB0aGUKK3JlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuIE5vdCBhbGwgUlBNIHZhbHVlcyBjYW4gYWNjdXJhdGVseSBiZQorcmVwcmVzZW50ZWQsIHNvIHNvbWUgcm91bmRpbmcgaXMgZG9uZS4gV2l0aCBhIGRpdmlkZXIgb2YgMiwgdGhlIGxvd2VzdAorcmVwcmVzZW50YWJsZSB2YWx1ZSBpcyBhcm91bmQgMjYwMCBSUE0uCisKK1ZvbHRhZ2Ugc2Vuc29ycyAoYWxzbyBrbm93biBhcyBJTiBzZW5zb3JzKSByZXBvcnQgdGhlaXIgdmFsdWVzIGluIHZvbHRzLiBBbgorYWxhcm0gaXMgdHJpZ2dlcmVkIGlmIHRoZSB2b2x0YWdlIGhhcyBjcm9zc2VkIGEgcHJvZ3JhbW1hYmxlIG1pbmltdW0gb3IKK21heGltdW0gbGltaXQuIE5vdGUgdGhhdCBtaW5pbXVtIGluIHRoaXMgY2FzZSBhbHdheXMgbWVhbnMgJ2Nsb3Nlc3QgdG8KK3plcm8nOyB0aGlzIGlzIGltcG9ydGFudCBmb3IgbmVnYXRpdmUgdm9sdGFnZSBtZWFzdXJlbWVudHMuIEFsbCB2b2x0YWdlCitpbnB1dHMgY2FuIG1lYXN1cmUgdm9sdGFnZXMgYmV0d2VlbiAwIGFuZCA0LjA4IHZvbHRzLCB3aXRoIGEgcmVzb2x1dGlvbiBvZgorMC4wMTYgdm9sdC4gVGhlIGJhdHRlcnkgdm9sdGFnZSBpbjggZG9lcyBub3QgaGF2ZSBsaW1pdCByZWdpc3RlcnMuCisKK1RoZSBWSUQgbGluZXMgKElUODcxMkYgb25seSkgZW5jb2RlIHRoZSBjb3JlIHZvbHRhZ2UgdmFsdWU6IHRoZSB2b2x0YWdlCitsZXZlbCB5b3VyIHByb2Nlc3NvciBzaG91bGQgd29yayB3aXRoLiBUaGlzIGlzIGhhcmRjb2RlZCBieSB0aGUgbWFpbmJvYXJkCithbmQvb3IgcHJvY2Vzc29yIGl0c2VsZi4gSXQgaXMgYSB2YWx1ZSBpbiB2b2x0cy4KKworSWYgYW4gYWxhcm0gdHJpZ2dlcnMsIGl0IHdpbGwgcmVtYWluIHRyaWdnZXJlZCB1bnRpbCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXIKK2lzIHJlYWQgYXQgbGVhc3Qgb25jZS4gVGhpcyBtZWFucyB0aGF0IHRoZSBjYXVzZSBmb3IgdGhlIGFsYXJtIG1heSBhbHJlYWR5CitoYXZlIGRpc2FwcGVhcmVkISBOb3RlIHRoYXQgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIGFsbCBoYXJkd2FyZQorcmVnaXN0ZXJzIGFyZSByZWFkIHdoZW5ldmVyIGFueSBkYXRhIGlzIHJlYWQgKHVubGVzcyBpdCBpcyBsZXNzIHRoYW4gMS41CitzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZSkuIFRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGVhc2lseSBtaXNzCitvbmNlLW9ubHkgYWxhcm1zLgorCitUaGUgSVQ4N3h4IG9ubHkgdXBkYXRlcyBpdHMgdmFsdWVzIGVhY2ggMS41IHNlY29uZHM7IHJlYWRpbmcgaXQgbW9yZSBvZnRlbgord2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4gJ29sZCcgdmFsdWVzLgorCitUbyBjaGFuZ2Ugc2Vuc29yIE4gdG8gYSB0aGVybWlzdG9yLCAnZWNobyAyID4gdGVtcE5fdHlwZScgd2hlcmUgTiBpcyAxLCAyLAorb3IgMy4gVG8gY2hhbmdlIHNlbnNvciBOIHRvIGEgdGhlcm1hbCBkaW9kZSwgJ2VjaG8gMyA+IHRlbXBOX3R5cGUnLgorR2l2ZSAwIGZvciB1bnVzZWQgc2Vuc29yLiBBbnkgb3RoZXIgdmFsdWUgaXMgaW52YWxpZC4gVG8gY29uZmlndXJlIHRoaXMgYXQKK3N0YXJ0dXAsIGNvbnN1bHQgbG1fc2Vuc29ycydzIC9ldGMvc2Vuc29ycy5jb25mLiAoMiA9IHRoZXJtaXN0b3I7CiszID0gdGhlcm1hbCBkaW9kZSkKKworVGhlIGZhbiBzcGVlZCBjb250cm9sIGZlYXR1cmVzIGFyZSBsaW1pdGVkIHRvIG1hbnVhbCBQV00gbW9kZS4gQXV0b21hdGljCisiU21hcnQgR3VhcmRpYW4iIG1vZGUgY29udHJvbCBoYW5kbGluZyBpcyBub3QgaW1wbGVtZW50ZWQuIEhvd2V2ZXIKK2lmIHlvdSB3YW50IHRvIGdvIGZvciAibWFudWFsIG1vZGUiIGp1c3Qgd3JpdGUgMSB0byBwd21OX2VuYWJsZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtNjMgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTYzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNjYwYmYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTYzCkBAIC0wLDAgKzEsNTcgQEAKK0tlcm5lbCBkcml2ZXIgbG02MworPT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNNjMKKyAgICBQcmVmaXg6ICdsbTYzJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0YworICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNNjMuaHRtbAorCitBdXRob3I6IEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorCitUaGFua3MgZ28gdG8gVHlhbiBhbmQgZXNwZWNpYWxseSBBbGV4IEJ1Y2tpbmdoYW0gZm9yIHNldHRpbmcgdXAgYSByZW1vdGUKK2FjY2VzcyB0byB0aGVpciBTNDg4MiB0ZXN0IHBsYXRmb3JtIGZvciB0aGlzIGRyaXZlci4KKyAgaHR0cDovL3d3dy50eWFuLmNvbS8KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBMTTYzIGlzIGEgZGlnaXRhbCB0ZW1wZXJhdHVyZSBzZW5zb3Igd2l0aCBpbnRlZ3JhdGVkIGZhbiBtb25pdG9yaW5nCithbmQgY29udHJvbC4KKworVGhlIExNNjMgaXMgYmFzaWNhbGx5IGFuIExNODYgd2l0aCBmYW4gc3BlZWQgbW9uaXRvcmluZyBhbmQgY29udHJvbAorY2FwYWJpbGl0aWVzIGFkZGVkLiBJdCBtaXNzZXMgc29tZSBvZiB0aGUgTE04NiBmZWF0dXJlcyB0aG91Z2g6CisgLSBObyBsb3cgbGltaXQgZm9yIGxvY2FsIHRlbXBlcmF0dXJlLgorIC0gTm8gY3JpdGljYWwgbGltaXQgZm9yIGxvY2FsIHRlbXBlcmF0dXJlLgorIC0gQ3JpdGljYWwgbGltaXQgZm9yIHJlbW90ZSB0ZW1wZXJhdHVyZSBjYW4gYmUgY2hhbmdlZCBvbmx5IG9uY2UuIFdlCisgICB3aWxsIGNvbnNpZGVyIHRoYXQgdGhlIGNyaXRpY2FsIGxpbWl0IGlzIHJlYWQtb25seS4KKworVGhlIGRhdGFzaGVldCBpc24ndCB2ZXJ5IGNsZWFyIGFib3V0IHdoYXQgdGhlIHRhY2hvbWV0ZXIgcmVhZGluZyBpcy4KKworQW4gZXhwbGFuYXRpb24gZnJvbSBOYXRpb25hbCBTZW1pY29uZHVjdG9yOiBUaGUgdHdvIGxvd2VyIGJpdHMgb2YgdGhlIHJlYWQKK3ZhbHVlIGhhdmUgdG8gYmUgbWFza2VkIG91dC4gVGhlIHZhbHVlIGlzIHN0aWxsIDE2IGJpdCBpbiB3aWR0aC4KKworQWxsIHRlbXBlcmF0dXJlIHZhbHVlcyBhcmUgZ2l2ZW4gaW4gZGVncmVlcyBDZWxzaXVzLiBSZXNvbHV0aW9uIGlzIDEuMAorZGVncmVlIGZvciB0aGUgbG9jYWwgdGVtcGVyYXR1cmUsIDAuMTI1IGRlZ3JlZSBmb3IgdGhlIHJlbW90ZSB0ZW1wZXJhdHVyZS4KKworVGhlIGZhbiBzcGVlZCBpcyBtZWFzdXJlZCB1c2luZyBhIHRhY2hvbWV0ZXIuIENvbnRyYXJ5IHRvIG1vc3QgY2hpcHMgd2hpY2gKK3N0b3JlIHRoZSB2YWx1ZSBpbiBhbiA4LWJpdCByZWdpc3RlciBhbmQgaGF2ZSBhIHNlbGVjdGFibGUgY2xvY2sgZGl2aWRlcgordG8gbWFrZSBzdXJlIHRoYXQgdGhlIHJlc3VsdCB3aWxsIGZpdCBpbiB0aGUgcmVnaXN0ZXIsIHRoZSBMTTYzIHVzZXMgMTYtYml0Cit2YWx1ZSBmb3IgbWVhc3VyaW5nIHRoZSBzcGVlZCBvZiB0aGUgZmFuLiBJdCBjYW4gbWVhc3VyZSBmYW4gc3BlZWRzIGRvd24gdG8KKzgzIFJQTSwgYXQgbGVhc3QgaW4gdGhlb3J5LgorCitOb3RlIHRoYXQgdGhlIHBpbiB1c2VkIGZvciBmYW4gbW9uaXRvcmluZyBpcyBzaGFyZWQgd2l0aCBhbiBhbGVydCBvdXQKK2Z1bmN0aW9uLiBEZXBlbmRpbmcgb24gaG93IHRoZSBib2FyZCBkZXNpZ25lciB3YW50ZWQgdG8gdXNlIHRoZSBjaGlwLCBmYW4KK3NwZWVkIG1vbml0b3Jpbmcgd2lsbCBvciB3aWxsIG5vdCBiZSBwb3NzaWJsZS4gVGhlIHByb3BlciBjaGlwIGNvbmZpZ3VyYXRpb24KK2lzIGxlZnQgdG8gdGhlIEJJT1MsIGFuZCB0aGUgZHJpdmVyIHdpbGwgYmxpbmRseSB0cnVzdCBpdC4KKworQSBQV00gb3V0cHV0IGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHNwZWVkIG9mIHRoZSBmYW4uIFRoZSBMTTYzIGhhcyB0d28KK1BXTSBtb2RlczogbWFudWFsIGFuZCBhdXRvbWF0aWMuIEF1dG9tYXRpYyBtb2RlIGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZCB5ZXQKKyh5b3UgY2Fubm90IGRlZmluZSB5b3VyIGN1c3RvbSBQV00vdGVtcGVyYXR1cmUgY3VydmUpLCBhbmQgbW9kZSBjaGFuZ2UgaXNuJ3QKK3N1cHBvcnRlZCBlaXRoZXIuCisKK1RoZSBsbTYzIGRyaXZlciB3aWxsIG5vdCB1cGRhdGUgaXRzIHZhbHVlcyBtb3JlIGZyZXF1ZW50bHkgdGhhbiBldmVyeQorc2Vjb25kOyByZWFkaW5nIHRoZW0gbW9yZSBvZnRlbiB3aWxsIGRvIG5vIGhhcm0sIGJ1dCB3aWxsIHJldHVybiAnb2xkJwordmFsdWVzLgorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTc1IGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG03NQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTYzNTZmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG03NQpAQCAtMCwwICsxLDY1IEBACitLZXJuZWwgZHJpdmVyIGxtNzUKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTc1CisgICAgUHJlZml4OiAnbG03NScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NDggLSAweDRmCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vCisgICogRGFsbGFzIFNlbWljb25kdWN0b3IgRFM3NQorICAgIFByZWZpeDogJ2xtNzUnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDQ4IC0gMHg0ZgorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBEYWxsYXMgU2VtaWNvbmR1Y3RvciB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm1heGltLWljLmNvbS8KKyAgKiBEYWxsYXMgU2VtaWNvbmR1Y3RvciBEUzE3NzUKKyAgICBQcmVmaXg6ICdsbTc1JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0OCAtIDB4NGYKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgRGFsbGFzIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5tYXhpbS1pYy5jb20vCisgICogTWF4aW0gTUFYNjYyNSwgTUFYNjYyNgorICAgIFByZWZpeDogJ2xtNzUnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDQ4IC0gMHg0YgorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBNYXhpbSB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm1heGltLWljLmNvbS8KKyAgKiBNaWNyb2NoaXAgKFRlbENvbSkgVENONzUKKyAgICBQcmVmaXg6ICdsbTc1JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0OCAtIDB4NGYKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTWljcm9jaGlwIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubWljcm9jaGlwLmNvbS8KKworQXV0aG9yOiBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+CisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGUgTE03NSBpbXBsZW1lbnRzIG9uZSB0ZW1wZXJhdHVyZSBzZW5zb3IuIExpbWl0cyBjYW4gYmUgc2V0IHRocm91Z2ggdGhlCitPdmVydGVtcGVyYXR1cmUgU2h1dGRvd24gcmVnaXN0ZXIgYW5kIEh5c3RlcmVzaXMgcmVnaXN0ZXIuIEVhY2ggdmFsdWUgY2FuIGJlCitzZXQgYW5kIHJlYWQgdG8gaGFsZi1kZWdyZWUgYWNjdXJhY3kuCitBbiBhbGFybSBpcyBpc3N1ZWQgKHVzdWFsbHkgdG8gYSBjb25uZWN0ZWQgTE03OCkgd2hlbiB0aGUgdGVtcGVyYXR1cmUKK2dldHMgaGlnaGVyIHRoZW4gdGhlIE92ZXJ0ZW1wZXJhdHVyZSBTaHV0ZG93biB2YWx1ZTsgaXQgc3RheXMgb24gdW50aWwKK3RoZSB0ZW1wZXJhdHVyZSBmYWxscyBiZWxvdyB0aGUgSHlzdGVyZXNpcyB2YWx1ZS4KK0FsbCB0ZW1wZXJhdHVyZXMgYXJlIGluIGRlZ3JlZXMgQ2Vsc2l1cywgYW5kIGFyZSBndWFyYW50ZWVkIHdpdGhpbiBhCityYW5nZSBvZiAtNTUgdG8gKzEyNSBkZWdyZWVzLgorCitUaGUgTE03NSBvbmx5IHVwZGF0ZXMgaXRzIHZhbHVlcyBlYWNoIDEuNSBzZWNvbmRzOyByZWFkaW5nIGl0IG1vcmUgb2Z0ZW4KK3dpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwgcmV0dXJuICdvbGQnIHZhbHVlcy4KKworVGhlIExNNzUgaXMgdXN1YWxseSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggTE03OC1saWtlIGNoaXBzLCB0byBtZWFzdXJlCit0aGUgdGVtcGVyYXR1cmUgb2YgdGhlIHByb2Nlc3NvcihzKS4KKworVGhlIERTNzUsIERTMTc3NSwgTUFYNjYyNSwgYW5kIE1BWDY2MjYgYXJlIHN1cHBvcnRlZCBhcyB3ZWxsLgorVGhleSBhcmUgbm90IGRpc3Rpbmd1aXNoZWQgZnJvbSBhbiBMTTc1LiBXaGlsZSBtb3N0IG9mIHRoZXNlIGNoaXBzCitoYXZlIHRocmVlIGFkZGl0aW9uYWwgYml0cyBvZiBhY2N1cmFjeSAoMTIgdnMuIDkgZm9yIHRoZSBMTTc1KSwKK3RoZSBhZGRpdGlvbmFsIGJpdHMgYXJlIG5vdCBzdXBwb3J0ZWQuIE5vdCBvbmx5IHRoYXQsIGJ1dCB0aGVzZSBjaGlwcyB3aWxsCitub3QgYmUgZGV0ZWN0ZWQgaWYgbm90IGluIDktYml0IHByZWNpc2lvbiBtb2RlICh1c2UgdGhlIGZvcmNlIHBhcmFtZXRlciBpZgorbmVlZGVkKS4KKworVGhlIFRDTjc1IGlzIHN1cHBvcnRlZCBhcyB3ZWxsLCBhbmQgaXMgbm90IGRpc3Rpbmd1aXNoZWQgZnJvbSBhbiBMTTc1LgorCitUaGUgTE03NSBpcyBlc3NlbnRpYWxseSBhbiBpbmR1c3RyeSBzdGFuZGFyZDsgdGhlcmUgbWF5IGJlIG90aGVyCitMTTc1IGNsb25lcyBub3QgbGlzdGVkIGhlcmUsIHdpdGggb3Igd2l0aG91dCB2YXJpb3VzIGVuaGFuY2VtZW50cywKK3RoYXQgYXJlIHN1cHBvcnRlZC4KKworVGhlIExNNzcgaXMgbm90IHN1cHBvcnRlZCwgY29udHJhcnkgdG8gd2hhdCB3ZSBwcmV0ZW5kZWQgZm9yIGEgbG9uZyB0aW1lLgorQm90aCBjaGlwcyBhcmUgc2ltcGx5IG5vdCBjb21wYXRpYmxlLCB2YWx1ZSBlbmNvZGluZyBkaWZmZXJzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG03NyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtNzcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdjM2E0NgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtNzcKQEAgLTAsMCArMSwyMiBAQAorS2VybmVsIGRyaXZlciBsbTc3Cis9PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE03NworICAgIFByZWZpeDogJ2xtNzcnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDQ4IC0gMHg0YgorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tLworCitBdXRob3I6IEFuZHJhcyBCQUxJIDxkcmV3aWVAZnJlZW1haWwuaHU+CisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGUgTE03NyBpbXBsZW1lbnRzIG9uZSB0ZW1wZXJhdHVyZSBzZW5zb3IuIFRoZSB0ZW1wZXJhdHVyZQorc2Vuc29yIGluY29ycG9yYXRlcyBhIGJhbmQtZ2FwIHR5cGUgdGVtcGVyYXR1cmUgc2Vuc29yLAorMTAtYml0IEFEQywgYW5kIGEgZGlnaXRhbCBjb21wYXJhdG9yIHdpdGggdXNlci1wcm9ncmFtbWFibGUgdXBwZXIKK2FuZCBsb3dlciBsaW1pdCB2YWx1ZXMuCisKK0xpbWl0cyBjYW4gYmUgc2V0IHRocm91Z2ggdGhlIE92ZXJ0ZW1wZXJhdHVyZSBTaHV0ZG93biByZWdpc3RlciBhbmQKK0h5c3RlcmVzaXMgcmVnaXN0ZXIuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTc4IGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG03OApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTcwODZlCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG03OApAQCAtMCwwICsxLDgyIEBACitLZXJuZWwgZHJpdmVyIGxtNzgKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTc4CisgICAgUHJlZml4OiAnbG03OCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjAgLSAweDJmLCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tLworICAqIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE03OC1KCisgICAgUHJlZml4OiAnbG03OC1qJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyMCAtIDB4MmYsIElTQSAweDI5MCAoOCBJL08gcG9ydHMpCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vCisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTc5CisgICAgUHJlZml4OiAnbG03OScKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjAgLSAweDJmLCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tLworCitBdXRob3I6IEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoaXMgZHJpdmVyIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE03OCwgTE03OC1KCithbmQgTE03OS4gVGhleSBhcmUgZGVzY3JpYmVkIGFzICdNaWNyb3Byb2Nlc3NvciBTeXN0ZW0gSGFyZHdhcmUgTW9uaXRvcnMnLgorCitUaGVyZSBpcyBhbG1vc3Qgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0aHJlZSBzdXBwb3J0ZWQgY2hpcHMuIEZ1bmN0aW9uYWxseSwKK3RoZSBMTTc4IGFuZCBMTTc4LUogYXJlIGV4YWN0bHkgaWRlbnRpY2FsLiBUaGUgTE03OSBoYXMgb25lIG1vcmUgVklEIGxpbmUsCit3aGljaCBpcyB1c2VkIHRvIHJlcG9ydCB0aGUgbG93ZXIgdm9sdGFnZXMgbmV3ZXIgUGVudGl1bSBwcm9jZXNzb3JzIHVzZS4KK0Zyb20gaGVyZSBvbiwgTE03KiBtZWFucyBlaXRoZXIgb2YgdGhlc2UgdGhyZWUgdHlwZXMuCisKK1RoZSBMTTcqIGltcGxlbWVudHMgb25lIHRlbXBlcmF0dXJlIHNlbnNvciwgdGhyZWUgZmFuIHJvdGF0aW9uIHNwZWVkIHNlbnNvcnMsCitzZXZlbiB2b2x0YWdlIHNlbnNvcnMsIFZJRCBsaW5lcywgYWxhcm1zLCBhbmQgc29tZSBtaXNjZWxsYW5lb3VzIHN0dWZmLgorCitUZW1wZXJhdHVyZXMgYXJlIG1lYXN1cmVkIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gQW4gYWxhcm0gaXMgdHJpZ2dlcmVkIG9uY2UKK3doZW4gdGhlIE92ZXJ0ZW1wZXJhdHVyZSBTaHV0ZG93biBsaW1pdCBpcyBjcm9zc2VkOyBpdCBpcyB0cmlnZ2VyZWQgYWdhaW4KK2FzIHNvb24gYXMgaXQgZHJvcHMgYmVsb3cgdGhlIEh5c3RlcmVzaXMgdmFsdWUuIEEgbW9yZSB1c2VmdWwgYmVoYXZpb3IKK2NhbiBiZSBmb3VuZCBieSBzZXR0aW5nIHRoZSBIeXN0ZXJlc2lzIHZhbHVlIHRvICsxMjcgZGVncmVlcyBDZWxzaXVzOyBpbgordGhpcyBjYXNlLCBhbGFybXMgYXJlIGlzc3VlZCBkdXJpbmcgYWxsIHRoZSB0aW1lIHdoZW4gdGhlIGFjdHVhbCB0ZW1wZXJhdHVyZQoraXMgYWJvdmUgdGhlIE92ZXJ0ZW1wZXJhdHVyZSBTaHV0ZG93biB2YWx1ZS4gTWVhc3VyZW1lbnRzIGFyZSBndWFyYW50ZWVkCitiZXR3ZWVuIC01NSBhbmQgKzEyNSBkZWdyZWVzLCB3aXRoIGEgcmVzb2x1dGlvbiBvZiAxIGRlZ3JlZS4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIEFuIGFsYXJtIGlzCit0cmlnZ2VyZWQgaWYgdGhlIHJvdGF0aW9uIHNwZWVkIGhhcyBkcm9wcGVkIGJlbG93IGEgcHJvZ3JhbW1hYmxlIGxpbWl0LiBGYW4KK3JlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8gZ2l2ZQordGhlIHJlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuIE5vdCBhbGwgUlBNIHZhbHVlcyBjYW4gYWNjdXJhdGVseSBiZQorcmVwcmVzZW50ZWQsIHNvIHNvbWUgcm91bmRpbmcgaXMgZG9uZS4gV2l0aCBhIGRpdmlkZXIgb2YgMiwgdGhlIGxvd2VzdAorcmVwcmVzZW50YWJsZSB2YWx1ZSBpcyBhcm91bmQgMjYwMCBSUE0uCisKK1ZvbHRhZ2Ugc2Vuc29ycyAoYWxzbyBrbm93biBhcyBJTiBzZW5zb3JzKSByZXBvcnQgdGhlaXIgdmFsdWVzIGluIHZvbHRzLgorQW4gYWxhcm0gaXMgdHJpZ2dlcmVkIGlmIHRoZSB2b2x0YWdlIGhhcyBjcm9zc2VkIGEgcHJvZ3JhbW1hYmxlIG1pbmltdW0KK29yIG1heGltdW0gbGltaXQuIE5vdGUgdGhhdCBtaW5pbXVtIGluIHRoaXMgY2FzZSBhbHdheXMgbWVhbnMgJ2Nsb3Nlc3QgdG8KK3plcm8nOyB0aGlzIGlzIGltcG9ydGFudCBmb3IgbmVnYXRpdmUgdm9sdGFnZSBtZWFzdXJlbWVudHMuIEFsbCB2b2x0YWdlCitpbnB1dHMgY2FuIG1lYXN1cmUgdm9sdGFnZXMgYmV0d2VlbiAwIGFuZCA0LjA4IHZvbHRzLCB3aXRoIGEgcmVzb2x1dGlvbgorb2YgMC4wMTYgdm9sdC4KKworVGhlIFZJRCBsaW5lcyBlbmNvZGUgdGhlIGNvcmUgdm9sdGFnZSB2YWx1ZTogdGhlIHZvbHRhZ2UgbGV2ZWwgeW91ciBwcm9jZXNzb3IKK3Nob3VsZCB3b3JrIHdpdGguIFRoaXMgaXMgaGFyZGNvZGVkIGJ5IHRoZSBtYWluYm9hcmQgYW5kL29yIHByb2Nlc3NvciBpdHNlbGYuCitJdCBpcyBhIHZhbHVlIGluIHZvbHRzLiBXaGVuIGl0IGlzIHVuY29ubmVjdGVkLCB5b3Ugd2lsbCBvZnRlbiBmaW5kIHRoZQordmFsdWUgMy41MCBWIGhlcmUuCisKK0luIGFkZGl0aW9uIHRvIHRoZSBhbGFybXMgZGVzY3JpYmVkIGFib3ZlLCB0aGVyZSBhcmUgYSBjb3VwbGUgb2YgYWRkaXRpb25hbAorb25lcy4gVGhlcmUgaXMgYSBCVEkgYWxhcm0sIHdoaWNoIGdldHMgdHJpZ2dlcmVkIHdoZW4gYW4gZXh0ZXJuYWwgY2hpcCBoYXMKK2Nyb3NzZWQgaXRzIGxpbWl0cy4gVXN1YWxseSwgdGhpcyBpcyBjb25uZWN0ZWQgdG8gYWxsIExNNzUgY2hpcHM7IGlmIGF0CitsZWFzdCBvbmUgY3Jvc3NlcyBpdHMgbGltaXRzLCB0aGlzIGJpdCBnZXRzIHNldC4gVGhlIENIQVMgYWxhcm0gdHJpZ2dlcnMKK2lmIHlvdXIgY29tcHV0ZXIgY2FzZSBpcyBvcGVuLiBUaGUgRklGTyBhbGFybXMgc2hvdWxkIG5ldmVyIHRyaWdnZXI7IGl0CitpbmRpY2F0ZXMgYW4gaW50ZXJuYWwgZXJyb3IuIFRoZSBTTUlfSU4gYWxhcm0gaW5kaWNhdGVzIHNvbWUgb3RoZXIgY2hpcAoraGFzIHRyaWdnZXJlZCBhbiBTTUkgaW50ZXJydXB0LiBBcyB3ZSBkbyBub3QgdXNlIFNNSSBpbnRlcnJ1cHRzIGF0IGFsbCwKK3RoaXMgY29uZGl0aW9uIHVzdWFsbHkgaW5kaWNhdGVzIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHNvbWUgb3RoZXIKK2RldmljZS4KKworSWYgYW4gYWxhcm0gdHJpZ2dlcnMsIGl0IHdpbGwgcmVtYWluIHRyaWdnZXJlZCB1bnRpbCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXIKK2lzIHJlYWQgYXQgbGVhc3Qgb25jZS4gVGhpcyBtZWFucyB0aGF0IHRoZSBjYXVzZSBmb3IgdGhlIGFsYXJtIG1heQorYWxyZWFkeSBoYXZlIGRpc2FwcGVhcmVkISBOb3RlIHRoYXQgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIGFsbAoraGFyZHdhcmUgcmVnaXN0ZXJzIGFyZSByZWFkIHdoZW5ldmVyIGFueSBkYXRhIGlzIHJlYWQgKHVubGVzcyBpdCBpcyBsZXNzCit0aGFuIDEuNSBzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZSkuIFRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGVhc2lseQorbWlzcyBvbmNlLW9ubHkgYWxhcm1zLgorCitUaGUgTE03KiBvbmx5IHVwZGF0ZXMgaXRzIHZhbHVlcyBlYWNoIDEuNSBzZWNvbmRzOyByZWFkaW5nIGl0IG1vcmUgb2Z0ZW4KK3dpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwgcmV0dXJuICdvbGQnIHZhbHVlcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtODAgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTgwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNWI0MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTgwCkBAIC0wLDAgKzEsNTYgQEAKK0tlcm5lbCBkcml2ZXIgbG04MAorPT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODAKKyAgICBQcmVmaXg6ICdsbTgwJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyOCAtIDB4MmYKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS8KKworQXV0aG9yczoKKyAgICAgICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKKyAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgorCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBzdXBwb3J0IGZvciB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTgwLgorSXQgaXMgZGVzY3JpYmVkIGFzIGEgJ1NlcmlhbCBJbnRlcmZhY2UgQUNQSS1Db21wYXRpYmxlIE1pY3JvcHJvY2Vzc29yCitTeXN0ZW0gSGFyZHdhcmUgTW9uaXRvcicuCisKK1RoZSBMTTgwIGltcGxlbWVudHMgb25lIHRlbXBlcmF0dXJlIHNlbnNvciwgdHdvIGZhbiByb3RhdGlvbiBzcGVlZCBzZW5zb3JzLAorc2V2ZW4gdm9sdGFnZSBzZW5zb3JzLCBhbGFybXMsIGFuZCBzb21lIG1pc2NlbGxhbmVvdXMgc3R1ZmYuCisKK1RlbXBlcmF0dXJlcyBhcmUgbWVhc3VyZWQgaW4gZGVncmVlcyBDZWxzaXVzLiBUaGVyZSBhcmUgdHdvIHNldHMgb2YgbGltaXRzCit3aGljaCBvcGVyYXRlIGluZGVwZW5kZW50bHkuIFdoZW4gdGhlIEhPVCBUZW1wZXJhdHVyZSBMaW1pdCBpcyBjcm9zc2VkLAordGhpcyB3aWxsIGNhdXNlIGFuIGFsYXJtIHRoYXQgd2lsbCBiZSByZWFzc2VydGVkIHVudGlsIHRoZSB0ZW1wZXJhdHVyZQorZHJvcHMgYmVsb3cgdGhlIEhPVCBIeXN0ZXJlc2lzLiBUaGUgT3ZlcnRlbXBlcmF0dXJlIFNodXRkb3duIChPUykgbGltaXRzCitzaG91bGQgd29yayBpbiB0aGUgc2FtZSB3YXkgKGJ1dCB0aGlzIG11c3QgYmUgY2hlY2tlZDsgdGhlIGRhdGFzaGVldAoraXMgdW5jbGVhciBhYm91dCB0aGlzKS4gTWVhc3VyZW1lbnRzIGFyZSBndWFyYW50ZWVkIGJldHdlZW4gLTU1IGFuZAorKzEyNSBkZWdyZWVzLiBUaGUgY3VycmVudCB0ZW1wZXJhdHVyZSBtZWFzdXJlbWVudCBoYXMgYSByZXNvbHV0aW9uIG9mCiswLjA2MjUgZGVncmVlczsgdGhlIGxpbWl0cyBoYXZlIGEgcmVzb2x1dGlvbiBvZiAxIGRlZ3JlZS4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIEFuIGFsYXJtIGlzCit0cmlnZ2VyZWQgaWYgdGhlIHJvdGF0aW9uIHNwZWVkIGhhcyBkcm9wcGVkIGJlbG93IGEgcHJvZ3JhbW1hYmxlIGxpbWl0LiBGYW4KK3JlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8gZ2l2ZQordGhlIHJlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuIE5vdCBhbGwgUlBNIHZhbHVlcyBjYW4gYWNjdXJhdGVseSBiZQorcmVwcmVzZW50ZWQsIHNvIHNvbWUgcm91bmRpbmcgaXMgZG9uZS4gV2l0aCBhIGRpdmlkZXIgb2YgMiwgdGhlIGxvd2VzdAorcmVwcmVzZW50YWJsZSB2YWx1ZSBpcyBhcm91bmQgMjYwMCBSUE0uCisKK1ZvbHRhZ2Ugc2Vuc29ycyAoYWxzbyBrbm93biBhcyBJTiBzZW5zb3JzKSByZXBvcnQgdGhlaXIgdmFsdWVzIGluIHZvbHRzLgorQW4gYWxhcm0gaXMgdHJpZ2dlcmVkIGlmIHRoZSB2b2x0YWdlIGhhcyBjcm9zc2VkIGEgcHJvZ3JhbW1hYmxlIG1pbmltdW0KK29yIG1heGltdW0gbGltaXQuIE5vdGUgdGhhdCBtaW5pbXVtIGluIHRoaXMgY2FzZSBhbHdheXMgbWVhbnMgJ2Nsb3Nlc3QgdG8KK3plcm8nOyB0aGlzIGlzIGltcG9ydGFudCBmb3IgbmVnYXRpdmUgdm9sdGFnZSBtZWFzdXJlbWVudHMuIEFsbCB2b2x0YWdlCitpbnB1dHMgY2FuIG1lYXN1cmUgdm9sdGFnZXMgYmV0d2VlbiAwIGFuZCAyLjU1IHZvbHRzLCB3aXRoIGEgcmVzb2x1dGlvbgorb2YgMC4wMSB2b2x0LgorCitJZiBhbiBhbGFybSB0cmlnZ2VycywgaXQgd2lsbCByZW1haW4gdHJpZ2dlcmVkIHVudGlsIHRoZSBoYXJkd2FyZSByZWdpc3RlcgoraXMgcmVhZCBhdCBsZWFzdCBvbmNlLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGNhdXNlIGZvciB0aGUgYWxhcm0gbWF5CithbHJlYWR5IGhhdmUgZGlzYXBwZWFyZWQhIE5vdGUgdGhhdCBpbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgYWxsCitoYXJkd2FyZSByZWdpc3RlcnMgYXJlIHJlYWQgd2hlbmV2ZXIgYW55IGRhdGEgaXMgcmVhZCAodW5sZXNzIGl0IGlzIGxlc3MKK3RoYW4gMi4wIHNlY29uZHMgc2luY2UgdGhlIGxhc3QgdXBkYXRlKS4gVGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gZWFzaWx5CittaXNzIG9uY2Utb25seSBhbGFybXMuCisKK1RoZSBMTTgwIG9ubHkgdXBkYXRlcyBpdHMgdmFsdWVzIGVhY2ggMS41IHNlY29uZHM7IHJlYWRpbmcgaXQgbW9yZSBvZnRlbgord2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4gJ29sZCcgdmFsdWVzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbG04MyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtODMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYxZDllZAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtODMKQEAgLTAsMCArMSw3NiBAQAorS2VybmVsIGRyaXZlciBsbTgzCis9PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE04MworICAgIFByZWZpeDogJ2xtODMnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDE4IC0gMHgxYSwgMHgyOSAtIDB4MmIsIDB4NGMgLSAweDRlCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vcGYvTE0vTE04My5odG1sCisKKworQXV0aG9yOiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBMTTgzIGlzIGEgZGlnaXRhbCB0ZW1wZXJhdHVyZSBzZW5zb3IuIEl0IHNlbnNlcyBpdHMgb3duIHRlbXBlcmF0dXJlIGFzCit3ZWxsIGFzIHRoZSB0ZW1wZXJhdHVyZSBvZiB1cCB0byB0aHJlZSBleHRlcm5hbCBkaW9kZXMuIEl0IGlzIGNvbXBhdGlibGUKK3dpdGggbWFueSBvdGhlciBkZXZpY2VzIHN1Y2ggYXMgdGhlIExNODQgYW5kIGFsbCBvdGhlciBBRE0xMDIxIGNsb25lcy4KK1RoZSBtYWluIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgTE04MyBhbmQgdGhlIExNODQgaW4gdGhhdCB0aGUgbGF0ZXIgY2FuCitvbmx5IHNlbnNlIHRoZSB0ZW1wZXJhdHVyZSBvZiBvbmUgZXh0ZXJuYWwgZGlvZGUuCisKK1VzaW5nIHRoZSBhZG0xMDIxIGRyaXZlciBmb3IgYSBMTTgzIHNob3VsZCB3b3JrLCBidXQgb25seSB0d28gdGVtcGVyYXR1cmVzCit3aWxsIGJlIHJlcG9ydGVkIGluc3RlYWQgb2YgZm91ci4KKworVGhlIExNODMgaXMgb25seSBmb3VuZCBvbiBhIGhhbmRmdWwgb2YgbW90aGVyYm9hcmRzLiBCb3RoIGEgY29uZmlybWVkCitsaXN0IGFuZCBhbiB1bmNvbmZpcm1lZCBsaXN0IGZvbGxvdy4gSWYgeW91IGNhbiBjb25maXJtIG9yIGluZmlybSB0aGUKK2ZhY3QgdGhhdCBhbnkgb2YgdGhlc2UgbW90aGVyYm9hcmRzIGRvIGFjdHVhbGx5IGhhdmUgYW4gTE04MywgcGxlYXNlCitjb250YWN0IHVzLiBOb3RlIHRoYXQgdGhlIExNOTAgY2FuIGVhc2lseSBiZSBtaXNkZXRlY3RlZCBhcyBhIExNODMuCisKK0NvbmZpcm1lZCBtb3RoZXJib2FyZHM6CisgICAgU0JTICAgICAgICAgUDAxNAorCitVbmNvbmZpcm1lZCBtb3RoZXJib2FyZHM6CisgICAgR2lnYWJ5dGUgICAgR0EtOElLMTEwMAorICAgIEl3aWxsICAgICAgIE1QWDIKKyAgICBTb2x0ZWsgICAgICBTTC03NURSVjUKKworVGhlIGRyaXZlciBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdGVzdGVkIGJ5IE1hZ251cyBGb3Jzc3Ry9m0sIHdobyBJJ2QKK2xpa2UgdG8gdGhhbmsgaGVyZS4gTW9yZSB0ZXN0ZXJzIHdpbGwgYmUgb2YgY291cnNlIHdlbGNvbWUuCisKK1RoZSBmYWN0IHRoYXQgdGhlIExNODMgaXMgb25seSBzY2FyY2VseSB1c2VkIGNhbiBiZSBlYXNpbHkgZXhwbGFpbmVkLgorTW9zdCBtb3RoZXJib2FyZHMgY29tZSB3aXRoIG1vcmUgdGhhbiBqdXN0IHRlbXBlcmF0dXJlIHNlbnNvcnMgZm9yCitoZWFsdGggbW9uaXRvcmluZy4gVGhleSBhbHNvIGhhdmUgdm9sdGFnZSBhbmQgZmFuIHJvdGF0aW9uIHNwZWVkCitzZW5zb3JzLiBUaGlzIG1lYW5zIHRoYXQgdGVtcGVyYXR1cmUtb25seSBjaGlwcyBhcmUgdXN1YWxseSB1c2VkIGFzCitzZWNvbmRhcnkgY2hpcHMgY291cGxlZCB3aXRoIGFub3RoZXIgY2hpcCBzdWNoIGFzIGFuIElUODcwNUYgb3Igc2ltaWxhcgorY2hpcCwgd2hpY2ggcHJvdmlkZXMgbW9yZSBmZWF0dXJlcy4gU2luY2Ugc3lzdGVtcyB1c3VhbGx5IG5lZWQgdGhyZWUKK3RlbXBlcmF0dXJlIHNlbnNvcnMgKG1vdGhlcmJvYXJkLCBwcm9jZXNzb3IsIHBvd2VyIHN1cHBseSkgYW5kIHByaW1hcnkKK2NoaXBzIHByb3ZpZGUgc29tZSB0ZW1wZXJhdHVyZSBzZW5zb3JzLCB0aGUgc2Vjb25kYXJ5IGNoaXAsIGlmIG5lZWRlZCwKK3dvbid0IGhhdmUgdG8gaGFuZGxlIG1vcmUgdGhhbiB0d28gdGVtcGVyYXR1cmVzLiBUaHVzLCBBRE0xMDIxIGNsb25lcworYXJlIHN1ZmZpY2llbnQsIGFuZCB0aGVyZSBpcyBubyBuZWVkIGZvciBhIGZvdXIgdGVtcGVyYXR1cmVzIHNlbnNvcgorY2hpcCBzdWNoIGFzIHRoZSBMTTgzLiBUaGUgb25seSBjYXNlIHdoZXJlIHVzaW5nIGFuIExNODMgd291bGQgbWFrZQorc2Vuc2UgaXMgb24gU01QIHN5c3RlbXMsIHN1Y2ggYXMgdGhlIGFib3ZlLW1lbnRpb25lZCBJd2lsbCBNUFgyLAorYmVjYXVzZSB5b3Ugd2FudCBhbiBhZGRpdGlvbmFsIHRlbXBlcmF0dXJlIHNlbnNvciBmb3IgZWFjaCBhZGRpdGlvbmFsCitDUFUuCisKK09uIHRoZSBTQlMgUDAxNCwgdGhpcyBpcyBkaWZmZXJlbnQsIHNpbmNlIHRoZSBMTTgzIGlzIHRoZSBvbmx5IGhhcmR3YXJlCittb25pdG9yaW5nIGNoaXBzZXQuIE9uZSB0ZW1wZXJhdHVyZSBzZW5zb3IgaXMgdXNlZCBmb3IgdGhlIG1vdGhlcmJvYXJkCisoYWN0dWFsbHkgbWVhc3VyaW5nIHRoZSBMTTgzJ3Mgb3duIHRlbXBlcmF0dXJlKSwgb25lIGlzIHVzZWQgZm9yIHRoZQorQ1BVLiBUaGUgdHdvIG90aGVyIHNlbnNvcnMgbXVzdCBiZSB1c2VkIHRvIG1lYXN1cmUgdGhlIHRlbXBlcmF0dXJlIG9mCit0d28gb3RoZXIgcG9pbnRzIG9mIHRoZSBtb3RoZXJib2FyZC4gV2Ugc3VzcGVjdCB0aGVzZSBwb2ludHMgdG8gYmUgdGhlCitub3J0aCBhbmQgc291dGggYnJpZGdlcywgYnV0IHRoaXMgY291bGRuJ3QgYmUgY29uZmlybWVkLgorCitBbGwgdGVtcGVyYXR1cmUgdmFsdWVzIGFyZSBnaXZlbiBpbiBkZWdyZWVzIENlbHNpdXMuIExvY2FsIHRlbXBlcmF0dXJlCitpcyBnaXZlbiB3aXRoaW4gYSByYW5nZSBvZiAwIHRvICs4NSBkZWdyZWVzLiBSZW1vdGUgdGVtcGVyYXR1cmVzIGFyZQorZ2l2ZW4gd2l0aGluIGEgcmFuZ2Ugb2YgMCB0byArMTI1IGRlZ3JlZXMuIFJlc29sdXRpb24gaXMgMS4wIGRlZ3JlZSwKK2FjY3VyYWN5IGlzIGd1YXJhbnRlZWQgdG8gMy4wIGRlZ3JlZXMgKHNlZSB0aGUgZGF0YXNoZWV0IGZvciBtb3JlCitkZXRhaWxzKS4KKworRWFjaCBzZW5zb3IgaGFzIGl0cyBvd24gaGlnaCBsaW1pdCwgYnV0IHRoZSBjcml0aWNhbCBsaW1pdCBpcyBjb21tb24gdG8KK2FsbCBmb3VyIHNlbnNvcnMuIFRoZXJlIGlzIG5vIGh5c3RlcmVzaXMgbWVjaGFuaXNtIGFzIGZvdW5kIG9uIG1vc3QKK3JlY2VudCB0ZW1wZXJhdHVyZSBzZW5zb3JzLgorCitUaGUgbG04MyBkcml2ZXIgd2lsbCBub3QgdXBkYXRlIGl0cyB2YWx1ZXMgbW9yZSBmcmVxdWVudGx5IHRoYW4gZXZlcnkKK290aGVyIHNlY29uZDsgcmVhZGluZyB0aGVtIG1vcmUgb2Z0ZW4gd2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4KKydvbGQnIHZhbHVlcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtODUgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTg1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NDkyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTg1CkBAIC0wLDAgKzEsMjIxIEBACitLZXJuZWwgZHJpdmVyIGxtODUKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTg1IChCIGFuZCBDIHZlcnNpb25zKQorICAgIFByZWZpeDogJ2xtODUnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJjLCAweDJkLCAweDJlCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS9wZi9MTS9MTTg1Lmh0bWwKKyAgKiBBbmFsb2cgRGV2aWNlcyBBRE0xMDI3CisgICAgUHJlZml4OiAnYWRtMTAyNycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmMsIDB4MmQsIDB4MmUKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cuYW5hbG9nLmNvbS9lbi9wcm9kLzAsLDc2Nl84MjVfQURNMTAyNywwMC5odG1sCisgICogQW5hbG9nIERldmljZXMgQURUNzQ2MworICAgIFByZWZpeDogJ2FkdDc0NjMnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJjLCAweDJkLCAweDJlCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LmFuYWxvZy5jb20vZW4vcHJvZC8wLCw3NjZfODI1X0FEVDc0NjMsMDAuaHRtbAorICAqIFNNU0MgRU1DNkQxMDAsIFNNU0MgRU1DNkQxMDEKKyAgICBQcmVmaXg6ICdlbWM2ZDEwMCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmMsIDB4MmQsIDB4MmUKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cuc21zYy5jb20vbWFpbi90b29scy9kaXNjb250aW51ZWQvNmQxMDAucGRmCisgICogU01TQyBFTUM2RDEwMgorICAgIFByZWZpeDogJ2VtYzZkMTAyJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyYywgMHgyZCwgMHgyZQorICAgIERhdGFzaGVldDogaHR0cDovL3d3dy5zbXNjLmNvbS9tYWluL2NhdGFsb2cvZW1jNmQxMDIuaHRtbAorCitBdXRob3JzOgorICAgICAgICBQaGlsaXAgUG9rb3JueSA8cHBva29ybnlAcGVuZ3VpbmNvbXB1dGluZy5jb20+LAorICAgICAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAorICAgICAgICBSaWNoYXJkIEJhcnJpbmd0b24gPHJpY2hfYl9uekBjbGVhci5uZXQubno+LAorICAgICAgICBNYXJnaXQgU2NodWJlcnQtV2hpbGUgPG1hcmdpdHN3QHQtb25saW5lLmRlPiwKKyAgICAgICAgSnVzdGluIFRoaWVzc2VuIDxqdGhpZXNzZW5AcGVuZ3VpbmNvbXB1dGluZy5jb20+CisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODUgYW5kCitjb21wYXRpYmxlIGNoaXBzIGluY2x1ZGluZyB0aGUgQW5hbG9nIERldmljZXMgQURNMTAyNywgQURUNzQ2MyBhbmQKK1NNU0MgRU1DNkQxMHggY2hpcHMgZmFtaWx5LgorCitUaGUgTE04NSB1c2VzIHRoZSAyLXdpcmUgaW50ZXJmYWNlIGNvbXBhdGlibGUgd2l0aCB0aGUgU01CVVMgMi4wCitzcGVjaWZpY2F0aW9uLiBVc2luZyBhbiBhbmFsb2cgdG8gZGlnaXRhbCBjb252ZXJ0ZXIgaXQgbWVhc3VyZXMgdGhyZWUgKDMpCit0ZW1wZXJhdHVyZXMgYW5kIGZpdmUgKDUpIHZvbHRhZ2VzLiBJdCBoYXMgZm91ciAoNCkgMTYtYml0IGNvdW50ZXJzIGZvcgorbWVhc3VyaW5nIGZhbiBzcGVlZC4gRml2ZSAoNSkgZGlnaXRhbCBpbnB1dHMgYXJlIHByb3ZpZGVkIGZvciBzYW1wbGluZyB0aGUKK1ZJRCBzaWduYWxzIGZyb20gdGhlIHByb2Nlc3NvciB0byB0aGUgVlJNLiBMYXN0bHksIHRoZXJlIGFyZSB0aHJlZSAoMykgUFdNCitvdXRwdXRzIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBmYW4gc3BlZWQuCisKK1RoZSB2b2x0YWdlIGlucHV0cyBoYXZlIGludGVybmFsIHNjYWxpbmcgcmVzaXN0b3JzIHNvIHRoYXQgdGhlIGZvbGxvd2luZwordm9sdGFnZSBjYW4gYmUgbWVhc3VyZWQgd2l0aG91dCBleHRlcm5hbCByZXNpc3RvcnM6CisKKyAgMi41ViwgMy4zViwgNVYsIDEyViwgYW5kIENQVSBjb3JlIHZvbHRhZ2UgKDIuMjVWKQorCitUaGUgdGVtcGVyYXR1cmVzIG1lYXN1cmVkIGFyZSBvbmUgaW50ZXJuYWwgZGlvZGUsIGFuZCB0d28gcmVtb3RlIGRpb2Rlcy4KK1JlbW90ZSAxIGlzIGdlbmVyYWxseSB0aGUgQ1BVIHRlbXBlcmF0dXJlLiBUaGVzZSBpbnB1dHMgYXJlIGRlc2lnbmVkIHRvCittZWFzdXJlIGEgdGhlcm1hbCBkaW9kZSBsaWtlIHRoZSBvbmUgaW4gYSBQZW50aXVtIDQgcHJvY2Vzc29yIGluIGEgc29ja2V0Cis0MjMgb3Igc29ja2V0IDQ3OCBwYWNrYWdlLiBUaGV5IGNhbiBhbHNvIG1lYXN1cmUgdGVtcGVyYXR1cmUgdXNpbmcgYQordHJhbnNpc3RvciBsaWtlIHRoZSAyTjM5MDQuCisKK0Egc29waGlzdGljYXRlZCBjb250cm9sIHN5c3RlbSBmb3IgdGhlIFBXTSBvdXRwdXRzIGlzIGRlc2lnbmVkIGludG8gdGhlCitMTTg1IHRoYXQgYWxsb3dzIGZhbiBzcGVlZCB0byBiZSBhZGp1c3RlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGFueSBvZiB0aGUKK3RocmVlIHRlbXBlcmF0dXJlIHNlbnNvcnMuIEVhY2ggUFdNIG91dHB1dCBpcyBpbmRpdmlkdWFsbHkgYWRqdXN0YWJsZSBhbmQKK3Byb2dyYW1tYWJsZS4gT25jZSBjb25maWd1cmVkLCB0aGUgTE04NSB3aWxsIGFkanVzdCB0aGUgUFdNIG91dHB1dHMgaW4KK3Jlc3BvbnNlIHRvIHRoZSBtZWFzdXJlZCB0ZW1wZXJhdHVyZXMgd2l0aG91dCBmdXJ0aGVyIGhvc3QgaW50ZXJ2ZW50aW9uLgorVGhpcyBmZWF0dXJlIGNhbiBhbHNvIGJlIGRpc2FibGVkIGZvciBtYW51YWwgY29udHJvbCBvZiB0aGUgUFdNJ3MuCisKK0VhY2ggb2YgdGhlIG1lYXN1cmVkIGlucHV0cyAodm9sdGFnZSwgdGVtcGVyYXR1cmUsIGZhbiBzcGVlZCkgaGFzCitjb3JyZXNwb25kaW5nIGhpZ2gvbG93IGxpbWl0IHZhbHVlcy4gVGhlIExNODUgd2lsbCBzaWduYWwgYW4gQUxBUk0gaWYgYW55CittZWFzdXJlZCB2YWx1ZSBleGNlZWRzIGVpdGhlciBsaW1pdC4KKworVGhlIExNODUgc2FtcGxlcyBhbGwgaW5wdXRzIGNvbnRpbnVvdXNseS4gVGhlIGxtODUgZHJpdmVyIHdpbGwgbm90IHJlYWQKK3RoZSByZWdpc3RlcnMgbW9yZSBvZnRlbiB0aGFuIG9uY2UgYSBzZWNvbmQuIEZ1cnRoZXIsIGNvbmZpZ3VyYXRpb24gZGF0YSBpcworb25seSByZWFkIG9uY2UgZWFjaCA1IG1pbnV0ZXMuIFRoZXJlIGlzIHR3aWNlIGFzIG11Y2ggY29uZmlnIGRhdGEgYXMKK21lYXN1cmVtZW50cywgc28gdGhpcyB3b3VsZCBzZWVtIHRvIGJlIGEgd29ydGh3aGlsZSBvcHRpbWl6YXRpb24uCisKK1NwZWNpYWwgRmVhdHVyZXMKKy0tLS0tLS0tLS0tLS0tLS0KKworVGhlIExNODUgaGFzIGZvdXIgZmFuIHNwZWVkIG1vbml0b3JpbmcgbW9kZXMuIFRoZSBBRE0xMDI3IGhhcyBvbmx5IHR3by4KK0JvdGggaGF2ZSBzcGVjaWFsIGNpcmN1aXRyeSB0byBjb21wZW5zYXRlIGZvciBQV00gaW50ZXJhY3Rpb25zIHdpdGggdGhlCitUQUNIIHNpZ25hbCBmcm9tIHRoZSBmYW5zLiBUaGUgQURNMTAyNyBjYW4gYmUgY29uZmlndXJlZCB0byBtZWFzdXJlIHRoZQorc3BlZWQgb2YgYSB0d28gd2lyZSBmYW4sIGJ1dCB0aGUgaW5wdXQgY29uZGl0aW9uaW5nIGNpcmN1aXRyeSBpcyBkaWZmZXJlbnQKK2ZvciAzLXdpcmUgYW5kIDItd2lyZSBtb2RlLiBGb3IgdGhpcyByZWFzb24sIHRoZSAyLXdpcmUgZmFuIG1vZGVzIGFyZSBub3QKK2V4cG9zZWQgdG8gdXNlciBjb250cm9sLiBUaGUgQklPUyBzaG91bGQgaW5pdGlhbGl6ZSB0aGVtIHRvIHRoZSBjb3JyZWN0Cittb2RlLiBJZiB5b3UndmUgZGVzaWduZWQgeW91ciBvd24gQURNMTAyNywgeW91J2xsIGhhdmUgdG8gbW9kaWZ5IHRoZQoraW5pdF9jbGllbnQgZnVuY3Rpb24gYW5kIGFkZCBhbiBpbnNtb2QgcGFyYW1ldGVyIHRvIHNldCB0aGlzIHVwLgorCitUbyBzbW9vdGggdGhlIHJlc3BvbnNlIG9mIGZhbnMgdG8gY2hhbmdlcyBpbiB0ZW1wZXJhdHVyZSwgdGhlIExNODUgaGFzIGFuCitvcHRpb25hbCBmaWx0ZXIgZm9yIHNtb290aGluZyB0ZW1wZXJhdHVyZXMuIFRoZSBBRE0xMDI3IGhhcyB0aGUgc2FtZQorY29uZmlnIG9wdGlvbiBidXQgdXNlcyBpdCB0byByYXRlIGxpbWl0IHRoZSBjaGFuZ2VzIHRvIGZhbiBzcGVlZCBpbnN0ZWFkLgorCitUaGUgQURNMTAyNyBhbmQgQURUNzQ2MyBoYXZlIGEgMTAtYml0IEFEQyBhbmQgY2FuIHRoZXJlZm9yZSBtZWFzdXJlCit0ZW1wZXJhdHVyZXMgd2l0aCAwLjI1IGRlZ0MgcmVzb2x1dGlvbi4gVGhleSBhbHNvIHByb3ZpZGUgYW4gb2Zmc2V0IHRvIHRoZQordGVtcGVyYXR1cmUgcmVhZGluZ3MgdGhhdCBpcyBhdXRvbWF0aWNhbGx5IGFwcGxpZWQgZHVyaW5nIG1lYXN1cmVtZW50LgorVGhpcyBvZmZzZXQgY2FuIGJlIHVzZWQgdG8gemVybyBvdXQgYW55IGVycm9ycyBkdWUgdG8gdHJhY2VzIGFuZCBwbGFjZW1lbnQuCitUaGUgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgdGhlIG9mZnNldCBpcyBpbiAwLjI1IGRlZ0Mgc3RlcHMsIGJ1dCBpbgoraW5pdGlhbCB0ZXN0aW5nIG9mIHRoZSBBRE0xMDI3IGl0IHdhcyAxLjAwIGRlZ0Mgc3RlcHMuIEFuYWxvZyBEZXZpY2VzIGhhcworY29uZmlybWVkIHRoaXMgImJ1ZyIuIFRoZSBBRFQ3NDYzIGlzIHJlcG9ydGVkIHRvIHdvcmsgYXMgZGVzY3JpYmVkIGluIHRoZQorZG9jdW1lbnRhdGlvbi4gVGhlIGN1cnJlbnQgbG04NSBkcml2ZXIgZG9lcyBub3Qgc2hvdyB0aGUgb2Zmc2V0IHJlZ2lzdGVyLgorCitUaGUgQURUNzQ2MyBoYXMgYSBUSEVSTSBhc3NlcnRlZCBjb3VudGVyLiBUaGlzIGNvdW50ZXIgaGFzIGEgMjIuNzZtcworcmVzb2x1dGlvbiBhbmQgYSByYW5nZSBvZiA1Ljggc2Vjb25kcy4gVGhlIGRyaXZlciBpbXBsZW1lbnRzIGEgMzItYml0CithY2N1bXVsYXRvciBvZiB0aGUgY291bnRlciB2YWx1ZSB0byBleHRlbmQgdGhlIHJhbmdlIHRvIG92ZXIgYSB5ZWFyLiBUaGUKK2NvdW50ZXIgd2lsbCBzdGF5IGF0IGl0J3MgbWF4IHZhbHVlIHVudGlsIHJlYWQuCisKK1NlZSB0aGUgdmVuZG9yIGRhdGFzaGVldHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uIFRoZXJlIGlzIGFwcGxpY2F0aW9uIG5vdGUKK2Zyb20gTmF0aW9uYWwgKEFOLTEyNjApIHdpdGggc29tZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBMTTg1LgorVGhlIEFuYWxvZyBEZXZpY2VzIGRhdGFzaGVldCBpcyB2ZXJ5IGRldGFpbGVkIGFuZCBkZXNjcmliZXMgYSBwcm9jZWR1cmUgZm9yCitkZXRlcm1pbmluZyBhbiBvcHRpbWFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdXRvbWF0aWMgUFdNIGNvbnRyb2wuCisKK1RoZSBTTVNDIEVNQzZEMTAwICYgRU1DNkQxMDEgbW9uaXRvciBleHRlcm5hbCB2b2x0YWdlcywgdGVtcGVyYXR1cmVzLCBhbmQKK2ZhbiBzcGVlZHMuIFRoZXkgdXNlIHRoaXMgbW9uaXRvcmluZyBjYXBhYmlsaXR5IHRvIGFsZXJ0IHRoZSBzeXN0ZW0gdG8gb3V0CitvZiBsaW1pdCBjb25kaXRpb25zIGFuZCBjYW4gYXV0b21hdGljYWxseSBjb250cm9sIHRoZSBzcGVlZHMgb2YgbXVsdGlwbGUKK2ZhbnMgaW4gYSBQQyBvciBlbWJlZGRlZCBzeXN0ZW0uIFRoZSBFTUM2RDEwMSwgYXZhaWxhYmxlIGluIGEgMjQtcGluIFNTT1AKK3BhY2thZ2UsIGFuZCB0aGUgRU1DNkQxMDAsIGF2YWlsYWJsZSBpbiBhIDI4LXBpbiBTU09QIHBhY2thZ2UsIGFyZSBkZXNpZ25lZAordG8gYmUgcmVnaXN0ZXIgY29tcGF0aWJsZS4gVGhlIEVNQzZEMTAwIG9mZmVycyBhbGwgdGhlIGZlYXR1cmVzIG9mIHRoZQorRU1DNkQxMDEgcGx1cyBhZGRpdGlvbmFsIHZvbHRhZ2UgbW9uaXRvcmluZyBhbmQgc3lzdGVtIGNvbnRyb2wgZmVhdHVyZXMuCitVbmZvcnR1bmF0ZWx5IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBwYWNrYWdlCit2ZXJzaW9ucyBvbiByZWdpc3RlciBsZXZlbCBzbyB0aGVzZSBhZGRpdGlvbmFsIHZvbHRhZ2UgaW5wdXRzIG1heSByZWFkCit6ZXJvLiBUaGUgRU1DNkQxMDIgZmVhdHVyZXMgYWRkdGlvbmFsIEFEQyBiaXRzIHRodXMgZXh0ZW5kaW5nIHByZWNpc2lvbgorb2Ygdm9sdGFnZSBhbmQgdGVtcGVyYXR1cmUgY2hhbm5lbHMuCisKKworSGFyZHdhcmUgQ29uZmlndXJhdGlvbnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBMTTg1IGNhbiBiZSBqdW1wZXJlZCBmb3IgMyBkaWZmZXJlbnQgU01CdXMgYWRkcmVzc2VzLiBUaGVyZSBhcmUKK25vIG90aGVyIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIExNODUuCisKK1RoZSBsbTg1IGRyaXZlciBkZXRlY3RzIGJvdGggTE04NUIgYW5kIExNODVDIHJldmlzaW9ucyBvZiB0aGUgY2hpcC4gU2VlIHRoZQorZGF0YXNoZWV0IGZvciBhIGNvbXBsZXRlIGRlc2NyaXB0aW9uIG9mIHRoZSBkaWZmZXJlbmNlcy4gT3RoZXIgdGhhbgoraWRlbnRpZnlpbmcgdGhlIGNoaXAsIHRoZSBkcml2ZXIgYmVoYXZlcyBubyBkaWZmZXJlbnRseSB3aXRoIHJlZ2FyZCB0bwordGhlc2UgdHdvIGNoaXBzLiBUaGUgTE04NUIgaXMgcmVjb21tZW5kZWQgZm9yIG5ldyBkZXNpZ25zLgorCitUaGUgQURNMTAyNyBhbmQgQURUNzQ2MyBjaGlwcyBoYXZlIGFuIG9wdGlvbmFsIFNNQkFMRVJUIG91dHB1dCB0aGF0IGNhbiBiZQordXNlZCB0byBzaWduYWwgdGhlIGNoaXBzZXQgaW4gY2FzZSBhIGxpbWl0IGlzIGV4Y2VlZGVkIG9yIHRoZSB0ZW1wZXJhdHVyZQorc2Vuc29ycyBmYWlsLiBJbmRpdmlkdWFsIHNlbnNvciBpbnRlcnJ1cHRzIGNhbiBiZSBtYXNrZWQgc28gdGhleSB3b24ndAordHJpZ2dlciBTTUJBTEVSVC4gVGhlIFNNQkFMRVJUIG91dHB1dCBpZiBjb25maWd1cmVkIHJlcGxhY2VzIG9uZSBvZiB0aGUgb3RoZXIKK2Z1bmN0aW9ucyAoUFdNMiBvciBJTjApLiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGltcGxlbWVudGVkIGluIGN1cnJlbnQKK2RyaXZlci4KKworVGhlIEFEVDc0NjMgYWxzbyBoYXMgYW4gb3B0aW9uYWwgVEhFUk0gb3V0cHV0L2lucHV0IHdoaWNoIGNhbiBiZSBjb25uZWN0ZWQKK3RvIHRoZSBwcm9jZXNzb3IgUFJPQ19IT1Qgb3V0cHV0LiBJZiBhdmFpbGFibGUsIHRoZSBhdXRvZmFuIGNvbnRyb2wKK2R5bmFtaWMgVG1pbiBmZWF0dXJlIGNhbiBiZSBlbmFibGVkIHRvIGtlZXAgdGhlIHN5c3RlbSB0ZW1wZXJhdHVyZSB3aXRoaW4KK3NwZWMgKGp1c3Q/ISkgd2l0aCB0aGUgbGVhc3QgcG9zc2libGUgZmFuIG5vaXNlLgorCitDb25maWd1cmF0aW9uIE5vdGVzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0Jlc2lkZXMgc3RhbmRhcmQgaW50ZXJmYWNlcyBkcml2ZXIgYWRkcyBmb2xsb3dpbmc6CisKKyogVGVtcGVyYXR1cmVzIGFuZCBab25lcworCitFYWNoIHRlbXBlcmF0dXJlIHNlbnNvciBpcyBhc3NvY2lhdGVkIHdpdGggYSBab25lLiBUaGVyZSBhcmUgdGhyZWUKK3NlbnNvcnMgYW5kIHRoZXJlZm9yZSB0aHJlZSB6b25lcyAoIyAxLCAyIGFuZCAzKS4gRWFjaCB6b25lIGhhcyB0aGUgZm9sbG93aW5nCit0ZW1wZXJhdHVyZSBjb25maWd1cmF0aW9uIHBvaW50czoKKworKiB0ZW1wI19hdXRvX3RlbXBfb2ZmIC0gdGVtcGVyYXR1cmUgYmVsb3cgd2hpY2ggZmFucyBzaG91bGQgYmUgb2ZmIG9yIHNwaW5uaW5nIHZlcnkgbG93LgorKiB0ZW1wI19hdXRvX3RlbXBfbWluIC0gdGVtcGVyYXR1cmUgb3ZlciB3aGljaCBmYW5zIHN0YXJ0IHRvIHNwaW4uCisqIHRlbXAjX2F1dG9fdGVtcF9tYXggLSB0ZW1wZXJhdHVyZSB3aGVuIGZhbnMgc3BpbiBhdCBmdWxsIHNwZWVkLgorKiB0ZW1wI19hdXRvX3RlbXBfY3JpdCAtIHRlbXBlcmF0dXJlIHdoZW4gYWxsIGZhbnMgd2lsbCBydW4gZnVsbCBzcGVlZC4KKworKiBQV00gQ29udHJvbAorCitUaGVyZSBhcmUgdGhyZWUgUFdNIG91dHB1dHMuIFRoZSBMTTg1IGRhdGFzaGVldCBzdWdnZXN0cyB0aGF0IHRoZQorcHdtMyBvdXRwdXQgY29udHJvbCBib3RoIGZhbjMgYW5kIGZhbjQuIEVhY2ggUFdNIGNhbiBiZSBpbmRpdmlkdWFsbHkKK2NvbmZpZ3VyZWQgYW5kIGFzc2lnbmVkIHRvIGEgem9uZSBmb3IgaXQncyBjb250cm9sIHZhbHVlLiBFYWNoIFBXTSBjYW4gYmUKK2NvbmZpZ3VyZWQgaW5kaXZpZHVhbGx5IGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIG9wdGlvbnMuCisKKyogcHdtI19hdXRvX3B3bV9taW4gLSB0aGlzIHNwZWNpZmllcyB0aGUgUFdNIHZhbHVlIGZvciB0ZW1wI19hdXRvX3RlbXBfb2ZmCisgICAgICAgICAgICAgICAgICAgICAgdGVtcGVyYXR1cmUuIChQV00gdmFsdWUgZnJvbSAwIHRvIDI1NSkKKworKiBwd20jX2F1dG9fcHdtX2ZyZXEgLSBzZWxlY3QgYmFzZSBmcmVxdWVuY3kgb2YgUFdNIG91dHB1dC4gWW91IGNhbiBzZWxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gcmFuZ2Ugb2YgMTAuMCB0byA5NC4wIEh6IGluIC4xIEh6IHVuaXRzLgorCQkgICAgICAgKFZhbHVlcyAxMDAgdG8gOTQwKS4KKworVGhlIHB3bSNfYXV0b19wd21fZnJlcSBjYW4gYmUgc2V0IHRvIG9uZSBvZiB0aGUgZm9sbG93aW5nIDggdmFsdWVzLiBTZXR0aW5nIHRoZQorZnJlcXVlbmN5IHRvIGEgdmFsdWUgbm90IG9uIHRoaXMgbGlzdCwgd2lsbCByZXN1bHQgaW4gdGhlIG5leHQgaGlnaGVyIGZyZXF1ZW5jeQorYmVpbmcgc2VsZWN0ZWQuIFRoZSBhY3R1YWwgZGV2aWNlIGZyZXF1ZW5jeSBtYXkgdmFyeSBzbGlnaHRseSBmcm9tIHRoaXMKK3NwZWNpZmljYXRpb24gYXMgZGVzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4gQ29uc3VsdCB0aGUgZGF0YXNoZWV0IGZvciBtb3JlCitkZXRhaWxzLiAoUFdNIEZyZXF1ZW5jeSB2YWx1ZXM6ICAxMDAsIDE1MCwgMjMwLCAzMDAsIDM4MCwgNDcwLCA2MjAsIDk0MCkKKworKiBwd20jX2F1dG9fcHdtX21pbmN0bCAtIHRoaXMgZmxhZ3Mgc2VsZWN0cyBmb3IgdGVtcCNfYXV0b190ZW1wX29mZiB0ZW1wZXJhdHVyZQorICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBiYWhhdmlvdXIgb2YgZmFucy4gV3JpdGUgMSB0byBsZXQgZmFucyBzcGlubmluZyBhdAorCQkJIHB3bSNfYXV0b19wd21fbWluIG9yIHdyaXRlIDAgdG8gbGV0IHRoZW0gb2ZmLgorCitOT1RFOiBJdCBoYXMgYmVlbiByZXBvcnRlZCB0aGF0IHRoZXJlIGlzIGEgYnVnIGluIHRoZSBMTTg1IHRoYXQgY2F1c2VzIHRoZSBmbGFnCit0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHpvbmVzIG5vdCB0aGUgUFdNcy4gVGhpcyBjb250cmFkaWN0cyBhbGwgdGhlCitwdWJsaXNoZWQgZG9jdW1lbnRhdGlvbi4gU2V0dGluZyBwd20jX21pbl9jdGwgaW4gdGhpcyBjYXNlIGFjdHVhbGx5IGFmZmVjdHMgYWxsCitQV01zIGNvbnRyb2xsZWQgYnkgem9uZSAnIycuCisKKyogUFdNIENvbnRyb2xsaW5nIFpvbmUgc2VsZWN0aW9uCisKKyogcHdtI19hdXRvX2NoYW5uZWxzIC0gY29udHJvbHMgem9uZSB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCBQV00KKworQ29uZmlndXJhdGlvbiBjaG9pY2VzOgorCisgICBWYWx1ZSAgICAgTWVhbmluZworICAtLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMSAgICBDb250cm9sbGVkIGJ5IFpvbmUgMQorICAgICAgMiAgICBDb250cm9sbGVkIGJ5IFpvbmUgMgorICAgICAgMyAgICBDb250cm9sbGVkIGJ5IFpvbmUgMworICAgICAyMyAgICBDb250cm9sbGVkIGJ5IGhpZ2hlciB0ZW1wIG9mIFpvbmUgMiBvciAzCisgICAgMTIzICAgIENvbnRyb2xsZWQgYnkgaGlnaGVzdCB0ZW1wIG9mIFpvbmUgMSwgMiBvciAzCisgICAgICAwICAgIFBXTSBhbHdheXMgMCUgIChvZmYpCisgICAgIC0xICAgIFBXTSBhbHdheXMgMTAwJSAgKGZ1bGwgb24pCisgICAgIC0yICAgIE1hbnVhbCBjb250cm9sICh3cml0ZSB0byAncHdtIycgdG8gc2V0KQorCitUaGUgTmF0aW9uYWwgTE04NSdzIGhhdmUgdHdvIHZlbmRvciBzcGVjaWZpYyBjb25maWd1cmF0aW9uCitmZWF0dXJlcy4gVGFjaC4gbW9kZSBhbmQgU3BpbnVwIENvbnRyb2wuIEZvciBtb3JlIGRldGFpbHMgb24gdGhlc2UsCitzZWUgdGhlIExNODUgZGF0YXNoZWV0IG9yIEFwcGxpY2F0aW9uIE5vdGUgQU4tMTI2MC4KKworVGhlIEFuYWxvZyBEZXZpY2VzIEFETTEwMjcgaGFzIHNldmVyYWwgdmVuZG9yIHNwZWNpZmljIGVuaGFuY2VtZW50cy4KK1RoZSBudW1iZXIgb2YgcHVsc2VzLXBlci1yZXYgb2YgdGhlIGZhbnMgY2FuIGJlIHNldCwgVGFjaCBtb25pdG9yaW5nCitjYW4gYmUgb3B0aW1pemVkIGZvciBQV00gb3BlcmF0aW9uLCBhbmQgYW4gb2Zmc2V0IGNhbiBiZSBhcHBsaWVkIHRvCit0aGUgdGVtcGVyYXR1cmVzIHRvIGNvbXBlbnNhdGUgZm9yIHN5c3RlbWljIGVycm9ycyBpbiB0aGUKK21lYXN1cmVtZW50cy4KKworSW4gYWRkaXRpb24gdG8gdGhlIEFETTEwMjcgZmVhdHVyZXMsIHRoZSBBRFQ3NDYzIGFsc28gaGFzIFRtaW4gY29udHJvbAorYW5kIFRIRVJNIGFzc2VydGVkIGNvdW50cy4gQXV0b21hdGljIFRtaW4gY29udHJvbCBhY3RzIHRvIGFkanVzdCB0aGUKK1RtaW4gdmFsdWUgdG8gbWFpbnRhaW4gdGhlIG1lYXN1cmVkIHRlbXBlcmF0dXJlIHNlbnNvciBhdCBhIHNwZWNpZmllZAordGVtcGVyYXR1cmUuIFRoZXJlIGlzbid0IG11Y2ggZG9jdW1lbnRhdGlvbiBvbiB0aGlzIGZlYXR1cmUgaW4gdGhlCitBRFQ3NDYzIGRhdGEgc2hlZXQuIFRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSBjdXJyZW50IGRyaXZlci4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtODcgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTg3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NTJjNTcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTg3CkBAIC0wLDAgKzEsNzMgQEAKK0tlcm5lbCBkcml2ZXIgbG04NworPT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODcKKyAgICBQcmVmaXg6ICdsbTg3JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyYyAtIDB4MmYKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNODcuaHRtbAorCitBdXRob3JzOgorICAgICAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAorICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAorICAgICAgICBNYXJrIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+LAorICAgICAgICBTdGVwaGVuIFJvdXNzZXQgPHN0ZXBoZW4ucm91c3NldEByb2NrZXRsb2dpeC5jb20+LAorICAgICAgICBEYW4gRWF0b24gPGRhbi5lYXRvbkByb2NrZXRsb2dpeC5jb20+LAorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4sCisgICAgICAgIE9yaWdpbmFsIDIuNiBwb3J0IEplZmYgT2xpdmVyCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODcuCisKK1RoZSBMTTg3IGltcGxlbWVudHMgdXAgdG8gdGhyZWUgdGVtcGVyYXR1cmUgc2Vuc29ycywgdXAgdG8gdHdvIGZhbgorcm90YXRpb24gc3BlZWQgc2Vuc29ycywgdXAgdG8gc2V2ZW4gdm9sdGFnZSBzZW5zb3JzLCBhbGFybXMsIGFuZCBzb21lCittaXNjZWxsYW5lb3VzIHN0dWZmLgorCitUZW1wZXJhdHVyZXMgYXJlIG1lYXN1cmVkIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gRWFjaCBpbnB1dCBoYXMgYSBoaWdoCithbmQgbG93IGFsYXJtIHNldHRpbmdzLiBBIGhpZ2ggbGltaXQgcHJvZHVjZXMgYW4gYWxhcm0gd2hlbiB0aGUgdmFsdWUKK2dvZXMgYWJvdmUgaXQsIGFuZCBhbiBhbGFybSBpcyBhbHNvIHByb2R1Y2VkIHdoZW4gdGhlIHZhbHVlIGdvZXMgYmVsb3cKK3RoZSBsb3cgbGltaXQuCisKK0ZhbiByb3RhdGlvbiBzcGVlZHMgYXJlIHJlcG9ydGVkIGluIFJQTSAocm90YXRpb25zIHBlciBtaW51dGUpLiBBbiBhbGFybSBpcwordHJpZ2dlcmVkIGlmIHRoZSByb3RhdGlvbiBzcGVlZCBoYXMgZHJvcHBlZCBiZWxvdyBhIHByb2dyYW1tYWJsZSBsaW1pdC4gRmFuCityZWFkaW5ncyBjYW4gYmUgZGl2aWRlZCBieSBhIHByb2dyYW1tYWJsZSBkaXZpZGVyICgxLCAyLCA0IG9yIDgpIHRvIGdpdmUKK3RoZSByZWFkaW5ncyBtb3JlIHJhbmdlIG9yIGFjY3VyYWN5LiBOb3QgYWxsIFJQTSB2YWx1ZXMgY2FuIGFjY3VyYXRlbHkgYmUKK3JlcHJlc2VudGVkLCBzbyBzb21lIHJvdW5kaW5nIGlzIGRvbmUuIFdpdGggYSBkaXZpZGVyIG9mIDIsIHRoZSBsb3dlc3QKK3JlcHJlc2VudGFibGUgdmFsdWUgaXMgYXJvdW5kIDI2MDAgUlBNLgorCitWb2x0YWdlIHNlbnNvcnMgKGFsc28ga25vd24gYXMgSU4gc2Vuc29ycykgcmVwb3J0IHRoZWlyIHZhbHVlcyBpbgordm9sdHMuIEFuIGFsYXJtIGlzIHRyaWdnZXJlZCBpZiB0aGUgdm9sdGFnZSBoYXMgY3Jvc3NlZCBhIHByb2dyYW1tYWJsZQorbWluaW11bSBvciBtYXhpbXVtIGxpbWl0LiBOb3RlIHRoYXQgbWluaW11bSBpbiB0aGlzIGNhc2UgYWx3YXlzIG1lYW5zCisnY2xvc2VzdCB0byB6ZXJvJzsgdGhpcyBpcyBpbXBvcnRhbnQgZm9yIG5lZ2F0aXZlIHZvbHRhZ2UgbWVhc3VyZW1lbnRzLgorCitJZiBhbiBhbGFybSB0cmlnZ2VycywgaXQgd2lsbCByZW1haW4gdHJpZ2dlcmVkIHVudGlsIHRoZSBoYXJkd2FyZSByZWdpc3RlcgoraXMgcmVhZCBhdCBsZWFzdCBvbmNlLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGNhdXNlIGZvciB0aGUgYWxhcm0gbWF5CithbHJlYWR5IGhhdmUgZGlzYXBwZWFyZWQhIE5vdGUgdGhhdCBpbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgYWxsCitoYXJkd2FyZSByZWdpc3RlcnMgYXJlIHJlYWQgd2hlbmV2ZXIgYW55IGRhdGEgaXMgcmVhZCAodW5sZXNzIGl0IGlzIGxlc3MKK3RoYW4gMS4wIHNlY29uZHMgc2luY2UgdGhlIGxhc3QgdXBkYXRlKS4gVGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gZWFzaWx5CittaXNzIG9uY2Utb25seSBhbGFybXMuCisKK1RoZSBsbTg3IGRyaXZlciBvbmx5IHVwZGF0ZXMgaXRzIHZhbHVlcyBlYWNoIDEuMCBzZWNvbmRzOyByZWFkaW5nIGl0IG1vcmUKK29mdGVuIHdpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwgcmV0dXJuICdvbGQnIHZhbHVlcy4KKworCitIYXJkd2FyZSBDb25maWd1cmF0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIExNODcgaGFzIGZvdXIgcGlucyB3aGljaCBjYW4gc2VydmUgb25lIG9mIHR3byBwb3NzaWJsZSBmdW5jdGlvbnMsCitkZXBlbmRpbmcgb24gdGhlIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24uCisKK1NvbWUgZnVuY3Rpb25zIHNoYXJlIHBpbnMsIHNvIG5vdCBhbGwgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUgYXQgdGhlIHNhbWUKK3RpbWUuIFdoaWNoIGFyZSBkZXBlbmRzIG9uIHRoZSBoYXJkd2FyZSBzZXR1cC4gVGhpcyBkcml2ZXIgYXNzdW1lcyB0aGF0Cit0aGUgQklPUyBjb25maWd1cmVkIHRoZSBjaGlwIGNvcnJlY3RseS4gSW4gdGhhdCByZXNwZWN0LCBpdCBkaWZmZXJzIGZyb20KK3RoZSBvcmlnaW5hbCBkcml2ZXIgKGZyb20gbG1fc2Vuc29ycyBmb3IgTGludXggMi40KSwgd2hpY2ggd291bGQgZm9yY2UgdGhlCitMTTg3IHRvIGFuIGFyYml0cmFyeSwgY29tcGlsZS10aW1lIGNob3NlbiBtb2RlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3R1YWwKK2NoaXBzZXQgd2lyaW5nLgorCitGb3IgcmVmZXJlbmNlLCBoZXJlIGlzIHRoZSBsaXN0IG9mIGV4Y2x1c2l2ZSBmdW5jdGlvbnM6CisgLSBpbjAraW41IChkZWZhdWx0KSBvciB0ZW1wMworIC0gZmFuMSAoZGVmYXVsdCkgb3IgaW42CisgLSBmYW4yIChkZWZhdWx0KSBvciBpbjcKKyAtIFZJRCBsaW5lcyAoZGVmYXVsdCkgb3IgSVJRIGxpbmVzIChub3QgaGFuZGxlZCBieSB0aGlzIGRyaXZlcikKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtOTAgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNGNmMzkKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTkwCkBAIC0wLDAgKzEsMTIxIEBACitLZXJuZWwgZHJpdmVyIGxtOTAKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTkwCisgICAgUHJlZml4OiAnbG05MCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS9wZi9MTS9MTTkwLmh0bWwKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNODkKKyAgICBQcmVmaXg6ICdsbTk5JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0YyBhbmQgMHg0ZAorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNODkuaHRtbAorICAqIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE05OQorICAgIFByZWZpeDogJ2xtOTknCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDRjIGFuZCAweDRkCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE5hdGlvbmFsIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vcGYvTE0vTE05OS5odG1sCisgICogTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTg2CisgICAgUHJlZml4OiAnbG04NicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS9wZi9MTS9MTTg2Lmh0bWwKKyAgKiBBbmFsb2cgRGV2aWNlcyBBRE0xMDMyCisgICAgUHJlZml4OiAnYWRtMTAzMicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgQW5hbG9nIERldmljZXMgd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3Byb2R1Y3RzLmFuYWxvZy5jb20vcHJvZHVjdHMvaW5mby5hc3A/cHJvZHVjdD1BRE0xMDMyCisgICogQW5hbG9nIERldmljZXMgQURUNzQ2MQorICAgIFByZWZpeDogJ2FkdDc0NjEnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDRjCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIEFuYWxvZyBEZXZpY2VzIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly9wcm9kdWN0cy5hbmFsb2cuY29tL3Byb2R1Y3RzL2luZm8uYXNwP3Byb2R1Y3Q9QURUNzQ2MQorICAgIE5vdGU6IE9ubHkgaWYgaW4gQURNMTAzMiBjb21wYXRpYmlsaXR5IG1vZGUKKyAgKiBNYXhpbSBNQVg2NjU3CisgICAgUHJlZml4OiAnbWF4NjY1NycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTWF4aW0gd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5tYXhpbS1pYy5jb20vcXVpY2tfdmlldzIuY2ZtL3F2X3BrLzI1NzgKKyAgKiBNYXhpbSBNQVg2NjU4CisgICAgUHJlZml4OiAnbWF4NjY1NycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgTWF4aW0gd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5tYXhpbS1pYy5jb20vcXVpY2tfdmlldzIuY2ZtL3F2X3BrLzI1NzgKKyAgKiBNYXhpbSBNQVg2NjU5CisgICAgUHJlZml4OiAnbWF4NjY1NycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NGMsIDB4NGQgKHVuc3VwcG9ydGVkIDB4NGUpCisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIE1heGltIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubWF4aW0taWMuY29tL3F1aWNrX3ZpZXcyLmNmbS9xdl9way8yNTc4CisKKworQXV0aG9yOiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhlIExNOTAgaXMgYSBkaWdpdGFsIHRlbXBlcmF0dXJlIHNlbnNvci4gSXQgc2Vuc2VzIGl0cyBvd24gdGVtcGVyYXR1cmUgYXMKK3dlbGwgYXMgdGhlIHRlbXBlcmF0dXJlIG9mIHVwIHRvIG9uZSBleHRlcm5hbCBkaW9kZS4gSXQgaXMgY29tcGF0aWJsZQord2l0aCBtYW55IG90aGVyIGRldmljZXMgc3VjaCBhcyB0aGUgTE04NiwgdGhlIExNODksIHRoZSBMTTk5LCB0aGUgQURNMTAzMiwKK3RoZSBNQVg2NjU3LCBNQVg2NjU4IGFuZCB0aGUgTUFYNjY1OSBhbGwgb2Ygd2hpY2ggYXJlIHN1cHBvcnRlZCBieSB0aGlzIGRyaXZlci4KK05vdGUgdGhhdCB0aGVyZSBpcyBubyBlYXN5IHdheSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlIGxhc3QgdGhyZWUKK3ZhcmlhbnRzLiBUaGUgZXh0cmEgYWRkcmVzcyBhbmQgZmVhdHVyZXMgb2YgdGhlIE1BWDY2NTkgYXJlIG5vdCBzdXBwb3J0ZWQgYnkKK3RoaXMgZHJpdmVyLiBBZGRpdGlvbmFsbHksIHRoZSBBRFQ3NDYxIGlzIHN1cHBvcnRlZCBpZiBmb3VuZCBpbiBBRE0xMDMyCitjb21wYXRpYmlsaXR5IG1vZGUuCisKK1RoZSBzcGVjaWZpY2l0eSBvZiB0aGlzIGZhbWlseSBvZiBjaGlwc2V0cyBvdmVyIHRoZSBBRE0xMDIxL0xNODQKK2ZhbWlseSBpcyB0aGF0IGl0IGZlYXR1cmVzIGNyaXRpY2FsIGxpbWl0cyB3aXRoIGh5c3RlcmVzaXMsIGFuZCBhbgoraW5jcmVhc2VkIHJlc29sdXRpb24gb2YgdGhlIHJlbW90ZSB0ZW1wZXJhdHVyZSBtZWFzdXJlbWVudC4KKworVGhlIGRpZmZlcmVudCBjaGlwc2V0cyBvZiB0aGUgZmFtaWx5IGFyZSBub3Qgc3RyaWN0bHkgaWRlbnRpY2FsLCBhbHRob3VnaAordmVyeSBzaW1pbGFyLiBUaGlzIGRyaXZlciBkb2Vzbid0IGhhbmRsZSBhbnkgc3BlY2lmaWMgZmVhdHVyZSBmb3Igbm93LAorYnV0IGNvdWxkIGlmIHRoZXJlIGV2ZXIgd2FzIGEgbmVlZCBmb3IgaXQuIEZvciByZWZlcmVuY2UsIGhlcmUgY29tZXMgYQorbm9uLWV4aGF1c3RpdmUgbGlzdCBvZiBzcGVjaWZpYyBmZWF0dXJlczoKKworTE05MDoKKyAgKiBGaWx0ZXIgYW5kIGFsZXJ0IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgYXQgMHhCRi4KKyAgKiBBTEVSVCBpcyB0cmlnZ2VyZWQgYnkgdGVtcGVyYXR1cmVzIG92ZXIgY3JpdGljYWwgbGltaXRzLgorCitMTTg2IGFuZCBMTTg5OgorICAqIFNhbWUgYXMgTE05MAorICAqIEJldHRlciBleHRlcm5hbCBjaGFubmVsIGFjY3VyYWN5CisKK0xNOTk6CisgICogU2FtZSBhcyBMTTg5CisgICogRXh0ZXJuYWwgdGVtcGVyYXR1cmUgc2hpZnRlZCBieSAxNiBkZWdyZWVzIGRvd24KKworQURNMTAzMjoKKyAgKiBDb25zZWN1dGl2ZSBhbGVydCByZWdpc3RlciBhdCAweDIyLgorICAqIENvbnZlcnNpb24gYXZlcmFnaW5nLgorICAqIFVwIHRvIDY0IGNvbnZlcnNpb25zL3MuCisgICogQUxFUlQgaXMgdHJpZ2dlcmVkIGJ5IG9wZW4gcmVtb3RlIHNlbnNvci4KKworQURUNzQ2MQorICAqIEV4dGVuZGVkIHRlbXBlcmF0dXJlIHJhbmdlIChicmVha3MgY29tcGF0aWJpbGl0eSkKKyAgKiBMb3dlciByZXNvbHV0aW9uIGZvciByZW1vdGUgdGVtcGVyYXR1cmUKKworTUFYNjY1NyBhbmQgTUFYNjY1ODoKKyAgKiBSZW1vdGUgc2Vuc29yIHR5cGUgc2VsZWN0aW9uCisKK01BWDY2NTkKKyAgKiBTZWxlY3RhYmxlIGFkZHJlc3MKKyAgKiBTZWNvbmQgY3JpdGljYWwgdGVtcGVyYXR1cmUgbGltaXQKKyAgKiBSZW1vdGUgc2Vuc29yIHR5cGUgc2VsZWN0aW9uCisKK0FsbCB0ZW1wZXJhdHVyZSB2YWx1ZXMgYXJlIGdpdmVuIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gUmVzb2x1dGlvbgoraXMgMS4wIGRlZ3JlZSBmb3IgdGhlIGxvY2FsIHRlbXBlcmF0dXJlLCAwLjEyNSBkZWdyZWUgZm9yIHRoZSByZW1vdGUKK3RlbXBlcmF0dXJlLgorCitFYWNoIHNlbnNvciBoYXMgaXRzIG93biBoaWdoIGFuZCBsb3cgbGltaXRzLCBwbHVzIGEgY3JpdGljYWwgbGltaXQuCitBZGRpdGlvbmFsbHksIHRoZXJlIGlzIGEgcmVsYXRpdmUgaHlzdGVyZXNpcyB2YWx1ZSBjb21tb24gdG8gYm90aCBjcml0aWNhbAordmFsdWVzLiBUbyBtYWtlIGxpZmUgZWFzaWVyIHRvIHVzZXItc3BhY2UgYXBwbGljYXRpb25zLCB0d28gYWJzb2x1dGUgdmFsdWVzCithcmUgZXhwb3J0ZWQsIG9uZSBmb3IgZWFjaCBjaGFubmVsLCBidXQgdGhlc2UgdmFsdWVzIGFyZSBvZiBjb3Vyc2UgbGlua2VkLgorT25seSB0aGUgbG9jYWwgaHlzdGVyZXNpcyBjYW4gYmUgc2V0IGZyb20gdXNlci1zcGFjZSwgYW5kIHRoZSBzYW1lIGRlbHRhCithcHBsaWVzIHRvIHRoZSByZW1vdGUgaHlzdGVyZXNpcy4KKworVGhlIGxtOTAgZHJpdmVyIHdpbGwgbm90IHVwZGF0ZSBpdHMgdmFsdWVzIG1vcmUgZnJlcXVlbnRseSB0aGFuIGV2ZXJ5CitvdGhlciBzZWNvbmQ7IHJlYWRpbmcgdGhlbSBtb3JlIG9mdGVuIHdpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwgcmV0dXJuCisnb2xkJyB2YWx1ZXMuCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL2xtOTIgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTkyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MDViZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9sbTkyCkBAIC0wLDAgKzEsMzcgQEAKK0tlcm5lbCBkcml2ZXIgbG05MgorPT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIExNOTIKKyAgICBQcmVmaXg6ICdsbTkyJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHg0OCAtIDB4NGIKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNOTIuaHRtbAorICAqIE5hdGlvbmFsIFNlbWljb25kdWN0b3IgTE03NgorICAgIFByZWZpeDogJ2xtOTInCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IG5vbmUsIGZvcmNlIHBhcmFtZXRlciBuZWVkZWQKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL0xNL0xNNzYuaHRtbAorICAqIE1heGltIE1BWDY2MzMvTUFYNjYzNC9NQVg2NjM1CisgICAgUHJlZml4OiAnbG05MicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NDggLSAweDRiCisgICAgTUFYNjYzMyB3aXRoIGFkZHJlc3MgaW4gMHg0MCAtIDB4NDcsIDB4NGMgLSAweDRmIG5lZWRzIGZvcmNlIHBhcmFtZXRlcgorICAgIGFuZCBNQVg2NjM0IHdpdGggYWRkcmVzcyBpbiAweDRjIC0gMHg0ZiBuZWVkcyBmb3JjZSBwYXJhbWV0ZXIKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cubWF4aW0taWMuY29tL3F1aWNrX3ZpZXcyLmNmbS9xdl9way8zMDc0CisKK0F1dGhvcnM6CisgICAgICAgIEFicmFoYW0gdmFuIGRlciBNZXJ3ZSA8YWJyYWhhbUAyZDNkLmNvLnphPgorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBzdXBwb3J0IGZvciB0aGUgTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBMTTkyCit0ZW1wZXJhdHVyZSBzZW5zb3IuCisKK0VhY2ggTE05MiB0ZW1wZXJhdHVyZSBzZW5zb3Igc3VwcG9ydHMgYSBzaW5nbGUgdGVtcGVyYXR1cmUgc2Vuc29yLiBUaGVyZSBhcmUKK2FsYXJtcyBmb3IgaGlnaCwgbG93LCBhbmQgY3JpdGljYWwgdGhyZXNob2xkcy4gVGhlcmUncyBhbHNvIGFuIGh5c3RlcmVzaXMgdG8KK2NvbnRyb2wgdGhlIHRocmVzaG9sZHMgZm9yIHJlc2V0dGluZyBhbGFybXMuCisKK1N1cHBvcnQgd2FzIGFkZGVkIGxhdGVyIGZvciB0aGUgTE03NiBhbmQgTWF4aW0gTUFYNjYzMy9NQVg2NjM0L01BWDY2MzUsCit3aGljaCBhcmUgbW9zdGx5IGNvbXBhdGlibGUuIFRoZXkgaGF2ZSBub3QgYWxsIGJlZW4gdGVzdGVkLCBzbyB5b3UKK21heSBuZWVkIHRvIHVzZSB0aGUgZm9yY2UgcGFyYW1ldGVyLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvbWF4MTYxOSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL21heDE2MTkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZmOGQ5YwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL21heDE2MTkKQEAgLTAsMCArMSwyOSBAQAorS2VybmVsIGRyaXZlciBtYXgxNjE5Cis9PT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIE1heGltIE1BWDE2MTkKKyAgICBQcmVmaXg6ICdtYXgxNjE5JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgxOC0weDFhLCAweDI5LTB4MmIsIDB4NGMtMHg0ZQorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBNYXhpbSB3ZWJzaXRlCisgICAgICAgICAgICAgICBodHRwOi8vcGRmc2Vydi5tYXhpbS1pYy5jb20vZW4vZHMvTUFYMTYxOS5wZGYKKworQXV0aG9yczoKKyAgICAgICAgQWxleGV5IEZpc2hlciA8ZmlzaG9yQG1haWwucnU+LAorICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBNQVgxNjE5IGlzIGEgZGlnaXRhbCB0ZW1wZXJhdHVyZSBzZW5zb3IuIEl0IHNlbnNlcyBpdHMgb3duIHRlbXBlcmF0dXJlIGFzCit3ZWxsIGFzIHRoZSB0ZW1wZXJhdHVyZSBvZiB1cCB0byBvbmUgZXh0ZXJuYWwgZGlvZGUuCisKK0FsbCB0ZW1wZXJhdHVyZSB2YWx1ZXMgYXJlIGdpdmVuIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gUmVzb2x1dGlvbgoraXMgMS4wIGRlZ3JlZSBmb3IgdGhlIGxvY2FsIHRlbXBlcmF0dXJlIGFuZCBmb3IgdGhlIHJlbW90ZSB0ZW1wZXJhdHVyZS4KKworT25seSB0aGUgZXh0ZXJuYWwgc2Vuc29yIGhhcyBoaWdoIGFuZCBsb3cgbGltaXRzLgorCitUaGUgbWF4MTYxOSBkcml2ZXIgd2lsbCBub3QgdXBkYXRlIGl0cyB2YWx1ZXMgbW9yZSBmcmVxdWVudGx5IHRoYW4gZXZlcnkKK290aGVyIHNlY29uZDsgcmVhZGluZyB0aGVtIG1vcmUgb2Z0ZW4gd2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4KKydvbGQnIHZhbHVlcy4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvcGM4NzM2MCBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3BjODczNjAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhOGZjZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3BjODczNjAKQEAgLTAsMCArMSwxODkgQEAKK0tlcm5lbCBkcml2ZXIgcGM4NzM2MAorPT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBOYXRpb25hbCBTZW1pY29uZHVjdG9yIFBDODczNjAsIFBDODczNjMsIFBDODczNjQsIFBDODczNjUgYW5kIFBDODczNjYKKyAgICBQcmVmaXhlczogJ3BjODczNjAnLCAncGM4NzM2MycsICdwYzg3MzY0JywgJ3BjODczNjUnLCAncGM4NzM2NicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogbm9uZSwgYWRkcmVzcyByZWFkIGZyb20gU3VwZXIgSS9PIGNvbmZpZyBzcGFjZQorICAgIERhdGFzaGVldHM6CisgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL1BDL1BDODczNjAuaHRtbAorICAgICAgICBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS9wZi9QQy9QQzg3MzYzLmh0bWwKKyAgICAgICAgaHR0cDovL3d3dy5uYXRpb25hbC5jb20vcGYvUEMvUEM4NzM2NC5odG1sCisgICAgICAgIGh0dHA6Ly93d3cubmF0aW9uYWwuY29tL3BmL1BDL1BDODczNjUuaHRtbAorICAgICAgICBodHRwOi8vd3d3Lm5hdGlvbmFsLmNvbS9wZi9QQy9QQzg3MzY2Lmh0bWwKKworQXV0aG9yczogSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisKK1RoYW5rcyB0byBTYW5kZWVwIE1laHRhLCBUb25rbyBkZSBSb295IGFuZCBEYW5pZWwgQ2VyZWdhdHRpIGZvciB0ZXN0aW5nLgorVGhhbmtzIHRvIFJ1ZG9sZiBNYXJlayBmb3IgaGVscGluZyBtZSBpbnZlc3RpZ2F0ZSBjb252ZXJzaW9uIGlzc3Vlcy4KKworCitNb2R1bGUgUGFyYW1ldGVycworLS0tLS0tLS0tLS0tLS0tLS0KKworKiBpbml0IGludAorICBDaGlwIGluaXRpYWxpemF0aW9uIGxldmVsOgorICAgMDogTm9uZQorICAqMTogRm9yY2libHkgZW5hYmxlIGludGVybmFsIHZvbHRhZ2UgYW5kIHRlbXBlcmF0dXJlIGNoYW5uZWxzLCBleGNlcHQgaW45CisgICAyOiBGb3JjaWJseSBlbmFibGUgYWxsIHZvbHRhZ2UgYW5kIHRlbXBlcmF0dXJlIGNoYW5uZWxzLCBleGNlcHQgaW45CisgICAzOiBGb3JjaWJseSBlbmFibGUgYWxsIHZvbHRhZ2UgYW5kIHRlbXBlcmF0dXJlIGNoYW5uZWxzLCBpbmNsdWRpbmcgaW45CisKK05vdGUgdGhhdCB0aGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IGZvciB0aGUgUEM4NzM2MCwgUEM4NzM2MyBhbmQgUEM4NzM2NAorY2hpcHMuCisKK0Fsc28gbm90ZSB0aGF0IGZvciB0aGUgUEM4NzM2NiwgaW5pdGlhbGl6YXRpb24gbGV2ZWxzIDIgYW5kIDMgZG9uJ3QgZW5hYmxlCithbGwgdGVtcGVyYXR1cmUgY2hhbm5lbHMsIGJlY2F1c2Ugc29tZSBvZiB0aGVtIHNoYXJlIHBpbnMgd2l0aCBlYWNoIG90aGVyLAorc28gdGhleSBjYW4ndCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisKKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIFBDODczNjAgU3VwZXIgSS9PIGNoaXAgY29udGFpbnMgbW9uaXRvcmluZyBhbmQKK1BXTSBjb250cm9sIGNpcmN1aXRyeSBmb3IgdHdvIGZhbnMuIFRoZSBQQzg3MzYzIGNoaXAgaXMgc2ltaWxhciwgYW5kIHRoZQorUEM4NzM2NCBjaGlwIGhhcyBtb25pdG9yaW5nIGFuZCBQV00gY29udHJvbCBmb3IgYSB0aGlyZCBmYW4uCisKK1RoZSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIFBDODczNjUgYW5kIFBDODczNjYgU3VwZXIgSS9PIGNoaXBzIGFyZSBjb21wbGV0ZQoraGFyZHdhcmUgbW9uaXRvcmluZyBjaGlwc2V0cywgbm90IG9ubHkgY29udHJvbGxpbmcgYW5kIG1vbml0b3JpbmcgdGhyZWUgZmFucywKK2J1dCBhbHNvIG1vbml0b3JpbmcgZWxldmVuIHZvbHRhZ2UgaW5wdXRzIGFuZCB0d28gKFBDODczNjUpIG9yIHVwIHRvIGZvdXIKKyhQQzg3MzY2KSB0ZW1wZXJhdHVyZXMuCisKKyAgQ2hpcCAgICAgICAgI3ZpbiAgICAjZmFuICAgICNwd20gICAgI3RlbXAgICBkZXZpZAorCisgIFBDODczNjAgICAgIC0gICAgICAgMiAgICAgICAyICAgICAgIC0gICAgICAgMHhFMQorICBQQzg3MzYzICAgICAtICAgICAgIDIgICAgICAgMiAgICAgICAtICAgICAgIDB4RTgKKyAgUEM4NzM2NCAgICAgLSAgICAgICAzICAgICAgIDMgICAgICAgLSAgICAgICAweEU0CisgIFBDODczNjUgICAgIDExICAgICAgMyAgICAgICAzICAgICAgIDIgICAgICAgMHhFNQorICBQQzg3MzY2ICAgICAxMSAgICAgIDMgICAgICAgMyAgICAgICAzLTQgICAgIDB4RTkKKworVGhlIGRyaXZlciBhc3N1bWVzIHRoYXQgbm8gbW9yZSB0aGFuIG9uZSBjaGlwIGlzIHByZXNlbnQsIGFuZCBvbmUgb2YgdGhlCitzdGFuZGFyZCBTdXBlciBJL08gYWRkcmVzc2VzIGlzIHVzZWQgKDB4MkUvMHgyRiBvciAweDRFLzB4NEYpCisKK0ZhbiBNb25pdG9yaW5nCistLS0tLS0tLS0tLS0tLQorCitGYW4gcm90YXRpb24gc3BlZWRzIGFyZSByZXBvcnRlZCBpbiBSUE0gKHJldm9sdXRpb25zIHBlciBtaW51dGUpLiBBbiBhbGFybQoraXMgdHJpZ2dlcmVkIGlmIHRoZSByb3RhdGlvbiBzcGVlZCBoYXMgZHJvcHBlZCBiZWxvdyBhIHByb2dyYW1tYWJsZSBsaW1pdC4KK0EgZGlmZmVyZW50IGFsYXJtIGlzIHRyaWdnZXJlZCBpZiB0aGUgZmFuIHNwZWVkIGlzIHRvbyBsb3cgdG8gYmUgbWVhc3VyZWQuCisKK0ZhbiByZWFkaW5ncyBhcmUgYWZmZWN0ZWQgYnkgYSBwcm9ncmFtbWFibGUgY2xvY2sgZGl2aWRlciwgZ2l2aW5nIHRoZQorcmVhZGluZ3MgbW9yZSByYW5nZSBvciBhY2N1cmFjeS4gVXN1YWxseSwgdXNlcnMgaGF2ZSB0byBsZWFybiBob3cgaXQgd29ya3MsCitidXQgdGhpcyBkcml2ZXIgaW1wbGVtZW50cyBkeW5hbWljIGNsb2NrIGRpdmlkZXIgc2VsZWN0aW9uLCBzbyB5b3UgZG9uJ3QKK2hhdmUgdG8gY2FyZSBubyBtb3JlLgorCitGb3IgcmVmZXJlbmNlLCBoZXJlIGFyZSBhIGZldyB2YWx1ZXMgYWJvdXQgY2xvY2sgZGl2aWRlcnM6CisKKyAgICAgICAgICAgICAgICBzbG93ZXN0ICAgICAgICAgYWNjdXJhY3kgICAgICAgIGhpZ2hlc3QKKyAgICAgICAgICAgICAgICBtZWFzdXJhYmxlICAgICAgYXJvdW5kIDMwMDAgICAgIGFjY3VyYXRlCisgICAgZGl2aWRlciAgICAgc3BlZWQgKFJQTSkgICAgIFJQTSAoUlBNKSAgICAgICBzcGVlZCAoUlBNKQorICAgICAgICAgMSAgICAgICAgMTg4MiAgICAgICAgICAgICAgMTggICAgICAgICAgIDY5MjgKKyAgICAgICAgIDIgICAgICAgICA5NDEgICAgICAgICAgICAgIDM3ICAgICAgICAgICA0ODk4CisgICAgICAgICA0ICAgICAgICAgNDcwICAgICAgICAgICAgICA3NCAgICAgICAgICAgMzQ2NAorICAgICAgICAgOCAgICAgICAgIDIzNSAgICAgICAgICAgICAxNTAgICAgICAgICAgIDI0NDkKKworRm9yIHRoZSBjdXJpb3VzLCBoZXJlIGlzIGhvdyB0aGUgdmFsdWVzIGFib3ZlIHdlcmUgY29tcHV0ZWQ6CisgKiBzbG93ZXN0IG1lYXN1cmFibGUgc3BlZWQ6IGNsb2NrLygyNTUqZGl2aWRlcikKKyAqIGFjY3VyYWN5IGFyb3VuZCAzMDAwIFJQTTogMzAwMF4yL2Nsb2NrCisgKiBoaWdoZXN0IGFjY3VyYXRlIHNwZWVkOiBzcXJ0KGNsb2NrKjEwMCkKK1RoZSBjbG9jayBzcGVlZCBmb3IgdGhlIFBDODczNjAgZmFtaWx5IGlzIDQ4MCBrSHouIEkgYXJiaXRyYXJpbHkgY2hvc2UgMTAwCitSUE0gYXMgdGhlIGxvd2VzdCBhY2NlcHRhYmxlIGFjY3VyYWN5LgorCitBcyBtZW50aW9uZWQgYWJvdmUsIHlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhpcyBubyBtb3JlLgorCitOb3RlIHRoYXQgbm90IGFsbCBSUE0gdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCwgZXZlbiB3aGVuIHRoZSBiZXN0IGNsb2NrCitkaXZpZGVyIGlzIHNlbGVjdGVkLiBUaGlzIGlzIG5vdCBvbmx5IHRydWUgZm9yIHRoZSBtZWFzdXJlZCBzcGVlZHMsIGJ1dAorYWxzbyBmb3IgdGhlIHByb2dyYW1tYWJsZSBsb3cgbGltaXRzLCBzbyBkb24ndCBiZSBzdXJwcmlzZWQgaWYgeW91IHRyeSB0bworc2V0LCBzYXksIGZhbjFfbWluIHRvIDI5MDAgYW5kIGl0IGZpbmFsbHkgcmVhZHMgMjkwOS4KKworCitGYW4gQ29udHJvbAorLS0tLS0tLS0tLS0KKworUFdNIChwdWxzZSB3aWR0aCBtb2R1bGF0aW9uKSB2YWx1ZXMgcmFuZ2UgZnJvbSAwIHRvIDI1NSwgd2l0aCAwIG1lYW5pbmcKK3RoYXQgdGhlIGZhbiBpcyBzdG9wcGVkLCBhbmQgMjU1IG1lYW5pbmcgdGhhdCB0aGUgZmFuIGdvZXMgYXQgZnVsbCBzcGVlZC4KKworQmUgZXh0cmVtZWx5IGNhcmVmdWwgd2hlbiBjaGFuZ2luZyBQV00gdmFsdWVzLiBMb3cgUFdNIHZhbHVlcywgZXZlbgorbm9uLXplcm8sIGNhbiBzdG9wIHRoZSBmYW4sIHdoaWNoIG1heSBjYXVzZSBpcnJldmVyc2libGUgZGFtYWdlIHRvIHlvdXIKK2hhcmR3YXJlIGlmIHRlbXBlcmF0dXJlIGluY3JlYXNlcyB0b28gbXVjaC4gV2hlbiBjaGFuZ2luZyBQV00gdmFsdWVzLCBnbworc3RlcCBieSBzdGVwIGFuZCBrZWVwIGFuIGV5ZSBvbiB0ZW1wZXJhdHVyZXMuCisKK09uZSB1c2VyIHJlcG9ydGVkIHByb2JsZW1zIHdpdGggUFdNLiBDaGFuZ2luZyBQV00gdmFsdWVzIHdvdWxkIGJyZWFrIGZhbgorc3BlZWQgcmVhZGluZ3MuIE5vIGV4cGxhbmF0aW9uIG5vciBmaXggY291bGQgYmUgZm91bmQuCisKKworVGVtcGVyYXR1cmUgTW9uaXRvcmluZworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUZW1wZXJhdHVyZXMgYXJlIHJlcG9ydGVkIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gRWFjaCB0ZW1wZXJhdHVyZSBtZWFzdXJlZCBoYXMKK2Fzc29jaWF0ZWQgbG93LCBoaWdoIGFuZCBvdmVydGVtcGVyYXR1cmUgbGltaXRzLCBlYWNoIG9mIHdoaWNoIHRyaWdnZXJzIGFuCithbGFybSB3aGVuIGNyb3NzZWQuCisKK1RoZSBmaXJzdCB0d28gdGVtcGVyYXR1cmUgY2hhbm5lbHMgYXJlIGV4dGVybmFsLiBUaGUgdGhpcmQgb25lIChQQzg3MzY2Citvbmx5KSBpcyBpbnRlcm5hbC4KKworVGhlIFBDODczNjYgaGFzIHRocmVlIGFkZGl0aW9uYWwgdGVtcGVyYXR1cmUgY2hhbm5lbHMsIGJhc2VkIG9uCit0aGVybWlzdG9ycyAoYXMgb3Bwb3NlZCB0byB0aGVybWFsIGRpb2RlcyBmb3IgdGhlIGZpcnN0IHRocmVlIHRlbXBlcmF0dXJlCitjaGFubmVscykuIEZvciB0ZWNobmljYWwgcmVhc29ucywgdGhlc2UgY2hhbm5lbHMgYXJlIGhlbGQgYnkgdGhlIFZMTQorKHZvbHRhZ2UgbGV2ZWwgbW9uaXRvcikgbG9naWNhbCBkZXZpY2UsIG5vdCB0aGUgVE1TICh0ZW1wZXJhdHVyZQorbWVhc3VyZW1lbnQpIG9uZS4gQXMgYSBjb25zZXF1ZW5jZSwgdGhlc2UgdGVtcGVyYXR1cmVzIGFyZSBleHBvcnRlZCBhcwordm9sdGFnZXMsIGFuZCBjb252ZXJ0ZWQgaW50byB0ZW1wZXJhdHVyZXMgaW4gdXNlci1zcGFjZS4KKworTm90ZSB0aGF0IHRoZXNlIHRocmVlIGFkZGl0aW9uYWwgY2hhbm5lbHMgc2hhcmUgdGhlaXIgcGlucyB3aXRoIHRoZQorZXh0ZXJuYWwgdGhlcm1hbCBkaW9kZSBjaGFubmVscywgc28geW91IChwaHlzaWNhbGx5KSBjYW4ndCB1c2UgdGhlbSBhbGwgYXQKK3RoZSBzYW1lIHRpbWUuIEFsdGhvdWdoIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBtaXggdGhlIHR3byBzZW5zb3IgdHlwZXMsCit0aGUgZG9jdW1lbnRzIGZyb20gTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBzdWdnZXN0IHRoYXQgbW90aGVyYm9hcmQKK21hbnVmYWN0dXJlcnMgc2hvdWxkIGNob29zZSBvbmUgdHlwZSBhbmQgc3RpY2sgdG8gaXQuIFNvIHlvdSB3aWxsIG1vcmUKK2xpa2VseSBoYXZlIGVpdGhlciBjaGFubmVscyAxIHRvIDMgKHRoZXJtYWwgZGlvZGVzKSBvciAzIHRvIDYgKGludGVybmFsCit0aGVybWFsIGRpb2RlLCBhbmQgdGhlcm1pc3RvcnMpLgorCisKK1ZvbHRhZ2UgTW9uaXRvcmluZworLS0tLS0tLS0tLS0tLS0tLS0tCisKK1ZvbHRhZ2VzIGFyZSByZXBvcnRlZCByZWxhdGl2ZWx5IHRvIGEgcmVmZXJlbmNlIHZvbHRhZ2UsIGVpdGhlciBpbnRlcm5hbCBvcgorZXh0ZXJuYWwuIFNvbWUgb2YgdGhlbSAoaW43OlZzYiwgaW44OlZkZCBhbmQgaW4xMDpBVmRkKSBhcmUgZGl2aWRlZCBieSB0d28KK2ludGVybmFsbHksIHlvdSB3aWxsIGhhdmUgdG8gY29tcGVuc2F0ZSBpbiBzZW5zb3JzLmNvbmYuIE90aGVycyAoaW4wIHRvIGluNikKK2FyZSBsaWtlbHkgdG8gYmUgZGl2aWRlZCBleHRlcm5hbGx5LiBUaGUgbWVhbmluZyBvZiBlYWNoIG9mIHRoZXNlIGlucHV0cyBhcword2VsbCBhcyB0aGUgdmFsdWVzIG9mIHRoZSByZXNpc3RvcnMgdXNlZCBmb3IgZGl2aXNpb24gaXMgbGVmdCB0byB0aGUKK21vdGhlcmJvYXJkIG1hbnVmYWN0dXJlcnMsIHNvIHlvdSB3aWxsIGhhdmUgdG8gZG9jdW1lbnQgeW91cnNlbGYgYW5kIGVkaXQKK3NlbnNvcnMuY29uZiBhY2NvcmRpbmdseS4gTmF0aW9uYWwgU2VtaWNvbmR1Y3RvciBoYXMgYSBkb2N1bWVudCB3aXRoCityZWNvbW1lbmRlZCByZXNpc3RvciB2YWx1ZXMgZm9yIHNvbWUgdm9sdGFnZXMsIGJ1dCB0aGlzIHN0aWxsIGxlYXZlcyBtdWNoCityb29tIGZvciBwZXIgbW90aGVyYm9hcmQgc3BlY2lmaWNpdGllcywgdW5mb3J0dW5hdGVseS4gRXZlbiB3b3JzZSwKK21vdGhlcmJvYXJkIG1hbnVmYWN0dXJlcnMgZG9uJ3Qgc2VlbSB0byBjYXJlIGFib3V0IE5hdGlvbmFsIFNlbWljb25kdWN0b3IncworcmVjb21tZW5kYXRpb25zLgorCitFYWNoIHZvbHRhZ2UgbWVhc3VyZWQgaGFzIGFzc29jaWF0ZWQgbG93IGFuZCBoaWdoIGxpbWl0cywgZWFjaCBvZiB3aGljaAordHJpZ2dlcnMgYW4gYWxhcm0gd2hlbiBjcm9zc2VkLgorCitXaGVuIGF2YWlsYWJsZSwgVklEIGlucHV0cyBhcmUgdXNlZCB0byBwcm92aWRlIHRoZSBub21pbmFsIENQVSBDb3JlIHZvbHRhZ2UuCitUaGUgZHJpdmVyIHdpbGwgZGVmYXVsdCB0byBWUk0gOS4wLCBidXQgdGhpcyBjYW4gYmUgY2hhbmdlZCBmcm9tIHVzZXItc3BhY2UuCitUaGUgY2hpcHNldHMgY2FuIGhhbmRsZSB0d28gc2V0cyBvZiBWSUQgaW5wdXRzIChvbiBkdWFsLUNQVSBzeXN0ZW1zKSwgYnV0Cit0aGUgZHJpdmVyIHdpbGwgb25seSBleHBvcnQgb25lIGZvciBub3cuIFRoaXMgbWF5IGNoYW5nZSBsYXRlciBpZiB0aGVyZSBpcworYSBuZWVkLgorCisKK0dlbmVyYWwgUmVtYXJrcworLS0tLS0tLS0tLS0tLS0tCisKK0lmIGFuIGFsYXJtIHRyaWdnZXJzLCBpdCB3aWxsIHJlbWFpbiB0cmlnZ2VyZWQgdW50aWwgdGhlIGhhcmR3YXJlIHJlZ2lzdGVyCitpcyByZWFkIGF0IGxlYXN0IG9uY2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgY2F1c2UgZm9yIHRoZSBhbGFybSBtYXkgYWxyZWFkeQoraGF2ZSBkaXNhcHBlYXJlZCEgTm90ZSB0aGF0IGFsbCBoYXJkd2FyZSByZWdpc3RlcnMgYXJlIHJlYWQgd2hlbmV2ZXIgYW55CitkYXRhIGlzIHJlYWQgKHVubGVzcyBpdCBpcyBsZXNzIHRoYW4gMiBzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZSwgaW4KK3doaWNoIGNhc2UgY2FjaGVkIHZhbHVlcyBhcmUgcmV0dXJuZWQgaW5zdGVhZCkuIEFzIGEgY29uc2VxdWVuY2UsIHdoZW4KK2Egb25jZS1vbmx5IGFsYXJtIHRyaWdnZXJzLCBpdCBtYXkgdGFrZSAyIHNlY29uZHMgZm9yIGl0IHRvIHNob3csIGFuZCAyCittb3JlIHNlY29uZHMgZm9yIGl0IHRvIGRpc2FwcGVhci4KKworTW9uaXRvcmluZyBvZiBpbjkgaXNuJ3QgZW5hYmxlZCBhdCBsb3dlciBpbml0IGxldmVscyAoPDMpIGJlY2F1c2UgdGhhdAorY2hhbm5lbCBtZWFzdXJlcyB0aGUgYmF0dGVyeSB2b2x0YWdlIChWYmF0KS4gSXQgaXMgYSBrbm93biBmYWN0IHRoYXQKK3JlcGVhdGVkbHkgc2FtcGxpbmcgdGhlIGJhdHRlcnkgdm9sdGFnZSByZWR1Y2VzIGl0cyBsaWZldGltZS4gTmF0aW9uYWwKK1NlbWljb25kdWN0b3Igc21hcnRseSBkZXNpZ25lZCB0aGVpciBjaGlwc2V0IHNvIHRoYXQgaW45IGlzIHNhbXBsZWQgb25seQorb25jZSBldmVyeSAxMDI0IHNhbXBsaW5nIGN5Y2xlcyAodGhhdCBpcyBldmVyeSAzNCBtaW51dGVzIGF0IHRoZSBkZWZhdWx0CitzYW1wbGluZyByYXRlKSwgc28gdGhlIGVmZmVjdCBpcyBhdHRlbnVhdGVkLCBidXQgc3RpbGwgcHJlc2VudC4KKworCitMaW1pdGF0aW9ucworLS0tLS0tLS0tLS0KKworVGhlIGRhdGFzaGVldHMgc3VnZ2VzdHMgdGhhdCBzb21lIHZhbHVlcyAoZmFuIG1pbnMsIGZhbiBkaXZpZGVycykKK3Nob3VsZG4ndCBiZSBjaGFuZ2VkIG9uY2UgdGhlIG1vbml0b3JpbmcgaGFzIHN0YXJ0ZWQsIGJ1dCB3ZSBpZ25vcmUgdGhhdAorcmVjb21tZW5kYXRpb24uIFdlJ2xsIHJlY29uc2lkZXIgaWYgaXQgYWN0dWFsbHkgY2F1c2VzIHRyb3VibGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9wY2Y4NTc0IGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvcGNmODU3NApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzUyYzhjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvcGNmODU3NApAQCAtMCwwICsxLDY5IEBACitLZXJuZWwgZHJpdmVyIHBjZjg1NzQKKz09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogUGhpbGlwcyBQQ0Y4NTc0CisgICAgUHJlZml4OiAncGNmODU3NCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjAgLSAweDI3CisgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIFBoaWxpcHMgU2VtaWNvbmR1Y3RvcnMgd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zZW1pY29uZHVjdG9ycy5waGlsaXBzLmNvbS9waXAvUENGODU3NFAuaHRtbAorCisgKiBQaGlsaXBzIFBDRjg1NzRBCisgICAgUHJlZml4OiAncGNmODU3NGEnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDM4IC0gMHgzZgorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBQaGlsaXBzIFNlbWljb25kdWN0b3JzIHdlYnNpdGUKKyAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuc2VtaWNvbmR1Y3RvcnMucGhpbGlwcy5jb20vcGlwL1BDRjg1NzRQLmh0bWwKKworQXV0aG9yczoKKyAgICAgICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKKyAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKKyAgICAgICAgRGFuIEVhdG9uIDxkYW4uZWF0b25Acm9ja2V0bG9naXguY29tPiwKKyAgICAgICAgQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PiwKKyAgICAgICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+LAorCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorVGhlIFBDRjg1NzQoQSkgaXMgYW4gOC1iaXQgSS9PIGV4cGFuZGVyIGZvciB0aGUgSTJDIGJ1cyBwcm9kdWNlZCBieSBQaGlsaXBzCitTZW1pY29uZHVjdG9ycy4gSXQgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBhIGJ5dGUgSTJDIGludGVyZmFjZSB0byB1cCB0byAxNgorc2VwYXJhdGUgZGV2aWNlcyAoOCB4IFBDRjg1NzQgYW5kIDggeCBQQ0Y4NTc0QSkuCisKK1RoaXMgZGV2aWNlIGNvbnNpc3RzIG9mIGEgcXVhc2ktYmlkaXJlY3Rpb25hbCBwb3J0LiBFYWNoIG9mIHRoZSBlaWdodCBJL09zCitjYW4gYmUgaW5kZXBlbmRlbnRseSB1c2VkIGFzIGFuIGlucHV0IG9yIG91dHB1dC4gVG8gc2V0dXAgYW4gSS9PIGFzIGFuCitpbnB1dCwgeW91IGhhdmUgdG8gd3JpdGUgYSAxIHRvIHRoZSBjb3JyZXNwb25kaW5nIG91dHB1dC4KKworRm9yIG1vcmUgaW5mb3JtYXRpb25zIHNlZSB0aGUgZGF0YXNoZWV0LgorCisKK0FjY2Vzc2luZyBQQ0Y4NTc0KEEpIHZpYSAvc3lzIGludGVyZmFjZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCishIEJlIGNhcmVmdWwgIQorVGhlIFBDRjg1NzQoQSkgaXMgcGxhaW5seSBpbXBvc3NpYmxlIHRvIGRldGVjdCAhIFN0dXBpZCBjaGlwLgorU28gZXZlcnkgY2hpcCB3aXRoIGFkZHJlc3MgaW4gdGhlIGludGVydmFsIFsyMC4uMjddIGFuZCBbMzguLjNmXSBhcmUKK2RldGVjdGVkIGFzIFBDRjg1NzQoQSkuIElmIHlvdSBoYXZlIG90aGVyIGNoaXBzIGluIHRoaXMgYWRkcmVzcworcmFuZ2UsIHRoZSB3b3JrYXJvdW5kIGlzIHRvIGxvYWQgdGhpcyBtb2R1bGUgYWZ0ZXIgdGhlIG9uZQorZm9yIHlvdXIgb3RoZXJzIGNoaXBzLgorCitPbiBkZXRlY3Rpb24gKGkuZS4gaW5zbW9kLCBtb2Rwcm9iZSBldCBhbC4pLCBkaXJlY3RvcmllcyBhcmUgYmVpbmcKK2NyZWF0ZWQgZm9yIGVhY2ggZGV0ZWN0ZWQgUENGODU3NChBKToKKworL3N5cy9idXMvaTJjL2RldmljZXMvPDA+LTwxPi8KK3doZXJlIDwwPiBpcyB0aGUgYnVzIHRoZSBjaGlwIHdhcyBkZXRlY3RlZCBvbiAoZS4gZy4gaTJjLTApCithbmQgPDE+IHRoZSBjaGlwIGFkZHJlc3MgKFsyMC4uMjddIG9yIFszOC4uM2ZdKToKKworKGV4YW1wbGU6IC9zeXMvYnVzL2kyYy9kZXZpY2VzLzEtMDAyMC8pCisKK0luc2lkZSB0aGVzZSBkaXJlY3RvcmllcywgdGhlcmUgYXJlIHR3byBmaWxlcyBlYWNoOgorcmVhZCBhbmQgd3JpdGUgKGFuZCBvbmUgZmlsZSB3aXRoIGNoaXAgbmFtZSkuCisKK1RoZSByZWFkIGZpbGUgaXMgcmVhZC1vbmx5LiBSZWFkaW5nIGdpdmVzIHlvdSB0aGUgY3VycmVudCBJL08gaW5wdXQKK2lmIHRoZSBjb3JyZXNwb25kaW5nIG91dHB1dCBpcyBzZXQgYXMgMSwgb3RoZXJ3aXNlIHRoZSBjdXJyZW50IG91dHB1dAordmFsdWUsIHRoYXQgaXMgdG8gc2F5IDAuCisKK1RoZSB3cml0ZSBmaWxlIGlzIHJlYWQvd3JpdGUuIFdyaXRpbmcgYSB2YWx1ZSBvdXRwdXRzIGl0IG9uIHRoZSBJL08KK3BvcnQuIFJlYWRpbmcgcmV0dXJucyB0aGUgbGFzdCB3cml0dGVuIHZhbHVlLgorCitPbiBtb2R1bGUgaW5pdGlhbGl6YXRpb24gdGhlIGNoaXAgaXMgY29uZmlndXJlZCBhcyBlaWdodCBpbnB1dHMgKGFsbAorb3V0cHV0cyB0byAxKSwgc28geW91IGNhbiBjb25uZWN0IGFueSBjaXJjdWl0IHRvIHRoZSBQQ0Y4NTc0KEEpIHdpdGhvdXQKK2JlaW5nIGFmcmFpZCBvZiBzaG9ydC1jaXJjdWl0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvcGNmODU5MSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3BjZjg1OTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYyOGZjZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3BjZjg1OTEKQEAgLTAsMCArMSw5MCBAQAorS2VybmVsIGRyaXZlciBwY2Y4NTkxCis9PT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIFBoaWxpcHMgUENGODU5MQorICAgIFByZWZpeDogJ3BjZjg1OTEnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDQ4IC0gMHg0ZgorICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBQaGlsaXBzIFNlbWljb25kdWN0b3Igd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zZW1pY29uZHVjdG9ycy5waGlsaXBzLmNvbS9waXAvUENGODU5MVAuaHRtbAorCitBdXRob3JzOgorICAgICAgICBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+CisgICAgICAgIHZhbHVhYmxlIGNvbnRyaWJ1dGlvbnMgYnkgSmFuIE0uIFNlbmRsZXIgPHNlbmRsZXJAc2VuZGxlci5kZT4sCisgICAgICAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorVGhlIFBDRjg1OTEgaXMgYW4gOC1iaXQgQS9EIGFuZCBEL0EgY29udmVydGVyICg0IGFuYWxvZyBpbnB1dHMgYW5kIG9uZQorYW5hbG9nIG91dHB1dCkgZm9yIHRoZSBJMkMgYnVzIHByb2R1Y2VkIGJ5IFBoaWxpcHMgU2VtaWNvbmR1Y3RvcnMuIEl0CitpcyBkZXNpZ25lZCB0byBwcm92aWRlIGEgYnl0ZSBJMkMgaW50ZXJmYWNlIHRvIHVwIHRvIDQgc2VwYXJhdGUgZGV2aWNlcy4KKworVGhlIFBDRjg1OTEgaGFzIDQgYW5hbG9nIGlucHV0cyBwcm9ncmFtbWFibGUgYXMgc2luZ2xlLWVuZGVkIG9yCitkaWZmZXJlbnRpYWwgaW5wdXRzIDoKKy0gbW9kZSAwIDogZm91ciBzaW5nbGUgZW5kZWQgaW5wdXRzCisgICAgICAgIFBpbnMgQUlOMCB0byBBSU4zIGFyZSBzaW5nbGUgZW5kZWQgaW5wdXRzIGZvciBjaGFubmVscyAwIHRvIDMKKworLSBtb2RlIDEgOiB0aHJlZSBkaWZmZXJlbnRpYWwgaW5wdXRzCisgICAgICAgIFBpbnMgQUlOMyBpcyB0aGUgY29tbW9uIG5lZ2F0aXZlIGRpZmZlcmVudGlhbCBpbnB1dAorICAgICAgICBQaW5zIEFJTjAgdG8gQUlOMiBhcmUgcG9zaXRpdmUgZGlmZmVyZW50aWFsIGlucHV0cyBmb3IgY2hhbm5lbHMgMCB0byAyCisKKy0gbW9kZSAyIDogc2luZ2xlIGVuZGVkIGFuZCBkaWZmZXJlbnRpYWwgbWl4ZWQKKyAgICAgICAgUGlucyBBSU4wIGFuZCBBSU4xIGFyZSBzaW5nbGUgZW5kZWQgaW5wdXRzIGZvciBjaGFubmVscyAwIGFuZCAxCisgICAgICAgIFBpbnMgQUlOMiBpcyB0aGUgcG9zaXRpdmUgZGlmZmVyZW50aWFsIGlucHV0IGZvciBjaGFubmVsIDMKKyAgICAgICAgUGlucyBBSU4zIGlzIHRoZSBuZWdhdGl2ZSBkaWZmZXJlbnRpYWwgaW5wdXQgZm9yIGNoYW5uZWwgMworCistIG1vZGUgMyA6IHR3byBkaWZmZXJlbnRpYWwgaW5wdXRzCisgICAgICAgIFBpbnMgQUlOMCBpcyB0aGUgcG9zaXRpdmUgZGlmZmVyZW50aWFsIGlucHV0IGZvciBjaGFubmVsIDAKKyAgICAgICAgUGlucyBBSU4xIGlzIHRoZSBuZWdhdGl2ZSBkaWZmZXJlbnRpYWwgaW5wdXQgZm9yIGNoYW5uZWwgMAorICAgICAgICBQaW5zIEFJTjIgaXMgdGhlIHBvc2l0aXZlIGRpZmZlcmVudGlhbCBpbnB1dCBmb3IgY2hhbm5lbCAxCisgICAgICAgIFBpbnMgQUlOMyBpcyB0aGUgbmVnYXRpdmUgZGlmZmVyZW50aWFsIGlucHV0IGZvciBjaGFubmVsIDEKKworU2VlIHRoZSBkYXRhc2hlZXQgZm9yIGRldGFpbHMuCisKK01vZHVsZSBwYXJhbWV0ZXJzCistLS0tLS0tLS0tLS0tLS0tLQorCisqIGlucHV0X21vZGUgaW50CisKKyAgICBBbmFsb2cgaW5wdXQgbW9kZToKKyAgICAgICAgIDAgPSBmb3VyIHNpbmdsZSBlbmRlZCBpbnB1dHMKKyAgICAgICAgIDEgPSB0aHJlZSBkaWZmZXJlbnRpYWwgaW5wdXRzCisgICAgICAgICAyID0gc2luZ2xlIGVuZGVkIGFuZCBkaWZmZXJlbnRpYWwgbWl4ZWQKKyAgICAgICAgIDMgPSB0d28gZGlmZmVyZW50aWFsIGlucHV0cworCisKK0FjY2Vzc2luZyBQQ0Y4NTkxIHZpYSAvc3lzIGludGVyZmFjZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCishIEJlIGNhcmVmdWwgIQorVGhlIFBDRjg1OTEgaXMgcGxhaW5seSBpbXBvc3NpYmxlIHRvIGRldGVjdCAhIFN0dXBpZCBjaGlwLgorU28gZXZlcnkgY2hpcCB3aXRoIGFkZHJlc3MgaW4gdGhlIGludGVydmFsIFs0OC4uNGZdIGlzCitkZXRlY3RlZCBhcyBQQ0Y4NTkxLiBJZiB5b3UgaGF2ZSBvdGhlciBjaGlwcyBpbiB0aGlzIGFkZHJlc3MKK3JhbmdlLCB0aGUgd29ya2Fyb3VuZCBpcyB0byBsb2FkIHRoaXMgbW9kdWxlIGFmdGVyIHRoZSBvbmUKK2ZvciB5b3VyIG90aGVycyBjaGlwcy4KKworT24gZGV0ZWN0aW9uIChpLmUuIGluc21vZCwgbW9kcHJvYmUgZXQgYWwuKSwgZGlyZWN0b3JpZXMgYXJlIGJlaW5nCitjcmVhdGVkIGZvciBlYWNoIGRldGVjdGVkIFBDRjg1OTE6CisKKy9zeXMvYnVzL2RldmljZXMvPDA+LTwxPi8KK3doZXJlIDwwPiBpcyB0aGUgYnVzIHRoZSBjaGlwIHdhcyBkZXRlY3RlZCBvbiAoZS4gZy4gaTJjLTApCithbmQgPDE+IHRoZSBjaGlwIGFkZHJlc3MgKFs0OC4uNGZdKQorCitJbnNpZGUgdGhlc2UgZGlyZWN0b3JpZXMsIHRoZXJlIGFyZSBzdWNoIGZpbGVzOgoraW4wLCBpbjEsIGluMiwgaW4zLCBvdXQwX2VuYWJsZSwgb3V0MF9vdXRwdXQsIG5hbWUKKworTmFtZSBjb250YWlucyBjaGlwIG5hbWUuCisKK1RoZSBpbjAsIGluMSwgaW4yIGFuZCBpbjMgZmlsZXMgYXJlIFJPLiBSZWFkaW5nIGdpdmVzIHRoZSB2YWx1ZSBvZiB0aGUKK2NvcnJlc3BvbmRpbmcgY2hhbm5lbC4gRGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IGFuYWxvZyBpbnB1dHMgY29uZmlndXJhdGlvbiwKK2ZpbGVzIGluMiBhbmQvb3IgaW4zIGRvIG5vdCBleGlzdC4gVmFsdWVzIHJhbmdlIGFyZSBmcm9tIDAgdG8gMjU1IGZvciBzaW5nbGUKK2VuZGVkIGlucHV0cyBhbmQgLTEyOCB0byArMTI3IGZvciBkaWZmZXJlbnRpYWwgaW5wdXRzICg4LWJpdCBBREMpLgorCitUaGUgb3V0MF9lbmFibGUgZmlsZSBpcyBSVy4gUmVhZGluZyBnaXZlcyAiMSIgZm9yIGFuYWxvZyBvdXRwdXQgZW5hYmxlZCBhbmQKKyIwIiBmb3IgYW5hbG9nIG91dHB1dCBkaXNhYmxlZC4gV3JpdGluZyBhY2NlcHRzICIwIiBhbmQgIjEiIGFjY29yZGluZ2x5LgorCitUaGUgb3V0MF9vdXRwdXQgZmlsZSBpcyBSVy4gV3JpdGluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDI1NSAoOC1iaXQgREFDKSwgc2VuZAordGhlIHZhbHVlIHRvIHRoZSBkaWdpdGFsLXRvLWFuYWxvZyBjb252ZXJ0ZXIuIE5vdGUgdGhhdCBhIHZvbHRhZ2Ugd2lsbAorb25seSBhcHBlYXJzIG9uIEFPVVQgcGluIGlmIGFvdXQwX2VuYWJsZSBlcXVhbHMgMS4gUmVhZGluZyByZXR1cm5zIHRoZSBsYXN0Cit2YWx1ZSB3cml0dGVuLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvc2lzNTU5NSBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3NpczU1OTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdhZTM2YgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3NpczU1OTUKQEAgLTAsMCArMSwxMDYgQEAKK0tlcm5lbCBkcml2ZXIgc2lzNTU5NQorPT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBTaWxpY29uIEludGVncmF0ZWQgU3lzdGVtcyBDb3JwLiBTaVM1NTk1IFNvdXRoYnJpZGdlIEhhcmR3YXJlIE1vbml0b3IKKyAgICBQcmVmaXg6ICdzaXM1NTk1JworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJU0EgaW4gUENJLXNwYWNlIGVuY29kZWQgYWRkcmVzcworICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0IHRoZSBTaWxpY29uIEludGVncmF0ZWQgU3lzdGVtcyBDb3JwLiBzaXRlLgorCitBdXRob3JzOgorICAgICAgICBLefZzdGkgTeRsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4sCisgICAgICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4sCisgICAgICAgIEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4gMi42IHBvcnQKKworICAgU2lTIHNvdXRoYnJpZGdlIGhhcyBhIExNNzgtbGlrZSBjaGlwIGludGVncmF0ZWQgb24gdGhlIHNhbWUgSUMuCisgICBUaGlzIGRyaXZlciBpcyBhIGN1c3RvbWl6ZWQgY29weSBvZiBsbTc4LmMKKworICAgU3VwcG9ydHMgZm9sbG93aW5nIHJldmlzaW9uczoKKyAgICAgICBWZXJzaW9uICAgICAgICAgUENJIElEICAgICAgICAgIFBDSSBSZXZpc2lvbgorICAgICAgIDEgICAgICAgICAgICAgICAxMDM5LzAwMDggICAgICAgQUYgb3IgbGVzcworICAgICAgIDIgICAgICAgICAgICAgICAxMDM5LzAwMDggICAgICAgQjAgb3IgZ3JlYXRlcgorCisgICBOb3RlOiB0aGVzZSBjaGlwcyBjb250YWluIGEgMDAwOCBkZXZpY2Ugd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlCisgICAgICAgIDU1OTUuIFdlIHJlY29nbml6ZSB0aGVzZSBieSB0aGUgcHJlc2VuY2Ugb2YgdGhlIGxpc3RlZAorICAgICAgICAiYmxhY2tsaXN0IiBQQ0kgSUQgYW5kIHJlZnVzZSB0byBsb2FkLgorCisgICBOT1QgU1VQUE9SVEVEICAgICAgIFBDSSBJRCAgICAgICAgICBCTEFDS0xJU1QgUENJIElECisgICAgICAgIDU0MCAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNTQwCisgICAgICAgIDU1MCAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNTUwCisgICAgICAgNTUxMyAgICAgICAgICAgIDAwMDggICAgICAgICAgICA1NTExCisgICAgICAgNTU4MSAgICAgICAgICAgIDAwMDggICAgICAgICAgICA1NTk3CisgICAgICAgNTU4MiAgICAgICAgICAgIDAwMDggICAgICAgICAgICA1NTk3CisgICAgICAgNTU5NyAgICAgICAgICAgIDAwMDggICAgICAgICAgICA1NTk3CisgICAgICAgIDYzMCAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNjMwCisgICAgICAgIDY0NSAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNjQ1CisgICAgICAgIDczMCAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNzMwCisgICAgICAgIDczNSAgICAgICAgICAgIDAwMDggICAgICAgICAgICAwNzM1CisKKworTW9kdWxlIFBhcmFtZXRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tCitmb3JjZV9hZGRyPTB4YWRkcglTZXQgdGhlIEkvTyBiYXNlIGFkZHJlc3MuIFVzZWZ1bCBmb3IgYm9hcmRzCisJCQl0aGF0IGRvbid0IHNldCB0aGUgYWRkcmVzcyBpbiB0aGUgQklPUy4gRG9lcyBub3QgZG8gYQorCQkJUENJIGZvcmNlOyB0aGUgZGV2aWNlIG11c3Qgc3RpbGwgYmUgcHJlc2VudCBpbiBsc3BjaS4KKwkJCURvbid0IHVzZSB0aGlzIHVubGVzcyB0aGUgZHJpdmVyIGNvbXBsYWlucyB0aGF0IHRoZQorCQkJYmFzZSBhZGRyZXNzIGlzIG5vdCBzZXQuCisJCQlFeGFtcGxlOiAnbW9kcHJvYmUgc2lzNTU5NSBmb3JjZV9hZGRyPTB4MjkwJworCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGUgU2lTNTU5NSBzb3V0aGJyaWRnZSBoYXMgaW50ZWdyYXRlZCBoYXJkd2FyZSBtb25pdG9yIGZ1bmN0aW9ucy4gSXQgYWxzbworaGFzIGFuIEkyQyBidXMsIGJ1dCB0aGlzIGRyaXZlciBvbmx5IHN1cHBvcnRzIHRoZSBoYXJkd2FyZSBtb25pdG9yLiBGb3IgdGhlCitJMkMgYnVzIGRyaXZlciBzZWUgaTJjLXNpczU1OTUuCisKK1RoZSBTaVM1NTk1IGltcGxlbWVudHMgemVybyBvciBvbmUgdGVtcGVyYXR1cmUgc2Vuc29yLCB0d28gZmFuIHNwZWVkCitzZW5zb3JzLCBmb3VyIG9yIGZpdmUgdm9sdGFnZSBzZW5zb3JzLCBhbmQgYWxhcm1zLgorCitPbiB0aGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgY2hpcCwgdGhlcmUgYXJlIGZvdXIgdm9sdGFnZSBzZW5zb3JzIGFuZCBvbmUKK3RlbXBlcmF0dXJlIHNlbnNvci4KKworT24gdGhlIHNlY29uZCB2ZXJzaW9uIG9mIHRoZSBjaGlwLCB0aGUgdGVtcGVyYXR1cmUgc2Vuc29yICh0ZW1wKSBhbmQgdGhlCitmaWZ0aCB2b2x0YWdlIHNlbnNvciAoaW40KSBzaGFyZSBhIHBpbiB3aGljaCBpcyBjb25maWd1cmFibGUsIGJ1dCBub3QKK3Rocm91Z2ggdGhlIGRyaXZlci4gU29ycnkuIFRoZSBkcml2ZXIgc2Vuc2VzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBwaW4sCit3aGljaCB3YXMgaG9wZWZ1bGx5IHNldCBieSB0aGUgQklPUy4KKworVGVtcGVyYXR1cmVzIGFyZSBtZWFzdXJlZCBpbiBkZWdyZWVzIENlbHNpdXMuIEFuIGFsYXJtIGlzIHRyaWdnZXJlZCBvbmNlCit3aGVuIHRoZSBtYXggaXMgY3Jvc3NlZDsgaXQgaXMgYWxzbyB0cmlnZ2VyZWQgd2hlbiBpdCBkcm9wcyBiZWxvdyB0aGUgbWluCit2YWx1ZS4gTWVhc3VyZW1lbnRzIGFyZSBndWFyYW50ZWVkIGJldHdlZW4gLTU1IGFuZCArMTI1IGRlZ3JlZXMsIHdpdGggYQorcmVzb2x1dGlvbiBvZiAxIGRlZ3JlZS4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIEFuIGFsYXJtIGlzCit0cmlnZ2VyZWQgaWYgdGhlIHJvdGF0aW9uIHNwZWVkIGhhcyBkcm9wcGVkIGJlbG93IGEgcHJvZ3JhbW1hYmxlIGxpbWl0LiBGYW4KK3JlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8gZ2l2ZQordGhlIHJlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuIE5vdCBhbGwgUlBNIHZhbHVlcyBjYW4gYWNjdXJhdGVseSBiZQorcmVwcmVzZW50ZWQsIHNvIHNvbWUgcm91bmRpbmcgaXMgZG9uZS4gV2l0aCBhIGRpdmlkZXIgb2YgMiwgdGhlIGxvd2VzdAorcmVwcmVzZW50YWJsZSB2YWx1ZSBpcyBhcm91bmQgMjYwMCBSUE0uCisKK1ZvbHRhZ2Ugc2Vuc29ycyAoYWxzbyBrbm93biBhcyBJTiBzZW5zb3JzKSByZXBvcnQgdGhlaXIgdmFsdWVzIGluIHZvbHRzLiBBbgorYWxhcm0gaXMgdHJpZ2dlcmVkIGlmIHRoZSB2b2x0YWdlIGhhcyBjcm9zc2VkIGEgcHJvZ3JhbW1hYmxlIG1pbmltdW0gb3IKK21heGltdW0gbGltaXQuIE5vdGUgdGhhdCBtaW5pbXVtIGluIHRoaXMgY2FzZSBhbHdheXMgbWVhbnMgJ2Nsb3Nlc3QgdG8KK3plcm8nOyB0aGlzIGlzIGltcG9ydGFudCBmb3IgbmVnYXRpdmUgdm9sdGFnZSBtZWFzdXJlbWVudHMuIEFsbCB2b2x0YWdlCitpbnB1dHMgY2FuIG1lYXN1cmUgdm9sdGFnZXMgYmV0d2VlbiAwIGFuZCA0LjA4IHZvbHRzLCB3aXRoIGEgcmVzb2x1dGlvbiBvZgorMC4wMTYgdm9sdC4KKworSW4gYWRkaXRpb24gdG8gdGhlIGFsYXJtcyBkZXNjcmliZWQgYWJvdmUsIHRoZXJlIGlzIGEgQlRJIGFsYXJtLCB3aGljaCBnZXRzCit0cmlnZ2VyZWQgd2hlbiBhbiBleHRlcm5hbCBjaGlwIGhhcyBjcm9zc2VkIGl0cyBsaW1pdHMuIFVzdWFsbHksIHRoaXMgaXMKK2Nvbm5lY3RlZCB0byBzb21lIExNNzUtbGlrZSBjaGlwOyBpZiBhdCBsZWFzdCBvbmUgY3Jvc3NlcyBpdHMgbGltaXRzLCB0aGlzCitiaXQgZ2V0cyBzZXQuCisKK0lmIGFuIGFsYXJtIHRyaWdnZXJzLCBpdCB3aWxsIHJlbWFpbiB0cmlnZ2VyZWQgdW50aWwgdGhlIGhhcmR3YXJlIHJlZ2lzdGVyCitpcyByZWFkIGF0IGxlYXN0IG9uY2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgY2F1c2UgZm9yIHRoZSBhbGFybSBtYXkgYWxyZWFkeQoraGF2ZSBkaXNhcHBlYXJlZCEgTm90ZSB0aGF0IGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBhbGwgaGFyZHdhcmUKK3JlZ2lzdGVycyBhcmUgcmVhZCB3aGVuZXZlciBhbnkgZGF0YSBpcyByZWFkICh1bmxlc3MgaXQgaXMgbGVzcyB0aGFuIDEuNQorc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUpLiBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBlYXNpbHkgbWlzcworb25jZS1vbmx5IGFsYXJtcy4KKworVGhlIFNpUzU1OTUgb25seSB1cGRhdGVzIGl0cyB2YWx1ZXMgZWFjaCAxLjUgc2Vjb25kczsgcmVhZGluZyBpdCBtb3JlIG9mdGVuCit3aWxsIGRvIG5vIGhhcm0sIGJ1dCB3aWxsIHJldHVybiAnb2xkJyB2YWx1ZXMuCisKK1Byb2JsZW1zCistLS0tLS0tLQorU29tZSBjaGlwcyByZWZ1c2UgdG8gYmUgZW5hYmxlZC4gV2UgZG9uJ3Qga25vdyB3aHkuCitUaGUgZHJpdmVyIHdpbGwgcmVjb2duaXplIHRoaXMgYW5kIHByaW50IGEgbWVzc2FnZSBpbiBkbWVzZy4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvc21zYzQ3YjM5NyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3Ntc2M0N2IzOTcKaW5kZXggNDczN2JiNi4uZGE5ZDgwYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvc21zYzQ3YjM5NworKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy9zbXNjNDdiMzk3CkBAIC0xLDcgKzEsMTkgQEAKK0tlcm5lbCBkcml2ZXIgc21zYzQ3YjM5NworPT09PT09PT09PT09PT09PT09PT09PT09CisKK1N1cHBvcnRlZCBjaGlwczoKKyAgKiBTTVNDIExQQzQ3QjM5Ny1OQworICAgIFByZWZpeDogJ3Ntc2M0N2IzOTcnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IG5vbmUsIGFkZHJlc3MgcmVhZCBmcm9tIFN1cGVyIEkvTyBjb25maWcgc3BhY2UKKyAgICBEYXRhc2hlZXQ6IEluIHRoaXMgZmlsZQorCitBdXRob3JzOiBNYXJrIE0uIEhvZmZtYW4gPG1ob2ZmbWFuQGxpZ2h0bGluay5jb20+CisgICAgICAgICBVdGlsaXRlayBTeXN0ZW1zLCBJbmMuCisKIE5vdmVtYmVyIDIzLCAyMDA0CiAKIFRoZSBmb2xsb3dpbmcgc3BlY2lmaWNhdGlvbiBkZXNjcmliZXMgdGhlIFNNU0MgTFBDNDdCMzk3LU5DIHNlbnNvciBjaGlwCi0oZm9yIHdoaWNoIHRoZXJlIGlzIG5vIHB1YmxpYyBkYXRhc2hlZXQgYXZhaWxhYmxlKS4gIFRoaXMgZG9jdW1lbnQgd2FzCisoZm9yIHdoaWNoIHRoZXJlIGlzIG5vIHB1YmxpYyBkYXRhc2hlZXQgYXZhaWxhYmxlKS4gVGhpcyBkb2N1bWVudCB3YXMKIHByb3ZpZGVkIGJ5IENyYWlnIEtlbGx5IChJbi1TdG9yZSBCcm9hZGNhc3QgTmV0d29yaykgYW5kIGVkaXRlZC9jb3JyZWN0ZWQKIGJ5IE1hcmsgTS4gSG9mZm1hbiA8bWhvZmZtYW5AbGlnaHRsaW5rLmNvbT4uCiAKQEAgLTEwLDEwICsyMiwxMCBAQAogTWV0aG9kcyBmb3IgZGV0ZWN0aW5nIHRoZSBIUCBTSU8gYW5kIHJlYWRpbmcgdGhlIHRoZXJtYWwgZGF0YSBvbiBhIGRjNzEwMC4KIAogVGhlIHRoZXJtYWwgaW5mb3JtYXRpb24gb24gdGhlIGRjNzEwMCBpcyBjb250YWluZWQgaW4gdGhlIFNJTyBIYXJkd2FyZSBNb25pdG9yCi0oSFdNKS4gIFRoZSBpbmZvcm1hdGlvbiBpcyBhY2Nlc3NlZCB0aHJvdWdoIGFuIGluZGV4L2RhdGEgcGFpci4gIFRoZSBpbmRleC9kYXRhCi1wYWlyIGlzIGxvY2F0ZWQgYXQgdGhlIEhXTSBCYXNlIEFkZHJlc3MgKyAwIGFuZCB0aGUgSFdNIEJhc2UgQWRkcmVzcyArIDEuICBUaGUKKyhIV00pLiBUaGUgaW5mb3JtYXRpb24gaXMgYWNjZXNzZWQgdGhyb3VnaCBhbiBpbmRleC9kYXRhIHBhaXIuIFRoZSBpbmRleC9kYXRhCitwYWlyIGlzIGxvY2F0ZWQgYXQgdGhlIEhXTSBCYXNlIEFkZHJlc3MgKyAwIGFuZCB0aGUgSFdNIEJhc2UgQWRkcmVzcyArIDEuIFRoZQogSFdNIEJhc2UgYWRkcmVzcyBjYW4gYmUgb2J0YWluZWQgZnJvbSBMb2dpY2FsIERldmljZSA4LCByZWdpc3RlcnMgMHg2MCAoTVNCKQotYW5kIDB4NjEgKExTQikuICBDdXJyZW50bHkgd2UgYXJlIHVzaW5nIDB4NDgwIGZvciB0aGUgSFdNIEJhc2UgQWRkcmVzcyBhbmQKK2FuZCAweDYxIChMU0IpLiBDdXJyZW50bHkgd2UgYXJlIHVzaW5nIDB4NDgwIGZvciB0aGUgSFdNIEJhc2UgQWRkcmVzcyBhbmQKIDB4NDgwIGFuZCAweDQ4MSBmb3IgdGhlIGluZGV4L2RhdGEgcGFpci4KIAogUmVhZGluZyB0ZW1wZXJhdHVyZSBpbmZvcm1hdGlvbi4KQEAgLTUwLDcgKzYyLDcgQEAKIFRoZSBMU0IgTXVzdCBiZSByZWFkIGZpcnN0LgogCiBIb3cgdG8gY29udmVydCB0aGUgdGFjaCByZWFkaW5nIHRvIFJQTS4KLVRoZSB0YWNoIHJlYWRpbmcgKFRDb3VudCkgaXMgZ2l2ZW4gYnk6ICAoVGFjaCBNU0IgKiAyNTYpICsgKFRhY2ggTFNCKQorVGhlIHRhY2ggcmVhZGluZyAoVENvdW50KSBpcyBnaXZlbiBieTogKFRhY2ggTVNCICogMjU2KSArIChUYWNoIExTQikKIFRoZSBTSU8gY291bnRzIHRoZSBudW1iZXIgb2YgOTBrSHogKDExLjExMXVzKSBwdWxzZXMgcGVyIHJldm9sdXRpb24uCiBSUE0gPSA2MC8oVENvdW50ICogMTEuMTExdXMpCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3Ntc2M0N20xIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvc21zYzQ3bTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRlNjQ3OAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3Ntc2M0N20xCkBAIC0wLDAgKzEsNTIgQEAKK0tlcm5lbCBkcml2ZXIgc21zYzQ3bTEKKz09PT09PT09PT09PT09PT09PT09PT0KKworU3VwcG9ydGVkIGNoaXBzOgorICAqIFNNU0MgTFBDNDdCMjd4LCBMUEM0N00xMHgsIExQQzQ3TTEzeCwgTFBDNDdNMTR4LCBMUEM0N00xNXggYW5kIExQQzQ3TTE5MgorICAgIEFkZHJlc3NlcyBzY2FubmVkOiBub25lLCBhZGRyZXNzIHJlYWQgZnJvbSBTdXBlciBJL08gY29uZmlnIHNwYWNlCisgICAgUHJlZml4OiAnc21zYzQ3bTEnCisgICAgRGF0YXNoZWV0czoKKyAgICAgICAgaHR0cDovL3d3dy5zbXNjLmNvbS9tYWluL2RhdGFzaGVldHMvNDdiMjd4LnBkZgorICAgICAgICBodHRwOi8vd3d3LnNtc2MuY29tL21haW4vZGF0YXNoZWV0cy80N20xMHgucGRmCisgICAgICAgIGh0dHA6Ly93d3cuc21zYy5jb20vbWFpbi90b29scy9kaXNjb250aW51ZWQvNDdtMTN4LnBkZgorICAgICAgICBodHRwOi8vd3d3LnNtc2MuY29tL21haW4vZGF0YXNoZWV0cy80N20xNHgucGRmCisgICAgICAgIGh0dHA6Ly93d3cuc21zYy5jb20vbWFpbi90b29scy9kaXNjb250aW51ZWQvNDdtMTV4LnBkZgorICAgICAgICBodHRwOi8vd3d3LnNtc2MuY29tL21haW4vZGF0YXNoZWV0cy80N20xOTIucGRmCisKK0F1dGhvcnM6CisgICAgICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4sCisgICAgICAgIFdpdGggYXNzaXN0YW5jZSBmcm9tIEJydWNlIEFsbGVuIDxiYWxsZW5AdXdtLmVkdT4sIGFuZCBoaXMKKyAgICAgICAgZmFuLmMgcHJvZ3JhbTogaHR0cDovL3d3dy5sc2MtZ3JvdXAucGh5cy51d20uZWR1LyU3RWJhbGxlbi9kcml2ZXIvCisgICAgICAgIEdhYnJpZWxlIEdvcmxhIDxnb3JsaWtAeWFob28uY29tPiwKKyAgICAgICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGUgU3RhbmRhcmQgTWljcm9zeXN0ZW1zIENvcnBvcmF0aW9uIChTTVNDKSA0N00xeHggU3VwZXIgSS9PIGNoaXBzCitjb250YWluIG1vbml0b3JpbmcgYW5kIFBXTSBjb250cm9sIGNpcmN1aXRyeSBmb3IgdHdvIGZhbnMuCisKK1RoZSA0N00xNXggYW5kIDQ3TTE5MiBjaGlwcyBjb250YWluIGEgZnVsbCAnaGFyZHdhcmUgbW9uaXRvcmluZyBibG9jaycKK2luIGFkZGl0aW9uIHRvIHRoZSBmYW4gbW9uaXRvcmluZyBhbmQgY29udHJvbC4gVGhlIGhhcmR3YXJlIG1vbml0b3JpbmcKK2Jsb2NrIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlci4KKworRmFuIHJvdGF0aW9uIHNwZWVkcyBhcmUgcmVwb3J0ZWQgaW4gUlBNIChyb3RhdGlvbnMgcGVyIG1pbnV0ZSkuIEFuIGFsYXJtIGlzCit0cmlnZ2VyZWQgaWYgdGhlIHJvdGF0aW9uIHNwZWVkIGhhcyBkcm9wcGVkIGJlbG93IGEgcHJvZ3JhbW1hYmxlIGxpbWl0LiBGYW4KK3JlYWRpbmdzIGNhbiBiZSBkaXZpZGVkIGJ5IGEgcHJvZ3JhbW1hYmxlIGRpdmlkZXIgKDEsIDIsIDQgb3IgOCkgdG8gZ2l2ZQordGhlIHJlYWRpbmdzIG1vcmUgcmFuZ2Ugb3IgYWNjdXJhY3kuIE5vdCBhbGwgUlBNIHZhbHVlcyBjYW4gYWNjdXJhdGVseSBiZQorcmVwcmVzZW50ZWQsIHNvIHNvbWUgcm91bmRpbmcgaXMgZG9uZS4gV2l0aCBhIGRpdmlkZXIgb2YgMiwgdGhlIGxvd2VzdAorcmVwcmVzZW50YWJsZSB2YWx1ZSBpcyBhcm91bmQgMjYwMCBSUE0uCisKK1BXTSB2YWx1ZXMgYXJlIGZyb20gMCB0byAyNTUuCisKK0lmIGFuIGFsYXJtIHRyaWdnZXJzLCBpdCB3aWxsIHJlbWFpbiB0cmlnZ2VyZWQgdW50aWwgdGhlIGhhcmR3YXJlIHJlZ2lzdGVyCitpcyByZWFkIGF0IGxlYXN0IG9uY2UuIFRoaXMgbWVhbnMgdGhhdCB0aGUgY2F1c2UgZm9yIHRoZSBhbGFybSBtYXkKK2FscmVhZHkgaGF2ZSBkaXNhcHBlYXJlZCEgTm90ZSB0aGF0IGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBhbGwKK2hhcmR3YXJlIHJlZ2lzdGVycyBhcmUgcmVhZCB3aGVuZXZlciBhbnkgZGF0YSBpcyByZWFkICh1bmxlc3MgaXQgaXMgbGVzcwordGhhbiAxLjUgc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUpLiBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBlYXNpbHkKK21pc3Mgb25jZS1vbmx5IGFsYXJtcy4KKworCisqKioqKioqKioqKioqKioqKioqKioqCitUaGUgbG1fc2Vuc29ycyBwcm9qZWN0IGdyYXRlZnVsbHkgYWNrbm93bGVkZ2VzIHRoZSBzdXBwb3J0IG9mCitJbnRlbCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBkcml2ZXIuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy92aWE2ODZhIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvdmlhNjg2YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODIwMTRjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvdmlhNjg2YQpAQCAtMCwwICsxLDY1IEBACitLZXJuZWwgZHJpdmVyIHZpYTY4NmEKKz09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogVmlhIFZUODJDNjg2QSwgVlQ4MkM2ODZCICBTb3V0aGJyaWRnZSBJbnRlZ3JhdGVkIEhhcmR3YXJlIE1vbml0b3IKKyAgICBQcmVmaXg6ICd2aWE2ODZhJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJU0EgaW4gUENJLXNwYWNlIGVuY29kZWQgYWRkcmVzcworICAgIERhdGFzaGVldDogT24gcmVxdWVzdCB0aHJvdWdoIHdlYiBmb3JtIChodHRwOi8vd3d3LnZpYS5jb20udHcvZW4vc3VwcG9ydC9kYXRhc2hlZXRzLykKKworQXV0aG9yczoKKyAgICAgICAgS3n2c3RpIE3kbGtraSA8a21hbGtraUBjYy5odXQuZmk+LAorICAgICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+CisgICAgICAgIEJvYiBEb3VnaGVydHkgPGJvYmRAc3RhbmZvcmQuZWR1PgorICAgICAgICAoU29tZSBjb252ZXJzaW9uLWZhY3RvciBkYXRhIHdlcmUgY29udHJpYnV0ZWQgYnkKKyAgICAgICAgSm9uYXRoYW4gVGVoIFNvb24gWWV3IDxqLnRlaEBpbmFtZS5jb20+CisgICAgICAgIGFuZCBBbGV4IHZhbiBLYWFtIDxkYXJrc2lkZUBjaGVsbG8ubmw+LikKKworTW9kdWxlIFBhcmFtZXRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKK2ZvcmNlX2FkZHI9MHhhZGRyICAgICAgIFNldCB0aGUgSS9PIGJhc2UgYWRkcmVzcy4gVXNlZnVsIGZvciBBc3VzIEE3ViBib2FyZHMKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgZG9uJ3Qgc2V0IHRoZSBhZGRyZXNzIGluIHRoZSBCSU9TLiBEb2VzIG5vdCBkbyBhCisgICAgICAgICAgICAgICAgICAgICAgICBQQ0kgZm9yY2U7IHRoZSB2aWE2ODZhIG11c3Qgc3RpbGwgYmUgcHJlc2VudCBpbiBsc3BjaS4KKyAgICAgICAgICAgICAgICAgICAgICAgIERvbid0IHVzZSB0aGlzIHVubGVzcyB0aGUgZHJpdmVyIGNvbXBsYWlucyB0aGF0IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSBhZGRyZXNzIGlzIG5vdCBzZXQuCisgICAgICAgICAgICAgICAgICAgICAgICBFeGFtcGxlOiAnbW9kcHJvYmUgdmlhNjg2YSBmb3JjZV9hZGRyPTB4NjAwMCcKKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisKK1RoZSBkcml2ZXIgZG9lcyBub3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgY2hpcHMgYW5kIHJlcG9ydHMKK2FsbCBhcyBhIDY4NkEuCisKK1RoZSBWaWEgNjg2YSBzb3V0aGJyaWRnZSBoYXMgaW50ZWdyYXRlZCBoYXJkd2FyZSBtb25pdG9yIGZ1bmN0aW9uYWxpdHkuCitJdCBhbHNvIGhhcyBhbiBJMkMgYnVzLCBidXQgdGhpcyBkcml2ZXIgb25seSBzdXBwb3J0cyB0aGUgaGFyZHdhcmUgbW9uaXRvci4KK0ZvciB0aGUgSTJDIGJ1cyBkcml2ZXIsIHNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLXZpYXBybz4KKworVGhlIFZpYSA2ODZhIGltcGxlbWVudHMgdGhyZWUgdGVtcGVyYXR1cmUgc2Vuc29ycywgdHdvIGZhbiByb3RhdGlvbiBzcGVlZAorc2Vuc29ycywgZml2ZSB2b2x0YWdlIHNlbnNvcnMgYW5kIGFsYXJtcy4KKworVGVtcGVyYXR1cmVzIGFyZSBtZWFzdXJlZCBpbiBkZWdyZWVzIENlbHNpdXMuIEFuIGFsYXJtIGlzIHRyaWdnZXJlZCBvbmNlCit3aGVuIHRoZSBPdmVydGVtcGVyYXR1cmUgU2h1dGRvd24gbGltaXQgaXMgY3Jvc3NlZDsgaXQgaXMgdHJpZ2dlcmVkIGFnYWluCithcyBzb29uIGFzIGl0IGRyb3BzIGJlbG93IHRoZSBoeXN0ZXJlc2lzIHZhbHVlLgorCitGYW4gcm90YXRpb24gc3BlZWRzIGFyZSByZXBvcnRlZCBpbiBSUE0gKHJvdGF0aW9ucyBwZXIgbWludXRlKS4gQW4gYWxhcm0gaXMKK3RyaWdnZXJlZCBpZiB0aGUgcm90YXRpb24gc3BlZWQgaGFzIGRyb3BwZWQgYmVsb3cgYSBwcm9ncmFtbWFibGUgbGltaXQuIEZhbgorcmVhZGluZ3MgY2FuIGJlIGRpdmlkZWQgYnkgYSBwcm9ncmFtbWFibGUgZGl2aWRlciAoMSwgMiwgNCBvciA4KSB0byBnaXZlCit0aGUgcmVhZGluZ3MgbW9yZSByYW5nZSBvciBhY2N1cmFjeS4gTm90IGFsbCBSUE0gdmFsdWVzIGNhbiBhY2N1cmF0ZWx5IGJlCityZXByZXNlbnRlZCwgc28gc29tZSByb3VuZGluZyBpcyBkb25lLiBXaXRoIGEgZGl2aWRlciBvZiAyLCB0aGUgbG93ZXN0CityZXByZXNlbnRhYmxlIHZhbHVlIGlzIGFyb3VuZCAyNjAwIFJQTS4KKworVm9sdGFnZSBzZW5zb3JzIChhbHNvIGtub3duIGFzIElOIHNlbnNvcnMpIHJlcG9ydCB0aGVpciB2YWx1ZXMgaW4gdm9sdHMuCitBbiBhbGFybSBpcyB0cmlnZ2VyZWQgaWYgdGhlIHZvbHRhZ2UgaGFzIGNyb3NzZWQgYSBwcm9ncmFtbWFibGUgbWluaW11bQorb3IgbWF4aW11bSBsaW1pdC4gVm9sdGFnZXMgYXJlIGludGVybmFsbHkgc2NhbGxlZCwgc28gZWFjaCB2b2x0YWdlIGNoYW5uZWwKK2hhcyBhIGRpZmZlcmVudCByZXNvbHV0aW9uIGFuZCByYW5nZS4KKworSWYgYW4gYWxhcm0gdHJpZ2dlcnMsIGl0IHdpbGwgcmVtYWluIHRyaWdnZXJlZCB1bnRpbCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXIKK2lzIHJlYWQgYXQgbGVhc3Qgb25jZS4gVGhpcyBtZWFucyB0aGF0IHRoZSBjYXVzZSBmb3IgdGhlIGFsYXJtIG1heQorYWxyZWFkeSBoYXZlIGRpc2FwcGVhcmVkISBOb3RlIHRoYXQgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIGFsbAoraGFyZHdhcmUgcmVnaXN0ZXJzIGFyZSByZWFkIHdoZW5ldmVyIGFueSBkYXRhIGlzIHJlYWQgKHVubGVzcyBpdCBpcyBsZXNzCit0aGFuIDEuNSBzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZSkuIFRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGVhc2lseQorbWlzcyBvbmNlLW9ubHkgYWxhcm1zLgorCitUaGUgZHJpdmVyIG9ubHkgdXBkYXRlcyBpdHMgdmFsdWVzIGVhY2ggMS41IHNlY29uZHM7IHJlYWRpbmcgaXQgbW9yZSBvZnRlbgord2lsbCBkbyBubyBoYXJtLCBidXQgd2lsbCByZXR1cm4gJ29sZCcgdmFsdWVzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvdzgzNjI3aGYgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy93ODM2MjdoZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGYzN2MyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvdzgzNjI3aGYKQEAgLTAsMCArMSw2NiBAQAorS2VybmVsIGRyaXZlciB3ODM2MjdoZgorPT09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogV2luYm9uZCBXODM2MjdIRiAoSVNBIGFjY2Vzc2VzIE9OTFkpCisgICAgUHJlZml4OiAndzgzNjI3aGYnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IElTQSBhZGRyZXNzIHJldHJpZXZlZCBmcm9tIFN1cGVyIEkvTyByZWdpc3RlcnMKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cud2luYm9uZC5jb20vUERGL3NoZWV0L3c4MzYyN2hmLnBkZgorICAqIFdpbmJvbmQgVzgzNjI3VEhGCisgICAgUHJlZml4OiAndzgzNjI3dGhmJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJU0EgYWRkcmVzcyByZXRyaWV2ZWQgZnJvbSBTdXBlciBJL08gcmVnaXN0ZXJzCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LndpbmJvbmQuY29tL1BERi9zaGVldC93ODM2Mjd0aGYucGRmCisgICogV2luYm9uZCBXODM2OTdIRgorICAgIFByZWZpeDogJ3c4MzY5N2hmJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJU0EgYWRkcmVzcyByZXRyaWV2ZWQgZnJvbSBTdXBlciBJL08gcmVnaXN0ZXJzCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LndpbmJvbmQuY29tL1BERi9zaGVldC82OTdoZi5wZGYKKyAgKiBXaW5ib25kIFc4MzYzN0hGCisgICAgUHJlZml4OiAndzgzNjM3aGYnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IElTQSBhZGRyZXNzIHJldHJpZXZlZCBmcm9tIFN1cGVyIEkvTyByZWdpc3RlcnMKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cud2luYm9uZC5jb20vUERGL3NoZWV0L3c4MzYzN2hmLnBkZgorCitBdXRob3JzOgorICAgICAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAorICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAorICAgICAgICBNYXJrIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+LAorICAgICAgICBCZXJuaGFyZCBDLiBTY2hyZW5rIDxjbGVteUBjbGVteS5vcmc+CisKK01vZHVsZSBQYXJhbWV0ZXJzCistLS0tLS0tLS0tLS0tLS0tLQorCisqIGZvcmNlX2FkZHI6IGludAorICBJbml0aWFsaXplIHRoZSBJU0EgYWRkcmVzcyBvZiB0aGUgc2Vuc29ycworKiBmb3JjZV9pMmM6IGludAorICBJbml0aWFsaXplIHRoZSBJMkMgYWRkcmVzcyBvZiB0aGUgc2Vuc29ycworKiBpbml0OiBpbnQKKyAgKGRlZmF1bHQgaXMgMSkKKyAgVXNlICdpbml0PTAnIHRvIGJ5cGFzcyBpbml0aWFsaXppbmcgdGhlIGNoaXAuCisgIFRyeSB0aGlzIGlmIHlvdXIgY29tcHV0ZXIgY3Jhc2hlcyB3aGVuIHlvdSBsb2FkIHRoZSBtb2R1bGUuCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIElTQSBhY2Nlc3NlcyAqb25seSogZm9yCit0aGUgV2luYm9uZCBXODM2MjdIRiwgVzgzNjI3VEhGLCBXODM2OTdIRiBhbmQgVzgzNjM3SEYgU3VwZXIgSS9PIGNoaXBzLgorV2Ugd2lsbCByZWZlciB0byB0aGVtIGNvbGxlY3RpdmVseSBhcyBXaW5ib25kIGNoaXBzLgorCitUaGlzIGRyaXZlciBzdXBwb3J0cyBJU0EgYWNjZXNzZXMsIHdoaWNoIHNob3VsZCBiZSBtb3JlIHJlbGlhYmxlCit0aGFuIGkyYyBhY2Nlc3Nlcy4gQWxzbywgZm9yIFR5YW4gYm9hcmRzIHdoaWNoIGNvbnRhaW4gYm90aCBhCitTdXBlciBJL08gY2hpcCBhbmQgYSBzZWNvbmQgaTJjLW9ubHkgV2luYm9uZCBjaGlwIChvZnRlbiBhIFc4Mzc4MkQpLAordXNpbmcgdGhpcyBkcml2ZXIgd2lsbCBhdm9pZCBpMmMgYWRkcmVzcyBjb25mbGljdHMgYW5kIGNvbXBsZXgKK2luaXRpYWxpemF0aW9uIHRoYXQgd2VyZSByZXF1aXJlZCBpbiB0aGUgdzgzNzgxZCBkcml2ZXIuCisKK0lmIHlvdSByZWFsbHkgd2FudCBpMmMgYWNjZXNzZXMgZm9yIHRoZXNlIFN1cGVyIEkvTyBjaGlwcywKK3VzZSB0aGUgdzgzNzgxZCBkcml2ZXIuIEhvd2V2ZXIgdGhpcyBpcyBub3QgdGhlIHByZWZlcnJlZCBtZXRob2QKK25vdyB0aGF0IHRoaXMgSVNBIGRyaXZlciBoYXMgYmVlbiBkZXZlbG9wZWQuCisKK1RlY2huaWNhbGx5LCB0aGUgdzgzNjI3dGhmIGRvZXMgbm90IHN1cHBvcnQgYSBWSUQgcmVhZGluZy4gSG93ZXZlciwgaXQncworcG9zc2libGUgb3IgZXZlbiBsaWtlbHkgdGhhdCB5b3VyIG1haW5ib2FyZCBtYWtlciBoYXMgcm91dGVkIHRoZXNlIHNpZ25hbHMKK3RvIGEgc3BlY2lmaWMgc2V0IG9mIGdlbmVyYWwgcHVycG9zZSBJTyBwaW5zICh0aGUgQXN1cyBQNEM4MDAtRSBpcyBvbmUgc3VjaAorYm9hcmQpLiBUaGUgdzgzNjI3dGhmIGRyaXZlciBub3cgaW50ZXJwcmV0cyB0aGVzZSBhcyBWSUQuIElmIHRoZSBWSUQgb24KK3lvdXIgYm9hcmQgZG9lc24ndCB3b3JrLCBmaXJzdCBzZWUgZG9jL3ZpZCBpbiB0aGUgbG1fc2Vuc29ycyBwYWNrYWdlLiBJZgordGhhdCBzdGlsbCBkb2Vzbid0IGhlbHAsIGVtYWlsIHVzIGF0IGxtLXNlbnNvcnNAbG0tc2Vuc29ycy5vcmcuCisKK0ZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIG9uIHRoaXMgZHJpdmVyIHNlZSB0aGUgdzgzNzgxZCBkcml2ZXIKK2RvY3VtZW50YXRpb24uCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3c4Mzc4MWQgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy93ODM3ODFkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMGUxNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2kyYy9jaGlwcy93ODM3ODFkCkBAIC0wLDAgKzEsNDEyIEBACitLZXJuZWwgZHJpdmVyIHc4Mzc4MWQKKz09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogV2luYm9uZCBXODM3ODFECisgICAgUHJlZml4OiAndzgzNzgxZCcKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjAgLSAweDJmLCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogaHR0cDovL3d3dy53aW5ib25kLXVzYS5jb20vcHJvZHVjdHMvd2luYm9uZF9wcm9kdWN0cy9wZGZzL1BDSUMvdzgzNzgxZC5wZGYKKyAgKiBXaW5ib25kIFc4Mzc4MkQKKyAgICBQcmVmaXg6ICd3ODM3ODJkJworICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMgMHgyMCAtIDB4MmYsIElTQSAweDI5MCAoOCBJL08gcG9ydHMpCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LndpbmJvbmQuY29tL1BERi9zaGVldC93ODM3ODJkLnBkZgorICAqIFdpbmJvbmQgVzgzNzgzUworICAgIFByZWZpeDogJ3c4Mzc4M3MnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDJkCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LndpbmJvbmQtdXNhLmNvbS9wcm9kdWN0cy93aW5ib25kX3Byb2R1Y3RzL3BkZnMvUENJQy93ODM3ODNzLnBkZgorICAqIFdpbmJvbmQgVzgzNjI3SEYKKyAgICBQcmVmaXg6ICd3ODM2MjdoZicKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MjAgLSAweDJmLCBJU0EgMHgyOTAgKDggSS9PIHBvcnRzKQorICAgIERhdGFzaGVldDogaHR0cDovL3d3dy53aW5ib25kLmNvbS9QREYvc2hlZXQvdzgzNjI3aGYucGRmCisgICogV2luYm9uZCBXODM2MjdUSEYKKyAgICBQcmVmaXg6ICd3ODM2Mjd0aGYnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IElTQSBhZGRyZXNzIDB4MjkwICg4IEkvTyBwb3J0cykKKyAgICBEYXRhc2hlZXQ6IGh0dHA6Ly93d3cud2luYm9uZC5jb20vUERGL3NoZWV0L3c4MzYyN3RoZi5wZGYKKyAgKiBXaW5ib25kIFc4MzY5N0hGCisgICAgUHJlZml4OiAndzgzNjk3aGYnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IElTQSAweDI5MCAoOCBJL08gcG9ydHMpCisgICAgRGF0YXNoZWV0OiBodHRwOi8vd3d3LndpbmJvbmQtdXNhLmNvbS9wcm9kdWN0cy93aW5ib25kX3Byb2R1Y3RzL3BkZnMvUENJQy93ODM2OTdoZi5wZGYKKyAgKiBBc3VzIEFTOTkxMjdGCisgICAgUHJlZml4OiAnYXM5OTEyN2YnCisgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDI4IC0gMHgyZgorICAgIERhdGFzaGVldDogVW5hdmFpbGFibGUgZnJvbSBBc3VzCisKK0F1dGhvcnM6CisgICAgICAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCisgICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCisgICAgICAgIE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KKworTW9kdWxlIHBhcmFtZXRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyogaW5pdCBpbnQKKyAgKGRlZmF1bHQgMSkKKyAgVXNlICdpbml0PTAnIHRvIGJ5cGFzcyBpbml0aWFsaXppbmcgdGhlIGNoaXAuCisgIFRyeSB0aGlzIGlmIHlvdXIgY29tcHV0ZXIgY3Jhc2hlcyB3aGVuIHlvdSBsb2FkIHRoZSBtb2R1bGUuCisKK2ZvcmNlX3N1YmNsaWVudHM9YnVzLGNhZGRyLHNhZGRyLHNhZGRyCisgIFRoaXMgaXMgdXNlZCB0byBmb3JjZSB0aGUgaTJjIGFkZHJlc3NlcyBmb3Igc3ViY2xpZW50cyBvZgorICBhIGNlcnRhaW4gY2hpcC4gVHlwaWNhbCB1c2FnZSBpcyBgZm9yY2Vfc3ViY2xpZW50cz0wLDB4MmQsMHg0YSwweDRiJworICB0byBmb3JjZSB0aGUgc3ViY2xpZW50cyBvZiBjaGlwIDB4MmQgb24gYnVzIDAgdG8gaTJjIGFkZHJlc3NlcworICAweDRhIGFuZCAweDRiLiBUaGlzIHBhcmFtZXRlciBpcyB1c2VmdWwgZm9yIGNlcnRhaW4gVHlhbiBib2FyZHMuCisKK0Rlc2NyaXB0aW9uCistLS0tLS0tLS0tLQorCitUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBXaW5ib25kIFc4MzYyN0hGLCBXODM2MjdUSEYsIFc4Mzc4MUQsCitXODM3ODJELCBXODM3ODNTLCBXODM2OTdIRiBjaGlwcywgYW5kIHRoZSBBc3VzIEFTOTkxMjdGIGNoaXBzLiBXZSB3aWxsIHJlZmVyCit0byB0aGVtIGNvbGxlY3RpdmVseSBhcyBXODM3OCogY2hpcHMuCisKK1RoZXJlIGlzIHF1aXRlIHNvbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIGNoaXBzLCBidXQgdGhleSBhcmUgc2ltaWxhcgorZW5vdWdoIHRoYXQgaXQgd2FzIHNlbnNpYmxlIHRvIHB1dCB0aGVtIHRvZ2V0aGVyIGluIG9uZSBkcml2ZXIuCitUaGUgVzgzNjI3SEYgY2hpcCBpcyBhc3N1bWVkIHRvIGJlIGlkZW50aWNhbCB0byB0aGUgSVNBIFc4Mzc4MkQuCitUaGUgQXN1cyBjaGlwcyBhcmUgc2ltaWxhciB0byBhbiBJMkMtb25seSBXODM3ODJELgorCitDaGlwICAgICAgICAjdmluICAgICNmYW5pbiAgI3B3bSAgICAjdGVtcCAgIHdjaGlwaWQgdmVuZGlkICBpMmMgICAgIElTQQorYXM5OTEyN2YgICAgNyAgICAgICAzICAgICAgIDAgICAgICAgMyAgICAgICAweDMxICAgIDB4MTJjMyAgeWVzICAgICBubworYXM5OTEyN2YgcmV2LjIgKHR5cGVfbmFtZSA9IGFzOTkxMjdmKSAgICAgICAweDMxICAgIDB4NWNhMyAgeWVzICAgICBubwordzgzNzgxZCAgICAgNyAgICAgICAzICAgICAgIDAgICAgICAgMyAgICAgICAweDEwLTEgIDB4NWNhMyAgeWVzICAgICB5ZXMKK3c4MzYyN2hmICAgIDkgICAgICAgMyAgICAgICAyICAgICAgIDMgICAgICAgMHgyMSAgICAweDVjYTMgIHllcyAgICAgeWVzKExQQykKK3c4MzYyN3RoZiAgIDkgICAgICAgMyAgICAgICAyICAgICAgIDMgICAgICAgMHg5MCAgICAweDVjYTMgIG5vICAgICAgeWVzKExQQykKK3c4Mzc4MmQgICAgIDkgICAgICAgMyAgICAgICAyLTQgICAgIDMgICAgICAgMHgzMCAgICAweDVjYTMgIHllcyAgICAgeWVzCit3ODM3ODNzICAgICA1LTYgICAgIDMgICAgICAgMiAgICAgICAxLTIgICAgIDB4NDAgICAgMHg1Y2EzICB5ZXMgICAgIG5vCit3ODM2OTdoZiAgICA4ICAgICAgIDIgICAgICAgMiAgICAgICAyICAgICAgIDB4NjAgICAgMHg1Y2EzICBubyAgICAgIHllcyhMUEMpCisKK0RldGVjdGlvbiBvZiB0aGVzZSBjaGlwcyBjYW4gc29tZXRpbWVzIGJlIGZvaWxlZCBiZWNhdXNlIHRoZXkgY2FuIGJlIGluCithbiBpbnRlcm5hbCBzdGF0ZSB0aGF0IGFsbG93cyBubyBjbGVhbiBhY2Nlc3MuIElmIHlvdSBrbm93IHRoZSBhZGRyZXNzCitvZiB0aGUgY2hpcCwgdXNlIGEgJ2ZvcmNlJyBwYXJhbWV0ZXI7IHRoaXMgd2lsbCBwdXQgdGhlbSBpbnRvIGEgbW9yZQord2VsbC1iZWhhdmVkIHN0YXRlIGZpcnN0LgorCitUaGUgVzgzNzgqIGltcGxlbWVudHMgdGVtcGVyYXR1cmUgc2Vuc29ycyAodGhyZWUgb24gdGhlIFc4Mzc4MUQgYW5kIFc4Mzc4MkQsCit0d28gb24gdGhlIFc4Mzc4M1MpLCB0aHJlZSBmYW4gcm90YXRpb24gc3BlZWQgc2Vuc29ycywgdm9sdGFnZSBzZW5zb3JzCisoc2V2ZW4gb24gdGhlIFc4Mzc4MUQsIG5pbmUgb24gdGhlIFc4Mzc4MkQgYW5kIHNpeCBvbiB0aGUgVzgzNzgzUyksIFZJRAorbGluZXMsIGFsYXJtcyB3aXRoIGJlZXAgd2FybmluZ3MsIGFuZCBzb21lIG1pc2NlbGxhbmVvdXMgc3R1ZmYuCisKK1RlbXBlcmF0dXJlcyBhcmUgbWVhc3VyZWQgaW4gZGVncmVlcyBDZWxzaXVzLiBUaGVyZSBpcyBhbHdheXMgb25lIG1haW4KK3RlbXBlcmF0dXJlIHNlbnNvciwgYW5kIG9uZSAoVzgzNzgzUykgb3IgdHdvIChXODM3ODFEIGFuZCBXODM3ODJEKSBvdGhlcgorc2Vuc29ycy4gQW4gYWxhcm0gaXMgdHJpZ2dlcmVkIGZvciB0aGUgbWFpbiBzZW5zb3Igb25jZSB3aGVuIHRoZQorT3ZlcnRlbXBlcmF0dXJlIFNodXRkb3duIGxpbWl0IGlzIGNyb3NzZWQ7IGl0IGlzIHRyaWdnZXJlZCBhZ2FpbiBhcyBzb29uIGFzCitpdCBkcm9wcyBiZWxvdyB0aGUgSHlzdGVyZXNpcyB2YWx1ZS4gQSBtb3JlIHVzZWZ1bCBiZWhhdmlvcgorY2FuIGJlIGZvdW5kIGJ5IHNldHRpbmcgdGhlIEh5c3RlcmVzaXMgdmFsdWUgdG8gKzEyNyBkZWdyZWVzIENlbHNpdXM7IGluCit0aGlzIGNhc2UsIGFsYXJtcyBhcmUgaXNzdWVkIGR1cmluZyBhbGwgdGhlIHRpbWUgd2hlbiB0aGUgYWN0dWFsIHRlbXBlcmF0dXJlCitpcyBhYm92ZSB0aGUgT3ZlcnRlbXBlcmF0dXJlIFNodXRkb3duIHZhbHVlLiBUaGUgZHJpdmVyIHNldHMgdGhlCitoeXN0ZXJlc2lzIHZhbHVlIGZvciB0ZW1wMSB0byAxMjcgYXQgaW5pdGlhbGl6YXRpb24uCisKK0ZvciB0aGUgb3RoZXIgdGVtcGVyYXR1cmUgc2Vuc29yKHMpLCBhbiBhbGFybSBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUKK3RlbXBlcmF0dXJlIGdldHMgaGlnaGVyIHRoZW4gdGhlIE92ZXJ0ZW1wZXJhdHVyZSBTaHV0ZG93biB2YWx1ZTsgaXQgc3RheXMKK29uIHVudGlsIHRoZSB0ZW1wZXJhdHVyZSBmYWxscyBiZWxvdyB0aGUgSHlzdGVyZXNpcyB2YWx1ZS4gQnV0IG9uIHRoZQorVzgzNzgxRCwgdGhlcmUgaXMgb25seSBvbmUgYWxhcm0gdGhhdCBmdW5jdGlvbnMgZm9yIGJvdGggb3RoZXIgc2Vuc29ycyEKK1RlbXBlcmF0dXJlcyBhcmUgZ3VhcmFudGVlZCB3aXRoaW4gYSByYW5nZSBvZiAtNTUgdG8gKzEyNSBkZWdyZWVzLiBUaGUKK21haW4gdGVtcGVyYXR1cmUgc2Vuc29ycyBoYXMgYSByZXNvbHV0aW9uIG9mIDEgZGVncmVlOyB0aGUgb3RoZXIgc2Vuc29yKHMpCitvZiAwLjUgZGVncmVlLgorCitGYW4gcm90YXRpb24gc3BlZWRzIGFyZSByZXBvcnRlZCBpbiBSUE0gKHJvdGF0aW9ucyBwZXIgbWludXRlKS4gQW4gYWxhcm0gaXMKK3RyaWdnZXJlZCBpZiB0aGUgcm90YXRpb24gc3BlZWQgaGFzIGRyb3BwZWQgYmVsb3cgYSBwcm9ncmFtbWFibGUgbGltaXQuIEZhbgorcmVhZGluZ3MgY2FuIGJlIGRpdmlkZWQgYnkgYSBwcm9ncmFtbWFibGUgZGl2aWRlciAoMSwgMiwgNCBvciA4IGZvciB0aGUKK1c4Mzc4MUQ7IDEsIDIsIDQsIDgsIDE2LCAzMiwgNjQgb3IgMTI4IGZvciB0aGUgb3RoZXJzKSB0byBnaXZlCit0aGUgcmVhZGluZ3MgbW9yZSByYW5nZSBvciBhY2N1cmFjeS4gTm90IGFsbCBSUE0gdmFsdWVzIGNhbiBhY2N1cmF0ZWx5CitiZSByZXByZXNlbnRlZCwgc28gc29tZSByb3VuZGluZyBpcyBkb25lLiBXaXRoIGEgZGl2aWRlciBvZiAyLCB0aGUgbG93ZXN0CityZXByZXNlbnRhYmxlIHZhbHVlIGlzIGFyb3VuZCAyNjAwIFJQTS4KKworVm9sdGFnZSBzZW5zb3JzIChhbHNvIGtub3duIGFzIElOIHNlbnNvcnMpIHJlcG9ydCB0aGVpciB2YWx1ZXMgaW4gdm9sdHMuCitBbiBhbGFybSBpcyB0cmlnZ2VyZWQgaWYgdGhlIHZvbHRhZ2UgaGFzIGNyb3NzZWQgYSBwcm9ncmFtbWFibGUgbWluaW11bQorb3IgbWF4aW11bSBsaW1pdC4gTm90ZSB0aGF0IG1pbmltdW0gaW4gdGhpcyBjYXNlIGFsd2F5cyBtZWFucyAnY2xvc2VzdCB0bworemVybyc7IHRoaXMgaXMgaW1wb3J0YW50IGZvciBuZWdhdGl2ZSB2b2x0YWdlIG1lYXN1cmVtZW50cy4gQWxsIHZvbHRhZ2UKK2lucHV0cyBjYW4gbWVhc3VyZSB2b2x0YWdlcyBiZXR3ZWVuIDAgYW5kIDQuMDggdm9sdHMsIHdpdGggYSByZXNvbHV0aW9uCitvZiAwLjAxNiB2b2x0LgorCitUaGUgVklEIGxpbmVzIGVuY29kZSB0aGUgY29yZSB2b2x0YWdlIHZhbHVlOiB0aGUgdm9sdGFnZSBsZXZlbCB5b3VyIHByb2Nlc3Nvcgorc2hvdWxkIHdvcmsgd2l0aC4gVGhpcyBpcyBoYXJkY29kZWQgYnkgdGhlIG1haW5ib2FyZCBhbmQvb3IgcHJvY2Vzc29yIGl0c2VsZi4KK0l0IGlzIGEgdmFsdWUgaW4gdm9sdHMuIFdoZW4gaXQgaXMgdW5jb25uZWN0ZWQsIHlvdSB3aWxsIG9mdGVuIGZpbmQgdGhlCit2YWx1ZSAzLjUwIFYgaGVyZS4KKworVGhlIFc4Mzc4MkQgYW5kIFc4Mzc4M1MgdGVtcGVyYXR1cmUgY29udmVyc2lvbiBtYWNoaW5lIHVuZGVyc3RhbmRzIGFib3V0CitzZXZlcmFsIGtpbmRzIG9mIHRlbXBlcmF0dXJlIHByb2Jlcy4gWW91IGNhbiBwcm9ncmFtIHRoZSBzby1jYWxsZWQKK2JldGEgdmFsdWUgaW4gdGhlIHNlbnNvciBmaWxlcy4gJzEnIGlzIHRoZSBQSUkvQ2VsZXJvbiBkaW9kZSwgJzInIGlzIHRoZQorVE4zOTA0IHRyYW5zaXN0b3IsIGFuZCAzNDM1IHRoZSBkZWZhdWx0IHRoZXJtaXN0b3IgdmFsdWUuIE90aGVyIHZhbHVlcworYXJlIChub3QgeWV0KSBzdXBwb3J0ZWQuCisKK0luIGFkZGl0aW9uIHRvIHRoZSBhbGFybXMgZGVzY3JpYmVkIGFib3ZlLCB0aGVyZSBpcyBhIENIQVMgYWxhcm0gb24gdGhlCitjaGlwcyB3aGljaCB0cmlnZ2VycyBpZiB5b3VyIGNvbXB1dGVyIGNhc2UgaXMgb3Blbi4KKworV2hlbiBhbiBhbGFybSBnb2VzIG9mZiwgeW91IGNhbiBiZSB3YXJuZWQgYnkgYSBiZWVwaW5nIHNpZ25hbCB0aHJvdWdoCit5b3VyIGNvbXB1dGVyIHNwZWFrZXIuIEl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZSBhbGwgYmVlcGluZyBnbG9iYWxseSwKK29yIG9ubHkgdGhlIGJlZXBpbmcgZm9yIHNvbWUgYWxhcm1zLgorCitJZiBhbiBhbGFybSB0cmlnZ2VycywgaXQgd2lsbCByZW1haW4gdHJpZ2dlcmVkIHVudGlsIHRoZSBoYXJkd2FyZSByZWdpc3RlcgoraXMgcmVhZCBhdCBsZWFzdCBvbmNlLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGNhdXNlIGZvciB0aGUgYWxhcm0gbWF5CithbHJlYWR5IGhhdmUgZGlzYXBwZWFyZWQhIE5vdGUgdGhhdCBpbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgYWxsCitoYXJkd2FyZSByZWdpc3RlcnMgYXJlIHJlYWQgd2hlbmV2ZXIgYW55IGRhdGEgaXMgcmVhZCAodW5sZXNzIGl0IGlzIGxlc3MKK3RoYW4gMS41IHNlY29uZHMgc2luY2UgdGhlIGxhc3QgdXBkYXRlKS4gVGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gZWFzaWx5CittaXNzIG9uY2Utb25seSBhbGFybXMuCisKK1RoZSBjaGlwcyBvbmx5IHVwZGF0ZSB2YWx1ZXMgZWFjaCAxLjUgc2Vjb25kczsgcmVhZGluZyB0aGVtIG1vcmUgb2Z0ZW4KK3dpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwgcmV0dXJuICdvbGQnIHZhbHVlcy4KKworQVM5OTEyN0YgUFJPQkxFTVMKKy0tLS0tLS0tLS0tLS0tLS0tCitUaGUgYXM5OTEyN2Ygc3VwcG9ydCB3YXMgZGV2ZWxvcGVkIHdpdGhvdXQgdGhlIGJlbmVmaXQgb2YgYSBkYXRhc2hlZXQuCitJbiBtb3N0IGNhc2VzIGl0IGlzIHRyZWF0ZWQgYXMgYSB3ODM3ODFkIChhbHRob3VnaCByZXZpc2lvbiAyIG9mIHRoZQorQVM5OTEyN0YgbG9va3MgbW9yZSBsaWtlIGEgdzgzNzgyZCkuCitUaGlzIHN1cHBvcnQgd2lsbCBiZSBCRVRBIHVudGlsIGEgZGF0YXNoZWV0IGlzIHJlbGVhc2VkLgorT25lIHVzZXIgaGFzIHJlcG9ydGVkIHByb2JsZW1zIHdpdGggZmFucyBzdG9wcGluZworb2NjYXNpb25hbGx5LgorCitOb3RlIHRoYXQgdGhlIGluZGl2aWR1YWwgYmVlcCBiaXRzIGFyZSBpbnZlcnRlZCBmcm9tIHRoZSBvdGhlciBjaGlwcy4KK1RoZSBkcml2ZXIgbm93IHRha2VzIGNhcmUgb2YgdGhpcyBzbyB0aGF0IHVzZXItc3BhY2UgYXBwbGljYXRpb25zCitkb24ndCBoYXZlIHRvIGtub3cgYWJvdXQgaXQuCisKK0tub3duIHByb2JsZW1zOgorCS0gUHJvYmxlbXMgd2l0aCBkaW9kZS90aGVybWlzdG9yIHNldHRpbmdzIChzdXBwb3J0ZWQ/KQorCS0gT25lIHVzZXIgcmVwb3J0cyBmYW5zIHN0b3BwaW5nIHVuZGVyIGhpZ2ggc2VydmVyIGxvYWQuCisJLSBSZXZpc2lvbiAyIHNlZW1zIHRvIGhhdmUgMiBQV00gcmVnaXN0ZXJzIGJ1dCB3ZSBkb24ndCBrbm93CisJICBob3cgdG8gaGFuZGxlIHRoZW0uIE1vcmUgZGV0YWlscyBiZWxvdy4KKworVGhlc2Ugd2lsbCBub3QgYmUgZml4ZWQgdW5sZXNzIHdlIGdldCBhIGRhdGFzaGVldC4KK0lmIHlvdSBoYXZlIHByb2JsZW1zLCBwbGVhc2UgbG9iYnkgQXN1cyB0byByZWxlYXNlIGEgZGF0YXNoZWV0LgorVW5mb3J0dW5hdGVseSBzZXZlcmFsIG90aGVycyBoYXZlIHdpdGhvdXQgc3VjY2Vzcy4KK1BsZWFzZSBkbyBub3Qgc2VuZCBtYWlsIHRvIHVzIGFza2luZyBmb3IgYmV0dGVyIGFzOTkxMjdmIHN1cHBvcnQuCitXZSBoYXZlIGRvbmUgdGhlIGJlc3Qgd2UgY2FuIHdpdGhvdXQgYSBkYXRhc2hlZXQuCitQbGVhc2UgZG8gbm90IHNlbmQgbWFpbCB0byB0aGUgYXV0aG9yIG9yIHRoZSBzZW5zb3JzIGdyb3VwIGFza2luZyBmb3IKK2EgZGF0YXNoZWV0IG9yIGlkZWFzIG9uIGhvdyB0byBjb252aW5jZSBBc3VzLiBXZSBjYW4ndCBoZWxwLgorCisKK05PVEVTOgorLS0tLS0KKyAgNzgzcyBoYXMgbm8gaW4xIHNvIHRoYXQgaW5bMi02XSBhcmUgY29tcGF0aWJsZSB3aXRoIHRoZSA3ODFkLzc4MmQuCisKKyAgNzgzcyBwaW4gaXMgcHJvZ3JhbW1hYmxlIGZvciAtNVYgb3IgdGVtcDE7IGRlZmF1bHRzIHRvIC01ViwKKyAgICAgICBubyBjb250cm9sIGluIGRyaXZlciBzbyB0ZW1wMSBkb2Vzbid0IHdvcmsuCisKKyAgNzgyZCBhbmQgNzgzcyBkYXRhc2hlZXRzIGRpZmZlciBvbiB3aGljaCBpcyBwd20xIGFuZCB3aGljaCBpcyBwd20yLgorICAgICAgIFdlIGNob3NlIHRvIGZvbGxvdyA3ODJkLgorCisgIDc4MmQgYW5kIDc4M3MgcGluIGlzIHByb2dyYW1tYWJsZSBmb3IgZmFuMyBpbnB1dCBvciBwd20yIG91dHB1dDsKKyAgICAgICBkZWZhdWx0cyB0byBmYW4zIGlucHV0LgorICAgICAgIElmIHB3bTIgaXMgZW5hYmxlZCAod2l0aCBlY2hvIDI1NSAxID4gcHdtMiksIHRoZW4KKyAgICAgICBmYW4zIHdpbGwgcmVwb3J0IDAuCisKKyAgNzgyZCBoYXMgcHdtMS0yIGZvciBJU0EsIHB3bTEtNCBmb3IgaTJjLiAocHdtMy00IHNoYXJlIHBpbnMgd2l0aAorICAgICAgIHRoZSBJU0EgcGlucykKKworRGF0YSBzaGVldCB1cGRhdGVzOgorLS0tLS0tLS0tLS0tLS0tLS0tCisJLSBQV00gY2xvY2sgcmVnaXN0ZXJzOgorCisJCTAwMDogbWFzdGVyIC8gIDUxMgorCQkwMDE6IG1hc3RlciAvIDEwMjQKKwkJMDEwOiBtYXN0ZXIgLyAyMDQ4CisJCTAxMTogbWFzdGVyIC8gNDA5NgorCQkxMDA6IG1hc3RlciAvIDgxOTIKKworCitBbnN3ZXJzIGZyb20gV2luYm9uZCB0ZWNoIHN1cHBvcnQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPgorPiAxKSBJbiB0aGUgVzgzNzgxRCBkYXRhIHNoZWV0IHNlY3Rpb24gNy4yIGxhc3QgcGFyYWdyYXBoLCBpdCB0YWxrcyBhYm91dAorPiAgICByZXByb2dyYW1taW5nIHRoZSBSLVQgdGFibGUgaWYgdGhlIEJldGEgb2YgdGhlIHRoZXJtaXN0b3IgaXMgbm90Cis+ICAgIDM0MzVLLiBUaGUgUi1UIHRhYmxlIGlzIGRlc2NyaWJlZCBicmllZmx5IGluIHNlY3Rpb24gOC4yMC4KKz4gICAgV2hhdCBmb3JtdWxhcyBkbyBJIHVzZSB0byBwcm9ncmFtIGEgbmV3IFItVCB0YWJsZSBmb3IgYSBnaXZlbiBCZXRhPworPgorCVdlIGFyZSBzb3JyeSB0aGF0IHRoZSBjYWxjdWxhdGlvbiBmb3IgUi1UIHRhYmxlIHZhbHVlIGlzCitjb25maWRlbnRpYWwuIElmIHlvdSBoYXZlIGFub3RoZXIgQmV0YSB2YWx1ZSBvZiB0aGVybWlzdG9yLCB3ZSBjYW4gaGVscAordG8gY2FsY3VsYXRlIHRoZSBSLVQgdGFibGUgZm9yIHlvdS4gQnV0IHlvdSBzaG91bGQgZ2l2ZSB1cyByZWFsIFItVAorVGFibGUgd2hpY2ggY2FuIGJlIGdvdHRlbiBieSB0aGVybWlzdG9yIHZlbmRvci4gVGhlcmVmb3JlIHdlIHdpbGwgY2FsY3VsYXRlCit0aGVtIGFuZCBvYnRhaW4gMzItYnl0ZSBkYXRhLCBhbmQgeW91IGNhbiBmaWxsIHRoZSAzMi1ieXRlIGRhdGEgdG8gdGhlCityZWdpc3RlciBpbiBCYW5rMC5DUjUxIG9mIFc4Mzc4MUQuCisKKworPiAyKSBJbiB0aGUgVzgzNzgyRCBkYXRhIHNoZWV0LCBpdCBtZW50aW9ucyB0aGF0IHBpbnMgMzgsIDM5LCBhbmQgNDAgYXJlCis+ICAgIHByb2dyYW1tYWJsZSB0byBiZSBlaXRoZXIgdGhlcm1pc3RvciBvciBQZW50aXVtIElJIGRpb2RlIGlucHV0cy4KKz4gICAgSG93IGRvIEkgcHJvZ3JhbSB0aGVtIGZvciBkaW9kZSBpbnB1dHM/IEkgY2FuJ3QgZmluZCBhbnkgcmVnaXN0ZXIKKz4gICAgdG8gcHJvZ3JhbSB0aGVzZSB0byBiZSBkaW9kZSBpbnB1dHMuCisgLS0+IFlvdSBtYXkgcHJvZ3JhbSBCYW5rMCBDUls1RGhdIGFuZCBDUls1OWhdIHJlZ2lzdGVycy4KKworIAlDUls1RGhdICAgIAkJYml0IDEoVlRJTjEpICAgIGJpdCAyKFZUSU4yKSAgIGJpdCAzKFZUSU4zKQorCisgICAgICAJdGhlcm1pc3RvciAgICAgICAgICAgICAgICAwCQkgMAkJMAorIAlkaW9kZSAJCSAgICAgICAgICAxCQkgMQkJMQorCisKKyhlcnJvcikgQ1JbNTloXSAJCWJpdCA0KFZUSU4xKQliaXQgMihWVElOMikgICBiaXQgMyhWVElOMykKKyhyaWdodCkgQ1JbNTloXSAJCWJpdCA0KFZUSU4xKQliaXQgNShWVElOMikgICBiaXQgNihWVElOMykKKworIAlQSUkgdGhlcm1hbCBkaW9kZSAgICAgICAgIDEJCSAxCQkxCisgCTJOMzkwNAlkaW9kZQkgICAgICAgICAgMAkJIDAJCTAKKworCitBc3VzIENsb25lcworLS0tLS0tLS0tLS0KKworV2UgaGF2ZSBubyBkYXRhc2hlZXRzIGZvciB0aGUgQXN1cyBjbG9uZXMgKEFTOTkxMjdGIGFuZCBBU0IxMDAgQmFjaCkuCitIZXJlIGFyZSBzb21lIHZlcnkgdXNlZnVsIGluZm9ybWF0aW9uIHRoYXQgd2VyZSBnaXZlbiB0byB1cyBieSBBbGV4IFZhbgorS2FhbSBhYm91dCBob3cgdG8gZGV0ZWN0IHRoZXNlIGNoaXBzLCBhbmQgaG93IHRvIHJlYWQgdGhlaXIgdmFsdWVzLiBIZQorYWxzbyBnaXZlcyBhZHZpY2UgZm9yIGFub3RoZXIgQXN1cyBjaGlwc2V0LCB0aGUgTW96YXJ0LTIgKHdoaWNoIHdlCitkb24ndCBzdXBwb3J0IHlldCkuIFRoYW5rcyBBbGV4IQorSSByZXdvcmRlZCBzb21lIHBhcnRzIGFuZCBhZGRlZCBwZXJzb25hbCBjb21tZW50cy4KKworIyBEZXRlY3Rpb246CisKK0FTOTkxMjdGIHJldi4xLCBBUzk5MTI3RiByZXYuMiBhbmQgQVNCMTAwOgorLSBJMkMgYWRkcmVzcyByYW5nZTogMHgyOSAtIDB4MkYKKy0gSWYgcmVnaXN0ZXIgMHg1OCBob2xkcyAweDMxIHRoZW4gd2UgaGF2ZSBhbiBBc3VzIChlaXRoZXIgQVNCMTAwIG9yCisgIEFTOTkxMjdGKQorLSBXaGljaCBvbmUgZGVwZW5kcyBvbiByZWdpc3RlciAweDRGIChtYW51ZmFjdHVyZXIgSUQpOgorICAweDA2IG9yIDB4OTQ6IEFTQjEwMAorICAweDEyIG9yIDB4QzM6IEFTOTkxMjdGIHJldi4xCisgIDB4NUMgb3IgMHhBMzogQVM5OTEyN0YgcmV2LjIKKyAgTm90ZSB0aGF0IDB4NUNBMyBpcyBXaW5ib25kJ3MgSUQgKFdFQyksIHdoaWNoIGxldCB1cyB0aGluayBBc3VzIGdldCB0aGVpcgorICBBUzk5MTI3RiByZXYuMiBkaXJlY3QgZnJvbSBXaW5ib25kLiBUaGUgb3RoZXIgY29kZXMgbWVhbiBBVFQgYW5kIERWQywKKyAgcmVzcGVjdGl2ZWx5LiBBVFQgY291bGQgc3RhbmQgZm9yIEFzdXN0ZWsgc29tZXRoaW5nIChhbHRob3VnaCBpdCB3b3VsZCBiZQorICB2ZXJ5IGJhZGx5IGNob3NlbiBJTUhPKSwgSSBkb24ndCBrbm93IHdoYXQgRFZDIGNvdWxkIHN0YW5kIGZvci4gTWF5YmUKKyAgdGhlc2UgY29kZXMgc2ltcGx5IGFyZW4ndCBtZWFudCB0byBiZSBkZWNvZGVkIHRoYXQgd2F5LgorCitNb3phcnQtMjoKKy0gSTJDIGFkZHJlc3M6IDB4NzcKKy0gSWYgcmVnaXN0ZXIgMHg1OCBob2xkcyAweDU2IG9yIDB4MTAgdGhlbiB3ZSBoYXZlIGEgTW96YXJ0LTIKKy0gT2YgdGhlIE1vemFydCB0aGVyZSBhcmUgMyB0eXBlczoKKyAgMHg1OD0weDU2LCAweDRFPTB4OTQsIDB4NEY9MHgzNjogQXN1cyBBU001OCBNb3phcnQtMgorICAweDU4PTB4NTYsIDB4NEU9MHg5NCwgMHg0Rj0weDA2OiBBc3VzIEFTMksxMjlSIE1vemFydC0yCisgIDB4NTg9MHgxMCwgMHg0RT0weDVDLCAweDRGPTB4QTM6IEFzdXMgPz8/IE1vemFydC0yCisgIFlvdSBjYW4gaGFuZGxlIGFsbCAzIHRoZSBleGFjdCBzYW1lIHdheSA6KQorCisjIFRlbXBlcmF0dXJlIHNlbnNvcnM6CisKK0FTQjEwMDoKKy0gc2Vuc29yIDE6IHJlZ2lzdGVyIDB4MjcKKy0gc2Vuc29yIDIgJiAzIGFyZSB0aGUgMiBMTTc1J3Mgb24gdGhlIFNNQnVzCistIHNlbnNvciA0OiByZWdpc3RlciAweDE3CitSZW1hcms6IEkgbm90aWNlZCB0aGF0IG9uIEludGVsIGJvYXJkcyBzZW5zb3IgMiBpcyB1c2VkIGZvciB0aGUgQ1BVCisgIGFuZCA0IGlzIGlnbm9yZWQvc3R1Y2ssIG9uIEFNRCBib2FyZHMgc2Vuc29yIDQgaXMgdGhlIENQVSBhbmQgc2Vuc29yIDIgaXMKKyAgZWl0aGVyIGlnbm9yZWQgb3IgYSBzb2NrZXQgdGVtcGVyYXR1cmUuCisKK0FTOTkxMjdGIChyZXYuMSBhbmQgMiBhbGlrZSk6CistIHNlbnNvciAxOiByZWdpc3RlciAweDI3CistIHNlbnNvciAyICYgMyBhcmUgdGhlIDIgTE03NSdzIG9uIHRoZSBTTUJ1cworUmVtYXJrOiBSZWdpc3RlciAweDViIGlzIHN1c3BlY3RlZCB0byBiZSB0ZW1wZXJhdHVyZSB0eXBlIHNlbGVjdG9yLiBCaXQgMQorICB3b3VsZCBjb250cm9sIHRlbXAxLCBiaXQgMyB0ZW1wMiBhbmQgYml0IDUgdGVtcDMuCisKK01vemFydC0yOgorLSBzZW5zb3IgMTogcmVnaXN0ZXIgMHgyNworLSBzZW5zb3IgMjogcmVnaXN0ZXIgMHgxMworCisjIEZhbiBzZW5zb3JzOgorCitBU0IxMDAsIEFTOTkxMjdGIChyZXYuMSBhbmQgMiBhbGlrZSk6CistIDMgZmFucywgaWRlbnRpY2FsIHRvIHRoZSBXODM3ODFECisKK01vemFydC0yOgorLSAyIGZhbnMgb25seSwgMTM1MDAwMC9SUE0vZGl2CistIGZhbiAxOiByZWdpc3RlciAweDI4LCAgZGl2aXNvciBvbiByZWdpc3RlciAweEExIChiaXRzIDQtNSkKKy0gZmFuIDI6IHJlZ2lzdGVyIDB4MjksICBkaXZpc29yIG9uIHJlZ2lzdGVyIDB4QTEgKGJpdHMgNi03KQorCisjIFZvbHRhZ2VzOgorCitUaGlzIGlzIHdoZXJlIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIEFTOTkxMjdGIHJldi4xIGFuZCAyLgorUmVtYXJrOiBUaGUgZGlmZmVyZW5jZSBpcyBzaW1pbGFyIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KKyAgVzgzNzgxRCBhbmQgVzgzNzgyRC4KKworQVNCMTAwOgoraW4wPXIoMHgyMCkqMC4wMTYKK2luMT1yKDB4MjEpKjAuMDE2CitpbjI9cigweDIyKSowLjAxNgoraW4zPXIoMHgyMykqMC4wMTYqMS42OAoraW40PXIoMHgyNCkqMC4wMTYqMy44CitpbjU9cigweDI1KSooLTAuMDE2KSozLjk3CitpbjY9cigweDI2KSooLTAuMDE2KSoxLjY2NgorCitBUzk5MTI3RiByZXYuMToKK2luMD1yKDB4MjApKjAuMDE2CitpbjE9cigweDIxKSowLjAxNgoraW4yPXIoMHgyMikqMC4wMTYKK2luMz1yKDB4MjMpKjAuMDE2KjEuNjgKK2luND1yKDB4MjQpKjAuMDE2KjMuOAoraW41PXIoMHgyNSkqKC0wLjAxNikqMy45NworaW42PXIoMHgyNikqKC0wLjAxNikqMS41MDMKKworQVM5OTEyN0YgcmV2LjI6CitpbjA9cigweDIwKSowLjAxNgoraW4xPXIoMHgyMSkqMC4wMTYKK2luMj1yKDB4MjIpKjAuMDE2CitpbjM9cigweDIzKSowLjAxNioxLjY4CitpbjQ9cigweDI0KSowLjAxNiozLjgKK2luNT0ocigweDI1KSowLjAxNi0zLjYpKjUuMTQrMy42CitpbjY9KHIoMHgyNikqMC4wMTYtMy42KSozLjE0KzMuNgorCitNb3phcnQtMjoKK2luMD1yKDB4MjApKjAuMDE2CitpbjE9MjU1CitpbjI9cigweDIyKSowLjAxNgoraW4zPXIoMHgyMykqMC4wMTYqMS42OAoraW40PXIoMHgyNCkqMC4wMTYqNAoraW41PTI1NQoraW42PTI1NQorCisKKyMgUFdNCisKK0FkZGl0aW9uYWwgaW5mbyBhYm91dCBQV00gb24gdGhlIEFTOTkxMjdGIChtYXkgYXBwbHkgdG8gb3RoZXIgQXN1cworY2hpcHMgYXMgd2VsbCkgYnkgSmVhbiBEZWx2YXJlIGFzIG9mIDIwMDQtMDQtMDk6CisKK0FTOTkxMjdGIHJldmlzaW9uIDIgc2VlbXMgdG8gaGF2ZSB0d28gUFdNIHJlZ2lzdGVycyBhdCAweDU5IGFuZCAweDVBLAorYW5kIGEgdGVtcGVyYXR1cmUgc2Vuc29yIHR5cGUgc2VsZWN0b3IgYXQgMHg1QiAod2hpY2ggYmFzaWNhbGx5IG1lYW5zCit0aGF0IHRoZXkgc3dhcHBlZCByZWdpc3RlcnMgMHg1OSBhbmQgMHg1QiB3aGVuIHlvdSBjb21wYXJlIHdpdGggV2luYm9uZAorY2hpcHMpLgorUmV2aXNpb24gMSBvZiB0aGUgY2hpcCBhbHNvIGhhcyB0aGUgdGVtcGVyYXR1cmUgc2Vuc29yIHR5cGUgc2VsZWN0b3IgYXQKKzB4NUIsIGJ1dCBQV00gcmVnaXN0ZXJzIGhhdmUgbm8gZWZmZWN0LgorCitXZSBkb24ndCBrbm93IGV4YWN0bHkgaG93IHRoZSB0ZW1wZXJhdHVyZSBzZW5zb3IgdHlwZSBzZWxlY3Rpb24gd29ya3MuCitMb29rcyBsaWtlIGJpdHMgMS0wIGFyZSBmb3IgdGVtcDEsIGJpdHMgMy0yIGZvciB0ZW1wMiBhbmQgYml0cyA1LTQgZm9yCit0ZW1wMywgYWx0aG91Z2ggaXQgaXMgcG9zc2libGUgdGhhdCBvbmx5IHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBtYXR0ZXJzCitlYWNoIHRpbWUuIFNvIGZhciwgdmFsdWVzIG90aGVyIHRoYW4gMCBhbHdheXMgYnJva2UgdGhlIHJlYWRpbmdzLgorCitQV00gcmVnaXN0ZXJzIHNlZW0gdG8gYmUgc3BsaXQgaW4gdHdvIHBhcnRzOiBiaXQgNyBpcyBhIG1vZGUgc2VsZWN0b3IsCit3aGlsZSB0aGUgb3RoZXIgYml0cyBzZWVtIHRvIGRlZmluZSBhIHZhbHVlIG9yIHRocmVzaG9sZC4KKworV2hlbiBiaXQgNyBpcyBjbGVhciwgYml0cyA2LTAgc2VlbSB0byBob2xkIGEgdGhyZXNob2xkIHZhbHVlLiBJZiB0aGUgdmFsdWUKK2lzIGJlbG93IGEgZ2l2ZW4gbGltaXQsIHRoZSBmYW4gcnVucyBhdCBsb3cgc3BlZWQuIElmIHRoZSB2YWx1ZSBpcyBhYm92ZQordGhlIGxpbWl0LCB0aGUgZmFuIHJ1bnMgYXQgZnVsbCBzcGVlZC4gV2UgaGF2ZSBubyBjbHVlIGFzIHRvIHdoYXQgdGhlIGxpbWl0CityZXByZXNlbnRzLiBOb3RlIHRoYXQgdGhlcmUgc2VlbSB0byBiZSBzb21lIGluZXJ0aWEgaW4gdGhpcyBtb2RlLCBzcGVlZAorY2hhbmdlcyBtYXkgbmVlZCBzb21lIHRpbWUgdG8gdHJpZ2dlci4gQWxzbywgYW4gaHlzdGVyZXNpcyBtZWNoYW5pc20gaXMKK3N1c3BlY3RlZCBzaW5jZSB3YWxraW5nIHRocm91Z2ggYWxsIHRoZSB2YWx1ZXMgaW5jcmVhc2luZ2x5IGFuZCB0aGVuCitkZWNyZWFzaW5nbHkgbGVkIHRvIHNsaWdodGx5IGRpZmZlcmVudCBsaW1pdHMuCisKK1doZW4gYml0IDcgaXMgc2V0LCBiaXRzIDMtMCBzZWVtIHRvIGhvbGQgYSB0aHJlc2hvbGQgdmFsdWUsIHdoaWxlIGJpdHMgNi00Cit3b3VsZCBub3QgYmUgc2lnbmlmaWNhbnQuIElmIHRoZSB2YWx1ZSBpcyBiZWxvdyBhIGdpdmVuIGxpbWl0LCB0aGUgZmFuIHJ1bnMKK2F0IGZ1bGwgc3BlZWQsIHdoaWxlIGlmIGl0IGlzIGFib3ZlIHRoZSBsaW1pdCBpdCBydW5zIGF0IGxvdyBzcGVlZCAoc28gdGhpcworaXMgdGhlIGNvbnRyYXJ5IG9mIHRoZSBvdGhlciBtb2RlLCBpbiBhIHdheSkuIEhlcmUgYWdhaW4sIHdlIGRvbid0IGtub3cKK3doYXQgdGhlIGxpbWl0IGlzIHN1cHBvc2VkIHRvIHJlcHJlc2VudC4KKworT25lIHJlbWFya2FibGUgdGhpbmcgaXMgdGhhdCB0aGUgZmFucyB3b3VsZCBvbmx5IGhhdmUgdHdvIG9yIHRocmVlCitkaWZmZXJlbnQgc3BlZWRzICh0cmFuc2l0aW9uYWwgc3RhdGVzIGxlZnQgYXBhcnQpLCBub3QgYSB3aG9sZSByYW5nZSBhcworeW91IHVzdWFsbHkgZ2V0IHdpdGggUFdNLgorCitBcyBhIGNvbmNsdXNpb24sIHlvdSBjYW4gd3JpdGUgMHgwMCBvciAweDhGIHRvIHRoZSBQV00gcmVnaXN0ZXJzIHRvIG1ha2UKK2ZhbnMgcnVuIGF0IGxvdyBzcGVlZCwgYW5kIDB4N0Ygb3IgMHg4MCB0byBtYWtlIHRoZW0gcnVuIGF0IGZ1bGwgc3BlZWQuCisKK1BsZWFzZSBjb250YWN0IHVzIGlmIHlvdSBjYW4gZmlndXJlIG91dCBob3cgaXQgaXMgc3VwcG9zZWQgdG8gd29yay4gQXMKK2xvbmcgYXMgd2UgZG9uJ3Qga25vdyBtb3JlLCB0aGUgdzgzNzgxZCBkcml2ZXIgZG9lc24ndCBoYW5kbGUgUFdNIG9uCitBUzk5MTI3RiBjaGlwcyBhdCBhbGwuCisKK0FkZGl0aW9uYWwgaW5mbyBhYm91dCBQV00gb24gdGhlIEFTOTkxMjdGIHJldi4xIGJ5IEhlY3RvciBNYXJ0aW46CisKK0kndmUgYmVlbiBmaWRkbGluZyBhcm91bmQgd2l0aCB0aGUgKGluKWZhbW91cyAweDU5IHJlZ2lzdGVyIGFuZAorZm91bmQgb3V0IHRoZSBmb2xsb3dpbmcgdmFsdWVzIGRvIHdvcmsgYXMgYSBmb3JtIG9mIGNvYXJzZSBwd206CisKKzB4ODAgLSBzZWVtcyB0byB0dXJuIGZhbnMgb2ZmIGFmdGVyIHNvbWUgdGltZSgxLTIgbWludXRlcykuLi4gbWlnaHQgYmUKK3NvbWUgZm9ybSBvZiBhdXRvLWZhbi1jb250cm9sIGJhc2VkIG9uIHRlbXA/IGhtbSAoUWZhbj8gdGhpcyBtb2JvIGlzIGFuCitvbGQgQVNVUywgaXQgaXNuJ3QgbWFya2V0ZWQgYXMgUWZhbi4gTWF5YmUgc29tZSBiZXRhIHByZS1hdHRlbXAgYXQgUWZhbgordGhhdCB3YXMgZHJvcHBlZCBhdCB0aGUgQklPUykKKzB4ODEgLSBvZmYKKzB4ODIgLSBzbGlnaHRseSAib24tbmVyIiB0aGFuIG9mZiwgYnV0IG15IGZhbnMgZG8gbm90IGdldCB0byBtb3ZlLiBJIGNhbgoraGVhciB0aGUgaGlnaC1waXRjaGVkIFBXTSBzb3VuZCB0aGF0IG1vdG9ycyBnaXZlIG9mZiBhdCB0b28tbG93LXB3bS4KKzB4ODMgLSBub3cgdGhleSBkbyBtb3ZlLiBFc3RpbWF0ZSBhYm91dCA3MCUgc3BlZWQgb3Igc28uCisweDg0LTB4OGYgLSBmdWxsIG9uCisKK0NoYW5naW5nIHRoZSBoaWdoIG5pYmJsZSBkb2Vzbid0IHNlZW0gdG8gZG8gbXVjaCBleGNlcHQgdGhlIGhpZ2ggYml0CisoMHg4MCkgbXVzdCBiZSBzZXQgZm9yIFBXTSB0byB3b3JrLCBlbHNlIHRoZSBjdXJyZW50IHB3bSBkb2Vzbid0IHNlZW0gdG8KK2NoYW5nZS4KKworTXkgbW9ibyBpcyBhbiBBU1VTIEE3VjI2Ni1FLiBUaGlzIGJlaGF2aW9yIGlzIHNpbWlsYXIgdG8gd2hhdCBJIGdvdAord2l0aCBzcGVlZGZhbiB1bmRlciBXaW5kb3dzLCB3aGVyZSAwLTE1JSB3b3VsZCBiZSBvZmYsIDE1LTJ4JSAoY2FuJ3QKK3JlbWVtYmVyIHRoZSBleGFjdCB2YWx1ZSkgd291bGQgYmUgNzAlIGFuZCBoaWdoZXIgd291bGQgYmUgZnVsbCBvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3c4M2w3ODV0cyBiL0RvY3VtZW50YXRpb24vaTJjL2NoaXBzL3c4M2w3ODV0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODQxY2VkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvY2hpcHMvdzgzbDc4NXRzCkBAIC0wLDAgKzEsMzkgQEAKK0tlcm5lbCBkcml2ZXIgdzgzbDc4NXRzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisgICogV2luYm9uZCBXODNMNzg1VFMtUworICAgIFByZWZpeDogJ3c4M2w3ODV0cycKKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4MmUKKyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgV2luYm9uZCBVU0Egd2Vic2l0ZQorICAgICAgICAgICAgICAgaHR0cDovL3d3dy53aW5ib25kLXVzYS5jb20vcHJvZHVjdHMvd2luYm9uZF9wcm9kdWN0cy9wZGZzL1BDSUMvVzgzTDc4NVRTLVMucGRmCisKK0F1dGhvcnM6CisgICAgICAgIEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgorCitEZXNjcmlwdGlvbgorLS0tLS0tLS0tLS0KKworVGhlIFc4M0w3ODVUUy1TIGlzIGEgZGlnaXRhbCB0ZW1wZXJhdHVyZSBzZW5zb3IuIEl0IHNlbnNlcyB0aGUKK3RlbXBlcmF0dXJlIG9mIGEgc2luZ2xlIGV4dGVybmFsIGRpb2RlLiBUaGUgaGlnaCBsaW1pdCBpcwordGhlb3JldGljYWxseSBkZWZpbmVkIGFzIDg1IG9yIDEwMCBkZWdyZWVzIEMgdGhyb3VnaCBhIGNvbWJpbmF0aW9uCitvZiBleHRlcm5hbCByZXNpc3RvcnMsIHNvIHRoZSB1c2VyIGNhbm5vdCBjaGFuZ2UgaXQuIFZhbHVlcyBzZWVuIHNvCitmYXIgc3VnZ2VzdCB0aGF0IHRoZSB0d28gcG9zc2libGUgbGltaXRzIGFyZSBhY3R1YWxseSA5NSBhbmQgMTEwCitkZWdyZWVzIEMuIFRoZSBkYXRhc2hlZXQgaXMgcmF0aGVyIHBvb3IgYW5kIG9idmlvdXNseSBpbmFjY3VyYXRlCitvbiBzZXZlcmFsIHBvaW50cyBpbmNsdWRpbmcgdGhpcyBvbmUuCisKK0FsbCB0ZW1wZXJhdHVyZSB2YWx1ZXMgYXJlIGdpdmVuIGluIGRlZ3JlZXMgQ2Vsc2l1cy4gUmVzb2x1dGlvbgoraXMgMS4wIGRlZ3JlZS4gU2VlIHRoZSBkYXRhc2hlZXQgZm9yIGRldGFpbHMuCisKK1RoZSB3ODNsNzg1dHMgZHJpdmVyIHdpbGwgbm90IHVwZGF0ZSBpdHMgdmFsdWVzIG1vcmUgZnJlcXVlbnRseSB0aGFuCitldmVyeSBvdGhlciBzZWNvbmQ7IHJlYWRpbmcgdGhlbSBtb3JlIG9mdGVuIHdpbGwgZG8gbm8gaGFybSwgYnV0IHdpbGwKK3JldHVybiAnb2xkJyB2YWx1ZXMuCisKK0tub3duIElzc3VlcworLS0tLS0tLS0tLS0tCisKK09uIHNvbWUgc3lzdGVtcyAoQXN1cyksIHRoZSBCSU9TIGlzIGtub3duIHRvIGludGVyZmVyZSB3aXRoIHRoZSBkcml2ZXIKK2FuZCBjYXVzZSByZWFkIGVycm9ycy4gVGhlIGRyaXZlciB3aWxsIHJldHJ5IGEgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzCisoNSBieSBkZWZhdWx0KSBhbmQgdGhlbiBnaXZlIHVwLCByZXR1cm5pbmcgdGhlIG9sZCB2YWx1ZSAob3IgMCBpZgordGhlcmUgaXMgbm8gb2xkIHZhbHVlKS4gSXQgc2VlbXMgdG8gd29yayB3ZWxsIGVub3VnaCBzbyB0aGF0IHlvdSBzaG91bGQKK25vdCBub3RpY2UgYW55dGhpbmcuIFRoYW5rcyB0byBKYW1lcyBCb2x0IGZvciBoZWxwaW5nIHRlc3QgdGhpcyBmZWF0dXJlLgo=