Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vyR9g-00070d-2F for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Mar 2026 09:07:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vyR9f-004Gah-0I for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Mar 2026 09:07:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vyR9e-004GaQ-1r for pgsql-hackers@lists.postgresql.org; Fri, 06 Mar 2026 09:07:31 +0000 Received: from mail-yx1-xb130.google.com ([2607:f8b0:4864:20::b130]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vyR9Z-000000019pq-12ZV for pgsql-hackers@lists.postgresql.org; Fri, 06 Mar 2026 09:07:30 +0000 Received: by mail-yx1-xb130.google.com with SMTP id 956f58d0204a3-64ca09f2056so6596079d50.2 for ; Fri, 06 Mar 2026 01:07:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772788044; cv=none; d=google.com; s=arc-20240605; b=cyVsUVSaZZ49Fnpy0cgIYxLE1OXjRBxbD87mfxkYhSS9ttpBYOCZqi/qDw/qEgIWqB Ujo3f/b2FX8PHVtEb0OHNcZnj4dhQ3BPdQIfz+0KTrX7O9MSoULhMawVVLen/9jyWQ8V l5r6bD8tTCsRAW7pTRfKZmX90n5qjL3R4KezEmnhUmHvf/61NxHfNJMCels3MKG7c6Uy 53JKiVkjpxt/Z//WKm+yUhN0zjNl1zt1pOUitiM2RUkudmdiRaiwOEyE8wLvdy6xHQAE XumEIrIYod7Grpw1Z4XmAEBnIkCOezRGTKS/bvlUucEe3DpNl2Fvp6+vb9xpZqn5wWdf N99Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=wX+oQkkB18kr9KzW3/sOE81tlTQxx/8ddqRrZhRSOgw=; fh=DM93uH3yrF4DPPX8Y9V5dMqy4/x8ZfJipUK5QQFIBhE=; b=lMnZjFtatiZYRDUh54exGPeen3n/cClUrxMsRQES3znODgFsJailw+xYsl3sIIlu7G z1GMvXY1HKD3dK/tbqCvldTSEVGcNn/7xMSO/p/opIdPS2ocB+Vkm4No0QYvdkP7TUwd G+XEWFS9f7Bq+YqyHIRXjVJumMzqwW6ILhVBPc0IvjIGwiOU/ZWloEOl6BCdYEdnLX5e XK2IPup4hvh6N5lMHo3sAKV1xlGTfIn+RU0npLoI3YFBcmnnzt8nfPoLICZIYpL4p4z0 3oCiSKom0A8nguNI23+k8zvJc49FOk0cZae7luBQT7V92a1UFzHf9+CejUp6pTuxbZkZ 8vyg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772788044; x=1773392844; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wX+oQkkB18kr9KzW3/sOE81tlTQxx/8ddqRrZhRSOgw=; b=F6dvp/xHcn0iWC59ES4RIeiZiAzTx3CcoV90QrCCFRvzgyDL/o5a1NtR7rIXfGVTOW vpF9oGZoqNXuO+prOH4Wnv4rE8LL69FVLI/8KVVa+bZt2xDQTx/G7DeK7msaVb4b48tc 9vAGxMYuykYgTpOcDaetmO/YYTccEKfIFKcihinarTVnQzECOiVrz0aBCt2ppgvbeh00 Z1SU4vofcn0XhJH1yPZX9LuTXdAxLns2cXv31Q0KUOzRWz+zNDHsenJdiMeKN8xKuE6l P+MR/3GJGM43bsJuccw0y+1ZIKU0pR41+KawJUnYSGKZcj6IkDaUBNpPq0w5dvqZVTW8 4tcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772788044; x=1773392844; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wX+oQkkB18kr9KzW3/sOE81tlTQxx/8ddqRrZhRSOgw=; b=rx0FIwsZU2PKEMJgK/KOVeN4fwfVWG+sFHvd4aK66aoS36pUJrWc0D7UhFYlFTzKjv MZXRT1kHv/eZApfwvZ1zOVZA8FrXoFL8LKe+/DRebtLAAl5aHJJKt4S3fUCbK292xI72 NrgGJlMOR0jlJhFi5du9BO7wfpNd708k6DLCykp0c32yQ3/O6LUhccvJwTQ4b2P1E+rj MvMFY8vL/5Z3OS5rciFAl+D9B+0FxSZ2qvxSBhDHX+UvHGtNdCQDxcUvDnMmSEAF1J0i Sbx+6vcxZ9zi0R+zUlWCwtFRqA5f47q5lRHTCgWm0SRmcztO+VEbF4zbEyfRHcBuU9I5 WMzg== X-Gm-Message-State: AOJu0YySSeLjJQ33AEvtJ0H18q6U/2ctgZzcDeoBNnJJbXydrbtWmL3f lP0yyOCGzuNiVI8NhRnobcczxkXMz7ibLDW1rG6OxIRVpqaB7oTaLDlSa8ACQC8Ws9d4ryH1ane 8SSu+ms2xB+5XaeTq9yUzeos2cMSKRQM= X-Gm-Gg: ATEYQzxmIVdHoDMiZHkq0lzqLTU7+wukhqefBzz7ESu3Ai/Uc2Vh+48sO6+leU80Ivh MmIpjpOJ62extX+qhbYc7BCHONeyQejyAPEkC4AR0GrncyXCU3qu9Lei3rBpg3jPBaHekYRMFzn 4bjwUePOVG6SvBdis5mfzYH23q0ZtNtnl2Irg//DWtgW+r25iXjFkqW71xP4UHfVWA8pncr9hGf Ebgof+cR7ZXmwwkrTVSrLCsc0YskSh7zF5F1gCLWMM8MiJt317wRFsUfQ5gyUa+zYZsTuPOlt4f Hmqy1P1Hd9mdHizzUPTyOLRIiAYOKDKyp07XownALA1eQJ1vwbkp9psCr53opAhfHvBDO9c1xYH ufAsxKxCwUodTSysTccj9AwGqYfXBUGkb7Q2BepE+RuNfbWVXyjRqmhAvKoaZ4usMh9ZE X-Received: by 2002:a53:e187:0:b0:64c:c6bf:68e7 with SMTP id 956f58d0204a3-64d14108ff7mr997528d50.19.1772788043860; Fri, 06 Mar 2026 01:07:23 -0800 (PST) MIME-Version: 1.0 References: <177261853144.1094601.11795093672679754617.pgcf@coridan.postgresql.org> In-Reply-To: From: Pavel Stehule Date: Fri, 6 Mar 2026 10:06:42 +0100 X-Gm-Features: AaiRm508rfdn_5CLT3CPUTqoZuDomHVmhz1yQ48-LMwb4d16Y2b8ZKiodF0bsOM Message-ID: Subject: Re: proposal: schema variables To: Haritabh Gupta Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000009e8a35064c5761ad" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009e8a35064c5761ad Content-Type: multipart/alternative; boundary="0000000000009e8a33064c5761ab" --0000000000009e8a33064c5761ab Content-Type: text/plain; charset="UTF-8" Hi I cleaned dest receiver Regards Pavel --0000000000009e8a33064c5761ab Content-Type: text/html; charset="UTF-8"
Hi

I cleaned dest receiver

Regards

Pavel
--0000000000009e8a33064c5761ab-- --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260306-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo736y1 RnJvbSBhNzc4YmZjMmI3MWQ1ZWMyNjIyYTZmNjAwN2NjMmFmZjJjMTEyYjM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDYgRGVjIDIwMjUgMDc6MzU6MzAgKzAxMDAKU3ViamVjdDogW1BB VENIIDEwLzExXSB0cmFuc2FjdGlvbmFsIERETCAtIENSRUFURSBWQVJJQUJMRSwgRFJPUCBWQVJJ QUJMRQoKR2VuZXJhbGx5IFBvc3RncmVTUUwgRERMIHN0YXRlbWVudHMgYXJlIHRyYW5zYWN0aW9u YWwuIFdlIGNhbiBpbXBsZW1lbnQgdHJhbnNhY3Rpb25hbCBiZWhhdmUKZm9yICggQ1JFQVRFIHwg RFJPUCApIFZBUklBQkxFIHRvby4gSW1wbGVtZW50YXRpb24gaXMgYWxtb3N0IHNpbXBsZS4gRFJP UCBqdXN0IHNldCBkcm9wcGVkX2x4aWQsCkNSRUFURSBzZXQgY3JlYXRlZF9seGlkIGFuZCBtb3Zl cyBwcmV2aW91cyBlbnRyeSBvZiByZWxhdGVkIHNlc3Npb252YXJzIGhhc2h0YWIgdG8gc3RhY2su IEF0IHRoZQplbmQgb2YgdHJhbnNhY3Rpb24gZm9yIGNvbW1pdCB3ZSBqdXN0IGNsZWFuIHRoaXMg c3RhY2suIEZvciByb2xsYmFjayB3ZSBkbyBjb3B5IHRoZSBib290b20gdmFsdWUKZnJvbSB0aGUg c3RhY2sgYW5kIGFnYWluIGNsZWFuIHN0YWNrLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMgICAgICAgfCAyMTcgKysrKysrKysrKysrKysrKy0tCiBzcmMvaW5jbHVk ZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgIDIgKwogLi4uL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDM4ICsrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgIDIxICsrCiA1IGZpbGVzIGNoYW5n ZWQsIDI1OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS94YWN0LmMKaW5kZXggZWJhNGYwNjMxNjguLmRhNTE3MDg2MWI4IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGFjdC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvYXN5bmMu aCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90 cmlnZ2VyLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1vbi9wZ19wcm5nLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivc3BpLmgiCiAjaW5jbHVk ZSAibGlicHEvYmUtZnNzdHVicy5oIgpAQCAtMjMzMyw2ICsyMzM0LDkgQEAgQ29tbWl0VHJhbnNh Y3Rpb24odm9pZCkKIAkvKiBjbG9zZSBsYXJnZSBvYmplY3RzIGJlZm9yZSBsb3dlci1sZXZlbCBj bGVhbnVwICovCiAJQXRFT1hhY3RfTGFyZ2VPYmplY3QodHJ1ZSk7CiAKKwkvKiByZW1vdmUgc3Rh Y2tlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMo dHJ1ZSk7CisKIAkvKgogCSAqIEluc2VydCBub3RpZmljYXRpb25zIHNlbnQgYnkgTk9USUZZIGNv bW1hbmRzIGludG8gdGhlIHF1ZXVlLiAgVGhpcwogCSAqIHNob3VsZCBiZSBsYXRlIGluIHRoZSBw cmUtY29tbWl0IHNlcXVlbmNlIHRvIG1pbmltaXplIHRpbWUgc3BlbnQKQEAgLTI5MzksNiArMjk0 Myw3IEBAIEFib3J0VHJhbnNhY3Rpb24odm9pZCkKIAlBdEFib3J0X1BvcnRhbHMoKTsKIAlzbWdy RG9QZW5kaW5nU3luY3MoZmFsc2UsIGlzX3BhcmFsbGVsX3dvcmtlcik7CiAJQXRFT1hhY3RfTGFy Z2VPYmplY3QoZmFsc2UpOworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoZmFsc2UpOwog CUF0QWJvcnRfTm90aWZ5KCk7CiAJQXRFT1hhY3RfUmVsYXRpb25NYXAoZmFsc2UsIGlzX3BhcmFs bGVsX3dvcmtlcik7CiAJQXRBYm9ydF9Ud29waGFzZSgpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IDQ0NjNjY2UzMjdhLi5iMjQyZjg3NmVlMSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtNTQsNiArNTQsMTEgQEAgdHlwZWRl ZiBzdHJ1Y3QgU1ZhcmlhYmxlRGF0YQogCiAJaW50MTYJCXR5cGxlbjsKIAlib29sCQl0eXBieXZh bDsKKworCXN0cnVjdCBTVmFyaWFibGVEYXRhICpwcmV2OworCWJvb2wJCXN0YWNrZWQ7CisJTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfbHhpZDsKKwlMb2NhbFRyYW5zYWN0aW9uSWQgZHJvcHBl ZF9seGlkOwogfSBTVmFyaWFibGVEYXRhOwogCiB0eXBlZGVmIFNWYXJpYWJsZURhdGEgKlNWYXJp YWJsZTsKQEAgLTYyLDYgKzY3LDE0IEBAIHN0YXRpYyBIVEFCICpzZXNzaW9udmFycyA9IE5VTEw7 CS8qIGhhc2ggdGFibGUgZm9yIHNlc3Npb24gdmFyaWFibGVzICovCiAKIHN0YXRpYyBNZW1vcnlD b250ZXh0IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgPSBOVUxMOwogCisvKgorICogV2hlbiB3ZSB0 byByZW1vdmUgY29tbWl0dGVkIGRyb3BwZWQgdmFyaWFibGVzIG9yIHVuY29tbWl0dGVkCisgKiBj cmVhdGVkIHZhcmlhYmxlcyBmcm9tIHNlc3Npb252YXJzIHRhYi4gY3JlYXRlZF9vcl9kcm9wcGVk X2x4aWQKKyAqIGlzIHRyYW5zYWN0aW9uIGlkIG9mIHRyYW5zYWN0aW9uIHdoZW4gc29tZSBvZiBE Uk9QIG9yIENSRUFURSB2YXJpYWJsZQorICogd2FzIGV4ZWN1dGVkLgorICovCitzdGF0aWMgTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJh bnNhY3Rpb25JZDsKKwogLyoKICAqIENyZWF0ZSB0aGUgaGFzaCB0YWJsZSBmb3Igc3RvcmluZyBz ZXNzaW9uIHZhcmlhYmxlcy4KICAqLwpAQCAtMTAzLDYgKzExNiwxNCBAQCBzZWFyY2hfdmFyaWFi bGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5nX29rKQogCXN2YXIgPSAoU1ZhcmlhYmxlKSBo YXNoX3NlYXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKIAkJCQkJCQkJICAgSEFTSF9GSU5ELCBO VUxMKTsKIAorCS8qIFNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGRyb3BwZWQgaW5zaWRlIGN1cnJl bnQgdHJhbnNhY3Rpb24gKi8KKwlpZiAoc3ZhciAmJiBzdmFyLT5kcm9wcGVkX2x4aWQgIT0gSW52 YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKKwl7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRf bHhpZCA9PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQg PT0gTXlQcm9jLT52eGlkLmx4aWQpOworCQlzdmFyID0gTlVMTDsKKwl9CisKIAlpZiAoIXN2YXIg JiYgIW1pc3Npbmdfb2spCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfT0JKRUNUKSwKQEAgLTIzNSw2ICsyNTYsNyBAQCBDcmVhdGVWYXJpYWJsZShQYXJz ZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCU9pZAkJCXR5cGNv bGxhdGlvbjsKIAlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOwogCVNWYXJpYWJsZQlzdmFy OworCVNWYXJpYWJsZQlwcmV2X3N2YXIgPSBOVUxMOwogCWJvb2wJCWZvdW5kOwogCWludDE2CQl0 eXBsZW47CiAJYm9vbAkJdHlwYnl2YWw7CkBAIC0yNzksMTkgKzMwMSwzNyBAQCBDcmVhdGVWYXJp YWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCiAJ aWYgKGZvdW5kKQogCXsKLQkJaWYgKHN0bXQtPmlmX25vdF9leGlzdHMpCisJCWlmIChzdmFyLT5k cm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKIAkJewotCQkJZXJlcG9y dChOT1RJQ0UsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCi0JCQkJ CSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGlu ZyIsCi0JCQkJCQkJc3RtdC0+bmFtZSkpKTsKLQkJCXJldHVybjsKKwkJCWlmIChzdG10LT5pZl9u b3RfZXhpc3RzKQorCQkJeworCQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUg XCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJCXN0bXQtPm5hbWUpKSk7 CisJCQkJcmV0dXJuOworCQkJfQorCQkJZWxzZQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQko ZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkJIGVycm1zZygic2Vzc2lv biB2YXJpYWJsZSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAorCQkJCQkJCQlzdG10LT5uYW1lKSkp OwogCQl9CiAJCWVsc2UKLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVf RFVQTElDQVRFX09CSkVDVCksCi0JCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wi IGFscmVhZHkgZXhpc3RzIiwKLQkJCQkJCQlzdG10LT5uYW1lKSkpOworCQl7CisJCQlNZW1vcnlD b250ZXh0IG9sZGN4dDsKKworCQkJQXNzZXJ0KGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID09IE15 UHJvYy0+dnhpZC5seGlkKTsKKwkJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9j LT52eGlkLmx4aWQpOworCisJCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oU1Zhcmlh YmxlTWVtb3J5Q29udGV4dCk7CisJCQlwcmV2X3N2YXIgPSBwYWxsb2Nfb2JqZWN0KFNWYXJpYWJs ZURhdGEpOworCQkJbWVtY3B5KHByZXZfc3Zhciwgc3Zhciwgc2l6ZW9mKFNWYXJpYWJsZURhdGEp KTsKKwkJCXByZXZfc3Zhci0+c3RhY2tlZCA9IHRydWU7CisJCQltZW1zZXQoc3ZhciwgMCwgc2l6 ZW9mKFNWYXJpYWJsZURhdGEpKTsKKworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7 CisJCX0KIAl9CiAKIAluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKQEAg LTMwNCw2ICszNDQsMTIgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVTZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAogCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOwogCXN2 YXItPmlzbnVsbCA9IHRydWU7CisKKwlzdmFyLT5wcmV2ID0gcHJldl9zdmFyOworCXN2YXItPnN0 YWNrZWQgPSBmYWxzZTsKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2Fj dGlvbklkOworCXN2YXItPmNyZWF0ZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworCWNyZWF0 ZWRfb3JfZHJvcHBlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CiB9CiAKIC8qCkBAIC0zMzgs MTQgKzM4NCwxMjkgQEAgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9uVmFyU3RtdCAqc3Rt dCkKIAkJCQkgZXJybXNnKCJtdXN0IGJlIG93bmVyIG9mIHNlc3Npb24gdmFyaWFibGUgJXMiLAog CQkJCQkJc3RtdC0+bmFtZSkpKTsKIAotCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlz bnVsbCkKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwljcmVhdGVk X29yX2Ryb3BwZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworfQorCitzdGF0aWMgdm9pZAor ZnJlZV9zdmFyX3ZhbHVlKFNWYXJpYWJsZSBzdmFyKQoreworCWlmICghc3Zhci0+aXNudWxsICYm ICFzdmFyLT50eXBieXZhbCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7 Cit9CisKK3N0YXRpYyB2b2lkCitmcmVlX3N0YWNrZWRfc3ZhcnMoU1ZhcmlhYmxlIHN2YXIpCit7 CisJd2hpbGUgKHN2YXIpCisJeworCQlTVmFyaWFibGUJY3VycmVudCA9IHN2YXI7CisKKwkJZnJl ZV9zdmFyX3ZhbHVlKGN1cnJlbnQpOworCQlzdmFyID0gY3VycmVudC0+cHJldjsKKwkJcGZyZWUo Y3VycmVudCk7CisJfQorfQorCisvKgorICogcmVtb3ZlIGRyb3BwZWQgY29tbWl0dGVkIGVudHJp ZXMgb3IgY3JlYXRlZCB1bmNvbW1pdHRlZCBlbnRyaWVzCisgKiBmcm9tIGhhc2ggdGFibGUuCisg Ki8KK3ZvaWQKK0F0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBpc0NvbW1pdCkKK3sK KwlpZiAoY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkKKwl7CisJCUhBU0hfU0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOwogCi0J aWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLAotCQkJCQkgICBzdG10LT5uYW1lLAotCQkJCQkg ICBIQVNIX1JFTU9WRSwKLQkJCQkJICAgTlVMTCkgPT0gTlVMTCkKLQkJZWxvZyhFUlJPUiwgImhh c2ggdGFibGUgY29ycnVwdGVkIik7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRfbHhpZCA9 PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzZXNzaW9udmFycyk7CisKKwkJaGFzaF9z ZXFfaW5pdCgmc3RhdHVzLCBzZXNzaW9udmFycyk7CisKKwkJd2hpbGUgKChzdmFyID0gKFNWYXJp YWJsZSkgaGFzaF9zZXFfc2VhcmNoKCZzdGF0dXMpKSAhPSBOVUxMKQorCQl7CisJCQlpZiAoKHN2 YXItPmRyb3BwZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSB8fAorCQkJCShz dmFyLT5jcmVhdGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkpCisJCQl7CisJ CQkJQXNzZXJ0KChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkgfHwKKwkJCQkJCShzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpKTsK KworCQkJCUFzc2VydCgoc3Zhci0+Y3JlYXRlZF9seGlkID09IEludmFsaWRMb2NhbFRyYW5zYWN0 aW9uSWQpIHx8CisJCQkJCQkoc3Zhci0+Y3JlYXRlZF9seGlkID09IE15UHJvYy0+dnhpZC5seGlk KSk7CisKKwkJCQlpZiAoaXNDb21taXQpCisJCQkJeworCQkJCQlpZiAoc3Zhci0+ZHJvcHBlZF9s eGlkID09IE15UHJvYy0+dnhpZC5seGlkKQorCQkJCQl7CisJCQkJCQlmcmVlX3N0YWNrZWRfc3Zh cnMoc3Zhci0+cHJldik7CisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoc3Zhcik7CisKKwkJCQkJCSh2 b2lkKSBoYXNoX3NlYXJjaChzZXNzaW9udmFycywKKwkJCQkJCQkJCQkgICBOYW1lU3RyKHN2YXIt PnZhcm5hbWUpLAorCQkJCQkJCQkJCSAgIEhBU0hfUkVNT1ZFLAorCQkJCQkJCQkJCSAgIE5VTEwp OworCQkJCQkJc3ZhciA9IE5VTEw7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQlm cmVlX3N0YWNrZWRfc3ZhcnMoc3Zhci0+cHJldik7CisJCQkJCQlzdmFyLT5wcmV2ID0gTlVMTDsK KwkJCQkJCXN2YXItPmNyZWF0ZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQ7CisJ CQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJU1ZhcmlhYmxlCWl0ZXI7CisKKwkJ CQkJLyoKKwkJCQkJICogV2UgaGF2ZSB0byBzZWFyY2ggdmFsdWUgdGhlIG9sZGVzdCBzdmFyIGlu IHRoZSBzdGFjay4gSWYgaXQgaXMganVzdCBkcm9wcGVkLAorCQkJCQkgKiB0aGVuIHdlIHJldmVy dCBkcm9wcGVkIGZsYWcuIElmIGl0IGlzIGNyZWF0ZWQgaW4gY3VycmVudCB0cmFuc2FjdGlvbiwg dGhlbgorCQkJCQkgKiB3ZSByZW1vdmUgdGhpcyBzdmFyIHRvby4KKwkJCQkJICovCisJCQkJCWl0 ZXIgPSBzdmFyOworCQkJCQl3aGlsZSAoaXRlci0+cHJldikKKwkJCQkJeworCQkJCQkJU1Zhcmlh YmxlCWN1cnJlbnQgPSBpdGVyOworCisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoY3VycmVudCk7CisK KwkJCQkJCWl0ZXIgPSBjdXJyZW50LT5wcmV2OworCisJCQkJCQlpZiAoY3VycmVudC0+c3RhY2tl ZCkKKwkJCQkJCQlwZnJlZShjdXJyZW50KTsKKwkJCQkJfQorCisJCQkJCWlmIChpdGVyLT5jcmVh dGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpCisJCQkJCXsKKwkJCQkJCWZyZWVfc3Zhcl92 YWx1ZShpdGVyKTsKKwkJCQkJCWlmIChpdGVyLT5zdGFja2VkKQorCQkJCQkJCXBmcmVlKGl0ZXIp OworCisJCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZhcnMsCisJCQkJCQkJCQkJICAg TmFtZVN0cihzdmFyLT52YXJuYW1lKSwKKwkJCQkJCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJ CQkJCQkgICBOVUxMKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCWlmIChpdGVy LT5zdGFja2VkKQorCQkJCQkJeworCQkJCQkJCW1lbWNweShzdmFyLCBpdGVyLCBzaXplb2YoU1Zh cmlhYmxlRGF0YSkpOworCQkJCQkJCXN2YXItPnN0YWNrZWQgPSBmYWxzZTsKKwkJCQkJCQlwZnJl ZShpdGVyKTsKKwkJCQkJCX0KKworCQkJCQkJLyogcmV2ZXJ0IGRyb3BwZWQgZmxhZyAqLworCQkJ CQkJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJ fQorCQkJCX0KKwkJCX0KKwkJfQorCisJCWNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxp ZExvY2FsVHJhbnNhY3Rpb25JZDsKKwl9CiB9CiAKIC8qCkBAIC00MzEsMjMgKzU5MiwyOSBAQCBF eGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiB9CiAKIC8qCi0gKiBGYXN0IGRyb3Ag b2YgdGhlIGNvbXBsZXRlIGNvbnRlbnQgb2YgdGhlIHNlc3Npb24gdmFyaWFibGVzIGhhc2ggdGFi bGUsIGFuZAotICogY2xlYW51cCBvZiBhbnkgbGlzdCB0aGF0IHdvdWxkbid0IGJlIHJlbGV2YW50 IGFueW1vcmUuCiAgKiBUaGlzIGlzIHVzZWQgYnkgdGhlIERJU0NBUkQgVEVNUC4KICAqLwogdm9p ZAogUmVzZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpCiB7Ci0JLyogZGVzdHJveSBoYXNoIHRhYmxl IGFuZCByZXNldCByZWxhdGVkIG1lbW9yeSBjb250ZXh0ICovCisJLyogbWFyayBhbGwgc2Vzc2lv biB2YXJpYWJsZXMgYXMgZHJvcHBlZCAqLwogCWlmIChzZXNzaW9udmFycykKIAl7Ci0JCWhhc2hf ZGVzdHJveShzZXNzaW9udmFycyk7Ci0JCXNlc3Npb252YXJzID0gTlVMTDsKLQl9CisJCUhBU0hf U0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOworCQlib29sCQlmb3VuZCA9IGZh bHNlOwogCi0JLyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHNlc3Npb24gdmFyaWFibGVz ICovCi0JaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0gTlVMTCkKLQkJTWVtb3J5Q29udGV4 dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworCQloYXNoX3NlcV9pbml0KCZzdGF0dXMs IHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlcV9z ZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCXN2YXItPmRyb3BwZWRfbHhpZCA9IE15 UHJvYy0+dnhpZC5seGlkOworCQkJZm91bmQgPSB0cnVlOworCQl9CisKKwkJaWYgKGZvdW5kKQor CQkJY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwl9CiB9CiAK IC8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggM2YwN2FlNTVh YWMuLjEyMThjNTY2NzY3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o CkBAIC0zOSw0ICszOSw2IEBAIGV4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUg KnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhCiAKIGV4dGVybiB2b2lk IFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgQXRQcmVFT1hhY3Rf U2Vzc2lvblZhcmlhYmxlcyhib29sIGlzQ29tbWl0KTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggNzU4 Y2U1ODJmY2EuLjJkMDA0NzFkYTk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC03MCwzICs3MCw0MSBAQCBTRUxFQ1Qg KiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKTsKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKDAgcm93cykKIAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9 ICdIZWxsbyc7CitTRUxFQ1QgVkFSSUFCTEUoeCk7CisgICB4ICAgCistLS0tLS0tCisgSGVsbG8K KygxIHJvdykKKworQ09NTUlUOworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0t LQorIEhlbGxvCisoMSByb3cpCisKK0xFVCB4ID0gJ0hpJzsKK0JFR0lOOworRFJPUCBWQVJJQUJM RSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGVsbG8n OworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0tLQorIEhlbGxvCisoMSByb3cp CisKK1JPTExCQUNLOworU0VMRUNUIFZBUklBQkxFKHgpOworIHggIAorLS0tLQorIEhpCisoMSBy b3cpCisKK0RST1AgVkFSSUFCTEUgeDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IGM0Y2JmZDE3MTY5Li43MzM1ZjE1ZWQzOSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCkBAIC03OCwz ICs3OCwyNCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJs ZXNfbmFtZXMoKTsKIERST1AgVkFSSUFCTEUgeDsKIERST1AgVkFSSUFCTEUgeTsKIFNFTEVDVCAq IEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOworCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIaSc7CitCRUdJTjsKK0RS T1AgVkFSSUFCTEUgeDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgdmFyY2hhcjsKK0xFVCB4 ID0gJ0hlbGxvJzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKK0NPTU1JVDsKK1NFTEVDVCBWQVJJQUJM RSh4KTsKKworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9QIFZBUklBQkxFIHg7CitDUkVBVEUg VEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIZWxsbyc7CitTRUxFQ1QgVkFS SUFCTEUoeCk7CitST0xMQkFDSzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKKworRFJPUCBWQVJJQUJM RSB4OwotLSAKMi41My4wCgo= --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Disposition: attachment; filename="v20260306-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo736f0 RnJvbSBhNjQ5MmNiMDc5MTgyZTY5ODI3NDJkMDBkODliMmMwMTYwM2UzOWM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IE1vbiwgOCBEZWMgMjAyNSAwNTowMDoxMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEv MTFdIHN1YnRyYW5zYWN0aW9uIHN1cHBvcnQgZm9yIHNlc3Npb24gdmFyaWFibGVzIERETAogKENS RUFURSwgRFJPUCkKCklmIHdlIHN1cHBvcnQgdHJhbnNhY3Rpb25hbCBEREwgZm9yIENSRUFURSwg RFJPUCBzZXNzaW9uICB2YXJpYWJsZXMsIHdlIHNob3VsZCB0bwpzdXBwb3J0IHN1YnRyYW5zYWN0 aW9ucyB0b28uIEltcGxlbWVudGF0aW9uIGlzIHNpbXBsZS4gQW55IHZhbHVlIGhhcyB0d28gbmV3 IGZsYWdzOgpjcmVhdGVkX3N1YmlkIGFuZCBkcm9wcGVkX3N1YmlkLiBBdCB0aGUgc3VidHJhbnNh Y3Rpb24gZW5kIGZvciByb2xsYmFjayB3ZQpjbGVhbiBlbnRyaWVzIGZyb20gdGhlIHN0YWNrIHJl bGF0ZWQgdG8gc3VidHJhbnNhY3Rpb25zLiBXaGVuIGNvbW1pdCB3ZSB1cGRhdGUKY3JlYXRlZF9z dWJpZCBhbmQgZHJvcHBlZF9zdWJpZCBmb3IgcGFyZW50IHN1YnRyYW5zYWN0aW9uLgotLS0KIHNy Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNCArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAxMDkgKysrKysrKysr KysrKysrKysrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAg fCAgIDMgKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwg IDIxICsrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsICAgICB8 ICAxMiArKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hhY3QuYwppbmRleCBkYTUxNzA4NjFiOC4uZDMyZWU0OTNhNDggMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94YWN0LmMKQEAgLTUyMTIsNiArNTIxMiw4IEBAIENvbW1pdFN1YlRyYW5zYWN0 aW9uKHZvaWQpCiAJQXRFT1N1YlhhY3RfU1BJKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQpOwog CUF0RU9TdWJYYWN0X29uX2NvbW1pdF9hY3Rpb25zKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQs CiAJCQkJCQkJCSAgcy0+cGFyZW50LT5zdWJUcmFuc2FjdGlvbklkKTsKKwlBdEVPU3ViWGFjdF9T ZXNzaW9uVmFyaWFibGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCisJCQkJCQkJCSBzLT5w YXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQpOwogCUF0RU9TdWJYYWN0X05hbWVzcGFjZSh0cnVlLCBz LT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJICBzLT5wYXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQp OwogCUF0RU9TdWJYYWN0X0ZpbGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCkBAIC01Mzgx LDYgKzUzODMsOCBAQCBBYm9ydFN1YlRyYW5zYWN0aW9uKHZvaWQpCiAJCUF0RU9TdWJYYWN0X1NQ SShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0X29uX2NvbW1pdF9h Y3Rpb25zKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJCQkJICBzLT5wYXJlbnQt PnN1YlRyYW5zYWN0aW9uSWQpOworCQlBdEVPU3ViWGFjdF9TZXNzaW9uVmFyaWFibGVzKGZhbHNl LCBzLT5zdWJUcmFuc2FjdGlvbklkLAorCQkJCQkJCQkJIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rp b25JZCk7CiAJCUF0RU9TdWJYYWN0X05hbWVzcGFjZShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25J ZCwKIAkJCQkJCQkgIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0 X0ZpbGVzKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IGIyNDJmODc2ZWUxLi4xMWMyODdmMWYwNiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtMTQsNiArMTQsNyBAQAogICovCiAj aW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19sYW5ndWFnZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgpAQCAtNTksNiArNjAsOCBA QCB0eXBlZGVmIHN0cnVjdCBTVmFyaWFibGVEYXRhCiAJYm9vbAkJc3RhY2tlZDsKIAlMb2NhbFRy YW5zYWN0aW9uSWQgY3JlYXRlZF9seGlkOwogCUxvY2FsVHJhbnNhY3Rpb25JZCBkcm9wcGVkX2x4 aWQ7CisJU3ViVHJhbnNhY3Rpb25JZCBjcmVhdGVkX3N1YmlkOworCVN1YlRyYW5zYWN0aW9uSWQg ZHJvcHBlZF9zdWJpZDsKIH0gU1ZhcmlhYmxlRGF0YTsKIAogdHlwZWRlZiBTVmFyaWFibGVEYXRh ICpTVmFyaWFibGU7CkBAIC0zNDksNiArMzUyLDggQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAlzdmFyLT5zdGFja2VkID0g ZmFsc2U7CiAJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsK IAlzdmFyLT5jcmVhdGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwlzdmFyLT5kcm9wcGVk X3N1YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQ7CisJc3Zhci0+Y3JlYXRlZF9zdWJpZCA9 IEdldEN1cnJlbnRTdWJUcmFuc2FjdGlvbklkKCk7CiAJY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQg PSBNeVByb2MtPnZ4aWQubHhpZDsKIH0KIApAQCAtMzg1LDYgKzM5MCw3IEBAIERyb3BWYXJpYWJs ZUJ5TmFtZShEcm9wU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAJCQkJCQlzdG10LT5uYW1lKSkpOwog CiAJc3Zhci0+ZHJvcHBlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CisJc3Zhci0+ZHJvcHBl ZF9zdWJpZCA9IEdldEN1cnJlbnRTdWJUcmFuc2FjdGlvbklkKCk7CiAJY3JlYXRlZF9vcl9kcm9w cGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKIH0KIApAQCAtNDU0LDYgKzQ2MCw3IEBAIEF0 UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBpc0NvbW1pdCkKIAkJCQkJCWZyZWVfc3Rh Y2tlZF9zdmFycyhzdmFyLT5wcmV2KTsKIAkJCQkJCXN2YXItPnByZXYgPSBOVUxMOwogCQkJCQkJ c3Zhci0+Y3JlYXRlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJCXN2 YXItPmNyZWF0ZWRfc3ViaWQgPSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZDsKIAkJCQkJfQogCQkJ CX0KIAkJCQllbHNlCkBAIC01MDAsNiArNTA3LDcgQEAgQXRQcmVFT1hhY3RfU2Vzc2lvblZhcmlh Ymxlcyhib29sIGlzQ29tbWl0KQogCiAJCQkJCQkvKiByZXZlcnQgZHJvcHBlZCBmbGFnICovCiAJ CQkJCQlzdmFyLT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkOworCQkJ CQkJc3Zhci0+ZHJvcHBlZF9zdWJpZCA9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkOwogCQkJCQl9 CiAJCQkJfQogCQkJfQpAQCAtNTA5LDYgKzUxNywxMDcgQEAgQXRQcmVFT1hhY3RfU2Vzc2lvblZh cmlhYmxlcyhib29sIGlzQ29tbWl0KQogCX0KIH0KIAorLyoKKyAqIFBvc3Qtc3ViY29tbWl0IG9y IHBvc3Qtc3ViYWJvcnQgY2xlYW51cAorICoKKyAqIER1cmluZyBzdWJhYm9ydCwgd2UgY2FuIGlt bWVkaWF0ZWx5IHJlbW92ZSBlbnRyaWVzIGNyZWF0ZWQgZHVyaW5nIHRoaXMKKyAqIHN1YnRyYW5z YWN0aW9uLiBEdXJpbmcgc3ViY29tbWl0LCBqdXN0IHRyYW5zZmVyIGVudHJpZXMgbWFya2VkIGR1 cmluZworICogdGhpcyBzdWJ0cmFuc2FjdGlvbiBhcyBiZWluZyB0aGUgcGFyZW50J3MgcmVzcG9u c2liaWxpdHkuCisgKi8KK3ZvaWQKK0F0RU9TdWJYYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBp c0NvbW1pdCwKKwkJCQkJCQkgU3ViVHJhbnNhY3Rpb25JZCBteVN1YmlkLAorCQkJCQkJCSBTdWJU cmFuc2FjdGlvbklkIHBhcmVudFN1YmlkKQoreworCWlmIChjcmVhdGVkX29yX2Ryb3BwZWRfbHhp ZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKQorCXsKKwkJSEFTSF9TRVFfU1RBVFVTIHN0 YXR1czsKKwkJU1ZhcmlhYmxlCXN2YXI7CisKKwkJQXNzZXJ0KGNyZWF0ZWRfb3JfZHJvcHBlZF9s eGlkID09IE15UHJvYy0+dnhpZC5seGlkKTsKKwkJQXNzZXJ0KHNlc3Npb252YXJzKTsKKworCQlo YXNoX3NlcV9pbml0KCZzdGF0dXMsIHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAo U1ZhcmlhYmxlKSBoYXNoX3NlcV9zZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCWlm ICgoc3Zhci0+ZHJvcHBlZF9seGlkICE9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQpIHx8CisJ CQkJKHN2YXItPmNyZWF0ZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSkKKwkJ CXsKKwkJCQlpZiAoIWlzQ29tbWl0KQorCQkJCXsKKwkJCQkJU1ZhcmlhYmxlIGl0ZXJhdG9yID0g c3ZhcjsKKwkJCQkJU1ZhcmlhYmxlIGxhc3QgPSBOVUxMOworCQkJCQlTVmFyaWFibGUgZmlyc3Qg PSBOVUxMOworCisJCQkJCS8qIHJlbW92ZSBlbnRyaWVzIG9yIGZsYWdzIGJ5IGN1cnJlbnQgc3Vi dHJhbnNhY3Rpb25zICovCisJCQkJCXdoaWxlIChpdGVyYXRvcikKKwkJCQkJeworCQkJCQkJU1Zh cmlhYmxlIGN1cnJlbnQgPSBpdGVyYXRvcjsKKworCQkJCQkJaXRlcmF0b3IgPSBjdXJyZW50LT5w cmV2OworCisJCQkJCQlpZiAoY3VycmVudC0+ZHJvcHBlZF9zdWJpZCA9PSBteVN1YmlkKQorCQkJ CQkJeworCQkJCQkJCWN1cnJlbnQtPmRyb3BwZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0 aW9uSWQ7CisJCQkJCQkJY3VycmVudC0+ZHJvcHBlZF9zdWJpZCA9IEludmFsaWRTdWJUcmFuc2Fj dGlvbklkOworCQkJCQkJfQorCisJCQkJCQlpZiAoY3VycmVudC0+Y3JlYXRlZF9zdWJpZCA9PSBt eVN1YmlkKQorCQkJCQkJeworCQkJCQkJCWZyZWVfc3Zhcl92YWx1ZShjdXJyZW50KTsKKwkJCQkJ CQlpZiAoY3VycmVudC0+c3RhY2tlZCkKKwkJCQkJCQkJcGZyZWUoY3VycmVudCk7CisJCQkJCQl9 CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJLyogcmVtZW1iZXIgZmlyc3Qgbm90IGRlbGV0 ZWQgc3ZhciAqLworCQkJCQkJCWlmIChmaXJzdCA9PSBOVUxMKQorCQkJCQkJCQlmaXJzdCA9IGN1 cnJlbnQ7CisKKwkJCQkJCQlpZiAobGFzdCkKKwkJCQkJCQkJbGFzdC0+cHJldiA9IGN1cnJlbnQ7 CisKKwkJCQkJCQlsYXN0ID0gY3VycmVudDsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCS8qIFNv bWUgc3ZhcnMgd2FzIHJlbW92ZWQgLSBzZXQgaGFzaHRhYiBlbnRyeSBvciByZW1vdmUgaXQgKi8K KwkJCQkJaWYgKCFmaXJzdCkKKwkJCQkJeworCQkJCQkJLyogd2UgaGF2ZSB0byByZW1vdmUgZW50 cnkgZnJvbSBoYXNoIHRhYmxlICovCisJCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZh cnMsCisJCQkJCQkJCQkJICAgTmFtZVN0cihzdmFyLT52YXJuYW1lKSwKKwkJCQkJCQkJCQkgICBI QVNIX1JFTU9WRSwKKwkJCQkJCQkJCQkgICBOVUxMKTsKKwkJCQkJfQorCQkJCQllbHNlIGlmIChm aXJzdC0+c3RhY2tlZCkKKwkJCQkJeworCQkJCQkJbWVtY3B5KHN2YXIsIGZpcnN0LCBzaXplb2Yo U1ZhcmlhYmxlRGF0YSkpOworCQkJCQkJc3Zhci0+c3RhY2tlZCA9IGZhbHNlOworCQkJCQkJcGZy ZWUoZmlyc3QpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCVNWYXJpYWJs ZSBpdGVyYXRvciA9IHN2YXI7CisKKwkJCQkJLyogdHJhbnNmZXIgcmVzcG9uc2liaWxpdHkgdG8g cGFyZW50ICovCisJCQkJCXdoaWxlIChpdGVyYXRvcikKKwkJCQkJeworCQkJCQkJaWYgKGl0ZXJh dG9yLT5kcm9wcGVkX3N1YmlkID09IG15U3ViaWQpCisJCQkJCQkJaXRlcmF0b3ItPmRyb3BwZWRf c3ViaWQgPSBwYXJlbnRTdWJpZDsKKwkJCQkJCWlmIChpdGVyYXRvci0+Y3JlYXRlZF9zdWJpZCA9 PSBteVN1YmlkKQorCQkJCQkJCWl0ZXJhdG9yLT5jcmVhdGVkX3N1YmlkID0gcGFyZW50U3ViaWQ7 CisKKwkJCQkJCWl0ZXJhdG9yID0gaXRlcmF0b3ItPnByZXY7CisJCQkJCX0KKwkJCQl9CisJCQl9 CisJCX0KKwl9Cit9CisKIC8qCiAgKiBBc3NpZ24gdGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGVk IGV4cHJlc3Npb24gdG8gdGhlIHNlc3Npb24gdmFyaWFibGUKICAqLwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IDEyMThjNTY2NzY3Li40NWNjYmUyZjA0NiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtNDAsNSArNDAsOCBAQCBl eHRlcm4gdm9pZCBFeGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIExldFN0bXQgKnN0 bXQsIFBhcmFtTGlzdEluZm8gcGFyYQogZXh0ZXJuIHZvaWQgUmVzZXRTZXNzaW9uVmFyaWFibGVz KHZvaWQpOwogCiBleHRlcm4gdm9pZCBBdFByZUVPWGFjdF9TZXNzaW9uVmFyaWFibGVzKGJvb2wg aXNDb21taXQpOworZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfU2Vzc2lvblZhcmlhYmxlcyhib29s IGlzQ29tbWl0LAorCQkJCQkJCQkJCSBTdWJUcmFuc2FjdGlvbklkIG15U3ViaWQsCisJCQkJCQkJ CQkJIFN1YlRyYW5zYWN0aW9uSWQgcGFyZW50U3ViaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAppbmRleCAy ZDAwNDcxZGE5Ni4uOTAzMWI1YzM4NGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKQEAgLTEwNyw0ICsxMDcsMjUgQEAgU0VM RUNUIFZBUklBQkxFKHgpOwogIEhpCiAoMSByb3cpCiAKK0JFR0lOOworU0FWRVBPSU5UIHMxOwor RFJPUCBWQVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworRFJP UCBWQVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHgg PSAnSGVsbG8nOworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0tLQorIEhlbGxv CisoMSByb3cpCisKK1JPTExCQUNLIFRPIHMxOworU0VMRUNUIFZBUklBQkxFKHgpOworIHggIAor LS0tLQorIEhpCisoMSByb3cpCisKK0NPTU1JVDsKIERST1AgVkFSSUFCTEUgeDsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDczMzVmMTVl ZDM5Li41ZWM0MTJhZDdjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lv bl92YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3Zh cmlhYmxlc19kZGwuc3FsCkBAIC05OCw0ICs5OCwxNiBAQCBTRUxFQ1QgVkFSSUFCTEUoeCk7CiBS T0xMQkFDSzsKIFNFTEVDVCBWQVJJQUJMRSh4KTsKIAorQkVHSU47CitTQVZFUE9JTlQgczE7CitE Uk9QIFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9 ICdIZWxsbyc7CitTRUxFQ1QgVkFSSUFCTEUoeCk7CitST0xMQkFDSyBUTyBzMTsKK1NFTEVDVCBW QVJJQUJMRSh4KTsKK0NPTU1JVDsKKwogRFJPUCBWQVJJQUJMRSB4OwotLSAKMi41My4wCgo= --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0007-DISCARD-TEMP.patch" Content-Disposition: attachment; filename="v20260306-0007-DISCARD-TEMP.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo737m4 RnJvbSA4NzIxZjgzZWMyNTQ2MTZhZjNkY2E4MzM2MDk0ZWNjMjM2YmYyYjk1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDIwOjA0OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNy8xMV0gRElTQ0FSRCBURU1QCgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5z Z21sICAgICAgICAgICAgICAgICB8ICAzICsrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvZGlzY2Fy ZC5jICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmMgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9j b21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArKwogLi4uL2V4cGVjdGVkL3Nl c3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDcgKysrKysrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgMTAgKysrKysrKysrKwogNiBmaWxl cyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9kaXNjYXJkLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQu c2dtbAppbmRleCBiZjQ0YzUyM2NhYy4uMjcwMGY3YjdjZDAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9yZWYvZGlzY2FyZC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5zZ21s CkBAIC03MCw3ICs3MCw4IEBAIERJU0NBUkQgeyBBTEwgfCBQTEFOUyB8IFNFUVVFTkNFUyB8IFRF TVBPUkFSWSB8IFRFTVAgfQogICAgIDx0ZXJtPjxsaXRlcmFsPlRFTVBPUkFSWTwvbGl0ZXJhbD4g b3IgPGxpdGVyYWw+VEVNUDwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgogICAgICA8 cGFyYT4KLSAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGN1 cnJlbnQgc2Vzc2lvbi4KKyAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGFuZCB0ZW1w b3Jhcnkgc2Vzc2lvbiB2YXJpYWJsZXMgY3JlYXRlZCBpbgorICAgICAgdGhlIGN1cnJlbnQgc2Vz c2lvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL2Rpc2NhcmQuYwppbmRleCA3YjU1MjBiOWFiZS4uZGU2ZDE4ZmNjNWUgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9kaXNjYXJkLmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9k aXNjYXJkLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvcHJlcGFyZS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL3NlcXVlbmNlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgog I2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL3BvcnRhbC5oIgogCkBAIC00 Niw2ICs0Nyw3IEBAIERpc2NhcmRDb21tYW5kKERpc2NhcmRTdG10ICpzdG10LCBib29sIGlzVG9w TGV2ZWwpCiAKIAkJY2FzZSBESVNDQVJEX1RFTVA6CiAJCQlSZXNldFRlbXBUYWJsZU5hbWVzcGFj ZSgpOworCQkJUmVzZXRTZXNzaW9uVmFyaWFibGVzKCk7CiAJCQlicmVhazsKIAogCQlkZWZhdWx0 OgpAQCAtNzUsNCArNzcsNSBAQCBEaXNjYXJkQWxsKGJvb2wgaXNUb3BMZXZlbCkKIAlSZXNldFBs YW5DYWNoZSgpOwogCVJlc2V0VGVtcFRhYmxlTmFtZXNwYWNlKCk7CiAJUmVzZXRTZXF1ZW5jZUNh Y2hlcygpOworCVJlc2V0U2Vzc2lvblZhcmlhYmxlcygpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5jCmluZGV4IGE1Y2JjN2EyZWVkLi45NmVhNmU2OTQ4ZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtNDEwLDMgKzQxMCwyMyBAQCBF eGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAKIAlQb3BBY3RpdmVTbmFwc2hvdCgp OwogfQorCisvKgorICogRmFzdCBkcm9wIG9mIHRoZSBjb21wbGV0ZSBjb250ZW50IG9mIHRoZSBz ZXNzaW9uIHZhcmlhYmxlcyBoYXNoIHRhYmxlLCBhbmQKKyAqIGNsZWFudXAgb2YgYW55IGxpc3Qg dGhhdCB3b3VsZG4ndCBiZSByZWxldmFudCBhbnltb3JlLgorICogVGhpcyBpcyB1c2VkIGJ5IHRo ZSBESVNDQVJEIFRFTVAuCisgKi8KK3ZvaWQKK1Jlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKQor eworCS8qIGRlc3Ryb3kgaGFzaCB0YWJsZSBhbmQgcmVzZXQgcmVsYXRlZCBtZW1vcnkgY29udGV4 dCAqLworCWlmIChzZXNzaW9udmFycykKKwl7CisJCWhhc2hfZGVzdHJveShzZXNzaW9udmFycyk7 CisJCXNlc3Npb252YXJzID0gTlVMTDsKKwl9CisKKwkvKiByZWxlYXNlIG1lbW9yeSBhbGxvY2F0 ZWQgYnkgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwlpZiAoU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCAh PSBOVUxMKQorCQlNZW1vcnlDb250ZXh0UmVzZXQoU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCk7Cit9 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9z cmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggYzRiNGQ5ZTY4MzIu LmNjMWFhN2NlMjNiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3Zh cmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBA IC0zNyw0ICszNyw2IEBAIGV4dGVybiB2b2lkIGdldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlw bW9kX2NvbGxpZChjaGFyICp2YXJuYW1lLAogZXh0ZXJuIHZvaWQgRXhlY3V0ZUxldFN0bXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10LCBQYXJhbUxpc3RJbmZvIHBhcmFtcywKIAkJ CQkJCSAgIFF1ZXJ5RW52aXJvbm1lbnQgKnF1ZXJ5RW52LCBRdWVyeUNvbXBsZXRpb24gKnFjKTsK IAorZXh0ZXJuIHZvaWQgUmVzZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpOworCiAjZW5kaWYKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRs Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dAppbmRleCA0NWMyZDI3YWI0NC4uYzM2ZmViZDg5NGUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKQEAgLTQxLDMgKzQxLDEw IEBAIERST1AgVkFSSUFCTEUgeDsKIFNFVCBST0xFIFRPIERFRkFVTFQ7CiBEUk9QIFJPTEUgcmVn cmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKIERST1AgUk9MRSByZWdyZXNzX3Nl c3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAyOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBp bnQ7CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJP UjogIHNlc3Npb24gdmFyaWFibGUgIngiIGFscmVhZHkgZXhpc3RzCitESVNDQVJEIFRFTVA7Cist LSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKaW5kZXggMzRmMzRkZDg5 OGYuLjdmZDczOWQ2Njc3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwKQEAgLTU0LDMgKzU0LDEzIEBAIERST1AgVkFSSUFCTEUgeDsKIFNFVCBS T0xFIFRPIERFRkFVTFQ7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMTsKIERST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAy OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworLS0gc2hvdWxkIGZhaWwKK0NS RUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworCitESVNDQVJEIFRFTVA7CisKKy0tIHNob3Vs ZCBiZSBvaworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7Ci0tIAoyLjUzLjAKCg== --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Disposition: attachment; filename="v20260306-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo73792 RnJvbSA3ODQ5OWEzNDdjZDE5NjY5ZGRiMGJiMjhlYWFhMWI1NTUxZDJmZThkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMTg6NDk6MDYgKzAxMDAKU3ViamVjdDogW1BB VENIIDA5LzExXSB1c2UgbmFtZXMgb2YgY3VycmVudGx5IHVzZWQgdGVtcCB2YXJpYWJsZXMgZm9y IHRhYgogY29tcGxldGUgb2YgRFJPUCBWQVJJQUJMRSwgTEVUIGFuZCBWQVJJQUJMRSgpCgotLS0K IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8IDM2ICsrKysr KysrKysrKysrKysrKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAg ICAgICB8IDE3ICsrKysrKysrKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAg ICAgICAgICAgIHwgIDUgKysrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dCAgICAgICAgfCAxNiArKysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwuc3FsICAgICB8ICA4ICsrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggZGY2Y2Q0OWFm MzIuLjQ0NjNjY2UzMjdhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5j CkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o IgogI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivc3Zh cmlhYmxlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAibWlzY2Fk bWluLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNsdWRlICJyZXdyaXRl L3Jld3JpdGVIYW5kbGVyLmgiCkBAIC00NDgsMyArNDQ5LDM4IEBAIFJlc2V0U2Vzc2lvblZhcmlh Ymxlcyh2b2lkKQogCWlmIChTVmFyaWFibGVNZW1vcnlDb250ZXh0ICE9IE5VTEwpCiAJCU1lbW9y eUNvbnRleHRSZXNldChTVmFyaWFibGVNZW1vcnlDb250ZXh0KTsKIH0KKworLyoKKyAqIHBnX2dl dF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMKKyAqCisgKiBSZXR1cm5zIGxpc3Qg b2YgdGVtcG9yYXJ5IHNlc3Npb24gdmFyaWFibGVzLiBJdCBpcyB1c2VkIGJ5IHBzcWwncworICog dGFiIGNvbXBsZXRlIGZvciBEUk9QIFZBUklBQkxFIGFuZCBMRVQgY29tbWFuZHMuCisgKi8KK0Rh dHVtCitwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJSW5pdE1hdGVyaWFsaXplZFNSRihmY2luZm8sIE1BVF9TUkZfVVNFX0VYUEVD VEVEX0RFU0MpOworCisJaWYgKHNlc3Npb252YXJzKQorCXsKKwkJUmV0dXJuU2V0SW5mbyAqcnNp bmZvID0gKFJldHVyblNldEluZm8gKikgZmNpbmZvLT5yZXN1bHRpbmZvOworCQlIQVNIX1NFUV9T VEFUVVMgc3RhdHVzOworCQlTVmFyaWFibGUJc3ZhcjsKKworCQloYXNoX3NlcV9pbml0KCZzdGF0 dXMsIHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3Nl cV9zZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCURhdHVtCQl2YWx1ZXNbMV07CisJ CQlib29sCQludWxsc1sxXTsKKworCQkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRleHREYXR1bSgo TmFtZVN0cihzdmFyLT52YXJuYW1lKSkpOworCQkJbnVsbHNbMF0gPSBmYWxzZTsKKworCQkJdHVw bGVzdG9yZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywKKwkJ CQkJCQkJIHZhbHVlcywgbnVsbHMpOworCQl9CisJfQorCisJcmV0dXJuIChEYXR1bSkgMDsKK30K ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYwppbmRleCA1MTNjNWQ5NDI4Zi4uN2U0NTU4ZjUyZmMgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKQEAgLTEyMDAsNiArMTIwMCwxMSBAQCBLZXl3b3Jkc19mb3JfbGlz dF9vZl9vd25lcl9yb2xlcywgIlBVQkxJQyIKICIgIEZST00gcGdfY2F0YWxvZy5wZ190aW1lem9u ZV9uYW1lcygpICJcCiAiIFdIRVJFIHBnX2NhdGFsb2cucXVvdGVfbGl0ZXJhbChwZ19jYXRhbG9n Lmxvd2VyKG5hbWUpKSBMSUtFIHBnX2NhdGFsb2cubG93ZXIoJyVzJykiCiAKKyNkZWZpbmUgUXVl cnlfZm9yX2xpc3Rfb2ZfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzIFwKKyJTRUxFQ1QgdmFy bmFtZSAiXAorIiAgIEZST00gcGdfY2F0YWxvZy5wZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFy aWFibGVzX25hbWVzKCkgQVMgdmFybmFtZSAiXAorIiAgV0hFUkUgdmFybmFtZSBMSUtFICclcyci CisKIC8qIFByaXZpbGVnZSBvcHRpb25zIHNoYXJlZCBiZXR3ZWVuIEdSQU5UIGFuZCBSRVZPS0Ug Ki8KICNkZWZpbmUgUHJpdmlsZWdlX29wdGlvbnNfb2ZfZ3JhbnRfYW5kX3Jldm9rZSBcCiAiU0VM RUNUIiwgIklOU0VSVCIsICJVUERBVEUiLCAiREVMRVRFIiwgIlRSVU5DQVRFIiwgIlJFRkVSRU5D RVMiLCAiVFJJR0dFUiIsIFwKQEAgLTQ0MzAsNiArNDQzNSwxMCBAQCBtYXRjaF9wcmV2aW91c193 b3JkcyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJEUk9QIiwgIlRSQU5TRk9S TSIsICJGT1IiLCBNYXRjaEFueSwgIkxBTkdVQUdFIiwgTWF0Y2hBbnkpKQogCQlDT01QTEVURV9X SVRIKCJDQVNDQURFIiwgIlJFU1RSSUNUIik7CiAKKwkvKiBEUk9QIFZBUklBQkxFICovCisJZWxz ZSBpZiAoTWF0Y2hlcygiRFJPUCIsICJWQVJJQUJMRSIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZ KFF1ZXJ5X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisKIC8qIEVY RUNVVEUgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJFWEVDVVRFIikpCiAJCUNPTVBMRVRFX1dJVEhf UVVFUlkoUXVlcnlfZm9yX2xpc3Rfb2ZfcHJlcGFyZWRfc3RhdGVtZW50cyk7CkBAIC00ODcwLDYg KzQ4NzksOCBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAogLyogTEVU ICovCiAJLyogQ29tcGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8KKwllbHNlIGlmIChN YXRjaGVzKCJMRVQiKSkKKwkJQ09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90 ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXMpOwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJMRVQi LCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIj0iKTsKIApAQCAtNTQzOCw2ICs1NDQ5LDEy IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQkJQ09NUExFVEVfV0lU SCgiJ3N0YW5kYnlfcmVwbGF5JyIsICInc3RhbmRieV93cml0ZSciLCAiJ3N0YW5kYnlfZmx1c2gn IiwgIidwcmltYXJ5X2ZsdXNoJyIpOwogCX0KIAorLyoKKyAqIFZBUklBQkxFIGZlbmNlCisgKi8K KwllbHNlIGlmIChUYWlsTWF0Y2hlcygiVkFSSUFCTEUiLCAiKCIpKQorCQlDT01QTEVURV9XSVRI X1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisK IC8qIFdJVEggW1JFQ1VSU0lWRV0gKi8KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRl eCAzNjFlMmNmZmZlYi4uMTE2NTQ5OTY2ZjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAt MTI4MzMsNCArMTI4MzMsOSBAQAogICBwcm9uYW1lID0+ICdoYXNob2lkOGV4dGVuZGVkJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQ4IGludDgnLCBwcm9zcmMg PT4gJ2hhc2hvaWQ4ZXh0ZW5kZWQnIH0sCiAKKyMgU2Vzc2lvbiB2YXJpYWJsZXMgc3VwcG9ydAor eyBvaWQgPT4gJzgwNjgnLCBkZXNjciA9PiAncmV0dXJucyBuYW1lcyBvZiB0ZW1wb3Jhcnkgc2Vz c2lvbiB2YXJpYWJsZXMnLAorICBwcm9uYW1lID0+ICdwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25f dmFyaWFibGVzX25hbWVzJywgcHJvcm93cyA9PiAnMTAwMCcsIHByb3JldHNldCA9PiAndCcsCisg IHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICd0 ZXh0JywgcHJvYXJndHlwZXMgPT4gJycsCisgIHByb3NyYyA9PiAncGdfZ2V0X3RlbXBvcmFyeV9z ZXNzaW9uX3ZhcmlhYmxlc19uYW1lcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAppbmRleCA5ZjViMDg4ZGU3Mi4uNzU4 Y2U1ODJmY2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5vdXQKQEAgLTU0LDMgKzU0LDE5IEBAIE5PVElDRTogIHNlc3Npb24gdmFy aWFibGUgIngiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZwogRFJPUCBWQVJJQUJMRSB4OwogRFJP UCBWQVJJQUJMRSBJRiBFWElTVFMgeDsKIE5PVElDRTogIHNlc3Npb24gdmFyaWFibGUgIngiIGRv ZXMgbm90IGV4aXN0cywgc2tpcHBpbmcKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50Owor Q1JFQVRFIFRFTVAgVkFSSUFCTEUgeSBBUyBpbnQ7CitTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1w b3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKTsKKyBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Np b25fdmFyaWFibGVzX25hbWVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgeQorIHgKKygyIHJvd3MpCisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFC TEUgeTsKK1NFTEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19u YW1lcygpOworIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDYwZjc4 NjcxZTNiLi5jNGNiZmQxNzE2OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCkBAIC03MCwzICs3MCwxMSBAQCBDUkVBVEUgVEVNUCBWQVJJQUJM RSBJRiBOT1QgRVhJU1RTIHggQVMgaW50OwogCiBEUk9QIFZBUklBQkxFIHg7CiBEUk9QIFZBUklB QkxFIElGIEVYSVNUUyB4OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKK0NSRUFU RSBURU1QIFZBUklBQkxFIHkgQVMgaW50OworU0VMRUNUICogRlJPTSBwZ19nZXRfdGVtcG9yYXJ5 X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKCk7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFS SUFCTEUgeTsKK1NFTEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxl c19uYW1lcygpOwotLSAKMi41My4wCgo= --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Disposition: attachment; filename="v20260306-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo737f3 RnJvbSBlMmQ0ODViY2U5MGM1ZjY2YWQwMWYzZjZjYTIwMjI2YjBmYmZmYWVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMDY6MTc6NTQgKzAxMDAKU3ViamVjdDogW1BB VENIIDA4LzExXSBzdXBwb3J0IENSRUFURSBJRiBOT1QgRVhJU1RTIGFuZCBEUk9QIElGIEVYSVNU UwoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sICAgICAgICAgfCAx MiArKysrLQogZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwgICAgICAgICAgIHwg MTIgKysrKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8 IDQ2ICsrKysrKysrKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAg ICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwub3V0ICAgICAgICB8ICA2ICsrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwgICAgIHwgIDYgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25z KCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApp bmRleCAxMzE1YjEyNDhjNy4uZGVmMzY4ZmMyMzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFy aWFibGUuc2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAog IDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkg fSBWQVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBs YWNlYWJsZT4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSBbIElGIE5PVCBF WElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNl YWJsZT4KIDwvc3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KICA8cmVmc2VjdDE+CkBAIC02 OSw2ICs2OSwxNiBAQCBDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFCTEUgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhYwogCiAgIDx2YXJpYWJsZWxpc3Q+ CiAKKyAgIDx2YXJsaXN0ZW50cnkgIGlkPSJzcWwtY3JlYXRldmFyaWFibGUtaWYtbm90LWV4aXN0 cyI+CisgICAgPHRlcm0+PGxpdGVyYWw+SUYgTk9UIEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBp ZiB0aGUgbmFtZSBhbHJlYWR5IGV4aXN0cy4gQSBub3RpY2UgaXMgaXNzdWVkIGluCisgICAgICB0 aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisKICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV2YXJpYWJsZS1uYW1lIj4KICAg ICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZHJv cF92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKaW5k ZXggZGVkZTQyZTRmZmIuLjVkZTZhNzM3NDkzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2Ryb3BfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUu c2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogIDxyZWZz eW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLURST1AgVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgorRFJPUCBWQVJJQUJMRSBbIElGIEVYSVNU UyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KIDwv c3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtNDIsNiArNDIsMTYgQEAgRFJPUCBW QVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ CiAgPHJlZnNlY3QxPgogICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CiAgIDx2YXJpYWJsZWxp c3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPklGIEVYSVNUUzwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0 aHJvdyBhbiBlcnJvciBpZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBkb2VzIG5vdCBleGlzdC4gQSBu b3RpY2UgaXMKKyAgICAgIGlzc3VlZCBpbiB0aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8 L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnk+CiAgICAg PHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmMKaW5kZXggOTZlYTZlNjk0OGYuLmRmNmNkNDlhZjMyIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5jCkBAIC05Miw3ICs5Miw3IEBAIGNyZWF0ZV9zZXNzaW9udmFyc19o YXNodGFibGVzKHZvaWQpCiAgKiBSZXR1cm5zIGVudHJ5IG9mIHNlc3Npb24gdmFyaWFibGUgc3Bl Y2lmaWVkIGJ5IG5hbWUKICAqLwogc3RhdGljIFNWYXJpYWJsZQotc2VhcmNoX3ZhcmlhYmxlKGNo YXIgKnZhcm5hbWUpCitzZWFyY2hfdmFyaWFibGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5n X29rKQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBAIC0xMDIsNyArMTAyLDcgQEAgc2VhcmNoX3Zh cmlhYmxlKGNoYXIgKnZhcm5hbWUpCiAJc3ZhciA9IChTVmFyaWFibGUpIGhhc2hfc2VhcmNoKHNl c3Npb252YXJzLCB2YXJuYW1lLAogCQkJCQkJCQkgICBIQVNIX0ZJTkQsIE5VTEwpOwogCi0JaWYg KCFzdmFyKQorCWlmICghc3ZhciAmJiAhbWlzc2luZ19vaykKIAkJZXJlcG9ydChFUlJPUiwKIAkJ CQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAogCQkJCSBlcnJtc2coInNlc3Np b24gdmFyaWFibGUgXCIlc1wiIGRvZXNuJ3QgZXhpc3QiLApAQCAtMTI0LDcgKzEyNCw3IEBAIGdl dF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2NvbGxpZChjaGFyICp2YXJuYW1lLAogewog CVNWYXJpYWJsZQlzdmFyOwogCi0Jc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKwlz dmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUsIGZhbHNlKTsKIAogCS8qIG9ubHkgb3duZXIg Y2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJKnR5cGlkID0gc3Zhci0+dmFydHlwZTsK QEAgLTE0NCw3ICsxNDQsNyBAQCBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIg KnZhcm5hbWUsCiAJU1ZhcmlhYmxlCXN2YXI7CiAJRGF0dW0JCXJlc3VsdDsKIAotCXN2YXIgPSBz ZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1l LCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBpZCB8fCBzdmFyLT52YXJ0eXBt b2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMTgxLDcgKzE4MSw3IEBAIFNldFNl c3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwKIHsKIAlTVmFyaWFibGUJ c3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJj aF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBp ZCB8fCBzdmFyLT52YXJ0eXBtb2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMjc3 LDEwICsyNzcsMjEgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVT ZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAogCWlm IChmb3VuZCkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9PQkpFQ1QpLAotCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkg ZXhpc3RzIiwKLQkJCQkJCXN0bXQtPm5hbWUpKSk7CisJeworCQlpZiAoc3RtdC0+aWZfbm90X2V4 aXN0cykKKwkJeworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQ TElDQVRFX09CSkVDVCksCisJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFs cmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJCXJldHVy bjsKKwkJfQorCQllbHNlCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIFwiJXNc IiBhbHJlYWR5IGV4aXN0cyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwl9CiAKIAluYW1lc3Ry Y3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKIAlzdmFyLT52YXJ0eXBlID0gdHlwZWlk OwpAQCAtMjk4LDcgKzMwOSw3IEBAIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg Q3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKICAq Lwogdm9pZAotRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCitEcm9wVmFyaWFibGVC eU5hbWUoRHJvcFNlc3Npb25WYXJTdG10ICpzdG10KQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBA IC0zMTAsMjAgKzMyMSwyNyBAQCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSkKIAlQ cmV2ZW50Q29tbWFuZElmUGFyYWxsZWxNb2RlKCJEUk9QIFZBUklBQkxFIik7CiAJUHJldmVudENv bW1hbmREdXJpbmdSZWNvdmVyeSgiRFJPUCBWQVJJQUJMRSIpOwogCi0Jc3ZhciA9IHNlYXJjaF92 YXJpYWJsZSh2YXJuYW1lKTsKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHN0bXQtPm5hbWUsIHN0 bXQtPm1pc3Npbmdfb2spOworCWlmICghc3ZhcikKKwl7CisJCWVyZXBvcnQoTk9USUNFLAorCQkJ CShlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRvZXMgbm90IGV4aXN0cywgc2tpcHBp bmciLAorCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJcmV0dXJuOworCX0KIAogCS8qIG9ubHkgb3du ZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJaWYgKHN2YXItPnZhcm93bmVyICE9 IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQkoZXJy Y29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAogCQkJCSBlcnJtc2coIm11c3Qg YmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSAlcyIsCi0JCQkJCQl2YXJuYW1lKSkpOworCQkJ CQkJc3RtdC0+bmFtZSkpKTsKIAogCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlzbnVs bCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7CiAKIAlpZiAoaGFzaF9z ZWFyY2goc2Vzc2lvbnZhcnMsCi0JCQkJCSAgIHZhcm5hbWUsCisJCQkJCSAgIHN0bXQtPm5hbWUs CiAJCQkJCSAgIEhBU0hfUkVNT1ZFLAogCQkJCQkgICBOVUxMKSA9PSBOVUxMKQogCQllbG9nKEVS Uk9SLCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKQEAgLTM0Nyw3ICszNjUsNyBAQCBFeGVjdXRl TGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJY2hhcgkgICAqdmFybmFtZSA9IHF1ZXJ5LT5y ZXN1bHRWYXJpYWJsZTsKIAlTVmFyaWFibGUJc3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFi bGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAK IAkvKiBvbmx5IG93bmVyIGNhbiBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLwogCWlmIChzdmFy LT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkpCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRl eCAzY2ZhMzYyZTAzYi4uYTM4NTg3MGNiOGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNTM5Nyw3ICs1Mzk3 LDcgQEAgY3JlYXRlX2V4dGVuc2lvbl9vcHRfaXRlbToKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog ICoKICAqCQlRVUVSWSA6Ci0gKgkJCQlDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFC TEUgdmFybmFtZSBbQVNdIHR5cGUKKyAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBW QVJJQUJMRSBbSUYgTk9UIEVYSVNUUyBdIHZhcm5hbWUgW0FTXSB0eXBlCiAgKgogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCkBAIC01NDE0LDE0ICs1NDE0LDMxIEBAIENyZWF0ZVNlc3Npb25WYXJT dG10OgogCiAJCQkJCW4tPm5hbWUgPSAkNDsKIAkJCQkJbi0+dHlwZU5hbWUgPSAkNjsKKwkJCQkJ bi0+aWZfbm90X2V4aXN0cyA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQor CQkgIHwgQ1JFQVRFIE9wdFRlbXAgVkFSSUFCTEUgSUZfUCBOT1QgRVhJU1RTIENvbElkIG9wdF9h cyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRlU2Vzc2lvblZhclN0bXQgKm4gPSBtYWtlTm9k ZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJCQkJaWYgKCQyICE9IFJFTFBFUlNJU1RFTkNF X1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNnKCJvbmx5IHRlbXBvcmFsIHNlc3Np b24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwKKwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9u KEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNzsKKwkJCQkJbi0+dHlwZU5hbWUgPSAkOTsKKwkJ CQkJbi0+aWZfbm90X2V4aXN0cyA9IHRydWU7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9 CisKIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAgKgkJUVVFUlkgOgotICoJCQkJ RFJPUCBWQVJJQUJMRSB2YXJuYW1lCisgKgkJCQlEUk9QIFZBUklBQkxFIFsgSUYgRVhJU1RTIF0g dmFybmFtZQogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtNTQzMSw4ICs1NDQ4LDE4 IEBAIERyb3BTZXNzaW9uVmFyU3RtdDoKIAkJCQkJRHJvcFNlc3Npb25WYXJTdG10ICpuID0gbWFr ZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKIAogCQkJCQluLT5uYW1lID0gJDM7CisJCQkJCW4t Pm1pc3Npbmdfb2sgPSBmYWxzZTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwg RFJPUCBWQVJJQUJMRSBJRl9QIEVYSVNUUyBDb2xJZAorCQkJCXsKKwkJCQkJRHJvcFNlc3Npb25W YXJTdG10ICpuID0gbWFrZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKKworCQkJCQluLT5uYW1l ID0gJDU7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSB0cnVlOwogCQkJCQkkJCA9IChOb2RlICopIG47 CiAJCQkJfQorCiAJCTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4 IDQ4NWY3MjQwODIxLi42NDJlNWRjMjcxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTEwNzMsNyArMTA3 Myw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAogCQlj YXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgogCQkJLyogTm8gZXZlbnQgdHJpZ2dlcnMgZm9yIGNh dGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlcyAqLwotCQkJRHJvcFZhcmlhYmxlQnlOYW1lKCgo RHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSktPm5hbWUpOworCQkJRHJvcFZhcmlhYmxl QnlOYW1lKChEcm9wU2Vzc2lvblZhclN0bXQgKikgcGFyc2V0cmVlKTsKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVF9MZXRTdG10OgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IGNjMWFhN2NlMjNiLi4zZjA3YWU1NWFhYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgInRjb3AvY21kdGFnLmgi CiAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRl U2Vzc2lvblZhclN0bXQgKnN0bXQpOwotZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNo YXIgKnZhcm5hbWUpOworZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9u VmFyU3RtdCAqc3RtdCk7CiAKIGV4dGVybiBEYXR1bSBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlw ZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLCBib29sICppc251 bGwpOwogZXh0ZXJuIHZvaWQgU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2 YXJuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3Jj L2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGY1YjY1ZjdkMGU5Li45NDcwNDJmZWY2 MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzYyMyw2ICszNjIzLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgQ3JlYXRlU2Vzc2lvblZhclN0bXQKIAlOb2RlVGFnCQl0eXBlOwogCWNoYXIJICAgKm5h bWU7CQkvKiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlICovCiAJVHlwZU5hbWUgICAqdHlwZU5hbWU7 CQkvKiB0aGUgdHlwZSBvZiB2YXJpYWJsZSAqLworCWJvb2wJCWlmX25vdF9leGlzdHM7CS8qIGp1 c3QgZG8gbm90aGluZyBpZiB2YXJpYWJsZSBhbHJlYWR5IGV4aXN0cz8gKi8KIH0gQ3JlYXRlU2Vz c2lvblZhclN0bXQ7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM2MzIsNyArMzYz Myw4IEBAIHR5cGVkZWYgc3RydWN0IENyZWF0ZVNlc3Npb25WYXJTdG10CiB0eXBlZGVmIHN0cnVj dCBEcm9wU2Vzc2lvblZhclN0bXQKIHsKIAlOb2RlVGFnCQl0eXBlOwotCWNoYXIJICAgKm5hbWU7 CisJY2hhcgkgICAqbmFtZTsJCQkvKiB0aGUgdmFyaWFibGUgbmFtZSB0byBkcm9wICovCisJYm9v bAkJbWlzc2luZ19vazsJCS8qIHNraXAgZXJyb3Igb2YgdmFyaWFibGUgaXMgbWlzc2luZyAqLwog fSBEcm9wU2Vzc2lvblZhclN0bXQ7CiAKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CmluZGV4IGMzNmZlYmQ4OTRlLi45ZjViMDg4 ZGU3MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kZGwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJp YWJsZXNfZGRsLm91dApAQCAtNDgsMyArNDgsOSBAQCBFUlJPUjogIHNlc3Npb24gdmFyaWFibGUg IngiIGFscmVhZHkgZXhpc3RzCiBESVNDQVJEIFRFTVA7CiAtLSBzaG91bGQgYmUgb2sKIENSRUFU RSBURU1QIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBW QVJJQUJMRSBJRiBOT1QgRVhJU1RTIHggQVMgaW50OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJs ZSAieCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nCitEUk9QIFZBUklBQkxFIHg7CitEUk9QIFZB UklBQkxFIElGIEVYSVNUUyB4OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgZG9lcyBu b3QgZXhpc3RzLCBza2lwcGluZwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwKaW5kZXggN2ZkNzM5ZDY2NzcuLjYwZjc4NjcxZTNiIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTY0LDMgKzY0 LDkgQEAgRElTQ0FSRCBURU1QOwogCiAtLSBzaG91bGQgYmUgb2sKIENSRUFURSBURU1QIFZBUklB QkxFIHggQVMgaW50OworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIElG IE5PVCBFWElTVFMgeCBBUyBpbnQ7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFCTEUg SUYgRVhJU1RTIHg7Ci0tIAoyLjUzLjAKCg== --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0005-svariableReceiver.patch" Content-Disposition: attachment; filename="v20260306-0005-svariableReceiver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo737x6 RnJvbSBiZjg0MWMwY2NlMDY0ODg0NWYzMTMwZTIyNzM5MWEyYmU0MGFkYTBiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IFN1biwgMSBKdW4gMjAyNSAyMToyMDoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUv MTFdIHN2YXJpYWJsZVJlY2VpdmVyCgphbGxvd3MgdG8gc3RvcmUgcmVzdWx0IG9mIHRoZSBxdWVy eSB0byBzZXNzaW9uIHZhcmlhYmxlCgpDaGVjayBjb3JyZWN0IGZvcm1hdCBvZiByZXN1bHQgLSBv bmUgY29sdW1uLCBvbmUgcm93LgotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYyAgfCAgNTAgKysrKysrKysKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlICAg ICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVpbGQgICAgICAg ICB8ICAgMSArCiBzcmMvYmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jIHwgMTM5 ICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC90Y29wL2Rlc3QuYyAgICAgICAg ICAgICAgICAgIHwgICA3ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmggIHwgICAzICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmggfCAg MjIgKysrKwogc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmggICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgIHwgICAxICsKIDkgZmls ZXMgY2hhbmdlZCwgMjI1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFj a2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaAoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3Nlc3Npb25fdmFyaWFibGUuYwppbmRleCBmOGVhODUyNmUxZC4uZGViNWQ3ZTgwZjkgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTE2Niw2ICsxNjYsNTYgQEAg R2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2YXJuYW1lLAogCXJldHVybiBy ZXN1bHQ7CiB9CiAKKy8qCisgKiBTdG9yZSB0aGUgZ2l2ZW4gdmFsdWUgaW4gYSBzZXNzaW9uIHZh cmlhYmxlIGluIHRoZSBjYWNoZS4KKyAqLwordm9pZAorU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5 cGVjaGVjayhjaGFyICp2YXJuYW1lLAorCQkJCQkJCQlPaWQgdHlwaWQsIGludDMyIHR5cG1vZCwK KwkJCQkJCQkJRGF0dW0gdmFsdWUsIGJvb2wgaXNudWxsKQoreworCVNWYXJpYWJsZQlzdmFyOwor CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBl ICE9IHR5cGlkIHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1Is CisJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygi c2Vzc2lvbiB2YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJ CQkJCXZhcm5hbWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1v ZCksCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+ dmFydHlwbW9kKSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlh YmxlICovCisJaWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIo KSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9Q UklWSUxFR0UpLAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZh cmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPnR5cGJ5dmFsKQor CXsKKwkJaWYgKCFpc251bGwpCisJCXsKKwkJCU1lbW9yeUNvbnRleHQgb2xkY3h0OworCisJCQkv KgorCQkJICogRG8gY29weSBvZiB2YWx1ZSBpbiBzZXNzaW9uIHZhcmlhYmxlcyBjb250ZXh0LiBU aGlzIG9wZXJhdGlvbgorCQkJICogY2FuIGZhaWwsIHNvIGRvIGl0IGJlZm9yZSByZWxlYXNpbmcg dGhlIG9sZCBjb250ZW50LgorCQkJICovCisJCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNo VG8oU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCk7CisJCQl2YWx1ZSA9IGRhdHVtQ29weSh2YWx1ZSwg c3Zhci0+dHlwYnl2YWwsIHN2YXItPnR5cGxlbik7CisJCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8o b2xkY3h0KTsKKwkJfQorCisJCWlmICghc3Zhci0+aXNudWxsKQorCQkJcGZyZWUoRGF0dW1HZXRQ b2ludGVyKHN2YXItPnZhbHVlKSk7CisJfQorCisJc3Zhci0+dmFsdWUgPSB2YWx1ZTsKKwlzdmFy LT5pc251bGwgPSBpc251bGw7Cit9CisKIC8qCiAgKiBDcmVhdGVzIGEgbmV3IHZhcmlhYmxlIC0g ZG9lcyBuZXcgZW50cnkgaW4gc2Vzc2lvbnZhcnMKICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlCmluZGV4 IDExMTE4ZDBjZTAyLi43MTI0OGEzNGYyNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvTWFrZWZpbGUKQEAgLTc2LDYg Kzc2LDcgQEAgT0JKUyA9IFwKIAlub2RlV2luZG93QWdnLm8gXAogCW5vZGVXb3JrdGFibGVzY2Fu Lm8gXAogCXNwaS5vIFwKKwlzdmFyaWFibGVSZWNlaXZlci5vIFwKIAl0cXVldWUubyBcCiAJdHN0 b3JlUmVjZWl2ZXIubwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5i dWlsZCBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkCmluZGV4IGRjNDViZTBiMmNl Li5hNTcyYjZkYWI3YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVp bGQKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVpbGQKQEAgLTY0LDYgKzY0LDcg QEAgYmFja2VuZF9zb3VyY2VzICs9IGZpbGVzKAogICAnbm9kZVdpbmRvd0FnZy5jJywKICAgJ25v ZGVXb3JrdGFibGVzY2FuLmMnLAogICAnc3BpLmMnLAorICAnc3ZhcmlhYmxlUmVjZWl2ZXIuYycs CiAgICd0cXVldWUuYycsCiAgICd0c3RvcmVSZWNlaXZlci5jJywKICkKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmMgYi9zcmMvYmFja2VuZC9leGVj dXRvci9zdmFyaWFibGVSZWNlaXZlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5mOGZiYjdhOGU3MQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmMKQEAgLTAsMCArMSwxMzkgQEAKKy8qLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICoKKyAqIHN2YXJpYWJsZVJlY2VpdmVyLmMKKyAqCSAgQW4gaW1wbGVtZW50YXRpb24g b2YgRGVzdFJlY2VpdmVyIHRoYXQgc3RvcmVzIHRoZSByZXN1bHQgdmFsdWUgaW4KKyAqCSAgYSBz ZXNzaW9uIHZhcmlhYmxlLgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDI0 LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJp Z2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVS ZWNlaXZlci5jCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3Rn cmVzLmgiCisKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJl Y2VpdmVyLmgiCisKKy8qCisgKiBUaGlzIERlc3RSZWNlaXZlciBpcyB1c2VkIGJ5IHRoZSBMRVQg Y29tbWFuZCBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IHRvIGEKKyAqIHNlc3Npb24gdmFyaWFibGUu ICBUaGUgcmVzdWx0IGhhcyB0byBoYXZlIG9ubHkgb25lIHR1cGxlIHdpdGggb25seSBvbmUKKyAq IG5vbi1kZWxldGVkIGF0dHJpYnV0ZS4gIFRoZSByb3cgY291bnRlciAoZmllbGQgInJvd3MiKSBp cyBpbmNyZW1lbnRlZAorICogYWZ0ZXIgcmVjZWl2aW5nIGEgcm93LCBhbmQgYW4gZXJyb3IgaXMg cmFpc2VkIHdoZW4gdGhlcmUgYXJlIG5vIHJvd3Mgb3IKKyAqIHRoZXJlIGFyZSBtb3JlIHRoYW4g b25lIHJlY2VpdmVkIHJvd3MuICBBIHJlY2VpdmVkIHR1cGxlIGNhbm5vdCB0byBoYXZlCisgKiBk ZWxldGVkIGF0dHJpYnV0ZXMuCisgKgorICogVGhlIGFzc2lnbm1lbnQgdG8gc2Vzc2lvbiB2YXJp YWJsZSBoYXZlIHRvIGJlIHBvc3Rwb25lZCB1bnRpbCB3ZSBhcmUKKyAqIHN1cmUgc28gb25seSBv bmUgcm93IHdhcyByZWNlaXZlZC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlEZXN0UmVjZWl2 ZXIgcHViOworCWNoYXIJICAgKnZhcm5hbWU7CisJaW50CQkJcm93czsJCQkvKiByb3cgY291bnRl ciAqLworCVR1cGxlRGVzYwl0dXBkZXNjOworCUhlYXBUdXBsZQl0dXBsZTsKKwlNZW1vcnlDb250 ZXh0IHR1cGxlX2N4dDsJLyogaG9sZHMgYSB2YWx1ZSBiZWZvcmUgc3RvcmluZyB0byB2YXJpYWJs ZSAqLworfSBTVmFyaWFibGVTdGF0ZTsKKworLyoKKyAqIFByZXBhcmUgdG8gcmVjZWl2ZSB0dXBs ZXMgZnJvbSBleGVjdXRvci4KKyAqLworc3RhdGljIHZvaWQKK3N2YXJpYWJsZVN0YXJ0dXBSZWNl aXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYsIGludCBvcGVyYXRpb24sIFR1cGxlRGVzYyB0eXBlaW5m bykKK3sKKwlTVmFyaWFibGVTdGF0ZSAqbXlTdGF0ZSA9IChTVmFyaWFibGVTdGF0ZSAqKSBzZWxm OworCisJQXNzZXJ0KG15U3RhdGUtPnB1Yi5teWRlc3QgPT0gRGVzdFZhcmlhYmxlKTsKKwlBc3Nl cnQodHlwZWluZm8tPm5hdHRzID09IDEpOworCisJbXlTdGF0ZS0+cm93cyA9IDA7CisJbXlTdGF0 ZS0+dHVwZGVzYyA9IHR5cGVpbmZvOworCW15U3RhdGUtPnR1cGxlID0gTlVMTDsKKwlteVN0YXRl LT50dXBsZV9jeHQgPSBDdXJyZW50TWVtb3J5Q29udGV4dDsKK30KKworLyoKKyAqIFJlY2VpdmUg YSB0dXBsZSBmcm9tIHRoZSBleGVjdXRvciBhbmQgc3RvcmUgaXQgaW4gdGhlIGJ1ZmZlcgorICov CitzdGF0aWMgYm9vbAorc3ZhcmlhYmxlUmVjZWl2ZVNsb3QoVHVwbGVUYWJsZVNsb3QgKnNsb3Qs IERlc3RSZWNlaXZlciAqc2VsZikKK3sKKwlTVmFyaWFibGVTdGF0ZSAqbXlTdGF0ZSA9IChTVmFy aWFibGVTdGF0ZSAqKSBzZWxmOworCU1lbW9yeUNvbnRleHQgb2xkY3h0OworCisJaWYgKCsrbXlT dGF0ZS0+cm93cyA+IDEpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9U T09fTUFOWV9ST1dTKSwKKwkJCQkgZXJybXNnKCJleHByZXNzaW9uIHJldHVybmVkIG1vcmUgdGhh biBvbmUgcm93IikpKTsKKworCS8qCisJICogV2UgY2Fubm90IHRvIGFzc2lnbiByZWNlaXZlZCB2 YWx1ZSBkaXJlY3RseSwgc28gd2Ugc2hvdWxkIHRvCisJICogc2F2ZSByZWNlaXZlZCB2YWx1ZSBp biB0aGUgYnVmZmVyLgorCSAqLworCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhteVN0 YXRlLT50dXBsZV9jeHQpOworCW15U3RhdGUtPnR1cGxlID0gRXhlY0NvcHlTbG90SGVhcFR1cGxl KHNsb3QpOworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQpOworCisJcmV0dXJuIHRydWU7 Cit9CisKKy8qCisgKiBDbGVhbiB1cCBhdCBlbmQgb2YgdGhlIGV4ZWN1dG9yIHJ1bgorICovCitz dGF0aWMgdm9pZAorc3ZhcmlhYmxlU2h1dGRvd25SZWNlaXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYp Cit7CisJU1ZhcmlhYmxlU3RhdGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsK KwlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyOworCURhdHVtCQl2YWx1ZTsKKwlib29sCQlpc251bGw7 CisKKwlpZiAobXlTdGF0ZS0+cm93cyA9PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJj b2RlKEVSUkNPREVfTk9fREFUQV9GT1VORCksCisJCQkJIGVycm1zZygiZXhwcmVzc2lvbiByZXR1 cm5lZCBubyByb3dzIikpKTsKKworCWF0dHIgPSBUdXBsZURlc2NBdHRyKG15U3RhdGUtPnR1cGRl c2MsIDApOworCUFzc2VydCghYXR0ci0+YXR0aXNkcm9wcGVkKTsKKworCXZhbHVlID0gaGVhcF9n ZXRhdHRyKG15U3RhdGUtPnR1cGxlLCAxLCBteVN0YXRlLT50dXBkZXNjLCAmaXNudWxsKTsKKwor CVNldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2sobXlTdGF0ZS0+dmFybmFtZSwKKwkJCQkJ CQkJCWF0dHItPmF0dHR5cGlkLCBhdHRyLT5hdHR0eXBtb2QsCisJCQkJCQkJCQl2YWx1ZSwgaXNu dWxsKTsKKworCWhlYXBfZnJlZXR1cGxlKG15U3RhdGUtPnR1cGxlKTsKK30KKworLyoKKyAqIERl c3Ryb3kgdGhlIHJlY2VpdmVyIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCBpdAorICovCitzdGF0aWMg dm9pZAorc3ZhcmlhYmxlRGVzdHJveVJlY2VpdmVyKERlc3RSZWNlaXZlciAqc2VsZikKK3sKKwlw ZnJlZShzZWxmKTsKK30KKworLyoKKyAqIEluaXRpYWxseSBjcmVhdGUgYSBEZXN0UmVjZWl2ZXIg b2JqZWN0LgorICovCitEZXN0UmVjZWl2ZXIgKgorQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIo Y2hhciAqdmFybmFtZSkKK3sKKwlTVmFyaWFibGVTdGF0ZSAqc2VsZiA9IChTVmFyaWFibGVTdGF0 ZSAqKSBwYWxsb2MwKHNpemVvZihTVmFyaWFibGVTdGF0ZSkpOworCisJc2VsZi0+cHViLnJlY2Vp dmVTbG90ID0gc3ZhcmlhYmxlUmVjZWl2ZVNsb3Q7CisJc2VsZi0+cHViLnJTdGFydHVwID0gc3Zh cmlhYmxlU3RhcnR1cFJlY2VpdmVyOworCXNlbGYtPnB1Yi5yU2h1dGRvd24gPSBzdmFyaWFibGVT aHV0ZG93blJlY2VpdmVyOworCXNlbGYtPnB1Yi5yRGVzdHJveSA9IHN2YXJpYWJsZURlc3Ryb3lS ZWNlaXZlcjsKKwlzZWxmLT5wdWIubXlkZXN0ID0gRGVzdFZhcmlhYmxlOworCisJc2VsZi0+dmFy bmFtZSA9IHZhcm5hbWU7CisKKwlyZXR1cm4gKERlc3RSZWNlaXZlciAqKSBzZWxmOworfQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgYi9zcmMvYmFja2VuZC90Y29wL2Rlc3Qu YwppbmRleCBmYjE2MzkzMGM4OS4uMTNmZTUzNmI0MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3Rjb3AvZGVzdC5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvZGVzdC5jCkBAIC0zOCw2ICszOCw3 IEBACiAjaW5jbHVkZSAiZXhlY3V0b3IvZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Iv dHF1ZXVlLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvdHN0b3JlUmVjZWl2ZXIuaCIKKyNpbmNsdWRl ICJleGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oIgogI2luY2x1ZGUgImxpYnBxL2xpYnBxLmgi CiAjaW5jbHVkZSAibGlicHEvcHFmb3JtYXQuaCIKIApAQCAtMTU1LDYgKzE1Niw5IEBAIENyZWF0 ZURlc3RSZWNlaXZlcihDb21tYW5kRGVzdCBkZXN0KQogCiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJp YWxpemU6CiAJCQlyZXR1cm4gQ3JlYXRlRXhwbGFpblNlcmlhbGl6ZURlc3RSZWNlaXZlcihOVUxM KTsKKworCQljYXNlIERlc3RWYXJpYWJsZToKKwkJCXJldHVybiBDcmVhdGVWYXJpYWJsZURlc3RS ZWNlaXZlcihOVUxMKTsKIAl9CiAKIAkvKiBzaG91bGQgbmV2ZXIgZ2V0IGhlcmUgKi8KQEAgLTE5 Miw2ICsxOTYsNyBAQCBFbmRDb21tYW5kKGNvbnN0IFF1ZXJ5Q29tcGxldGlvbiAqcWMsIENvbW1h bmREZXN0IGRlc3QsIGJvb2wgZm9yY2VfdW5kZWNvcmF0ZWRfbwogCQljYXNlIERlc3RUcmFuc2ll bnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxp emU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpAQCAtMjM4LDYgKzI0 Myw3IEBAIE51bGxDb21tYW5kKENvbW1hbmREZXN0IGRlc3QpCiAJCWNhc2UgRGVzdFRyYW5zaWVu dFJlbDoKIAkJY2FzZSBEZXN0VHVwbGVRdWV1ZToKIAkJY2FzZSBEZXN0RXhwbGFpblNlcmlhbGl6 ZToKKwkJY2FzZSBEZXN0VmFyaWFibGU6CiAJCQlicmVhazsKIAl9CiB9CkBAIC0yODIsNiArMjg4 LDcgQEAgUmVhZHlGb3JRdWVyeShDb21tYW5kRGVzdCBkZXN0KQogCQljYXNlIERlc3RUcmFuc2ll bnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxp emU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IDM2ODc0OTBiY2IxLi42MTBiNzU3ODk5ZSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBi L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtMjMsNiArMjMsOSBA QCBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNl c3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFy ICp2YXJuYW1lKTsKIAogZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hl Y2soY2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wgKmlzbnVsbCk7 CitleHRlcm4gdm9pZCBTZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5h bWUsCisJCQkJCQkJCQkJCU9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLAorCQkJCQkJCQkJCQlEYXR1 bSB2YWx1ZSwgYm9vbCBpc251bGwpOwogCiBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJs ZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJCQlPaWQgKnR5 cGlkLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIu aCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRkMDFjOTNjOWU4Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaApAQCAtMCwwICsxLDIy IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBzdmFyaWFibGVSZWNlaXZlci5oCisgKgkg IHByb3RvdHlwZXMgZm9yIHN2YXJpYWJsZVJlY2VpdmVyLmMKKyAqCisgKgorICogUG9ydGlvbnMg Q29weXJpZ2h0IChjKSAxOTk2LTIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdy b3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZl cnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJs ZVJlY2VpdmVyLmgKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZuZGVmIFNWQVJJ QUJMRV9SRUNFSVZFUl9ICisjZGVmaW5lIFNWQVJJQUJMRV9SRUNFSVZFUl9ICisKKyNpbmNsdWRl ICJ0Y29wL2Rlc3QuaCIKKworZXh0ZXJuIERlc3RSZWNlaXZlciAqQ3JlYXRlVmFyaWFibGVEZXN0 UmVjZWl2ZXIoY2hhciAqdmFybmFtZSk7CisKKyNlbmRpZgkJCQkJCQkvKiBTVkFSSUFCTEVfUkVD RUlWRVJfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmggYi9zcmMvaW5j bHVkZS90Y29wL2Rlc3QuaAppbmRleCA0ZTRmNTMyZDhjYy4uMWU3MDQzZGM3ZjcgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3Rjb3AvZGVzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Rjb3AvZGVzdC5o CkBAIC05Nyw2ICs5Nyw3IEBAIHR5cGVkZWYgZW51bQogCURlc3RUcmFuc2llbnRSZWwsCQkJLyog cmVzdWx0cyBzZW50IHRvIHRyYW5zaWVudCByZWxhdGlvbiAqLwogCURlc3RUdXBsZVF1ZXVlLAkJ CQkvKiByZXN1bHRzIHNlbnQgdG8gdHVwbGUgcXVldWUgKi8KIAlEZXN0RXhwbGFpblNlcmlhbGl6 ZSwJCS8qIHJlc3VsdHMgYXJlIHNlcmlhbGl6ZWQgYW5kIGRpc2NhcmRlZCAqLworCURlc3RWYXJp YWJsZSwJCQkJLyogcmVzdWx0cyBzZW50IHRvIHNlc3Npb24gdmFyaWFibGUgKi8KIH0gQ29tbWFu ZERlc3Q7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2lu ZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5k ZXggMDg4NjI3MDBhNWYuLjE4NGI3OTBkZTk3IDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApA QCAtMjcwMyw2ICsyNzAzLDcgQEAgU1RSTEVOCiBTVgogU1ZhcmlhYmxlRGF0YQogU1ZhcmlhYmxl CitTVmFyaWFibGVTdGF0ZQogU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIKIFNZU1RFTV9JTkZPCiBT YW1wbGVTY2FuCi0tIAoyLjUzLjAKCg== --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="UTF-8"; name="v20260306-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Disposition: attachment; filename="v20260306-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo737s5 RnJvbSBjYzVhZWZmYWQyNmJjMTgxZTU0ZGM4YjdmZDdiYTdjOGYwNDJiMDZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDE4OjA1OjAzICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNi8xMV0gTEVUIGNvbW1hbmQgLSBhc3NpZ24gYSByZXN1bHQgb2YgZXhwcmVzc2lvbiB0 byB0aGUgCiBzZXNzaW9uIHZhcmlhYmxlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CgpUaGUgdmFsdWUgaXMgYXNzaWduZWQgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgdXN1YWxseSBieSBT RVQgY29tbWFuZC4gVW5mb3J0dW5hdGVseQp0aGVyZSBhcmUgdHdvIHJlYXNvbnMgd2h5IFNFVCBz aG91bGQgbm90IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZSBpbiBQb3N0Z3Jlcy4KCjEuIFVzaW5n IGFfZXhwciBpbnNpZGUgZ2VuZXJpY19zZXQgcmFtIHJ1bGUgcHJvZHVjZXMgcmVkdWNlIGNvbmZs aWN0cywgc28gaXQgbmVlZHMKwqAgwqB0b3RhbCByZWltcGxlbWVudGF0aW9uIG9mIHJlbGF0ZWQg Z3JhbSBydWxlcy4KCjIuIFNFVCBpcyBubyBwbGFuIGNvbW1hbmQgLSBzbyBpdCBkb2Vzbid0IHN1 cHBvcnQgdXNhZ2Ugb2YgcGFyYW1ldGVycy4KCjMuIEV4Y2VwdGluZyBpbXBsZW1lbnRhdGlvbiBp c3N1ZXMsIHRoZXJlIGlzIGZhY3QsIHNvIGlmIHdlIHVzZSBTRVQgY29tbWFuZArCoCDCoGZvciBh c3NpZ25pbmcgdmFsdWVzIHRvIHNlc3Npb24gdmFyaWFibGVzLCB0aGVuIHRoZXJlIGNhbiBiZSBj b2xsaXNpb25zCsKgIMKgYmV0d2VlbiBzZXNzaW9uIHZhcmlhYmxlcyBhbmQgR1VDLCBhbmQgdGhl biB3ZSBuZWVkIHNvbWUgY29uY2VwdHMsIGhvdwrCoCDCoHRoZXNlIGNvbGxpc2lvbnMgc2hvdWxk IGJlIHNvbHZlZCwgb3IgaG93IHRvIHByb3RlY3Qgc2VsZiBhZ2FpbnN0IHRoZXNlCsKgIMKgY29s bGlzaW9ucy4gV2l0aCB0aGUgZGVkaWNhdGVkIGNvbW1hbmQsIHRoZSBjb2xsaXNpb25zIGJldHdl ZW4gR1VDIGFuZCBzZXNzaW9uCsKgIMKgdmFyaWFibGVzIGFyZSBub3QgcG9zc2libGUuCgpUaGUg Y29tbWFuZCBMRVQgaXMgZXhlY3V0ZWQgYXMgdXN1YWwgcXVlcnkgZXhlY3V0aW9uLiBUaGUgcmVz dWx0IGlzIHN0b3JlZAp0byB0aGUgdGFyZ2V0IHNlc3Npb24gdmFyaWFibGUgKHJlc3VsdFZhcmlh YmxlKSBieSB1c2luZyBWYXJpYWJsZURlc3RSZWNlaXZlci4KCkltcGxlbWVudGF0aW9ucyBvZiBF WFBMQUlOIExFVCBhbmQgUFJFUEFSRSBMRVQgc3RhdGVtZW50cyBhcmUgbm90IHN1cHBvcnRlZApu b3cuIFBvc3Rwb25lZCB0byBuZXh0IHN0ZXAgZHVlIHJlZHVjaW5nIHBhdGNoIHNpemUuCi0tLQog ZG9jL3NyYy9zZ21sL2RkbC5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIyICsrKwog ZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAgICAgICAgIHwgICAxICsKIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAgICAgICB8ICAgMyArCiBkb2Mv c3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAgIDEgKwogZG9jL3Ny Yy9zZ21sL3JlZi9sZXQuc2dtbCAgICAgICAgICAgICAgICAgICAgIHwgIDk1ICsrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jICAgICAgIHwgIDg3ICsrKysr KysrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jICAgICAgICAgICAgICAgICB8ICAg OCArCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgIDEg Kwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAgICAgICAgICAgIHwgMTAzICsr KysrKysrKystLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAg IHwgIDM4ICsrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgICAgICAgICAgICAg ICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgICAgICAg IHwgICA5ICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgICAgICAgICAgICAgICB8 ICAgMyArCiBzcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyAgICAgICAgICAgICAgICAgICAgfCAg MTUgKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAgICAgICB8ICAg OSArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgICA1 ICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAxNSAr Kwogc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAzICsK IHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oICAgICAgICAgICAgICAgfCAgIDEgKwogc3Jj L2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0ICAgICAgICB8IDE1NiArKysrKysrKysr KysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsICAgICB8 IDExMyArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAg ICAgICAgICAgfCAgIDEgKwogMjUgZmlsZXMgY2hhbmdlZCwgNjc5IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9yZWYvbGV0LnNn bWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRs LnNnbWwKaW5kZXggOGMwYWU3MTU4NjkuLjE5ZDJhZmMyMjAxIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01NzE3LDEwICs1 NzE3LDMyIEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3VyZW1lbnQgV0hFUkUg bG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICA8bGl0ZXJhbD5WQVJJQUJMRSh2 YXJuYW1lKTwvbGl0ZXJhbD4gc3ludGF4LiBUaGlzIGF2b2lkcyBhbnkgcmlzayBvZgogICAgIGNv bGxpc2lvbiBiZXR3ZWVuIHZhcmlhYmxlIG5hbWVzIGFuZCBjb2x1bW4gbmFtZXMuCiAgICA8L3Bh cmE+CisKKyAgIDxwYXJhPgorICAgIFlvdSBzZXQgdGhlIHZhbHVlIG9mIGEgc2Vzc2lvbiB2YXJp YWJsZSB3aXRoIHRoZSA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+CisgICAgc3RhdGVtZW50IGFuZCBy ZXRyaWV2ZSBpdCB3aXRoIDxjb21tYW5kPlNFTEVDVDwvY29tbWFuZD46Cis8cHJvZ3JhbWxpc3Rp bmc+CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CitMRVQgdmFyMSA9IGN1cnJl bnRfZGF0ZTsKK1NFTEVDVCBWQVJJQUJMRSh2YXIxKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAg ICBvcgorCiA8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgVEVNUCBWQVJJQUJMRSBjdXJyZW50X3Vz ZXJfaWQgQVMgaW50ZWdlcjsKK0xFVCBjdXJyZW50X3VzZXJfaWQgPSAoU0VMRUNUIGlkIEZST00g dXNlcnMgV0hFUkUgdXNlbmFtZSA9IHNlc3Npb25fdXNlcik7CiBTRUxFQ1QgVkFSSUFCTEUoY3Vy cmVudF91c2VyX2lkKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgICA8L3BhcmE+CisKKyAgIDxwYXJh PgorICAgIEJ5IGRlZmF1bHQsIHJldHJpZXZpbmcgYSBzZXNzaW9uIHZhcmlhYmxlIHJldHVybnMK KyAgICA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiB1bmxlc3MgaXQgaGFzIGJlZW4gc2V0IGluIHRo ZSBjdXJyZW50IHNlc3Npb24KKyAgICB1c2luZyB0aGUgPGNvbW1hbmQ+TEVUPC9jb21tYW5kPiBj b21tYW5kLiBTZXNzaW9uIHZhcmlhYmxlcyBhcmUgbm90CisgICAgdHJhbnNhY3Rpb25hbDogY2hh bmdlcyB0byB0aGVpciB2YWx1ZXMgcGVyc2lzdCBldmVuIGlmIHRoZSB0cmFuc2FjdGlvbgorICAg IGlzIHJvbGxlZCBiYWNrLCBzaW1pbGFyIHRvIHZhcmlhYmxlcyBpbiBwcm9jZWR1cmFsIGxhbmd1 YWdlcworICAgPC9wYXJhPgogIDwvc2VjdDE+CiAKICA8c2VjdDEgaWQ9ImRkbC1vdGhlcnMiPgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9hbGxmaWxlcy5zZ21sCmluZGV4IGE3MzQ5OTE5NjU4Li5jZDNmYWE2NjdmMCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvYWxsZmlsZXMuc2dtbApAQCAtMTU3LDYgKzE1Nyw3IEBAIENvbXBsZXRlIGxpc3Qgb2YgdXNh YmxlIHNnbWwgc291cmNlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5LgogPCFFTlRJVFkgZ3JhbnQg ICAgICAgICAgICAgIFNZU1RFTSAiZ3JhbnQuc2dtbCI+CiA8IUVOVElUWSBpbXBvcnRGb3JlaWdu U2NoZW1hIFNZU1RFTSAiaW1wb3J0X2ZvcmVpZ25fc2NoZW1hLnNnbWwiPgogPCFFTlRJVFkgaW5z ZXJ0ICAgICAgICAgICAgIFNZU1RFTSAiaW5zZXJ0LnNnbWwiPgorPCFFTlRJVFkgbGV0ICAgICAg ICAgICAgICAgIFNZU1RFTSAibGV0LnNnbWwiPgogPCFFTlRJVFkgbGlzdGVuICAgICAgICAgICAg IFNZU1RFTSAibGlzdGVuLnNnbWwiPgogPCFFTlRJVFkgbG9hZCAgICAgICAgICAgICAgIFNZU1RF TSAibG9hZC5zZ21sIj4KIDwhRU5USVRZIGxvY2sgICAgICAgICAgICAgICBTWVNURU0gImxvY2su c2dtbCI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21s IGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAppbmRleCA0ZThjMTk0MDI1 Mi4uMTMxNWIxMjQ4YzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3Zhcmlh YmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApAQCAt MTA4LDYgKzEwOCw4IEBAIENSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjCiAgICBDcmVhdGUgYW4gZGF0 ZSBzZXNzaW9uIHZhcmlhYmxlIDxsaXRlcmFsPnZhcjE8L2xpdGVyYWw+OgogPHByb2dyYW1saXN0 aW5nPgogQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CitMRVQgdmFyMSA9 IGN1cnJlbnRfZGF0ZTsKK1NFTEVDVCBWQVJJQUJMRSh2YXIxKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+ CiAgIDwvcGFyYT4KIApAQCAtMTI3LDYgKzEyOSw3IEBAIENSRUFURSBURU1QT1JBUlkgVkFSSUFC TEUgdmFyMSBBUyBkYXRlOwogCiAgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CiAgICA8bWVt YmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJlcj4KKyAgIDxtZW1i ZXI+PHhyZWYgbGlua2VuZD0ic3FsLWxldCIvPjwvbWVtYmVyPgogICA8L3NpbXBsZWxpc3Q+CiAg PC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbAppbmRleCBlODUxN2E3 ODIwMC4uZGVkZTQyZTRmZmIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJp YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCkBAIC03 OCw2ICs3OCw3IEBAIERST1AgVkFSSUFCTEUgdmFyMTsKIAogICA8c2ltcGxlbGlzdCB0eXBlPSJp bmxpbmUiPgogICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48 L21lbWJlcj4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWxldCIvPjwvbWVtYmVyPgog ICA8L3NpbXBsZWxpc3Q+CiAgPC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3JlZi9sZXQuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvbGV0LnNnbWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjMzZWU0MmQzZjIwCi0tLSAvZGV2L251bGwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZi9sZXQuc2dtbApAQCAtMCwwICsxLDk1IEBACis8IS0tCitkb2Mvc3Jj L3NnbWwvcmVmL2xldC5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KKy0tPgorCis8cmVm ZW50cnkgaWQ9InNxbC1sZXQiPgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWxldCI+CisgIDxwcmlt YXJ5PkxFVDwvcHJpbWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxpbmRleHRlcm0+CisgIDxwcmlt YXJ5PnNlc3Npb24gdmFyaWFibGU8L3ByaW1hcnk+CisgIDxzZWNvbmRhcnk+Y2hhbmdpbmc8L3Nl Y29uZGFyeT4KKyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRsZT5M RVQ8L3JlZmVudHJ5dGl0bGU+CisgIDxtYW52b2xudW0+NzwvbWFudm9sbnVtPgorICA8cmVmbWlz Y2luZm8+U1FMIC0gTGFuZ3VhZ2UgU3RhdGVtZW50czwvcmVmbWlzY2luZm8+CisgPC9yZWZtZXRh PgorCisgPHJlZm5hbWVkaXY+CisgIDxyZWZuYW1lPkxFVDwvcmVmbmFtZT4KKyAgPHJlZnB1cnBv c2U+Y2hhbmdlIGEgc2Vzc2lvbiB2YXJpYWJsZSdzIHZhbHVlPC9yZWZwdXJwb3NlPgorIDwvcmVm bmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0xFVCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+c2Vzc2lvbl92YXJpYWJsZTwvcmVwbGFjZWFibGU+ID0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNxbF9leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4K Kzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxl PkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5MRVQ8L2Nv bW1hbmQ+IGNvbW1hbmQgYXNzaWducyBhIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQgc2Vzc2lvbgor ICAgdmFyaWFibGUuCisgIDwvcGFyYT4KKworIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+Cisg IDx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KKworICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxp c3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c2Vzc2lv bl92YXJpYWJsZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBh cmE+CisgICAgICBUaGUgbmFtZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZS4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3FsX2V4cHJlc3Np b248L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAg ICAgQW4gYXJiaXRyYXJ5IFNRTCBleHByZXNzaW9uLiAgVGhlIHJlc3VsdCBtdXN0IGJlIG9mIGEg ZGF0YSB0eXBlIHRoYXQgY2FuCisgICAgICBiZSBjYXN0IHRvIHRoZSB0eXBlIG9mIHRoZSBzZXNz aW9uIHZhcmlhYmxlIGluIGFuIGFzc2lnbm1lbnQuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgPC92YXJpYWJsZWxpc3Q+CisgPC9yZWZzZWN0 MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKzxwcm9ncmFtbGlz dGluZz4KK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgbXl2YXIgQVMgaW50ZWdlcjsKK0xFVCBt eXZhciA9IDEwOworTEVUIG15dmFyID0gKFNFTEVDVCBzdW0odmFsKSBGUk9NIHRhYik7Cis8L3By b2dyYW1saXN0aW5nPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21w YXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5MRVQ8L2NvbW1h bmQ+IGlzIGEgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPgorICAgZXh0ZW5z aW9uLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNl ZSBBbHNvPC90aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJl cj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21lbWJlcj4KKyAgIDxtZW1i ZXI+PHhyZWYgbGlua2VuZD0ic3FsLWRyb3B2YXJpYWJsZSIvPjwvbWVtYmVyPgorICA8L3NpbXBs ZWxpc3Q+CisgPC9yZWZzZWN0MT4KKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmZXJlbmNlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKaW5kZXggYzAz ZTc2OTJjN2EuLjZmY2Q3YTgxMzIxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNl LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCkBAIC0xODUsNiArMTg1LDcg QEAKICAgICZncmFudDsKICAgICZpbXBvcnRGb3JlaWduU2NoZW1hOwogICAgJmluc2VydDsKKyAg ICZsZXQ7CiAgICAmbGlzdGVuOwogICAgJmxvYWQ7CiAgICAmbG9jazsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYwppbmRleCBkZWI1ZDdlODBmOS4uYTVjYmM3YTJlZWQgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTE2LDEzICsxNiwxOCBA QAogCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19sYW5ndWFnZS5oIgogI2luY2x1ZGUgImNvbW1hbmRz L3Nlc3Npb25fdmFyaWFibGUuaCIKKyNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgorI2lu Y2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAibWlzY2FkbWlu LmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKKyNpbmNsdWRlICJyZXdyaXRlL3Jl d3JpdGVIYW5kbGVyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVkZSAidGNv cC90Y29wcHJvdC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRp bHMvZGF0dW0uaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGls cy9tZW11dGlscy5oIgorI2luY2x1ZGUgInV0aWxzL3NuYXBtZ3IuaCIKIAogLyoKICAqIFRoZSBz ZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3RvcmVkIGluIHRoZSBiYWNrZW5kJ3MgcHJpdmF0ZSBtZW1v cnkgKGRhdGEsCkBAIC0zMjMsMyArMzI4LDg1IEBAIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2 YXJuYW1lKQogCQkJCQkgICBOVUxMKSA9PSBOVUxMKQogCQllbG9nKEVSUk9SLCAiaGFzaCB0YWJs ZSBjb3JydXB0ZWQiKTsKIH0KKworLyoKKyAqIEFzc2lnbiB0aGUgcmVzdWx0IG9mIHRoZSBldmFs dWF0ZWQgZXhwcmVzc2lvbiB0byB0aGUgc2Vzc2lvbiB2YXJpYWJsZQorICovCit2b2lkCitFeGVj dXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkgICBMZXRTdG10ICpzdG10LAorCQkJ ICAgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCisJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVu diwKKwkJCSAgIFF1ZXJ5Q29tcGxldGlvbiAqcWMpCit7CisJUXVlcnkJICAgKnF1ZXJ5ID0gY2Fz dE5vZGUoUXVlcnksIHN0bXQtPnF1ZXJ5KTsKKwlMaXN0CSAgICpyZXdyaXR0ZW47CisJRGVzdFJl Y2VpdmVyICpkZXN0OworCVBsYW5uZWRTdG10ICpwbGFuOworCVF1ZXJ5RGVzYyAgKnF1ZXJ5RGVz YzsKKwljaGFyCSAgICp2YXJuYW1lID0gcXVlcnktPnJlc3VsdFZhcmlhYmxlOworCVNWYXJpYWJs ZQlzdmFyOworCisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCS8qIG9ubHkg b3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJaWYgKHN2YXItPnZhcm93bmVy ICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQko ZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCSBlcnJtc2coInBl cm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUp KSk7CisKKwkvKiBjcmVhdGUgYSBkZXN0IHJlY2VpdmVyIGZvciBMRVQgKi8KKwlkZXN0ID0gQ3Jl YXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIodmFybmFtZSk7CisKKwkvKiBydW4gdGhlIHF1ZXJ5IHJl d3JpdGVyICovCisJcXVlcnkgPSBjb3B5T2JqZWN0KHF1ZXJ5KTsKKworCXJld3JpdHRlbiA9IFF1 ZXJ5UmV3cml0ZShxdWVyeSk7CisKKwlBc3NlcnQobGlzdF9sZW5ndGgocmV3cml0dGVuKSA9PSAx KTsKKworCXF1ZXJ5ID0gbGluaXRpYWxfbm9kZShRdWVyeSwgcmV3cml0dGVuKTsKKwlBc3NlcnQo cXVlcnktPmNvbW1hbmRUeXBlID09IENNRF9TRUxFQ1QpOworCisJLyogcGxhbiB0aGUgcXVlcnkg Ki8KKwlwbGFuID0gcGdfcGxhbl9xdWVyeShxdWVyeSwgcHN0YXRlLT5wX3NvdXJjZXRleHQsCisJ CQkJCQkgQ1VSU09SX09QVF9QQVJBTExFTF9PSywgcGFyYW1zLCBOVUxMKTsKKworCS8qCisJICog VXNlIGEgc25hcHNob3Qgd2l0aCBhbiB1cGRhdGVkIGNvbW1hbmQgSUQgdG8gZW5zdXJlIHRoaXMg cXVlcnkgc2VlcyB0aGUKKwkgKiByZXN1bHRzIG9mIGFueSBwcmV2aW91c2x5IGV4ZWN1dGVkIHF1 ZXJpZXMuICAoVGhpcyBjb3VsZCBvbmx5IG1hdHRlciBpZgorCSAqIHRoZSBwbGFubmVyIGV4ZWN1 dGVkIGFuIGFsbGVnZWRseS1zdGFibGUgZnVuY3Rpb24gdGhhdCBjaGFuZ2VkIHRoZQorCSAqIGRh dGFiYXNlIGNvbnRlbnRzLCBidXQgbGV0J3MgZG8gaXQgYW55d2F5IHRvIGJlIHBhcmFsbGVsIHRv IHRoZSBFWFBMQUlOCisJICogY29kZSBwYXRoLikKKwkgKi8KKwlQdXNoQ29waWVkU25hcHNob3Qo R2V0QWN0aXZlU25hcHNob3QoKSk7CisJVXBkYXRlQWN0aXZlU25hcHNob3RDb21tYW5kSWQoKTsK KworCS8qIGNyZWF0ZSBhIFF1ZXJ5RGVzYywgcmVkaXJlY3Rpbmcgb3V0cHV0IHRvIG91ciB0dXBs ZSByZWNlaXZlciAqLworCXF1ZXJ5RGVzYyA9IENyZWF0ZVF1ZXJ5RGVzYyhwbGFuLCBwc3RhdGUt PnBfc291cmNldGV4dCwKKwkJCQkJCQkJR2V0QWN0aXZlU25hcHNob3QoKSwgSW52YWxpZFNuYXBz aG90LAorCQkJCQkJCQlkZXN0LCBwYXJhbXMsIHF1ZXJ5RW52LCAwKTsKKworCS8qIGNhbGwgRXhl Y3V0b3JTdGFydCB0byBwcmVwYXJlIHRoZSBwbGFuIGZvciBleGVjdXRpb24gKi8KKwlFeGVjdXRv clN0YXJ0KHF1ZXJ5RGVzYywgMCk7CisKKwkvKgorCSAqIFJ1biB0aGUgcGxhbiB0byBjb21wbGV0 aW9uLiAgVGhlIHJlc3VsdCBzaG91bGQgYmUgb25seSBvbmUgcm93LiAgVG8KKwkgKiBjaGVjayBp ZiB0aGVyZSBhcmUgdG9vIG1hbnkgcmVzdWx0IHJvd3MsIHdlIHRyeSB0byBmZXRjaCB0d28uCisJ ICovCisJRXhlY3V0b3JSdW4ocXVlcnlEZXNjLCBGb3J3YXJkU2NhbkRpcmVjdGlvbiwgMkwpOwor CisJLyogc2F2ZSB0aGUgcm93Y291bnQgaWYgd2UncmUgZ2l2ZW4gYSBRdWVyeUNvbXBsZXRpb24g dG8gZmlsbCAqLworCWlmIChxYykKKwkJU2V0UXVlcnlDb21wbGV0aW9uKHFjLCBDTURUQUdfTEVU LCBxdWVyeURlc2MtPmVzdGF0ZS0+ZXNfcHJvY2Vzc2VkKTsKKworCS8qIGFuZCBjbGVhbiB1cCAq LworCUV4ZWN1dG9yRmluaXNoKHF1ZXJ5RGVzYyk7CisJRXhlY3V0b3JFbmQocXVlcnlEZXNjKTsK KworCWRlc3QtPnJEZXN0cm95KGRlc3QpOworCUZyZWVRdWVyeURlc2MocXVlcnlEZXNjKTsKKwor CVBvcEFjdGl2ZVNuYXBzaG90KCk7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9u b2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCmluZGV4IDRlMjYxYTQ5 MTI4Li5kZTFlMWM2NDIxZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNz LmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKQEAgLTQzNzcsNiArNDM3Nywx NCBAQCByYXdfZXhwcmVzc2lvbl90cmVlX3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJl dHVybiB0cnVlOwogCQkJfQogCQkJYnJlYWs7CisJCWNhc2UgVF9MZXRTdG10OgorCQkJeworCQkJ CUxldFN0bXQgICAgKnN0bXQgPSAoTGV0U3RtdCAqKSBub2RlOworCisJCQkJaWYgKFdBTEsoc3Rt dC0+cXVlcnkpKQorCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNlIFRf UExBc3NpZ25TdG10OgogCQkJewogCQkJCVBMQXNzaWduU3RtdCAqc3RtdCA9IChQTEFzc2lnblN0 bXQgKikgbm9kZTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5u ZXIuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYwppbmRleCA1M2FmMjhj NDlkOC4uMmM2YThlN2FmYjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFu L3BsYW5uZXIuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMKQEAg LTM3NSw2ICszNzUsNyBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hh ciAqcXVlcnlfc3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAlnbG9iLT5wYXJ0aXRpb25fZGly ZWN0b3J5ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CiAJZ2xv Yi0+c2Vzc2lvblZhcmlhYmxlcyA9IE5JTDsKKwlnbG9iLT5yZXN1bHRWYXJpYWJsZSA9IHBhcnNl LT5yZXN1bHRWYXJpYWJsZTsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFzaWJs ZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5j CmluZGV4IGU4ZWQxNmJiNmZkLi5mODgzZmZiYTVhNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cGFyc2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCkBAIC01 MywxNSArNTMsMTggQEAKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0 aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNj YWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAKIAotLyogUGFzc3Rocm91Z2gg ZGF0YSBmb3IgdHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0ICovCisvKiBQYXNzdGhyb3VnaCBk YXRhIGZvciB0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQgKi8KIHR5cGVkZWYgc3RydWN0IFNlbGVjdFN0 bXRQYXNzdGhyb3VnaAogewotCVBMQXNzaWduU3RtdCAqc3RtdDsJCQkvKiB0aGUgYXNzaWdubWVu dCBzdGF0ZW1lbnQgKi8KKwlOb2RlCSAgICpzdG10OwkJCS8qIHRoZSBhc3NpZ25tZW50IHN0YXRl bWVudCAqLwogCU5vZGUJICAgKnRhcmdldDsJCQkvKiBub2RlIHJlcHJlc2VudGluZyB0aGUgdGFy Z2V0IHZhcmlhYmxlICovCisJY2hhcgkgICAqdGFyZ2V0X25hbWU7CS8qIHRoZSBuYW1lIHVzZWQg YnkgZXJyICovCiAJTGlzdAkgICAqaW5kaXJlY3Rpb247CS8qIGluZGlyZWN0aW9uIHlldCB0byBi ZSBhcHBsaWVkIHRvIHRhcmdldCAqLworCUNvZXJjaW9uQ29udGV4dCBjY29udGV4dDsgCS8qIGNv bnRleHQgaW5kaWNhdG9ycyB0byBjb250cm9sIGNvZXJjaW9ucyAqLwogfSBTZWxlY3RTdG10UGFz c3Rocm91Z2g7CiAKIC8qIEhvb2sgZm9yIHBsdWdpbnMgdG8gZ2V0IGNvbnRyb2wgYXQgZW5kIG9m IHBhcnNlIGFuYWx5c2lzICovCkBAIC04NSw3ICs4OCw3IEBAIHN0YXRpYyBRdWVyeSAqdHJhbnNm b3JtUmV0dXJuU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFJldHVyblN0bXQgKnN0bXQpOwogc3Rh dGljIFF1ZXJ5ICp0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBkYXRl U3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybVBMQXNzaWduU3RtdChQYXJzZVN0 YXRlICpwc3RhdGUsCiAJCQkJCQkJCQlQTEFzc2lnblN0bXQgKnN0bXQpOwotc3RhdGljIExpc3Qg KnRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRs aXN0LAorc3RhdGljIExpc3QgKnRyYW5zZm9ybUFzc2lnblRhcmdldChQYXJzZVN0YXRlICpwc3Rh dGUsIExpc3QgKnRsaXN0LAogCQkJCQkJCQkJCSBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0 aHJ1KTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtRGVjbGFyZUN1cnNvclN0bXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLAogCQkJCQkJCQkJCSBEZWNsYXJlQ3Vyc29yU3RtdCAqc3RtdCk7CkBAIC05NSw2 ICs5OCw4IEBAIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtQ3JlYXRlVGFibGVBc1N0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCSBDcmVhdGVUYWJsZUFzU3RtdCAqc3RtdCk7CiBzdGF0 aWMgUXVlcnkgKnRyYW5zZm9ybUNhbGxTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJ Q2FsbFN0bXQgKnN0bXQpOworc3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1MZXRTdG10KFBhcnNlU3Rh dGUgKnBzdGF0ZSwKKwkJCQkJCQkgICBMZXRTdG10ICpzdG10KTsKIHN0YXRpYyB2b2lkIHRyYW5z Zm9ybUxvY2tpbmdDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBRdWVyeSAqcXJ5LAogCQkJCQkJ CQkgICBMb2NraW5nQ2xhdXNlICpsYywgYm9vbCBwdXNoZWREb3duKTsKICNpZmRlZiBERUJVR19O T0RFX1RFU1RTX0VOQUJMRUQKQEAgLTM0Miw2ICszNDcsNyBAQCB0cmFuc2Zvcm1TdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgTm9kZSAqcGFyc2VUcmVlKQogCQkJY2FzZSBUX1VwZGF0ZVN0bXQ6CiAJ CQljYXNlIFRfRGVsZXRlU3RtdDoKIAkJCWNhc2UgVF9NZXJnZVN0bXQ6CisJCQljYXNlIFRfTGV0 U3RtdDoKIAkJCQkodm9pZCkgdGVzdF9yYXdfZXhwcmVzc2lvbl9jb3ZlcmFnZShwYXJzZVRyZWUs IE5VTEwpOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKQEAgLTQyMSw2ICs0MjcsMTEgQEAgdHJh bnNmb3JtU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKnBhcnNlVHJlZSkKIAkJCQkJCQkJ CSAgIChDYWxsU3RtdCAqKSBwYXJzZVRyZWUpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0 bXQ6CisJCQlyZXN1bHQgPSB0cmFuc2Zvcm1MZXRTdG10KHBzdGF0ZSwKKwkJCQkJCQkJCSAgKExl dFN0bXQgKikgcGFyc2VUcmVlKTsKKwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAKIAkJCS8qCkBA IC00ODIsNiArNDkzLDcgQEAgc3RtdF9yZXF1aXJlc19wYXJzZV9hbmFseXNpcyhSYXdTdG10ICpw YXJzZVRyZWUpCiAJCWNhc2UgVF9FeHBsYWluU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVRhYmxlQXNT dG10OgogCQljYXNlIFRfQ2FsbFN0bXQ6CisJCWNhc2UgVF9MZXRTdG10OgogCQkJcmVzdWx0ID0g dHJ1ZTsKIAkJCWJyZWFrOwogCkBAIC01NDcsNiArNTU5LDcgQEAgcXVlcnlfcmVxdWlyZXNfcmV3 cml0ZV9wbGFuKFF1ZXJ5ICpxdWVyeSkKIAkJCWNhc2UgVF9FeHBsYWluU3RtdDoKIAkJCWNhc2Ug VF9DcmVhdGVUYWJsZUFzU3RtdDoKIAkJCWNhc2UgVF9DYWxsU3RtdDoKKwkJCWNhc2UgVF9MZXRT dG10OgogCQkJCXJlc3VsdCA9IHRydWU7CiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgpAQCAtMTQw MCw3ICsxNDEzLDcgQEAgY291bnRfcm93ZXhwcl9jb2x1bW5zKFBhcnNlU3RhdGUgKnBzdGF0ZSwg Tm9kZSAqZXhwcikKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gdXNlZCB0byB0cmFuc2Zv cm0gdGhlIHNvdXJjZSBleHByZXNzaW9uIG9mIGEKICAqIFBMQXNzaWduU3RtdC4gIEluIHRoYXQg dXNhZ2UsIHBhc3N0aHJ1IGlzIG5vbi1OVUxMIGFuZCB3ZSBuZWVkIHRvCi0gKiBjYWxsIHRyYW5z Zm9ybVBMQXNzaWduU3RtdFRhcmdldCBhZnRlciB0aGUgaW5pdGlhbCB0cmFuc2Zvcm1hdGlvbiBv ZiB0aGUKKyAqIGNhbGwgdHJhbnNmb3JtQXNzaWduVGFyZ2V0IGFmdGVyIHRoZSBpbml0aWFsIHRy YW5zZm9ybWF0aW9uIG9mIHRoZQogICogU0VMRUNUJ3MgdGFyZ2V0bGlzdC4gIChXZSBjb3VsZCBn ZW5lcmFsaXplIHRoaXMgaW50byBhbiBhcmJpdHJhcnkgY2FsbGJhY2sKICAqIGZ1bmN0aW9uLCBi dXQgZm9yIG5vdyB0aGF0IHdvdWxkIGp1c3QgYmUgbW9yZSBub3RhdGlvbiB3aXRoIG5vIGJlbmVm aXQuKQogICogQWxsIHRoZSByZXN0IGlzIHRoZSBzYW1lIGFzIGEgcmVndWxhciBTZWxlY3RTdG10 LgpAQCAtMTQ1Myw4ICsxNDY2LDggQEAgdHJhbnNmb3JtU2VsZWN0U3RtdChQYXJzZVN0YXRlICpw c3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQsCiAJICogT3RoZXJ3aXNlLCBtYXJrIGNvbHVtbiBvcmln aW5zICh3aGljaCBhcmUgdXNlbGVzcyBpbiBhIFBMQXNzaWduU3RtdCkuCiAJICovCiAJaWYgKHBh c3N0aHJ1KQotCQlxcnktPnRhcmdldExpc3QgPSB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQo cHN0YXRlLCBxcnktPnRhcmdldExpc3QsCi0JCQkJCQkJCQkJCQkJICBwYXNzdGhydSk7CisJCXFy eS0+dGFyZ2V0TGlzdCA9IHRyYW5zZm9ybUFzc2lnblRhcmdldChwc3RhdGUsIHFyeS0+dGFyZ2V0 TGlzdCwKKwkJCQkJCQkJCQkJCXBhc3N0aHJ1KTsKIAllbHNlCiAJCW1hcmtUYXJnZXRMaXN0T3Jp Z2lucyhwc3RhdGUsIHFyeS0+dGFyZ2V0TGlzdCk7CiAKQEAgLTI4NTAsOSArMjg2MywxMSBAQCB0 cmFuc2Zvcm1QTEFzc2lnblN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQTEFzc2lnblN0bXQgKnN0 bXQpCiAJCQkJCQkgICBFWFBSX0tJTkRfVVBEQVRFX1RBUkdFVCk7CiAKIAkvKiBTZXQgdXAgcGFz c3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0ICovCi0JcGFzc3Ro cnUuc3RtdCA9IHN0bXQ7CisJcGFzc3RocnUuc3RtdCA9IChOb2RlICopIHN0bXQ7CiAJcGFzc3Ro cnUudGFyZ2V0ID0gdGFyZ2V0OworCXBhc3N0aHJ1LnRhcmdldF9uYW1lID0gc3RtdC0+bmFtZTsK IAlwYXNzdGhydS5pbmRpcmVjdGlvbiA9IGluZGlyZWN0aW9uOworCXBhc3N0aHJ1LmNjb250ZXh0 ID0gQ09FUkNJT05fUExQR1NRTDsKIAogCS8qCiAJICogVG8gYXZvaWQgZHVwbGljYXRpbmcgYSBs b3Qgb2YgY29kZSwgd2UgdXNlIHRyYW5zZm9ybVNlbGVjdFN0bXQgdG8gZG8KQEAgLTI4NzUsMTgg KzI4OTAsMjEgQEAgdHJhbnNmb3JtUExBc3NpZ25TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUExB c3NpZ25TdG10ICpzdG10KQogCiAvKgogICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYWRqdXN0IGEg U0VMRUNUJ3MgdGxpc3QgdG8gbWFrZSB0aGUgb3V0cHV0IHN1aXRhYmxlCi0gKiBmb3IgYXNzaWdu bWVudCB0byBhIFBMQXNzaWduU3RtdCdzIHRhcmdldCB2YXJpYWJsZS4KKyAqIGZvciBhc3NpZ25t ZW50IHRvIGEgUExBc3NpZ25TdG10J3MgdGFyZ2V0IHZhcmlhYmxlIHByIExFVCdzIHRhcmdldAor ICogc2Vzc2lvbiB2YXJpYWJsZS4KICAqCiAgKiBOb3RlOiB3ZSBhY3R1YWxseSBtb2RpZnkgdGhl IHRsZS0+ZXhwciBpbi1wbGFjZSwgYnV0IHRoZSBmdW5jdGlvbidzIEFQSQogICogaXMgc2V0IHVw IHRvIG5vdCBwcmVzdW1lIHRoYXQuCiAgKi8KIHN0YXRpYyBMaXN0ICoKLXRyYW5zZm9ybVBMQXNz aWduU3RtdFRhcmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAotCQkJCQkJCVNl bGVjdFN0bXRQYXNzdGhyb3VnaCAqcGFzc3RocnUpCit0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKKwkJCQkJICBTZWxlY3RTdG10UGFzc3Rocm91 Z2ggKnBhc3N0aHJ1KQogewotCVBMQXNzaWduU3RtdCAqc3RtdCA9IHBhc3N0aHJ1LT5zdG10Owor CU5vZGUJICAgKnN0bXQgPSBwYXNzdGhydS0+c3RtdDsKIAlOb2RlCSAgICp0YXJnZXQgPSBwYXNz dGhydS0+dGFyZ2V0OworCWNoYXIJICAgKnRhcmdldF9uYW1lID0gcGFzc3RocnUtPnRhcmdldF9u YW1lOwogCUxpc3QJICAgKmluZGlyZWN0aW9uID0gcGFzc3RocnUtPmluZGlyZWN0aW9uOworCUNv ZXJjaW9uQ29udGV4dCBjY29udGV4dCA9IHBhc3N0aHJ1LT5jY29udGV4dDsKIAlPaWQJCQl0YXJn ZXR0eXBlOwogCWludDMyCQl0YXJnZXR0eXBtb2Q7CiAJT2lkCQkJdGFyZ2V0Y29sbGF0aW9uOwpA QCAtMjkyMSw3ICsyOTM5LDcgQEAgdHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0KFBhcnNlU3Rh dGUgKnBzdGF0ZSwgTGlzdCAqdGxpc3QsCiAJCXRsZS0+ZXhwciA9IChFeHByICopCiAJCQl0cmFu c2Zvcm1Bc3NpZ25tZW50SW5kaXJlY3Rpb24ocHN0YXRlLAogCQkJCQkJCQkJCSAgIHRhcmdldCwK LQkJCQkJCQkJCQkgICBzdG10LT5uYW1lLAorCQkJCQkJCQkJCSAgIHRhcmdldF9uYW1lLAogCQkJ CQkJCQkJCSAgIGZhbHNlLAogCQkJCQkJCQkJCSAgIHRhcmdldHR5cGUsCiAJCQkJCQkJCQkJICAg dGFyZ2V0dHlwbW9kLApAQCAtMjkyOSwxMCArMjk0NywxMCBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0 bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCQkJCQkJCQkgICBp bmRpcmVjdGlvbiwKIAkJCQkJCQkJCQkgICBsaXN0X2hlYWQoaW5kaXJlY3Rpb24pLAogCQkJCQkJ CQkJCSAgIChOb2RlICopIHRsZS0+ZXhwciwKLQkJCQkJCQkJCQkgICBDT0VSQ0lPTl9QTFBHU1FM LAorCQkJCQkJCQkJCSAgIGNjb250ZXh0LAogCQkJCQkJCQkJCSAgIGV4cHJMb2NhdGlvbih0YXJn ZXQpKTsKIAl9Ci0JZWxzZSBpZiAodGFyZ2V0dHlwZSAhPSB0eXBlX2lkICYmCisJZWxzZSBpZiAo SXNBKHN0bXQsIFBMQXNzaWduU3RtdCkgJiYgdGFyZ2V0dHlwZSAhPSB0eXBlX2lkICYmCiAJCQkg KHRhcmdldHR5cGUgPT0gUkVDT1JET0lEIHx8IElTQ09NUExFWCh0YXJnZXR0eXBlKSkgJiYKIAkJ CSAodHlwZV9pZCA9PSBSRUNPUkRPSUQgfHwgSVNDT01QTEVYKHR5cGVfaWQpKSkKIAl7CkBAIC0y OTU1LDcgKzI5NzMsNyBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAq cHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCWNvZXJjZV90b190YXJnZXRfdHlwZShwc3RhdGUsCiAJ CQkJCQkJCSAgb3JpZ19leHByLCB0eXBlX2lkLAogCQkJCQkJCQkgIHRhcmdldHR5cGUsIHRhcmdl dHR5cG1vZCwKLQkJCQkJCQkJICBDT0VSQ0lPTl9QTFBHU1FMLAorCQkJCQkJCQkgIGNjb250ZXh0 LAogCQkJCQkJCQkgIENPRVJDRV9JTVBMSUNJVF9DQVNULAogCQkJCQkJCQkgIC0xKTsKIAkJLyog V2l0aCBDT0VSQ0lPTl9QTFBHU1FMLCB0aGlzIGVycm9yIGlzIHByb2JhYmx5IHVucmVhY2hhYmxl ICovCkBAIC0yOTY0LDcgKzI5ODIsNyBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRB VFlQRV9NSVNNQVRDSCksCiAJCQkJCSBlcnJtc2coInZhcmlhYmxlIFwiJXNcIiBpcyBvZiB0eXBl ICVzIgogCQkJCQkJCSIgYnV0IGV4cHJlc3Npb24gaXMgb2YgdHlwZSAlcyIsCi0JCQkJCQkJc3Rt dC0+bmFtZSwKKwkJCQkJCQl0YXJnZXRfbmFtZSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0YXJn ZXR0eXBlKSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0eXBlX2lkKSksCiAJCQkJCSBlcnJoaW50 KCJZb3Ugd2lsbCBuZWVkIHRvIHJld3JpdGUgb3IgY2FzdCB0aGUgZXhwcmVzc2lvbi4iKSwKQEAg LTMzMzIsNiArMzM1MCw1OSBAQCB0cmFuc2Zvcm1DYWxsU3RtdChQYXJzZVN0YXRlICpwc3RhdGUs IENhbGxTdG10ICpzdG10KQogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiB0cmFuc2Zvcm1M ZXRTdG10IC0KKyAqCSAgdHJhbnNmb3JtIGFuIExldCBTdGF0ZW1lbnQKKyAqLworc3RhdGljIFF1 ZXJ5ICoKK3RyYW5zZm9ybUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10 KQoreworCVF1ZXJ5CSAgICpxcnk7CisJUXVlcnkJICAgKnJlc3VsdDsKKwlOb2RlCSAgICp0YXJn ZXQ7CisJVmFyaWFibGVGZW5jZSAqdmY7CisJU2VsZWN0U3RtdFBhc3N0aHJvdWdoIHBhc3N0aHJ1 OworCVBhcmFtCSAgICpwYXJhbXZhcjsKKworCS8qIGdyYW0gYWxsb3dzIG9ubHkgU0VMRUNUICov CisJQXNzZXJ0KElzQShzdG10LT5xdWVyeSwgU2VsZWN0U3RtdCkpOworCisJLyogVXNlIGltcGxp Y2l0IFZhcmlhYmxlRmVuY2UgZm9yIGZvcmNpbmcgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwl2ZiA9 IG1ha2VOb2RlKFZhcmlhYmxlRmVuY2UpOworCXZmLT52YXJuYW1lID0gc3RtdC0+dGFyZ2V0Owor CXZmLT5sb2NhdGlvbiA9IHN0bXQtPmxvY2F0aW9uOworCisJdGFyZ2V0ID0gdHJhbnNmb3JtRXhw cihwc3RhdGUsIChOb2RlICopIHZmLCBFWFBSX0tJTkRfTEVUX1RBUkdFVCk7CisKKwlwYXJhbXZh ciA9IGNhc3ROb2RlKFBhcmFtLCB0YXJnZXQpOworCisJQXNzZXJ0KHBhcmFtdmFyLT5wYXJhbWtp bmQgPT0gUEFSQU1fVkFSSUFCTEUpOworCisJLyogU2V0IHVwIHBhc3N0aHJvdWdoIGRhdGEgZm9y IHRyYW5zZm9ybUFzc2lnblRhcmdldCAqLworCXBhc3N0aHJ1LnN0bXQgPSAoTm9kZSAqKSBzdG10 OworCXBhc3N0aHJ1LnRhcmdldCA9IChOb2RlICopIHBhcmFtdmFyOworCXBhc3N0aHJ1LnRhcmdl dF9uYW1lID0gcGFyYW12YXItPnBhcmFtdmFybmFtZTsKKwlwYXNzdGhydS5pbmRpcmVjdGlvbiA9 IE5JTDsKKwlwYXNzdGhydS5jY29udGV4dCA9IENPRVJDSU9OX0FTU0lHTk1FTlQ7CisKKwkvKiB3 ZSBuZWVkIHRvIHBvc3Rwb25lIGNvbnZlcnNpb24gb2YgInVua25vd24iIHRvIHRleHQgKi8KKwlw c3RhdGUtPnBfcmVzb2x2ZV91bmtub3ducyA9IGZhbHNlOworCisJcXJ5ID0gdHJhbnNmb3JtU2Vs ZWN0U3RtdChwc3RhdGUsIChTZWxlY3RTdG10ICopIHN0bXQtPnF1ZXJ5LCAmcGFzc3RocnUpOwor CisJcXJ5LT5yZXN1bHRWYXJpYWJsZSA9IHBhcmFtdmFyLT5wYXJhbXZhcm5hbWU7CisJcXJ5LT5j YW5TZXRUYWcgPSB0cnVlOworCisJc3RtdC0+cXVlcnkgPSAoTm9kZSAqKSBxcnk7CisKKwkvKiBy ZXByZXNlbnQgdGhlIGNvbW1hbmQgYXMgYSB1dGlsaXR5IFF1ZXJ5ICovCisJcmVzdWx0ID0gbWFr ZU5vZGUoUXVlcnkpOworCXJlc3VsdC0+Y29tbWFuZFR5cGUgPSBDTURfVVRJTElUWTsKKwlyZXN1 bHQtPnV0aWxpdHlTdG10ID0gKE5vZGUgKikgc3RtdDsKKworCXJldHVybiByZXN1bHQ7Cit9CisK IC8qCiAgKiBQcm9kdWNlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgTG9ja0NsYXVzZVN0 cmVuZ3RoIHZhbHVlLgogICogVGhpcyBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIHZhbGlkIHZh bHVlcyAobm90IExDU19OT05FKS4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFt LnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDdmZWQ1YWQ3ZWNlLi4zY2ZhMzYy ZTAzYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFj a2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0zMDMsNyArMzAzLDcgQEAgc3RhdGljIE5vZGUgKm1ha2VS ZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1 ZXJ5KTsKIAkJRHJvcFRyYW5zZm9ybVN0bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWlu U3RtdCBGZXRjaFN0bXQKIAkJR3JhbnRTdG10IEdyYW50Um9sZVN0bXQgSW1wb3J0Rm9yZWlnblNj aGVtYVN0bXQgSW5kZXhTdG10IEluc2VydFN0bXQKLQkJTGlzdGVuU3RtdCBMb2FkU3RtdCBMb2Nr U3RtdCBNZXJnZVN0bXQgTm90aWZ5U3RtdCBFeHBsYWluYWJsZVN0bXQgUHJlcGFyYWJsZVN0bXQK KwkJTGV0U3RtdCBMaXN0ZW5TdG10IExvYWRTdG10IExvY2tTdG10IE1lcmdlU3RtdCBOb3RpZnlT dG10IEV4cGxhaW5hYmxlU3RtdCBQcmVwYXJhYmxlU3RtdAogCQlDcmVhdGVGdW5jdGlvblN0bXQg QWx0ZXJGdW5jdGlvblN0bXQgUmVpbmRleFN0bXQgUmVtb3ZlQWdnclN0bXQKIAkJUmVtb3ZlRnVu Y1N0bXQgUmVtb3ZlT3BlclN0bXQgUmVuYW1lU3RtdCBSZXR1cm5TdG10IFJldm9rZVN0bXQgUmV2 b2tlUm9sZVN0bXQKIAkJUnVsZUFjdGlvblN0bXQgUnVsZUFjdGlvblN0bXRPckVtcHR5IFJ1bGVT dG10CkBAIC03NTMsNyArNzUzLDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2Vs ZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAlLRUVQIEtF WSBLRVlTCiAKIAlMQUJFTCBMQU5HVUFHRSBMQVJHRV9QIExBU1RfUCBMQVRFUkFMX1AKLQlMRUFE SU5HIExFQUtQUk9PRiBMRUFTVCBMRUZUIExFVkVMIExJS0UgTElNSVQgTElTVEVOIExPQUQgTE9D QUwKKwlMRUFESU5HIExFQUtQUk9PRiBMRUFTVCBMRVQgTEVGVCBMRVZFTCBMSUtFIExJTUlUIExJ U1RFTiBMT0FEIExPQ0FMCiAJTE9DQUxUSU1FIExPQ0FMVElNRVNUQU1QIExPQ0FUSU9OIExPQ0tf UCBMT0NLRUQgTE9HR0VEIExTTl9QCiAKIAlNQVBQSU5HIE1BVENIIE1BVENIRUQgTUFURVJJQUxJ WkVEIE1BWFZBTFVFIE1FUkdFIE1FUkdFX0FDVElPTiBNRVRIT0QKQEAgLTExMDEsNiArMTEwMSw3 IEBAIHN0bXQ6CiAJCQl8IEltcG9ydEZvcmVpZ25TY2hlbWFTdG10CiAJCQl8IEluZGV4U3RtdAog CQkJfCBJbnNlcnRTdG10CisJCQl8IExldFN0bXQKIAkJCXwgTGlzdGVuU3RtdAogCQkJfCBSZWZy ZXNoTWF0Vmlld1N0bXQKIAkJCXwgTG9hZFN0bXQKQEAgLTEzMDI5LDYgKzEzMDMwLDM3IEBAIG9w dF9ob2xkOiAvKiBFTVBUWSAqLwkJCQkJCXsgJCQgPSAwOyB9CiAJCQl8IFdJVEhPVVQgSE9MRAkJ CQkJeyAkJCA9IDA7IH0KIAkJOwogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKgkJUVVF Ulk6CisgKgkJCQlMRVQgU1RBVEVNRU5UCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworTGV0 U3RtdDoJTEVUIENvbElkICc9JyBhX2V4cHIKKwkJCQl7CisJCQkJCUxldFN0bXQJICAgKm4gPSBt YWtlTm9kZShMZXRTdG10KTsKKwkJCQkJU2VsZWN0U3RtdCAqc2VsZWN0OworCQkJCQlSZXNUYXJn ZXQgICpyZXM7CisKKwkJCQkJbi0+dGFyZ2V0ID0gJDI7CisKKwkJCQkJc2VsZWN0ID0gbWFrZU5v ZGUoU2VsZWN0U3RtdCk7CisJCQkJCXJlcyA9IG1ha2VOb2RlKFJlc1RhcmdldCk7CisKKwkJCQkJ LyogY3JlYXRlIHRhcmdldCBsaXN0IGZvciBpbXBsaWNpdCBxdWVyeSAqLworCQkJCQlyZXMtPm5h bWUgPSBOVUxMOworCQkJCQlyZXMtPmluZGlyZWN0aW9uID0gTklMOworCQkJCQlyZXMtPnZhbCA9 IChOb2RlICopICQ0OworCQkJCQlyZXMtPmxvY2F0aW9uID0gQDQ7CisKKwkJCQkJc2VsZWN0LT50 YXJnZXRMaXN0ID0gbGlzdF9tYWtlMShyZXMpOworCQkJCQluLT5xdWVyeSA9IChOb2RlICopIHNl bGVjdDsKKworCQkJCQluLT5sb2NhdGlvbiA9IEAyOworCQkJCQkkJCA9IChOb2RlICopIG47CisJ CQkJfQorCQk7CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKICAqCQlRVUVSWToKQEAgLTE4 MTM5LDYgKzE4MTcxLDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBMQVJHRV9QCiAJCQl8 IExBU1RfUAogCQkJfCBMRUFLUFJPT0YKKwkJCXwgTEVUCiAJCQl8IExFVkVMCiAJCQl8IExJU1RF TgogCQkJfCBMT0FECkBAIC0xODc1Nyw2ICsxODc5MCw3IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoK IAkJCXwgTEVBS1BST09GCiAJCQl8IExFQVNUCiAJCQl8IExFRlQKKwkJCXwgTEVUCiAJCQl8IExF VkVMCiAJCQl8IExJS0UKIAkJCXwgTElTVEVOCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfYWdnLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKaW5kZXggZDAx ODdlYTg0YTAuLjBhNWFiNjc4YWZjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFy c2VfYWdnLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jCkBAIC01ODQsNiAr NTg0LDEwIEBAIGNoZWNrX2FnZ2xldmVsc19hbmRfY29uc3RyYWludHMoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBOb2RlICpleHByKQogCQkJZXJya2luZCA9IHRydWU7CiAJCQlicmVhazsKIAorCQljYXNl IEVYUFJfS0lORF9MRVRfVEFSR0VUOgorCQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsKKwog CQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJl LCBzbyB0aGF0IHRoZQogCQkJICogY29tcGlsZXIgd2lsbCB3YXJuIGlmIHdlIGFkZCBhIG5ldyBQ YXJzZUV4cHJLaW5kIHdpdGhvdXQKQEAgLTEwMjMsNiArMTAyNyw5IEBAIHRyYW5zZm9ybVdpbmRv d0Z1bmNDYWxsKFBhcnNlU3RhdGUgKnBzdGF0ZSwgV2luZG93RnVuYyAqd2Z1bmMsCiAJCWNhc2Ug RVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJCQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOworCQlj YXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgorCQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsK IAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBo ZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4 cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKaW5kZXggYWExMTBlODBiMDYu LjJhNzVlNmVlNmM0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5j CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKQEAgLTU5Miw2ICs1OTIsOSBA QCB0cmFuc2Zvcm1Db2x1bW5SZWYoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDb2x1bW5SZWYgKmNyZWYp CiAJCWNhc2UgRVhQUl9LSU5EX1BBUlRJVElPTl9CT1VORDoKIAkJCWVyciA9IF8oImNhbm5vdCB1 c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBwYXJ0aXRpb24gYm91bmQgZXhwcmVzc2lvbiIpOwogCQkJ YnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6CisJCQllcnIgPSBfKCJjYW5ub3Qg dXNlIGNvbHVtbiByZWZlcmVuY2UgYXMgdGFyZ2V0IG9mIExFVCBjb21tYW5kIik7CisJCQlicmVh azsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2Fz ZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtOTYyLDYgKzk2NSw3IEBAIGV4cHJfa2luZF9hbGxvd3Nf c2Vzc2lvbl92YXJpYWJsZXMoUGFyc2VFeHByS2luZCBwX2V4cHJfa2luZCkKIAkJY2FzZSBFWFBS X0tJTkRfUkVUVVJOSU5HOgogCQljYXNlIEVYUFJfS0lORF9WQUxVRVM6CiAJCWNhc2UgRVhQUl9L SU5EX1ZBTFVFU19TSU5HTEU6CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6CiAJCQlyZXN1 bHQgPSB0cnVlOwogCQkJYnJlYWs7CiAKQEAgLTE5OTAsNiArMTk5NCw5IEBAIHRyYW5zZm9ybVN1 YkxpbmsoUGFyc2VTdGF0ZSAqcHN0YXRlLCBTdWJMaW5rICpzdWJsaW5rKQogCQljYXNlIEVYUFJf S0lORF9HRU5FUkFURURfQ09MVU1OOgogCQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBp biBjb2x1bW4gZ2VuZXJhdGlvbiBleHByZXNzaW9uIik7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBS X0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVyciA9IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgYXMgYSB0 YXJnZXQgb2YgTEVUIGNvbW1hbmQiKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUg aXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCkBAIC0z MzQ5LDYgKzMzNTYsOCBAQCBQYXJzZUV4cHJLaW5kTmFtZShQYXJzZUV4cHJLaW5kIGV4cHJLaW5k KQogCQkJcmV0dXJuICJHRU5FUkFURUQgQVMiOwogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJL OgogCQkJcmV0dXJuICJDWUNMRSI7CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6CisJCQly ZXR1cm4gIkxFVCI7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRl ZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV9mdW5jLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4 IDI0ZjY3NDU5MjNiLi4yZTYzYTU2YmVlMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2Z1bmMuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0y NzgzLDYgKzI3ODMsOSBAQCBjaGVja19zcmZfY2FsbF9wbGFjZW1lbnQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50IGxvY2F0aW9uKQogCQljYXNlIEVYUFJfS0lORF9DWUNM RV9NQVJLOgogCQkJZXJya2luZCA9IHRydWU7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRf TEVUX1RBUkdFVDoKKwkJCWVycmtpbmQgPSB0cnVlOworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkg KiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0 aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQv dGNvcC91dGlsaXR5LmMKaW5kZXggOTljOTViODA3NjcuLjQ4NWY3MjQwODIxIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxp dHkuYwpAQCAtMjM3LDYgKzIzNyw3IEBAIENsYXNzaWZ5VXRpbGl0eUNvbW1hbmRBc1JlYWRPbmx5 KE5vZGUgKnBhcnNldHJlZSkKIAogCQljYXNlIFRfQ2FsbFN0bXQ6CiAJCWNhc2UgVF9Eb1N0bXQ6 CisJCWNhc2UgVF9MZXRTdG10OgogCQkJewogCQkJCS8qCiAJCQkJICogQ29tbWFuZHMgaW5zaWRl IHRoZSBETyBibG9jayBvciB0aGUgY2FsbGVkIHByb2NlZHVyZSBtaWdodApAQCAtMTA3NSw2ICsx MDc2LDExIEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJ CURyb3BWYXJpYWJsZUJ5TmFtZSgoKERyb3BTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpLT5u YW1lKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgVF9MZXRTdG10OgorCQkJRXhlY3V0ZUxldFN0bXQo cHN0YXRlLCAoTGV0U3RtdCAqKSBwYXJzZXRyZWUsIHBhcmFtcywKKwkJCQkJCSAgIHF1ZXJ5RW52 LCBxYyk7CisJCQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJLyogQWxsIG90aGVyIHN0YXRlbWVu dCB0eXBlcyBoYXZlIGV2ZW50IHRyaWdnZXIgc3VwcG9ydCAqLwogCQkJUHJvY2Vzc1V0aWxpdHlT bG93KHBzdGF0ZSwgcHN0bXQsIHF1ZXJ5U3RyaW5nLApAQCAtMjIyMCw2ICsyMjI2LDEwIEBAIFV0 aWxpdHlDb250YWluc1F1ZXJ5KE5vZGUgKnBhcnNldHJlZSkKIAkJCQlyZXR1cm4gVXRpbGl0eUNv bnRhaW5zUXVlcnkocXJ5LT51dGlsaXR5U3RtdCk7CiAJCQlyZXR1cm4gcXJ5OwogCisJCWNhc2Ug VF9MZXRTdG10OgorCQkJcXJ5ID0gY2FzdE5vZGUoUXVlcnksICgoTGV0U3RtdCAqKSBwYXJzZXRy ZWUpLT5xdWVyeSk7CisJCQlyZXR1cm4gcXJ5OworCiAJCWRlZmF1bHQ6CiAJCQlyZXR1cm4gTlVM TDsKIAl9CkBAIC0yNDE1LDYgKzI0MjUsMTAgQEAgQ3JlYXRlQ29tbWFuZFRhZyhOb2RlICpwYXJz ZXRyZWUpCiAJCQl0YWcgPSBDTURUQUdfU0VMRUNUOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xl dFN0bXQ6CisJCQl0YWcgPSBDTURUQUdfTEVUOworCQkJYnJlYWs7CisKIAkJCS8qIHV0aWxpdHkg c3RhdGVtZW50cyAtLS0gc2FtZSB3aGV0aGVyIHJhdyBvciBjb29rZWQgKi8KIAkJY2FzZSBUX1Ry YW5zYWN0aW9uU3RtdDoKIAkJCXsKQEAgLTMzMDUsNiArMzMxOSw3IEBAIEdldENvbW1hbmRMb2dM ZXZlbChOb2RlICpwYXJzZXRyZWUpCiAJCQlicmVhazsKIAogCQljYXNlIFRfUExBc3NpZ25TdG10 OgorCQljYXNlIFRfTGV0U3RtdDoKIAkJCWxldiA9IExPR1NUTVRfQUxMOwogCQkJYnJlYWs7CiAK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYwppbmRleCA3N2YxMjYzZDc5OS4uNTEzYzVkOTQyOGYgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKQEAgLTEyNjUsOCArMTI2NSw4IEBAIHN0YXRpYyBjb25zdCBjaGFy ICpjb25zdCBzcWxfY29tbWFuZHNbXSA9IHsKIAkiQUJPUlQiLCAiQUxURVIiLCAiQU5BTFlaRSIs ICJCRUdJTiIsICJDQUxMIiwgIkNIRUNLUE9JTlQiLCAiQ0xPU0UiLCAiQ0xVU1RFUiIsCiAJIkNP TU1FTlQiLCAiQ09NTUlUIiwgIkNPUFkiLCAiQ1JFQVRFIiwgIkRFQUxMT0NBVEUiLCAiREVDTEFS RSIsCiAJIkRFTEVURSBGUk9NIiwgIkRJU0NBUkQiLCAiRE8iLCAiRFJPUCIsICJFTkQiLCAiRVhF Q1VURSIsICJFWFBMQUlOIiwKLQkiRkVUQ0giLCAiR1JBTlQiLCAiSU1QT1JUIEZPUkVJR04gU0NI RU1BIiwgIklOU0VSVCBJTlRPIiwgIkxJU1RFTiIsICJMT0FEIiwgIkxPQ0siLAotCSJNRVJHRSBJ TlRPIiwgIk1PVkUiLCAiTk9USUZZIiwgIlBSRVBBUkUiLAorCSJGRVRDSCIsICJHUkFOVCIsICJJ TVBPUlQgRk9SRUlHTiBTQ0hFTUEiLCAiSU5TRVJUIElOVE8iLCAiTEVUIiwKKwkiTElTVEVOIiwg IkxPQUQiLCAiTE9DSyIsICJNRVJHRSBJTlRPIiwgIk1PVkUiLCAiTk9USUZZIiwgIlBSRVBBUkUi LAogCSJSRUFTU0lHTiIsICJSRUZSRVNIIE1BVEVSSUFMSVpFRCBWSUVXIiwgIlJFSU5ERVgiLCAi UkVMRUFTRSIsCiAJIlJFU0VUIiwgIlJFVk9LRSIsICJST0xMQkFDSyIsCiAJIlNBVkVQT0lOVCIs ICJTRUNVUklUWSBMQUJFTCIsICJTRUxFQ1QiLCAiU0VUIiwgIlNIT1ciLCAiU1RBUlQiLApAQCAt NDg2OCw2ICs0ODY4LDExIEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAog CWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJWQUxVRVMiKSAmJiAhVGFpbE1hdGNoZXMoIkRFRkFVTFQi LCAiVkFMVUVTIikpCiAJCUNPTVBMRVRFX1dJVEgoIigiKTsKIAorLyogTEVUICovCisJLyogQ29t cGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8KKwllbHNlIGlmIChUYWlsTWF0Y2hlcygi TEVUIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRIKCI9Iik7CisKIC8qIExPQ0sgKi8KIAkv KiBDb21wbGV0ZSBMT0NLIFtUQUJMRV0gW09OTFldIHdpdGggYSBsaXN0IG9mIHRhYmxlcyAqLwog CWVsc2UgaWYgKE1hdGNoZXMoIkxPQ0siKSkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuaAppbmRleCA2MTBiNzU3ODk5ZS4uYzRiNGQ5ZTY4MzIgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTE2LDggKzE2LDEwIEBACiAjZGVmaW5lIFNFU1NJ T05WQVJJQUJMRV9ICiAKICNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFkZHJlc3MuaCIKKyNpbmNs dWRlICJub2Rlcy9wYXJhbXMuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogI2lu Y2x1ZGUgIm5vZGVzL3BhcnNlbm9kZXMuaCIKKyNpbmNsdWRlICJ0Y29wL2NtZHRhZy5oIgogCiBl eHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Np b25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2 YXJuYW1lKTsKQEAgLTMyLDQgKzM0LDcgQEAgZXh0ZXJuIHZvaWQgZ2V0X3Nlc3Npb25fdmFyaWFi bGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCiAJCQkJCQkJCQkJCQkJaW50MzIg KnR5cG1vZCwKIAkJCQkJCQkJCQkJCQlPaWQgKmNvbGxpZCk7CiAKK2V4dGVybiB2b2lkIEV4ZWN1 dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5m byBwYXJhbXMsCisJCQkJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVudiwgUXVlcnlDb21w bGV0aW9uICpxYyk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGM3OWYwN2Yz YzQwLi5mNWI2NWY3ZDBlOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMTQ3LDYgKzE0Nyw5 IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5CiAJICovCiAJaW50CQkJcmVzdWx0UmVsYXRpb24gcGdf bm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCisJLyogdGFyZ2V0IHZhcmlhYmxlIG9m IExFVCBzdGF0ZW1lbnQgKi8KKwljaGFyCSAgICpyZXN1bHRWYXJpYWJsZTsKKwogCS8qIGhhcyBh Z2dyZWdhdGVzIGluIHRsaXN0IG9yIGhhdmluZ1F1YWwgKi8KIAlib29sCQloYXNBZ2dzIHBnX25v ZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBoYXMgd2luZG93IGZ1bmN0aW9ucyBp biB0bGlzdCAqLwpAQCAtMjE5OSw2ICsyMjAyLDE4IEBAIHR5cGVkZWYgc3RydWN0IE1lcmdlU3Rt dAogCVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLwogfSBNZXJnZVN0 bXQ7CiAKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCQlMZXQgU3RhdGVtZW50CisgKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IExldFN0bXQKK3sKKwlO b2RlVGFnCQl0eXBlOworCWNoYXIJICAgKnRhcmdldDsJCQkvKiB0YXJnZXQgdmFyaWFibGUgKi8K KwlOb2RlCSAgICpxdWVyeTsJCQkvKiBzb3VyY2UgZXhwcmVzc2lvbiAqLworCVBhcnNlTG9jCWxv Y2F0aW9uOworfSBMZXRTdG10OworCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgkJU2Vs ZWN0IFN0YXRlbWVudAogICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rl cy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggN2FjYzllNTFmMGUuLjg0 MDdmOGFmZmUxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMjc0LDYgKzI3NCw5IEBAIHR5cGVk ZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAogCS8qIGxpc3Qgb2YgdXNlZCBzZXNzaW9uIHZhcmlh YmxlcyAqLwogCUxpc3QJICAgKnNlc3Npb25WYXJpYWJsZXM7CisKKwkvKiBuYW1lIG9mIHNlc3Np b24gdmFyaWFibGUgdXNlZCBsaWtlIHRhcmdldCBvZiBMRVQgY29tbWFuZCAqLworCWNoYXIJICAg KnJlc3VsdFZhcmlhYmxlOwogfSBQbGFubmVyR2xvYmFsOwogCiAvKiBtYWNybyBmb3IgZmV0Y2hp bmcgdGhlIFBsYW4gYXNzb2NpYXRlZCB3aXRoIGEgU3ViUGxhbiBub2RlICovCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKaW5kZXggZDRiMTIyM2EzM2UuLmNhNjFlMThkOGFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0y NTgsNiArMjU4LDcgQEAgUEdfS0VZV09SRCgibGVhZGluZyIsIExFQURJTkcsIFJFU0VSVkVEX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsZWFrcHJvb2YiLCBMRUFLUFJPT0YsIFVO UkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImxlYXN0IiwgTEVBU1Qs IENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsZWZ0IiwgTEVGVCwg VFlQRV9GVU5DX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoImxldCIsIExF VCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGV2ZWwiLCBM RVZFTCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGlrZSIs IExJS0UsIFRZUEVfRlVOQ19OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJs aW1pdCIsIExJTUlULCBSRVNFUlZFRF9LRVlXT1JELCBBU19MQUJFTCkKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vf bm9kZS5oCmluZGV4IDI3ODU5OGE5MGY3Li4zYWE4NzRlNDkxMCAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vf bm9kZS5oCkBAIC04Miw2ICs4Miw3IEBAIHR5cGVkZWYgZW51bSBQYXJzZUV4cHJLaW5kCiAJRVhQ Ul9LSU5EX0NPUFlfV0hFUkUsCQkvKiBXSEVSRSBjb25kaXRpb24gaW4gQ09QWSBGUk9NICovCiAJ RVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU4sIC8qIGdlbmVyYXRpb24gZXhwcmVzc2lvbiBmb3Ig YSBjb2x1bW4gKi8KIAlFWFBSX0tJTkRfQ1lDTEVfTUFSSywJCS8qIGN5Y2xlIG1hcmsgdmFsdWUg Ki8KKwlFWFBSX0tJTkRfTEVUX1RBUkdFVCwJCS8qIG9ubHkgc2Vzc2lvbiB2YXJpYWJsZXMgKi8K IH0gUGFyc2VFeHByS2luZDsKIAogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRh Z2xpc3QuaCBiL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oCmluZGV4IDRiOTY0ZDBmYjVh Li45NDVhM2EwZjI0YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgK KysrIGIvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKQEAgLTE4NSw2ICsxODUsNyBAQCBQ R19DTURUQUcoQ01EVEFHX0dSQU5ULCAiR1JBTlQiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19D TURUQUcoQ01EVEFHX0dSQU5UX1JPTEUsICJHUkFOVCBST0xFIiwgZmFsc2UsIGZhbHNlLCBmYWxz ZSkKIFBHX0NNRFRBRyhDTURUQUdfSU1QT1JUX0ZPUkVJR05fU0NIRU1BLCAiSU1QT1JUIEZPUkVJ R04gU0NIRU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19JTlNFUlQs ICJJTlNFUlQiLCBmYWxzZSwgZmFsc2UsIHRydWUpCitQR19DTURUQUcoQ01EVEFHX0xFVCwgIkxF VCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0xJU1RFTiwgIkxJU1RF TiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0xPQUQsICJMT0FEIiwg ZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfTE9DS19UQUJMRSwgIkxPQ0sg VEFCTEUiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CmluZGV4IDE1MTliZjcyM2UwLi41OTk3 NTFlYzVjOCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zh cmlhYmxlc19kbWwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92 YXJpYWJsZXNfZG1sLm91dApAQCAtMTMzLDMgKzEzMywxNTkgQEAgUkVTRVQgbWluX3BhcmFsbGVs X3RhYmxlX3NjYW5fc2l6ZTsKIFJFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7 CiBEUk9QIFRBQkxFIHRlc3R2YXJfdGVzdHRhYjsKIERST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsK K0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDMgQVMgbnVtZXJpYzsKKy0tIExFVCBzdG10 IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBDVEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0g My4xNCkgU0VMRUNUICogRlJPTSB4OworRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVhciAi TEVUIgorTElORSAxOiBXSVRIIHggQVMgKExFVCAgdGVtcF92YXIwMyA9IDMuMTQpIFNFTEVDVCAq IEZST00geDsKKyAgICAgICAgICAgICAgICAgICBeCistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1 bHQgd2l0aCBleGFjdGx5IG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVz KDEsMSk7CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMyk7CisgdGVtcF92YXIwMyAKKy0tLS0t LS0tLS0tLQorICAgICAgICAgIDEKKygxIHJvdykKKworLS0gc2hvdWxkIGZhaWwKK0xFVCB0ZW1w X3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJu ZWQgbW9yZSB0aGFuIG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEs MCk7CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbm8gcm93cworQ1JFQVRFIE9SIFJFUExB Q0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKQorUkVUVVJOUyB2b2lkIEFTICQkCitM RVQgdGVtcF92YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ugc3FsOworQ1JFQVRFIE9SIFJFUExBQ0Ug RlVOQ1RJT04gdGVzdHZhcl9zcWwwMigpCitSRVRVUk5TIG51bWVyaWMgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyQkIExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3Nx bDAxKDMuMTQpOworIHRlc3R2YXJfc3FsMDEgCistLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykK KworU0VMRUNUIHRlc3R2YXJfc3FsMDIoKSwgVkFSSUFCTEUodGVtcF92YXIwMyk7CisgdGVzdHZh cl9zcWwwMiB8IHRlbXBfdmFyMDMgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgICAg ICAgICAgMy4xNCB8ICAgICAgIDMuMTQKKygxIHJvdykKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVO Q1RJT04gdGVzdHZhcl9wbCh2YXJjaGFyKQorUkVUVVJOUyB2YXJjaGFyIEFTICQkCitCRUdJTgor ICBMRVQgdGVtcF92YXIwMyA9ICQxOjpudW1lcmljOworICBSRVRVUk4gVkFSSUFCTEUodGVtcF92 YXIwMyk7CitFTkQKKyQkIExBTkdVQUdFIHBscGdzcWwgU0VDVVJJVFkgREVGSU5FUjsKK1NFTEVD VCB0ZXN0dmFyX3BsKCczLjE0Jyk7CisgdGVzdHZhcl9wbCAKKy0tLS0tLS0tLS0tLQorIDMuMTQK KygxIHJvdykKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAzOworU0VUIHBsYW5fY2FjaGVfbW9k ZSB0byBmb3JjZV9nZW5lcmljX3BsYW47CistLSBzaG91bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVz dHZhcl9zcWwwMSgzLjE0KTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMyIg ZG9lc24ndCBleGlzdAorQ09OVEVYVDogIFNRTCBmdW5jdGlvbiAidGVzdHZhcl9zcWwwMSIgZHVy aW5nIGlubGluaW5nCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAz KTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBleGlzdAor U0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQxNTkyJyk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUg InRlbXBfdmFyMDMiIGRvZXNuJ3QgZXhpc3QKK0NPTlRFWFQ6ICBTUUwgc3RhdGVtZW50ICJMRVQg dGVtcF92YXIwMyA9ICQxOjpudW1lcmljIgorUEwvcGdTUUwgZnVuY3Rpb24gdGVzdHZhcl9wbChj aGFyYWN0ZXIgdmFyeWluZykgbGluZSAzIGF0IFNRTCBzdGF0ZW1lbnQKKy0tIGNhbiB3b3JrIGFn YWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIw MyBBUyBudW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CisgdGVzdHZhcl9zcWww MSAKKy0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigp LCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyB0ZXN0dmFyX3NxbDAyIHwgdGVtcF92YXIwMyAKKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyAgICAgICAgICAzLjE0IHwgICAgICAgMy4xNAor KDEgcm93KQorCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0dmFyX3BsIAor LS0tLS0tLS0tLS0tCisgMy4xNDE1OTIKKygxIHJvdykKKworQ1JFQVRFIFJPTEUgcmVncmVzc19z ZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wNDsKK1NFVCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92 YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CistLSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3Fs MDEoMy4xNCk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxl IHRlbXBfdmFyMDMKK0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsMDEiIHN0YXRl bWVudCAxCistLSBzaG91bGQgYmUgb2sgKHNlY3VyaXR5IGRlZmluZXIpCitTRUxFQ1QgdGVzdHZh cl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNDE1OTIK KygxIHJvdykKKworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9z cWwwMShudW1lcmljKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMigpOworRFJPUCBGVU5D VElPTiB0ZXN0dmFyX3BsKHZhcmNoYXIpOworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJp YWJsZV90ZXN0X3JvbGVfMDQ7CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CitTRVQgcGxhbl9j YWNoZV9tb2RlIFRPIERFRkFVTFQ7CistLSB0ZXN0IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29sCitD UkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0g JDEgXGJpbmQgMTAgXGcKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsKKyB0ZW1wX3ZhcjA0 IAorLS0tLS0tLS0tLS0tCisgICAgICAgICAxMAorKDEgcm93KQorCitMRVQgdGVtcF92YXIwNCA9 ICQxIFxwYXJzZSBsZXRwcworXGJpbmRfbmFtZWQgbGV0cHMgMTAwIFxnCitTRUxFQ1QgVkFSSUFC TEUodGVtcF92YXIwNCk7CisgdGVtcF92YXIwNCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAxMDAK KygxIHJvdykKKworXGNsb3NlX3ByZXBhcmVkIGxldHBzCitEUk9QIFZBUklBQkxFIHRlbXBfdmFy MDQ7CistLSBvcmlnaW5hbCB2YWx1ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQgd2hlbiBMRVQgZmFp bHMKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDQgQVMgbnVtZXJpYzsKK0xFVCB0ZW1w X3ZhcjA0ID0gNDI7CitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBF UlJPUjogdG9vIG1hbnkgcm93CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFu IG9uZSByb3cKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKyB0 ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAgICA0MgorKDEgcm93KQorCitEUk9QIFZB UklBQkxFIHRlbXBfdmFyMDQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGlu dDsKK0xFVCB0ZW1wX3ZhcjA0ID0gNDI7CitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3Nlcmll cygxLDIpOyAtLSBFUlJPUjogdG9vIG1hbnkgcm93CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJu ZWQgbW9yZSB0aGFuIG9uZSByb3cKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhw ZWN0ZWQgNDIKKyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAgICA0MgorKDEgcm93 KQorCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1w X3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7IC0t IEVSUk9SOiB0b28gbWFueSByb3cKK0VSUk9SOiAgZXhwcmVzc2lvbiByZXR1cm5lZCBtb3JlIHRo YW4gb25lIHJvdworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOyAtLSBleHBlY3RlZCBOVUxM CisgdGVtcF92YXIwNCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworRFJP UCBWQVJJQUJMRSB0ZW1wX3ZhcjA0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25f dmFyaWFibGVzX2RtbC5zcWwKaW5kZXggYmY1NmIxOTQ2N2IuLmZjYjQyOWY2YmJmIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKQEAgLTExOCwz ICsxMTgsMTE2IEBAIFJFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7CiAKIERS T1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOwogRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOworCitD UkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAzIEFTIG51bWVyaWM7CisKKy0tIExFVCBzdG10 IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBDVEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0g My4xNCkgU0VMRUNUICogRlJPTSB4OworCistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0 aCBleGFjdGx5IG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7 CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMyk7CisKKy0tIHNob3VsZCBmYWlsCitMRVQgdGVt cF92YXIwMyA9IGdlbmVyYXRlX3NlcmllcygxLDIpOworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0 ZV9zZXJpZXMoMSwwKTsKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWww MShudW1lcmljKQorUkVUVVJOUyB2b2lkIEFTICQkCitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQg TEFOR1VBR0Ugc3FsOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NxbDAy KCkKK1JFVFVSTlMgbnVtZXJpYyBBUyAkJAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDMpOwor JCQgTEFOR1VBR0Ugc3FsOworCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0 ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxFKHRlbXBfdmFyMDMpOworCitDUkVBVEUgT1IgUkVQTEFD RSBGVU5DVElPTiB0ZXN0dmFyX3BsKHZhcmNoYXIpCitSRVRVUk5TIHZhcmNoYXIgQVMgJCQKK0JF R0lOCisgIExFVCB0ZW1wX3ZhcjAzID0gJDE6Om51bWVyaWM7CisgIFJFVFVSTiBWQVJJQUJMRSh0 ZW1wX3ZhcjAzKTsKK0VORAorJCQgTEFOR1VBR0UgcGxwZ3NxbCBTRUNVUklUWSBERUZJTkVSOwor CitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNCcpOworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7 CisKK1NFVCBwbGFuX2NhY2hlX21vZGUgdG8gZm9yY2VfZ2VuZXJpY19wbGFuOworCistLSBzaG91 bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFy X3NxbDAyKCksIFZBUklBQkxFKHRlbXBfdmFyMDMpOworU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQx NTkyJyk7CisKKy0tIGNhbiB3b3JrIGFnYWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3Fs MDEoMy4xNCk7CitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsK K1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0MTU5MicpOworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nl c3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzA0OworCitTRVQgUk9MRSByZWdyZXNzX3Nlc3Npb25f dmFyaWFibGVfdGVzdF9yb2xlXzA0OworCistLSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJf c3FsMDEoMy4xNCk7CisKKy0tIHNob3VsZCBiZSBvayAoc2VjdXJpdHkgZGVmaW5lcikKK1NFTEVD VCB0ZXN0dmFyX3BsKCczLjE0MTU5MicpOworCitTRVQgUk9MRSBUTyBERUZBVUxUOworCitEUk9Q IEZVTkNUSU9OIHRlc3R2YXJfc3FsMDEobnVtZXJpYyk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJf c3FsMDIoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9wbCh2YXJjaGFyKTsKKworRFJPUCBST0xF IHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CisKK0RST1AgVkFSSUFCTEUg dGVtcF92YXIwMzsKKworU0VUIHBsYW5fY2FjaGVfbW9kZSBUTyBERUZBVUxUOworCistLSB0ZXN0 IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29sCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0 IEFTIGludDsKKworTEVUIHRlbXBfdmFyMDQgPSAkMSBcYmluZCAxMCBcZworU0VMRUNUIFZBUklB QkxFKHRlbXBfdmFyMDQpOworCitMRVQgdGVtcF92YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJp bmRfbmFtZWQgbGV0cHMgMTAwIFxnCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7CisKK1xj bG9zZV9wcmVwYXJlZCBsZXRwcworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CisKKy0tIG9y aWdpbmFsIHZhbHVlIHNob3VsZCBub3QgYmUgY2hhbmdlZCB3aGVuIExFVCBmYWlscworQ1JFQVRF IFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwNCBBUyBudW1lcmljOworCitMRVQgdGVtcF92YXIwNCA9 IDQyOworCitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjog dG9vIG1hbnkgcm93CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7IC0tIGV4cGVjdGVkIDQy CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwNDsKKworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVt cF92YXIwNCBBUyBpbnQ7CisKK0xFVCB0ZW1wX3ZhcjA0ID0gNDI7CisKK0xFVCB0ZW1wX3ZhcjA0 ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7IC0tIEVSUk9SOiB0b28gbWFueSByb3cKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKworRFJPUCBWQVJJQUJMRSB0ZW1w X3ZhcjA0OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKKworTEVU IHRlbXBfdmFyMDQgPSBnZW5lcmF0ZV9zZXJpZXMoMSwyKTsgLS0gRVJST1I6IHRvbyBtYW55IHJv dworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOyAtLSBleHBlY3RlZCBOVUxMCisKK0RST1Ag VkFSSUFCTEUgdGVtcF92YXIwNDsKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBl ZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggMTg0Yjc5 MGRlOTcuLmJkMmQxYWU4YzllIDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtMTU3MCw2 ICsxNTcwLDcgQEAgTGFyZ2VPYmplY3REZXNjCiBMYXRjaAogTGF1bmNoZXJMYXN0U3RhcnRUaW1l c0VudHJ5CiBMZXJwRnVuYworTGV0U3RtdAogTGV4RGVzY3IKIExleGVtZUVudHJ5CiBMZXhlbWVI YXNoS2V5Ci0tIAoyLjUzLjAKCg== --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Disposition: attachment; filename="v20260306-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo73867 RnJvbSA0OTUxYTY0ZWQ1ZjEyMTA5NTZmYTZjMjA1MjM1MDRiOGIzZjkyNjhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIyIE5vdiAyMDI1IDA2OjQwOjQ2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNC8xMV0gZmlsbCBhbiBhdXhpbGlhcnkgYnVmZmVyIHdpdGggdmFsdWVzIG9mIHNlc3Np b24gCiB2YXJpYWJsZXMgdXNlZCBpbiBxdWVyeQoKYW5kIGxvY2tzIHZhcmlhYmxlcyB1c2VkIGlu IHF1ZXJ5LiBOb3cgd2UgY2FuIHJlYWQgdGhlIGNvbnRlbnQgb2YgYW55CnNlc3Npb24gdmFyaWFi bGUuIERpcmVjdCByZWFkaW5nIGZyb20gZXhwcmVzc2lvbiBleGVjdXRvciBpcyBub3QgYWxsb3dl ZCwKc28gd2UgY2Fubm90IHRvIHVzZSBzZXNzaW9uIHZhcmlhYmxlcyBpbnNpZGUgQ0FMTCBvciBF WEVDVVRFIGNvbW1hbmRzCihjYW4gYmUgc3VwcG9ydGVkIHdpdGggZGlyZWN0IGFjY2VzcyB0byBz ZXNzaW9uIHZhcmlhYmxlcyAoZnJvbSBleHByZXNzaW9uCmV4ZWN1dG9yKSAtIHBvc3Rwb25lZCku CgpVc2luZyBzZXNzaW9uIHZhcmlhYmxlcyBibG9ja3MgcGFyYWxsZWwgcXVlcnkgZXhlY3V0aW9u LiBJdCBpcyBub3QKdGVjaG5pY2FsIHByb2JsZW0gKGl0IGp1c3QgbmVlZHMgYSBzZXJpYWxpemF0 aW9uL2Rlc2VyaWFsaXphdGlvbiBvZgplc19zZXNzaW9uX3ZhcmlibGVzIGJ1ZmZlciksIGJ1dCBp dCBpbmNyZWFzZXMgYSBzaXplIG9mIHBhdGNoIChhbmQgdGhlbgppdCBpcyBwb3N0cG9uZWQpLgot LS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgICAgICAgICAgICAgICB8ICAyOSAr KysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jICAgICAgICAgICAgICAgfCAgNDkg KysrKysrKwogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwg IDE0ICsrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCAgICAgICAgfCAx MzUgKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl ICAgICAgICAgICAgfCAgIDUgKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5zcWwgICAgIHwgMTIwICsrKysrKysrKysrKysrKysKIHNyYy90b29scy9wZ2luZGVudC90eXBl ZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgMSArCiA3IGZpbGVzIGNoYW5nZWQsIDM1MyBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z ZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CmluZGV4IDA4OGVjYTI0MDIxLi5lNzIyYzcyMzY0OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvZXhlY0V4cHIuYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CkBAIC0xMDY5LDYgKzEwNjksMzUgQEAgRXhlY0luaXRFeHByUmVjKEV4cHIgKm5vZGUsIEV4cHJT dGF0ZSAqc3RhdGUsCiAJCQkJCQkJRXhwckV2YWxQdXNoU3RlcChzdGF0ZSwgJnNjcmF0Y2gpOwog CQkJCQkJfQogCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgUEFSQU1fVkFSSUFCTEU6CisJCQkJCQl7 CisJCQkJCQkJaW50CQkJZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzID0gMDsKKwkJCQkJCQlTZXNz aW9uVmFyaWFibGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBOVUxMOworCQkJCQkJCVNl c3Npb25WYXJpYWJsZVZhbHVlICp2YXI7CisKKwkJCQkJCQlpZiAoc3RhdGUtPnBhcmVudCAmJiBz dGF0ZS0+cGFyZW50LT5zdGF0ZSkKKwkJCQkJCQl7CisJCQkJCQkJCWVzX3Nlc3Npb25fdmFyaWFi bGVzID0gc3RhdGUtPnBhcmVudC0+c3RhdGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJ CQllc19udW1fc2Vzc2lvbl92YXJpYWJsZXMgPSBzdGF0ZS0+cGFyZW50LT5zdGF0ZS0+ZXNfbnVt X3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJCX0KKworCQkJCQkJCUFzc2VydChlc19zZXNzaW9u X3ZhcmlhYmxlcyk7CisKKwkJCQkJCQkvKiBwYXJhbWV0ZXIgc2FuaXR5IGNoZWNrcyAqLworCQkJ CQkJCWlmIChwYXJhbS0+cGFyYW1pZCA+PSBlc19udW1fc2Vzc2lvbl92YXJpYWJsZXMpCisJCQkJ CQkJCWVsb2coRVJST1IsICJwYXJhbWlkIG9mIFBBUkFNX1ZBUklBQkxFIHBhcmFtIGlzIG91dCBv ZiByYW5nZSIpOworCisJCQkJCQkJdmFyID0gJmVzX3Nlc3Npb25fdmFyaWFibGVzW3BhcmFtLT5w YXJhbWlkXTsKKworCQkJCQkJCS8qCisJCQkJCQkJICogSW4gdGhpcyBjYXNlLCBwYXNzIHRoZSB2 YWx1ZSBsaWtlIGEgY29uc3RhbnQuCisJCQkJCQkJICovCisJCQkJCQkJc2NyYXRjaC5vcGNvZGUg PSBFRU9QX0NPTlNUOworCQkJCQkJCXNjcmF0Y2guZC5jb25zdHZhbC52YWx1ZSA9IHZhci0+dmFs dWU7CisJCQkJCQkJc2NyYXRjaC5kLmNvbnN0dmFsLmlzbnVsbCA9IHZhci0+aXNudWxsOworCQkJ CQkJCUV4cHJFdmFsUHVzaFN0ZXAoc3RhdGUsICZzY3JhdGNoKTsKKwkJCQkJCX0KKwkJCQkJCWJy ZWFrOwogCQkJCQlkZWZhdWx0OgogCQkJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBwYXJh bWtpbmQ6ICVkIiwKIAkJCQkJCQkgKGludCkgcGFyYW0tPnBhcmFta2luZCk7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwppbmRleCBiZmQzZWJjNjAxZS4uYTgwYmUxMzg4YmEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNl LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wYXJ0aXRpb24uaCIKICNpbmNsdWRlICJjb21tYW5kcy9t YXR2aWV3LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3RyaWdnZXIuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgog I2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaCIKQEAgLTE5Niw2ICsxOTcsNTQgQEAg c3RhbmRhcmRfRXhlY3V0b3JTdGFydChRdWVyeURlc2MgKnF1ZXJ5RGVzYywgaW50IGVmbGFncykK IAlBc3NlcnQocXVlcnlEZXNjLT5zb3VyY2VUZXh0ICE9IE5VTEwpOwogCWVzdGF0ZS0+ZXNfc291 cmNlVGV4dCA9IHF1ZXJ5RGVzYy0+c291cmNlVGV4dDsKIAorCS8qCisJICogVGhlIGV4ZWN1dG9y IGRvZXNuJ3Qgd29yayB3aXRoIHNlc3Npb24gdmFyaWFibGVzIGRpcmVjdGx5LiBWYWx1ZXMgb2YK KwkgKiByZWxhdGVkIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjb3BpZWQgdG8gYSBkZWRpY2F0ZWQg YXJyYXksIGFuZCB0aGlzCisJICogYXJyYXkgaXMgcGFzc2VkIHRvIHRoZSBleGVjdXRvci4gVGhp cyBhcnJheSBpcyBzdGFibGUgInNuYXBzaG90IiBvZgorCSAqIHZhbHVlcyBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzLiBUaGVyZSBhcmUgdGhyZWUgYmVuZWZpdHMgb2YgdGhpcworCSAqIHN0cmF0 ZWd5OgorCSAqCisJICogLSBjb25zaXN0ZW5jeSB3aXRoIGV4dGVybmFsIHBhcmFtZXRlcnMgYW5k IHBscGdzcWwgdmFyaWFibGVzLAorCSAqCisJICogLSBzZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUg cGFyYWxsZWwgc2FmZSwKKwkgKgorCSAqIC0gd2UgZG9uJ3QgbmVlZCBtYWtlIGZyZXNoIGNvcHkg Zm9yIGFueSByZWFkIG9mIHNlc3Npb24gdmFyaWFibGUgKHRoaXMKKwkgKiBpcyBuZWNlc3Nhcnkg YmVjYXVzZSB0aGUgaW50ZXJuYWxseSB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUgY2hhbmdl ZAorCSAqIGluc2lkZSBxdWVyeSBleGVjdXRpb24gdGltZSwgYW5kIHRoZW4gYSByZWZlcmVuY2Ug dG8gcHJldmlvdXNseQorCSAqIHJldHVybmVkIHZhbHVlIGNhbiBiZSBjb3JydXB0ZWQpLgorCSAq LworCWlmIChxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5zZXNzaW9uVmFyaWFibGVzKQorCXsKKwkJ aW50CQkJblNlc3Npb25WYXJpYWJsZXM7CisJCWludAkJCWkgPSAwOworCisJCS8qCisJCSAqIElu IHRoaXMgY2FzZSwgdGhlIHF1ZXJ5IHVzZXMgc2Vzc2lvbiB2YXJpYWJsZXMsIGJ1dCB3ZSBoYXZl IHRvCisJCSAqIHByZXBhcmUgdGhlIGFycmF5IHdpdGggcGFzc2VkIHZhbHVlcyAob2YgdXNlZCBz ZXNzaW9uIHZhcmlhYmxlcykKKwkJICogZmlyc3QuCisJCSAqLworCQlBc3NlcnQoIUlzUGFyYWxs ZWxXb3JrZXIoKSk7CisJCW5TZXNzaW9uVmFyaWFibGVzID0gbGlzdF9sZW5ndGgocXVlcnlEZXNj LT5wbGFubmVkc3RtdC0+c2Vzc2lvblZhcmlhYmxlcyk7CisKKwkJLyogY3JlYXRlIHRoZSBhcnJh eSB1c2VkIGZvciBwYXNzaW5nIHZhbHVlcyBvZiB1c2VkIHNlc3Npb24gdmFyaWFibGVzICovCisJ CWVzdGF0ZS0+ZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBwYWxsb2NfYXJyYXkoU2Vzc2lvblZhcmlh YmxlVmFsdWUsCisJCQkJCQkJCQkJCQkJblNlc3Npb25WYXJpYWJsZXMpOworCisJCS8qIGZpbGwg dGhlIGFycmF5ICovCisJCWZvcmVhY2hfbm9kZShQYXJhbSwgcGFyYW0sIHF1ZXJ5RGVzYy0+cGxh bm5lZHN0bXQtPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWVzdGF0ZS0+ZXNfc2Vzc2lvbl92 YXJpYWJsZXNbaV0udmFsdWUgPQorCQkJCUdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2so cGFyYW0tPnBhcmFtdmFybmFtZSwKKwkJCQkJCQkJCQkJCXBhcmFtLT5wYXJhbXR5cGUsCisJCQkJ CQkJCQkJCQlwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJCQkJCQkmZXN0YXRlLT5lc19zZXNz aW9uX3ZhcmlhYmxlc1tpXS5pc251bGwpOworCisJCQlpKys7CisJCX0KKworCQllc3RhdGUtPmVz X251bV9zZXNzaW9uX3ZhcmlhYmxlcyA9IG5TZXNzaW9uVmFyaWFibGVzOworCX0KKwogCS8qCiAJ ICogRmlsbCBpbiB0aGUgcXVlcnkgZW52aXJvbm1lbnQsIGlmIGFueSwgZnJvbSBxdWVyeURlc2Mu CiAJICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaCBiL3NyYy9p bmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IDYzYzA2N2Q1YWFlLi5iM2FmNjAzMmM5MiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKKysrIGIvc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTY0OCw2ICs2NDgsMTYgQEAgdHlwZWRlZiBzdHJ1Y3Qg QXN5bmNSZXF1ZXN0CiAJCQkJCQkJCSAqIHR1cGxlcykgKi8KIH0gQXN5bmNSZXF1ZXN0OwogCisv KiAtLS0tLS0tLS0tLS0tLS0tCisgKiBTZXNzaW9uVmFyaWFibGVWYWx1ZQorICogLS0tLS0tLS0t LS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBTZXNzaW9uVmFyaWFibGVWYWx1ZQoreworCWJv b2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7Cit9IFNlc3Npb25WYXJpYWJsZVZhbHVlOworCiAv KiAtLS0tLS0tLS0tLS0tLS0tCiAgKgkgIEVTdGF0ZSBpbmZvcm1hdGlvbgogICoKQEAgLTcwNyw2 ICs3MTcsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgRVN0YXRlCiAJUGFyYW1MaXN0SW5mbyBlc19wYXJh bV9saXN0X2luZm87CS8qIHZhbHVlcyBvZiBleHRlcm5hbCBwYXJhbXMgKi8KIAlQYXJhbUV4ZWNE YXRhICplc19wYXJhbV9leGVjX3ZhbHM7CS8qIHZhbHVlcyBvZiBpbnRlcm5hbCBwYXJhbXMgKi8K IAorCS8qIFNlc3Npb24gdmFyaWFibGVzIGluZm86ICovCisJaW50CQkJZXNfbnVtX3Nlc3Npb25f dmFyaWFibGVzOwkvKiBudW1iZXIgb2YgdXNlZCB2YXJpYWJsZXMgKi8KKwlTZXNzaW9uVmFyaWFi bGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXM7IC8qIGFycmF5IG9mIGNvcGllcyBvZiB2YWx1 ZXMgKi8KKwogCVF1ZXJ5RW52aXJvbm1lbnQgKmVzX3F1ZXJ5RW52OwkvKiBxdWVyeSBlbnZpcm9u bWVudCAqLwogCiAJLyogT3RoZXIgd29ya2luZyBzdGF0ZTogKi8KZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTUxOWJmNzIzZTAKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQKQEAg LTAsMCArMSwxMzUgQEAKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDEgQVMgaW50Owor LS0gc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIHdpdGhvdXQgdmFyaWFibGUncyBmZW5jZQorLS0g c2hvdWxkIGZhaWwKK1NFTEVDVCB0ZW1wX3ZhcjAxOworRVJST1I6ICBjb2x1bW4gInRlbXBfdmFy MDEiIGRvZXMgbm90IGV4aXN0CitMSU5FIDE6IFNFTEVDVCB0ZW1wX3ZhcjAxOworICAgICAgICAg ICAgICAgXgorLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisg dGVtcF92YXIwMSAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworLS0gc2hv dWxkIG5vdCBjcmFzaAorRE8gJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxF KHRlbXBfdmFyMDEpOworRU5EOworJCQ7CitOT1RJQ0U6ICA8TlVMTD4KKy0tIHZhcmlhYmxlcyBj YW5ub3QgYmUgdXNlZCBieSBwZXJzaXN0ZW50IG9iamVjdHMKKy0tIHRoYXQgY2hlY2tzIGRlcGVu ZGVuY3kKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWSUVXIHRlbXB2IEFTIFNFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIw MSIgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gYSBjYXRhbG9nIG9iamVjdAorQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKQorUkVUVVJOUyBpbnQgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKyQkIExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3Nx bCgpOworIHRlc3R2YXJfc3FsIAorLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgCisoMSByb3cp CisKKy0tIHNlc3Npb24gdmFyaWFibGUgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1ldGVyIG9mIENB TEwgb3IgRVhFQ1VURQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHRlc3R2YXJfcHJvYyhp bnQpCitBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgJDE7CitFTkQ7CiskJCBMQU5H VUFHRSBwbHBnc3FsOworLS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFS SUFCTEUodGVtcF92YXIwMSkpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBp cyBub3Qgc3VwcG9ydGVkIGhlcmUKK0xJTkUgMTogQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUo dGVtcF92YXIwMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitQUkVQ QVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworLS0gc2hvdWxkIG5vdCBjcmFzaAorRVhF Q1VURSBwcmVwc3RtdChWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CitFUlJPUjogIHNlc3Npb24gdmFy aWFibGUgcmVmZXJlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgaGVyZQorTElORSAxOiBFWEVDVVRFIHBy ZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCitEUk9QIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2M7CitERUFMTE9DQVRFIHByZXBz dG10OworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsK K0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc2QoKQorUkVUVVJOUyB2b2lkIEFT ICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VO RDsKKyQkIExBTkdVQUdFIHBscGdzcWw7CistLSBvbmx5IG93bmVyIGNhbiByZWFkIGRhdGEKK1NF VCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CistLSBzaG91 bGQgZmFpbAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRVJST1I6ICBwZXJtaXNzaW9u IGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCistLSBmeCB3aXRoIHNlY3Vy aXR5IGRlZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworRVJST1I6ICBw ZXJtaXNzaW9uIGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCitDT05URVhU OiAgUEwvcGdTUUwgZXhwcmVzc2lvbiAiVkFSSUFCTEUodGVtcF92YXIwMSkiCitQTC9wZ1NRTCBm dW5jdGlvbiB0ZXN0dmFyX3NkKCkgbGluZSAzIGF0IFJBSVNFCitTRVQgUk9MRSBUTyBkZWZhdWx0 OworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAxOworLS0gdGhlcmUgaXMgbm90IHBsYW4gY2FjaGUg aW52YWxpZGF0aW9uCistLSBidXQgc3RpbGwgZnVuY3Rpb25zIHRoYXQgdXNlcyBkcm9wcGVkIHZh cmlhYmxlcworLS0gc2hvdWxkIG5vdCB0byBjcmFzaAorU0VMRUNUIHRlc3R2YXJfc2QoKTsKK0VS Uk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMSIgZG9lc24ndCBleGlzdAorQ09OVEVY VDogIFBML3BnU1FMIGV4cHJlc3Npb24gIlZBUklBQkxFKHRlbXBfdmFyMDEpIgorUEwvcGdTUUwg ZnVuY3Rpb24gdGVzdHZhcl9zZCgpIGxpbmUgMyBhdCBSQUlTRQorU0VMRUNUIHRlc3R2YXJfc3Fs KCk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDEiIGRvZXNuJ3QgZXhpc3QK K0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsIiBkdXJpbmcgaW5saW5pbmcKK0RS T1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zZCgpOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CitDUkVBVEUg VEFCTEUgdGVzdHZhcl90ZXN0dGFiKGEgaW50KTsKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBf dmFyMDIgQVMgaW50OworSU5TRVJUIElOVE8gdGVzdHZhcl90ZXN0dGFiIFNFTEVDVCAqIEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsMTAwMCk7CitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2Eg T04gdGVzdHZhcl90ZXN0dGFiKGEpOworQU5BTFlaRSB0ZXN0dmFyX3Rlc3R0YWI7CistLSBmb3Jj ZSBpbmRleAorU0VUIGVuYWJsZV9zZXFzY2FuIFRPIE9GRjsKKy0tIGluZGV4IHNjYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworICAgICAgICAgICAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmRleCBPbmx5 IFNjYW4gdXNpbmcgdGVzdHZhcl90ZXN0dGFiX2Egb24gdGVzdHZhcl90ZXN0dGFiCisgICBJbmRl eCBDb25kOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93cykKKworRFJPUCBJTkRF WCB0ZXN0dmFyX3Rlc3R0YWJfYTsKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBERUZBVUxUOworLS0g cGFyYWxsZWwgZXhlY3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9m IHBhcmFsbGVsIHBsYW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxs ZWxfdHVwbGVfY29zdCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7 CitTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CistLSBwYXJhbGxlbCBw bGFuIHNob3VsZCBiZSB1c2VkCitFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVz dHZhcl90ZXN0dGFiIFdIRVJFIGEgPSAxMDA7CisgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBHYXRoZXIKKyAgIFdvcmtlcnMgUGxhbm5lZDogMgorICAgLT4gIFBhcmFsbGVsIFNl cSBTY2FuIG9uIHRlc3R2YXJfdGVzdHRhYgorICAgICAgICAgRmlsdGVyOiAoYSA9IDEwMCkKKyg0 IHJvd3MpCisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxkIG5vdCBiZSB1c2VkCitFWFBMQUlOIChD T1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVzdHZhcl90ZXN0dGFiIFdIRVJFIGEgPSBWQVJJQUJM RSh0ZW1wX3ZhcjAyKTsKKyAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIHRlc3R2 YXJfdGVzdHRhYgorICAgRmlsdGVyOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93 cykKKworUkVTRVQgcGFyYWxsZWxfc2V0dXBfY29zdDsKK1JFU0VUIHBhcmFsbGVsX3R1cGxlX2Nv c3Q7CitSRVNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nhbl9zaXplOworUkVTRVQgbWF4X3BhcmFs bGVsX3dvcmtlcnNfcGVyX2dhdGhlcjsKK0RST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOworRFJP UCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXgg OGY5OTg4OTU0ZjkuLmY4ODlhYzI2YjA4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUK QEAgLTE0MCwzICsxNDAsOCBAQCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxlc3BhY2Ug dGVzdCBhdCB0aGUgZW5kIGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2UgY3JlYXRlZCBk dXJpbmcKICMgc2V0dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVzdDogdGFibGVzcGFj ZQorCisjIC0tLS0tLS0tLS0KKyMgQW5vdGhlciBncm91cCBvZiBwYXJhbGxlbCB0ZXN0cyAoc2Vz c2lvbiB2YXJpYWJsZXMgcmVsYXRlZCkKKyMgLS0tLS0tLS0tLQordGVzdDogc2Vzc2lvbl92YXJp YWJsZXNfZGRsIHNlc3Npb25fdmFyaWFibGVzX2RtbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmJmNTZiMTk0NjdiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApAQCAtMCwwICsxLDEyMCBAQAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMSBBUyBpbnQ7CisKKy0tIHNob3VsZCBub3QgYmUgYWNj ZXNzaWJsZSB3aXRob3V0IHZhcmlhYmxlJ3MgZmVuY2UKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1Qg dGVtcF92YXIwMTsKKworLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIw MSk7CisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0RPICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0Ug JyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VORDsKKyQkOworCistLSB2YXJpYWJsZXMgY2Fu bm90IGJlIHVzZWQgYnkgcGVyc2lzdGVudCBvYmplY3RzCistLSB0aGF0IGNoZWNrcyBkZXBlbmRl bmN5CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVklFVyB0ZW1wdiBBUyBTRUxFQ1QgVkFS SUFCTEUodGVtcF92YXIwMSk7CisKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCkKK1JFVFVSTlMgaW50IEFTICQkCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisk JCBMQU5HVUFHRSBzcWw7CisKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCistLSBzZXNzaW9uIHZh cmlhYmxlIGNhbm5vdCBiZSB1c2VkIGFzIHBhcmFtZXRlciBvZiBDQUxMIG9yIEVYRUNVVEUKK0NS RUFURSBPUiBSRVBMQUNFIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2MoaW50KQorQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsICQxOworRU5EOworJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKwor LS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUodGVtcF92YXIw MSkpOworCitQUkVQQVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworCistLSBzaG91bGQg bm90IGNyYXNoCitFWEVDVVRFIHByZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKworRFJP UCBQUk9DRURVUkUgdGVzdHZhcl9wcm9jOworREVBTExPQ0FURSBwcmVwc3RtdDsKKworQ1JFQVRF IFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsKKworQ1JFQVRFIE9S IFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zZCgpCitSRVRVUk5TIHZvaWQgQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRU5EOworJCQgTEFO R1VBR0UgcGxwZ3NxbDsKKworLS0gb25seSBvd25lciBjYW4gcmVhZCBkYXRhCitTRVQgUk9MRSBU TyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAzOworCistLSBzaG91bGQgZmFp bAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworCistLSBmeCB3aXRoIHNlY3VyaXR5IGRl ZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworCitTRVQgUk9MRSBUTyBk ZWZhdWx0OworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDE7CisKKy0tIHRoZXJlIGlzIG5vdCBw bGFuIGNhY2hlIGludmFsaWRhdGlvbgorLS0gYnV0IHN0aWxsIGZ1bmN0aW9ucyB0aGF0IHVzZXMg ZHJvcHBlZCB2YXJpYWJsZXMKKy0tIHNob3VsZCBub3QgdG8gY3Jhc2gKKworU0VMRUNUIHRlc3R2 YXJfc2QoKTsKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc2QoKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nf c2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CisKK0NSRUFURSBUQUJMRSB0ZXN0dmFyX3Rl c3R0YWIoYSBpbnQpOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMiBBUyBpbnQ7CisK K0lOU0VSVCBJTlRPIHRlc3R2YXJfdGVzdHRhYiBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDEwMDApOworCitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2EgT04gdGVzdHZhcl90 ZXN0dGFiKGEpOworCitBTkFMWVpFIHRlc3R2YXJfdGVzdHRhYjsKKworLS0gZm9yY2UgaW5kZXgK K1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBPRkY7CisKKy0tIGluZGV4IHNjYW4gc2hvdWxkIGJlIHVz ZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hF UkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitEUk9QIElOREVYIHRlc3R2YXJfdGVzdHRh Yl9hOworCitTRVQgZW5hYmxlX3NlcXNjYW4gVE8gREVGQVVMVDsKKworLS0gcGFyYWxsZWwgZXhl Y3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9mIHBhcmFsbGVsIHBs YW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxsZWxfdHVwbGVfY29z dCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7CitTRVQgbWF4X3Bh cmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IDEwMDsKKworLS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgbm90IGJlIHVzZWQK K0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hFUkUg YSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitSRVNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0Owor UkVTRVQgcGFyYWxsZWxfdHVwbGVfY29zdDsKK1JFU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemU7CitSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOworCitEUk9QIFRB QkxFIHRlc3R2YXJfdGVzdHRhYjsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKZGlmZiAtLWdp dCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKaW5kZXggZDAyMGFmNjE4ZDAuLjA4ODYyNzAwYTVmIDEwMDY0NAotLS0g YS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdApAQCAtMjc2MSw2ICsyNzYxLDcgQEAgU2VyaWFsaXplZFRyYW5zYWN0 aW9uU3RhdGUKIFNlc3Npb24KIFNlc3Npb25CYWNrdXBTdGF0ZQogU2Vzc2lvbkVuZFR5cGUKK1Nl c3Npb25WYXJpYWJsZVZhbHVlCiBTZXRDb25zdHJhaW50U3RhdGUKIFNldENvbnN0cmFpbnRTdGF0 ZURhdGEKIFNldENvbnN0cmFpbnRUcmlnZ2VyRGF0YQotLSAKMi41My4wCgo= --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Disposition: attachment; filename="v20260306-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo738c8 RnJvbSA0ZjhkOGRhZjY3MDBiMjEwNTIzNWI3ZWM5NDI1ZjUxMzQwMzgyZTJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDIwOjQyOjU2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8xMV0gY29sbGVjdCBzZXNzaW9uIHZhcmlhYmxlcyB1c2VkIGluIHBsYW4gYW5kIGFz c2lnbgogcGFyYW1pZAoKSW4gdGhlIHBsYW4gc3RhZ2Ugd2UgbmVlZCB0byBjb2xsZWN0IHVzZWQg c2Vzc2lvbiB2YXJpYWJsZXMuIE9uIHRoZQpvcmRlciBvZiB0aGlzIGxpc3QsIHRoZSBwYXJhbSBu b2RlcyBnZXRzIHBhcmFtaWQgKGZpeF9wYXJhbV9ub2RlKS4KVGhpcyBudW1iZXIgaXMgdXNlZCAo bGF0ZXIpIGFzIGluZGV4IHRvIGJ1ZmZlciBvZiB2YWx1ZXMgb2YgdGhlCnVzZWQgc2Vzc2lvbiB2 YXJpYWJsZXMuIFRoZSBidWZmZXIgaXMgcHJlcGFyZWQgYW5kIGZpbGxlZCBieSBleGVjdXRvci4K ClNvbWUgdW5zdXBwb3J0ZWQgb3B0aW1pemF0aW9ucyBhcmUgZGlzYWJsZWQ6CgoqIHBhcmFsbGVs IGV4ZWN1dGlvbgoqIHNpbXBsZSBleHByZXNzaW9uIGV4ZWN1dGlvbiBpbiBQTC9wZ1NRTAoqIFNR TCBmdW5jdGlvbnMgaW5saW5pbmcKCkJlZm9yZSBleGVjdXRpb24gb2YgcXVlcnkgd2l0aCBzZXNz aW9uIHZhcmlhYmxlcyB3ZSBuZWVkIHRvIGNvbGxlY3QKdXNlZCBzZXNzaW9uIHZhcmlhYmxlcy4g VGhpcyBsaXN0IGlzIHVzZWQgZm9yIGxvYWRpbmcgdmFyaWFibGVzIHRvCmV4ZWN1dGVkIHF1ZXJ5 LgoKcGxhbgotLS0KIGRvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sICAgICAgICAgICAgICAgIHwg IDYgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgIHwgMTAgKysr CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICB8IDM5ICsrKysrKysr KysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgIHwgMTEgKysrCiBz cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICB8IDk0ICsrKysrKysrKysr KysrKysrKysrKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYyB8 ICAzICsKIHNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgIHwgMzUgKysr KysrKystCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAgICAgICAgICAgICB8IDEwICsr LQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgfCAgMiArCiBzcmMv aW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCAgICAgICAgICAgICB8ICA1ICsrCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wbGFubm9kZXMuaCAgICAgICAgICAgICB8ICAzICsKIHNyYy9pbmNsdWRlL29wdGlt aXplci9wbGFubWFpbi5oICAgICAgICAgIHwgIDIgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE0IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bh cmFsbGVsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGFyYWxsZWwuc2dtbAppbmRleCBhZjQzNDg0NzAz ZS4uODQzZTJjM2Y2NjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCkBAIC01MjQsNiArNTI0LDEyIEBAIEVYUExB SU4gU0VMRUNUICogRlJPTSBwZ2JlbmNoX2FjY291bnRzIFdIRVJFIGZpbGxlciBMSUtFICcleCUn OwogICAgICAgICBQbGFuIG5vZGVzIHRoYXQgcmVmZXJlbmNlIGEgY29ycmVsYXRlZCA8bGl0ZXJh bD5TdWJQbGFuPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgorCisg ICAgPGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzYWdlIG9mIGEgc2Vzc2lvbiB2 YXJpYWJsZS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICA8L2l0ZW1pemVkbGlz dD4KIAogIDxzZWN0MiBpZD0icGFyYWxsZWwtbGFiZWxpbmciPgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVu Y3kuYwppbmRleCA1NzBjNDM0ZWRlOC4uNjFiYjJmNDdhMGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5k ZW5jeS5jCkBAIC0xOTUxLDYgKzE5NTEsMTYgQEAgZmluZF9leHByX3JlZmVyZW5jZXNfd2Fsa2Vy KE5vZGUgKm5vZGUsCiAJewogCQlQYXJhbQkgICAqcGFyYW0gPSAoUGFyYW0gKikgbm9kZTsKIAor CQkvKgorCQkqIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlIHZhcmlhYmxlIGNhbm5vdCBi ZSB1c2VkIGluIHBlcnNpc3RlbnQKKwkJKiBjYXRhbG9nIGJhc2VkIG9iamVjdC4KKwkJKi8KKwkJ aWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBl cnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEg Y2F0YWxvZyBvYmplY3QiLAorCQkJCQkJCXBhcmFtLT5wYXJhbXZhcm5hbWUpKSk7CisKIAkJLyog QSBwYXJhbWV0ZXIgbXVzdCBkZXBlbmQgb24gdGhlIHBhcmFtZXRlcidzIGRhdGF0eXBlICovCiAJ CWFkZF9vYmplY3RfYWRkcmVzcyhUeXBlUmVsYXRpb25JZCwgcGFyYW0tPnBhcmFtdHlwZSwgMCwK IAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwppbmRleCA3NWM2MmJhZWNhMi4uZjhlYTg1MjZlMWQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTEyNyw2ICsxMjcsNDUgQEAgZ2V0X3Nlc3Npb25f dmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCiAJKmNvbGxpZCA9IHN2 YXItPnZhcmNvbGxhdGlvbjsKIH0KIAorLyoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWx1 ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSAoaW4gdGhlIGN1cnJlbnQgbWVtb3J5CisgKiBjb250 ZXh0KS4KKyAqLworRGF0dW0KK0dldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAq dmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJCQkJCQkJCWJvb2wg KmlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwlEYXR1bQkJcmVzdWx0OworCisJc3ZhciA9 IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBlICE9IHR5cGlk IHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygic2Vzc2lvbiB2 YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJCQkJCXZhcm5h bWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1vZCksCisJCQkJ CQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+dmFydHlwbW9k KSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJ aWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0Up LAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVz IiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPmlzbnVsbCkKKwkJcmVzdWx0ID0g ZGF0dW1Db3B5KHN2YXItPnZhbHVlLCBzdmFyLT50eXBieXZhbCwgc3Zhci0+dHlwbGVuKTsKKwll bHNlCisJCXJlc3VsdCA9IChEYXR1bSkgMDsKKworCSppc251bGwgPSBzdmFyLT5pc251bGw7CisK KwlyZXR1cm4gcmVzdWx0OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxh bm5lci5jCmluZGV4IDQyNjA0YTBmNzVjLi41M2FmMjhjNDlkOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc0LDYgKzM3NCw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVl cnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAog CWdsb2ItPmRlcGVuZHNPblJvbGUgPSBmYWxzZTsKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5 ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CisJZ2xvYi0+c2Vz c2lvblZhcmlhYmxlcyA9IE5JTDsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFz aWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKQEAgLTY2Nyw2ICs2 NjgsOSBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlf c3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAkvKiB1dGlsaXR5U3RtdCBzaG91bGQgYmUgbnVs bCwgYnV0IHdlIG1pZ2h0IGFzIHdlbGwgY29weSBpdCAqLwogCXJlc3VsdC0+dXRpbGl0eVN0bXQg PSBwYXJzZS0+dXRpbGl0eVN0bXQ7CiAJcmVzdWx0LT5lbGlkZWROb2RlcyA9IGdsb2ItPmVsaWRl ZE5vZGVzOworCisJcmVzdWx0LT5zZXNzaW9uVmFyaWFibGVzID0gZ2xvYi0+c2Vzc2lvblZhcmlh YmxlczsKKwogCXJlc3VsdC0+c3RtdF9sb2NhdGlvbiA9IHBhcnNlLT5zdG10X2xvY2F0aW9uOwog CXJlc3VsdC0+c3RtdF9sZW4gPSBwYXJzZS0+c3RtdF9sZW47CiAKQEAgLTg1NSw2ICs4NTksMTMg QEAgc3VicXVlcnlfcGxhbm5lcihQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFyc2UsIGNo YXIgKnBsYW5fbmFtZSwKIAkgKi8KIAlwdWxsX3VwX3N1YnF1ZXJpZXMocm9vdCk7CiAKKwkvKgor CSAqIENoZWNrIGlmIHNvbWUgc3VicXVlcnkgdXNlcyBhIHNlc3Npb24gdmFyaWFibGUuICBUaGUg ZmxhZworCSAqIGhhc1Nlc3Npb25WYXJpYWJsZXMgc2hvdWxkIGJlIHRydWUgaWYgdGhlIHF1ZXJ5 IG9yIHNvbWUgc3VicXVlcnkgdXNlcyBhCisJICogc2Vzc2lvbiB2YXJpYWJsZS4KKwkgKi8KKwlw dWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhyb290KTsKKwogCS8qCiAJICogSWYgdGhpcyBp cyBhIHNpbXBsZSBVTklPTiBBTEwgcXVlcnksIGZsYXR0ZW4gaXQgaW50byBhbiBhcHBlbmRyZWwu IFdlCiAJICogZG8gdGhpcyBub3cgYmVjYXVzZSBpdCByZXF1aXJlcyBhcHBseWluZyBwdWxsX3Vw X3N1YnF1ZXJpZXMgdG8gdGhlIGxlYWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYwpp bmRleCAxYjViOWI1ZWQ5Yy4uYzk4ZDk2Yzg2OTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9z ZXRyZWZzLmMKQEAgLTIxMCw2ICsyMTAsOCBAQCBzdGF0aWMgTGlzdCAqc2V0X3JldHVybmluZ19j bGF1c2VfcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwKIHN0YXRpYyBMaXN0ICpzZXRfd2lu ZG93YWdnX3J1bmNvbmRpdGlvbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJ CQkJCQkJICAgTGlzdCAqcnVuY29uZGl0aW9uLAogCQkJCQkJCQkJCQkJICAgUGxhbiAqcGxhbik7 CitzdGF0aWMgYm9vbCBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIoTm9kZSAq bm9kZSwKKwkJCQkJCQkJCQkJCSBQbGFubmVySW5mbyAqcm9vdCk7CiAKIHN0YXRpYyB2b2lkIHJl Y29yZF9lbGlkZWRfbm9kZShQbGFubmVyR2xvYmFsICpnbG9iLCBpbnQgcGxhbl9ub2RlX2lkLAog CQkJCQkJCSAgIE5vZGVUYWcgZWxpZGVkX3R5cGUsIEJpdG1hcHNldCAqcmVsaWRzKTsKQEAgLTEz NjUsNiArMTM2Nyw1MCBAQCBzZXRfcGxhbl9yZWZzKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpw bGFuLCBpbnQgcnRvZmZzZXQpCiAJcmV0dXJuIHBsYW47CiB9CiAKKy8qCisgKiBTZWFyY2ggdXNh Z2Ugb2Ygc2Vzc2lvbiB2YXJpYWJsZXMgaW4gc3VicXVlcmllcworICovCit2b2lkCitwdWxsX3Vw X2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhQbGFubmVySW5mbyAqcm9vdCkKK3sKKwlRdWVyeQkgICAq cXVlcnkgPSByb290LT5wYXJzZTsKKworCWlmIChxdWVyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcykK Kwl7CisJCXJvb3QtPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSB0cnVlOworCX0KKwllbHNlCisJewor CQkodm9pZCkgcXVlcnlfdHJlZV93YWxrZXIocXVlcnksCisJCQkJCQkJCSBwdWxsX3VwX2hhc19z ZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAodm9pZCAqKSByb290LCAwKTsKKwl9 Cit9CisKK3N0YXRpYyBib29sCitwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIo Tm9kZSAqbm9kZSwgUGxhbm5lckluZm8gKnJvb3QpCit7CisJaWYgKG5vZGUgPT0gTlVMTCkKKwkJ cmV0dXJuIGZhbHNlOworCWlmIChJc0Eobm9kZSwgUXVlcnkpKQorCXsKKwkJUXVlcnkJICAgKnF1 ZXJ5ID0gKFF1ZXJ5ICopIG5vZGU7CisKKwkJaWYgKHF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVz KQorCQl7CisJCQlyb290LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gdHJ1ZTsKKwkJCXJldHVybiBm YWxzZTsKKwkJfQorCisJCS8qIHJlY3Vyc2UgaW50byBzdWJzZWxlY3RzICovCisJCXJldHVybiBx dWVyeV90cmVlX3dhbGtlcigoUXVlcnkgKikgbm9kZSwKKwkJCQkJCQkJIHB1bGxfdXBfaGFzX3Nl c3Npb25fdmFyaWFibGVzX3dhbGtlciwKKwkJCQkJCQkJICh2b2lkICopIHJvb3QsIDApOworCX0K KwlyZXR1cm4gZXhwcmVzc2lvbl90cmVlX3dhbGtlcihub2RlLCBwdWxsX3VwX2hhc19zZXNzaW9u X3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAgKHZvaWQgKikgcm9vdCk7Cit9CisKIC8qCiAg KiBzZXRfaW5kZXhvbmx5c2Nhbl9yZWZlcmVuY2VzCiAgKgkJRG8gc2V0X3BsYW5fcmVmZXJlbmNl cyBwcm9jZXNzaW5nIG9uIGFuIEluZGV4T25seVNjYW4KQEAgLTIxOTIsNiArMjIzOCwxMCBAQCBm aXhfZXhwcl9jb21tb24oUGxhbm5lckluZm8gKnJvb3QsIE5vZGUgKm5vZGUpCiAgKiBJZiBpdCdz IGEgUEFSQU1fTVVMVElFWFBSLCByZXBsYWNlIGl0IHdpdGggdGhlIGFwcHJvcHJpYXRlIFBhcmFt IGZyb20KICAqIHJvb3QtPm11bHRpZXhwcl9wYXJhbXM7IG90aGVyd2lzZSBubyBjaGFuZ2UgaXMg bmVlZGVkLgogICogSnVzdCBmb3IgcGFyYW5vaWEncyBzYWtlLCB3ZSBtYWtlIGEgY29weSBvZiB0 aGUgbm9kZSBpbiBlaXRoZXIgY2FzZS4KKyAqCisgKiBJZiBpdCdzIGEgUEFSQU1fVkFSSUFCTEUs IHRoZW4gd2UgY29sbGVjdCB1c2VkIHNlc3Npb24gdmFyaWFibGVzIGluCisgKiB0aGUgbGlzdCBy b290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGUuICBBbHNvLCBhc3NpZ24gdGhlIHBhcmFtZXRlcidz CisgKiAicGFyYW1pZCIgdG8gdGhlIHBhcmFtZXRlcidzIHBvc2l0aW9uIGluIHRoYXQgbGlzdC4K ICAqLwogc3RhdGljIE5vZGUgKgogZml4X3BhcmFtX25vZGUoUGxhbm5lckluZm8gKnJvb3QsIFBh cmFtICpwKQpAQCAtMjIxMCw2ICsyMjYwLDQzIEBAIGZpeF9wYXJhbV9ub2RlKFBsYW5uZXJJbmZv ICpyb290LCBQYXJhbSAqcCkKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIFBBUkFNX01VTFRJ RVhQUiBJRDogJWQiLCBwLT5wYXJhbWlkKTsKIAkJcmV0dXJuIGNvcHlPYmplY3QobGlzdF9udGgo cGFyYW1zLCBjb2xubyAtIDEpKTsKIAl9CisKKwlpZiAocC0+cGFyYW1raW5kID09IFBBUkFNX1ZB UklBQkxFKQorCXsKKwkJaW50CQkJbiA9IDA7CisKKwkJLyogd2Ugd2lsbCBtb2RpZnkgb2JqZWN0 ICovCisJCXAgPSAoUGFyYW0gKikgY29weU9iamVjdChwKTsKKworCQkvKgorCQkgKiBOb3csIHdl IGNhbiBhY3R1YWxpemUgbGlzdCBvZiBzZXNzaW9uIHZhcmlhYmxlcywgYW5kIHdlIGNhbgorCQkg KiBjb21wbGV0ZSBwYXJhbWlkIHBhcmFtZXRlci4KKwkJICovCisJCWZvcmVhY2hfbm9kZShQYXJh bSwgcGFyYW12YXIsIHJvb3QtPmdsb2ItPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWlmIChz dHJjbXAocGFyYW12YXItPnBhcmFtdmFybmFtZSwgcC0+cGFyYW12YXJuYW1lKSA9PSAwKQorCQkJ eworCQkJCXAtPnBhcmFtaWQgPSBwYXJhbXZhci0+cGFyYW1pZDsKKworCQkJCXJldHVybiAoTm9k ZSAqKSBwOworCQkJfQorCisJCQluICs9IDE7CisJCX0KKworCQlwLT5wYXJhbWlkID0gbjsKKwor CQkvKgorCQkgKiBCZWNhdXNlIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjYXRhbG9nbGVzcywgd2Ug Y2Fubm90IHRvIHVzZSBwbGFuCisJCSAqIGludmFsaWRhdGlvbi4gVGhlbiB3ZSBuZWVkIHRvIGNo ZWNrIHR5cGUsIHR5cG1vZCwgY29sbGlkIGFueSB0aW1lLAorCQkgKiB3aGVuIHdlIGxvYWQgdmFs dWVzIG9mIHNlc3Npb24gdmFyaWFibGVzIHRvIHBhcmFtZXRlcidzIGJ1ZmZlci4KKwkJICogRm9y IHRoaXMgcHVycG9zZSBpdCBpcyBtb3JlIGVhc3kgdG8gc2F2ZSBjb21wbGV0ZSBQYXJhbSBub2Rl LgorCQkgKi8KKwkJcm9vdC0+Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcyA9IGxhcHBlbmQocm9vdC0+ Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcywgcCk7CisKKwkJcmV0dXJuIChOb2RlICopIHA7CisJfQor CiAJcmV0dXJuIChOb2RlICopIGNvcHlPYmplY3QocCk7CiB9CiAKQEAgLTIyNzEsNyArMjM1OCw5 IEBAIGZpeF9hbHRlcm5hdGl2ZV9zdWJwbGFuKFBsYW5uZXJJbmZvICpyb290LCBBbHRlcm5hdGl2 ZVN1YlBsYW4gKmFzcGxhbiwKICAqIHJlcGxhY2luZyBBZ2dyZWYgbm9kZXMgdGhhdCBzaG91bGQg YmUgcmVwbGFjZWQgYnkgaW5pdHBsYW4gb3V0cHV0IFBhcmFtcywKICAqIGNob29zaW5nIHRoZSBi ZXN0IGltcGxlbWVudGF0aW9uIGZvciBBbHRlcm5hdGl2ZVN1YlBsYW5zLAogICogbG9va2luZyB1 cCBvcGVyYXRvciBvcGNvZGUgaW5mbyBmb3IgT3BFeHByIGFuZCByZWxhdGVkIG5vZGVzLAotICog YW5kIGFkZGluZyBPSURzIGZyb20gcmVnY2xhc3MgQ29uc3Qgbm9kZXMgaW50byByb290LT5nbG9i LT5yZWxhdGlvbk9pZHMuCisgKiBhZGRpbmcgT0lEcyBmcm9tIHJlZ2NsYXNzIENvbnN0IG5vZGVz IGludG8gcm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLAorICogYXNzaWduaW5nIHBhcmFtdmFyaWQg dG8gUEFSQU1fVkFSSUFCTEUgcGFyYW1zLCBhbmQgY29sbGVjdGluZyB0aGUKKyAqIG9mIHNlc3Np b24gdmFyaWFibGVzIGluIHRoZSByb290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGVzIGxpc3QuCiAg KgogICogJ25vZGUnOiB0aGUgZXhwcmVzc2lvbiB0byBiZSBtb2RpZmllZAogICogJ3J0b2Zmc2V0 JzogaG93IG11Y2ggdG8gaW5jcmVtZW50IHZhcm5vcyBieQpAQCAtMjI5Myw3ICsyMzgyLDggQEAg Zml4X3NjYW5fZXhwcihQbGFubmVySW5mbyAqcm9vdCwgTm9kZSAqbm9kZSwgaW50IHJ0b2Zmc2V0 LCBkb3VibGUgbnVtX2V4ZWMpCiAJCXJvb3QtPm11bHRpZXhwcl9wYXJhbXMgIT0gTklMIHx8CiAJ CXJvb3QtPmdsb2ItPmxhc3RQSElkICE9IDAgfHwKIAkJcm9vdC0+bWlubWF4X2FnZ3MgIT0gTklM IHx8Ci0JCXJvb3QtPmhhc0FsdGVybmF0aXZlU3ViUGxhbnMpCisJCXJvb3QtPmhhc0FsdGVybmF0 aXZlU3ViUGxhbnMgfHwKKwkJcm9vdC0+aGFzU2Vzc2lvblZhcmlhYmxlcykKIAl7CiAJCXJldHVy biBmaXhfc2Nhbl9leHByX211dGF0b3Iobm9kZSwgJmNvbnRleHQpOwogCX0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jIGIvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3ByZXAvcHJlcGpvaW50cmVlLmMKaW5kZXggYzkwZjRiMzI3MzMuLjJmYzJiNWIz ODk3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUu YworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYwpAQCAtMTY1 Myw2ICsxNjUzLDkgQEAgcHVsbF91cF9zaW1wbGVfc3VicXVlcnkoUGxhbm5lckluZm8gKnJvb3Qs IE5vZGUgKmp0bm9kZSwgUmFuZ2VUYmxFbnRyeSAqcnRlLAogCS8qIElmIHN1YnF1ZXJ5IGhhZCBh bnkgUkxTIGNvbmRpdGlvbnMsIG5vdyBtYWluIHF1ZXJ5IGRvZXMgdG9vICovCiAJcGFyc2UtPmhh c1Jvd1NlY3VyaXR5IHw9IHN1YnF1ZXJ5LT5oYXNSb3dTZWN1cml0eTsKIAorCS8qIGlmIHRoZSBz dWJxdWVyeSBoYWQgc2Vzc2lvbiB2YXJpYWJsZXMsIHRoZSBtYWluIHF1ZXJ5IGRvZXMgdG9vICov CisJcGFyc2UtPmhhc1Nlc3Npb25WYXJpYWJsZXMgfD0gc3VicXVlcnktPmhhc1Nlc3Npb25WYXJp YWJsZXM7CisKIAkvKgogCSAqIHN1YnF1ZXJ5IHdvbid0IGJlIHB1bGxlZCB1cCBpZiBpdCBoYXNB Z2dzLCBoYXNXaW5kb3dGdW5jcywgb3IKIAkgKiBoYXNUYXJnZXRTUkZzLCBzbyBubyB3b3JrIG5l ZWRlZCBvbiB0aG9zZSBmbGFncwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0 aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jCmluZGV4 IGE0MWQ4MTczNGNmLi5hZWFmNGFjNTAyZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3V0aWwvY2xhdXNlcy5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVz ZXMuYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUu aCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiZXhl Y3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRlICJleGVjdXRvci9mdW5jdGlvbnMuaCIKICNpbmNs dWRlICJmdW5jYXBpLmgiCkBAIC05NDQsNiArOTQ1LDEzIEBAIG1heF9wYXJhbGxlbF9oYXphcmRf d2Fsa2VyKE5vZGUgKm5vZGUsIG1heF9wYXJhbGxlbF9oYXphcmRfY29udGV4dCAqY29udGV4dCkK IAkJaWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fRVhURVJOKQogCQkJcmV0dXJuIGZhbHNl OwogCisJCS8qIHdlIGRvbid0IHN1cHBvcnQgcGFzc2luZyBzZXNzaW9uIHZhcmlhYmxlcyB0byB3 b3JrZXJzICovCisJCWlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCQl7 CisJCQlpZiAobWF4X3BhcmFsbGVsX2hhemFyZF90ZXN0KFBST1BBUkFMTEVMX1JFU1RSSUNURUQs IGNvbnRleHQpKQorCQkJCXJldHVybiB0cnVlOworCQl9CisKIAkJaWYgKHBhcmFtLT5wYXJhbWtp bmQgIT0gUEFSQU1fRVhFQyB8fAogCQkJIWxpc3RfbWVtYmVyX2ludChjb250ZXh0LT5zYWZlX3Bh cmFtX2lkcywgcGFyYW0tPnBhcmFtaWQpKQogCQl7CkBAIC0yNDAyLDYgKzI0MTAsNyBAQCBjb252 ZXJ0X3Nhb3BfdG9faGFzaGVkX3Nhb3Bfd2Fsa2VyKE5vZGUgKm5vZGUsIHZvaWQgKmNvbnRleHQp CiAgKgkgIHZhbHVlIG9mIHRoZSBQYXJhbS4KICAqIDIuIEZvbGQgc3RhYmxlLCBhcyB3ZWxsIGFz IGltbXV0YWJsZSwgZnVuY3Rpb25zIHRvIGNvbnN0YW50cy4KICAqIDMuIFJlZHVjZSBQbGFjZUhv bGRlclZhciBub2RlcyB0byB0aGVpciBjb250YWluZWQgZXhwcmVzc2lvbnMuCisgKiA0LiBDdXJy ZW50IHZhbHVlIG9mIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIHVzZWQgZm9yIGVzdGltYXRpb24g dG9vLgogICotLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiBOb2RlICoKQEAgLTI1MjgsNiArMjUz NywyOSBAQCBldmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9kZSAqbm9kZSwKIAkJCQkJ CX0KIAkJCQkJfQogCQkJCX0KKwkJCQllbHNlIGlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFN X1ZBUklBQkxFICYmCisJCQkJCQkgY29udGV4dC0+ZXN0aW1hdGUpCisJCQkJeworCQkJCQlpbnQx NgkJdHlwTGVuOworCQkJCQlib29sCQl0eXBCeVZhbDsKKwkJCQkJRGF0dW0JCXB2YWw7CisJCQkJ CWJvb2wJCWlzbnVsbDsKKworCQkJCQlnZXRfdHlwbGVuYnl2YWwocGFyYW0tPnBhcmFtdHlwZSwg JnR5cExlbiwgJnR5cEJ5VmFsKTsKKworCQkJCQlwdmFsID0gR2V0U2Vzc2lvblZhcmlhYmxlV2l0 aFR5cGVjaGVjayhwYXJhbS0+cGFyYW12YXJuYW1lLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+ cGFyYW10eXBlLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCQkJCSAgICZpc251bGwpOworCisJCQkJCXJldHVybiAoTm9kZSAqKSBtYWtlQ29uc3QocGFy YW0tPnBhcmFtdHlwZSwKKwkJCQkJCQkJCQkJICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCSAgcGFyYW0tPnBhcmFtY29sbGlkLAorCQkJCQkJCQkJCQkgIChpbnQpIHR5cExlbiwKKwkJ CQkJCQkJCQkJICBwdmFsLAorCQkJCQkJCQkJCQkgIGlzbnVsbCwKKwkJCQkJCQkJCQkJICB0eXBC eVZhbCk7CisJCQkJfQogCiAJCQkJLyoKIAkJCQkgKiBOb3QgcmVwbGFjZWFibGUsIHNvIGp1c3Qg Y29weSB0aGUgUGFyYW0gKG5vIG5lZWQgdG8KQEAgLTUxNDEsNyArNTE3Myw4IEBAIGlubGluZV9m dW5jdGlvbihPaWQgZnVuY2lkLCBPaWQgcmVzdWx0X3R5cGUsIE9pZCByZXN1bHRfY29sbGlkLAog CQlxdWVyeXRyZWUtPmxpbWl0T2Zmc2V0IHx8CiAJCXF1ZXJ5dHJlZS0+bGltaXRDb3VudCB8fAog CQlxdWVyeXRyZWUtPnNldE9wZXJhdGlvbnMgfHwKLQkJbGlzdF9sZW5ndGgocXVlcnl0cmVlLT50 YXJnZXRMaXN0KSAhPSAxKQorCQkobGlzdF9sZW5ndGgocXVlcnl0cmVlLT50YXJnZXRMaXN0KSAh PSAxKSB8fAorCQlxdWVyeXRyZWUtPmhhc1Nlc3Npb25WYXJpYWJsZXMpCiAJCWdvdG8gZmFpbDsK IAogCS8qIElmIHRoZSBmdW5jdGlvbiByZXN1bHQgaXMgY29tcG9zaXRlLCByZXNvbHZlIGl0ICov CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2ZtZ3IvZm1nci5jCmluZGV4IDRlMjZkZjdjNjNhLi44M2JjNTdhNGQ3OSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvZm1nci9mbWdyLmMKQEAgLTE5OTEsOSArMTk5MSwxMyBAQCBnZXRfY2FsbF9leHByX2FyZ19z dGFibGUoTm9kZSAqZXhwciwgaW50IGFyZ251bSkKIAkgKi8KIAlpZiAoSXNBKGFyZywgQ29uc3Qp KQogCQlyZXR1cm4gdHJ1ZTsKLQlpZiAoSXNBKGFyZywgUGFyYW0pICYmCi0JCSgoUGFyYW0gKikg YXJnKS0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTikKLQkJcmV0dXJuIHRydWU7CisJaWYgKElz QShhcmcsIFBhcmFtKSkKKwl7CisJCVBhcmFtCSAgICpwID0gKFBhcmFtICopIGFyZzsKKworCQlp ZiAocC0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTiB8fCBwLT5wYXJhbWtpbmQgPT0gUEFSQU1f VkFSSUFCTEUpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CiAKIAlyZXR1cm4gZmFsc2U7CiB9CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9zcmMvaW5j bHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggOTZiZTk2OGMzZDQuLjM2ODc0 OTBiY2IxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBAIC0yMiw2 ICsyMiw4IEBACiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUs IENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5 TmFtZShjaGFyICp2YXJuYW1lKTsKIAorZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdp dGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wg KmlzbnVsbCk7CisKIGV4dGVybiB2b2lkIGdldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9k X2NvbGxpZChjaGFyICp2YXJuYW1lLAogCQkJCQkJCQkJCQkJCU9pZCAqdHlwaWQsCiAJCQkJCQkJ CQkJCQkJaW50MzIgKnR5cG1vZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhu b2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggYzE3NWVlOTViNjgu LjdhY2M5ZTUxZjBlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAor KysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMjcxLDYgKzI3MSw5IEBAIHR5 cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAkvKiBleHRlbnNpb24gc3RhdGUgKi8KIAl2b2lk CSAgKipleHRlbnNpb25fc3RhdGUgcGdfbm9kZV9hdHRyKHJlYWRfd3JpdGVfaWdub3JlKTsKIAlp bnQJCQlleHRlbnNpb25fc3RhdGVfYWxsb2NhdGVkOworCisJLyogbGlzdCBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzICovCisJTGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKIH0gUGxhbm5lckds b2JhbDsKIAogLyogbWFjcm8gZm9yIGZldGNoaW5nIHRoZSBQbGFuIGFzc29jaWF0ZWQgd2l0aCBh IFN1YlBsYW4gbm9kZSAqLwpAQCAtNjI5LDYgKzYzMiw4IEBAIHN0cnVjdCBQbGFubmVySW5mbwog CWJvb2wJCWhhc1JlY3Vyc2lvbjsKIAkvKiB0cnVlIGlmIGEgcGxhbm5lciBleHRlbnNpb24gbWF5 IHJlcGxhbiB0aGlzIHN1YnF1ZXJ5ICovCiAJYm9vbAkJYXNzdW1lUmVwbGFubmluZzsKKwkvKiB0 cnVlIGlmIHNlc3Npb24gdmFyaWFibGVzIHdlcmUgdXNlZCAqLworCWJvb2wJCWhhc1Nlc3Npb25W YXJpYWJsZXM7CiAKIAkvKgogCSAqIFRoZSByYW5nZXRhYmxlIGluZGV4IGZvciB0aGUgUlRFX0dS T1VQIFJURSwgb3IgMCBpZiB0aGVyZSBpcyBubwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGxhbm5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCA4Yzkz MjFhYWI4Yy4uZDk5ZDg0ZTZkYjkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5u b2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCkBAIC0xNjQsNiArMTY0 LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGxhbm5lZFN0bXQKIAkgKi8KIAlMaXN0CSAgICpleHRlbnNp b25fc3RhdGU7CiAKKwkvKiBQQVJBTV9WQVJJQUJMRSBQYXJhbXMgKi8KKwlMaXN0CSAgICpzZXNz aW9uVmFyaWFibGVzOworCiAJLyogc3RhdGVtZW50IGxvY2F0aW9uIGluIHNvdXJjZSBzdHJpbmcg KGNvcGllZCBmcm9tIFF1ZXJ5KSAqLwogCS8qIHN0YXJ0IGxvY2F0aW9uLCBvciAtMSBpZiB1bmtu b3duICovCiAJUGFyc2VMb2MJc3RtdF9sb2NhdGlvbjsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L29wdGltaXplci9wbGFubWFpbi5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgK aW5kZXggZDBkYzM3NjFiMTMuLjQ2MDY5ZWYyZTllIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9v cHRpbWl6ZXIvcGxhbm1haW4uaAorKysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4u aApAQCAtMTMyLDQgKzEzMiw2IEBAIGV4dGVybiB2b2lkIHJlY29yZF9wbGFuX2Z1bmN0aW9uX2Rl cGVuZGVuY3koUGxhbm5lckluZm8gKnJvb3QsIE9pZCBmdW5jaWQpOwogZXh0ZXJuIHZvaWQgcmVj b3JkX3BsYW5fdHlwZV9kZXBlbmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgdHlwaWQpOwog ZXh0ZXJuIGJvb2wgZXh0cmFjdF9xdWVyeV9kZXBlbmRlbmNpZXNfd2Fsa2VyKE5vZGUgKm5vZGUs IFBsYW5uZXJJbmZvICpjb250ZXh0KTsKIAorZXh0ZXJuIHZvaWQgcHVsbF91cF9oYXNfc2Vzc2lv bl92YXJpYWJsZXMoUGxhbm5lckluZm8gKnJvb3QpOworCiAjZW5kaWYJCQkJCQkJLyogUExBTk1B SU5fSCAqLwotLSAKMi41My4wCgo= --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0002-parsing-session-variable-fences.patch" Content-Disposition: attachment; filename="v20260306-0002-parsing-session-variable-fences.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo738j9 RnJvbSBhZTRiYTI4YWQ3YTA2YmIzNDc4NGE4YWNjMmU2NzQ2M2UyMGYxODU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDE1OjI4OjU5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMi8xMV0gcGFyc2luZyBzZXNzaW9uIHZhcmlhYmxlIGZlbmNlcwoKVGhlIHNlc3Npb24g dmFyaWFibGVzIGNhbiBiZSB1c2VkIGluIHF1ZXJ5IG9ubHkgaW5zaWRlIHRoZSB2YXJpYWJsZSBm ZW5jZS4KVGhpcyBpcyBzcGVjaWFsIHN5bnRheCBWQVJJQUJMRSh2YXJuYW1lKSwgdGhhdCBlbGlt aW5hdGVzIGEgcmlzayBvZgpjb2xsaXNpb24gYmV0d2VlbiB2YXJpYWJsZSBhbmQgY29sdW1uIGlk ZW50aWZpZXIuCgpUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1l dGVycyBvZiBDQUxMIG9yIEVYRUNVVEUKY29tbWFuZHMuIFRoZXNlIGNvbW1hbmRzIGV2YWx1YXRl cyBhcmd1bWVudHMgYnkgZGlyZWN0IGNhbGwgb2YgZXhwcmVzc2lvbgpleGVjdXRvciwgYW5kIGRp cmVjdCBhY2Nlc3MgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgZnJvbSBleHByZXNzaW9uIGV4ZWN1dG9y CndpbGwgYmUgaW1wbGVtZW50ZWQgbGF0ZXIgKGluIG5leHQgc3RlcCkKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgMTAgKysKIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3ByZXBhcmUuYyAgICAgICAgICB8ICAgOCArKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jIHwgIDIxICsrKysrCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3Mu YyAgICAgICAgICAgfCAgIDYgKysKIHNyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAg ICAgICB8ICAgNyArKwogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgIHwg IDE3ICsrKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgICAgICAgICB8IDExOSAr KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJnZS5j ICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgICAgICAg fCAgIDcgKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyAgICAgICB8ICAgOCAr Kwogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIHwgICA1ICsKIHNyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICB8ICAxMiArKysKIHNyYy9pbmNsdWRl L25vZGVzL3ByaW1ub2Rlcy5oICAgICAgICAgICB8ICAgNSArCiBzcmMvaW5jbHVkZS9wYXJzZXIv cGFyc2Vfbm9kZS5oICAgICAgICAgfCAgIDEgKwogc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YyAgICAgICAgICAgIHwgICAzICstCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAg ICAgICAgfCAgIDEgKwogMTYgZmlsZXMgY2hhbmdlZCwgMjI4IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sIGIvZG9jL3NyYy9z Z21sL2RkbC5zZ21sCmluZGV4IDM1YTZiMzIyY2Q5Li44YzBhZTcxNTg2OSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL2RkbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbApAQCAtNTcx MSw2ICs1NzExLDE2IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3VyZW1lbnQg V0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICB2YXJpYWJsZSBpcyBz dG9yZWQgaW4gc2Vzc2lvbiBtZW1vcnkgYW5kIGlzIHByaXZhdGUgdG8gZWFjaCBzZXNzaW9uLiBJ dCBpcwogICAgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRzLgog ICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBJbiBhIHF1ZXJ5LCBhIHNlc3Npb24gdmFyaWFi bGUgY2FuIG9ubHkgYmUgcmVmZXJlbmNlZCB1c2luZyB0aGUgc3BlY2lhbAorICAgIDxsaXRlcmFs PlZBUklBQkxFKHZhcm5hbWUpPC9saXRlcmFsPiBzeW50YXguIFRoaXMgYXZvaWRzIGFueSByaXNr IG9mCisgICAgY29sbGlzaW9uIGJldHdlZW4gdmFyaWFibGUgbmFtZXMgYW5kIGNvbHVtbiBuYW1l cy4KKyAgIDwvcGFyYT4KKzxwcm9ncmFtbGlzdGluZz4KK1NFTEVDVCBWQVJJQUJMRShjdXJyZW50 X3VzZXJfaWQpOworPC9wcm9ncmFtbGlzdGluZz4KKyAgIDwvcGFyYT4KICA8L3NlY3QxPgogCiAg PHNlY3QxIGlkPSJkZGwtb3RoZXJzIj4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ByZXBhcmUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBhcmUuYwppbmRleCA1Yjg2YTcy NzU4Ny4uNDUyYjI0OTg3MTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBh cmUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMKQEAgLTM0MSw2ICszNDEs MTQgQEAgRXZhbHVhdGVQYXJhbXMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQcmVwYXJlZFN0YXRlbWVu dCAqcHN0bXQsIExpc3QgKnBhcmFtcywKIAkJaSsrOwogCX0KIAorCS8qCisJICogVGhlIGFyZ3Vt ZW50cyBvZiBFWEVDVVRFIGFyZSBldmFsdWF0ZWQgYnkgYSBkaXJlY3QgZXhwcmVzc2lvbiBleGVj dXRvcgorCSAqIGNhbGwuICBUaGlzIG1vZGUgZG9lc24ndCBzdXBwb3J0IHNlc3Npb24gdmFyaWFi bGVzIHlldC4gSXQgd2lsbCBiZQorCSAqIGVuYWJsZWQgbGF0ZXIuIFRoaXMgY2FzZSBzaG91bGQg YmUgYmxvY2tlZCBwYXJzZXIgYnkKKwkgKiBleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFi bGVzLCBzbyBvbmx5IGFzc2VydGlvbnMgaXMgdXNlZCBoZXJlLgorCSAqLworCUFzc2VydCghcHN0 YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXMpOworCiAJLyogUHJlcGFyZSB0aGUgZXhwcmVzc2lv bnMgZm9yIGV4ZWN1dGlvbiAqLwogCWV4cHJzdGF0ZXMgPSBFeGVjUHJlcGFyZUV4cHJMaXN0KHBh cmFtcywgZXN0YXRlKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCmlu ZGV4IGNkNjFkZjRhMzcwLi43NWM2MmJhZWNhMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYwpAQCAtMTA2LDYgKzEwNiwyNyBAQCBzZWFyY2hfdmFyaWFibGUoY2hhciAq dmFybmFtZSkKIAlyZXR1cm4gc3ZhcjsKIH0KIAorLyoKKyAqIFJldHVybnMgdGhlIHR5cGUsIHR5 cG1vZCBhbmQgY29sbGlkIG9mIHRoZSBnaXZlbiBzZXNzaW9uIHZhcmlhYmxlLgorICoKKyAqIFJh aXNlcyBhbiBlcnJvciB3aGVuIHRoZSB2YXJpYWJsZSBkb2Vzbid0IGV4aXN0cyBhbmQgKmVycm9y IGlzIG51bGwuCisgKi8KK3ZvaWQKK2dldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2Nv bGxpZChjaGFyICp2YXJuYW1lLAorCQkJCQkJCQkJCU9pZCAqdHlwaWQsCisJCQkJCQkJCQkJaW50 MzIgKnR5cG1vZCwKKwkJCQkJCQkJCQlPaWQgKmNvbGxpZCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsK KworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisKKwkvKiBvbmx5IG93bmVyIGNh biBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLworCSp0eXBpZCA9IHN2YXItPnZhcnR5cGU7CisJ KnR5cG1vZCA9IHN2YXItPnZhcnR5cG1vZDsKKwkqY29sbGlkID0gc3Zhci0+dmFyY29sbGF0aW9u OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGlu IHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNz LmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwppbmRleCAxOTllZDI3OTk1Zi4uNGUy NjFhNDkxMjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisrKyBi L3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCkBAIC0xNjY5LDYgKzE2NjksOSBAQCBleHBy TG9jYXRpb24oY29uc3QgTm9kZSAqZXhwcikKIAkJY2FzZSBUX1BhcmFtUmVmOgogCQkJbG9jID0g KChjb25zdCBQYXJhbVJlZiAqKSBleHByKS0+bG9jYXRpb247CiAJCQlicmVhazsKKwkJY2FzZSBU X1ZhcmlhYmxlRmVuY2U6CisJCQlsb2MgPSAoKGNvbnN0IFZhcmlhYmxlRmVuY2UgKikgZXhwcikt PmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9BX0NvbnN0OgogCQkJbG9jID0gKChjb25z dCBBX0NvbnN0ICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJyZWFrOwpAQCAtNDcwNCw2ICs0NzA3 LDkgQEAgcmF3X2V4cHJlc3Npb25fdHJlZV93YWxrZXJfaW1wbChOb2RlICpub2RlLAogCQkJCQly ZXR1cm4gdHJ1ZTsKIAkJCX0KIAkJCWJyZWFrOworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJ CS8qIHdlIGFzc3VtZSB0aGUgZmllbGRzIGNvbnRhaW4gbm90aGluZyBpbnRlcmVzdGluZyAqLwor CQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIG5vZGUg dHlwZTogJWQiLAogCQkJCSAoaW50KSBub2RlVGFnKG5vZGUpKTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCmlu ZGV4IDUzOWMxNmM0Zjc5Li5lOGVkMTZiYjZmZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFy c2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCkBAIC02MTks NiArNjE5LDcgQEAgdHJhbnNmb3JtRGVsZXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0 ZVN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9oYXNXaW5kb3dG dW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlx cnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJs ZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xs YXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMTA1OCw2ICsxMDU5LDcgQEAgdHJhbnNmb3JtSW5z ZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQpCiAKIAlxcnktPmhh c1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlxcnktPmhhc1N1Ykxpbmtz ID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBz dGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMo cHN0YXRlLCBxcnkpOwogCkBAIC0xNTM3LDYgKzE1MzksNyBAQCB0cmFuc2Zvcm1TZWxlY3RTdG10 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCwKIAlxcnktPmhhc1dpbmRvd0Z1 bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBz dGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9oYXNBZ2dz OworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFi bGVzOwogCiAJZm9yZWFjaChsLCBzdG10LT5sb2NraW5nQ2xhdXNlKQogCXsKQEAgLTE3NjMsNiAr MTc2Niw3IEBAIHRyYW5zZm9ybVZhbHVlc0NsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVj dFN0bXQgKnN0bXQpCiAJcXJ5LT5qb2ludHJlZSA9IG1ha2VGcm9tRXhwcihwc3RhdGUtPnBfam9p bmxpc3QsIE5VTEwpOwogCiAJcXJ5LT5oYXNTdWJMaW5rcyA9IHBzdGF0ZS0+cF9oYXNTdWJMaW5r czsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlh YmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xsYXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMjAx NCw2ICsyMDE4LDcgQEAgdHJhbnNmb3JtU2V0T3BlcmF0aW9uU3RtdChQYXJzZVN0YXRlICpwc3Rh dGUsIFNlbGVjdFN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9o YXNXaW5kb3dGdW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0 U1JGczsKIAlxcnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Np b25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWZvcmVhY2go bCwgbG9ja2luZ0NsYXVzZSkKIAl7CkBAIC0yNDg2LDYgKzI0OTEsNyBAQCB0cmFuc2Zvcm1SZXR1 cm5TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUmV0dXJuU3RtdCAqc3RtdCkKIAlxcnktPmhhc1dp bmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JG cyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9o YXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9u VmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBA IC0yNTUyLDYgKzI1NTgsNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9o YXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzU3ViTGlua3MgPSBwc3RhdGUtPnBfaGFzU3ViTGlua3M7 CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJs ZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55 CmluZGV4IGE1NjQzMGZiZGZkLi43ZmVkNWFkN2VjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC01MzQsNyAr NTM0LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5h bWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxub2RlPglkZWZfYXJnIGNv bHVtbkVsZW0gd2hlcmVfY2xhdXNlIHdoZXJlX29yX2N1cnJlbnRfY2xhdXNlCiAJCQkJYV9leHBy IGJfZXhwciBjX2V4cHIgQWV4cHJDb25zdCBpbmRpcmVjdGlvbl9lbCBvcHRfc2xpY2VfYm91bmQK IAkJCQljb2x1bW5yZWYgaGF2aW5nX2NsYXVzZSBmdW5jX3RhYmxlIHhtbHRhYmxlIGFycmF5X2V4 cHIKLQkJCQlPcHRXaGVyZUNsYXVzZSBvcGVyYXRvcl9kZWZfYXJnCisJCQkJT3B0V2hlcmVDbGF1 c2Ugb3BlcmF0b3JfZGVmX2FyZyB2YXJpYWJsZV9mZW5jZQogJXR5cGUgPGxpc3Q+CW9wdF9jb2x1 bW5fYW5kX3BlcmlvZF9saXN0CiAldHlwZSA8bGlzdD4Jcm93c2Zyb21faXRlbSByb3dzZnJvbV9s aXN0IG9wdF9jb2xfZGVmX2xpc3QKICV0eXBlIDxib29sZWFuPiBvcHRfb3JkaW5hbGl0eSBvcHRf d2l0aG91dF9vdmVybGFwcwpAQCAtODkzLDcgKzg5Myw3IEBAIHN0YXRpYyBOb2RlICptYWtlUmVj dXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVy eSk7CiAgKi8KICVub25hc3NvYwlVTkJPVU5ERUQgTkVTVEVEIC8qIGlkZWFsbHkgd291bGQgaGF2 ZSBzYW1lIHByZWNlZGVuY2UgYXMgSURFTlQgKi8KICVub25hc3NvYwlJREVOVCBQQVJUSVRJT04g UkFOR0UgUk9XUyBHUk9VUFMgUFJFQ0VESU5HIEZPTExPV0lORyBDVUJFIFJPTExVUAotCQkJU0VU IEtFWVMgT0JKRUNUX1AgU0NBTEFSIFZBTFVFX1AgV0lUSCBXSVRIT1VUIFBBVEgKKwkJCVNFVCBL RVlTIE9CSkVDVF9QIFNDQUxBUiBWQUxVRV9QIFdJVEggV0lUSE9VVCBQQVRIIFZBUklBQkxFCiAl bGVmdAkJT3AgT1BFUkFUT1IJCS8qIG11bHRpLWNoYXJhY3RlciBvcHMgYW5kIHVzZXItZGVmaW5l ZCBvcGVyYXRvcnMgKi8KICVsZWZ0CQknKycgJy0nCiAlbGVmdAkJJyonICcvJyAnJScKQEAgLTE1 ODIxLDYgKzE1ODIxLDggQEAgY19leHByOgkJY29sdW1ucmVmCQkJCQkJCQl7ICQkID0gJDE7IH0K IAkJCQkJZWxzZQogCQkJCQkJJCQgPSAkMjsKIAkJCQl9CisJCQl8IHZhcmlhYmxlX2ZlbmNlCisJ CQkJeyAkJCA9ICQxOyB9CiAJCQl8IGNhc2VfZXhwcgogCQkJCXsgJCQgPSAkMTsgfQogCQkJfCBm dW5jX2V4cHIKQEAgLTE3MjIzLDYgKzE3MjI1LDE3IEBAIGNhc2VfYXJnOglhX2V4cHIJCQkJCQkJ CQl7ICQkID0gJDE7IH0KIAkJCXwgLypFTVBUWSovCQkJCQkJCQl7ICQkID0gTlVMTDsgfQogCQk7 CiAKK3ZhcmlhYmxlX2ZlbmNlOgorCQkJVkFSSUFCTEUgJygnIENvbElkICcpJworCQkJCXsKKwkJ CQkJVmFyaWFibGVGZW5jZSAqdmYgPSBtYWtlTm9kZShWYXJpYWJsZUZlbmNlKTsKKworCQkJCQl2 Zi0+dmFybmFtZSA9ICQzOworCQkJCQl2Zi0+bG9jYXRpb24gPSBAMzsKKwkJCQkJJCQgPSAoTm9k ZSAqKSB2ZjsKKwkJCQl9CisJCTsKKwogY29sdW1ucmVmOglDb2xJZAogCQkJCXsKIAkJCQkJJCQg PSBtYWtlQ29sdW1uUmVmKCQxLCBOSUwsIEAxLCB5eXNjYW5uZXIpOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9l eHByLmMKaW5kZXggZGNmZTFhY2M0YzMuLmFhMTEwZTgwYjA2IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9l eHByLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVk ZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAibm9kZXMvbWFrZWZ1bmNzLmgiCiAjaW5jbHVkZSAi bm9kZXMvbm9kZUZ1bmNzLmgiCkBAIC03OCw2ICs3OSw3IEBAIHN0YXRpYyBOb2RlICp0cmFuc2Zv cm1XaG9sZVJvd1JlZihQYXJzZVN0YXRlICpwc3RhdGUsCiBzdGF0aWMgTm9kZSAqdHJhbnNmb3Jt SW5kaXJlY3Rpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBX0luZGlyZWN0aW9uICppbmQpOwogc3Rh dGljIE5vZGUgKnRyYW5zZm9ybVR5cGVDYXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVHlwZUNhc3Qg KnRjKTsKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1Db2xsYXRlQ2xhdXNlKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQ29sbGF0ZUNsYXVzZSAqYyk7CitzdGF0aWMgTm9kZSAqdHJhbnNmb3JtVmFyaWFibGVG ZW5jZShQYXJzZVN0YXRlICpwc3RhdGUsIFZhcmlhYmxlRmVuY2UgKnZmKTsKIHN0YXRpYyBOb2Rl ICp0cmFuc2Zvcm1Kc29uT2JqZWN0Q29uc3RydWN0b3IoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJ CQkJCQkJCQlKc29uT2JqZWN0Q29uc3RydWN0b3IgKmN0b3IpOwogc3RhdGljIE5vZGUgKnRyYW5z Zm9ybUpzb25BcnJheUNvbnN0cnVjdG9yKFBhcnNlU3RhdGUgKnBzdGF0ZSwKQEAgLTM3Miw2ICsz NzQsMTAgQEAgdHJhbnNmb3JtRXhwclJlY3Vyc2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpl eHByKQogCQkJcmVzdWx0ID0gdHJhbnNmb3JtSnNvbkZ1bmNFeHByKHBzdGF0ZSwgKEpzb25GdW5j RXhwciAqKSBleHByKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgVF9WYXJpYWJsZUZlbmNlOgorCQkJ cmVzdWx0ID0gdHJhbnNmb3JtVmFyaWFibGVGZW5jZShwc3RhdGUsIChWYXJpYWJsZUZlbmNlICop IGV4cHIpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCS8qIHNob3VsZCBub3QgcmVhY2gg aGVyZSAqLwogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBub2RlIHR5cGU6ICVkIiwgKGlu dCkgbm9kZVRhZyhleHByKSk7CkBAIC05MDUsNiArOTExLDExOSBAQCB0cmFuc2Zvcm1QYXJhbVJl ZihQYXJzZVN0YXRlICpwc3RhdGUsIFBhcmFtUmVmICpwcmVmKQogCXJldHVybiByZXN1bHQ7CiB9 CiAKKy8qCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGV4cHJlc3Npb24ga2luZCBpcyB2 YWxpZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMuCisgKiBTZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUg dXNlZCBldmVyeXdoZXJlIHdoZXJlIGV4dGVybmFsIHBhcmFtZXRlcnMgY2FuIGJlCisgKiB1c2Vk LiAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIG5vdCBhbGxvd2VkIGluIERETCBjb21tYW5kcyBvciBp biBjb25zdHJhaW50cy4KKyAqCisgKiBBbiBpZGVudGlmaWVyIGNhbiBiZSBwYXJzZWQgYXMgYSBz ZXNzaW9uIHZhcmlhYmxlIG9ubHkgZm9yIGV4cHJlc3Npb24ga2luZHMKKyAqIHdoZXJlIHNlc3Np b24gdmFyaWFibGVzIGFyZSBhbGxvd2VkLiAgVGhpcyBpcyB0aGUgcHJpbWFyeSB1c2FnZSBvZiB0 aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBUaGUgc2Vjb25kIHVzYWdlIG9mIHRoaXMgZnVuY3Rp b24gaXMgdG8gZGVjaWRlIHdoZXRoZXIgYSAiY29sdW1uIGRvZXMgbm90CisgKiBleGlzdCIgb3Ig YSAiY29sdW1uIG9yIHZhcmlhYmxlIGRvZXMgbm90IGV4aXN0IiBlcnJvciBtZXNzYWdlIHNob3Vs ZCBiZQorICogcHJpbnRlZC4gIFdoZW4gd2UgYXJlIGluIGFuIGV4cHJlc3Npb24gd2hlcmUgc2Vz c2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlCisgKiB1c2VkLCB3ZSByYWlzZSB0aGUgZmlyc3QgZm9y bSBvZiBlcnJvciBtZXNzYWdlLgorICovCitzdGF0aWMgYm9vbAorZXhwcl9raW5kX2FsbG93c19z ZXNzaW9uX3ZhcmlhYmxlcyhQYXJzZUV4cHJLaW5kIHBfZXhwcl9raW5kKQoreworCWJvb2wJCXJl c3VsdCA9IGZhbHNlOworCisJc3dpdGNoIChwX2V4cHJfa2luZCkKKwl7CisJCWNhc2UgRVhQUl9L SU5EX05PTkU6CisJCQlBc3NlcnQoZmFsc2UpOwkJLyogY2FuJ3QgaGFwcGVuICovCisJCQlyZXR1 cm4gZmFsc2U7CisKKwkJCS8qIHNlc3Npb24gdmFyaWFibGVzIGFsbG93ZWQgKi8KKwkJY2FzZSBF WFBSX0tJTkRfT1RIRVI6CisJCWNhc2UgRVhQUl9LSU5EX0pPSU5fT046CisJCWNhc2UgRVhQUl9L SU5EX0ZST01fU1VCU0VMRUNUOgorCQljYXNlIEVYUFJfS0lORF9GUk9NX0ZVTkNUSU9OOgorCQlj YXNlIEVYUFJfS0lORF9XSEVSRToKKwkJY2FzZSBFWFBSX0tJTkRfSEFWSU5HOgorCQljYXNlIEVY UFJfS0lORF9GSUxURVI6CisJCWNhc2UgRVhQUl9LSU5EX1dJTkRPV19QQVJUSVRJT046CisJCWNh c2UgRVhQUl9LSU5EX1dJTkRPV19PUkRFUjoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX0ZSQU1F X1JBTkdFOgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfUk9XUzoKKwkJY2FzZSBFWFBS X0tJTkRfV0lORE9XX0ZSQU1FX0dST1VQUzoKKwkJY2FzZSBFWFBSX0tJTkRfU0VMRUNUX1RBUkdF VDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBEQVRFX1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBE QVRFX1NPVVJDRToKKwkJY2FzZSBFWFBSX0tJTkRfTUVSR0VfV0hFTjoKKwkJY2FzZSBFWFBSX0tJ TkRfTUVSR0VfUkVUVVJOSU5HOgorCQljYXNlIEVYUFJfS0lORF9HUk9VUF9CWToKKwkJY2FzZSBF WFBSX0tJTkRfT1JERVJfQlk6CisJCWNhc2UgRVhQUl9LSU5EX0RJU1RJTkNUX09OOgorCQljYXNl IEVYUFJfS0lORF9MSU1JVDoKKwkJY2FzZSBFWFBSX0tJTkRfT0ZGU0VUOgorCQljYXNlIEVYUFJf S0lORF9SRVRVUk5JTkc6CisJCWNhc2UgRVhQUl9LSU5EX1ZBTFVFUzoKKwkJY2FzZSBFWFBSX0tJ TkRfVkFMVUVTX1NJTkdMRToKKwkJCXJlc3VsdCA9IHRydWU7CisJCQlicmVhazsKKworCQkJLyog c2Vzc2lvbiB2YXJpYWJsZXMgbm90IGFsbG93ZWQgKi8KKwkJY2FzZSBFWFBSX0tJTkRfSU5TRVJU X1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfRVhFQ1VURV9QQVJBTUVURVI6CisJCWNhc2UgRVhQ Ul9LSU5EX0NBTExfQVJHVU1FTlQ6CisJCWNhc2UgRVhQUl9LSU5EX0NIRUNLX0NPTlNUUkFJTlQ6 CisJCWNhc2UgRVhQUl9LSU5EX0RPTUFJTl9DSEVDSzoKKwkJY2FzZSBFWFBSX0tJTkRfQ09MVU1O X0RFRkFVTFQ6CisJCWNhc2UgRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQ6CisJCWNhc2UgRVhQ Ul9LSU5EX0lOREVYX0VYUFJFU1NJT046CisJCWNhc2UgRVhQUl9LSU5EX0lOREVYX1BSRURJQ0FU RToKKwkJY2FzZSBFWFBSX0tJTkRfU1RBVFNfRVhQUkVTU0lPTjoKKwkJY2FzZSBFWFBSX0tJTkRf VFJJR0dFUl9XSEVOOgorCQljYXNlIEVYUFJfS0lORF9QQVJUSVRJT05fQk9VTkQ6CisJCWNhc2Ug RVhQUl9LSU5EX1BBUlRJVElPTl9FWFBSRVNTSU9OOgorCQljYXNlIEVYUFJfS0lORF9HRU5FUkFU RURfQ09MVU1OOgorCQljYXNlIEVYUFJfS0lORF9KT0lOX1VTSU5HOgorCQljYXNlIEVYUFJfS0lO RF9DWUNMRV9NQVJLOgorCQljYXNlIEVYUFJfS0lORF9BTFRFUl9DT0xfVFJBTlNGT1JNOgorCQlj YXNlIEVYUFJfS0lORF9QT0xJQ1k6CisJCWNhc2UgRVhQUl9LSU5EX0NPUFlfV0hFUkU6CisJCQly ZXN1bHQgPSBmYWxzZTsKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0 YXRpYyBOb2RlICoKK3RyYW5zZm9ybVZhcmlhYmxlRmVuY2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBW YXJpYWJsZUZlbmNlICp2ZikKK3sKKwlQYXJhbQkgICAqcGFyYW07CisJT2lkCQkJdHlwaWQ7CisJ aW50MzIJCXR5cG1vZDsKKwlPaWQJCQljb2xsaWQ7CisKKwkvKiBWYXJpYWJsZUZlbmNlIGNhbiBi ZSB1c2VkIG9ubHkgaW4gY29udGV4dCB3aGVuIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkICovCisJ aWYgKCFleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFibGVzKHBzdGF0ZS0+cF9leHByX2tp bmQpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBu b3Qgc3VwcG9ydGVkIGhlcmUiKSwKKwkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgdmYt PmxvY2F0aW9uKSkpOworCisJZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlk KHZmLT52YXJuYW1lLAorCQkJCQkJCQkJCQkmdHlwaWQsICZ0eXBtb2QsICZjb2xsaWQpOworCisK KwlwYXJhbSA9IG1ha2VOb2RlKFBhcmFtKTsKKworCXBhcmFtLT5wYXJhbWtpbmQgPSBQQVJBTV9W QVJJQUJMRTsKKwlwYXJhbS0+cGFyYW12YXJuYW1lID0gcHN0cmR1cCh2Zi0+dmFybmFtZSk7CisJ cGFyYW0tPnBhcmFtdHlwZSA9IHR5cGlkOworCXBhcmFtLT5wYXJhbXR5cG1vZCA9IHR5cG1vZDsK KwlwYXJhbS0+cGFyYW1jb2xsaWQgPSBjb2xsaWQ7CisKKwlwc3RhdGUtPnBfaGFzU2Vzc2lvblZh cmlhYmxlcyA9IHRydWU7CisKKwlyZXR1cm4gKE5vZGUgKikgcGFyYW07Cit9CisKIC8qIFRlc3Qg d2hldGhlciBhbiBhX2V4cHIgaXMgYSBwbGFpbiBOVUxMIGNvbnN0YW50IG9yIG5vdCAqLwogc3Rh dGljIGJvb2wKIGV4cHJJc051bGxDb25zdGFudChOb2RlICphcmcpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9t ZXJnZS5jCmluZGV4IDBhNzBkNDhmZDRjLi4xMmY4OWFhMmE1YyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X21lcmdlLmMKQEAgLTQwMCw2ICs0MDAsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBNZXJnZVN0bXQgKnN0bXQpCiAKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBmYWxz ZTsKIAlxcnktPmhhc1N1YkxpbmtzID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFz U2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNz aWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFy Z2V0LmMKaW5kZXggM2JjZmMxZjVlM2QuLjY2Y2Q0YmEyZjU5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X3RhcmdldC5jCkBAIC0yMDMzLDYgKzIwMzMsMTMgQEAgRmlndXJlQ29sbmFtZUludGVybmFsKE5v ZGUgKm5vZGUsIGNoYXIgKipuYW1lKQogCQkJCQkJIChpbnQpICgoSnNvbkZ1bmNFeHByICopIG5v ZGUpLT5vcCk7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX1ZhcmlhYmxlRmVuY2U6CisJCQl7 CisJCQkJLyogcmV0dXJuIGxhc3QgZmllbGQgbmFtZSAqLworCQkJCSpuYW1lID0gKChWYXJpYWJs ZUZlbmNlICopIG5vZGUpLT52YXJuYW1lOworCQkJCXJldHVybiAyOworCQkJfQorCQkJYnJlYWs7 CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcnVsZXV0aWxzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKaW5k ZXggZjE2ZjE1MzU3ODUuLjcxOTQ4Y2FjN2NlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcnVsZXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5j CkBAIC04ODM1LDYgKzg4MzUsMTQgQEAgZ2V0X3BhcmFtZXRlcihQYXJhbSAqcGFyYW0sIGRlcGFy c2VfY29udGV4dCAqY29udGV4dCkKIAkJfQogCX0KIAorCS8qIE5vdGU6IGNhbiBiZSBiZSB1c2Vk IGJ5IEVYUExBSU4gKi8KKwlpZiAocGFyYW0tPnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSkK Kwl7CisJCWFwcGVuZFN0cmluZ0luZm8oY29udGV4dC0+YnVmLCAiVkFSSUFCTEUoJXMpIiwKKwkJ CQkJCSBxdW90ZV9pZGVudGlmaWVyKHBhcmFtLT5wYXJhbXZhcm5hbWUpKTsKKwkJcmV0dXJuOwor CX0KKwogCS8qCiAJICogTm90IFBBUkFNX0VYRUMsIG9yIGNvdWxkbid0IGZpbmQgcmVmZXJlbnQ6 IGp1c3QgcHJpbnQgJE4uCiAJICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUu aAppbmRleCAxZWQ0MGQ4N2EzOC4uOTZiZTk2OGMzZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTIyLDQgKzIyLDkgQEAKIGV4dGVybiB2b2lkIENyZWF0ZVZh cmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOwog ZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpOwogCitleHRlcm4g dm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFt ZSwKKwkJCQkJCQkJCQkJCQlPaWQgKnR5cGlkLAorCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2Qs CisJCQkJCQkJCQkJCQkJT2lkICpjb2xsaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aAppbmRleCA0ZDlhMzdlYzc1Ni4uYzc5ZjA3ZjNjNDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgK QEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBlZGVmIHN0cnVjdCBRdWVyeQogCWJvb2wJCWhhc1Jvd1Nl Y3VyaXR5IHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBwYXJzZXIgaGFz IGFkZGVkIGFuIFJURV9HUk9VUCBSVEUgKi8KIAlib29sCQloYXNHcm91cFJURSBwZ19ub2RlX2F0 dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CisJLyogdXNlcyBzZXNzaW9uIHZhcmlhYmxlcyAqLwor CWJvb2wJCWhhc1Nlc3Npb25WYXJpYWJsZXMgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25v cmUpOwogCS8qIGlzIGEgUkVUVVJOIHN0YXRlbWVudCAqLwogCWJvb2wJCWlzUmV0dXJuIHBnX25v ZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIApAQCAtMzIyLDYgKzMyNCwxNiBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJhbVJlZgogCVBhcnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRp b24sIG9yIC0xIGlmIHVua25vd24gKi8KIH0gUGFyYW1SZWY7CiAKKy8qCisgKiBWYXJpYWJsZUZl bmNlIC0gZW5zdXJlIHNvIGZpZWxkcyB3aWxsIGJlIGludGVycHJldHRlZCBhcyBhIHZhcmlhYmxl CisgKi8KK3R5cGVkZWYgc3RydWN0IFZhcmlhYmxlRmVuY2UKK3sKKwlOb2RlVGFnCQl0eXBlOwor CWNoYXIJICAgKnZhcm5hbWU7CQkvKiB2YXJpYWJsZSBuYW1lICovCisJUGFyc2VMb2MJbG9jYXRp b247CQkvKiB0b2tlbiBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBWYXJpYWJsZUZl bmNlOworCiAvKgogICogQV9FeHByIC0gaW5maXgsIHByZWZpeCwgYW5kIHBvc3RmaXggZXhwcmVz c2lvbnMKICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9z cmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAppbmRleCAzODRkZjUwYzgwYS4uOWIyYTI3N2U5 ZjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCkBAIC0zNzksNiArMzc5LDggQEAgdHlwZWRlZiBzdHJ1 Y3QgQ29uc3QKICAqCQkJCW9mIHRoZSBgcGFyYW1pZCcgZmllbGQgY29udGFpbiB0aGUgU3ViTGlu aydzIHN1YkxpbmtJZCwgYW5kCiAgKgkJCQl0aGUgbG93LW9yZGVyIDE2IGJpdHMgY29udGFpbiB0 aGUgY29sdW1uIG51bWJlci4gIChUaGlzIHR5cGUKICAqCQkJCW9mIFBhcmFtIGlzIGFsc28gY29u dmVydGVkIHRvIFBBUkFNX0VYRUMgZHVyaW5nIHBsYW5uaW5nLikKKyAqCQlQQVJBTV9WQVJJQUJM RTogIFRoZSBwYXJhbWV0ZXIgaXMgYSByZWZlcmVuY2UgdG8gYSBzZXNzaW9uIHZhcmlhYmxlCisg KgkJCQkocGFyYW12YXJuYW1lIGhvbGRzIHRoZSB2YXJpYWJsZSdzIG5hbWUpLgogICovCiB0eXBl ZGVmIGVudW0gUGFyYW1LaW5kCiB7CkBAIC0zODYsNiArMzg4LDcgQEAgdHlwZWRlZiBlbnVtIFBh cmFtS2luZAogCVBBUkFNX0VYRUMsCiAJUEFSQU1fU1VCTElOSywKIAlQQVJBTV9NVUxUSUVYUFIs CisJUEFSQU1fVkFSSUFCTEUsCiB9IFBhcmFtS2luZDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGFyYW0K QEAgLTQwMCw2ICs0MDMsOCBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbQogCWludDMyCQlwYXJhbXR5 cG1vZDsKIAkvKiBPSUQgb2YgY29sbGF0aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KIAlP aWQJCQlwYXJhbWNvbGxpZDsKKwkvKiBPSUQgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlIG9yIElu dmFsaWRPaWQgaWYgbm9uZSAqLworCWNoYXIJICAgKnBhcmFtdmFybmFtZSBwZ19ub2RlX2F0dHIo cXVlcnlfanVtYmxlX2lnbm9yZSk7CiAJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25v d24gKi8KIAlQYXJzZUxvYwlsb2NhdGlvbjsKIH0gUGFyYW07CmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUu aAppbmRleCBmMjNlMjFmMzE4Yi4uMjc4NTk4YTkwZjcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3BhcnNlci9wYXJzZV9ub2RlLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUu aApAQCAtMjIzLDYgKzIyMyw3IEBAIHN0cnVjdCBQYXJzZVN0YXRlCiAJYm9vbAkJcF9oYXNUYXJn ZXRTUkZzOwogCWJvb2wJCXBfaGFzU3ViTGlua3M7CiAJYm9vbAkJcF9oYXNNb2RpZnlpbmdDVEU7 CisJYm9vbAkJcF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJTm9kZQkgICAqcF9sYXN0X3NyZjsJ CS8qIG1vc3QgcmVjZW50IHNldC1yZXR1cm5pbmcgZnVuYy9vcCBmb3VuZCAqLwogCmRpZmYgLS1n aXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3Bs X2V4ZWMuYwppbmRleCA4NDU1MmUzMmM4Ny4uODk0YTdkZTkzYTggMTAwNjQ0Ci0tLSBhL3NyYy9w bC9wbHBnc3FsL3NyYy9wbF9leGVjLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YwpAQCAtODI1Myw3ICs4MjUzLDggQEAgZXhlY19pc19zaW1wbGVfcXVlcnkoUExwZ1NRTF9leHBy ICpleHByKQogCQlxdWVyeS0+c29ydENsYXVzZSB8fAogCQlxdWVyeS0+bGltaXRPZmZzZXQgfHwK IAkJcXVlcnktPmxpbWl0Q291bnQgfHwKLQkJcXVlcnktPnNldE9wZXJhdGlvbnMpCisJCXF1ZXJ5 LT5zZXRPcGVyYXRpb25zIHx8CisJCXF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzKQogCQlyZXR1 cm4gZmFsc2U7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA1ZjkyMTkzYmU1 OC4uZDAyMGFmNjE4ZDAgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0zMjY0LDYgKzMy NjQsNyBAQCBWYWxpZGF0b3JWYWxpZGF0ZUNCCiBWYWx1ZXNTY2FuCiBWYWx1ZXNTY2FuU3RhdGUK IFZhcgorVmFyaWFibGVGZW5jZQogVmFyQml0CiBWYXJDaGFyCiBWYXJQYXJhbVN0YXRlCi0tIAoy LjUzLjAKCg== --0000000000009e8a35064c5761ad Content-Type: text/x-patch; charset="US-ASCII"; name="v20260306-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260306-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmeo738q10 RnJvbSA1NmMyNzM1ZTE4YWEwMDY2MGM3MmRmNTM3Mjk2OTkzOTVmYmQ0NmZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDE5IE5vdiAyMDI1IDE5OjM2OjA3ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMS8xMV0gQ1JFQVRFIFZBUklBQkxFLCBEUk9QIFZBUklBQkxFCgotLS0KIGRvYy9zcmMv c2dtbC9kZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMCArKwogZG9jL3NyYy9z Z21sL2dsb3NzYXJ5LnNnbWwgICAgICAgICAgICAgICAgICAgIHwgIDE1ICsrCiBkb2Mvc3JjL3Nn bWwvcmVmL2FsbGZpbGVzLnNnbWwgICAgICAgICAgICAgICAgfCAgIDIgKwogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCAgICAgICAgIHwgMTMzICsrKysrKysrKysrCiBkb2Mv c3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAgODQgKysrKysrKwog ZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNy Yy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8IDIxNSArKysrKysrKysrKysr KysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICA1 NSArKysrLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgICAgICAgIHwg IDI2ICsrKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgICAgIHwg IDEwICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAg MjUgKysKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAy MyArKwogc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIHNyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oICAgICAgICAgICAgICAgICB8ICAgMiAr CiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCAgICAgICAgfCAgNDMgKysr Kwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICst CiAuLi4vcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCAgICAgfCAgNTYgKysr KysKIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgNCAr CiAyMSBmaWxlcyBjaGFuZ2VkLCA3MTQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sCiBj cmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Rk bC5zZ21sIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCmluZGV4IDkwNzBhYWE1YTdjLi4zNWE2YjMy MmNkOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC9kZGwuc2dtbApAQCAtNTY5Myw2ICs1NjkzLDI2IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCop IEZST00gbWVhc3VyZW1lbnQgV0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsK ICAgIDwvcGFyYT4KICA8L3NlY3QxPgogCisgPHNlY3QxIGlkPSJkZGwtc2Vzc2lvbi12YXJpYWJs ZXMiPgorICAgPHRpdGxlPlNlc3Npb24gVmFyaWFibGVzPC90aXRsZT4KKworICAgPGluZGV4dGVy bSB6b25lPSJkZGwtc2Vzc2lvbi12YXJpYWJsZXMiPgorICAgIDxwcmltYXJ5PlNlc3Npb24gdmFy aWFibGVzPC9wcmltYXJ5PgorICAgPC9pbmRleHRlcm0+CisKKyAgIDxpbmRleHRlcm0+CisgICAg PHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisg ICA8cGFyYT4KKyAgICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUgdGVtcG9yYXJ5IGRhdGFiYXNlIG9i amVjdHMgdGhhdCBjYW4gaG9sZCBhIHZhbHVlLgorICAgIEEgc2Vzc2lvbiB2YXJpYWJsZSBjYW4g YmUgY3JlYXRlZCBieSB0aGUgPGNvbW1hbmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5kPgorICAg IGNvbW1hbmQgYW5kIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGJ5IGl0cyBvd25lci4gVGhlIHZhbHVl IG9mIGEgc2Vzc2lvbgorICAgIHZhcmlhYmxlIGlzIHN0b3JlZCBpbiBzZXNzaW9uIG1lbW9yeSBh bmQgaXMgcHJpdmF0ZSB0byBlYWNoIHNlc3Npb24uIEl0IGlzCisgICAgYXV0b21hdGljYWxseSBy ZWxlYXNlZCB3aGVuIHRoZSBzZXNzaW9uIGVuZHMuCisgICA8L3BhcmE+CisgPC9zZWN0MT4KKwog IDxzZWN0MSBpZD0iZGRsLW90aGVycyI+CiAgIDx0aXRsZT5PdGhlciBEYXRhYmFzZSBPYmplY3Rz PC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwgYi9kb2Mv c3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAppbmRleCBlMmRiNWJjYzc4Yy4uZWFiMjJmMTFhNjQgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9n bG9zc2FyeS5zZ21sCkBAIC0xNzQzLDYgKzE3NDMsMjEgQEAKICAgIDwvZ2xvc3NkZWY+CiAgIDwv Z2xvc3NlbnRyeT4KIAorICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2Vzc2lvbi12YXJpYWJs ZSI+CisgICA8Z2xvc3N0ZXJtPlNlc3Npb24gdmFyaWFibGU8L2dsb3NzdGVybT4KKyAgIDxnbG9z c2RlZj4KKyAgICA8cGFyYT4KKyAgICAgQSB0ZW1wb3JhbCBkYXRhYmFzZSBvYmplY3QgdGhhdCBo b2xkcyBhIHZhbHVlIGluIHNlc3Npb24gbWVtb3J5LiAgVGhpcworICAgICB2YWx1ZSBpcyBwcml2 YXRlIHRvIGVhY2ggc2Vzc2lvbiBhbmQgaXMgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRz LgorICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBpcyBudWxs LiAgUmVhZCBvciB3cml0ZSBhY2Nlc3MKKyAgICAgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgaXMgYWxs b3dlZCBvbmx5IHRvIG93bmVyIChjcmVhdG9yKS4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+Cisg ICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgPHhyZWYgbGlua2VuZD0iZGRsLXNlc3Npb24t dmFyaWFibGVzIi8+LgorICAgIDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+CisgIDwvZ2xvc3NlbnRy eT4KKwogICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2hhcmVkLW1lbW9yeSI+CiAgICA8Z2xv c3N0ZXJtPlNoYXJlZCBtZW1vcnk8L2dsb3NzdGVybT4KICAgIDxnbG9zc2RlZj4KZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWxs ZmlsZXMuc2dtbAppbmRleCBlMTY3NDA2Yzc0NC4uYTczNDk5MTk2NTggMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZp bGVzLnNnbWwKQEAgLTk5LDYgKzk5LDcgQEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBz b3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVOVElUWSBjcmVhdGVUeXBlICAgICAg ICAgU1lTVEVNICJjcmVhdGVfdHlwZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVVzZXIgICAgICAg ICBTWVNURU0gImNyZWF0ZV91c2VyLnNnbWwiPgogPCFFTlRJVFkgY3JlYXRlVXNlck1hcHBpbmcg IFNZU1RFTSAiY3JlYXRlX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwhRU5USVRZIGNyZWF0ZVZhcmlh YmxlICAgICBTWVNURU0gImNyZWF0ZV92YXJpYWJsZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVZp ZXcgICAgICAgICBTWVNURU0gImNyZWF0ZV92aWV3LnNnbWwiPgogPCFFTlRJVFkgZGVhbGxvY2F0 ZSAgICAgICAgIFNZU1RFTSAiZGVhbGxvY2F0ZS5zZ21sIj4KIDwhRU5USVRZIGRlY2xhcmUgICAg ICAgICAgICBTWVNURU0gImRlY2xhcmUuc2dtbCI+CkBAIC0xNDcsNiArMTQ4LDcgQEAgQ29tcGxl dGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8 IUVOVElUWSBkcm9wVHlwZSAgICAgICAgICAgU1lTVEVNICJkcm9wX3R5cGUuc2dtbCI+CiA8IUVO VElUWSBkcm9wVXNlciAgICAgICAgICAgU1lTVEVNICJkcm9wX3VzZXIuc2dtbCI+CiA8IUVOVElU WSBkcm9wVXNlck1hcHBpbmcgICAgU1lTVEVNICJkcm9wX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwh RU5USVRZIGRyb3BWYXJpYWJsZSAgICAgICBTWVNURU0gImRyb3BfdmFyaWFibGUuc2dtbCI+CiA8 IUVOVElUWSBkcm9wVmlldyAgICAgICAgICAgU1lTVEVNICJkcm9wX3ZpZXcuc2dtbCI+CiA8IUVO VElUWSBlbmQgICAgICAgICAgICAgICAgU1lTVEVNICJlbmQuc2dtbCI+CiA8IUVOVElUWSBleGVj dXRlICAgICAgICAgICAgU1lTVEVNICJleGVjdXRlLnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRl X3ZhcmlhYmxlLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRl OGMxOTQwMjUyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFy aWFibGUuc2dtbApAQCAtMCwwICsxLDEzMyBAQAorPCEtLQorZG9jL3NyYy9zZ21sL3JlZi9jcmVh dGVfdmFyaWFibGUuc2dtbAorUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCistLT4KKworPHJlZmVu dHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWNyZWF0 ZXZhcmlhYmxlIj4KKyAgPHByaW1hcnk+Q1JFQVRFIFZBUklBQkxFPC9wcmltYXJ5PgorIDwvaW5k ZXh0ZXJtPgorCisgPGluZGV4dGVybT4KKyAgPHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJp bWFyeT4KKyAgPHNlY29uZGFyeT5kZWZpbmluZzwvc2Vjb25kYXJ5PgorIDwvaW5kZXh0ZXJtPgor CisgPHJlZm1ldGE+CisgIDxyZWZlbnRyeXRpdGxlPkNSRUFURSBWQVJJQUJMRTwvcmVmZW50cnl0 aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBM YW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFt ZWRpdj4KKyAgPHJlZm5hbWU+Q1JFQVRFIFZBUklBQkxFPC9yZWZuYW1lPgorICA8cmVmcHVycG9z ZT5kZWZpbmUgYSBzZXNzaW9uIHZhcmlhYmxlPC9yZWZwdXJwb3NlPgorIDwvcmVmbmFtZWRpdj4K KworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JB UlkgfSBWQVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9y ZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKyA8cmVmc2VjdDE+ CisgIDx0aXRsZT5EZXNjcmlwdGlvbjwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1h bmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIGNyZWF0ZXMgYSBzZXNzaW9uCisg ICB2YXJpYWJsZS4gQ3VycmVudGx5IG9ubHkgdGVtcG9yYXJ5IHNlc3Npb24gdmFyaWFibGVzIGFy ZSBzdXBwb3J0ZWQsCisgICBhbmQgdGhlbiB0aGUga2V5d29yZCA8bGl0ZXJhbD5URU1QT1JBUlk8 L2xpdGVyYWw+IGlzIHJlcXVpcmVkLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGUgdmFs dWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50IHNlc3Npb24u ICBSZXRyaWV2aW5nCisgICBhIHNlc3Npb24gdmFyaWFibGUncyB2YWx1ZSByZXR1cm5zIE5VTEws IHVubGVzcyBpdHMgdmFsdWUgaXMgc2V0IHRvCisgICBzb21ldGhpbmcgZWxzZSBpbiB0aGUgY3Vy cmVudCBzZXNzaW9uIHdpdGggYSA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+IGNvbW1hbmQuCisgICBU aGUgY29udGVudCBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgbm90IHRyYW5zYWN0aW9uYWwuIFRo aXMgaXMgdGhlIHNhbWUgYXMKKyAgIHJlZ3VsYXIgdmFyaWFibGVzIGluIHByb2NlZHVyYWwgbGFu Z3VhZ2VzLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUg cmV0cmlldmVkIGJ5IHRoZSA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+CisgICBjb21tYW5kLiAg VGhlaXIgdmFsdWUgaXMgc2V0IHdpdGggdGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFu ZC4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgU2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJl IHVzZWQgaW4gdmlld3Mgb3IgaW4gU1FMIGZ1bmN0aW9ucyB1c2luZworICAgU1FMLWNvbmZvcm1p bmcgc3R5bGUgc3ludGF4LgorICA8L3BhcmE+CisKKyAgPG5vdGU+CisgICA8cGFyYT4KKyAgICBT ZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUgPHF1b3RlPnNoYWRvd2VkPC9xdW90ZT4gYnkgb3RoZXIg aWRlbnRpZmllcnMuCisgICAgRm9yIGRldGFpbHMsIHNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtc2Vz c2lvbi12YXJpYWJsZXMiLz4uCisgICA8L3BhcmE+CisgIDwvbm90ZT4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlhYmxl bGlzdD4KKworICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXZhcmlhYmxlLW5hbWUiPgor ICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9m IHRoZSBzZXNzaW9uIHZhcmlhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAg IDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFi bGUtZGF0YV90eXBlIj4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIFRoZSBuYW1lLCBvcHRpb25hbGx5IHNjaGVtYS1xdWFsaWZpZWQsIG9mIHRoZSBk YXRhIHR5cGUgb2YgdGhlIHNlc3Npb24KKyAgICAgIHZhcmlhYmxlLiBPbmx5IGJ1aWxkaW4gc2Nh bGFyIGRhdGEgdHlwZXMgYXJlIGFsbG93ZWQuIEFycmF5cyBvciBjb21wb3NpdGUKKyAgICAgIHR5 cGVzIGFyZSBub3QgYWxsb3dlZC4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKworICA8L3ZhcmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJl ZnNlY3QxPgorICA8dGl0bGU+Tm90ZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAgVXNlIHRoZSA8 Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIHRvIHJlbW92ZSBhIHNlc3Np b24KKyAgIHZhcmlhYmxlLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4K KyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFyYT4KKyAgIENyZWF0ZSBhbiBkYXRl IHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46Cis8cHJvZ3JhbWxpc3Rp bmc+CitDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHZhcjEgQVMgZGF0ZTsKKzwvcHJvZ3JhbWxp c3Rpbmc+CisgIDwvcGFyYT4KKworIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRs ZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5DUkVB VEUgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgaXMgYQorICAgPHByb2R1Y3RuYW1lPlBvc3Rn cmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNpb24uCisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2VlIEFsc288L3RpdGxlPgorCisgIDxzaW1wbGVsaXN0 IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFi bGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKzwvcmVmZW50 cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCBiL2Rv Yy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5lODUxN2E3ODIwMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCkBAIC0wLDAgKzEsODQgQEAKKzwhLS0KK2RvYy9z cmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24K Ky0tPgorCis8cmVmZW50cnkgaWQ9InNxbC1kcm9wdmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9u ZT0ic3FsLWRyb3B2YXJpYWJsZSI+CisgIDxwcmltYXJ5PkRST1AgVkFSSUFCTEU8L3ByaW1hcnk+ CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0ZXJtPgorICA8cHJpbWFyeT5zZXNzaW9uIHZhcmlh YmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5PnJlbW92aW5nPC9zZWNvbmRhcnk+CisgPC9pbmRl eHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+RFJPUCBWQVJJQUJMRTwvcmVm ZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5T UUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8 cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+RFJPUCBWQVJJQUJMRTwvcmVmbmFtZT4KKyAgPHJlZnB1 cnBvc2U+cmVtb3ZlIGEgc2Vzc2lvbiB2YXJpYWJsZTwvcmVmcHVycG9zZT4KKyA8L3JlZm5hbWVk aXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8c3lub3BzaXM+CitEUk9QIFZBUklBQkxFIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+ CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9u PC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkRST1AgVkFSSUFCTEU8L2NvbW1hbmQ+ IHJlbW92ZXMgYSBzZXNzaW9uIHZhcmlhYmxlLgorICAgQSBzZXNzaW9uIHZhcmlhYmxlIGNhbiBv bmx5IGJlIHJlbW92ZWQgYnkgaXRzIG93bmVyIG9yIGEgc3VwZXJ1c2VyLgorICA8L3BhcmE+Cisg PC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgor ICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0 aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbmFtZSBvZiBhIHNlc3Npb24gdmFyaWFibGUu CisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisgIDwv dmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5FeGFt cGxlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUbyByZW1vdmUgdGhlIHNlc3Npb24gdmFyaWFi bGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46CisKKzxwcm9ncmFtbGlzdGluZz4KK0RST1AgVkFS SUFCTEUgdmFyMTsKKzwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8 cmVmc2VjdDE+CisgIDx0aXRsZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAg IFRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIGlzIGEKKyAgIDxw cm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8L3BhcmE+ CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNlZSBBbHNvPC90aXRsZT4K KworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5k PSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVm c2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKaW5kZXggMmNmMDJjMzdiMTcuLmMw M2U3NjkyYzdhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCkBAIC0xMjcsNiArMTI3LDcgQEAKICAgICZjcmVh dGVUeXBlOwogICAgJmNyZWF0ZVVzZXI7CiAgICAmY3JlYXRlVXNlck1hcHBpbmc7CisgICAmY3Jl YXRlVmFyaWFibGU7CiAgICAmY3JlYXRlVmlldzsKICAgICZkZWFsbG9jYXRlOwogICAgJmRlY2xh cmU7CkBAIC0xNzUsNiArMTc2LDcgQEAKICAgICZkcm9wVHlwZTsKICAgICZkcm9wVXNlcjsKICAg ICZkcm9wVXNlck1hcHBpbmc7CisgICAmZHJvcFZhcmlhYmxlOwogICAgJmRyb3BWaWV3OwogICAg JmVuZDsKICAgICZleGVjdXRlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvTWFr ZWZpbGUgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZQppbmRleCA2NGNiNjI3ODQwOS4u ZDQyZWQ4OTUyYTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCkBAIC01NCw2ICs1NCw3IEBAIE9CSlMg PSBcCiAJc2VjbGFiZWwubyBcCiAJc2VxdWVuY2UubyBcCiAJc2VxdWVuY2VfeGxvZy5vIFwKKwlz ZXNzaW9uX3ZhcmlhYmxlLm8gXAogCXN0YXRzY21kcy5vIFwKIAlzdWJzY3JpcHRpb25jbWRzLm8g XAogCXRhYmxlY21kcy5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3Bj bWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IDkyNTI2MDEyZDJh Li43NzA3NWY5MDUxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC0yMiw2ICsyMiw3IEBA CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3Byb2MuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKKyNpbmNsdWRlICJjb21tYW5k cy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAi cGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv bWVzb24uYnVpbGQKaW5kZXggY2EzZjUzYzYyMTMuLmU4OGUzYjljMDU4IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9tZXNvbi5idWlsZApAQCAtNDIsNiArNDIsNyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMo CiAgICdzZWNsYWJlbC5jJywKICAgJ3NlcXVlbmNlLmMnLAogICAnc2VxdWVuY2VfeGxvZy5jJywK KyAgJ3Nlc3Npb25fdmFyaWFibGUuYycsCiAgICdzdGF0c2NtZHMuYycsCiAgICdzdWJzY3JpcHRp b25jbWRzLmMnLAogICAndGFibGVjbWRzLmMnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jZDYxZGY0 YTM3MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwpAQCAtMCwwICsxLDIxNSBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogc2Vz c2lvbl92YXJpYWJsZS5jCisgKgkgIHNlc3Npb24gdmFyaWFibGUgY3JlYXRpb24vbWFuaXB1bGF0 aW9uIGNvbW1hbmRzCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg KGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zh cmlhYmxlLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2luY2x1ZGUgInBvc3RncmVz LmgiCisKKyNpbmNsdWRlICJjYXRhbG9nL3BnX2xhbmd1YWdlLmgiCisjaW5jbHVkZSAiY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUg InBhcnNlci9wYXJzZV90eXBlLmgiCisjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVk ZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgorI2luY2x1ZGUg InV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisKKy8qCisg KiBUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN0b3JlZCBpbiB0aGUgYmFja2VuZCdzIHByaXZh dGUgbWVtb3J5IChkYXRhLAorICogbWV0YWRhdGEpIGluIHRoZSBkZWRpY2F0ZWQgbWVtb3J5IGNv bnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCBpbiBiaW5hcnkKKyAqIGZvcm1hdC4gVGhleSBh cmUgc3RvcmVkIGluIHRoZSAic2Vzc2lvbnZhcnMiIGhhc2ggdGFibGUsIHdob3NlIGtleSBpcyB0 aGUKKyAqIG5hbWUgb2YgdGhlIHZhcmlhYmxlLgorICoKKyAqIE9ubHkgb3duZXIgKGNyZWF0b3Ip IGNhbiBhY2Nlc3MgdGhlIHNlc3Npb24gdmFyaWFibGVzLiBCZWNhdXNlIHRoZXJlIGlzCisgKiBu b3QgY2F0YWxvZyBzdXBwb3J0LCB0aGVyZSBpcyBub3QgcG9zc2liaWxpdHkgdG8gdHJhY2sgZGVw ZW5kZWNpZXMsIGFuZAorICogdGhlbiBvbmx5IGJ1aWxkaW4gdHlwZXMuCisgKi8KK3R5cGVkZWYg c3RydWN0IFNWYXJpYWJsZURhdGEKK3sKKwlOYW1lRGF0YQl2YXJuYW1lOworCisJT2lkCQkJdmFy b3duZXI7CisJT2lkCQkJdmFydHlwZTsKKwlpbnQzMgkJdmFydHlwbW9kOworCU9pZAkJCXZhcmNv bGxhdGlvbjsKKworCWJvb2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7CisKKwlpbnQxNgkJdHlw bGVuOworCWJvb2wJCXR5cGJ5dmFsOworfSBTVmFyaWFibGVEYXRhOworCit0eXBlZGVmIFNWYXJp YWJsZURhdGEgKlNWYXJpYWJsZTsKKworc3RhdGljIEhUQUIgKnNlc3Npb252YXJzID0gTlVMTDsJ LyogaGFzaCB0YWJsZSBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKworc3RhdGljIE1lbW9yeUNv bnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCA9IE5VTEw7CisKKy8qCisgKiBDcmVhdGUgdGhl IGhhc2ggdGFibGUgZm9yIHN0b3Jpbmcgc2Vzc2lvbiB2YXJpYWJsZXMuCisgKi8KK3N0YXRpYyB2 b2lkCitjcmVhdGVfc2Vzc2lvbnZhcnNfaGFzaHRhYmxlcyh2b2lkKQoreworCUhBU0hDVEwJCXZh cnNfY3RsOworCisJQXNzZXJ0KCFzZXNzaW9udmFycyk7CisKKwlpZiAoIVNWYXJpYWJsZU1lbW9y eUNvbnRleHQpCisJeworCQkvKiB3ZSBuZWVkIG91ciBvd24gbG9uZy1saXZlZCBtZW1vcnkgY29u dGV4dCAqLworCQlTVmFyaWFibGVNZW1vcnlDb250ZXh0ID0KKwkJCUFsbG9jU2V0Q29udGV4dENy ZWF0ZShUb3BNZW1vcnlDb250ZXh0LAorCQkJCQkJCQkgICJzZXNzaW9uIHZhcmlhYmxlcyIsCisJ CQkJCQkJCSAgQUxMT0NTRVRfU1RBUlRfU01BTExfU0laRVMpOworCX0KKworCXZhcnNfY3RsLmtl eXNpemUgPSBOQU1FREFUQUxFTjsKKwl2YXJzX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoU1Zhcmlh YmxlRGF0YSk7CisJdmFyc19jdGwuaGN4dCA9IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQ7CisKKwlz ZXNzaW9udmFycyA9IGhhc2hfY3JlYXRlKCJTZXNzaW9uIHZhcmlhYmxlcyIsIDY0LCAmdmFyc19j dGwsCisJCQkJCQkJICBIQVNIX0VMRU0gfCBIQVNIX1NUUklOR1MgfCBIQVNIX0NPTlRFWFQpOwor fQorCisvKgorICogUmV0dXJucyBlbnRyeSBvZiBzZXNzaW9uIHZhcmlhYmxlIHNwZWNpZmllZCBi eSBuYW1lCisgKi8KK3N0YXRpYyBTVmFyaWFibGUKK3NlYXJjaF92YXJpYWJsZShjaGFyICp2YXJu YW1lKQoreworCVNWYXJpYWJsZQlzdmFyOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3JlYXRl X3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3Nl YXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKKwkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxMKTsK KworCWlmICghc3ZhcikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VO REVGSU5FRF9PQkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRv ZXNuJ3QgZXhpc3QiLAorCQkJCQkJdmFybmFtZSkpKTsKKworCXJldHVybiBzdmFyOworfQorCisv KgorICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGluIHNlc3Npb252 YXJzCisgKgorICogVXNlZCBieSBDUkVBVEUgVkFSSUFCTEUgY29tbWFuZAorICovCit2b2lkCitD cmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpz dG10KQoreworCU9pZAkJCXR5cGVpZDsKKwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCXR5cGNvbGxh dGlvbjsKKwlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOworCVNWYXJpYWJsZQlzdmFyOwor CWJvb2wJCWZvdW5kOworCWludDE2CQl0eXBsZW47CisJYm9vbAkJdHlwYnl2YWw7CisKKwkvKgor CSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFzZWQsIGJ1dCB3ZSBl eHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBmdXR1cmUsIHNvIHdl IGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZSZWFkT25seSgiQ1JF QVRFIFZBUklBQkxFIik7CisJUHJldmVudENvbW1hbmRJZlBhcmFsbGVsTW9kZSgiQ1JFQVRFIFZB UklBQkxFIik7CisJUHJldmVudENvbW1hbmREdXJpbmdSZWNvdmVyeSgiQ1JFQVRFIFZBUklBQkxF Iik7CisKKwl0eXBlbmFtZVR5cGVJZEFuZE1vZChwc3RhdGUsIHN0bXQtPnR5cGVOYW1lLCAmdHlw ZWlkLCAmdHlwbW9kKTsKKworCWlmIChnZXRfdHlwdHlwZSh0eXBlaWQpICE9IFRZUFRZUEVfQkFT RSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NV UFBPUlRFRCksCisJCQkJIGVycm1zZygiJXMgaXMgbm90IGEgYmFzZSB0eXBlIiwKKwkJCQkJCWZv cm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwlpZiAoT2lkSXNWYWxpZChnZXRfZWxlbWVudF90 eXBlKHR5cGVpZCkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCIlcyB0eXBlIGlzIGFuIGFycmF5IiwK KwkJCQkJCWZvcm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwkvKiBhbGxvdyBvbmx5IGJ1aWxk aW4gdHlwZXMgKi8KKwlpZiAodHlwZWlkID49IEZpcnN0VW5waW5uZWRPYmplY3RJZCkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwK KwkJCQllcnJtc2coInNlc3Npb24gdmFyaWFibGUgY2Fubm90IGhhdmUgYSB1c2VyLWRlZmluZWQg dHlwZSIpLAorCQkJCWVycmRldGFpbCgiU2Vzc2lvbiB2YXJpYWJsZXMgdGhhdCBtYWtlIHVzZSBv ZiB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLiIpKTsKKworCWdldF90 eXBsZW5ieXZhbCh0eXBlaWQsICZ0eXBsZW4sICZ0eXBieXZhbCk7CisJdHlwY29sbGF0aW9uID0g Z2V0X3R5cGNvbGxhdGlvbih0eXBlaWQpOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3JlYXRl X3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSBoYXNoX3NlYXJjaChzZXNzaW9u dmFycywgc3RtdC0+bmFtZSwKKwkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKKworCWlmIChm b3VuZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9P QkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkgZXhp c3RzIiwKKwkJCQkJCXN0bXQtPm5hbWUpKSk7CisKKwluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1l LCBzdG10LT5uYW1lKTsKKwlzdmFyLT52YXJ0eXBlID0gdHlwZWlkOworCXN2YXItPnZhcnR5cG1v ZCA9IHR5cG1vZDsKKwlzdmFyLT52YXJjb2xsYXRpb24gPSB0eXBjb2xsYXRpb247CisJc3Zhci0+ dmFyb3duZXIgPSB2YXJvd25lcjsKKwlzdmFyLT50eXBsZW4gPSB0eXBsZW47CisJc3Zhci0+dHlw Ynl2YWwgPSB0eXBieXZhbDsKKworCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOworCXN2YXItPmlz bnVsbCA9IHRydWU7Cit9CisKKy8qCisgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKKyAqLwordm9p ZAorRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxlCXN2YXI7 CisKKwkvKgorCSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFzZWQs IGJ1dCB3ZSBleHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBmdXR1 cmUsIHNvIHdlIGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZSZWFk T25seSgiRFJPUCBWQVJJQUJMRSIpOworCVByZXZlbnRDb21tYW5kSWZQYXJhbGxlbE1vZGUoIkRS T1AgVkFSSUFCTEUiKTsKKwlQcmV2ZW50Q29tbWFuZER1cmluZ1JlY292ZXJ5KCJEUk9QIFZBUklB QkxFIik7CisKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCisJLyogb25seSBv d25lciBjYW4gZ2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KKwlpZiAoc3Zhci0+dmFyb3duZXIg IT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShl cnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJIGVycm1zZygibXVz dCBiZSBvd25lciBvZiBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7CisK KwlpZiAoIXN2YXItPnR5cGJ5dmFsICYmICFzdmFyLT5pc251bGwpCisJCXBmcmVlKERhdHVtR2V0 UG9pbnRlcihzdmFyLT52YWx1ZSkpOworCisJaWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLAor CQkJCQkgICB2YXJuYW1lLAorCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJICAgTlVMTCkgPT0g TlVMTCkKKwkJZWxvZyhFUlJPUiwgImhhc2ggdGFibGUgY29ycnVwdGVkIik7Cit9CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQppbmRleCAzYzNlMjQzMjRhOC4uYTU2NDMwZmJkZmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMjkyLDEz ICsyOTIsMTMgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJl bG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJQ29uc3RyYWludHNTZXRTdG10 IENvcHlTdG10IENyZWF0ZUFzU3RtdCBDcmVhdGVDYXN0U3RtdAogCQlDcmVhdGVEb21haW5TdG10 IENyZWF0ZUV4dGVuc2lvblN0bXQgQ3JlYXRlR3JvdXBTdG10IENyZWF0ZU9wQ2xhc3NTdG10CiAJ CUNyZWF0ZU9wRmFtaWx5U3RtdCBBbHRlck9wRmFtaWx5U3RtdCBDcmVhdGVQTGFuZ1N0bXQKLQkJ Q3JlYXRlU2NoZW1hU3RtdCBDcmVhdGVTZXFTdG10IENyZWF0ZVN0bXQgQ3JlYXRlU3RhdHNTdG10 IENyZWF0ZVRhYmxlU3BhY2VTdG10Ci0JCUNyZWF0ZUZkd1N0bXQgQ3JlYXRlRm9yZWlnblNlcnZl clN0bXQgQ3JlYXRlRm9yZWlnblRhYmxlU3RtdAorCQlDcmVhdGVTY2hlbWFTdG10IENyZWF0ZVNl cVN0bXQgQ3JlYXRlU2Vzc2lvblZhclN0bXQgQ3JlYXRlU3RtdCBDcmVhdGVTdGF0c1N0bXQKKwkJ Q3JlYXRlVGFibGVTcGFjZVN0bXQgQ3JlYXRlRmR3U3RtdCBDcmVhdGVGb3JlaWduU2VydmVyU3Rt dCBDcmVhdGVGb3JlaWduVGFibGVTdG10CiAJCUNyZWF0ZUFzc2VydGlvblN0bXQgQ3JlYXRlVHJh bnNmb3JtU3RtdCBDcmVhdGVUcmlnU3RtdCBDcmVhdGVFdmVudFRyaWdTdG10CiAJCUNyZWF0ZVVz ZXJTdG10IENyZWF0ZVVzZXJNYXBwaW5nU3RtdCBDcmVhdGVSb2xlU3RtdCBDcmVhdGVQb2xpY3lT dG10CiAJCUNyZWF0ZWRiU3RtdCBEZWNsYXJlQ3Vyc29yU3RtdCBEZWZpbmVTdG10IERlbGV0ZVN0 bXQgRGlzY2FyZFN0bXQgRG9TdG10CiAJCURyb3BPcENsYXNzU3RtdCBEcm9wT3BGYW1pbHlTdG10 IERyb3BTdG10Ci0JCURyb3BDYXN0U3RtdCBEcm9wUm9sZVN0bXQKKwkJRHJvcENhc3RTdG10IERy b3BSb2xlU3RtdCBEcm9wU2Vzc2lvblZhclN0bXQKIAkJRHJvcGRiU3RtdCBEcm9wVGFibGVTcGFj ZVN0bXQKIAkJRHJvcFRyYW5zZm9ybVN0bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWlu U3RtdCBGZXRjaFN0bXQKQEAgLTc5NSw4ICs3OTUsOCBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vy c2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkp OwogCVVFU0NBUEUgVU5CT1VOREVEIFVOQ09ORElUSU9OQUwgVU5DT01NSVRURUQgVU5FTkNSWVBU RUQgVU5JT04gVU5JUVVFIFVOS05PV04KIAlVTkxJU1RFTiBVTkxPR0dFRCBVTlRJTCBVUERBVEUg VVNFUiBVU0lORwogCi0JVkFDVVVNIFZBTElEIFZBTElEQVRFIFZBTElEQVRPUiBWQUxVRV9QIFZB TFVFUyBWQVJDSEFSIFZBUklBRElDIFZBUllJTkcKLQlWRVJCT1NFIFZFUlNJT05fUCBWSUVXIFZJ RVdTIFZJUlRVQUwgVk9MQVRJTEUKKwlWQUNVVU0gVkFMSUQgVkFMSURBVEUgVkFMSURBVE9SIFZB TFVFX1AgVkFMVUVTIFZBUkNIQVIgVkFSSUFESUMgVkFSSUFCTEUKKwlWQVJZSU5HIFZFUkJPU0Ug VkVSU0lPTl9QIFZJRVcgVklFV1MgVklSVFVBTCBWT0xBVElMRQogCiAJV0FJVCBXSEVOIFdIRVJF IFdISVRFU1BBQ0VfUCBXSU5ET1cgV0lUSCBXSVRISU4gV0lUSE9VVCBXT1JLIFdSQVBQRVIgV1JJ VEUKIApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgc3RtdDoKIAkJCXwgQ3JlYXRlUG9saWN5U3RtdAog CQkJfCBDcmVhdGVQTGFuZ1N0bXQKIAkJCXwgQ3JlYXRlU2NoZW1hU3RtdAorCQkJfCBDcmVhdGVT ZXNzaW9uVmFyU3RtdAogCQkJfCBDcmVhdGVTZXFTdG10CiAJCQl8IENyZWF0ZVN0bXQKIAkJCXwg Q3JlYXRlU3Vic2NyaXB0aW9uU3RtdApAQCAtMTA4OSw2ICsxMDkwLDcgQEAgc3RtdDoKIAkJCXwg RHJvcFRhYmxlU3BhY2VTdG10CiAJCQl8IERyb3BUcmFuc2Zvcm1TdG10CiAJCQl8IERyb3BSb2xl U3RtdAorCQkJfCBEcm9wU2Vzc2lvblZhclN0bXQKIAkJCXwgRHJvcFVzZXJNYXBwaW5nU3RtdAog CQkJfCBEcm9wZGJTdG10CiAJCQl8IEV4ZWN1dGVTdG10CkBAIC01MzkxLDYgKzUzOTMsNDcgQEAg Y3JlYXRlX2V4dGVuc2lvbl9vcHRfaXRlbToKIAkJCQl9CiAJCTsKIAorLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCisgKgorICoJCVFVRVJZIDoKKyAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkg fSBWQVJJQUJMRSB2YXJuYW1lIFtBU10gdHlwZQorICoKKyAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K KworQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CisJCQlDUkVBVEUgT3B0VGVtcCBWQVJJQUJMRSBDb2xJ ZCBvcHRfYXMgVHlwZW5hbWUKKwkJCQl7CisJCQkJCUNyZWF0ZVNlc3Npb25WYXJTdG10ICpuID0g bWFrZU5vZGUoQ3JlYXRlU2Vzc2lvblZhclN0bXQpOworCisJCQkJCWlmICgkMiAhPSBSRUxQRVJT SVNURU5DRV9URU1QKQorCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkoZXJyY29kZShFUlJD T0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCQkJIGVycm1zZygib25seSB0ZW1wb3Jh bCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkIiksCisJCQkJCQkJIHBhcnNlcl9lcnJw b3NpdGlvbihAMikpKTsKKworCQkJCQluLT5uYW1lID0gJDQ7CisJCQkJCW4tPnR5cGVOYW1lID0g JDY7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CisJCTsKKworLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCisgKgorICoJCVFVRVJZIDoKKyAqCQkJCURST1AgVkFSSUFCTEUgdmFybmFtZQorICoK KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KKworRHJvcFNlc3Npb25WYXJTdG10OgorCQkJRFJPUCBW QVJJQUJMRSBDb2xJZAorCQkJCXsKKwkJCQkJRHJvcFNlc3Npb25WYXJTdG10ICpuID0gbWFrZU5v ZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKKworCQkJCQluLT5uYW1lID0gJDM7CisJCQkJCSQkID0g KE5vZGUgKikgbjsKKwkJCQl9CisJCTsKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKgogICog QUxURVIgRVhURU5TSU9OIG5hbWUgVVBEQVRFIFsgVE8gdmVyc2lvbiBdCkBAIC0xODI1OCw2ICsx ODMwMSw3IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJCXwgVkFMSURBVEUKIAkJCXwgVkFMSURB VE9SCiAJCQl8IFZBTFVFX1AKKwkJCXwgVkFSSUFCTEUKIAkJCXwgVkFSWUlORwogCQkJfCBWRVJT SU9OX1AKIAkJCXwgVklFVwpAQCAtMTg5MTgsNiArMTg5NjIsNyBAQCBiYXJlX2xhYmVsX2tleXdv cmQ6CiAJCQl8IFZBTFVFX1AKIAkJCXwgVkFMVUVTCiAJCQl8IFZBUkNIQVIKKwkJCXwgVkFSSUFC TEUKIAkJCXwgVkFSSUFESUMKIAkJCXwgVkVSQk9TRQogCQkJfCBWRVJTSU9OX1AKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5 LmMKaW5kZXggYmY3MDdmMmQ1N2YuLjk5Yzk1YjgwNzY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAtNDgs NiArNDgsNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3NjaGVtYWNtZHMuaCIKICNpbmNsdWRlICJj b21tYW5kcy9zZWNsYWJlbC5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3NlcXVlbmNlLmgiCisjaW5j bHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3N1 YnNjcmlwdGlvbmNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNs dWRlICJjb21tYW5kcy90YWJsZXNwYWNlLmgiCkBAIC0xODMsNiArMTg0LDcgQEAgQ2xhc3NpZnlV dGlsaXR5Q29tbWFuZEFzUmVhZE9ubHkoTm9kZSAqcGFyc2V0cmVlKQogCQljYXNlIFRfQ3JlYXRl UmFuZ2VTdG10OgogCQljYXNlIFRfQ3JlYXRlUm9sZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTY2hl bWFTdG10OgorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVT ZXFTdG10OgogCQljYXNlIFRfQ3JlYXRlU3RhdHNTdG10OgogCQljYXNlIFRfQ3JlYXRlU3RtdDoK QEAgLTIwMSw2ICsyMDMsNyBAQCBDbGFzc2lmeVV0aWxpdHlDb21tYW5kQXNSZWFkT25seShOb2Rl ICpwYXJzZXRyZWUpCiAJCWNhc2UgVF9Ecm9wVGFibGVTcGFjZVN0bXQ6CiAJCWNhc2UgVF9Ecm9w VXNlck1hcHBpbmdTdG10OgogCQljYXNlIFRfRHJvcGRiU3RtdDoKKwkJY2FzZSBUX0Ryb3BTZXNz aW9uVmFyU3RtdDoKIAkJY2FzZSBUX0dyYW50Um9sZVN0bXQ6CiAJCWNhc2UgVF9HcmFudFN0bXQ6 CiAJCWNhc2UgVF9JbXBvcnRGb3JlaWduU2NoZW1hU3RtdDoKQEAgLTEwNjMsNiArMTA2NiwxNSBA QCBzdGFuZGFyZF9Qcm9jZXNzVXRpbGl0eShQbGFubmVkU3RtdCAqcHN0bXQsCiAJCQl9CiAJCQli cmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CisJCQlDcmVhdGVWYXJpYWJs ZShwc3RhdGUsIChDcmVhdGVTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpOworCQkJYnJlYWs7 CisKKwkJY2FzZSBUX0Ryb3BTZXNzaW9uVmFyU3RtdDoKKwkJCS8qIE5vIGV2ZW50IHRyaWdnZXJz IGZvciBjYXRhbG9nIGxlc3Mgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwkJCURyb3BWYXJpYWJsZUJ5 TmFtZSgoKERyb3BTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpLT5uYW1lKTsKKwkJCWJyZWFr OworCiAJCWRlZmF1bHQ6CiAJCQkvKiBBbGwgb3RoZXIgc3RhdGVtZW50IHR5cGVzIGhhdmUgZXZl bnQgdHJpZ2dlciBzdXBwb3J0ICovCiAJCQlQcm9jZXNzVXRpbGl0eVNsb3cocHN0YXRlLCBwc3Rt dCwgcXVlcnlTdHJpbmcsCkBAIC0xMzg4LDYgKzE0MDAsNyBAQCBQcm9jZXNzVXRpbGl0eVNsb3co UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCX0KIAkJCQlicmVhazsKIAorCiAJCQkJLyoKIAkJCQkg KiAqKioqKioqKioqKioqIG9iamVjdCBjcmVhdGlvbiAvIGRlc3RydWN0aW9uICoqKioqKioqKioq KioqCiAJCQkJICovCkBAIC0zMjM2LDYgKzMyNDksMTQgQEAgQ3JlYXRlQ29tbWFuZFRhZyhOb2Rl ICpwYXJzZXRyZWUpCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZh clN0bXQ6CisJCQl0YWcgPSBDTURUQUdfQ1JFQVRFX1ZBUklBQkxFOworCQkJYnJlYWs7CisKKwkJ Y2FzZSBUX0Ryb3BTZXNzaW9uVmFyU3RtdDoKKwkJCXRhZyA9IENNRFRBR19EUk9QX1ZBUklBQkxF OworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCWVsb2coV0FSTklORywgInVucmVjb2duaXpl ZCBub2RlIHR5cGU6ICVkIiwKIAkJCQkgKGludCkgbm9kZVRhZyhwYXJzZXRyZWUpKTsKQEAgLTM3 NzQsNiArMzc5NSwxMSBAQCBHZXRDb21tYW5kTG9nTGV2ZWwoTm9kZSAqcGFyc2V0cmVlKQogCQkJ fQogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0NyZWF0ZVNlc3Npb25WYXJTdG10OgorCQljYXNlIFRf RHJvcFNlc3Npb25WYXJTdG10OgorCQkJbGV2ID0gTE9HU1RNVF9EREw7CisJCQlicmVhazsKKwog CQlkZWZhdWx0OgogCQkJZWxvZyhXQVJOSU5HLCAidW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQi LAogCQkJCSAoaW50KSBub2RlVGFnKHBhcnNldHJlZSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w c3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmlu ZGV4IGY4YzA4NjVjYTg5Li43N2YxMjYzZDc5OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAt MTM2NCw2ICsxMzY0LDcgQEAgc3RhdGljIGNvbnN0IHBnc3FsX3RoaW5nX3Qgd29yZHNfYWZ0ZXJf Y3JlYXRlW10gPSB7CiAJeyJVU0VSIiwgUXVlcnlfZm9yX2xpc3Rfb2Zfcm9sZXMsIE5VTEwsIE5V TEwsIEtleXdvcmRzX2Zvcl91c2VyX3RoaW5nfSwKIAl7IlVTRVIgTUFQUElORyBGT1IiLCBOVUxM LCBOVUxMLCBOVUxMfSwKIAl7IlZJRVciLCBOVUxMLCBOVUxMLCAmUXVlcnlfZm9yX2xpc3Rfb2Zf dmlld3N9LAorCXsiVkFSSUFCTEUiLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBUSElOR19OT19D UkVBVEV9LAogCXtOVUxMfQkJCQkJCS8qIGVuZCBvZiBsaXN0ICovCiB9OwogCkBAIC0zNzkxLDcg KzM3OTIsNyBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIC8qIENSRUFU RSBUQUJMRSAtLS0gaXMgYWxsb3dlZCBpbnNpZGUgQ1JFQVRFIFNDSEVNQSwgc28gdXNlIFRhaWxN YXRjaGVzICovCiAJLyogQ29tcGxldGUgIkNSRUFURSBURU1QL1RFTVBPUkFSWSIgd2l0aCB0aGUg cG9zc2libGUgdGVtcCBvYmplY3RzICovCiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIkNSRUFURSIs ICJURU1QfFRFTVBPUkFSWSIpKQotCQlDT01QTEVURV9XSVRIKCJTRVFVRU5DRSIsICJUQUJMRSIs ICJWSUVXIik7CisJCUNPTVBMRVRFX1dJVEgoIlNFUVVFTkNFIiwgIlRBQkxFIiwgIlZBUklBQkxF IiwgIlZJRVciKTsKIAkvKiBDb21wbGV0ZSAiQ1JFQVRFIFVOTE9HR0VEIiB3aXRoIFRBQkxFIG9y IFNFUVVFTkNFICovCiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIkNSRUFURSIsICJVTkxPR0dFRCIp KQogCQlDT01QTEVURV9XSVRIKCJUQUJMRSIsICJTRVFVRU5DRSIpOwpAQCAtNDE0NCw2ICs0MTQ1 LDEzIEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQkJQ09NUExFVEVf V0lUSCgiLCIsICIpIik7CiAJfQogCisvKiBDUkVBVEUgVkFSSUFCTEUgKi8KKwllbHNlIGlmIChN YXRjaGVzKCJDUkVBVEUiLCAiVEVNUHxURU1QT1JBUlkiLCAiVkFSSUFCTEUiLCBNYXRjaEFueSkp CisJCUNPTVBMRVRFX1dJVEgoIkFTIik7CisJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIlZBUklBQkxF IiwgTWF0Y2hBbnksICJBUyIpKQorCQkvKiBDb21wbGV0ZSBDUkVBVEUgVkFSSUFCTEUgPG5hbWU+ IHdpdGggQVMgdHlwZXMgKi8KKwkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUlkoUXVlcnlfZm9y X2xpc3Rfb2ZfZGF0YXR5cGVzKTsKKwogLyogQ1JFQVRFIFZJRVcgLS0tIGlzIGFsbG93ZWQgaW5z aWRlIENSRUFURSBTQ0hFTUEsIHNvIHVzZSBUYWlsTWF0Y2hlcyAqLwogCS8qIENvbXBsZXRlIENS RUFURSBbIE9SIFJFUExBQ0UgXSBWSUVXIDxuYW1lPiB3aXRoIEFTIG9yIFdJVEggKi8KIAllbHNl IGlmIChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwgIlZJRVciLCBNYXRjaEFueSkgfHwKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMWVkNDBkODdhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9j b21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTAsMCArMSwyNSBAQAorLyotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKgorICogc2Vzc2lvbnZhcmlhYmxlLmgKKyAqCSAgcHJvdG90eXBlcyBmb3Igc2Vz c2lvbnZhcmlhYmxlLmMuCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0y MDI1LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29w eXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEK KyAqCisgKiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKKyAqCisgKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZuZGVmIFNFU1NJT05WQVJJQUJMRV9ICisjZGVmaW5l IFNFU1NJT05WQVJJQUJMRV9ICisKKyNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFkZHJlc3MuaCIK KyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgorI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9k ZXMuaCIKKworZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBD cmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CitleHRlcm4gdm9pZCBEcm9wVmFyaWFibGVCeU5h bWUoY2hhciAqdmFybmFtZSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGZm NDE5NDNhNmRiLi40ZDlhMzdlYzc1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzU4Niw2 ICszNTg2LDI5IEBAIHR5cGVkZWYgc3RydWN0IEFsdGVyU3RhdHNTdG10CiAJYm9vbAkJbWlzc2lu Z19vazsJCS8qIHNraXAgZXJyb3IgaWYgc3RhdGlzdGljcyBvYmplY3QgaXMgbWlzc2luZyAqLwog fSBBbHRlclN0YXRzU3RtdDsKIAorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJQ3Jl YXRlIFZhcmlhYmxlIFN0YXRlbWVudAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCit0 eXBlZGVmIHN0cnVjdCBDcmVhdGVTZXNzaW9uVmFyU3RtdAoreworCU5vZGVUYWcJCXR5cGU7CisJ Y2hhcgkgICAqbmFtZTsJCS8qIHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgKi8KKwlUeXBlTmFtZSAg ICp0eXBlTmFtZTsJCS8qIHRoZSB0eXBlIG9mIHZhcmlhYmxlICovCit9IENyZWF0ZVNlc3Npb25W YXJTdG10OworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJRFJPUCBWYXJpYWJsZSBT dGF0ZW1lbnQKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3Qg RHJvcFNlc3Npb25WYXJTdG10Cit7CisJTm9kZVRhZwkJdHlwZTsKKwljaGFyCSAgICpuYW1lOwor fSBEcm9wU2Vzc2lvblZhclN0bXQ7CisKKwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoJ CUNyZWF0ZSBGdW5jdGlvbiBTdGF0ZW1lbnQKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCBiL3NyYy9pbmNsdWRlL3BhcnNl ci9rd2xpc3QuaAppbmRleCBmNzc1M2M1YzhhOC4uZDRiMTIyM2EzM2UgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKQEAgLTQ5MSw2ICs0OTEsNyBAQCBQR19LRVlXT1JEKCJ2YWxpZGF0b3IiLCBWQUxJREFUT1Is IFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInZhbHVlIiwgVkFM VUVfUCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgidmFsdWVz IiwgVkFMVUVTLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgidmFy Y2hhciIsIFZBUkNIQVIsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JE KCJ2YXJpYWJsZSIsIFZBUklBQkxFLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQ R19LRVlXT1JEKCJ2YXJpYWRpYyIsIFZBUklBRElDLCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgidmFyeWluZyIsIFZBUllJTkcsIFVOUkVTRVJWRURfS0VZV09SRCwg QVNfTEFCRUwpCiBQR19LRVlXT1JEKCJ2ZXJib3NlIiwgVkVSQk9TRSwgVFlQRV9GVU5DX05BTUVf S0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFn bGlzdC5oIGIvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKaW5kZXggMTI5MGM5YmFiNjgu LjRiOTY0ZDBmYjVhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAor KysgYi9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaApAQCAtMTIzLDYgKzEyMyw3IEBAIFBH X0NNRFRBRyhDTURUQUdfQ1JFQVRFX1RSQU5TRk9STSwgIkNSRUFURSBUUkFOU0ZPUk0iLCB0cnVl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9UUklHR0VSLCAiQ1JFQVRF IFRSSUdHRVIiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9U WVBFLCAiQ1JFQVRFIFRZUEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFH X0NSRUFURV9VU0VSX01BUFBJTkcsICJDUkVBVEUgVVNFUiBNQVBQSU5HIiwgdHJ1ZSwgZmFsc2Us IGZhbHNlKQorUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfVkFSSUFCTEUsICJDUkVBVEUgVkFSSUFC TEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9WSUVXLCAi Q1JFQVRFIFZJRVciLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RFQUxM T0NBVEUsICJERUFMTE9DQVRFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfREVBTExPQ0FURV9BTEwsICJERUFMTE9DQVRFIEFMTCIsIGZhbHNlLCBmYWxzZSwgZmFsc2Up CkBAIC0xNzUsNiArMTc2LDcgQEAgUEdfQ01EVEFHKENNRFRBR19EUk9QX1RSQU5TRk9STSwgIkRS T1AgVFJBTlNGT1JNIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9Q X1RSSUdHRVIsICJEUk9QIFRSSUdHRVIiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUco Q01EVEFHX0RST1BfVFlQRSwgIkRST1AgVFlQRSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfRFJPUF9VU0VSX01BUFBJTkcsICJEUk9QIFVTRVIgTUFQUElORyIsIHRydWUs IGZhbHNlLCBmYWxzZSkKK1BHX0NNRFRBRyhDTURUQUdfRFJPUF9WQVJJQUJMRSwgIkRST1AgVkFS SUFCTEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1BfVklFVywg IkRST1AgVklFVyIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRVhFQ1VU RSwgIkVYRUNVVEUiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19FWFBM QUlOLCAiRVhQTEFJTiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQ1YzJkMjdhYjQ0Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC0w LDAgKzEsNDMgQEAKK1NFVCBsb2dfc3RhdGVtZW50IFRPIGRkbDsKKy0tIHNob3VsZCB0byBmYWls CitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJPUjogIG9ubHkgdGVtcG9yYWwgc2Vzc2lv biB2YXJpYWJsZXMgYXJlIHN1cHBvcnRlZAorLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUE9S QVJZIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGZhaWwKK0NSRUFURSBURU1QT1JBUlkg VkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgIngiIGFscmVhZHkg ZXhpc3RzCistLSBzaG91bGQgZmFpbAorRFJPUCBWQVJJQUJMRSB5OworRVJST1I6ICBzZXNzaW9u IHZhcmlhYmxlICJ5IiBkb2Vzbid0IGV4aXN0CistLSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFC TEUgeDsKK0NSRUFURSBUWVBFIHRlc3RfdHlwZSBBUyAoeCBpbnQsIHkgaW50KTsKKy0tIHNob3Vs ZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5cGU7CitFUlJPUjogIG9ubHkgdGVt cG9yYWwgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN1cHBvcnRlZAorRFJPUCBUWVBFIHRlc3RfdHlw ZTsKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnRbXTsKK0VSUk9SOiAg b25seSB0ZW1wb3JhbCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkCitDUkVBVEUgRE9N QUlOIHRlc3RfZG9tYWluIEFTIGludDsKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWQVJJ QUJMRSB4IEFTIHRlc3RfZG9tYWluOworRVJST1I6ICB0ZXN0X2RvbWFpbiBpcyBub3QgYSBiYXNl IHR5cGUKK0RST1AgRE9NQUlOIHRlc3RfZG9tYWluOworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNz aW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92 YXJpYWJsZV90ZXN0X3JvbGVfMDI7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFi bGVfdGVzdF9yb2xlXzAxOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitTRVQgUk9M RSBUTyBkZWZhdWx0OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMjsKKy0tIHNob3VsZCBmYWlsCitEUk9QIFZBUklBQkxFIHg7CitFUlJPUjogIG11c3Qg YmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSB4CitTRVQgUk9MRSBUTyBkZWZhdWx0OworU0VU IFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKKy0tIHNob3Vs ZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RST1AgUk9M RSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOworRFJPUCBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hl ZHVsZQppbmRleCA1NDllOWIyZDdiZS4uOGY5OTg4OTU0ZjkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQpAQCAtMTE1LDcgKzExNSw3IEBAIHRlc3Q6IGpzb24ganNvbmIganNvbl9lbmNv ZGluZyBqc29ucGF0aCBqc29ucGF0aF9lbmNvZGluZyBqc29uYl9qc29ucGF0aCBzcWxqc29uCiAj IE5COiB0ZW1wLnNxbCBkb2VzIHJlY29ubmVjdHMgd2hpY2ggdHJhbnNpZW50bHkgdXNlcyAyIGNv bm5lY3Rpb25zLAogIyBzbyBrZWVwIHRoaXMgcGFyYWxsZWwgZ3JvdXAgdG8gYXQgbW9zdCAxOSB0 ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0 ZW1wIGRvbWFpbiByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90 YWJsZSBzZXF1ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0 IHdpdGggeG1sCit0ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0ZW1wIGRvbWFp biByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90YWJsZSBzZXF1 ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0IHdpdGggeG1s IHNlc3Npb25fdmFyaWFibGVzX2RkbAogCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBncm91cCBv ZiBwYXJhbGxlbCB0ZXN0cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lv bl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM0ZjM0 ZGQ4OThmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLnNxbApAQCAtMCwwICsxLDU2IEBACitTRVQgbG9nX3N0YXRlbWVudCBUTyBk ZGw7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0t IHNob3VsZCBiZSBvaworQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsKKworLS0g c2hvdWxkIGZhaWwKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNo b3VsZCBmYWlsCitEUk9QIFZBUklBQkxFIHk7CisKKy0tIHNob3VsZCBiZSBvaworRFJPUCBWQVJJ QUJMRSB4OworCitDUkVBVEUgVFlQRSB0ZXN0X3R5cGUgQVMgKHggaW50LCB5IGludCk7CisKKy0t IHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5cGU7CisKK0RST1AgVFlQ RSB0ZXN0X3R5cGU7CisKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnRb XTsKKworQ1JFQVRFIERPTUFJTiB0ZXN0X2RvbWFpbiBBUyBpbnQ7CisKKy0tIHNob3VsZCBmYWls CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHRlc3RfZG9tYWluOworCitEUk9QIERPTUFJTiB0 ZXN0X2RvbWFpbjsKKworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVf MDI7CisKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7 CisKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworCitTRVQgUk9MRSBUTyBkZWZhdWx0 OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKKwor LS0gc2hvdWxkIGZhaWwKK0RST1AgVkFSSUFCTEUgeDsKKworU0VUIFJPTEUgVE8gZGVmYXVsdDsK K1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CisKKy0t IHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworCitTRVQgUk9MRSBUTyBERUZBVUxUOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CitEUk9QIFJP TEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKZGlmZiAtLWdpdCBhL3Ny Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVk ZWZzLmxpc3QKaW5kZXggNzdlM2MwNDE0NGUuLjVmOTIxOTNiZTU4IDEwMDY0NAotLS0gYS9zcmMv dG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlw ZWRlZnMubGlzdApAQCAtNTc0LDYgKzU3NCw3IEBAIENyZWF0ZVJvbGVTdG10CiBDcmVhdGVTY2hl bWFTdG10CiBDcmVhdGVTY2hlbWFTdG10Q29udGV4dAogQ3JlYXRlU2VxU3RtdAorQ3JlYXRlU2Vz c2lvblZhclN0bXQKIENyZWF0ZVN0YXRzU3RtdAogQ3JlYXRlU3RtdAogQ3JlYXRlU3RtdENvbnRl eHQKQEAgLTY3OCw2ICs2NzksNyBAQCBEcm9wQmVoYXZpb3IKIERyb3BPd25lZFN0bXQKIERyb3BS ZXBsaWNhdGlvblNsb3RDbWQKIERyb3BSb2xlU3RtdAorRHJvcFNlc3Npb25WYXJTdG10CiBEcm9w U3RtdAogRHJvcFN1YnNjcmlwdGlvblN0bXQKIERyb3BUYWJsZVNwYWNlU3RtdApAQCAtMjY5OSw2 ICsyNzAxLDggQEAgU1NMX0NUWAogU1RBUlRVUElORk8KIFNUUkxFTgogU1YKK1NWYXJpYWJsZURh dGEKK1NWYXJpYWJsZQogU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIKIFNZU1RFTV9JTkZPCiBTYW1w bGVTY2FuCi0tIAoyLjUzLjAKCg== --0000000000009e8a35064c5761ad--