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 1valDR-00DEhK-1H for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Dec 2025 01:41:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1valDP-004wgY-0G for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Dec 2025 01:41: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 1valDO-004wgP-1y for pgsql-hackers@lists.postgresql.org; Wed, 31 Dec 2025 01:41:31 +0000 Received: from mail-vs1-xe2c.google.com ([2607:f8b0:4864:20::e2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1valDL-003f0O-2J for pgsql-hackers@lists.postgresql.org; Wed, 31 Dec 2025 01:41:30 +0000 Received: by mail-vs1-xe2c.google.com with SMTP id ada2fe7eead31-5dfccb35b10so7230204137.3 for ; Tue, 30 Dec 2025 17:41:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767145286; x=1767750086; 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=19aeacU44mq5sNDfqZSuTTgjxTyfnGdrMA8ZTcQPlYY=; b=NFfckhwsSbMjtDCzpNK9BJVix68VTeia1sHVSszj6WfCEVvcfxYYQ6vvJBty2SVRUM K8jFCMLGLKGONWnRuhtjvuHEukypb/PIwplJv0L/p0argor300prvThP1HbjRxsMPQ64 QXluq9b746kdgv2Z7pht2Wvgj+wPSn6wt80x05NHCBb6q2+nW2lvYlQ1rm6yYzPrdjk7 dRKkGgsNC/LmXJjKbiV8UeQuJ+NRi7YNljHwfX2ffhyXRMUQNrvtLyA2k8DS1mV1tPhK b26EWACFbK0bj8NcKDQ+DfO+xuARNZTRIzNO6K1qMyJWWbEgvFI5dVf2W3ewrkJMA/Rg GI4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767145286; x=1767750086; 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=19aeacU44mq5sNDfqZSuTTgjxTyfnGdrMA8ZTcQPlYY=; b=DHKZXWB/5uD6M2GqBlq5F7Nro9QyLlBbBI7nyvxu9RP571aBTkIR6Yn86Nq+GxlhAf 8fNDgrpE3VUoQ/Qj+4Wn6HNHv7lqJDn541AJS6/AyyNAOkqx+9KhvNuVy0hwl3C5nSqA cmwKzkMHJrVxTOHTG7I179v7YGqoIOpUNXOhCNSS82J9GDXZszG13JLtPqDgE0naw06n 4TVpVgW/AOZWdrzUlxHkokC2uFf/e82W+ETSz9utbYs6OSQB2euGxktmkXjupnHCusi0 Dph5xVL8ClJ6KGYhcQRzZVVCKEtz/70aN6xXMJDXoinoox690d1wPA9xPneJG7upvKEQ Pwjg== X-Forwarded-Encrypted: i=1; AJvYcCXA+U1mrhBOTFpCSDAOrVkZT6mlNU1hUHMOLg6My0L3GoK2Me2Lko83byO78jlBUv6Xcg3tQQl7UGAtpRrZ@lists.postgresql.org X-Gm-Message-State: AOJu0YzvVaPp4tp4J8Du+xjb4bgWhiWmvxDbOSSACQoK+w/ZLkpU+rCQ +bM9yef7dSfDDp/G3PBAVkQjYnHZ24OL09KP4hzi+U2OJseyEQGQM66NnITSUthBPWwca1NRaJ4 5OPhyIrsnxG0NPsQ9sATwOwhR6X/N3jo= X-Gm-Gg: AY/fxX4O+JCTPCO013VUAC/TcsueX9TUPbw2LxC+p1PgVfSY8FVmLqFdYqw78rUdHvb sq1dO3TC5bCYafK5CwUDdhoTrcCl99oXmuXRoOsIFc+xoQqkxqCDsnQOXgWL2T0eAWTDmDcV+oP hTMcyvDPbvENd2X9a/atLTQyJIBnxSVjhkdO3w/6mJEQOH1ApSCTJXj+GIOQFjQxgcvX7c8Z6OP Gu7AtWU3vUbWQ25/aaGYCh3KkSrxL1jmaa+OujqzmnzDzVlc2biX3li/ROG+xOZAGD+UBr/MNy0 QXRDRqb950etq2dW+q4GLe1u64uQF4+s0M1An1pfFZb9Zesc7z7Fb5BhyxnPpdsk1kND1z1ER86 X5xDREp8qELOsT4bMjq1dZJiFMWgUYMwPOjszo+IDwcZlDo4ZtLlBdaisuLRqh4U2iT73vqmCfo A6+XkkzGYPLQ== X-Google-Smtp-Source: AGHT+IHuPXXGQbyePdlWoKJKJQ5lCAVezb3jmk6/ND/+U745UlAU/BOHmJCv//cYjFzPEpvJhHucXLBkfOpDmhd+nAw= X-Received: by 2002:a05:6102:2b84:b0:5db:ce49:5c71 with SMTP id ada2fe7eead31-5eb1a6b167amr12011698137.18.1767145285769; Tue, 30 Dec 2025 17:41:25 -0800 (PST) MIME-Version: 1.0 References: <1898722.1732732780@sss.pgh.pa.us> <2007224.1732773174@sss.pgh.pa.us> <1075425.1732993688@sss.pgh.pa.us> <345c20e5-a6d7-477a-9598-982661bb5740@eisentraut.org> <1990479.1733256458@sss.pgh.pa.us> <499425.1733936916@sss.pgh.pa.us> <685422.1756848241@sss.pgh.pa.us> In-Reply-To: From: jian he Date: Wed, 31 Dec 2025 09:40:49 +0800 X-Gm-Features: AQt7F2ra6cwsFiPvR0_ILNWrqXRR7hplPbaX1MSXuvOSOhHY4UklDoEOwY4yLG0 Message-ID: Subject: Re: CREATE SCHEMA ... CREATE DOMAIN support To: Tom Lane Cc: Kirill Reshke , Peter Eisentraut , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000000685b10647359391" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000685b10647359391 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > On Wed, Sep 3, 2025 at 5:24=E2=80=AFAM Tom Lane wrote= : > > > > > I think this is still kind of blocked, because it's not clear to me > > whether we have consensus about it being okay to do 0001. > > > > Re-reading the thread, the only real use-case for re-ordering that > > anyone proposed is that foreign key references should be able to be > > forward references to tables created later in the same CREATE SCHEMA. > > I concede first that this is a somewhat-plausible use-case and > > second that it is pretty clearly required by spec. The fact remains > > however that we have never supported that in two dozen years, and > > the number of complaints about the omission could be counted without > > running out of thumbs. So, how about the following plan of action? > > > > 1. Rip out subcommand re-ordering as currently implemented, and do the > > subcommands in the given order. > > > > 2. When a CREATE TABLE subcommand includes a FOREIGN KEY clause, > > transform that clause into ALTER TABLE ADD FOREIGN KEY, and push > > it to the back of the CREATE SCHEMA's to-do list. > > > > #2 gives us at least pro-forma spec compliance, and AFAICS it does > > not introduce any command re-ordering bugs. Foreign key clauses > > don't depend on each other, so shoving them to the end without any > > further sorting should be fine. > > hi. v8-0001 through v8-0004 are rebased from v7 with some adjustments. v8-0005 transforms foreign key constraints into ALTER TABLE ... ADD FOREIGN= KEY. This works for both column constraint and table constraint. Below is a cont= rived complex test case I came up with to verify correctness. CREATE SCHEMA regress_schema_8 CREATE TABLE regress_schema_8.t2 ( b int, a int REFERENCES t1 DEFERRABLE INITIALLY DEFERRED NOT ENFORCED REFERENCES t3 DEFERRABLE INITIALLY DEFERRED NOT ENFORCED, CONSTRAINT fk FOREIGN KEY (a) REFERENCES t1 DEFERRABLE INITIALLY DEFERRED NOT ENFORCED) CREATE TABLE regress_schema_8.t1 (a int PRIMARY KEY) CREATE TABLE t3 (a int PRIMARY KEY) CREATE TABLE t4(b int, a int REFERENCES t5 DEFERRABLE INITIALLY DEFERRED NOT ENFOR= CED REFERENCES t6 DEFERRABLE INITIALLY DEFERRED NOT ENFORCE= D, CONSTRAINT fk FOREIGN KEY (a) REFERENCES t6 DEFERRABLE INITIALLY DEFERRED NOT ENFORCED) CREATE TABLE t5 (a int, b int, PRIMARY KEY (a)) CREATE TABLE t6 (a int, b int, PRIMARY KEY (a)); Does this resolve your #2? -- jian https://www.enterprisedb.com/ --0000000000000685b10647359391 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0003-CREATE-SCHEMA-CREATE-COLLATION.patch" Content-Disposition: attachment; filename="v8-0003-CREATE-SCHEMA-CREATE-COLLATION.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjtcmzma2 RnJvbSBmNTg1ZDM5NjZjZWRmNjA0NmE4NjNhN2E5MDE4YTNmZmQ4Mzk5NTU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMzAgRGVjIDIwMjUgMTM6NDA6NDggKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDMvNV0gQ1JFQVRFIFNDSEVNQSBDUkVBVEUgQ09MTEFUSU9OCgpUaGUgU1FMIHN0YW5kYXJkIGFs bG93cyBjb2xsYXRpb24gdG8gYmUgc3BlY2lmaWVkIGluIGEgQ1JFQVRFIFNDSEVNQSBzdGF0ZW1l bnQuClRoaXMgYWRkcyBzdXBwb3J0IGZvciB0aGF0IGNhcGFiaWxpdHkuCgpGb3IgZXhhbXBsZToK ICAgIENSRUFURSBTQ0hFTUEgc2NoZW1hX25hbWUgQ1JFQVRFIENPTExBVElPTiBjb2xsX2ljdV91 bmQgRlJPTSAidW5kLXgtaWN1IjsKClRoZSBjb2xsYXRpb24gd2lsbCBiZSBjcmVhdGVkIHdpdGhp biB0aGUgdG8gYmUgY3JlYXRlZCBzY2hlbWEuICBUaGUgY29sbGF0aW9uCm5hbWUgY2FuIGJlIHNj aGVtYS1xdWFsaWZpZWQgb3IgZGF0YWJhc2UtcXVhbGlmaWVkLCBob3dldmVyIGl0J3Mgbm90IGFs bG93ZWQgdG8KbGV0IGNvbGxhdGlvbiBjcmVhdGUgd2l0aGluIGEgZGlmZmVyZW50IHNjaGVtYS4K CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FMZFNTUGg0alVTRHNXdTNLNThoak82 MHduVFJSMER1TzRDS1Jjd2E4RVZ1T1NmWHhnQG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGVfc2NoZW1hLnNnbWwgICAgICAgICAgIHwgIDMgKy0KIHNyYy9iYWNrZW5k L2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jICAgICAgICAgICB8IDE4ICsrKysrKysrCiBzcmMvYmFj a2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysr Kwogc3JjL2luY2x1ZGUvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmggICAgICAgICAgIHwgIDEgKwog Li4uL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0ICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4u Li90ZXN0X2RkbF9kZXBhcnNlL3NxbC9jcmVhdGVfc2NoZW1hLnNxbCAgICB8ICAzICstCiAuLi4v cmVncmVzcy9leHBlY3RlZC9jb2xsYXRlLmljdS51dGY4Lm91dCAgICAgfCAxNSArKysrKysrCiBz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0ICAgfCA0MyArKysrKysr KysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51dGY4LnNxbCAg ICAgfCAgNyArKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsICAgICAg ICB8IDI5ICsrKysrKysrKysrKysKIDExIGZpbGVzIGNoYW5nZWQsIDE2MSBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3Nj aGVtYS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc2NoZW1hLnNnbWwKaW5kZXggNzkx ODZkMmI5MzYuLmQ4MjczYmIyZDBjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV9zY2hlbWEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dtbApA QCAtMTAwLDcgKzEwMCw4IEBAIENSRUFURSBTQ0hFTUEgSUYgTk9UIEVYSVNUUyBBVVRIT1JJWkFU SU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yb2xlX3NwCiAgICAgICA8bGlzdGl0 ZW0+CiAgICAgICAgPHBhcmE+CiAgICAgICAgIEFuIFNRTCBzdGF0ZW1lbnQgZGVmaW5pbmcgYW4g b2JqZWN0IHRvIGJlIGNyZWF0ZWQgd2l0aGluIHRoZQotICAgICAgICBzY2hlbWEuIEN1cnJlbnRs eSwgb25seSA8Y29tbWFuZD5DUkVBVEUgRE9NQUlOPC9jb21tYW5kPgorICAgICAgICBzY2hlbWEu IEN1cnJlbnRseSwgb25seSA8Y29tbWFuZD5DUkVBVEUgQ09MTEFUSU9OPC9jb21tYW5kPiwKKyAg ICAgICAgPGNvbW1hbmQ+Q1JFQVRFIERPTUFJTjwvY29tbWFuZD4KICAgICAgICAgPGNvbW1hbmQ+ Q1JFQVRFIFRBQkxFPC9jb21tYW5kPiwgPGNvbW1hbmQ+Q1JFQVRFIFZJRVc8L2NvbW1hbmQ+LCA8 Y29tbWFuZD5DUkVBVEUKICAgICAgICAgSU5ERVg8L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUg U0VRVUVOQ0U8L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUKICAgICAgICAgVFJJR0dFUjwvY29t bWFuZD4gYW5kIDxjb21tYW5kPkdSQU5UPC9jb21tYW5kPiBhcmUgYWNjZXB0ZWQgYXMgY2xhdXNl cwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMgYi9zcmMv YmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYwppbmRleCBmYTZjNmRmNTk4YS4uZjMyMDUy MDg0ZGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCisr KyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCkBAIC0yNjIxLDYgKzI2MjEs MjQgQEAgcmVhZF9vYmp0eXBlX2Zyb21fc3RyaW5nKGNvbnN0IGNoYXIgKm9ianR5cGUpCiAJcmV0 dXJuIC0xOwkJCQkJLyoga2VlcCBjb21waWxlciBxdWlldCAqLwogfQogCisvKiBnZXQgdGhlIE9i amVjdFR5cGUgbmFtZSAqLworY29uc3QgY2hhciAqCitzdHJpbmdpZnlfb2JqdHlwZShPYmplY3RU eXBlIG9ianR5cGUpCit7CisJZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGhvZihPYmplY3RUeXBl TWFwKTsgaSsrKQorCXsKKwkJaWYgKE9iamVjdFR5cGVNYXBbaV0udG1fdHlwZSA9PSBvYmp0eXBl KQorCQkJcmV0dXJuIE9iamVjdFR5cGVNYXBbaV0udG1fbmFtZTsKKwl9CisKKwllcmVwb3J0KEVS Uk9SLAorCQkJZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJCWVy cm1zZygidW5yZWNvZ25pemVkIG9iamVjdCB0eXBlICVkIiwgb2JqdHlwZSkpOworCisJcmV0dXJu IE5VTEw7CQkJCS8qIGtlZXAgY29tcGlsZXIgcXVpZXQgKi8KK30KKworCiAvKgogICogSW50ZXJm YWNlcyB0byByZWZlcmVuY2UgZmllbGRzIG9mIE9iamVjdFByb3BlcnR5VHlwZQogICovCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueQppbmRleCA1NGUwOWQwY2ViNS4uMDdiN2JmMGFiNWMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTYz OCw2ICsxNjM4LDcgQEAgc2NoZW1hX3N0bXQ6CiAJCQl8IEdyYW50U3RtdAogCQkJfCBWaWV3U3Rt dAogCQkJfCBDcmVhdGVEb21haW5TdG10CisJCQl8IERlZmluZVN0bXQKIAkJOwogCiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IDg0OWExOWM0ZTQ3Li5hZjE2NGUzNjBiNSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAi cmV3cml0ZS9yZXdyaXRlTWFuaXAuaCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRl ICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgInV0aWxzL2Zvcm1hdHRpbmcuaCIKICNpbmNs dWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy9wYXJ0Y2FjaGUuaCIKICNp bmNsdWRlICJ1dGlscy9yZWwuaCIKQEAgLTQ0ODQsNiArNDQ4NSw0NSBAQCB0cmFuc2Zvcm1DcmVh dGVTY2hlbWFTdG10RWxlbWVudHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpzY2hlbWFFbHRz LAogCQkJCX0KIAkJCQlicmVhazsKIAorCQkJY2FzZSBUX0RlZmluZVN0bXQ6CisJCQkJeworCQkJ CQljaGFyCSAgICpjb2xsX3NjaGVtYSA9IE5VTEw7CisJCQkJCWNoYXIJICAgKmNvbGxOYW1lOwor CQkJCQljaGFyCSAgICpvYmpfdHlwZTsKKworCQkJCQlEZWZpbmVTdG10ICpzdG10ID0gY2FzdE5v ZGUoRGVmaW5lU3RtdCwgZWxlbWVudCk7CisKKwkJCQkJb2JqX3R5cGUgPSBhc2NfdG91cHBlcihz dHJpbmdpZnlfb2JqdHlwZShzdG10LT5raW5kKSwKKwkJCQkJCQkJCQkgICBzdHJsZW4oc3RyaW5n aWZ5X29ianR5cGUoc3RtdC0+a2luZCkpKTsKKworCQkJCQlpZiAoc3RtdC0+a2luZCAhPSBPQkpF Q1RfQ09MTEFUSU9OKQorCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkJZXJyY29kZShFUlJD T0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCQkJCWVycm1zZygiQ1JFQVRFIFNDSEVN QSAuLi4gQ1JFQVRFICVzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIiwgb2JqX3R5cGUpKTsKKwor CQkJCQlEZWNvbnN0cnVjdFF1YWxpZmllZE5hbWUoc3RtdC0+ZGVmbmFtZXMsICZjb2xsX3NjaGVt YSwgJmNvbGxOYW1lKTsKKworCQkJCQlpZiAoY29sbF9zY2hlbWEgJiYgc3RyY21wKGNvbGxfc2No ZW1hLCBzY2hlbWFOYW1lKSAhPSAwKQorCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkJZXJy Y29kZShFUlJDT0RFX0lOVkFMSURfU0NIRU1BX0RFRklOSVRJT04pLAorCQkJCQkJCQllcnJtc2co IkNSRUFURSAlcyBzcGVjaWZpZXMgYSBzY2hlbWEgKCVzKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25l IGJlaW5nIGNyZWF0ZWQgKCVzKSIsCisJCQkJCQkJCQkgICBvYmpfdHlwZSwgY29sbF9zY2hlbWEs IHNjaGVtYU5hbWUpKTsKKworCQkJCQllbGVtZW50cyA9IGxhcHBlbmQoZWxlbWVudHMsIGVsZW1l bnQpOworCQkJCX0KKwkJCQlicmVhazsKKworCQkJCS8qCisJCQkJICogZ3JhbS55IGNsYXNzaWZp ZXMgdGhlc2UgYXMgRGVmaW5lU3RtdCBhcyB3ZWxsOyB0aGVyZWZvcmUsCisJCQkJICogd2UgbXVz dCBleHBsaWNpdGx5IHJhaXNlIGFuIGVycm9yIGZvciB0aGVzZSBjYXNlcy4KKwkJCQkgKi8KKwkJ CWNhc2UgVF9Db21wb3NpdGVUeXBlU3RtdDoKKwkJCWNhc2UgVF9DcmVhdGVFbnVtU3RtdDoKKwkJ CWNhc2UgVF9DcmVhdGVSYW5nZVN0bXQ6CisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCWVycmNv ZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCQkJZXJybXNnKCJDUkVBVEUg U0NIRU1BIC4uLiBDUkVBVEUgVFlQRSBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCIpKTsKKwkJCQli cmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBub2RlIHR5 cGU6ICVkIiwKIAkJCQkJIChpbnQpIG5vZGVUYWcoZWxlbWVudCkpOwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL29i amVjdGFkZHJlc3MuaAppbmRleCA2MzA0MzRiNzNjZi4uOTZlNmFiYzlmZmQgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5oCisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvb2JqZWN0YWRkcmVzcy5oCkBAIC03OSw2ICs3OSw3IEBAIGV4dGVybiBjaGFyICpnZXRP YmplY3REZXNjcmlwdGlvbihjb25zdCBPYmplY3RBZGRyZXNzICpvYmplY3QsCiBleHRlcm4gY2hh ciAqZ2V0T2JqZWN0RGVzY3JpcHRpb25PaWRzKE9pZCBjbGFzc2lkLCBPaWQgb2JqaWQpOwogCiBl eHRlcm4gaW50CXJlYWRfb2JqdHlwZV9mcm9tX3N0cmluZyhjb25zdCBjaGFyICpvYmp0eXBlKTsK K2V4dGVybiBjb25zdCBjaGFyICpzdHJpbmdpZnlfb2JqdHlwZShPYmplY3RUeXBlIG9ianR5cGUp OwogZXh0ZXJuIGNoYXIgKmdldE9iamVjdFR5cGVEZXNjcmlwdGlvbihjb25zdCBPYmplY3RBZGRy ZXNzICpvYmplY3QsCiAJCQkJCQkJCQkgIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gY2hhciAq Z2V0T2JqZWN0SWRlbnRpdHkoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4cGVjdGVkL2NyZWF0ZV9zY2hl bWEub3V0IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4cGVjdGVkL2NyZWF0 ZV9zY2hlbWEub3V0CmluZGV4IGQ3M2M0NzAyMDUxLi4yYTkwNWIyODYwMCAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEu b3V0CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9leHBlY3RlZC9jcmVh dGVfc2NoZW1hLm91dApAQCAtMTQsOCArMTQsMTAgQEAgTk9USUNFOiAgc2NoZW1hICJiYXoiIGFs cmVhZHkgZXhpc3RzLCBza2lwcGluZwogQ1JFQVRFIFNDSEVNQSBlbGVtZW50X3Rlc3QKICAgQ1JF QVRFIFRBQkxFIGZvbyAoaWQgaW50KQogICBDUkVBVEUgVklFVyBiYXIgQVMgU0VMRUNUICogRlJP TSBmb28KLSAgQ1JFQVRFIERPTUFJTiBkMSBBUyBJTlQ7CisgIENSRUFURSBET01BSU4gZDEgQVMg SU5UCisgIENSRUFURSBDT0xMQVRJT04gY29sbCAoTE9DQUxFPSJDIik7CiBOT1RJQ0U6ICBEREwg dGVzdDogdHlwZSBzaW1wbGUsIHRhZyBDUkVBVEUgU0NIRU1BCiBOT1RJQ0U6ICBEREwgdGVzdDog dHlwZSBzaW1wbGUsIHRhZyBDUkVBVEUgVEFCTEUKIE5PVElDRTogIERETCB0ZXN0OiB0eXBlIHNp bXBsZSwgdGFnIENSRUFURSBWSUVXCiBOT1RJQ0U6ICBEREwgdGVzdDogdHlwZSBzaW1wbGUsIHRh ZyBDUkVBVEUgRE9NQUlOCitOT1RJQ0U6ICBEREwgdGVzdDogdHlwZSBzaW1wbGUsIHRhZyBDUkVB VEUgQ09MTEFUSU9OCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFy c2Uvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBh cnNlL3NxbC9jcmVhdGVfc2NoZW1hLnNxbAppbmRleCA1N2FkYTQ2MjA3MC4uOTcyNzQwOGRjNjkg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9zcWwvY3JlYXRl X3NjaGVtYS5zcWwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3NxbC9j cmVhdGVfc2NoZW1hLnNxbApAQCAtMTUsNCArMTUsNSBAQCBDUkVBVEUgU0NIRU1BIElGIE5PVCBF WElTVFMgYmF6OwogQ1JFQVRFIFNDSEVNQSBlbGVtZW50X3Rlc3QKICAgQ1JFQVRFIFRBQkxFIGZv byAoaWQgaW50KQogICBDUkVBVEUgVklFVyBiYXIgQVMgU0VMRUNUICogRlJPTSBmb28KLSAgQ1JF QVRFIERPTUFJTiBkMSBBUyBJTlQ7CisgIENSRUFURSBET01BSU4gZDEgQVMgSU5UCisgIENSRUFU RSBDT0xMQVRJT04gY29sbCAoTE9DQUxFPSJDIik7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb2xsYXRlLmljdS51dGY4 Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5pY3UudXRmOC5vdXQKaW5k ZXggODAyMzAxNGZlNjMuLjdlNTRlNDMzNjNmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY29sbGF0ZS5pY3UudXRmOC5vdXQKQEAgLTEyOTUsNiArMTI5NSwyMSBAQCBEUk9QIFRB QkxFIHRlc3Q3OwogQ1JFQVRFIENPTExBVElPTiB0ZXN0Y29sbF9ydWxlc3ggKHByb3ZpZGVyID0g aWN1LCBsb2NhbGUgPSAnJywgcnVsZXMgPSAnISF3cm9uZyEhJyk7CiBOT1RJQ0U6ICB1c2luZyBz dGFuZGFyZCBmb3JtICJ1bmQiIGZvciBJQ1UgbG9jYWxlICIiCiBFUlJPUjogIGNvdWxkIG5vdCBv cGVuIGNvbGxhdG9yIGZvciBsb2NhbGUgInVuZCIgd2l0aCBydWxlcyAiISF3cm9uZyEhIjogVV9J TlZBTElEX0ZPUk1BVF9FUlJPUgorLS1DUkVBVEUgU0NIRU1BIENSRUFURSBDT0xMQVRJT04KK0NS RUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNAorICBDUkVBVEUgQ09MTEFUSU9OIGNvbGxfaWN1 X3VuZCBGUk9NICJ1bmQteC1pY3UiCisgIENSRUFURSBUQUJMRSB0dHMoYSBURVhUIENPTExBVEUg Y29sbF9pY3VfdW5kKTsKK1xkTyByZWdyZXNzX3NjaGVtYV80LioKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBjb2xsYXRpb25zCisgICAgICBTY2hlbWEg ICAgICB8ICAgICBOYW1lICAgICB8IFByb3ZpZGVyIHwgQ29sbGF0ZSB8IEN0eXBlIHwgTG9jYWxl IHwgSUNVIFJ1bGVzIHwgRGV0ZXJtaW5pc3RpYz8gCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19zY2hlbWFfNCB8IGNvbGxfaWN1X3VuZCB8IGlj dSAgICAgIHwgICAgICAgICB8ICAgICAgIHwgdW5kICAgIHwgICAgICAgICAgIHwgeWVzCisoMSBy b3cpCisKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzQgQ0FTQ0FERTsKK05PVElDRTogIGRy b3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmplY3RzCitERVRBSUw6ICBkcm9wIGNhc2NhZGVzIHRv IGNvbGxhdGlvbiByZWdyZXNzX3NjaGVtYV80LmNvbGxfaWN1X3VuZAorZHJvcCBjYXNjYWRlcyB0 byB0YWJsZSByZWdyZXNzX3NjaGVtYV80LnR0cwogLS0gbm9uZGV0ZXJtaW5pc3RpYyBjb2xsYXRp b25zCiBDUkVBVEUgQ09MTEFUSU9OIGN0ZXN0X2RldCAocHJvdmlkZXIgPSBpY3UsIGxvY2FsZSA9 ICcnLCBkZXRlcm1pbmlzdGljID0gdHJ1ZSk7CiBOT1RJQ0U6ICB1c2luZyBzdGFuZGFyZCBmb3Jt ICJ1bmQiIGZvciBJQ1UgbG9jYWxlICIiCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVh dGVfc2NoZW1hLm91dAppbmRleCAwNTMzYzI5YTMxMS4uM2UwNjFjN2EwZWYgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dApAQCAtMTc3LDYgKzE3Nyw0MSBA QCBDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzMgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JP TEUKICByZWdyZXNzX3NjaGVtYV8zIHwgc3MxICB8IHJlZ3Jlc3Nfc2NoZW1hXzMuc3MgfCAgICAg ICAgICAgfCAgICAgICAgICB8ICdoZWxsbyc6OnRleHQgfCAKICgyIHJvd3MpCiAKKy0tIENhc2Vz IHdoZXJlIHRoZSBzY2hlbWEgY3JlYXRpb24gd2l0aCBjb2xsYXRpb25zCistLWZhaWwuIGNhbiBu b3QgQ1JFQVRFIENPTExBVElPTiB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBTQ0hFTUEgcmVncmVz c19zY2hlbWFfNCBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgQ09MTEFUSU9O IHB1YmxpYy5jb2xsX2ljdV91bmQgRlJPTSAidW5kLXgtaWN1IjsKK0VSUk9SOiAgQ1JFQVRFIENP TExBVElPTiBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykgZGlmZmVyZW50IGZyb20gdGhlIG9u ZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV80KQorLS1mYWlsLiBpbXByb3BlciBxdWFs aWZpZWQgbmFtZQorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV80IEFVVEhPUklaQVRJT04g Q1VSUkVOVF9ST0xFCisgIENSRUFURSBDT0xMQVRJT04gcG9zdGdyZXMucHVibGljLmNvbGxfaWN1 X3VuZCBGUk9NICJ1bmQteC1pY3UiOworRVJST1I6ICBjcm9zcy1kYXRhYmFzZSByZWZlcmVuY2Vz IGFyZSBub3QgaW1wbGVtZW50ZWQ6IHBvc3RncmVzLnB1YmxpYy5jb2xsX2ljdV91bmQKKy0tZmFp bC4gb25seSBzdXBwb3J0IGNvbGxhdGlvbiBvYmplY3QgZm9yIERlZmluZVN0bXQgbm9kZQorQ1JF QVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV80IEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisg IENSRUFURSBBR0dSRUdBVEUgYmFsayhpbnQ0KSAoU0ZVTkMgPSBpbnQ0X3N1bShpbnQ4LCBpbnQ0 KSwgU1RZUEUgPSBpbnQ4LCBQQVJBTExFTCA9IFNBRkUsIElOSVRDT05EID0gJzAnKTsKK0VSUk9S OiAgQ1JFQVRFIFNDSEVNQSAuLi4gQ1JFQVRFIEFHR1JFR0FURSBjdXJyZW50bHkgbm90IHN1cHBv cnRlZAorLS1vaywgcXVhbGlmaWVkIHNjaGVtYSBuYW1lIGZvciBjb2xsYXRpb24gc2hvdWxkIGJl IHNhbWUgYXMgdGhlIGNyZWF0ZWQgc2NoZW1hCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1h XzQgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRFIENPTExBVElPTiByZWdyZXNz X3NjaGVtYV80LmNvbGwgKExPQ0FMRT0iQyIpCisgIENSRUFURSBUQUJMRSB0KGEgVEVYVCBDT0xM QVRFIHJlZ3Jlc3Nfc2NoZW1hXzQuY29sbCk7CitcZE8gcmVncmVzc19zY2hlbWFfNC4qCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBjb2xsYXRpb25zCisgICAg ICBTY2hlbWEgICAgICB8IE5hbWUgfCBQcm92aWRlciB8IENvbGxhdGUgfCBDdHlwZSB8IExvY2Fs ZSB8IElDVSBSdWxlcyB8IERldGVybWluaXN0aWM/IAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3NjaGVtYV80IHwgY29sbCB8IGxpYmMgICAgIHwgQyAgICAg ICB8IEMgICAgIHwgICAgICAgIHwgICAgICAgICAgIHwgeWVzCisoMSByb3cpCisKKy0tb2ssIG5v IHF1YWxpZmllZCBzY2hlbWEgbmFtZSBmb3IgY29sbGF0aW9uCitDUkVBVEUgU0NIRU1BIHJlZ3Jl c3Nfc2NoZW1hXzUgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRFIENPTExBVElP TiBjb2xsIChMT0NBTEU9IkMiKQorICBDUkVBVEUgVEFCTEUgdChhIFRFWFQgQ09MTEFURSBjb2xs KTsKK1xkTyByZWdyZXNzX3NjaGVtYV81LioKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIGNvbGxhdGlvbnMKKyAgICAgIFNjaGVtYSAgICAgIHwgTmFtZSB8IFBy b3ZpZGVyIHwgQ29sbGF0ZSB8IEN0eXBlIHwgTG9jYWxlIHwgSUNVIFJ1bGVzIHwgRGV0ZXJtaW5p c3RpYz8gCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc2No ZW1hXzUgfCBjb2xsIHwgbGliYyAgICAgfCBDICAgICAgIHwgQyAgICAgfCAgICAgICAgfCAgICAg ICAgICAgfCB5ZXMKKygxIHJvdykKKwogRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMiBDQVND QURFOwogTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byAyIG90aGVyIG9iamVjdHMKIERFVEFJTDog IGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV8yLnNzCkBAIC0xODcsNSArMjIy LDEzIEBAIERFVEFJTDogIGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV8zLnNz CiBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfMy5zczEKIGRyb3AgY2FzY2Fk ZXMgdG8gdmlldyByZWdyZXNzX3NjaGVtYV8zLnRlc3QKIGRyb3AgY2FzY2FkZXMgdG8gdGFibGUg cmVncmVzc19zY2hlbWFfMy50CitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV80IENBU0NBREU7 CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIDIgb3RoZXIgb2JqZWN0cworREVUQUlMOiAgZHJv cCBjYXNjYWRlcyB0byBjb2xsYXRpb24gcmVncmVzc19zY2hlbWFfNC5jb2xsCitkcm9wIGNhc2Nh ZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzQudAorRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hl bWFfNSBDQVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byAyIG90aGVyIG9iamVjdHMK K0RFVEFJTDogIGRyb3AgY2FzY2FkZXMgdG8gY29sbGF0aW9uIHJlZ3Jlc3Nfc2NoZW1hXzUuY29s bAorZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdyZXNzX3NjaGVtYV81LnQKIC0tIENsZWFuIHVw CiBEUk9QIFJPTEUgcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGU7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51dGY4LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL2NvbGxhdGUuaWN1LnV0Zjguc3FsCmluZGV4IGI2YzU0NTAzZDIxLi4yNDNkNjllNGQzMiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5pY3UudXRmOC5zcWwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5pY3UudXRmOC5zcWwKQEAgLTUxMyw2ICs1 MTMsMTMgQEAgRFJPUCBUQUJMRSB0ZXN0NzsKIAogQ1JFQVRFIENPTExBVElPTiB0ZXN0Y29sbF9y dWxlc3ggKHByb3ZpZGVyID0gaWN1LCBsb2NhbGUgPSAnJywgcnVsZXMgPSAnISF3cm9uZyEhJyk7 CiAKKy0tQ1JFQVRFIFNDSEVNQSBDUkVBVEUgQ09MTEFUSU9OCitDUkVBVEUgU0NIRU1BIHJlZ3Jl c3Nfc2NoZW1hXzQKKyAgQ1JFQVRFIENPTExBVElPTiBjb2xsX2ljdV91bmQgRlJPTSAidW5kLXgt aWN1IgorICBDUkVBVEUgVEFCTEUgdHRzKGEgVEVYVCBDT0xMQVRFIGNvbGxfaWN1X3VuZCk7Citc ZE8gcmVncmVzc19zY2hlbWFfNC4qCitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV80IENBU0NB REU7CisKIAogLS0gbm9uZGV0ZXJtaW5pc3RpYyBjb2xsYXRpb25zCiAKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvY3JlYXRlX3NjaGVtYS5zcWwKaW5kZXggNTRhMDcwNTQ3NjcuLjBmODAyYmNhZmZlIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbApAQCAtMTA0LDggKzEwNCwzNyBAQCBD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzMgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUK ICAgQ1JFQVRFIFRBQkxFIHQoYSBzczEpOwogXGREIHJlZ3Jlc3Nfc2NoZW1hXzMuKgogCistLSBD YXNlcyB3aGVyZSB0aGUgc2NoZW1hIGNyZWF0aW9uIHdpdGggY29sbGF0aW9ucworLS1mYWlsLiBj YW4gbm90IENSRUFURSBDT0xMQVRJT04gdG8gb3RoZXIgc2NoZW1hCitDUkVBVEUgU0NIRU1BIHJl Z3Jlc3Nfc2NoZW1hXzQgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRFIENPTExB VElPTiBwdWJsaWMuY29sbF9pY3VfdW5kIEZST00gInVuZC14LWljdSI7CisKKy0tZmFpbC4gaW1w cm9wZXIgcXVhbGlmaWVkIG5hbWUKK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNCBBVVRI T1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgQ09MTEFUSU9OIHBvc3RncmVzLnB1Ymxp Yy5jb2xsX2ljdV91bmQgRlJPTSAidW5kLXgtaWN1IjsKKworLS1mYWlsLiBvbmx5IHN1cHBvcnQg Y29sbGF0aW9uIG9iamVjdCBmb3IgRGVmaW5lU3RtdCBub2RlCitDUkVBVEUgU0NIRU1BIHJlZ3Jl c3Nfc2NoZW1hXzQgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRFIEFHR1JFR0FU RSBiYWxrKGludDQpIChTRlVOQyA9IGludDRfc3VtKGludDgsIGludDQpLCBTVFlQRSA9IGludDgs IFBBUkFMTEVMID0gU0FGRSwgSU5JVENPTkQgPSAnMCcpOworCistLW9rLCBxdWFsaWZpZWQgc2No ZW1hIG5hbWUgZm9yIGNvbGxhdGlvbiBzaG91bGQgYmUgc2FtZSBhcyB0aGUgY3JlYXRlZCBzY2hl bWEKK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNCBBVVRIT1JJWkFUSU9OIENVUlJFTlRf Uk9MRQorICBDUkVBVEUgQ09MTEFUSU9OIHJlZ3Jlc3Nfc2NoZW1hXzQuY29sbCAoTE9DQUxFPSJD IikKKyAgQ1JFQVRFIFRBQkxFIHQoYSBURVhUIENPTExBVEUgcmVncmVzc19zY2hlbWFfNC5jb2xs KTsKKworXGRPIHJlZ3Jlc3Nfc2NoZW1hXzQuKgorCistLW9rLCBubyBxdWFsaWZpZWQgc2NoZW1h IG5hbWUgZm9yIGNvbGxhdGlvbgorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV81IEFVVEhP UklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBDT0xMQVRJT04gY29sbCAoTE9DQUxFPSJD IikKKyAgQ1JFQVRFIFRBQkxFIHQoYSBURVhUIENPTExBVEUgY29sbCk7CitcZE8gcmVncmVzc19z Y2hlbWFfNS4qCisKKwogRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMiBDQVNDQURFOwogRFJP UCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMyBDQVNDQURFOworRFJPUCBTQ0hFTUEgcmVncmVzc19z Y2hlbWFfNCBDQVNDQURFOworRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNSBDQVNDQURFOwog CiAtLSBDbGVhbiB1cAogRFJPUCBST0xFIHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlOwotLSAK Mi4zNC4xCgo= --0000000000000685b10647359391 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0004-CREATE-SCHEMA-CREATE-TYPE.patch" Content-Disposition: attachment; filename="v8-0004-CREATE-SCHEMA-CREATE-TYPE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjtcmzm51 RnJvbSAxZDRkMTBhNDY3YWRmN2ZmZWQ0NWY3M2RkNTYxNjZjNmZlZGQ1ZTZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMzAgRGVjIDIwMjUgMTM6NDg6MDYgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDQvNV0gQ1JFQVRFIFNDSEVNQSBDUkVBVEUgVFlQRQoKVGhlIFNRTCBzdGFuZGFyZCBhbGxvd3Mg dHlwZXMgdG8gYmUgc3BlY2lmaWVkIGluIGEgQ1JFQVRFIFNDSEVNQSBzdGF0ZW1lbnQuClRoaXMg YWRkcyBzdXBwb3J0IGZvciB0aGF0IGNhcGFiaWxpdHkuCgpGb3IgZXhhbXBsZToKICAgIENSRUFU RSBTQ0hFTUEgc2NoZW1hX25hbWUgQ1JFQVRFIFRZUEUgc3M7CgpUaGUgdHlwZSB3aWxsIGJlIGNy ZWF0ZWQgd2l0aGluIHRoZSB0byBiZSBjcmVhdGVkIHNjaGVtYS4gIFRoZSB0eXBlIG5hbWUgY2Fu IGJlCnNjaGVtYS1xdWFsaWZpZWQgb3IgZGF0YWJhc2UtcXVhbGlmaWVkLCBob3dldmVyIGl0J3Mg bm90IGFsbG93ZWQgdG8gbGV0IHR5cGUKY3JlYXRlIHdpdGhpbiBhIGRpZmZlcmVudCBzY2hlbWEK CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FMZFNTUGg0alVTRHNXdTNLNThoak82 MHduVFJSMER1TzRDS1Jjd2E4RVZ1T1NmWHhnQG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGVfc2NoZW1hLnNnbWwgICAgICAgICAgIHwgIDMgKy0KIHNyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgICB8IDUyICsrKysrKysrKystLQogLi4u L2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0ICAgICAgICAgICAgICAgIHwgMTAgKystCiAuLi4v dGVzdF9kZGxfZGVwYXJzZS9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgICAgfCAgNiArLQogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dCAgIHwgODMgKysrKysrKysrKysr KysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdHlwZS5vdXQgICAgIHwg MTIgKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbCAgICAgICAgfCAz OSArKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90eXBlLnNxbCAgICAgICAg ICB8IDEyICsrKwogOCBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc2NoZW1hLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dtbAppbmRleCBkODI3M2JiMmQwYy4u OTA1ZTk2NmUzMGUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3NjaGVtYS5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3NjaGVtYS5zZ21sCkBAIC0xMDQsNyAr MTA0LDggQEAgQ1JFQVRFIFNDSEVNQSBJRiBOT1QgRVhJU1RTIEFVVEhPUklaQVRJT04gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfc3AKICAgICAgICAgPGNvbW1hbmQ+Q1JFQVRF IERPTUFJTjwvY29tbWFuZD4KICAgICAgICAgPGNvbW1hbmQ+Q1JFQVRFIFRBQkxFPC9jb21tYW5k PiwgPGNvbW1hbmQ+Q1JFQVRFIFZJRVc8L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUKICAgICAg ICAgSU5ERVg8L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUgU0VRVUVOQ0U8L2NvbW1hbmQ+LCA8 Y29tbWFuZD5DUkVBVEUKLSAgICAgICAgVFJJR0dFUjwvY29tbWFuZD4gYW5kIDxjb21tYW5kPkdS QU5UPC9jb21tYW5kPiBhcmUgYWNjZXB0ZWQgYXMgY2xhdXNlcworICAgICAgICBUUklHR0VSPC9j b21tYW5kPiwgPGNvbW1hbmQ+Q1JFQVRFIFRZUEU8L2NvbW1hbmQ+IGFuZAorICAgICAgICA8Y29t bWFuZD5HUkFOVDwvY29tbWFuZD4gYXJlIGFjY2VwdGVkIGFzIGNsYXVzZXMKICAgICAgICAgd2l0 aGluIDxjb21tYW5kPkNSRUFURSBTQ0hFTUE8L2NvbW1hbmQ+LiBPdGhlciBraW5kcyBvZiBvYmpl Y3RzIG1heQogICAgICAgICBiZSBjcmVhdGVkIGluIHNlcGFyYXRlIGNvbW1hbmRzIGFmdGVyIHRo ZSBzY2hlbWEgaXMgY3JlYXRlZC4KICAgICAgICA8L3BhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0 aWxjbWQuYwppbmRleCBhZjE2NGUzNjBiNS4uYzJhOGFmZWRiM2UgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX3V0aWxjbWQuYwpAQCAtNDQ5Niw3ICs0NDk2LDcgQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1h U3RtdEVsZW1lbnRzKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqc2NoZW1hRWx0cywKIAkJCQkJ b2JqX3R5cGUgPSBhc2NfdG91cHBlcihzdHJpbmdpZnlfb2JqdHlwZShzdG10LT5raW5kKSwKIAkJ CQkJCQkJCQkgICBzdHJsZW4oc3RyaW5naWZ5X29ianR5cGUoc3RtdC0+a2luZCkpKTsKIAotCQkJ CQlpZiAoc3RtdC0+a2luZCAhPSBPQkpFQ1RfQ09MTEFUSU9OKQorCQkJCQlpZiAoc3RtdC0+a2lu ZCAhPSBPQkpFQ1RfQ09MTEFUSU9OICYmIHN0bXQtPmtpbmQgIT0gT0JKRUNUX1RZUEUpCiAJCQkJ CQllcmVwb3J0KEVSUk9SLAogCQkJCQkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQ UE9SVEVEKSwKIAkJCQkJCQkJZXJybXNnKCJDUkVBVEUgU0NIRU1BIC4uLiBDUkVBVEUgJXMgY3Vy cmVudGx5IG5vdCBzdXBwb3J0ZWQiLCBvYmpfdHlwZSkpOwpAQCAtNDUxMywxNiArNDUxMyw1MiBA QCB0cmFuc2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBM aXN0ICpzY2hlbWFFbHRzLAogCQkJCX0KIAkJCQlicmVhazsKIAotCQkJCS8qCi0JCQkJICogZ3Jh bS55IGNsYXNzaWZpZXMgdGhlc2UgYXMgRGVmaW5lU3RtdCBhcyB3ZWxsOyB0aGVyZWZvcmUsCi0J CQkJICogd2UgbXVzdCBleHBsaWNpdGx5IHJhaXNlIGFuIGVycm9yIGZvciB0aGVzZSBjYXNlcy4K LQkJCQkgKi8KIAkJCWNhc2UgVF9Db21wb3NpdGVUeXBlU3RtdDoKKwkJCQl7CisJCQkJCUNvbXBv c2l0ZVR5cGVTdG10ICpzdG10ID0gY2FzdE5vZGUoQ29tcG9zaXRlVHlwZVN0bXQsIGVsZW1lbnQp OworCisJCQkJCWNoZWNrU2NoZW1hTmFtZShwc3RhdGUsIHNjaGVtYU5hbWUsIHN0bXQtPnR5cGV2 YXIpOworCisJCQkJCWVsZW1lbnRzID0gbGFwcGVuZChlbGVtZW50cywgZWxlbWVudCk7CisJCQkJ fQorCQkJCWJyZWFrOworCiAJCQljYXNlIFRfQ3JlYXRlRW51bVN0bXQ6CisJCQkJeworCQkJCQlj aGFyCSAgICp0eXBzY2hlbWEgPSBOVUxMOworCQkJCQljaGFyCSAgICp0eXBuYW1lOworCisJCQkJ CUNyZWF0ZUVudW1TdG10ICpzdG10ID0gY2FzdE5vZGUoQ3JlYXRlRW51bVN0bXQsIGVsZW1lbnQp OworCisJCQkJCURlY29uc3RydWN0UXVhbGlmaWVkTmFtZShzdG10LT50eXBlTmFtZSwgJnR5cHNj aGVtYSwgJnR5cG5hbWUpOworCisJCQkJCWlmICh0eXBzY2hlbWEgJiYgc3RyY21wKHR5cHNjaGVt YSwgc2NoZW1hTmFtZSkgIT0gMCkKKwkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJCWVycmNv ZGUoRVJSQ09ERV9JTlZBTElEX1NDSEVNQV9ERUZJTklUSU9OKSwKKwkJCQkJCQkJZXJybXNnKCJD UkVBVEUgVFlQRSBzcGVjaWZpZXMgYSBzY2hlbWEgKCVzKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25l IGJlaW5nIGNyZWF0ZWQgKCVzKSIsCisJCQkJCQkJCQkgICB0eXBzY2hlbWEsIHNjaGVtYU5hbWUp KTsKKworCQkJCQllbGVtZW50cyA9IGxhcHBlbmQoZWxlbWVudHMsIGVsZW1lbnQpOworCQkJCX0K KwkJCQlicmVhazsKKwogCQkJY2FzZSBUX0NyZWF0ZVJhbmdlU3RtdDoKLQkJCQllcmVwb3J0KEVS Uk9SLAotCQkJCQkJZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCi0JCQkJ CQllcnJtc2coIkNSRUFURSBTQ0hFTUEgLi4uIENSRUFURSBUWVBFIGN1cnJlbnRseSBub3Qgc3Vw cG9ydGVkIikpOworCQkJCXsKKwkJCQkJY2hhcgkgICAqdHlwc2NoZW1hID0gTlVMTDsKKwkJCQkJ Y2hhcgkgICAqdHlwbmFtZTsKKworCQkJCQlDcmVhdGVSYW5nZVN0bXQgKnN0bXQgPSBjYXN0Tm9k ZShDcmVhdGVSYW5nZVN0bXQsIGVsZW1lbnQpOworCisJCQkJCURlY29uc3RydWN0UXVhbGlmaWVk TmFtZShzdG10LT50eXBlTmFtZSwgJnR5cHNjaGVtYSwgJnR5cG5hbWUpOworCisJCQkJCWlmICh0 eXBzY2hlbWEgJiYgc3RyY21wKHR5cHNjaGVtYSwgc2NoZW1hTmFtZSkgIT0gMCkKKwkJCQkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1NDSEVNQV9ERUZJ TklUSU9OKSwKKwkJCQkJCQkJZXJybXNnKCJDUkVBVEUgVFlQRSBzcGVjaWZpZXMgYSBzY2hlbWEg KCVzKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJlaW5nIGNyZWF0ZWQgKCVzKSIsCisJCQkJCQkJ CQkgICBzY2hlbWFOYW1lLCB0eXBzY2hlbWEpKTsKKworCQkJCQllbGVtZW50cyA9IGxhcHBlbmQo ZWxlbWVudHMsIGVsZW1lbnQpOworCQkJCX0KIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJ ZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBub2RlIHR5cGU6ICVkIiwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91 dCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9leHBlY3RlZC9jcmVhdGVfc2No ZW1hLm91dAppbmRleCAyYTkwNWIyODYwMC4uYjJjODU2ODJiMjAgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dAor KysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2UvZXhwZWN0ZWQvY3JlYXRlX3Nj aGVtYS5vdXQKQEAgLTE1LDkgKzE1LDE3IEBAIENSRUFURSBTQ0hFTUEgZWxlbWVudF90ZXN0CiAg IENSRUFURSBUQUJMRSBmb28gKGlkIGludCkKICAgQ1JFQVRFIFZJRVcgYmFyIEFTIFNFTEVDVCAq IEZST00gZm9vCiAgIENSRUFURSBET01BSU4gZDEgQVMgSU5UCi0gIENSRUFURSBDT0xMQVRJT04g Y29sbCAoTE9DQUxFPSJDIik7CisgIENSRUFURSBDT0xMQVRJT04gY29sbCAoTE9DQUxFPSJDIikK KyAgQ1JFQVRFIFRZUEUgZmxvYXRyYW5nZSBBUyBSQU5HRSAoc3VidHlwZSA9IGZsb2F0OCwgc3Vi dHlwZV9kaWZmID0gZmxvYXQ4bWkpCisgIENSRUFURSBUWVBFIHNzIEFTIChhIGludCkKKyAgQ1JF QVRFIFRZUEUgc3NzCisgIENSRUFURSBUWVBFIHJhaW5ib3cgQVMgRU5VTSAoJ3JlZCcsICdvcmFu Z2UnKTsKIE5PVElDRTogIERETCB0ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBTQ0hFTUEK IE5PVElDRTogIERETCB0ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBUQUJMRQogTk9USUNF OiAgRERMIHRlc3Q6IHR5cGUgc2ltcGxlLCB0YWcgQ1JFQVRFIFZJRVcKIE5PVElDRTogIERETCB0 ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBET01BSU4KIE5PVElDRTogIERETCB0ZXN0OiB0 eXBlIHNpbXBsZSwgdGFnIENSRUFURSBDT0xMQVRJT04KK05PVElDRTogIERETCB0ZXN0OiB0eXBl IHNpbXBsZSwgdGFnIENSRUFURSBUWVBFCitOT1RJQ0U6ICBEREwgdGVzdDogdHlwZSBzaW1wbGUs IHRhZyBDUkVBVEUgVFlQRQorTk9USUNFOiAgRERMIHRlc3Q6IHR5cGUgc2ltcGxlLCB0YWcgQ1JF QVRFIFRZUEUKK05PVElDRTogIERETCB0ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBUWVBF CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2Uvc3FsL2NyZWF0 ZV9zY2hlbWEuc3FsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3NxbC9jcmVh dGVfc2NoZW1hLnNxbAppbmRleCA5NzI3NDA4ZGM2OS4uODRiMzVlZTZmZTYgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9zcWwvY3JlYXRlX3NjaGVtYS5zcWwK KysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3NxbC9jcmVhdGVfc2NoZW1h LnNxbApAQCAtMTYsNCArMTYsOCBAQCBDUkVBVEUgU0NIRU1BIGVsZW1lbnRfdGVzdAogICBDUkVB VEUgVEFCTEUgZm9vIChpZCBpbnQpCiAgIENSRUFURSBWSUVXIGJhciBBUyBTRUxFQ1QgKiBGUk9N IGZvbwogICBDUkVBVEUgRE9NQUlOIGQxIEFTIElOVAotICBDUkVBVEUgQ09MTEFUSU9OIGNvbGwg KExPQ0FMRT0iQyIpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgQ1JFQVRFIENPTExB VElPTiBjb2xsIChMT0NBTEU9IkMiKQorICBDUkVBVEUgVFlQRSBmbG9hdHJhbmdlIEFTIFJBTkdF IChzdWJ0eXBlID0gZmxvYXQ4LCBzdWJ0eXBlX2RpZmYgPSBmbG9hdDhtaSkKKyAgQ1JFQVRFIFRZ UEUgc3MgQVMgKGEgaW50KQorICBDUkVBVEUgVFlQRSBzc3MKKyAgQ1JFQVRFIFRZUEUgcmFpbmJv dyBBUyBFTlVNICgncmVkJywgJ29yYW5nZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0CmluZGV4IDNlMDYx YzdhMGVmLi5hMzNjYmQwYzBkOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfc2NoZW1hLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0 ZV9zY2hlbWEub3V0CkBAIC0yMTIsNiArMjEyLDc2IEBAIENSRUFURSBTQ0hFTUEgcmVncmVzc19z Y2hlbWFfNSBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQogIHJlZ3Jlc3Nfc2NoZW1hXzUgfCBj b2xsIHwgbGliYyAgICAgfCBDICAgICAgIHwgQyAgICAgfCAgICAgICAgfCAgICAgICAgICAgfCB5 ZXMKICgxIHJvdykKIAorLS0tLS1DUkVBVEUgU0NIRU1BIENSRUFURSBUWVBFCistLWZhaWwuIGNh biBub3QgQ1JFQVRFIFRZUEUgdG8gb3RoZXIgc2NoZW1hCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nf c2NoZW1hXzYgQ1JFQVRFIFRZUEUgcHVibGljLnNzIEFTIChhIGludCk7CitFUlJPUjogIENSRUFU RSBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWlu ZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV82KQorTElORSAxOiBDUkVBVEUgU0NIRU1BIHJlZ3Jl c3Nfc2NoZW1hXzYgQ1JFQVRFIFRZUEUgcHVibGljLnNzIEFTIChhIGkuLi4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0NSRUFURSBTQ0hFTUEg cmVncmVzc19zY2hlbWFfNiBDUkVBVEUgVFlQRSBwdWJsaWMuc3M7CitFUlJPUjogIENSRUFURSBU WVBFIHNwZWNpZmllcyBhIHNjaGVtYSAocHVibGljKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJl aW5nIGNyZWF0ZWQgKHJlZ3Jlc3Nfc2NoZW1hXzYpCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2No ZW1hXzYgQ1JFQVRFIFRZUEUgcHVibGljLnJhaW5ib3cgQVMgRU5VTSAoJ3JlZCcsICdvcmFuZ2Un KTsKK0VSUk9SOiAgQ1JFQVRFIFRZUEUgc3BlY2lmaWVzIGEgc2NoZW1hIChwdWJsaWMpIGRpZmZl cmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19zY2hlbWFfNikKK0NSRUFU RSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNiBDUkVBVEUgVFlQRSBwdWJsaWMuZmxvYXRyYW5nZSBB UyBSQU5HRSAoc3VidHlwZSA9IGZsb2F0OCwgc3VidHlwZV9kaWZmID0gZmxvYXQ4bWkpOworRVJS T1I6ICBDUkVBVEUgVFlQRSBzcGVjaWZpZXMgYSBzY2hlbWEgKHJlZ3Jlc3Nfc2NoZW1hXzYpIGRp ZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocHVibGljKQorLS1mYWlsLiBpbXBy b3BlciBxdWFsaWZpZWQgbmFtZQorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82IEFVVEhP UklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBUWVBFIHBvc3RncmVzLnB1YmxpYy5mbG9h dHJhbmdlIEFTIFJBTkdFIChzdWJ0eXBlID0gZmxvYXQ4LCBzdWJ0eXBlX2RpZmYgPSBmbG9hdDht aSk7CitFUlJPUjogIGNyb3NzLWRhdGFiYXNlIHJlZmVyZW5jZXMgYXJlIG5vdCBpbXBsZW1lbnRl ZDogcG9zdGdyZXMucHVibGljLmZsb2F0cmFuZ2UKKy0tdGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91 bGQgZXJyb3IsIGJlY2F1c2Ugd2UgZXhlY3V0ZSBzdWJjb21tYW5kcyBpbiBvcmRlcgorQ1JFQVRF IFNDSEVNQSByZWdyZXNzX3NjaGVtYV82IENSRUFURSBUQUJMRSB0dHMoYSBzcykgQ1JFQVRFIFRZ UEUgc3M7CitFUlJPUjogIHR5cGUgInNzIiBkb2VzIG5vdCBleGlzdAorTElORSAxOiBDUkVBVEUg U0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYgQ1JFQVRFIFRBQkxFIHR0cyhhIHNzKSBDUkVBVEUuLi4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYgQ1JFQVRFIFRBQkxFIHR0cyhhIHNz KSBDUkVBVEUgVFlQRSBzcyBBUyAoYSBpbnQpOworRVJST1I6ICB0eXBlICJzcyIgZG9lcyBub3Qg ZXhpc3QKK0xJTkUgMTogQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82IENSRUFURSBUQUJM RSB0dHMoYSBzcykgQ1JFQVRFLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82 IENSRUFURSBUQUJMRSB0dHMoYSByYWluYm93KSBDUkVBVEUgVFlQRSByYWluYm93IEFTIEVOVU0g KCdyZWQnLCAnb3JhbmdlJyk7CitFUlJPUjogIHR5cGUgInJhaW5ib3ciIGRvZXMgbm90IGV4aXN0 CitMSU5FIDE6IENSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNiBDUkVBVEUgVEFCTEUgdHRz KGEgcmFpbmJvdykgQy4uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNgorICBD UkVBVEUgVEFCTEUgdHRzKGEgZmxvYXRyYW5nZSkKKyAgQ1JFQVRFIFRZUEUgZmxvYXRyYW5nZSBB UyBSQU5HRSAoc3VidHlwZSA9IGZsb2F0OCwgc3VidHlwZV9kaWZmID0gZmxvYXQ4bWkpOworRVJS T1I6ICB0eXBlICJmbG9hdHJhbmdlIiBkb2VzIG5vdCBleGlzdAorTElORSAyOiAgIENSRUFURSBU QUJMRSB0dHMoYSBmbG9hdHJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCist LW9rCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYKKyAgQ1JFQVRFIFRZUEUgZmxvYXRy YW5nZSBBUyBSQU5HRSAoc3VidHlwZSA9IGZsb2F0OCwgc3VidHlwZV9kaWZmID0gZmxvYXQ4bWkp CisgIENSRUFURSBUWVBFIHNzIEFTIChhIGludCkKKyAgQ1JFQVRFIFRZUEUgc3NzCisgIENSRUFU RSBUWVBFIHJhaW5ib3cgQVMgRU5VTSAoJ3JlZCcsICdvcmFuZ2UnKTsKK1xkVCByZWdyZXNzX3Nj aGVtYV82LioKKyAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZGF0YSB0eXBlcworICAg ICAgU2NoZW1hICAgICAgfCAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICB8IERlc2Ny aXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc2NoZW1hXzYgfCByZWdyZXNzX3NjaGVtYV82 LmZsb2F0bXVsdGlyYW5nZSB8IAorIHJlZ3Jlc3Nfc2NoZW1hXzYgfCByZWdyZXNzX3NjaGVtYV82 LmZsb2F0cmFuZ2UgICAgICB8IAorIHJlZ3Jlc3Nfc2NoZW1hXzYgfCByZWdyZXNzX3NjaGVtYV82 LnJhaW5ib3cgICAgICAgICB8IAorIHJlZ3Jlc3Nfc2NoZW1hXzYgfCByZWdyZXNzX3NjaGVtYV82 LnNzICAgICAgICAgICAgICB8IAorIHJlZ3Jlc3Nfc2NoZW1hXzYgfCByZWdyZXNzX3NjaGVtYV82 LnNzcyAgICAgICAgICAgICB8IAorKDUgcm93cykKKworLS1zY2hlbWEgcXVhbGlmaWVkLCBvawor Q1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV83CisgIENSRUFURSBUWVBFIHJlZ3Jlc3Nfc2No ZW1hXzcuZmxvYXRyYW5nZSBBUyBSQU5HRSAoc3VidHlwZSA9IGZsb2F0OCwgc3VidHlwZV9kaWZm ID0gZmxvYXQ4bWkpCisgIENSRUFURSBUWVBFIHJlZ3Jlc3Nfc2NoZW1hXzcuc3MgQVMgKGEgaW50 KQorICBDUkVBVEUgVFlQRSByZWdyZXNzX3NjaGVtYV83LnNzcworICBDUkVBVEUgVFlQRSByZWdy ZXNzX3NjaGVtYV83LnJhaW5ib3cgQVMgRU5VTSAoJ3JlZCcsICdvcmFuZ2UnKQorICBDUkVBVEUg VEFCTEUgdChhIGZsb2F0cmFuZ2UsIGIgc3MsIGMgcmFpbmJvdyk7CitcZFQgcmVncmVzc19zY2hl bWFfNy4qCisgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGRhdGEgdHlwZXMKKyAgICAg IFNjaGVtYSAgICAgIHwgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICAgICAgfCBEZXNjcmlw dGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3NjaGVtYV83IHwgcmVncmVzc19zY2hlbWFfNy5m bG9hdG11bHRpcmFuZ2UgfCAKKyByZWdyZXNzX3NjaGVtYV83IHwgcmVncmVzc19zY2hlbWFfNy5m bG9hdHJhbmdlICAgICAgfCAKKyByZWdyZXNzX3NjaGVtYV83IHwgcmVncmVzc19zY2hlbWFfNy5y YWluYm93ICAgICAgICAgfCAKKyByZWdyZXNzX3NjaGVtYV83IHwgcmVncmVzc19zY2hlbWFfNy5z cyAgICAgICAgICAgICAgfCAKKyByZWdyZXNzX3NjaGVtYV83IHwgcmVncmVzc19zY2hlbWFfNy5z c3MgICAgICAgICAgICAgfCAKKyg1IHJvd3MpCisKIERST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1h XzIgQ0FTQ0FERTsKIE5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmplY3RzCiBE RVRBSUw6ICBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfMi5zcwpAQCAtMjMw LDUgKzMwMCwxOCBAQCBEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV81IENBU0NBREU7CiBOT1RJ Q0U6ICBkcm9wIGNhc2NhZGVzIHRvIDIgb3RoZXIgb2JqZWN0cwogREVUQUlMOiAgZHJvcCBjYXNj YWRlcyB0byBjb2xsYXRpb24gcmVncmVzc19zY2hlbWFfNS5jb2xsCiBkcm9wIGNhc2NhZGVzIHRv IHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzUudAorRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNiBD QVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byA0IG90aGVyIG9iamVjdHMKK0RFVEFJ TDogIGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV82LmZsb2F0cmFuZ2UKK2Ry b3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV82LnNzCitkcm9wIGNhc2NhZGVzIHRv IHR5cGUgcmVncmVzc19zY2hlbWFfNi5zc3MKK2Ryb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNz X3NjaGVtYV82LnJhaW5ib3cKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzcgQ0FTQ0FERTsK K05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gNSBvdGhlciBvYmplY3RzCitERVRBSUw6ICBkcm9w IGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfNy5mbG9hdHJhbmdlCitkcm9wIGNhc2Nh ZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfNy5zcworZHJvcCBjYXNjYWRlcyB0byB0eXBlIHJl Z3Jlc3Nfc2NoZW1hXzcuc3NzCitkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFf Ny5yYWluYm93Citkcm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzcudAogLS0g Q2xlYW4gdXAKIERST1AgUk9MRSByZWdyZXNzX2NyZWF0ZV9zY2hlbWFfcm9sZTsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3R5cGUub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdHlwZS5vdXQKaW5kZXggNTE4MWM0MjkwYjQuLjY4ZGVj YzQxYmIwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90eXBl Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90eXBlLm91dApAQCAt MzUsNiArMzUsMTggQEAgQ1JFQVRFIEZVTkNUSU9OIGludDQ0b3V0KGNpdHlfYnVkZ2V0KQogTk9U SUNFOiAgYXJndW1lbnQgdHlwZSBjaXR5X2J1ZGdldCBpcyBvbmx5IGEgc2hlbGwKIExJTkUgMTog Q1JFQVRFIEZVTkNUSU9OIGludDQ0b3V0KGNpdHlfYnVkZ2V0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgorLS0tLS0gQ1JFQVRFIFNDSEVNQSBDUkVBVEUgVFlQRQorLS1lcnJv ciwgY2Fubm90IENSRUFURSBUWVBFIHRvIG90aGVyIHNjaGVtYQorQ1JFQVRFIFNDSEVNQSByZWdy ZXNzX3NjaGVtYV8xCisgICBDUkVBVEUgVFlQRSBwdWJsaWMud2lkZ2V0ICgKKyAgICAgIGludGVy bmFsbGVuZ3RoID0gMjQsCisgICAgICBpbnB1dCA9IHdpZGdldF9pbiwKKyAgICAgIG91dHB1dCA9 IHdpZGdldF9vdXQsCisgICAgICB0eXBtb2RfaW4gPSBudW1lcmljdHlwbW9kaW4sCisgICAgICB0 eXBtb2Rfb3V0ID0gbnVtZXJpY3R5cG1vZG91dCwKKyAgICAgIGFsaWdubWVudCA9IGRvdWJsZQor ICAgKTsKK0VSUk9SOiAgQ1JFQVRFIFRZUEUgc3BlY2lmaWVzIGEgc2NoZW1hIChwdWJsaWMpIGRp ZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19zY2hlbWFfMSkKIENS RUFURSBUWVBFIHdpZGdldCAoCiAgICBpbnRlcm5hbGxlbmd0aCA9IDI0LAogICAgaW5wdXQgPSB3 aWRnZXRfaW4sCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1h LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCmluZGV4IDBmODAy YmNhZmZlLi43NWZkOTI4ZWFjYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3Jl YXRlX3NjaGVtYS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5z cWwKQEAgLTEzMSwxMCArMTMxLDQ5IEBAIENSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNSBB VVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQogXGRPIHJlZ3Jlc3Nfc2NoZW1hXzUuKgogCiAKKwor LS0tLS1DUkVBVEUgU0NIRU1BIENSRUFURSBUWVBFCistLWZhaWwuIGNhbiBub3QgQ1JFQVRFIFRZ UEUgdG8gb3RoZXIgc2NoZW1hCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYgQ1JFQVRF IFRZUEUgcHVibGljLnNzIEFTIChhIGludCk7CitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1h XzYgQ1JFQVRFIFRZUEUgcHVibGljLnNzOworQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82 IENSRUFURSBUWVBFIHB1YmxpYy5yYWluYm93IEFTIEVOVU0gKCdyZWQnLCAnb3JhbmdlJyk7CitD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYgQ1JFQVRFIFRZUEUgcHVibGljLmZsb2F0cmFu Z2UgQVMgUkFOR0UgKHN1YnR5cGUgPSBmbG9hdDgsIHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKTsK KworLS1mYWlsLiBpbXByb3BlciBxdWFsaWZpZWQgbmFtZQorQ1JFQVRFIFNDSEVNQSByZWdyZXNz X3NjaGVtYV82IEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBUWVBFIHBvc3Rn cmVzLnB1YmxpYy5mbG9hdHJhbmdlIEFTIFJBTkdFIChzdWJ0eXBlID0gZmxvYXQ4LCBzdWJ0eXBl X2RpZmYgPSBmbG9hdDhtaSk7CisKKy0tdGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgZXJyb3Is IGJlY2F1c2Ugd2UgZXhlY3V0ZSBzdWJjb21tYW5kcyBpbiBvcmRlcgorQ1JFQVRFIFNDSEVNQSBy ZWdyZXNzX3NjaGVtYV82IENSRUFURSBUQUJMRSB0dHMoYSBzcykgQ1JFQVRFIFRZUEUgc3M7CitD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYgQ1JFQVRFIFRBQkxFIHR0cyhhIHNzKSBDUkVB VEUgVFlQRSBzcyBBUyAoYSBpbnQpOworQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82IENS RUFURSBUQUJMRSB0dHMoYSByYWluYm93KSBDUkVBVEUgVFlQRSByYWluYm93IEFTIEVOVU0gKCdy ZWQnLCAnb3JhbmdlJyk7CitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzYKKyAgQ1JFQVRF IFRBQkxFIHR0cyhhIGZsb2F0cmFuZ2UpCisgIENSRUFURSBUWVBFIGZsb2F0cmFuZ2UgQVMgUkFO R0UgKHN1YnR5cGUgPSBmbG9hdDgsIHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKTsKKworLS1vawor Q1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82CisgIENSRUFURSBUWVBFIGZsb2F0cmFuZ2Ug QVMgUkFOR0UgKHN1YnR5cGUgPSBmbG9hdDgsIHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKQorICBD UkVBVEUgVFlQRSBzcyBBUyAoYSBpbnQpCisgIENSRUFURSBUWVBFIHNzcworICBDUkVBVEUgVFlQ RSByYWluYm93IEFTIEVOVU0gKCdyZWQnLCAnb3JhbmdlJyk7CitcZFQgcmVncmVzc19zY2hlbWFf Ni4qCisKKy0tc2NoZW1hIHF1YWxpZmllZCwgb2sKK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hl bWFfNworICBDUkVBVEUgVFlQRSByZWdyZXNzX3NjaGVtYV83LmZsb2F0cmFuZ2UgQVMgUkFOR0Ug KHN1YnR5cGUgPSBmbG9hdDgsIHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKQorICBDUkVBVEUgVFlQ RSByZWdyZXNzX3NjaGVtYV83LnNzIEFTIChhIGludCkKKyAgQ1JFQVRFIFRZUEUgcmVncmVzc19z Y2hlbWFfNy5zc3MKKyAgQ1JFQVRFIFRZUEUgcmVncmVzc19zY2hlbWFfNy5yYWluYm93IEFTIEVO VU0gKCdyZWQnLCAnb3JhbmdlJykKKyAgQ1JFQVRFIFRBQkxFIHQoYSBmbG9hdHJhbmdlLCBiIHNz LCBjIHJhaW5ib3cpOworXGRUIHJlZ3Jlc3Nfc2NoZW1hXzcuKgorCiBEUk9QIFNDSEVNQSByZWdy ZXNzX3NjaGVtYV8yIENBU0NBREU7CiBEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8zIENBU0NB REU7CiBEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV80IENBU0NBREU7CiBEUk9QIFNDSEVNQSBy ZWdyZXNzX3NjaGVtYV81IENBU0NBREU7CitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV82IENB U0NBREU7CitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV83IENBU0NBREU7CiAKIC0tIENsZWFu IHVwCiBEUk9QIFJPTEUgcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGU7CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdHlwZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9jcmVhdGVfdHlwZS5zcWwKaW5kZXggYzI1MDE4MDI5YzIuLjljODkzOWUyNGUwIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdHlwZS5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvY3JlYXRlX3R5cGUuc3FsCkBAIC0zMiw2ICszMiwxOCBAQCBDUkVBVEUgRlVO Q1RJT04gaW50NDRvdXQoY2l0eV9idWRnZXQpCiAgICBBUyA6J3JlZ3Jlc3NsaWInCiAgICBMQU5H VUFHRSBDIFNUUklDVCBJTU1VVEFCTEU7CiAKKy0tLS0tIENSRUFURSBTQ0hFTUEgQ1JFQVRFIFRZ UEUKKy0tZXJyb3IsIGNhbm5vdCBDUkVBVEUgVFlQRSB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBT Q0hFTUEgcmVncmVzc19zY2hlbWFfMQorICAgQ1JFQVRFIFRZUEUgcHVibGljLndpZGdldCAoCisg ICAgICBpbnRlcm5hbGxlbmd0aCA9IDI0LAorICAgICAgaW5wdXQgPSB3aWRnZXRfaW4sCisgICAg ICBvdXRwdXQgPSB3aWRnZXRfb3V0LAorICAgICAgdHlwbW9kX2luID0gbnVtZXJpY3R5cG1vZGlu LAorICAgICAgdHlwbW9kX291dCA9IG51bWVyaWN0eXBtb2RvdXQsCisgICAgICBhbGlnbm1lbnQg PSBkb3VibGUKKyAgICk7CisKIENSRUFURSBUWVBFIHdpZGdldCAoCiAgICBpbnRlcm5hbGxlbmd0 aCA9IDI0LAogICAgaW5wdXQgPSB3aWRnZXRfaW4sCi0tIAoyLjM0LjEKCg== --0000000000000685b10647359391 Content-Type: text/x-patch; charset="UTF-8"; name="v8-0001-Don-t-try-to-re-order-the-subcommands-of-CREATE-SCHEMA.patch" Content-Disposition: attachment; filename="v8-0001-Don-t-try-to-re-order-the-subcommands-of-CREATE-SCHEMA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjtcmzmg4 RnJvbSBkMTJjMmUyNTdhOTc2Mjg5ZDZiNmUzZTcxNzQzNTRkMjBkMWNhZWMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMTcgRGVjIDIwMjUgMTU6MzE6MTcgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDEvNV0gRG9uJ3QgdHJ5IHRvIHJlLW9yZGVyIHRoZSBzdWJjb21tYW5kcyBvZiBDUkVBVEUgU0NI RU1BCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cgp0cmFuc2Zvcm1DcmVhdGVTY2hl bWFTdG10RWxlbWVudHMgaGFzIGFsd2F5cyBiZWxpZXZlZCB0aGF0IGl0IGlzCnN1cHBvc2VkIHRv IHJlLW9yZGVyIHRoZSBzdWJjb21tYW5kcyBvZiBDUkVBVEUgU0NIRU1BIGludG8gYSBzYWZlCmV4 ZWN1dGlvbiBvcmRlci4gIEhvd2V2ZXIsIGl0IGlzIG5vd2hlcmUgbmVhciBiZWluZyBjYXBhYmxl IG9mIGRvaW5nCnRoYXQgY29ycmVjdGx5LiAgTm9yIGlzIHRoZXJlIHJlYXNvbiB0byB0aGluayB0 aGF0IGl0IGV2ZXIgd2lsbCBiZSwKb3IgdGhhdCB0aGF0IGlzIGEgd2VsbC1kZWZpbmVkIHJlcXVp cmVtZW50LCBvciB0aGF0IHRoZXJlJ3MgYW55IGJhc2lzCmluIHRoZSBTUUwgc3RhbmRhcmQgZm9y IGl0LiAgTW9yZW92ZXIsIHRoZSBwcm9ibGVtIHdpbGwgZ2V0IHdvcnNlIGFzCndlIGFkZCBtb3Jl IHN1YmNvbW1hbmQgdHlwZXMuICBMZXQncyBqdXN0IGRyb3AgdGhlIHdob2xlIGlkZWEgYW5kCmV4 ZWN1dGUgdGhlIGNvbW1hbmRzIGluIHRoZSBvcmRlciBnaXZlbiwgd2hpY2ggc2VlbXMgbGlrZSBh IG11Y2ggbGVzcwphc3RvbmlzaG1lbnQtcHJvbmUgZGVmaW5pdGlvbiBhbnl3YXkuCgpBbG9uZyB0 aGUgd2F5LCBwYXNzIGRvd24gYSBQYXJzZVN0YXRlIHNvIHRoYXQgd2UgY2FuIHByb3ZpZGUgYW4K ZXJyb3IgY3Vyc29yIGZvciB0aGUgIndyb25nIHNjaGVtYSBuYW1lIiBlcnJvciwgYW5kIGZpeAp0 cmFuc2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMgc28gdGhhdCBpdCBkb2Vzbid0IHNjcmli YmxlCm9uIHRoZSBwYXJzZXRyZWUgcGFzc2VkIHRvIGl0LgoKTm90ZTogVGhpcyB3aWxsIGNhdXNl IGNvbXBhdGliaWxpdHkgaXNzdWUsCmZvciBleGFtcGxlOgpDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nf c2NoZW1hXzIKICBDUkVBVEUgVklFVyBhYmNkX3ZpZXcgQVMgU0VMRUNUIGEgRlJPTSBhYmNkCiAg Q1JFQVRFIFRBQkxFIGFiY2QgKGEgaW50KTsKCldpdGggdGhlIHBhdGNoLCBpdCB3aWxsIHRocm93 IGFuIGVycm9yLCB3aGVyZWFzIG9uIEhFQUQgaXQgd29u4oCZdC4KCkRpc2N1c3Npb246IGh0dHBz Oi8vcG9zdGdyLmVzL20vMTA3NTQyNS4xNzMyOTkzNjg4QHNzcy5wZ2gucGEudXMKLS0tCiBkb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dtbCAgICAgICAgIHwgIDEwICstCiBzcmMvYmFj a2VuZC9jb21tYW5kcy9leHRlbnNpb24uYyAgICAgICAgICAgIHwgICA3ICstCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy9zY2hlbWFjbWRzLmMgICAgICAgICAgIHwgIDE1ICsrLQogc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICB8IDEzNiArKysrKysrKy0tLS0tLS0tLS0t LQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgICAgICB8ICAgMyArLQog c3JjL2luY2x1ZGUvY29tbWFuZHMvc2NoZW1hY21kcy5oICAgICAgICAgICB8ICAgNyArLQogc3Jj L2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaCAgICAgICAgICB8ICAgMyArLQogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dCB8ICAzNyArKysrKysKIHNyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3ZpZXcub3V0ICAgfCAgIDIgKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ldmVudF90cmlnZ2VyLm91dCB8ICAgMiArLQogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9uYW1lc3BhY2Uub3V0ICAgICB8ICAgNyArLQogc3JjL3Rlc3QvcmVncmVz cy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgICAgICB8ICAgNSArCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9uYW1lc3BhY2Uuc3FsICAgICAgICAgIHwgICA4ICstCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlw ZWRlZnMubGlzdCAgICAgICAgICAgIHwgICAxIC0KIDE0IGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNl cnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Jl Zi9jcmVhdGVfc2NoZW1hLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dt bAppbmRleCBlZDY5Mjk4Y2NjNi4uNjI1NzkzYTZiNjcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3NjaGVtYS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3Nj aGVtYS5zZ21sCkBAIC0xOTMsMTIgKzE5MywxMCBAQCBDUkVBVEUgVklFVyBob2xseXdvb2Qud2lu bmVycyBBUwogICA8L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBUaGUgU1FMIHN0YW5kYXJkIHNwZWNp ZmllcyB0aGF0IHRoZSBzdWJjb21tYW5kcyBpbiA8Y29tbWFuZD5DUkVBVEUKLSAgIFNDSEVNQTwv Y29tbWFuZD4gY2FuIGFwcGVhciBpbiBhbnkgb3JkZXIuICBUaGUgcHJlc2VudAotICAgPHByb2R1 Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdAot ICAgaGFuZGxlIGFsbCBjYXNlcyBvZiBmb3J3YXJkIHJlZmVyZW5jZXMgaW4gc3ViY29tbWFuZHM7 IGl0IG1pZ2h0Ci0gICBzb21ldGltZXMgYmUgbmVjZXNzYXJ5IHRvIHJlb3JkZXIgdGhlIHN1YmNv bW1hbmRzIGluIG9yZGVyIHRvIGF2b2lkCi0gICBmb3J3YXJkIHJlZmVyZW5jZXMuCisgICA8cHJv ZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IGV4ZWN1dGVzIHRoZSBzdWJjb21tYW5k cworICAgaW4gPGNvbW1hbmQ+Q1JFQVRFIFNDSEVNQTwvY29tbWFuZD4gaW4gdGhlIG9yZGVyIGdp dmVuLiAgT3RoZXIKKyAgIGltcGxlbWVudGF0aW9ucyBtYXkgdHJ5IHRvIHJlYXJyYW5nZSB0aGUg c3ViY29tbWFuZHMgaW50byBkZXBlbmRlbmN5CisgICBvcmRlciwgYnV0IHRoYXQgaXMgaGFyZCBp ZiBub3QgaW1wb3NzaWJsZSB0byBkbyBjb3JyZWN0bHkuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4dGVuc2lvbi5jIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvZXh0ZW5zaW9uLmMKaW5kZXggYzQzYjc0ZTMxOWUuLjU4ZTI0MjFiMDA4IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9leHRlbnNpb24uYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9leHRlbnNpb24uYwpAQCAtMTc3MywxNCArMTc3MywxNyBAQCBDcmVhdGVF eHRlbnNpb25JbnRlcm5hbChjaGFyICpleHRlbnNpb25OYW1lLAogCiAJCWlmICghT2lkSXNWYWxp ZChzY2hlbWFPaWQpKQogCQl7CisJCQlQYXJzZVN0YXRlICpwc3RhdGUgPSBtYWtlX3BhcnNlc3Rh dGUoTlVMTCk7CiAJCQlDcmVhdGVTY2hlbWFTdG10ICpjc3N0bXQgPSBtYWtlTm9kZShDcmVhdGVT Y2hlbWFTdG10KTsKIAorCQkJcHN0YXRlLT5wX3NvdXJjZXRleHQgPSAiKGdlbmVyYXRlZCBDUkVB VEUgU0NIRU1BIGNvbW1hbmQpIjsKKwogCQkJY3NzdG10LT5zY2hlbWFuYW1lID0gc2NoZW1hTmFt ZTsKIAkJCWNzc3RtdC0+YXV0aHJvbGUgPSBOVUxMOwkvKiB3aWxsIGJlIGNyZWF0ZWQgYnkgY3Vy cmVudCB1c2VyICovCiAJCQljc3N0bXQtPnNjaGVtYUVsdHMgPSBOSUw7CiAJCQljc3N0bXQtPmlm X25vdF9leGlzdHMgPSBmYWxzZTsKLQkJCUNyZWF0ZVNjaGVtYUNvbW1hbmQoY3NzdG10LCAiKGdl bmVyYXRlZCBDUkVBVEUgU0NIRU1BIGNvbW1hbmQpIiwKLQkJCQkJCQkJLTEsIC0xKTsKKworCQkJ Q3JlYXRlU2NoZW1hQ29tbWFuZChwc3RhdGUsIGNzc3RtdCwgLTEsIC0xKTsKIAogCQkJLyoKIAkJ CSAqIENyZWF0ZVNjaGVtYUNvbW1hbmQgaW5jbHVkZXMgQ29tbWFuZENvdW50ZXJJbmNyZW1lbnQs IHNvIG5ldwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2NoZW1hY21kcy5jIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvc2NoZW1hY21kcy5jCmluZGV4IDNjYzE0NzIxMDNhLi4wOTky OGM1OGQ5ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2NoZW1hY21kcy5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3NjaGVtYWNtZHMuYwpAQCAtNDksNyArNDksNyBAQCBz dGF0aWMgdm9pZCBBbHRlclNjaGVtYU93bmVyX2ludGVybmFsKEhlYXBUdXBsZSB0dXAsIFJlbGF0 aW9uIHJlbCwgT2lkIG5ld093bmVySQogICogYSBzdWJxdWVyeS4KICAqLwogT2lkCi1DcmVhdGVT Y2hlbWFDb21tYW5kKENyZWF0ZVNjaGVtYVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3Ry aW5nLAorQ3JlYXRlU2NoZW1hQ29tbWFuZChQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNjaGVt YVN0bXQgKnN0bXQsCiAJCQkJCWludCBzdG10X2xvY2F0aW9uLCBpbnQgc3RtdF9sZW4pCiB7CiAJ Y29uc3QgY2hhciAqc2NoZW1hTmFtZSA9IHN0bXQtPnNjaGVtYW5hbWU7CkBAIC0xODksMTIgKzE4 OSwxMyBAQCBDcmVhdGVTY2hlbWFDb21tYW5kKENyZWF0ZVNjaGVtYVN0bXQgKnN0bXQsIGNvbnN0 IGNoYXIgKnF1ZXJ5U3RyaW5nLAogCiAJLyoKIAkgKiBFeGFtaW5lIHRoZSBsaXN0IG9mIGNvbW1h bmRzIGVtYmVkZGVkIGluIHRoZSBDUkVBVEUgU0NIRU1BIGNvbW1hbmQsIGFuZAotCSAqIHJlb3Jn YW5pemUgdGhlbSBpbnRvIGEgc2VxdWVudGlhbGx5IGV4ZWN1dGFibGUgb3JkZXIgd2l0aCBubyBm b3J3YXJkCi0JICogcmVmZXJlbmNlcy4gIE5vdGUgdGhhdCB0aGUgcmVzdWx0IGlzIHN0aWxsIGEg bGlzdCBvZiByYXcgcGFyc2V0cmVlcyAtLS0KLQkgKiB3ZSBjYW5ub3QsIGluIGdlbmVyYWwsIHJ1 biBwYXJzZSBhbmFseXNpcyBvbiBvbmUgc3RhdGVtZW50IHVudGlsIHdlCi0JICogaGF2ZSBhY3R1 YWxseSBleGVjdXRlZCB0aGUgcHJpb3Igb25lcy4KKwkgKiBkbyBwcmVsaW1pbmFyeSB0cmFuc2Zv cm1hdGlvbnMgKG1vc3RseSwgdmVyaWZ5IHRoYXQgbm9uZSBhcmUgdHJ5aW5nIHRvCisJICogY3Jl YXRlIG9iamVjdHMgb3V0c2lkZSB0aGUgbmV3IHNjaGVtYSkuICBOb3RlIHRoYXQgdGhlIHJlc3Vs dCBpcyBzdGlsbAorCSAqIGEgbGlzdCBvZiByYXcgcGFyc2V0cmVlcyAtLS0gd2UgY2Fubm90LCBp biBnZW5lcmFsLCBydW4gcGFyc2UgYW5hbHlzaXMKKwkgKiBvbiBvbmUgc3RhdGVtZW50IHVudGls IHdlIGhhdmUgYWN0dWFsbHkgZXhlY3V0ZWQgdGhlIHByaW9yIG9uZXMuCiAJICovCi0JcGFyc2V0 cmVlX2xpc3QgPSB0cmFuc2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMoc3RtdC0+c2NoZW1h RWx0cywKKwlwYXJzZXRyZWVfbGlzdCA9IHRyYW5zZm9ybUNyZWF0ZVNjaGVtYVN0bXRFbGVtZW50 cyhwc3RhdGUsCisJCQkJCQkJCQkJCQkJICAgc3RtdC0+c2NoZW1hRWx0cywKIAkJCQkJCQkJCQkJ CQkgICBzY2hlbWFOYW1lKTsKIAogCS8qCkBAIC0yMTksNyArMjIwLDcgQEAgQ3JlYXRlU2NoZW1h Q29tbWFuZChDcmVhdGVTY2hlbWFTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZywK IAogCQkvKiBkbyB0aGlzIHN0ZXAgKi8KIAkJUHJvY2Vzc1V0aWxpdHkod3JhcHBlciwKLQkJCQkJ ICAgcXVlcnlTdHJpbmcsCisJCQkJCSAgIHBzdGF0ZS0+cF9zb3VyY2V0ZXh0LAogCQkJCQkgICBm YWxzZSwKIAkJCQkJICAgUFJPQ0VTU19VVElMSVRZX1NVQkNPTU1BTkQsCiAJCQkJCSAgIE5VTEws CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCAyYjdiMDg0ZjIxNi4uNWQxNjhmZDAy ODUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtOTgsMTggKzk4LDYgQEAgdHlw ZWRlZiBzdHJ1Y3QKIAlib29sCQlvZlR5cGU7CQkJLyogdHJ1ZSBpZiBzdGF0ZW1lbnQgY29udGFp bnMgT0YgdHlwZW5hbWUgKi8KIH0gQ3JlYXRlU3RtdENvbnRleHQ7CiAKLS8qIFN0YXRlIHNoYXJl ZCBieSB0cmFuc2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMgYW5kIGl0cyBzdWJyb3V0aW5l cyAqLwotdHlwZWRlZiBzdHJ1Y3QKLXsKLQljb25zdCBjaGFyICpzY2hlbWFuYW1lOwkJLyogbmFt ZSBvZiBzY2hlbWEgKi8KLQlMaXN0CSAgICpzZXF1ZW5jZXM7CQkvKiBDUkVBVEUgU0VRVUVOQ0Ug aXRlbXMgKi8KLQlMaXN0CSAgICp0YWJsZXM7CQkJLyogQ1JFQVRFIFRBQkxFIGl0ZW1zICovCi0J TGlzdAkgICAqdmlld3M7CQkJLyogQ1JFQVRFIFZJRVcgaXRlbXMgKi8KLQlMaXN0CSAgICppbmRl eGVzOwkJLyogQ1JFQVRFIElOREVYIGl0ZW1zICovCi0JTGlzdAkgICAqdHJpZ2dlcnM7CQkvKiBD UkVBVEUgVFJJR0dFUiBpdGVtcyAqLwotCUxpc3QJICAgKmdyYW50czsJCQkvKiBHUkFOVCBpdGVt cyAqLwotfSBDcmVhdGVTY2hlbWFTdG10Q29udGV4dDsKLQogCiBzdGF0aWMgdm9pZCB0cmFuc2Zv cm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCiAJCQkJCQkJCQkgIENv bHVtbkRlZiAqY29sdW1uKTsKQEAgLTEzNiw3ICsxMjQsOCBAQCBzdGF0aWMgdm9pZCB0cmFuc2Zv cm1DaGVja0NvbnN0cmFpbnRzKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCiBzdGF0aWMgdm9pZCB0 cmFuc2Zvcm1Db25zdHJhaW50QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwKIAkJCQkJCQkJ CSBMaXN0ICpjb25zdHJhaW50TGlzdCk7CiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1Db2x1bW5UeXBl KENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1uKTsKLXN0YXRpYyB2b2lk IHNldFNjaGVtYU5hbWUoY29uc3QgY2hhciAqY29udGV4dF9zY2hlbWEsIGNoYXIgKipzdG10X3Nj aGVtYV9uYW1lKTsKK3N0YXRpYyB2b2lkIGNoZWNrU2NoZW1hTmFtZShQYXJzZVN0YXRlICpwc3Rh dGUsIGNvbnN0IGNoYXIgKmNvbnRleHRfc2NoZW1hLAorCQkJCQkJCVJhbmdlVmFyICpyZWxhdGlv bik7CiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1QYXJ0aXRpb25DbWQoQ3JlYXRlU3RtdENvbnRleHQg KmN4dCwgUGFydGl0aW9uQm91bmRTcGVjICpib3VuZCk7CiBzdGF0aWMgTGlzdCAqdHJhbnNmb3Jt UGFydGl0aW9uUmFuZ2VCb3VuZHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpibGlzdCwKIAkJ CQkJCQkJCQkgICBSZWxhdGlvbiBwYXJlbnQpOwpAQCAtNDM4OCw1MSArNDM3NywzNSBAQCB0cmFu c2Zvcm1Db2x1bW5UeXBlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1u KQogICogdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzIC0KICAqCSAgYW5hbHl6ZXMg dGhlIGVsZW1lbnRzIG9mIGEgQ1JFQVRFIFNDSEVNQSBzdGF0ZW1lbnQKICAqCi0gKiBTcGxpdCB0 aGUgc2NoZW1hIGVsZW1lbnQgbGlzdCBmcm9tIGEgQ1JFQVRFIFNDSEVNQSBzdGF0ZW1lbnQgaW50 bwotICogaW5kaXZpZHVhbCBjb21tYW5kcyBhbmQgcGxhY2UgdGhlbSBpbiB0aGUgcmVzdWx0IGxp c3QgaW4gYW4gb3JkZXIKLSAqIHN1Y2ggdGhhdCB0aGVyZSBhcmUgbm8gZm9yd2FyZCByZWZlcmVu Y2VzIChlLmcuIEdSQU5UIHRvIGEgdGFibGUKLSAqIGNyZWF0ZWQgbGF0ZXIgaW4gdGhlIGxpc3Qp LiBOb3RlIHRoYXQgdGhlIGxvZ2ljIHdlIHVzZSBmb3IgZGV0ZXJtaW5pbmcKLSAqIGZvcndhcmQg cmVmZXJlbmNlcyBpcyBwcmVzZW50bHkgcXVpdGUgaW5jb21wbGV0ZS4KKyAqIFRoaXMgaXMgbm93 IHNvbWV3aGF0IHZlc3RpZ2lhbDogaXRzIG9ubHkgcmVhbCByZXNwb25zaWJpbGl0eSBpcyB0byBj b21wbGFpbgorICogaWYgYW55IG9mIHRoZSBlbGVtZW50cyBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBv YmplY3RzIG91dHNpZGUgdGhlIG5ldyBzY2hlbWEuCisgKiBXZSB1c2VkIHRvIHRyeSB0byByZS1v cmRlciB0aGUgY29tbWFuZHMgaW4gYSB3YXkgdGhhdCB3b3VsZCB3b3JrIGV2ZW4gaWYKKyAqIHRo ZSB1c2VyLXdyaXR0ZW4gb3JkZXIgd291bGQgbm90LCBidXQgdGhhdCdzIHRvbyBoYXJkIChwZXJo YXBzIGltcG9zc2libGUpCisgKiB0byBkbyBjb3JyZWN0bHkgd2l0aCBub3QteWV0LXBhcnNlLWFu YWx5emVkIGNvbW1hbmRzLiAgTm93IHdlJ2xsIGp1c3QKKyAqIGV4ZWN1dGUgdGhlIGVsZW1lbnRz IGluIHRoZSBvcmRlciBnaXZlbi4KICAqCiAgKiAic2NoZW1hTmFtZSIgaXMgdGhlIG5hbWUgb2Yg dGhlIHNjaGVtYSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIGNyZWF0aW9uCi0gKiBvZiB0aGUg b2JqZWN0cyBsaXN0ZWQsIHRoYXQgbWF5IGJlIGNvbXBpbGVkIGZyb20gdGhlIHNjaGVtYSBuYW1l IGRlZmluZWQKKyAqIG9mIHRoZSBvYmplY3RzIGxpc3RlZC4gIEl0IG1heSBiZSBvYnRhaW5lZCBm cm9tIHRoZSBzY2hlbWEgbmFtZSBkZWZpbmVkCiAgKiBpbiB0aGUgc3RhdGVtZW50IG9yIGEgcm9s ZSBzcGVjaWZpY2F0aW9uLgogICoKLSAqIFNRTCBhbHNvIGFsbG93cyBjb25zdHJhaW50cyB0byBt YWtlIGZvcndhcmQgcmVmZXJlbmNlcywgc28gdGh1bWIgdGhyb3VnaAotICogdGhlIHRhYmxlIGNv bHVtbnMgYW5kIG1vdmUgZm9yd2FyZCByZWZlcmVuY2VzIHRvIGEgcG9zdGVyaW9yIGFsdGVyLXRh YmxlCi0gKiBjb21tYW5kLgotICoKICAqIFRoZSByZXN1bHQgaXMgYSBsaXN0IG9mIHBhcnNlIG5v ZGVzIHRoYXQgc3RpbGwgbmVlZCB0byBiZSBhbmFseXplZCAtLS0KICAqIGJ1dCB3ZSBjYW4ndCBh bmFseXplIHRoZSBsYXRlciBjb21tYW5kcyB1bnRpbCB3ZSd2ZSBleGVjdXRlZCB0aGUgZWFybGll cgogICogb25lcywgYmVjYXVzZSBvZiBwb3NzaWJsZSBpbnRlci1vYmplY3QgcmVmZXJlbmNlcy4K LSAqCi0gKiBOb3RlOiB0aGlzIGJyZWFrcyB0aGUgcnVsZXMgYSBsaXR0bGUgYml0IGJ5IG1vZGlm eWluZyBzY2hlbWEtbmFtZSBmaWVsZHMKLSAqIHdpdGhpbiBwYXNzZWQtaW4gc3RydWN0cy4gIEhv d2V2ZXIsIHRoZSB0cmFuc2Zvcm1hdGlvbiB3b3VsZCBiZSB0aGUgc2FtZQotICogaWYgZG9uZSBv dmVyLCBzbyBpdCBzaG91bGQgYmUgYWxsIHJpZ2h0IHRvIHNjcmliYmxlIG9uIHRoZSBpbnB1dCB0 byB0aGlzCi0gKiBleHRlbnQuCiAgKi8KIExpc3QgKgotdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3Rt dEVsZW1lbnRzKExpc3QgKnNjaGVtYUVsdHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCit0cmFu c2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpz Y2hlbWFFbHRzLAorCQkJCQkJCQkgIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiB7Ci0JQ3JlYXRl U2NoZW1hU3RtdENvbnRleHQgY3h0OwotCUxpc3QJICAgKnJlc3VsdDsKLQlMaXN0Q2VsbCAgICpl bGVtZW50czsKLQotCWN4dC5zY2hlbWFuYW1lID0gc2NoZW1hTmFtZTsKLQljeHQuc2VxdWVuY2Vz ID0gTklMOwotCWN4dC50YWJsZXMgPSBOSUw7Ci0JY3h0LnZpZXdzID0gTklMOwotCWN4dC5pbmRl eGVzID0gTklMOwotCWN4dC50cmlnZ2VycyA9IE5JTDsKLQljeHQuZ3JhbnRzID0gTklMOworCUxp c3QJICAgKmVsZW1lbnRzID0gTklMOworCUxpc3RDZWxsICAgKmxjOwogCiAJLyoKLQkgKiBSdW4g dGhyb3VnaCBlYWNoIHNjaGVtYSBlbGVtZW50IGluIHRoZSBzY2hlbWEgZWxlbWVudCBsaXN0LiBT ZXBhcmF0ZQotCSAqIHN0YXRlbWVudHMgYnkgdHlwZSwgYW5kIGRvIHByZWxpbWluYXJ5IGFuYWx5 c2lzLgorCSAqIFJ1biB0aHJvdWdoIGVhY2ggc2NoZW1hIGVsZW1lbnQgaW4gdGhlIHNjaGVtYSBl bGVtZW50IGxpc3QuICBDaGVjaworCSAqIHRhcmdldCBzY2hlbWEgbmFtZXMsIGFuZCBjb2xsZWN0 IHRoZSBsaXN0IG9mIGFjdGlvbnMgdG8gYmUgZG9uZS4KIAkgKi8KLQlmb3JlYWNoKGVsZW1lbnRz LCBzY2hlbWFFbHRzKQorCWZvcmVhY2gobGMsIHNjaGVtYUVsdHMpCiAJewotCQlOb2RlCSAgICpl bGVtZW50ID0gbGZpcnN0KGVsZW1lbnRzKTsKKwkJTm9kZQkgICAqZWxlbWVudCA9IGxmaXJzdChs Yyk7CiAKIAkJc3dpdGNoIChub2RlVGFnKGVsZW1lbnQpKQogCQl7CkBAIC00NDQwLDggKzQ0MTMs OCBAQCB0cmFuc2Zvcm1DcmVhdGVTY2hlbWFTdG10RWxlbWVudHMoTGlzdCAqc2NoZW1hRWx0cywg Y29uc3QgY2hhciAqc2NoZW1hTmFtZSkKIAkJCQl7CiAJCQkJCUNyZWF0ZVNlcVN0bXQgKmVscCA9 IChDcmVhdGVTZXFTdG10ICopIGVsZW1lbnQ7CiAKLQkJCQkJc2V0U2NoZW1hTmFtZShjeHQuc2No ZW1hbmFtZSwgJmVscC0+c2VxdWVuY2UtPnNjaGVtYW5hbWUpOwotCQkJCQljeHQuc2VxdWVuY2Vz ID0gbGFwcGVuZChjeHQuc2VxdWVuY2VzLCBlbGVtZW50KTsKKwkJCQkJY2hlY2tTY2hlbWFOYW1l KHBzdGF0ZSwgc2NoZW1hTmFtZSwgZWxwLT5zZXF1ZW5jZSk7CisJCQkJCWVsZW1lbnRzID0gbGFw cGVuZChlbGVtZW50cywgZWxlbWVudCk7CiAJCQkJfQogCQkJCWJyZWFrOwogCkBAIC00NDQ5LDEy ICs0NDIyLDggQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzKExpc3QgKnNjaGVt YUVsdHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiAJCQkJewogCQkJCQlDcmVhdGVTdG10ICpl bHAgPSAoQ3JlYXRlU3RtdCAqKSBlbGVtZW50OwogCi0JCQkJCXNldFNjaGVtYU5hbWUoY3h0LnNj aGVtYW5hbWUsICZlbHAtPnJlbGF0aW9uLT5zY2hlbWFuYW1lKTsKLQotCQkJCQkvKgotCQkJCQkg KiBYWFggdG9kbzogZGVhbCB3aXRoIGNvbnN0cmFpbnRzCi0JCQkJCSAqLwotCQkJCQljeHQudGFi bGVzID0gbGFwcGVuZChjeHQudGFibGVzLCBlbGVtZW50KTsKKwkJCQkJY2hlY2tTY2hlbWFOYW1l KHBzdGF0ZSwgc2NoZW1hTmFtZSwgZWxwLT5yZWxhdGlvbik7CisJCQkJCWVsZW1lbnRzID0gbGFw cGVuZChlbGVtZW50cywgZWxlbWVudCk7CiAJCQkJfQogCQkJCWJyZWFrOwogCkBAIC00NDYyLDEy ICs0NDMxLDggQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzKExpc3QgKnNjaGVt YUVsdHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiAJCQkJewogCQkJCQlWaWV3U3RtdCAgICpl bHAgPSAoVmlld1N0bXQgKikgZWxlbWVudDsKIAotCQkJCQlzZXRTY2hlbWFOYW1lKGN4dC5zY2hl bWFuYW1lLCAmZWxwLT52aWV3LT5zY2hlbWFuYW1lKTsKLQotCQkJCQkvKgotCQkJCQkgKiBYWFgg dG9kbzogZGVhbCB3aXRoIHJlZmVyZW5jZXMgYmV0d2VlbiB2aWV3cwotCQkJCQkgKi8KLQkJCQkJ Y3h0LnZpZXdzID0gbGFwcGVuZChjeHQudmlld3MsIGVsZW1lbnQpOworCQkJCQljaGVja1NjaGVt YU5hbWUocHN0YXRlLCBzY2hlbWFOYW1lLCBlbHAtPnZpZXcpOworCQkJCQllbGVtZW50cyA9IGxh cHBlbmQoZWxlbWVudHMsIGVsZW1lbnQpOwogCQkJCX0KIAkJCQlicmVhazsKIApAQCAtNDQ3NSw4 ICs0NDQwLDggQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzKExpc3QgKnNjaGVt YUVsdHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiAJCQkJewogCQkJCQlJbmRleFN0bXQgICpl bHAgPSAoSW5kZXhTdG10ICopIGVsZW1lbnQ7CiAKLQkJCQkJc2V0U2NoZW1hTmFtZShjeHQuc2No ZW1hbmFtZSwgJmVscC0+cmVsYXRpb24tPnNjaGVtYW5hbWUpOwotCQkJCQljeHQuaW5kZXhlcyA9 IGxhcHBlbmQoY3h0LmluZGV4ZXMsIGVsZW1lbnQpOworCQkJCQljaGVja1NjaGVtYU5hbWUocHN0 YXRlLCBzY2hlbWFOYW1lLCBlbHAtPnJlbGF0aW9uKTsKKwkJCQkJZWxlbWVudHMgPSBsYXBwZW5k KGVsZW1lbnRzLCBlbGVtZW50KTsKIAkJCQl9CiAJCQkJYnJlYWs7CiAKQEAgLTQ0ODQsMTMgKzQ0 NDksMTMgQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzKExpc3QgKnNjaGVtYUVs dHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiAJCQkJewogCQkJCQlDcmVhdGVUcmlnU3RtdCAq ZWxwID0gKENyZWF0ZVRyaWdTdG10ICopIGVsZW1lbnQ7CiAKLQkJCQkJc2V0U2NoZW1hTmFtZShj eHQuc2NoZW1hbmFtZSwgJmVscC0+cmVsYXRpb24tPnNjaGVtYW5hbWUpOwotCQkJCQljeHQudHJp Z2dlcnMgPSBsYXBwZW5kKGN4dC50cmlnZ2VycywgZWxlbWVudCk7CisJCQkJCWNoZWNrU2NoZW1h TmFtZShwc3RhdGUsIHNjaGVtYU5hbWUsIGVscC0+cmVsYXRpb24pOworCQkJCQllbGVtZW50cyA9 IGxhcHBlbmQoZWxlbWVudHMsIGVsZW1lbnQpOwogCQkJCX0KIAkJCQlicmVhazsKIAogCQkJY2Fz ZSBUX0dyYW50U3RtdDoKLQkJCQljeHQuZ3JhbnRzID0gbGFwcGVuZChjeHQuZ3JhbnRzLCBlbGVt ZW50KTsKKwkJCQllbGVtZW50cyA9IGxhcHBlbmQoZWxlbWVudHMsIGVsZW1lbnQpOwogCQkJCWJy ZWFrOwogCiAJCQlkZWZhdWx0OgpAQCAtNDQ5OSwzMiArNDQ2NCwzOSBAQCB0cmFuc2Zvcm1DcmVh dGVTY2hlbWFTdG10RWxlbWVudHMoTGlzdCAqc2NoZW1hRWx0cywgY29uc3QgY2hhciAqc2NoZW1h TmFtZSkKIAkJfQogCX0KIAotCXJlc3VsdCA9IE5JTDsKLQlyZXN1bHQgPSBsaXN0X2NvbmNhdChy ZXN1bHQsIGN4dC5zZXF1ZW5jZXMpOwotCXJlc3VsdCA9IGxpc3RfY29uY2F0KHJlc3VsdCwgY3h0 LnRhYmxlcyk7Ci0JcmVzdWx0ID0gbGlzdF9jb25jYXQocmVzdWx0LCBjeHQudmlld3MpOwotCXJl c3VsdCA9IGxpc3RfY29uY2F0KHJlc3VsdCwgY3h0LmluZGV4ZXMpOwotCXJlc3VsdCA9IGxpc3Rf Y29uY2F0KHJlc3VsdCwgY3h0LnRyaWdnZXJzKTsKLQlyZXN1bHQgPSBsaXN0X2NvbmNhdChyZXN1 bHQsIGN4dC5ncmFudHMpOwotCi0JcmV0dXJuIHJlc3VsdDsKKwlyZXR1cm4gZWxlbWVudHM7CiB9 CiAKIC8qCi0gKiBzZXRTY2hlbWFOYW1lCi0gKgkJU2V0IG9yIGNoZWNrIHNjaGVtYSBuYW1lIGlu IGFuIGVsZW1lbnQgb2YgYSBDUkVBVEUgU0NIRU1BIGNvbW1hbmQKKyAqIGNoZWNrU2NoZW1hTmFt ZQorICoJCUNoZWNrIHNjaGVtYSBuYW1lIGluIGFuIGVsZW1lbnQgb2YgYSBDUkVBVEUgU0NIRU1B IGNvbW1hbmQKKyAqCisgKiBJdCdzIG9rYXkgaWYgdGhlIGNvbW1hbmQgZG9lc24ndCBzcGVjaWZ5 IGEgdGFyZ2V0IHNjaGVtYSBuYW1lLCBiZWNhdXNlCisgKiBDcmVhdGVTY2hlbWFDb21tYW5kIHdp bGwgc2V0IHVwIHRoZSBkZWZhdWx0IGNyZWF0aW9uIHNjaGVtYSB0byBiZSB0aGUKKyAqIG5ldyBz Y2hlbWEuICBCdXQgaWYgYSB0YXJnZXQgc2NoZW1hIG5hbWUgaXMgZ2l2ZW4sIGl0IGhhZCBiZXR0 ZXIgbWF0Y2guCisgKiBXZSBhbHNvIGhhdmUgdG8gY2hlY2sgdGhhdCB0aGUgY29tbWFuZCBkb2Vz bid0IHNheSBDUkVBVEUgVEVNUCwgc2luY2UKKyAqIHRoYXQgd291bGQgbGlrZXdpc2UgcHV0IHRo ZSBvYmplY3QgaW50byB0aGUgd3Jvbmcgc2NoZW1hLgogICovCiBzdGF0aWMgdm9pZAotc2V0U2No ZW1hTmFtZShjb25zdCBjaGFyICpjb250ZXh0X3NjaGVtYSwgY2hhciAqKnN0bXRfc2NoZW1hX25h bWUpCitjaGVja1NjaGVtYU5hbWUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBjb25zdCBjaGFyICpjb250 ZXh0X3NjaGVtYSwKKwkJCQlSYW5nZVZhciAqcmVsYXRpb24pCiB7Ci0JaWYgKCpzdG10X3NjaGVt YV9uYW1lID09IE5VTEwpCi0JCSpzdG10X3NjaGVtYV9uYW1lID0gdW5jb25zdGlmeShjaGFyICos IGNvbnRleHRfc2NoZW1hKTsKLQllbHNlIGlmIChzdHJjbXAoY29udGV4dF9zY2hlbWEsICpzdG10 X3NjaGVtYV9uYW1lKSAhPSAwKQorCWlmIChyZWxhdGlvbi0+c2NoZW1hbmFtZSAhPSBOVUxMICYm CisJCXN0cmNtcChjb250ZXh0X3NjaGVtYSwgcmVsYXRpb24tPnNjaGVtYW5hbWUpICE9IDApCiAJ CWVyZXBvcnQoRVJST1IsCi0JCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1NDSEVNQV9ERUZJ TklUSU9OKSwKLQkJCQkgZXJybXNnKCJDUkVBVEUgc3BlY2lmaWVzIGEgc2NoZW1hICglcykgIgot CQkJCQkJImRpZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAoJXMpIiwKLQkJCQkJ CSpzdG10X3NjaGVtYV9uYW1lLCBjb250ZXh0X3NjaGVtYSkpKTsKKwkJCQllcnJjb2RlKEVSUkNP REVfSU5WQUxJRF9TQ0hFTUFfREVGSU5JVElPTiksCisJCQkJZXJybXNnKCJDUkVBVEUgc3BlY2lm aWVzIGEgc2NoZW1hICglcykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkICgl cykiLAorCQkJCQkgICByZWxhdGlvbi0+c2NoZW1hbmFtZSwgY29udGV4dF9zY2hlbWEpLAorCQkJ CXBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIHJlbGF0aW9uLT5sb2NhdGlvbikpOworCisJaWYg KHJlbGF0aW9uLT5yZWxwZXJzaXN0ZW5jZSA9PSBSRUxQRVJTSVNURU5DRV9URU1QKQorCXsKKwkJ Lyogc3BlbGwgdGhpcyBlcnJvciB0aGUgc2FtZSBhcyBpbiBSYW5nZVZhckFkanVzdFJlbGF0aW9u UGVyc2lzdGVuY2UgKi8KKwkJZXJlcG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfSU5W QUxJRF9UQUJMRV9ERUZJTklUSU9OKSwKKwkJCQllcnJtc2coImNhbm5vdCBjcmVhdGUgdGVtcG9y YXJ5IHJlbGF0aW9uIGluIG5vbi10ZW1wb3Jhcnkgc2NoZW1hIiksCisJCQkJcGFyc2VyX2VycnBv c2l0aW9uKHBzdGF0ZSwgcmVsYXRpb24tPmxvY2F0aW9uKSk7CisJfQogfQogCiAvKgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxp dHkuYwppbmRleCBkMThhM2E2MGE0Ni4uNWU4Y2Q5N2YzYzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC0x MTE5LDggKzExMTksNyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAog CQkJCSAqIHJlbGF0aW9uIGFuZCBhdHRyaWJ1dGUgbWFuaXB1bGF0aW9uCiAJCQkJICovCiAJCQlj YXNlIFRfQ3JlYXRlU2NoZW1hU3RtdDoKLQkJCQlDcmVhdGVTY2hlbWFDb21tYW5kKChDcmVhdGVT Y2hlbWFTdG10ICopIHBhcnNldHJlZSwKLQkJCQkJCQkJCXF1ZXJ5U3RyaW5nLAorCQkJCUNyZWF0 ZVNjaGVtYUNvbW1hbmQocHN0YXRlLCBjYXN0Tm9kZShDcmVhdGVTY2hlbWFTdG10LCBwYXJzZXRy ZWUpLAogCQkJCQkJCQkJcHN0bXQtPnN0bXRfbG9jYXRpb24sCiAJCQkJCQkJCQlwc3RtdC0+c3Rt dF9sZW4pOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zY2hlbWFjbWRzLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zY2hlbWFjbWRzLmgKaW5kZXggODU1NzE3NmI2NmEuLjgz NTI2NWJiNjdjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zY2hlbWFjbWRzLmgK KysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2NoZW1hY21kcy5oCkBAIC0xNiwxMiArMTYsOSBA QAogI2RlZmluZSBTQ0hFTUFDTURTX0gKIAogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWRkcmVz cy5oIgotI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9kZXMuaCIKLQotZXh0ZXJuIE9pZAlDcmVhdGVT Y2hlbWFDb21tYW5kKENyZWF0ZVNjaGVtYVN0bXQgKnN0bXQsCi0JCQkJCQkJCWNvbnN0IGNoYXIg KnF1ZXJ5U3RyaW5nLAotCQkJCQkJCQlpbnQgc3RtdF9sb2NhdGlvbiwgaW50IHN0bXRfbGVuKTsK KyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogCitleHRlcm4gT2lkCUNyZWF0ZVNjaGVt YUNvbW1hbmQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTY2hlbWFTdG10ICpzdG10LCBpbnQg c3RtdF9sb2NhdGlvbiwgaW50IHN0bXRfbGVuKTsKIGV4dGVybiBPYmplY3RBZGRyZXNzIFJlbmFt ZVNjaGVtYShjb25zdCBjaGFyICpvbGRuYW1lLCBjb25zdCBjaGFyICpuZXduYW1lKTsKIGV4dGVy biBPYmplY3RBZGRyZXNzIEFsdGVyU2NoZW1hT3duZXIoY29uc3QgY2hhciAqbmFtZSwgT2lkIG5l d093bmVySWQpOwogZXh0ZXJuIHZvaWQgQWx0ZXJTY2hlbWFPd25lcl9vaWQoT2lkIHNjaGVtYW9p ZCwgT2lkIG5ld093bmVySWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNl X3V0aWxjbWQuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKaW5kZXggNDk2 NWZhYzQ0OTUuLmQxNTFiYmEwM2ViIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFy c2VfdXRpbGNtZC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKQEAg LTMwLDcgKzMwLDggQEAgZXh0ZXJuIENyZWF0ZVN0YXRzU3RtdCAqdHJhbnNmb3JtU3RhdHNTdG10 KE9pZCByZWxpZCwgQ3JlYXRlU3RhdHNTdG10ICpzdG10LAogCQkJCQkJCQkJCSAgIGNvbnN0IGNo YXIgKnF1ZXJ5U3RyaW5nKTsKIGV4dGVybiB2b2lkIHRyYW5zZm9ybVJ1bGVTdG10KFJ1bGVTdG10 ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZywKIAkJCQkJCQkgIExpc3QgKiphY3Rpb25z LCBOb2RlICoqd2hlcmVDbGF1c2UpOwotZXh0ZXJuIExpc3QgKnRyYW5zZm9ybUNyZWF0ZVNjaGVt YVN0bXRFbGVtZW50cyhMaXN0ICpzY2hlbWFFbHRzLAorZXh0ZXJuIExpc3QgKnRyYW5zZm9ybUNy ZWF0ZVNjaGVtYVN0bXRFbGVtZW50cyhQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkJCQkJCQkJCSAg IExpc3QgKnNjaGVtYUVsdHMsCiAJCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUp OwogZXh0ZXJuIFBhcnRpdGlvbkJvdW5kU3BlYyAqdHJhbnNmb3JtUGFydGl0aW9uQm91bmQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBSZWxhdGlvbiBwYXJlbnQsCiAJCQkJCQkJCQkJCQkgICBQYXJ0aXRp b25Cb3VuZFNwZWMgKnNwZWMpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfc2NoZW1hLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Nj aGVtYS5vdXQKaW5kZXggOTMzMDJhMDdlZmMuLjM4NTMwYzI4MmE5IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKQEAgLTksNTUgKzksOTIgQEAgQ1JFQVRF IFJPTEUgcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUgU1VQRVJVU0VSOwogQ1JFQVRFIFNDSEVN QSBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlCiAgIENSRUFURSBTRVFV RU5DRSBzY2hlbWFfbm90X2V4aXN0aW5nLnNlcTsKIEVSUk9SOiAgQ1JFQVRFIHNwZWNpZmllcyBh IHNjaGVtYSAoc2NoZW1hX25vdF9leGlzdGluZykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWlu ZyBjcmVhdGVkIChyZWdyZXNzX2NyZWF0ZV9zY2hlbWFfcm9sZSkKK0xJTkUgMjogICBDUkVBVEUg U0VRVUVOQ0Ugc2NoZW1hX25vdF9leGlzdGluZy5zZXE7CisgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KIENSRUFURSBTQ0hFTUEgQVVUSE9SSVpBVElPTiByZWdyZXNzX2NyZWF0ZV9zY2hlbWFf cm9sZQogICBDUkVBVEUgVEFCTEUgc2NoZW1hX25vdF9leGlzdGluZy50YWIgKGlkIGludCk7CiBF UlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHNjaGVtYV9ub3RfZXhpc3RpbmcpIGRp ZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19jcmVhdGVfc2NoZW1h X3JvbGUpCitMSU5FIDI6ICAgQ1JFQVRFIFRBQkxFIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiIChp ZCBpbnQpOworICAgICAgICAgICAgICAgICAgICAgICBeCiBDUkVBVEUgU0NIRU1BIEFVVEhPUkla QVRJT04gcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUKICAgQ1JFQVRFIFZJRVcgc2NoZW1hX25v dF9leGlzdGluZy52aWV3IEFTIFNFTEVDVCAxOwogRVJST1I6ICBDUkVBVEUgc3BlY2lmaWVzIGEg c2NoZW1hIChzY2hlbWFfbm90X2V4aXN0aW5nKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJlaW5n IGNyZWF0ZWQgKHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlKQorTElORSAyOiAgIENSRUFURSBW SUVXIHNjaGVtYV9ub3RfZXhpc3RpbmcudmlldyBBUyBTRUxFQ1QgMTsKKyAgICAgICAgICAgICAg ICAgICAgICBeCiBDUkVBVEUgU0NIRU1BIEFVVEhPUklaQVRJT04gcmVncmVzc19jcmVhdGVfc2No ZW1hX3JvbGUKICAgQ1JFQVRFIElOREVYIE9OIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiIChpZCk7 CiBFUlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHNjaGVtYV9ub3RfZXhpc3Rpbmcp IGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19jcmVhdGVfc2No ZW1hX3JvbGUpCitMSU5FIDI6ICAgQ1JFQVRFIElOREVYIE9OIHNjaGVtYV9ub3RfZXhpc3Rpbmcu dGFiIChpZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIF4KIENSRUFURSBTQ0hFTUEgQVVU SE9SSVpBVElPTiByZWdyZXNzX2NyZWF0ZV9zY2hlbWFfcm9sZQogICBDUkVBVEUgVFJJR0dFUiBz Y2hlbWFfdHJpZyBCRUZPUkUgSU5TRVJUIE9OIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiCiAgIEVY RUNVVEUgRlVOQ1RJT04gc2NoZW1hX3RyaWcubm9fZnVuYygpOwogRVJST1I6ICBDUkVBVEUgc3Bl Y2lmaWVzIGEgc2NoZW1hIChzY2hlbWFfbm90X2V4aXN0aW5nKSBkaWZmZXJlbnQgZnJvbSB0aGUg b25lIGJlaW5nIGNyZWF0ZWQgKHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlKQorTElORSAyOiAg IENSRUFURSBUUklHR0VSIHNjaGVtYV90cmlnIEJFRk9SRSBJTlNFUlQgT04gc2NoZW1hX25vdF9l eGkuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KIC0tIEFnYWluLCB3aXRoIGEgcm9sZSBzcGVjaWZpY2F0aW9uIGFuZCBubyBzY2hlbWEg bmFtZXMuCiBTRVQgUk9MRSByZWdyZXNzX2NyZWF0ZV9zY2hlbWFfcm9sZTsKIENSRUFURSBTQ0hF TUEgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKICAgQ1JFQVRFIFNFUVVFTkNFIHNjaGVtYV9u b3RfZXhpc3Rpbmcuc2VxOwogRVJST1I6ICBDUkVBVEUgc3BlY2lmaWVzIGEgc2NoZW1hIChzY2hl bWFfbm90X2V4aXN0aW5nKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJlaW5nIGNyZWF0ZWQgKHJl Z3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlKQorTElORSAyOiAgIENSRUFURSBTRVFVRU5DRSBzY2hl bWFfbm90X2V4aXN0aW5nLnNlcTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXgogQ1JFQVRF IFNDSEVNQSBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQogICBDUkVBVEUgVEFCTEUgc2NoZW1h X25vdF9leGlzdGluZy50YWIgKGlkIGludCk7CiBFUlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBz Y2hlbWEgKHNjaGVtYV9ub3RfZXhpc3RpbmcpIGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcg Y3JlYXRlZCAocmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUpCitMSU5FIDI6ICAgQ1JFQVRFIFRB QkxFIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiIChpZCBpbnQpOworICAgICAgICAgICAgICAgICAg ICAgICBeCiBDUkVBVEUgU0NIRU1BIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCiAgIENSRUFU RSBWSUVXIHNjaGVtYV9ub3RfZXhpc3RpbmcudmlldyBBUyBTRUxFQ1QgMTsKIEVSUk9SOiAgQ1JF QVRFIHNwZWNpZmllcyBhIHNjaGVtYSAoc2NoZW1hX25vdF9leGlzdGluZykgZGlmZmVyZW50IGZy b20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX2NyZWF0ZV9zY2hlbWFfcm9sZSkKK0xJ TkUgMjogICBDUkVBVEUgVklFVyBzY2hlbWFfbm90X2V4aXN0aW5nLnZpZXcgQVMgU0VMRUNUIDE7 CisgICAgICAgICAgICAgICAgICAgICAgXgogQ1JFQVRFIFNDSEVNQSBBVVRIT1JJWkFUSU9OIENV UlJFTlRfUk9MRQogICBDUkVBVEUgSU5ERVggT04gc2NoZW1hX25vdF9leGlzdGluZy50YWIgKGlk KTsKIEVSUk9SOiAgQ1JFQVRFIHNwZWNpZmllcyBhIHNjaGVtYSAoc2NoZW1hX25vdF9leGlzdGlu ZykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX2NyZWF0ZV9z Y2hlbWFfcm9sZSkKK0xJTkUgMjogICBDUkVBVEUgSU5ERVggT04gc2NoZW1hX25vdF9leGlzdGlu Zy50YWIgKGlkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXgogQ1JFQVRFIFNDSEVNQSBB VVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQogICBDUkVBVEUgVFJJR0dFUiBzY2hlbWFfdHJpZyBC RUZPUkUgSU5TRVJUIE9OIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiCiAgIEVYRUNVVEUgRlVOQ1RJ T04gc2NoZW1hX3RyaWcubm9fZnVuYygpOwogRVJST1I6ICBDUkVBVEUgc3BlY2lmaWVzIGEgc2No ZW1hIChzY2hlbWFfbm90X2V4aXN0aW5nKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJlaW5nIGNy ZWF0ZWQgKHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlKQorTElORSAyOiAgIENSRUFURSBUUklH R0VSIHNjaGVtYV90cmlnIEJFRk9SRSBJTlNFUlQgT04gc2NoZW1hX25vdF9leGkuLi4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KIC0tIEFn YWluLCB3aXRoIGEgc2NoZW1hIG5hbWUgYW5kIGEgcm9sZSBzcGVjaWZpY2F0aW9uLgogQ1JFQVRF IFNDSEVNQSByZWdyZXNzX3NjaGVtYV8xIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCiAgIENS RUFURSBTRVFVRU5DRSBzY2hlbWFfbm90X2V4aXN0aW5nLnNlcTsKIEVSUk9SOiAgQ1JFQVRFIHNw ZWNpZmllcyBhIHNjaGVtYSAoc2NoZW1hX25vdF9leGlzdGluZykgZGlmZmVyZW50IGZyb20gdGhl IG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8xKQorTElORSAyOiAgIENSRUFURSBT RVFVRU5DRSBzY2hlbWFfbm90X2V4aXN0aW5nLnNlcTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgXgogQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8xIEFVVEhPUklaQVRJT04gQ1VSUkVO VF9ST0xFCiAgIENSRUFURSBUQUJMRSBzY2hlbWFfbm90X2V4aXN0aW5nLnRhYiAoaWQgaW50KTsK IEVSUk9SOiAgQ1JFQVRFIHNwZWNpZmllcyBhIHNjaGVtYSAoc2NoZW1hX25vdF9leGlzdGluZykg ZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8xKQor TElORSAyOiAgIENSRUFURSBUQUJMRSBzY2hlbWFfbm90X2V4aXN0aW5nLnRhYiAoaWQgaW50KTsK KyAgICAgICAgICAgICAgICAgICAgICAgXgogQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8x IEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCiAgIENSRUFURSBWSUVXIHNjaGVtYV9ub3RfZXhp c3RpbmcudmlldyBBUyBTRUxFQ1QgMTsKIEVSUk9SOiAgQ1JFQVRFIHNwZWNpZmllcyBhIHNjaGVt YSAoc2NoZW1hX25vdF9leGlzdGluZykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVh dGVkIChyZWdyZXNzX3NjaGVtYV8xKQorTElORSAyOiAgIENSRUFURSBWSUVXIHNjaGVtYV9ub3Rf ZXhpc3RpbmcudmlldyBBUyBTRUxFQ1QgMTsKKyAgICAgICAgICAgICAgICAgICAgICBeCiBDUkVB VEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKICAg Q1JFQVRFIElOREVYIE9OIHNjaGVtYV9ub3RfZXhpc3RpbmcudGFiIChpZCk7CiBFUlJPUjogIENS RUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHNjaGVtYV9ub3RfZXhpc3RpbmcpIGRpZmZlcmVudCBm cm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19zY2hlbWFfMSkKK0xJTkUgMjogICBD UkVBVEUgSU5ERVggT04gc2NoZW1hX25vdF9leGlzdGluZy50YWIgKGlkKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgXgogQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8xIEFVVEhPUkla QVRJT04gQ1VSUkVOVF9ST0xFCiAgIENSRUFURSBUUklHR0VSIHNjaGVtYV90cmlnIEJFRk9SRSBJ TlNFUlQgT04gc2NoZW1hX25vdF9leGlzdGluZy50YWIKICAgRVhFQ1VURSBGVU5DVElPTiBzY2hl bWFfdHJpZy5ub19mdW5jKCk7CiBFUlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHNj aGVtYV9ub3RfZXhpc3RpbmcpIGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAo cmVncmVzc19zY2hlbWFfMSkKK0xJTkUgMjogICBDUkVBVEUgVFJJR0dFUiBzY2hlbWFfdHJpZyBC RUZPUkUgSU5TRVJUIE9OIHNjaGVtYV9ub3RfZXhpLi4uCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBSRVNFVCBST0xFOworLS1lcnJvci4g Rm9yd2FyZCByZWZlcmVuY2UgaXMgbm90IGFsbG93ZWQuCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nf c2NoZW1hXzIKKyAgQ1JFQVRFIFZJRVcgYWJjZF92aWV3IEFTIFNFTEVDVCBhIEZST00gYWJjZAor ICBDUkVBVEUgVEFCTEUgYWJjZCAoYSBpbnQpOworRVJST1I6ICByZWxhdGlvbiAiYWJjZCIgZG9l cyBub3QgZXhpc3QKK0xJTkUgMjogICBDUkVBVEUgVklFVyBhYmNkX3ZpZXcgQVMgU0VMRUNUIGEg RlJPTSBhYmNkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgogLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVhdGlvbiBzdWNjZWVkcy4KIC0tIFRo ZSBzY2hlbWEgY3JlYXRlZCBtYXRjaGVzIHRoZSByb2xlIG5hbWUuCiBDUkVBVEUgU0NIRU1BIEFV VEhPUklaQVRJT04gcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3ZpZXcub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9jcmVhdGVfdmlldy5vdXQKaW5kZXggYmM0Zjc5OTM4YjMuLjYzY2Y0YjQzNzFkIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV92aWV3Lm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV92aWV3Lm91dApAQCAtMTI4LDYgKzEy OCw4IEBAIEVSUk9SOiAgY2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgcmVsYXRpb24gaW4gbm9uLXRl bXBvcmFyeSBzY2hlbWEKIENSRUFURSBTQ0hFTUEgdGVzdF92aWV3X3NjaGVtYQogICAgIENSRUFU RSBURU1QIFZJRVcgdGVzdHZpZXcgQVMgU0VMRUNUIDE7CiBFUlJPUjogIGNhbm5vdCBjcmVhdGUg dGVtcG9yYXJ5IHJlbGF0aW9uIGluIG5vbi10ZW1wb3Jhcnkgc2NoZW1hCitMSU5FIDI6ICAgICBD UkVBVEUgVEVNUCBWSUVXIHRlc3R2aWV3IEFTIFNFTEVDVCAxOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCiAtLSBqb2luczogaWYgYW55IG9mIHRoZSBqb2luIHJlbGF0aW9ucyBhcmUg dGVtcG9yYXJ5LCB0aGUgdmlldwogLS0gc2hvdWxkIGFsc28gYmUgdGVtcG9yYXJ5CiAtLSBzaG91 bGQgYmUgbm9uLXRlbXAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZXZl bnRfdHJpZ2dlci5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2V2ZW50X3RyaWdnZXIu b3V0CmluZGV4IDE2ZTQ1MzA3MDhjLi40YTdmZDJiYzU5YSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ldmVudF90cmlnZ2VyLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2V2ZW50X3RyaWdnZXIub3V0CkBAIC00MjQsMTIgKzQyNCwxMiBAQCBOT1RJQ0U6 ICBFTkQ6IGNvbW1hbmRfdGFnPUNSRUFURSBUQUJMRSB0eXBlPXRhYmxlIGlkZW50aXR5PWV2dHRy aWcub25lCiBOT1RJQ0U6ICBFTkQ6IGNvbW1hbmRfdGFnPUNSRUFURSBJTkRFWCB0eXBlPWluZGV4 IGlkZW50aXR5PWV2dHRyaWcub25lX3BrZXkKIE5PVElDRTogIEVORDogY29tbWFuZF90YWc9QUxU RVIgU0VRVUVOQ0UgdHlwZT1zZXF1ZW5jZSBpZGVudGl0eT1ldnR0cmlnLm9uZV9jb2xfYV9zZXEK IE5PVElDRTogIEVORDogY29tbWFuZF90YWc9QUxURVIgU0VRVUVOQ0UgdHlwZT1zZXF1ZW5jZSBp ZGVudGl0eT1ldnR0cmlnLm9uZV9jb2xfY19zZXEKK05PVElDRTogIEVORDogY29tbWFuZF90YWc9 Q1JFQVRFIElOREVYIHR5cGU9aW5kZXggaWRlbnRpdHk9ZXZ0dHJpZy5vbmVfaWR4CiBOT1RJQ0U6 ICBFTkQ6IGNvbW1hbmRfdGFnPUNSRUFURSBUQUJMRSB0eXBlPXRhYmxlIGlkZW50aXR5PWV2dHRy aWcudHdvCiBOT1RJQ0U6ICBFTkQ6IGNvbW1hbmRfdGFnPUFMVEVSIFRBQkxFIHR5cGU9dGFibGUg aWRlbnRpdHk9ZXZ0dHJpZy50d28KIE5PVElDRTogIEVORDogY29tbWFuZF90YWc9Q1JFQVRFIFNF UVVFTkNFIHR5cGU9c2VxdWVuY2UgaWRlbnRpdHk9ZXZ0dHJpZy5pZF9jb2xfZF9zZXEKIE5PVElD RTogIEVORDogY29tbWFuZF90YWc9Q1JFQVRFIFRBQkxFIHR5cGU9dGFibGUgaWRlbnRpdHk9ZXZ0 dHJpZy5pZAogTk9USUNFOiAgRU5EOiBjb21tYW5kX3RhZz1BTFRFUiBTRVFVRU5DRSB0eXBlPXNl cXVlbmNlIGlkZW50aXR5PWV2dHRyaWcuaWRfY29sX2Rfc2VxCi1OT1RJQ0U6ICBFTkQ6IGNvbW1h bmRfdGFnPUNSRUFURSBJTkRFWCB0eXBlPWluZGV4IGlkZW50aXR5PWV2dHRyaWcub25lX2lkeAog LS0gUGFydGl0aW9uZWQgdGFibGVzIHdpdGggYSBwYXJ0aXRpb25lZCBpbmRleAogQ1JFQVRFIFRB QkxFIGV2dHRyaWcucGFydGVkICgKICAgICBpZCBpbnQgUFJJTUFSWSBLRVkpCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25hbWVzcGFjZS5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL25hbWVzcGFjZS5vdXQKaW5kZXggZGJiZGE3MmQzOTUuLmQwMmYzZmQ2N2Q3 IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25hbWVzcGFjZS5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9uYW1lc3BhY2Uub3V0CkBAIC0xMCwxMyArMTAs MTAgQEAgU0VMRUNUIHBnX2NhdGFsb2cuc2V0X2NvbmZpZygnc2VhcmNoX3BhdGgnLCAnICcsIGZh bHNlKTsKICgxIHJvdykKIAogQ1JFQVRFIFNDSEVNQSB0ZXN0X25zX3NjaGVtYV8xCisgICAgICAg Q1JFQVRFIFRBQkxFIGFiYyAoYSBzZXJpYWwsIGIgaW50IFVOSVFVRSkKICAgICAgICBDUkVBVEUg VU5JUVVFIElOREVYIGFiY19hX2lkeCBPTiBhYmMgKGEpCiAgICAgICAgQ1JFQVRFIFZJRVcgYWJj X3ZpZXcgQVMKLSAgICAgICAgICAgICAgU0VMRUNUIGErMSBBUyBhLCBiKzEgQVMgYiBGUk9NIGFi YwotICAgICAgIENSRUFURSBUQUJMRSBhYmMgKAotICAgICAgICAgICAgICBhIHNlcmlhbCwKLSAg ICAgICAgICAgICAgYiBpbnQgVU5JUVVFCi0gICAgICAgKTsKKyAgICAgICAgICAgICAgU0VMRUNU IGErMSBBUyBhLCBiKzEgQVMgYiBGUk9NIGFiYzsKIC0tIHZlcmlmeSB0aGF0IHRoZSBjb3JyZWN0 IHNlYXJjaF9wYXRoIHJlc3RvcmVkIG9uIGFib3J0CiBTRVQgc2VhcmNoX3BhdGggdG8gcHVibGlj OwogQkVHSU47CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1h LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCmluZGV4IDFiNzA2 NDI0N2ExLi5iM2RjMWNmZDc1OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3Jl YXRlX3NjaGVtYS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5z cWwKQEAgLTQ3LDYgKzQ3LDExIEBAIENSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMSBBVVRI T1JJWkFUSU9OIENVUlJFTlRfUk9MRQogICBFWEVDVVRFIEZVTkNUSU9OIHNjaGVtYV90cmlnLm5v X2Z1bmMoKTsKIFJFU0VUIFJPTEU7CiAKKy0tZXJyb3IuIEZvcndhcmQgcmVmZXJlbmNlIGlzIG5v dCBhbGxvd2VkLgorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yCisgIENSRUFURSBWSUVX IGFiY2RfdmlldyBBUyBTRUxFQ1QgYSBGUk9NIGFiY2QKKyAgQ1JFQVRFIFRBQkxFIGFiY2QgKGEg aW50KTsKKwogLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVhdGlvbiBzdWNjZWVkcy4KIC0t IFRoZSBzY2hlbWEgY3JlYXRlZCBtYXRjaGVzIHRoZSByb2xlIG5hbWUuCiBDUkVBVEUgU0NIRU1B IEFVVEhPUklaQVRJT04gcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL25hbWVzcGFjZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9u YW1lc3BhY2Uuc3FsCmluZGV4IDMwNmNkYzJkOGM2Li45NDMzZWIzYzE1YyAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvbmFtZXNwYWNlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC9uYW1lc3BhY2Uuc3FsCkBAIC03LDE1ICs3LDExIEBACiBTRUxFQ1QgcGdfY2F0YWxvZy5z ZXRfY29uZmlnKCdzZWFyY2hfcGF0aCcsICcgJywgZmFsc2UpOwogCiBDUkVBVEUgU0NIRU1BIHRl c3RfbnNfc2NoZW1hXzEKKyAgICAgICBDUkVBVEUgVEFCTEUgYWJjIChhIHNlcmlhbCwgYiBpbnQg VU5JUVVFKQogICAgICAgIENSRUFURSBVTklRVUUgSU5ERVggYWJjX2FfaWR4IE9OIGFiYyAoYSkK IAogICAgICAgIENSRUFURSBWSUVXIGFiY192aWV3IEFTCi0gICAgICAgICAgICAgIFNFTEVDVCBh KzEgQVMgYSwgYisxIEFTIGIgRlJPTSBhYmMKLQotICAgICAgIENSRUFURSBUQUJMRSBhYmMgKAot ICAgICAgICAgICAgICBhIHNlcmlhbCwKLSAgICAgICAgICAgICAgYiBpbnQgVU5JUVVFCi0gICAg ICAgKTsKKyAgICAgICAgICAgICAgU0VMRUNUIGErMSBBUyBhLCBiKzEgQVMgYiBGUk9NIGFiYzsK IAogLS0gdmVyaWZ5IHRoYXQgdGhlIGNvcnJlY3Qgc2VhcmNoX3BhdGggcmVzdG9yZWQgb24gYWJv cnQKIFNFVCBzZWFyY2hfcGF0aCB0byBwdWJsaWM7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0Cmlu ZGV4IGNlYjNmYzVkOTgwLi5iZTU4OGJkMDFlNCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5k ZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QK QEAgLTU2OSw3ICs1NjksNiBAQCBDcmVhdGVSYW5nZVN0bXQKIENyZWF0ZVJlcGxpY2F0aW9uU2xv dENtZAogQ3JlYXRlUm9sZVN0bXQKIENyZWF0ZVNjaGVtYVN0bXQKLUNyZWF0ZVNjaGVtYVN0bXRD b250ZXh0CiBDcmVhdGVTZXFTdG10CiBDcmVhdGVTdGF0c1N0bXQKIENyZWF0ZVN0bXQKLS0gCjIu MzQuMQoK --0000000000000685b10647359391 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0005-CREATE-SCHEMA-foreign-key-executed-at-the-end.patch" Content-Disposition: attachment; filename="v8-0005-CREATE-SCHEMA-foreign-key-executed-at-the-end.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjtcmzly0 RnJvbSA4YTUwNGE5NDg0MTJiYTExYmExNTRkOTg2NzYzMTg5ODNhMDBjZmNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMzEgRGVjIDIwMjUgMDk6Mzc6NTMgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDUvNV0gQ1JFQVRFIFNDSEVNQSBmb3JlaWduIGtleSBleGVjdXRlZCBhdCB0aGUgZW5kCgpXaGVu IGEgQ1JFQVRFIFRBQkxFIHN1YmNvbW1hbmQgaW5jbHVkZXMgYSBGT1JFSUdOIEtFWSBjbGF1c2Us IHRyYW5zZm9ybSB0aGF0CmNsYXVzZSBpbnRvIEFMVEVSIFRBQkxFIEFERCBGT1JFSUdOIEtFWSwg YW5kIHB1c2ggaXQgdG8gdGhlIGJhY2sgb2YgdGhlIENSRUFURQpTQ0hFTUEncyB0by1kbyBsaXN0 LgoKRm9yIENSRUFURSBTQ0hFTUEsIGFsbCBzdWJjb21tYW5kcyBhcmUgZXhlY3V0ZWQgaW4gdGhl IG9yZGVyIHRoZXkgYXJlIHNwZWNpZmllZC4KSG93ZXZlciwgdG8gc3VwcG9ydCBjcm9zcy1yZWZl cmVuY2VkIGZvcmVpZ24ga2V5cywgd2UgdHJhbnNmb3JtIGZvcmVpZ24ga2V5CmNvbnN0cmFpbnQg ZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBBTFRFUiBUQUJMRSAuLi4gQUREIEZPUkVJR04gS0VZ IGNvbW1hbmRzCmFuZCBhcHBlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZSBDUkVBVEUgU0NIRU1B IGV4ZWN1dGlvbiBzZXF1ZW5jZS4KCkFsbCBDUkVBVEUgVEFCTEUgY29tbWFuZHMgYXJlIGV4ZWN1 dGVkIGZpcnN0LCBzbyBzdWJzZXF1ZW50IEFMVEVSIFRBQkxFIC4uLiBBREQKRk9SRUlHTiBLRVkg c3RhdGVtZW50cyB3aWxsIG5vdCBlbmNvdW50ZXIgYW55IGNvbmZsaWN0cy4KCkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vMTA3NTQyNS4xNzMyOTkzNjg4QHNzcy5wZ2gucGEudXMKLS0t CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zY2hlbWFjbWRzLmMgICAgICAgICAgIHwgMTM0ICsrKysr KysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAg ICAgIHwgIDM2ICsrKy0tLQogc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaCAgICAg ICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0 IHwgIDgzICsrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ldmVudF90cmln Z2VyLm91dCB8ICAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwg ICAgICB8ICAzNiArKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMjcyIGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3NjaGVtYWNt ZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3NjaGVtYWNtZHMuYwppbmRleCAwOTkyOGM1OGQ5 ZC4uOGMzMjU2MzFhYmYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3NjaGVtYWNt ZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zY2hlbWFjbWRzLmMKQEAgLTE5OCw2ICsx OTgsMTQwIEBAIENyZWF0ZVNjaGVtYUNvbW1hbmQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVT Y2hlbWFTdG10ICpzdG10LAogCQkJCQkJCQkJCQkJCSAgIHN0bXQtPnNjaGVtYUVsdHMsCiAJCQkJ CQkJCQkJCQkJICAgc2NoZW1hTmFtZSk7CiAKKwkvKgorCSAqIFJlb3JkZXIgdGhlIGxpc3Qgb2Yg Y29tbWFuZHMgZW1iZWRkZWQgaW4gdGhlIENSRUFURSBTQ0hFTUEgc3RhdGVtZW50LgorCSAqIFdl IG9ubHkgZG8gdGhpcyBmb3IgZm9yZWlnbiBrZXlzLiBGb3JlaWduIGtleSBhcmUgdHJhbnNmb3Jt ZWQgaW50bworCSAqIEFMVEVSIFRBQkxFIC4uLiBBREQgRk9SRUlHTiBLRVkgY29tbWFuZHMgYW5k IG1vdmVkIHRvIHRoZSBlbmQgb2YgdGhlCisJICogQ1JFQVRFIFNDSEVNQSB0by1kbyBsaXN0IChw YXJzZXRyZWVfbGlzdCkuCisJICoKKwkgKiBBdCB0aGUgc2FtZSB0aW1lLCB0aGUgb3JpZ2luYWwg Zm9yZWlnbiBrZXkgQ29uc3RyYWludCBub2RlcyB3aWxsIGJlCisJICogcmVtb3ZlZCBmcm9tIHRo ZSBDcmVhdGVTdG10LCBzaW5jZSB0aGV5IGhhdmUgYWxyZWFkeSBiZWVuIGNvbnZlcnRlZAorCSAq IGludG8gQWx0ZXJUYWJsZUNtZHMuIE5vIHBhcnNlIGFuYWx5c2lzIGlzIHJlcXVpcmVkIGZvciB0 aGUgb3JpZ2luYWwKKwkgKiBmb3JlaWduIGtleSBjb25zdHJhaW50IG5vZGVzOiBzaW5jZSBleHBy ZXNzaW9ucyBhcmUgbm90IGFsbG93ZWQgaW4KKwkgKiBmb3JlaWduIGtleSBjb25zdHJhaW50cy4K KwkgKgorCSAqIFNlZSBhbHNvIHRyYW5zZm9ybUZLQ29uc3RyYWludHMgYW5kIHRyYW5zZm9ybUNv bnN0cmFpbnRBdHRycy4KKwkgKi8KKwlmb3JlYWNoKHBhcnNldHJlZV9pdGVtLCBwYXJzZXRyZWVf bGlzdCkKKwl7CisJCUxpc3RDZWxsICAgKmVsZW1lbnRzOworCQlDcmVhdGVTdG10ICpjc3N0bXQ7 CisKKwkJTm9kZQkgICAqc3RtdCA9IChOb2RlICopIGxmaXJzdChwYXJzZXRyZWVfaXRlbSk7CisK KwkJaWYgKCFJc0Eoc3RtdCwgQ3JlYXRlU3RtdCkpCisJCQljb250aW51ZTsKKworCQljc3N0bXQg PSBjYXN0Tm9kZShDcmVhdGVTdG10LCBzdG10KTsKKworCQlmb3JlYWNoKGVsZW1lbnRzLCBjc3N0 bXQtPnRhYmxlRWx0cykKKwkJeworCQkJQ29sdW1uRGVmICAqZW50cnk7CisJCQlDb25zdHJhaW50 ICpjb25zdHI7CisJCQlBbHRlclRhYmxlU3RtdCAqYWx0ZXJzdG10OworCQkJQWx0ZXJUYWJsZUNt ZCAqYWx0ZXJjbWQ7CisKKwkJCU5vZGUJICAgKmVsZW1lbnQgPSBsZmlyc3QoZWxlbWVudHMpOwor CisJCQlpZiAoSXNBKGVsZW1lbnQsIENvbnN0cmFpbnQpKQorCQkJeworCQkJCWNvbnN0ciA9IGNh c3ROb2RlKENvbnN0cmFpbnQsIGVsZW1lbnQpOworCisJCQkJaWYgKGNvbnN0ci0+Y29udHlwZSAh PSBDT05TVFJfRk9SRUlHTikKKwkJCQkJY29udGludWU7CisKKwkJCQlhbHRlcnN0bXQgPSBtYWtl Tm9kZShBbHRlclRhYmxlU3RtdCk7CisJCQkJYWx0ZXJzdG10LT5yZWxhdGlvbiA9IGNvcHlPYmpl Y3QoY3NzdG10LT5yZWxhdGlvbik7CisJCQkJYWx0ZXJzdG10LT5jbWRzID0gTklMOworCQkJCWFs dGVyc3RtdC0+b2JqdHlwZSA9IE9CSkVDVF9UQUJMRTsKKworCQkJCWFsdGVyY21kID0gbWFrZU5v ZGUoQWx0ZXJUYWJsZUNtZCk7CisJCQkJYWx0ZXJjbWQtPnN1YnR5cGUgPSBBVF9BZGRDb25zdHJh aW50OworCQkJCWFsdGVyY21kLT5uYW1lID0gTlVMTDsKKwkJCQlhbHRlcmNtZC0+ZGVmID0gKE5v ZGUgKikgY29weU9iamVjdChjb25zdHIpOworCisJCQkJYWx0ZXJzdG10LT5jbWRzID0gbGFwcGVu ZChhbHRlcnN0bXQtPmNtZHMsIGFsdGVyY21kKTsKKworCQkJCS8qCisJCQkJICogVGhlIGZvcmVp Z24ga2V5IGhhcyBhbHJlYWR5IGJlZW4gdHJhbnNmb3JtZWQgaW50byBhbgorCQkJCSAqIEFsdGVy VGFibGVDbWQ7IHJlbW92ZSB0aGUgb3JpZ2luYWwgZW50cnkgZnJvbQorCQkJCSAqIENyZWF0ZVN0 bXQudGFibGVFbHRzLgorCQkJCSAqLworCQkJCWNzc3RtdC0+dGFibGVFbHRzID0gZm9yZWFjaF9k ZWxldGVfY3VycmVudChjc3N0bXQtPnRhYmxlRWx0cywKKwkJCQkJCQkJCQkJCQkJICAgZWxlbWVu dHMpOworCisJCQkJcGFyc2V0cmVlX2xpc3QgPSBsYXBwZW5kKHBhcnNldHJlZV9saXN0LCBhbHRl cnN0bXQpOworCisJCQkJY29udGludWU7CisJCQl9CisKKwkJCWlmIChJc0EoZWxlbWVudCwgQ29s dW1uRGVmKSkKKwkJCXsKKwkJCQllbnRyeSA9IGNhc3ROb2RlKENvbHVtbkRlZiwgZWxlbWVudCk7 CisKKwkJCQl0cmFuc2Zvcm1Db25zdHJhaW50QXR0cnMocHN0YXRlLCBlbnRyeS0+Y29uc3RyYWlu dHMpOworCisJCQkJZm9yIChpbnQgY29uc3RycG9zID0gMDsgY29uc3RycG9zIDwgbGlzdF9sZW5n dGgoZW50cnktPmNvbnN0cmFpbnRzKTsgY29uc3RycG9zKyspCisJCQkJeworCQkJCQlDb25zdHJh aW50ICpjb2xjb25zdHIgPSBsaXN0X250aF9ub2RlKENvbnN0cmFpbnQsIGVudHJ5LT5jb25zdHJh aW50cywgY29uc3RycG9zKTsKKworCQkJCQlpZiAoY29sY29uc3RyLT5jb250eXBlICE9IENPTlNU Ul9GT1JFSUdOKQorCQkJCQkJY29udGludWU7CisKKwkJCQkJYWx0ZXJzdG10ID0gbWFrZU5vZGUo QWx0ZXJUYWJsZVN0bXQpOworCQkJCQlhbHRlcmNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQp OworCisJCQkJCWNvbGNvbnN0ci0+ZmtfYXR0cnMgPSBsaXN0X21ha2UxKG1ha2VTdHJpbmcoZW50 cnktPmNvbG5hbWUpKTsKKworCQkJCQlhbHRlcnN0bXQtPnJlbGF0aW9uID0gY29weU9iamVjdChj c3N0bXQtPnJlbGF0aW9uKTsKKwkJCQkJYWx0ZXJzdG10LT5jbWRzID0gTklMOworCQkJCQlhbHRl cnN0bXQtPm9ianR5cGUgPSBPQkpFQ1RfVEFCTEU7CisKKwkJCQkJYWx0ZXJjbWQtPnN1YnR5cGUg PSBBVF9BZGRDb25zdHJhaW50OworCQkJCQlhbHRlcmNtZC0+bmFtZSA9IE5VTEw7CisJCQkJCWFs dGVyY21kLT5kZWYgPSAoTm9kZSAqKSBjb3B5T2JqZWN0KGNvbGNvbnN0cik7CisJCQkJCWFsdGVy c3RtdC0+Y21kcyA9IGxhcHBlbmQoYWx0ZXJzdG10LT5jbWRzLCBhbHRlcmNtZCk7CisKKwkJCQkJ cGFyc2V0cmVlX2xpc3QgPSBsYXBwZW5kKHBhcnNldHJlZV9saXN0LCBhbHRlcnN0bXQpOworCisJ CQkJCS8qCisJCQkJCSAqIENvbHVtbiBjb25zdHJhaW50cyBzZXBhcmF0ZSB0aGUgQ29uc3RyYWlu dCBub2RlIGZyb20KKwkJCQkJICogaXRzIGF0dHJpYnV0ZXM7IGEgZnVsbCBjb2x1bW4tbGV2ZWwg Zm9yZWlnbiBrZXkKKwkJCQkJICogY29uc3RyYWludCBtYXkgYmUgcmVwcmVzZW50ZWQgYnkgbXVs dGlwbGUgQ29uc3RyYWludAorCQkJCQkgKiBub2Rlcy4gQWZ0ZXIgdHJhbnNmb3JtQ29uc3RyYWlu dEF0dHJzLCB0aGUgbWFpbiBmb3JlaWduCisJCQkJCSAqIGtleSBDb25zdHJhaW50IG5vZGUgYWxy ZWFkeSBjb250YWlucyBhbGwgcmVxdWlyZWQKKwkJCQkJICogaW5mb3JtYXRpb24uIFRoZXJlZm9y ZSwgd2hlbiB0aGUgZm9yZWlnbiBrZXkgQ29uc3RyYWludAorCQkJCQkgKiBub2RlIGlzIHJlbW92 ZWQsIHRoZSBhc3NvY2lhdGVkIGF0dHJpYnV0ZSBub2RlcyAod2hpY2gKKwkJCQkJICogYXJlIGFs c28gQ29uc3RyYWludCBub2RlcykgbXVzdCBiZSByZW1vdmVkIGFzIHdlbGwuCisJCQkJCSAqLwor CQkJCQlmb3IgKGludCByZXN0cG9zID0gY29uc3RycG9zICsgMTsgcmVzdHBvcyA8IGxpc3RfbGVu Z3RoKGVudHJ5LT5jb25zdHJhaW50cyk7KQorCQkJCQl7CisJCQkJCQlDb25zdHJhaW50ICpuZXh0 Y29sY29uc3RyID0gbGlzdF9udGhfbm9kZShDb25zdHJhaW50LCBlbnRyeS0+Y29uc3RyYWludHMs IHJlc3Rwb3MpOworCisJCQkJCQlpZiAobmV4dGNvbGNvbnN0ci0+Y29udHlwZSA9PSBDT05TVFJf QVRUUl9ERUZFUlJBQkxFIHx8CisJCQkJCQkJbmV4dGNvbGNvbnN0ci0+Y29udHlwZSA9PSBDT05T VFJfQVRUUl9OT1RfREVGRVJSQUJMRSB8fAorCQkJCQkJCW5leHRjb2xjb25zdHItPmNvbnR5cGUg PT0gQ09OU1RSX0FUVFJfREVGRVJSRUQgfHwKKwkJCQkJCQluZXh0Y29sY29uc3RyLT5jb250eXBl ID09IENPTlNUUl9BVFRSX0lNTUVESUFURSB8fAorCQkJCQkJCW5leHRjb2xjb25zdHItPmNvbnR5 cGUgPT0gQ09OU1RSX0FUVFJfTk9UX0VORk9SQ0VEKQorCQkJCQkJeworCQkJCQkJCWVudHJ5LT5j b25zdHJhaW50cyA9IGxpc3RfZGVsZXRlX250aF9jZWxsKGVudHJ5LT5jb25zdHJhaW50cywgcmVz dHBvcyk7CisJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQkJYnJlYWs7CisJCQkJCX0KKworCQkJ CQllbnRyeS0+Y29uc3RyYWludHMgPSBsaXN0X2RlbGV0ZV9udGhfY2VsbChlbnRyeS0+Y29uc3Ry YWludHMsIGNvbnN0cnBvcyk7CisKKwkJCQkJLyoKKwkJCQkJICogV2UgZGVsZXRlZCBvbmUgQ29u c3RyYWludCBub2RlLCBzbyB3ZSBhbHNvIG5lZWQgdXBkYXRlCisJCQkJCSAqIGNvbnN0cnBvcwor CQkJCQkgKi8KKwkJCQkJY29uc3RycG9zID0gY29uc3RycG9zIC0gMTsKKwkJCQl9CisJCQl9CisJ CX0KKwl9CisKIAkvKgogCSAqIEV4ZWN1dGUgZWFjaCBjb21tYW5kIGNvbnRhaW5lZCBpbiB0aGUg Q1JFQVRFIFNDSEVNQS4gIFNpbmNlIHRoZSBncmFtbWFyCiAJICogYWxsb3dzIG9ubHkgdXRpbGl0 eSBjb21tYW5kcyBpbiBDUkVBVEUgU0NIRU1BLCB0aGVyZSBpcyBubyBuZWVkIHRvIHBhc3MKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IGMyYThhZmVkYjNlLi40MzYzZGYyYWZhZiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0xMjIsOCArMTIyLDYgQEAgc3RhdGlj IHZvaWQgdHJhbnNmb3JtRktDb25zdHJhaW50cyhDcmVhdGVTdG10Q29udGV4dCAqY3h0LAogCQkJ CQkJCQkgICBib29sIGlzQWRkQ29uc3RyYWludCk7CiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1DaGVj a0NvbnN0cmFpbnRzKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCiAJCQkJCQkJCQkgIGJvb2wgc2tp cFZhbGlkYXRpb24pOwotc3RhdGljIHZvaWQgdHJhbnNmb3JtQ29uc3RyYWludEF0dHJzKENyZWF0 ZVN0bXRDb250ZXh0ICpjeHQsCi0JCQkJCQkJCQkgTGlzdCAqY29uc3RyYWludExpc3QpOwogc3Rh dGljIHZvaWQgdHJhbnNmb3JtQ29sdW1uVHlwZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBDb2x1 bW5EZWYgKmNvbHVtbik7CiBzdGF0aWMgdm9pZCBjaGVja1NjaGVtYU5hbWUoUGFyc2VTdGF0ZSAq cHN0YXRlLCBjb25zdCBjaGFyICpjb250ZXh0X3NjaGVtYSwKIAkJCQkJCQlSYW5nZVZhciAqcmVs YXRpb24pOwpAQCAtNjkzLDcgKzY5MSw3IEBAIHRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4pCiAJfQogCiAJLyogUHJvY2Vz cyBjb2x1bW4gY29uc3RyYWludHMsIGlmIGFueS4uLiAqLwotCXRyYW5zZm9ybUNvbnN0cmFpbnRB dHRycyhjeHQsIGNvbHVtbi0+Y29uc3RyYWludHMpOworCXRyYW5zZm9ybUNvbnN0cmFpbnRBdHRy cyhjeHQtPnBzdGF0ZSwgY29sdW1uLT5jb25zdHJhaW50cyk7CiAKIAkvKgogCSAqIEZpcnN0LCBz Y2FuIHRoZSBjb2x1bW4ncyBjb25zdHJhaW50cyB0byBzZWUgaWYgYSBub3QtbnVsbCBjb25zdHJh aW50CkBAIC00MTg5LDggKzQxODcsOCBAQCB0cmFuc2Zvcm1BbHRlclRhYmxlU3RtdChPaWQgcmVs aWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAogICogRVhDTFVTSU9OLCBhbmQgUFJJTUFSWSBLRVkg Y29uc3RyYWludHMsIGJ1dCBzb21lZGF5IHRoZXkgb3VnaHQgdG8gYmUKICAqIHN1cHBvcnRlZCBm b3Igb3RoZXIgY29uc3RyYWludCB0eXBlcy4KICAqLwotc3RhdGljIHZvaWQKLXRyYW5zZm9ybUNv bnN0cmFpbnRBdHRycyhDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBMaXN0ICpjb25zdHJhaW50TGlz dCkKK3ZvaWQKK3RyYW5zZm9ybUNvbnN0cmFpbnRBdHRycyhQYXJzZVN0YXRlICpwc3RhdGUsIExp c3QgKmNvbnN0cmFpbnRMaXN0KQogewogCUNvbnN0cmFpbnQgKmxhc3RwcmltYXJ5Y29uID0gTlVM TDsKIAlib29sCQlzYXdfZGVmZXJyYWJpbGl0eSA9IGZhbHNlOwpAQCAtNDIxOSwxMiArNDIxNywx MiBAQCB0cmFuc2Zvcm1Db25zdHJhaW50QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgTGlz dCAqY29uc3RyYWludExpc3QpCiAJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUo RVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJCQkJCSBlcnJtc2coIm1pc3BsYWNlZCBERUZFUlJB QkxFIGNsYXVzZSIpLAotCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIGNv bi0+bG9jYXRpb24pKSk7CisJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGNvbi0+ bG9jYXRpb24pKSk7CiAJCQkJaWYgKHNhd19kZWZlcnJhYmlsaXR5KQogCQkJCQllcmVwb3J0KEVS Uk9SLAogCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKIAkJCQkJCQkgZXJy bXNnKCJtdWx0aXBsZSBERUZFUlJBQkxFL05PVCBERUZFUlJBQkxFIGNsYXVzZXMgbm90IGFsbG93 ZWQiKSwKLQkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLCBjb24tPmxvY2F0 aW9uKSkpOworCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBjb24tPmxvY2F0aW9u KSkpOwogCQkJCXNhd19kZWZlcnJhYmlsaXR5ID0gdHJ1ZTsKIAkJCQlsYXN0cHJpbWFyeWNvbi0+ ZGVmZXJyYWJsZSA9IHRydWU7CiAJCQkJYnJlYWs7CkBAIC00MjM0LDEyICs0MjMyLDEyIEBAIHRy YW5zZm9ybUNvbnN0cmFpbnRBdHRycyhDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBMaXN0ICpjb25z dHJhaW50TGlzdCkKIAkJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJCQkoZXJyY29kZShFUlJDT0RF X1NZTlRBWF9FUlJPUiksCiAJCQkJCQkJIGVycm1zZygibWlzcGxhY2VkIE5PVCBERUZFUlJBQkxF IGNsYXVzZSIpLAotCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIGNvbi0+ bG9jYXRpb24pKSk7CisJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGNvbi0+bG9j YXRpb24pKSk7CiAJCQkJaWYgKHNhd19kZWZlcnJhYmlsaXR5KQogCQkJCQllcmVwb3J0KEVSUk9S LAogCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKIAkJCQkJCQkgZXJybXNn KCJtdWx0aXBsZSBERUZFUlJBQkxFL05PVCBERUZFUlJBQkxFIGNsYXVzZXMgbm90IGFsbG93ZWQi KSwKLQkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLCBjb24tPmxvY2F0aW9u KSkpOworCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBjb24tPmxvY2F0aW9uKSkp OwogCQkJCXNhd19kZWZlcnJhYmlsaXR5ID0gdHJ1ZTsKIAkJCQlsYXN0cHJpbWFyeWNvbi0+ZGVm ZXJyYWJsZSA9IGZhbHNlOwogCQkJCWlmIChzYXdfaW5pdGlhbGx5ICYmCkBAIC00MjQ3LDcgKzQy NDUsNyBAQCB0cmFuc2Zvcm1Db25zdHJhaW50QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwg TGlzdCAqY29uc3RyYWludExpc3QpCiAJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNv ZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJCQkJCSBlcnJtc2coImNvbnN0cmFpbnQgZGVj bGFyZWQgSU5JVElBTExZIERFRkVSUkVEIG11c3QgYmUgREVGRVJSQUJMRSIpLAotCQkJCQkJCSBw YXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CisJCQkJCQkJ IHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CiAJCQkJYnJlYWs7 CiAKIAkJCWNhc2UgQ09OU1RSX0FUVFJfREVGRVJSRUQ6CkBAIC00MjU1LDEyICs0MjUzLDEyIEBA IHRyYW5zZm9ybUNvbnN0cmFpbnRBdHRycyhDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBMaXN0ICpj b25zdHJhaW50TGlzdCkKIAkJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJCQkoZXJyY29kZShFUlJD T0RFX1NZTlRBWF9FUlJPUiksCiAJCQkJCQkJIGVycm1zZygibWlzcGxhY2VkIElOSVRJQUxMWSBE RUZFUlJFRCBjbGF1c2UiKSwKLQkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRl LCBjb24tPmxvY2F0aW9uKSkpOworCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBj b24tPmxvY2F0aW9uKSkpOwogCQkJCWlmIChzYXdfaW5pdGlhbGx5KQogCQkJCQllcmVwb3J0KEVS Uk9SLAogCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKIAkJCQkJCQkgZXJy bXNnKCJtdWx0aXBsZSBJTklUSUFMTFkgSU1NRURJQVRFL0RFRkVSUkVEIGNsYXVzZXMgbm90IGFs bG93ZWQiKSwKLQkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLCBjb24tPmxv Y2F0aW9uKSkpOworCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBjb24tPmxvY2F0 aW9uKSkpOwogCQkJCXNhd19pbml0aWFsbHkgPSB0cnVlOwogCQkJCWxhc3RwcmltYXJ5Y29uLT5p bml0ZGVmZXJyZWQgPSB0cnVlOwogCkBAIC00MjczLDcgKzQyNzEsNyBAQCB0cmFuc2Zvcm1Db25z dHJhaW50QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgTGlzdCAqY29uc3RyYWludExpc3Qp CiAJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJS T1IpLAogCQkJCQkJCSBlcnJtc2coImNvbnN0cmFpbnQgZGVjbGFyZWQgSU5JVElBTExZIERFRkVS UkVEIG11c3QgYmUgREVGRVJSQUJMRSIpLAotCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24oY3h0 LT5wc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CisJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihw c3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgQ09OU1RSX0FU VFJfSU1NRURJQVRFOgpAQCAtNDI4MSwxMiArNDI3OSwxMiBAQCB0cmFuc2Zvcm1Db25zdHJhaW50 QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgTGlzdCAqY29uc3RyYWludExpc3QpCiAJCQkJ CWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAog CQkJCQkJCSBlcnJtc2coIm1pc3BsYWNlZCBJTklUSUFMTFkgSU1NRURJQVRFIGNsYXVzZSIpLAot CQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7 CisJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CiAJ CQkJaWYgKHNhd19pbml0aWFsbHkpCiAJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNv ZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJCQkJCSBlcnJtc2coIm11bHRpcGxlIElOSVRJ QUxMWSBJTU1FRElBVEUvREVGRVJSRUQgY2xhdXNlcyBub3QgYWxsb3dlZCIpLAotCQkJCQkJCSBw YXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CisJCQkJCQkJ IHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGNvbi0+bG9jYXRpb24pKSk7CiAJCQkJc2F3X2lu aXRpYWxseSA9IHRydWU7CiAJCQkJbGFzdHByaW1hcnljb24tPmluaXRkZWZlcnJlZCA9IGZhbHNl OwogCQkJCWJyZWFrOwpAQCAtNDI5OCwxMiArNDI5NiwxMiBAQCB0cmFuc2Zvcm1Db25zdHJhaW50 QXR0cnMoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgTGlzdCAqY29uc3RyYWludExpc3QpCiAJCQkJ CWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAog CQkJCQkJCSBlcnJtc2coIm1pc3BsYWNlZCBFTkZPUkNFRCBjbGF1c2UiKSwKLQkJCQkJCQkgcGFy c2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLCBjb24tPmxvY2F0aW9uKSkpOworCQkJCQkJCSBw YXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBjb24tPmxvY2F0aW9uKSkpOwogCQkJCWlmIChzYXdf ZW5mb3JjZWQpCiAJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9T WU5UQVhfRVJST1IpLAogCQkJCQkJCSBlcnJtc2coIm11bHRpcGxlIEVORk9SQ0VEL05PVCBFTkZP UkNFRCBjbGF1c2VzIG5vdCBhbGxvd2VkIiksCi0JCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihj eHQtPnBzdGF0ZSwgY29uLT5sb2NhdGlvbikpKTsKKwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9u KHBzdGF0ZSwgY29uLT5sb2NhdGlvbikpKTsKIAkJCQlzYXdfZW5mb3JjZWQgPSB0cnVlOwogCQkJ CWxhc3RwcmltYXJ5Y29uLT5pc19lbmZvcmNlZCA9IHRydWU7CiAJCQkJYnJlYWs7CkBAIC00MzE1 LDEyICs0MzEzLDEyIEBAIHRyYW5zZm9ybUNvbnN0cmFpbnRBdHRycyhDcmVhdGVTdG10Q29udGV4 dCAqY3h0LCBMaXN0ICpjb25zdHJhaW50TGlzdCkKIAkJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJ CQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCiAJCQkJCQkJIGVycm1zZygibWlzcGxh Y2VkIE5PVCBFTkZPUkNFRCBjbGF1c2UiKSwKLQkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4 dC0+cHN0YXRlLCBjb24tPmxvY2F0aW9uKSkpOworCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24o cHN0YXRlLCBjb24tPmxvY2F0aW9uKSkpOwogCQkJCWlmIChzYXdfZW5mb3JjZWQpCiAJCQkJCWVy ZXBvcnQoRVJST1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJ CQkJCSBlcnJtc2coIm11bHRpcGxlIEVORk9SQ0VEL05PVCBFTkZPUkNFRCBjbGF1c2VzIG5vdCBh bGxvd2VkIiksCi0JCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihjeHQtPnBzdGF0ZSwgY29uLT5s b2NhdGlvbikpKTsKKwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgY29uLT5sb2Nh dGlvbikpKTsKIAkJCQlzYXdfZW5mb3JjZWQgPSB0cnVlOwogCQkJCWxhc3RwcmltYXJ5Y29uLT5p c19lbmZvcmNlZCA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFy c2VfdXRpbGNtZC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaAppbmRleCBk MTUxYmJhMDNlYi4uY2Y3YmIzYTU3MzEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9w YXJzZV91dGlsY21kLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaApA QCAtMjAsNiArMjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBBdHRyTWFwIEF0dHJNYXA7IC8qIGF2b2lk IGluY2x1ZGluZyBhdHRtYXAuaCBoZXJlICovCiAKIAogZXh0ZXJuIExpc3QgKnRyYW5zZm9ybUNy ZWF0ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpOworZXh0 ZXJuIHZvaWQgdHJhbnNmb3JtQ29uc3RyYWludEF0dHJzKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlz dCAqY29uc3RyYWludExpc3QpOwogZXh0ZXJuIEFsdGVyVGFibGVTdG10ICp0cmFuc2Zvcm1BbHRl clRhYmxlU3RtdChPaWQgcmVsaWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAogCQkJCQkJCQkJCQkg ICBjb25zdCBjaGFyICpxdWVyeVN0cmluZywKIAkJCQkJCQkJCQkJICAgTGlzdCAqKmJlZm9yZVN0 bXRzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1h Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKaW5kZXgg YTMzY2JkMGMwZDkuLjZkZjQxZjlhMmYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv Y3JlYXRlX3NjaGVtYS5vdXQKQEAgLTI4Miw2ICsyODIsNzMgQEAgQ1JFQVRFIFNDSEVNQSByZWdy ZXNzX3NjaGVtYV83CiAgcmVncmVzc19zY2hlbWFfNyB8IHJlZ3Jlc3Nfc2NoZW1hXzcuc3NzICAg ICAgICAgICAgIHwgCiAoNSByb3dzKQogCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzgK KyAgICBDUkVBVEUgVEFCTEUgcmVncmVzc19zY2hlbWFfOC50MiAoCisgICAgICAgIGIgaW50LAor ICAgICAgICBhIGludCBSRUZFUkVOQ0VTIHQxIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVE IE5PVCBFTkZPUkNFRAorICAgICAgICAgICAgICBSRUZFUkVOQ0VTIHQzIERFRkVSUkFCTEUgSU5J VElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRCwKKyAgICAgICAgQ09OU1RSQUlOVCBmayBGT1JF SUdOIEtFWSAoYSkgUkVGRVJFTkNFUyB0MSBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRCBO T1QgRU5GT1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHJlZ3Jlc3Nfc2NoZW1hXzgudDEgKGEgaW50 IFBSSU1BUlkgS0VZKQorICAgIENSRUFURSBUQUJMRSB0MyAoYSBpbnQgUFJJTUFSWSBLRVkpCisg ICAgQ1JFQVRFIFRBQkxFIHQ0KGIgaW50LAorICAgICAgICAgICAgICAgICAgICBhIGludCBSRUZF UkVOQ0VTIHQ1IERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRAorICAg ICAgICAgICAgICAgICAgICAgICAgICBSRUZFUkVOQ0VTIHQ2IERFRkVSUkFCTEUgSU5JVElBTExZ IERFRkVSUkVEIE5PVCBFTkZPUkNFRCwKKyAgICAgICAgQ09OU1RSQUlOVCBmayBGT1JFSUdOIEtF WSAoYSkgUkVGRVJFTkNFUyB0NiBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRCBOT1QgRU5G T1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHQ1IChhIGludCwgYiBpbnQsIFBSSU1BUlkgS0VZIChh KSkKKyAgICBDUkVBVEUgVEFCTEUgdDYgKGEgaW50LCBiIGludCwgUFJJTUFSWSBLRVkgKGEpKTsK K1xkIHJlZ3Jlc3Nfc2NoZW1hXzgudDIKKyAgICAgICAgICAgIFRhYmxlICJyZWdyZXNzX3NjaGVt YV84LnQyIgorIENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0K KyBiICAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBhICAgICAgfCBp bnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRz OgorICAgICJmayIgRk9SRUlHTiBLRVkgKGEpIFJFRkVSRU5DRVMgcmVncmVzc19zY2hlbWFfOC50 MShhKSBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRCBOT1QgRU5GT1JDRUQKKyAgICAidDJf YV9ma2V5IiBGT1JFSUdOIEtFWSAoYSkgUkVGRVJFTkNFUyByZWdyZXNzX3NjaGVtYV84LnQxKGEp IERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRAorICAgICJ0Ml9hX2Zr ZXkxIiBGT1JFSUdOIEtFWSAoYSkgUkVGRVJFTkNFUyByZWdyZXNzX3NjaGVtYV84LnQzKGEpIERF RkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRAorCitcZCByZWdyZXNzX3Nj aGVtYV84LnQ0CisgICAgICAgICAgICBUYWJsZSAicmVncmVzc19zY2hlbWFfOC50NCIKKyBDb2x1 bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgYiAgICAgIHwgaW50 ZWdlciB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgYSAgICAgIHwgaW50ZWdlciB8ICAgICAg ICAgICB8ICAgICAgICAgIHwgCitGb3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAiZmsiIEZP UkVJR04gS0VZIChhKSBSRUZFUkVOQ0VTIHJlZ3Jlc3Nfc2NoZW1hXzgudDYoYSkgREVGRVJSQUJM RSBJTklUSUFMTFkgREVGRVJSRUQgTk9UIEVORk9SQ0VECisgICAgInQ0X2FfZmtleSIgRk9SRUlH TiBLRVkgKGEpIFJFRkVSRU5DRVMgcmVncmVzc19zY2hlbWFfOC50NShhKSBERUZFUlJBQkxFIElO SVRJQUxMWSBERUZFUlJFRCBOT1QgRU5GT1JDRUQKKyAgICAidDRfYV9ma2V5MSIgRk9SRUlHTiBL RVkgKGEpIFJFRkVSRU5DRVMgcmVncmVzc19zY2hlbWFfOC50NihhKSBERUZFUlJBQkxFIElOSVRJ QUxMWSBERUZFUlJFRCBOT1QgRU5GT1JDRUQKKworQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVt YV85CisgICAgQ1JFQVRFIFRBQkxFIHQyIChhIGludCwgYiBpbnQsCisgICAgICAgIENPTlNUUkFJ TlQgZmsgRk9SRUlHTiBLRVkgKGEsIGIpIFJFRkVSRU5DRVMgdDEgTUFUQ0ggRlVMTCBOT1QgREVG RVJSQUJMRSBJTklUSUFMTFkgSU1NRURJQVRFIE5PVCBFTkZPUkNFRCwKKyAgICAgICAgQ09OU1RS QUlOVCBmazEgRk9SRUlHTiBLRVkgKGEsIGIpIFJFRkVSRU5DRVMgdDMgTUFUQ0ggRlVMTCBERUZF UlJBQkxFIElOSVRJQUxMWSBJTU1FRElBVEUgTk9UIEVORk9SQ0VEKQorICAgIENSRUFURSBUQUJM RSB0MSAoYSBpbnQsIGIgaW50LCBQUklNQVJZIEtFWSAoYiwgYSkpCisgICAgQ1JFQVRFIFRBQkxF IHQzIChhIGludCwgYiBpbnQsIFBSSU1BUlkgS0VZIChiLCBhKSkKKyAgICBDUkVBVEUgVEFCTEUg dDQgKGEgaW50LCBiIGludCwKKyAgICAgICAgQ09OU1RSQUlOVCBmayBGT1JFSUdOIEtFWSAoYikg UkVGRVJFTkNFUyB0NiBNQVRDSCBGVUxMIE5PVCBERUZFUlJBQkxFIElOSVRJQUxMWSBJTU1FRElB VEUgTk9UIEVORk9SQ0VELAorICAgICAgICBDT05TVFJBSU5UIGZrMSBGT1JFSUdOIEtFWSAoYSkg UkVGRVJFTkNFUyB0NSBNQVRDSCBGVUxMIERFRkVSUkFCTEUgSU5JVElBTExZIElNTUVESUFURSBO T1QgRU5GT1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHQ1IChhIGludCwgYiBpbnQsIFBSSU1BUlkg S0VZIChhKSkKKyAgICBDUkVBVEUgVEFCTEUgdDYgKGEgaW50LCBiIGludCwgUFJJTUFSWSBLRVkg KGIpKTsKK1xkIHJlZ3Jlc3Nfc2NoZW1hXzkudDIKKyAgICAgICAgICAgIFRhYmxlICJyZWdyZXNz X3NjaGVtYV85LnQyIgorIENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8 IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0KKyBhICAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBiICAg ICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK0ZvcmVpZ24ta2V5IGNvbnN0 cmFpbnRzOgorICAgICJmayIgRk9SRUlHTiBLRVkgKGEsIGIpIFJFRkVSRU5DRVMgcmVncmVzc19z Y2hlbWFfOS50MShiLCBhKSBNQVRDSCBGVUxMIE5PVCBFTkZPUkNFRAorICAgICJmazEiIEZPUkVJ R04gS0VZIChhLCBiKSBSRUZFUkVOQ0VTIHJlZ3Jlc3Nfc2NoZW1hXzkudDMoYiwgYSkgTUFUQ0gg RlVMTCBERUZFUlJBQkxFIE5PVCBFTkZPUkNFRAorCitcZCByZWdyZXNzX3NjaGVtYV85LnQ0Cisg ICAgICAgICAgICBUYWJsZSAicmVncmVzc19zY2hlbWFfOS50NCIKKyBDb2x1bW4gfCAgVHlwZSAg IHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgYSAgICAgIHwgaW50ZWdlciB8ICAgICAg ICAgICB8ICAgICAgICAgIHwgCisgYiAgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCitGb3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAiZmsiIEZPUkVJR04gS0VZIChi KSBSRUZFUkVOQ0VTIHJlZ3Jlc3Nfc2NoZW1hXzkudDYoYikgTUFUQ0ggRlVMTCBOT1QgRU5GT1JD RUQKKyAgICAiZmsxIiBGT1JFSUdOIEtFWSAoYSkgUkVGRVJFTkNFUyByZWdyZXNzX3NjaGVtYV85 LnQ1KGEpIE1BVENIIEZVTEwgREVGRVJSQUJMRSBOT1QgRU5GT1JDRUQKKwogRFJPUCBTQ0hFTUEg cmVncmVzc19zY2hlbWFfMiBDQVNDQURFOwogTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byAyIG90 aGVyIG9iamVjdHMKIERFVEFJTDogIGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVt YV8yLnNzCkBAIC0zMTMsNSArMzgwLDIxIEBAIGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNz X3NjaGVtYV83LnNzCiBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfNy5zc3MK IGRyb3AgY2FzY2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV83LnJhaW5ib3cKIGRyb3AgY2Fz Y2FkZXMgdG8gdGFibGUgcmVncmVzc19zY2hlbWFfNy50CitEUk9QIFNDSEVNQSByZWdyZXNzX3Nj aGVtYV84IENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIDYgb3RoZXIgb2JqZWN0 cworREVUQUlMOiAgZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdyZXNzX3NjaGVtYV84LnQyCitk cm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzgudDEKK2Ryb3AgY2FzY2FkZXMg dG8gdGFibGUgcmVncmVzc19zY2hlbWFfOC50MworZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdy ZXNzX3NjaGVtYV84LnQ0Citkcm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzgu dDUKK2Ryb3AgY2FzY2FkZXMgdG8gdGFibGUgcmVncmVzc19zY2hlbWFfOC50NgorRFJPUCBTQ0hF TUEgcmVncmVzc19zY2hlbWFfOSBDQVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byA2 IG90aGVyIG9iamVjdHMKK0RFVEFJTDogIGRyb3AgY2FzY2FkZXMgdG8gdGFibGUgcmVncmVzc19z Y2hlbWFfOS50MgorZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdyZXNzX3NjaGVtYV85LnQxCitk cm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzkudDMKK2Ryb3AgY2FzY2FkZXMg dG8gdGFibGUgcmVncmVzc19zY2hlbWFfOS50NAorZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdy ZXNzX3NjaGVtYV85LnQ1Citkcm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzku dDYKIC0tIENsZWFuIHVwCiBEUk9QIFJPTEUgcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGU7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2V2ZW50X3RyaWdnZXIub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ldmVudF90cmlnZ2VyLm91dAppbmRleCA0YTdmZDJi YzU5YS4uMjEzNTg5OTUyZTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv ZXZlbnRfdHJpZ2dlci5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ldmVudF90 cmlnZ2VyLm91dApAQCAtNDI2LDEwICs0MjYsMTAgQEAgTk9USUNFOiAgRU5EOiBjb21tYW5kX3Rh Zz1BTFRFUiBTRVFVRU5DRSB0eXBlPXNlcXVlbmNlIGlkZW50aXR5PWV2dHRyaWcub25lX2NvbF8K IE5PVElDRTogIEVORDogY29tbWFuZF90YWc9QUxURVIgU0VRVUVOQ0UgdHlwZT1zZXF1ZW5jZSBp ZGVudGl0eT1ldnR0cmlnLm9uZV9jb2xfY19zZXEKIE5PVElDRTogIEVORDogY29tbWFuZF90YWc9 Q1JFQVRFIElOREVYIHR5cGU9aW5kZXggaWRlbnRpdHk9ZXZ0dHJpZy5vbmVfaWR4CiBOT1RJQ0U6 ICBFTkQ6IGNvbW1hbmRfdGFnPUNSRUFURSBUQUJMRSB0eXBlPXRhYmxlIGlkZW50aXR5PWV2dHRy aWcudHdvCi1OT1RJQ0U6ICBFTkQ6IGNvbW1hbmRfdGFnPUFMVEVSIFRBQkxFIHR5cGU9dGFibGUg aWRlbnRpdHk9ZXZ0dHJpZy50d28KIE5PVElDRTogIEVORDogY29tbWFuZF90YWc9Q1JFQVRFIFNF UVVFTkNFIHR5cGU9c2VxdWVuY2UgaWRlbnRpdHk9ZXZ0dHJpZy5pZF9jb2xfZF9zZXEKIE5PVElD RTogIEVORDogY29tbWFuZF90YWc9Q1JFQVRFIFRBQkxFIHR5cGU9dGFibGUgaWRlbnRpdHk9ZXZ0 dHJpZy5pZAogTk9USUNFOiAgRU5EOiBjb21tYW5kX3RhZz1BTFRFUiBTRVFVRU5DRSB0eXBlPXNl cXVlbmNlIGlkZW50aXR5PWV2dHRyaWcuaWRfY29sX2Rfc2VxCitOT1RJQ0U6ICBFTkQ6IGNvbW1h bmRfdGFnPUFMVEVSIFRBQkxFIHR5cGU9dGFibGUgaWRlbnRpdHk9ZXZ0dHJpZy50d28KIC0tIFBh cnRpdGlvbmVkIHRhYmxlcyB3aXRoIGEgcGFydGl0aW9uZWQgaW5kZXgKIENSRUFURSBUQUJMRSBl dnR0cmlnLnBhcnRlZCAoCiAgICAgaWQgaW50IFBSSU1BUlkgS0VZKQpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9jcmVhdGVfc2NoZW1hLnNxbAppbmRleCA3NWZkOTI4ZWFjYi4uNTQ3MDE2ZjU0Y2QgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCkBAIC0xNjgsMTIgKzE2OCw0OCBAQCBD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzcKICAgQ1JFQVRFIFRBQkxFIHQoYSBmbG9hdHJh bmdlLCBiIHNzLCBjIHJhaW5ib3cpOwogXGRUIHJlZ3Jlc3Nfc2NoZW1hXzcuKgogCitDUkVBVEUg U0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzgKKyAgICBDUkVBVEUgVEFCTEUgcmVncmVzc19zY2hlbWFf OC50MiAoCisgICAgICAgIGIgaW50LAorICAgICAgICBhIGludCBSRUZFUkVOQ0VTIHQxIERFRkVS UkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRAorICAgICAgICAgICAgICBSRUZF UkVOQ0VTIHQzIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRCwKKyAg ICAgICAgQ09OU1RSQUlOVCBmayBGT1JFSUdOIEtFWSAoYSkgUkVGRVJFTkNFUyB0MSBERUZFUlJB QkxFIElOSVRJQUxMWSBERUZFUlJFRCBOT1QgRU5GT1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHJl Z3Jlc3Nfc2NoZW1hXzgudDEgKGEgaW50IFBSSU1BUlkgS0VZKQorICAgIENSRUFURSBUQUJMRSB0 MyAoYSBpbnQgUFJJTUFSWSBLRVkpCisgICAgQ1JFQVRFIFRBQkxFIHQ0KGIgaW50LAorICAgICAg ICAgICAgICAgICAgICBhIGludCBSRUZFUkVOQ0VTIHQ1IERFRkVSUkFCTEUgSU5JVElBTExZIERF RkVSUkVEIE5PVCBFTkZPUkNFRAorICAgICAgICAgICAgICAgICAgICAgICAgICBSRUZFUkVOQ0VT IHQ2IERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIE5PVCBFTkZPUkNFRCwKKyAgICAgICAg Q09OU1RSQUlOVCBmayBGT1JFSUdOIEtFWSAoYSkgUkVGRVJFTkNFUyB0NiBERUZFUlJBQkxFIElO SVRJQUxMWSBERUZFUlJFRCBOT1QgRU5GT1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHQ1IChhIGlu dCwgYiBpbnQsIFBSSU1BUlkgS0VZIChhKSkKKyAgICBDUkVBVEUgVEFCTEUgdDYgKGEgaW50LCBi IGludCwgUFJJTUFSWSBLRVkgKGEpKTsKKworXGQgcmVncmVzc19zY2hlbWFfOC50MgorXGQgcmVn cmVzc19zY2hlbWFfOC50NAorCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzkKKyAgICBD UkVBVEUgVEFCTEUgdDIgKGEgaW50LCBiIGludCwKKyAgICAgICAgQ09OU1RSQUlOVCBmayBGT1JF SUdOIEtFWSAoYSwgYikgUkVGRVJFTkNFUyB0MSBNQVRDSCBGVUxMIE5PVCBERUZFUlJBQkxFIElO SVRJQUxMWSBJTU1FRElBVEUgTk9UIEVORk9SQ0VELAorICAgICAgICBDT05TVFJBSU5UIGZrMSBG T1JFSUdOIEtFWSAoYSwgYikgUkVGRVJFTkNFUyB0MyBNQVRDSCBGVUxMIERFRkVSUkFCTEUgSU5J VElBTExZIElNTUVESUFURSBOT1QgRU5GT1JDRUQpCisgICAgQ1JFQVRFIFRBQkxFIHQxIChhIGlu dCwgYiBpbnQsIFBSSU1BUlkgS0VZIChiLCBhKSkKKyAgICBDUkVBVEUgVEFCTEUgdDMgKGEgaW50 LCBiIGludCwgUFJJTUFSWSBLRVkgKGIsIGEpKQorICAgIENSRUFURSBUQUJMRSB0NCAoYSBpbnQs IGIgaW50LAorICAgICAgICBDT05TVFJBSU5UIGZrIEZPUkVJR04gS0VZIChiKSBSRUZFUkVOQ0VT IHQ2IE1BVENIIEZVTEwgTk9UIERFRkVSUkFCTEUgSU5JVElBTExZIElNTUVESUFURSBOT1QgRU5G T1JDRUQsCisgICAgICAgIENPTlNUUkFJTlQgZmsxIEZPUkVJR04gS0VZIChhKSBSRUZFUkVOQ0VT IHQ1IE1BVENIIEZVTEwgREVGRVJSQUJMRSBJTklUSUFMTFkgSU1NRURJQVRFIE5PVCBFTkZPUkNF RCkKKyAgICBDUkVBVEUgVEFCTEUgdDUgKGEgaW50LCBiIGludCwgUFJJTUFSWSBLRVkgKGEpKQor ICAgIENSRUFURSBUQUJMRSB0NiAoYSBpbnQsIGIgaW50LCBQUklNQVJZIEtFWSAoYikpOworCitc ZCByZWdyZXNzX3NjaGVtYV85LnQyCitcZCByZWdyZXNzX3NjaGVtYV85LnQ0CisKKwogRFJPUCBT Q0hFTUEgcmVncmVzc19zY2hlbWFfMiBDQVNDQURFOwogRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hl bWFfMyBDQVNDQURFOwogRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNCBDQVNDQURFOwogRFJP UCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNSBDQVNDQURFOwogRFJPUCBTQ0hFTUEgcmVncmVzc19z Y2hlbWFfNiBDQVNDQURFOwogRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfNyBDQVNDQURFOwor RFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfOCBDQVNDQURFOworRFJPUCBTQ0hFTUEgcmVncmVz c19zY2hlbWFfOSBDQVNDQURFOwogCiAtLSBDbGVhbiB1cAogRFJPUCBST0xFIHJlZ3Jlc3NfY3Jl YXRlX3NjaGVtYV9yb2xlOwotLSAKMi4zNC4xCgo= --0000000000000685b10647359391 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0002-CREATE-SCHEMA-CREATE-DOMAIN.patch" Content-Disposition: attachment; filename="v8-0002-CREATE-SCHEMA-CREATE-DOMAIN.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjtcmzmd3 RnJvbSBmYzhjM2Y1MmM4N2QwZmUwNTc0ODdhMTg1ZDM3MzVlZmQ0MmViNDU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMzAgRGVjIDIwMjUgMTE6NDg6NDkgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDIvNV0gQ1JFQVRFIFNDSEVNQSBDUkVBVEUgRE9NQUlOCgpUaGUgU1FMIHN0YW5kYXJkIGFsbG93 cyBkb21haW5zIHRvIGJlIHNwZWNpZmllZCBpbiBhIENSRUFURSBTQ0hFTUEgc3RhdGVtZW50LgpU aGlzIGFkZHMgc3VwcG9ydCBmb3IgdGhhdCBjYXBhYmlsaXR5LgoKRm9yIGV4YW1wbGU6CiAgICBD UkVBVEUgU0NIRU1BIHNjaGVtYV9uYW1lIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCiAgICBj cmVhdGUgZG9tYWluIHNzIGFzIHRleHQgbm90IG51bGw7CgpUaGUgZG9tYWluIHdpbGwgYmUgY3Jl YXRlZCB3aXRoaW4gdGhlIHRvIGJlIGNyZWF0ZWQgc2NoZW1hLiAgVGhlIGRvbWFpbiBuYW1lIGNh bgpiZSBzY2hlbWEtcXVhbGlmaWVkIG9yIGRhdGFiYXNlLXF1YWxpZmllZCwgaG93ZXZlciBpdCdz IG5vdCBhbGxvd2VkIHRvIGxldApkb21haW4gY3JlYXRlIHdpdGhpbiBhIGRpZmZlcmVudCBzY2hl bWEuCgpBdXRob3I6IEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+CkF1dGhv cjogSmlhbiBIZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQWx2 YXJvIEhlcnJlcmEgPGFsdmhlcnJlQGFsdmgubm8taXAub3JnPgpSZXZpZXdlZC1ieTogVG9tIExh bmUgPHRnbEBzc3MucGdoLnBhLnVzPgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9D QUxkU1NQaDRqVVNEc1d1M0s1OGhqTzYwd25UUlIwRHVPNENLUmN3YThFVnVPU2ZYeGdAbWFpbC5n bWFpbC5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dtbCAgICAgICAg ICAgfCAgNCArLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAg IHwgIDEgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICAgIHwg MjYgKysrKysrKysrCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAgICAgICAgICAg ICAgfCAxMiArKy0tCiAuLi4vZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQgICAgICAgICAgICAg ICAgfCAgNCArLQogLi4uL3Rlc3RfZGRsX2RlcGFyc2Uvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsICAg IHwgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQgICB8 IDU2ICsrKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hl bWEuc3FsICAgICAgICB8IDM2ICsrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5z ZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Jl Zi9jcmVhdGVfc2NoZW1hLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dt bAppbmRleCA2MjU3OTNhNmI2Ny4uNzkxODZkMmI5MzYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3NjaGVtYS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3Nj aGVtYS5zZ21sCkBAIC0xMDAsOCArMTAwLDggQEAgQ1JFQVRFIFNDSEVNQSBJRiBOT1QgRVhJU1RT IEFVVEhPUklaQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJvbGVfc3AKICAg ICAgIDxsaXN0aXRlbT4KICAgICAgICA8cGFyYT4KICAgICAgICAgQW4gU1FMIHN0YXRlbWVudCBk ZWZpbmluZyBhbiBvYmplY3QgdG8gYmUgY3JlYXRlZCB3aXRoaW4gdGhlCi0gICAgICAgIHNjaGVt YS4gQ3VycmVudGx5LCBvbmx5IDxjb21tYW5kPkNSRUFURQotICAgICAgICBUQUJMRTwvY29tbWFu ZD4sIDxjb21tYW5kPkNSRUFURSBWSUVXPC9jb21tYW5kPiwgPGNvbW1hbmQ+Q1JFQVRFCisgICAg ICAgIHNjaGVtYS4gQ3VycmVudGx5LCBvbmx5IDxjb21tYW5kPkNSRUFURSBET01BSU48L2NvbW1h bmQ+CisgICAgICAgIDxjb21tYW5kPkNSRUFURSBUQUJMRTwvY29tbWFuZD4sIDxjb21tYW5kPkNS RUFURSBWSUVXPC9jb21tYW5kPiwgPGNvbW1hbmQ+Q1JFQVRFCiAgICAgICAgIElOREVYPC9jb21t YW5kPiwgPGNvbW1hbmQ+Q1JFQVRFIFNFUVVFTkNFPC9jb21tYW5kPiwgPGNvbW1hbmQ+Q1JFQVRF CiAgICAgICAgIFRSSUdHRVI8L2NvbW1hbmQ+IGFuZCA8Y29tbWFuZD5HUkFOVDwvY29tbWFuZD4g YXJlIGFjY2VwdGVkIGFzIGNsYXVzZXMKICAgICAgICAgd2l0aGluIDxjb21tYW5kPkNSRUFURSBT Q0hFTUE8L2NvbW1hbmQ+LiBPdGhlciBraW5kcyBvZiBvYmplY3RzIG1heQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5k ZXggMjhmNGUxMWUzMGYuLjU0ZTA5ZDBjZWI1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTE2MzcsNiArMTYz Nyw3IEBAIHNjaGVtYV9zdG10OgogCQkJfCBDcmVhdGVUcmlnU3RtdAogCQkJfCBHcmFudFN0bXQK IAkJCXwgVmlld1N0bXQKKwkJCXwgQ3JlYXRlRG9tYWluU3RtdAogCQk7CiAKIApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMKaW5kZXggNWQxNjhmZDAyODUuLjg0OWExOWM0ZTQ3IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV91dGlsY21kLmMKQEAgLTQ0NTgsNiArNDQ1OCwzMiBAQCB0cmFuc2Zvcm1D cmVhdGVTY2hlbWFTdG10RWxlbWVudHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpzY2hlbWFF bHRzLAogCQkJCWVsZW1lbnRzID0gbGFwcGVuZChlbGVtZW50cywgZWxlbWVudCk7CiAJCQkJYnJl YWs7CiAKKwkJCWNhc2UgVF9DcmVhdGVEb21haW5TdG10OgorCQkJCXsKKwkJCQkJY2hhcgkgICAq ZG9tYWluX3NjaGVtYSA9IE5VTEw7CisKKwkJCQkJQ3JlYXRlRG9tYWluU3RtdCAqZWxwID0gY2Fz dE5vZGUoQ3JlYXRlRG9tYWluU3RtdCwgZWxlbWVudCk7CisKKwkJCQkJLyoKKwkJCQkJICogVGhl IHNjaGVtYSBvZiB0aGUgRE9NQUlOIG11c3QgbWF0Y2ggdGhlIHNjaGVtYSBiZWluZworCQkJCQkg KiBjcmVhdGVkLiBJZiB0aGUgZG9tYWluIG5hbWUgbGVuZ3RoIGV4Y2VlZHMgMywgaXQgd2lsbAor CQkJCQkgKiBmYWlsIGluIERlY29uc3RydWN0UXVhbGlmaWVkTmFtZS4KKwkJCQkJICovCisJCQkJ CWlmIChsaXN0X2xlbmd0aChlbHAtPmRvbWFpbm5hbWUpID09IDIpCisJCQkJCQlkb21haW5fc2No ZW1hID0gc3RyVmFsKGxpc3RfbnRoKGVscC0+ZG9tYWlubmFtZSwgMCkpOworCQkJCQllbHNlIGlm IChsaXN0X2xlbmd0aChlbHAtPmRvbWFpbm5hbWUpID09IDMpCisJCQkJCQlkb21haW5fc2NoZW1h ID0gc3RyVmFsKGxpc3RfbnRoKGVscC0+ZG9tYWlubmFtZSwgMSkpOworCisJCQkJCWlmIChkb21h aW5fc2NoZW1hICE9IE5VTEwgJiYgc3RyY21wKGRvbWFpbl9zY2hlbWEsIHNjaGVtYU5hbWUpICE9 IDApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCQllcnJjb2RlKEVSUkNPREVfSU5WQUxJ RF9TQ0hFTUFfREVGSU5JVElPTiksCisJCQkJCQkJCWVycm1zZygiQ1JFQVRFIERPTUFJTiBzcGVj aWZpZXMgYSBzY2hlbWEgKCVzKSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGJlaW5nIGNyZWF0ZWQg KCVzKSIsCisJCQkJCQkJCQkgICBkb21haW5fc2NoZW1hLCBzY2hlbWFOYW1lKSk7CisKKwkJCQkJ ZWxlbWVudHMgPSBsYXBwZW5kKGVsZW1lbnRzLCBlbGVtZW50KTsKKwkJCQl9CisJCQkJYnJlYWs7 CisKIAkJCWRlZmF1bHQ6CiAJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBub2RlIHR5cGU6 ICVkIiwKIAkJCQkJIChpbnQpIG5vZGVUYWcoZWxlbWVudCkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5j CmluZGV4IDc1YTEwMWM2YWI1Li5lNzUwYjJkYmI4NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3Fs L3RhYi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpA QCAtMjIwMSw3ICsyMjAxLDcgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5faWQs CiAJewogCQkvKiBvbmx5IHNvbWUgb2JqZWN0IHR5cGVzIGNhbiBiZSBjcmVhdGVkIGFzIHBhcnQg b2YgQ1JFQVRFIFNDSEVNQSAqLwogCQlpZiAoSGVhZE1hdGNoZXMoIkNSRUFURSIsICJTQ0hFTUEi KSkKLQkJCUNPTVBMRVRFX1dJVEgoIlRBQkxFIiwgIlZJRVciLCAiSU5ERVgiLCAiU0VRVUVOQ0Ui LCAiVFJJR0dFUiIsCisJCQlDT01QTEVURV9XSVRIKCJUQUJMRSIsICJWSUVXIiwgIklOREVYIiwg IlNFUVVFTkNFIiwgIlRSSUdHRVIiLCAiRE9NQUlOIiwKIAkJCS8qIGZvciBJTkRFWCBhbmQgVEFC TEUvU0VRVUVOQ0UsIHJlc3BlY3RpdmVseSAqLwogCQkJCQkJICAiVU5JUVVFIiwgIlVOTE9HR0VE Iik7CiAJCWVsc2UKQEAgLTM0NzEsMTUgKzM0NzEsMTUgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMo aW50IHBhdHRlcm5faWQsCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIkRBVEFCQVNFIiwg TWF0Y2hBbnksICJTVFJBVEVHWSIpKQogCQlDT01QTEVURV9XSVRIKCJXQUxfTE9HIiwgIkZJTEVf Q09QWSIpOwogCi0JLyogQ1JFQVRFIERPTUFJTiAqLwotCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFU RSIsICJET01BSU4iLCBNYXRjaEFueSkpCisJLyogQ1JFQVRFIERPTUFJTiAtLS0gaXMgYWxsb3dl ZCBpbnNpZGUgQ1JFQVRFIFNDSEVNQSwgc28gdXNlIFRhaWxNYXRjaGVzICovCisJZWxzZSBpZiAo VGFpbE1hdGNoZXMoIkNSRUFURSIsICJET01BSU4iLCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJ VEgoIkFTIik7Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIkRPTUFJTiIsIE1hdGNoQW55 LCAiQVMiKSkKKwllbHNlIGlmIChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwgIkRPTUFJTiIsIE1hdGNo QW55LCAiQVMiKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUlkoUXVlcnlfZm9yX2xpc3Rf b2ZfZGF0YXR5cGVzKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiRE9NQUlOIiwgTWF0 Y2hBbnksICJBUyIsIE1hdGNoQW55KSkKKwllbHNlIGlmIChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwg IkRPTUFJTiIsIE1hdGNoQW55LCAiQVMiLCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIkNP TExBVEUiLCAiREVGQVVMVCIsICJDT05TVFJBSU5UIiwKIAkJCQkJICAiTk9UIE5VTEwiLCAiTlVM TCIsICJDSEVDSyAoIik7Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIkRPTUFJTiIsIE1h dGNoQW55LCAiQ09MTEFURSIpKQorCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJDUkVBVEUiLCAiRE9N QUlOIiwgTWF0Y2hBbnksICJDT0xMQVRFIikpCiAJCUNPTVBMRVRFX1dJVEhfU0NIRU1BX1FVRVJZ KFF1ZXJ5X2Zvcl9saXN0X29mX2NvbGxhdGlvbnMpOwogCiAJLyogQ1JFQVRFIEVYVEVOU0lPTiAq LwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4cGVjdGVk L2NyZWF0ZV9zY2hlbWEub3V0IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4 cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0CmluZGV4IDhhYjRlYjAzMzg1Li5kNzNjNDcwMjA1MSAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL2V4cGVjdGVkL2Ny ZWF0ZV9zY2hlbWEub3V0CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9l eHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dApAQCAtMTMsNyArMTMsOSBAQCBDUkVBVEUgU0NIRU1B IElGIE5PVCBFWElTVFMgYmF6OwogTk9USUNFOiAgc2NoZW1hICJiYXoiIGFscmVhZHkgZXhpc3Rz LCBza2lwcGluZwogQ1JFQVRFIFNDSEVNQSBlbGVtZW50X3Rlc3QKICAgQ1JFQVRFIFRBQkxFIGZv byAoaWQgaW50KQotICBDUkVBVEUgVklFVyBiYXIgQVMgU0VMRUNUICogRlJPTSBmb287CisgIENS RUFURSBWSUVXIGJhciBBUyBTRUxFQ1QgKiBGUk9NIGZvbworICBDUkVBVEUgRE9NQUlOIGQxIEFT IElOVDsKIE5PVElDRTogIERETCB0ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBTQ0hFTUEK IE5PVElDRTogIERETCB0ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBUQUJMRQogTk9USUNF OiAgRERMIHRlc3Q6IHR5cGUgc2ltcGxlLCB0YWcgQ1JFQVRFIFZJRVcKK05PVElDRTogIERETCB0 ZXN0OiB0eXBlIHNpbXBsZSwgdGFnIENSRUFURSBET01BSU4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgYi9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2Uvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCmluZGV4IGYz MTRkYzJiODQwLi41N2FkYTQ2MjA3MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2RkbF9kZXBhcnNlL3NxbC9jcmVhdGVfc2NoZW1hLnNxbAorKysgYi9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfZGRsX2RlcGFyc2Uvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCkBAIC0xNCw0ICsxNCw1IEBA IENSRUFURSBTQ0hFTUEgSUYgTk9UIEVYSVNUUyBiYXo7CiAKIENSRUFURSBTQ0hFTUEgZWxlbWVu dF90ZXN0CiAgIENSRUFURSBUQUJMRSBmb28gKGlkIGludCkKLSAgQ1JFQVRFIFZJRVcgYmFyIEFT IFNFTEVDVCAqIEZST00gZm9vOworICBDUkVBVEUgVklFVyBiYXIgQVMgU0VMRUNUICogRlJPTSBm b28KKyAgQ1JFQVRFIERPTUFJTiBkMSBBUyBJTlQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2NyZWF0ZV9zY2hlbWEub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfc2NoZW1hLm91dAppbmRleCAzODUzMGMyODJhOS4uMDUzM2MyOWEzMTEgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dApAQCAtMTMxLDUgKzEz MSw2MSBAQCBDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQVVUSE9SSVpBVElPTiBDVVJS RU5UX1JPTEUKIERST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQ0FTQ0FERTsKIE5PVElDRTog IGRyb3AgY2FzY2FkZXMgdG8gdGFibGUgcmVncmVzc19zY2hlbWFfMS50YWIKIFJFU0VUIFJPTEU7 CistLSBDYXNlcyB3aGVyZSB0aGUgc2NoZW1hIGNyZWF0aW9uIHdpdGggZG9tYWluLgorLS1mYWls LiBjYW5ub3QgQ1JFQVRFIERPTUFJTiB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBTQ0hFTUEgcmVn cmVzc19zY2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgRE9NQUlO IHB1YmxpYy5zcyBBUyBURVhUIE5PVCBOVUxMIERFRkFVTFQgJ2hlbGxvJyBDT05TVFJBSU5UIG5u IENIRUNLIChWQUxVRSA8PiAnaGVsbG8nKQorICBDUkVBVEUgVEFCTEUgdChhIHNzKTsKK0VSUk9S OiAgQ1JFQVRFIERPTUFJTiBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykgZGlmZmVyZW50IGZy b20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8yKQorLS1mYWlsLiBjYW5u b3QgQ1JFQVRFIERPTUFJTiB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBTQ0hFTUEgcmVncmVzc19z Y2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgRE9NQUlOIHBvc3Rn cmVzLnB1YmxpYy5zcyBBUyBURVhUIE5PVCBOVUxMIENPTlNUUkFJTlQgbm4gQ0hFQ0sgKFZBTFVF IDw+ICdoZWxsbycpIERFRkFVTFQgJ2hlbGxvJworICBDUkVBVEUgVEFCTEUgdChhIHNzKTsKK0VS Uk9SOiAgQ1JFQVRFIERPTUFJTiBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykgZGlmZmVyZW50 IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8yKQorLS1mYWlsLiBp bXByb3BlciBxdWFsaWZpZWQgbmFtZQorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yIENS RUFURSBET01BSU4gc3MucG9zdGdyZXMucmVncmVzc19zY2hlbWFfMi5zcyBBUyBURVhUOworRVJS T1I6ICBpbXByb3BlciBxdWFsaWZpZWQgbmFtZSAodG9vIG1hbnkgZG90dGVkIG5hbWVzKTogc3Mu cG9zdGdyZXMucmVncmVzc19zY2hlbWFfMi5zcworLS1mYWlsLiBFeGVjdXRlIHN1YmNvbW1hbmRz IGluIG9yZGVyOyB3ZSBkbyBub3QgaW1wbGljaXRseSByZW9yZGVyIHRoZW0uCitDUkVBVEUgU0NI RU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRF IERPTUFJTiBzczEgQVMgc3MKKyAgQ1JFQVRFIERPTUFJTiBzcyBBUyBURVhUOworRVJST1I6ICB0 eXBlICJzcyIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMjogICBDUkVBVEUgRE9NQUlOIHNzMSBBUyBz cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tb2ssIHF1YWxpZmllZCBzY2hl bWEgbmFtZSBmb3IgZG9tYWluIHNob3VsZCBiZSBzYW1lIGFzIHRoZSBjcmVhdGVkIHNjaGVtYS4K K0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9M RQorICBDUkVBVEUgRE9NQUlOIHJlZ3Jlc3Nfc2NoZW1hXzIuc3MgQVMgVEVYVCBOT1QgTlVMTCBD T05TVFJBSU5UIG5uIENIRUNLIChWQUxVRSA8PiAnaGVsbG8nKSBERUZBVUxUICdoZWxsbycgQ09M TEFURSAiQyIKKyAgQ1JFQVRFIFRBQkxFIHQoYSByZWdyZXNzX3NjaGVtYV8yLnNzKTsKK1xkRCBy ZWdyZXNzX3NjaGVtYV8yLioKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBkb21haW5zCisgICAgICBTY2hlbWEgICAgICB8IE5hbWUgfCBUeXBlIHwg Q29sbGF0aW9uIHwgTnVsbGFibGUgfCAgICBEZWZhdWx0ICAgIHwgICAgICAgICAgICAgQ2hlY2sg ICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX3NjaGVtYV8yIHwgc3MgICB8IHRleHQgfCBDICAgICAgICAgfCBub3Qg bnVsbCB8ICdoZWxsbyc6OnRleHQgfCBDSEVDSyAoVkFMVUUgPD4gJ2hlbGxvJzo6dGV4dCkKKygx IHJvdykKKworLS1vaywgbm8gcXVhbGlmaWVkIHNjaGVtYSBuYW1lIGZvciBkb21haW4uCitDUkVB VEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzMgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAg Q1JFQVRFIERPTUFJTiBzcyBBUyBURVhUIENPTlNUUkFJTlQgbm4gQ0hFQ0sgKFZBTFVFIDw+ICdo ZWxsbycpIE5PVCBOVUxMIERFRkFVTFQgJ2hlbGxvJworICBDUkVBVEUgRE9NQUlOIHNzMSBBUyBz cworICBDUkVBVEUgVklFVyB0ZXN0IEFTIFNFTEVDVCAnaGVsbG8nOjpzcyBBUyB0ZXN0CisgIENS RUFURSBUQUJMRSB0KGEgc3MxKTsKK1xkRCByZWdyZXNzX3NjaGVtYV8zLioKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGRvbWFpbnMK KyAgICAgIFNjaGVtYSAgICAgIHwgTmFtZSB8ICAgICAgICBUeXBlICAgICAgICAgfCBDb2xsYXRp b24gfCBOdWxsYWJsZSB8ICAgIERlZmF1bHQgICAgfCAgICAgICAgICAgICBDaGVjayAgICAgICAg ICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc2NoZW1hXzMgfCBzcyAgIHwgdGV4dCAgICAgICAgICAg ICAgICB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgJ2hlbGxvJzo6dGV4dCB8IENIRUNLIChWQUxV RSA8PiAnaGVsbG8nOjp0ZXh0KQorIHJlZ3Jlc3Nfc2NoZW1hXzMgfCBzczEgIHwgcmVncmVzc19z Y2hlbWFfMy5zcyB8ICAgICAgICAgICB8ICAgICAgICAgIHwgJ2hlbGxvJzo6dGV4dCB8IAorKDIg cm93cykKKworRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMiBDQVNDQURFOworTk9USUNFOiAg ZHJvcCBjYXNjYWRlcyB0byAyIG90aGVyIG9iamVjdHMKK0RFVEFJTDogIGRyb3AgY2FzY2FkZXMg dG8gdHlwZSByZWdyZXNzX3NjaGVtYV8yLnNzCitkcm9wIGNhc2NhZGVzIHRvIHRhYmxlIHJlZ3Jl c3Nfc2NoZW1hXzIudAorRFJPUCBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMyBDQVNDQURFOworTk9U SUNFOiAgZHJvcCBjYXNjYWRlcyB0byA0IG90aGVyIG9iamVjdHMKK0RFVEFJTDogIGRyb3AgY2Fz Y2FkZXMgdG8gdHlwZSByZWdyZXNzX3NjaGVtYV8zLnNzCitkcm9wIGNhc2NhZGVzIHRvIHR5cGUg cmVncmVzc19zY2hlbWFfMy5zczEKK2Ryb3AgY2FzY2FkZXMgdG8gdmlldyByZWdyZXNzX3NjaGVt YV8zLnRlc3QKK2Ryb3AgY2FzY2FkZXMgdG8gdGFibGUgcmVncmVzc19zY2hlbWFfMy50CiAtLSBD bGVhbiB1cAogRFJPUCBST0xFIHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbAppbmRleCBiM2RjMWNmZDc1OC4uNTRhMDcwNTQ3Njcg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCkBAIC03MSw1ICs3MSw0MSBA QCBDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JP TEUKIERST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQ0FTQ0FERTsKIFJFU0VUIFJPTEU7CiAK Ky0tIENhc2VzIHdoZXJlIHRoZSBzY2hlbWEgY3JlYXRpb24gd2l0aCBkb21haW4uCistLWZhaWwu IGNhbm5vdCBDUkVBVEUgRE9NQUlOIHRvIG90aGVyIHNjaGVtYQorQ1JFQVRFIFNDSEVNQSByZWdy ZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBET01BSU4g cHVibGljLnNzIEFTIFRFWFQgTk9UIE5VTEwgREVGQVVMVCAnaGVsbG8nIENPTlNUUkFJTlQgbm4g Q0hFQ0sgKFZBTFVFIDw+ICdoZWxsbycpCisgIENSRUFURSBUQUJMRSB0KGEgc3MpOworCistLWZh aWwuIGNhbm5vdCBDUkVBVEUgRE9NQUlOIHRvIG90aGVyIHNjaGVtYQorQ1JFQVRFIFNDSEVNQSBy ZWdyZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBET01B SU4gcG9zdGdyZXMucHVibGljLnNzIEFTIFRFWFQgTk9UIE5VTEwgQ09OU1RSQUlOVCBubiBDSEVD SyAoVkFMVUUgPD4gJ2hlbGxvJykgREVGQVVMVCAnaGVsbG8nCisgIENSRUFURSBUQUJMRSB0KGEg c3MpOworCistLWZhaWwuIGltcHJvcGVyIHF1YWxpZmllZCBuYW1lCitDUkVBVEUgU0NIRU1BIHJl Z3Jlc3Nfc2NoZW1hXzIgQ1JFQVRFIERPTUFJTiBzcy5wb3N0Z3Jlcy5yZWdyZXNzX3NjaGVtYV8y LnNzIEFTIFRFWFQ7CisKKy0tZmFpbC4gRXhlY3V0ZSBzdWJjb21tYW5kcyBpbiBvcmRlcjsgd2Ug ZG8gbm90IGltcGxpY2l0bHkgcmVvcmRlciB0aGVtLgorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3Nj aGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSBET01BSU4gc3MxIEFT IHNzCisgIENSRUFURSBET01BSU4gc3MgQVMgVEVYVDsKKworLS1vaywgcXVhbGlmaWVkIHNjaGVt YSBuYW1lIGZvciBkb21haW4gc2hvdWxkIGJlIHNhbWUgYXMgdGhlIGNyZWF0ZWQgc2NoZW1hLgor Q1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xF CisgIENSRUFURSBET01BSU4gcmVncmVzc19zY2hlbWFfMi5zcyBBUyBURVhUIE5PVCBOVUxMIENP TlNUUkFJTlQgbm4gQ0hFQ0sgKFZBTFVFIDw+ICdoZWxsbycpIERFRkFVTFQgJ2hlbGxvJyBDT0xM QVRFICJDIgorICBDUkVBVEUgVEFCTEUgdChhIHJlZ3Jlc3Nfc2NoZW1hXzIuc3MpOworXGREIHJl Z3Jlc3Nfc2NoZW1hXzIuKgorCistLW9rLCBubyBxdWFsaWZpZWQgc2NoZW1hIG5hbWUgZm9yIGRv bWFpbi4KK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMyBBVVRIT1JJWkFUSU9OIENVUlJF TlRfUk9MRQorICBDUkVBVEUgRE9NQUlOIHNzIEFTIFRFWFQgQ09OU1RSQUlOVCBubiBDSEVDSyAo VkFMVUUgPD4gJ2hlbGxvJykgTk9UIE5VTEwgREVGQVVMVCAnaGVsbG8nCisgIENSRUFURSBET01B SU4gc3MxIEFTIHNzCisgIENSRUFURSBWSUVXIHRlc3QgQVMgU0VMRUNUICdoZWxsbyc6OnNzIEFT IHRlc3QKKyAgQ1JFQVRFIFRBQkxFIHQoYSBzczEpOworXGREIHJlZ3Jlc3Nfc2NoZW1hXzMuKgor CitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yIENBU0NBREU7CitEUk9QIFNDSEVNQSByZWdy ZXNzX3NjaGVtYV8zIENBU0NBREU7CisKIC0tIENsZWFuIHVwCiBEUk9QIFJPTEUgcmVncmVzc19j cmVhdGVfc2NoZW1hX3JvbGU7Ci0tIAoyLjM0LjEKCg== --0000000000000685b10647359391--