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 1vkHP8-00D2Zj-2n for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Jan 2026 07:52:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vkHP7-006sWl-2s for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Jan 2026 07:52:58 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vkHP7-006sWW-14 for pgsql-hackers@lists.postgresql.org; Mon, 26 Jan 2026 07:52:57 +0000 Received: from mail-vs1-xe35.google.com ([2607:f8b0:4864:20::e35]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vkHP3-002M3G-1t for pgsql-hackers@postgresql.org; Mon, 26 Jan 2026 07:52:56 +0000 Received: by mail-vs1-xe35.google.com with SMTP id ada2fe7eead31-5f52b3d98cfso1524701137.2 for ; Sun, 25 Jan 2026 23:52:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769413973; cv=none; d=google.com; s=arc-20240605; b=aruH4FvKP7jxFFBRFtGpRq5I9LTXYjAXz204Fa0kjvg3CxJH5WFfRmaXdSNXCaWzG9 AvVlkY+jEYGaQsgSh/tQTYt7Tuy5bfSQ9MElkoYvqFAuW/D6N55w9jbcjeDrFPHcoJGl HWamJ50h7g5bp9tE5ZmuLWmO2viqdwN3gwndgnU4gf2ge+5AFGHgEsuwPi0z38cAaxFG EKwk6cWUMosW/CbGGwquLEXrwaFUy5z9rJZGNLMtvCQg9gLuGKmRJP9T4rMffnxM79bw zJ+917aSkGWMd6jtlUni5Xhh2qxe9irhSchlR0SRgDNImdMYz02PCoMWFfGDMkDo9uwl zKdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=E/jtHbPibJrShUC7wLMcwFQHb8Q0GHXOb8r5cyYQRZU=; fh=FIa6CnAOcDlblDMIqVQXhn30ONA1aoHzZ0tfczHgg8I=; b=J1EIBj6bcbepho9axA+EIqCfT4J+zYOIde+8644+GA6N2/RNtro++mDjJ2i9Z+Gk0D i02BFMS1OJFpSIissGTjEb1IwlMGp9KHyr+rlSOWyaNeeJihIc0Do7WVTJ3TCOdcvvds iU7nHkLtgp9Pf6VBK5HKwM64fKjMf4rnuy52aJUczQdKP/eSEWxKYE7gvxdfDAgyO6q0 b90HClDu1ZpEp/6idPMy/sdyOZsaKbjU2tT5JiF726pRQqPB71KXZy+tGtp3jLL7Uadf Keix500PaLdcNbbihkT/g2GG6AljHfmZ6ILZwdirtGUZ+qO7AEl8LcKjtkb6Qcqn58oY NmIA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769413973; x=1770018773; darn=postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=E/jtHbPibJrShUC7wLMcwFQHb8Q0GHXOb8r5cyYQRZU=; b=F+sC2cbTP5v4eGhkcWqd8UDwb+HSf/FJMxUQjS33w3/W+Sz2FHW2H78Vk2zNVuwAJB TaLpJNAUt4hsCcnSjPk3bEEFNbjjF8MoJDhBAElynzuigG6PcmgCtZh/p6c5y0ngHuwx YXswG+MNHhNXCSk1lwLEMuPSENdGfqnnSWlJOMiuCMl+dc8Zm7nxnZY0Ze1pGZat9Zac TnUAY+UhnKi1XAA814xAwm5FdoYcfnFh91ttaEP6OTtW166QkYrEvLWJex5c1L5gaIIx SPQ4kyBQS2vWUvMbXgO3B8rHNYIkJyZZZ7nKVb8HiRoMLOR4692cFTfXNln7j9YjtJkI pzTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769413973; x=1770018773; h=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=E/jtHbPibJrShUC7wLMcwFQHb8Q0GHXOb8r5cyYQRZU=; b=iqP4+m/RGSPFF/cFd2K545IXf4FMeyR/rlJTuNMf/V4wBrrkLB0jcQJ+/E6oRBvAI7 o9jkSDG+JCgxTOT0jSy5WGUec2vLZb3/AhO0+icPh9Ef2sB7EPQ3l3H1AEquQuEOHIha aYrZ0v2IxmFVID/ZLT+/qniM4Yf5eZLqHkshtE63Gq/2AK2ovyOVpQyN8Z2zOBZQm5cS M6oGiaGkXUjHLJ7oC5I0jceyUYaz/1xxvFZwvkOxOfI7tC0totfWSaoVzlfqAJb77Vjh KnsP/1QCrpUl7mIC5VwKPv2atvW1lBrbPlHybHCS9WTsVuwBPycbmwXC5YHSgEDal+49 CfYQ== X-Gm-Message-State: AOJu0Yxj08i8HjIzw3xGzVNqBBAB5iqDcpehQ6YTaLX9W/uhPjX4UYDZ OL08HuCHB0KA2Nk3i/CDTtiSknpn0UEggvgsxo8foq8ume/tE0VVH2K4Zv7ef331GvJC+7lagTw Y/Cq70kHpJgJ1hoTU+4KvPLL4TGo2Si9b2eiA/8iX9A== X-Gm-Gg: AZuq6aLz9yAnaO2s950wD1maueeua4fPhGDSHU8Qpp3qpFp2WQ58+zBTIhqSxWkGwY+ cYCzD9KppkTKMfooUm4gE4QCzeLXmyOEYsBr/8A02eIkYMPAV6sVmZ4zJjIGWnwQJR5BodvG4xV CkmxmQCDvWldVl4V+iF5iIjiMhzzBLGTw6+3aMDqr5I5E2BIKkKrxvp8Cy7xR/7LKB3e315yrxB 4Z4W3QEJ3KmafzlBF3aI3l7Y7MBbRVDnlg3TWFFGcIFToI/toZ0UbcNkQVLaJPb+Z8TzMBFDo9O XtiF/ixBF5JEHpDc0OfSMPthHH4KzfRFs6HmKpjBwwV+4+QvRTvJSfbZUPpIB+meA/W4OzN/+Gt P0pcfLLIwELhLBAmfhPj+7FNvC6IXaJgUziLBjKlphLRUKIIsg5+v39PT X-Received: by 2002:a05:6102:a49:b0:5f5:4055:4558 with SMTP id ada2fe7eead31-5f5762c5be8mr1003061137.2.1769413973199; Sun, 25 Jan 2026 23:52:53 -0800 (PST) MIME-Version: 1.0 References: <229413.1741144420@sss.pgh.pa.us> In-Reply-To: From: jian he Date: Mon, 26 Jan 2026 15:52:16 +0800 X-Gm-Features: AZwV_QhS2Evi9N4A6pcGTs8OjGaqSKNFP2Iahhh1n-n2UwNcqVjASxfxEhi1qEk Message-ID: Subject: Re: support fast default for domain with constraints To: PostgreSQL-development Content-Type: multipart/mixed; boundary="000000000000556d8c064945cb27" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000556d8c064945cb27 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Sep 1, 2025 at 2:27=E2=80=AFPM jian he wrote: > > summary of the attached v7. > v7-0001, v7-00002: preparatory patch. > v7-0003 adds fast default support for ALTER TABLE ADD COLUMN when the dom= ain has > non-volatile constraints. > A table rewrite is still required for domains with volatile constraints. > > v7-0004 skip table rewrite (table scan only) for ALTER TABLE ADD > COLUMN with domains has volatile constraints. > Hi. rebase, and further simplified. maybe we could perform a table scan for ALTER TABLE ADD COLUMN when the dom= ain has volatile constraints like v7-0004, avoiding a table rewrite. However, this approach feels inelegant, so I do not plan to pursue it. So, the fast default now applies to domains with non-volatile constraint expressions only. Regarding the prior discussion about empty table behavior. This patch is consistent with the master: not throwing an error if the default would fail= the domain constraints. -- jian https://www.enterprisedb.com/ --000000000000556d8c064945cb27 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0002-add-function-DomainHaveVolatileConstraints.patch" Content-Disposition: attachment; filename="v8-0002-add-function-DomainHaveVolatileConstraints.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkuvd14r2 RnJvbSBlNzk3ODg1YTg4NGNmZGE3ZTEzZWIyMzdjMjc3YWQyMTY3MTBjYzk0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjYgSmFuIDIwMjYgMTU6MDU6NTYgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDIvM10gYWRkIGZ1bmN0aW9uIERvbWFpbkhhdmVWb2xhdGlsZUNvbnN0cmFpbnRzCgpSZXR1cm5z IHRydWUgaWYgdGhlIERvbWFpbiBoYXMgYW55IGNvbnN0cmFpbnRzLiAgSWYgeW91IHdhbnQgY2hl Y2sgdGhpcyBkb21haW4KaGF2ZSBhbnkgdm9sYXRpbGUgY2hlY2sgY29uc3RyYWludHMsIG1ha2Ug c3VyZSBhcmd1bWVudCBoYXZlX3ZvbGF0aWxlIGlzIG5vdApOVUxMLgpXZSBjYW4gYXZvaWQgYSB0 YWJsZSByZXdyaXRlIHdoZW4gYWRkaW5nIG9yIG1vZGlmeWluZyBhIGNvbHVtbiB3aXRoIGEKY29u c3RyYWluZWQgZG9tYWluLCBidXQgb25seSBpZiB0aGUgZG9tYWluJ3MgY29uc3RyYWludHMgYXJl IG5vdCB2b2xhdGlsZS4KVGhlcmVmb3JlIGZ1bmN0aW9uIERvbWFpbkhhdmVWb2xhdGlsZUNvbnN0 cmFpbnRzIGlzIG5lY2Vzc2FyeSB0byBjaGVjawpjb25zdHJhaW50IHZvbGF0aWxpdHkuCgpkaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQ0p1ZnhFXytpWkJSMWk0OWtfQUhpZ3BwUHdM VEppNmttOE5Pc0M3Rld2S2RFbW1YZ0BtYWlsLmdtYWlsLmNvbQpjb21taXRmZXN0OiBodHRwczov L2NvbW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0Y2gvNTY0MQotLS0KIHNyYy9iYWNrZW5kL3V0 aWxzL2NhY2hlL3R5cGNhY2hlLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHNyYy9pbmNsdWRlL3V0aWxzL3R5cGNhY2hlLmggICAgICAgfCAgMSArCiAyIGZpbGVzIGNoYW5n ZWQsIDM4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9jYWNo ZS90eXBjYWNoZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvdHlwY2FjaGUuYwppbmRleCBk YzRiMWE1NjQxNC4uZDAwY2ZkNDcxYWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Nh Y2hlL3R5cGNhY2hlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvdHlwY2FjaGUuYwpA QCAtMTQ5OSw2ICsxNDk5LDQzIEBAIERvbWFpbkhhc0NvbnN0cmFpbnRzKE9pZCB0eXBlX2lkKQog fQogCiAKKy8qCisgKiBDaGVjayB3aGV0aGVyIGEgZG9tYWluIGhhcyBhbnkgY29uc3RyYWludHMs IGFuZCBkZXRlcm1pbmUgaWYgYW55IG9mIHRob3NlCisgKiBjb25zdHJhaW50cyBjb250YWluIHZv bGF0aWxlIGV4cHJlc3Npb25zLgorICoKKyAqIFRvIGRldGVjdCB2b2xhdGlsZSBleHByZXNzaW9u cyB3aXRoaW4gZG9tYWluIGNoZWNrIGNvbnN0cmFpbnRzLCBlbnN1cmUgdGhhdAorICogaGF2ZV92 b2xhdGlsZSBpcyBub3QgTlVMTC4gSWYgaGF2ZV92b2xhdGlsZSBpcyBOVUxMLCB0aGlzIGZ1bmN0 aW9uIGJlaGF2ZSB0aGUKKyAqIHNhbWUgYXMgRG9tYWluSGFzQ29uc3RyYWludHMuCisgKi8KK2Jv b2wKK0RvbWFpbkhhdmVWb2xhdGlsZUNvbnN0cmFpbnRzKE9pZCB0eXBlX2lkLCBib29sICpoYXZl X3ZvbGF0aWxlKQoreworCS8qCisJICogTm90ZTogYSBzaWRlIGVmZmVjdCBpcyB0byBjYXVzZSB0 aGUgdHlwY2FjaGUncyBkb21haW4gZGF0YSB0byBiZWNvbWUKKwkgKiB2YWxpZC4gIFRoaXMgaXMg ZmluZSBzaW5jZSB3ZSdsbCBsaWtlbHkgbmVlZCBpdCBzb29uIGlmIHRoZXJlIGlzIGFueS4KKwkg Ki8KKwlUeXBlQ2FjaGVFbnRyeSAqdHlwZW50cnkgPSBsb29rdXBfdHlwZV9jYWNoZSh0eXBlX2lk LCBUWVBFQ0FDSEVfRE9NQUlOX0NPTlNUUl9JTkZPKTsKKworCWlmICh0eXBlbnRyeS0+ZG9tYWlu RGF0YSAhPSBOVUxMKQorCXsKKwkJZm9yZWFjaF9ub2RlKERvbWFpbkNvbnN0cmFpbnRTdGF0ZSwg Y29uc3Ryc3RhdGUsIHR5cGVudHJ5LT5kb21haW5EYXRhLT5jb25zdHJhaW50cykKKwkJeworCQkJ aWYgKGNvbnN0cnN0YXRlLT5jb25zdHJhaW50dHlwZSA9PSBET01fQ09OU1RSQUlOVF9DSEVDSyAm JgorCQkJCWNvbnRhaW5fdm9sYXRpbGVfZnVuY3Rpb25zKChOb2RlICopIGNvbnN0cnN0YXRlLT5j aGVja19leHByKSkKKwkJCXsKKwkJCQlpZiAoaGF2ZV92b2xhdGlsZSkKKwkJCQkJKmhhdmVfdm9s YXRpbGUgPSB0cnVlOworCisJCQkJYnJlYWs7CisJCQl9CisJCX0KKworCQlyZXR1cm4gdHJ1ZTsK Kwl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKIC8qCiAgKiBhcnJheV9lbGVtZW50X2hhc19lcXVh bGl0eSBhbmQgZnJpZW5kcyBhcmUgaGVscGVyIHJvdXRpbmVzIHRvIGNoZWNrCiAgKiB3aGV0aGVy IHdlIHNob3VsZCBiZWxpZXZlIHRoYXQgYXJyYXlfZXEgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zIHdp bGwgd29yawpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvdHlwY2FjaGUuaCBiL3NyYy9p bmNsdWRlL3V0aWxzL3R5cGNhY2hlLmgKaW5kZXggMGUzOTQ1YWEyNDQuLmQ5ZTg5NGIxMTQ2IDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy90eXBjYWNoZS5oCisrKyBiL3NyYy9pbmNsdWRl L3V0aWxzL3R5cGNhY2hlLmgKQEAgLTE4NCw2ICsxODQsNyBAQCBleHRlcm4gdm9pZCBJbml0RG9t YWluQ29uc3RyYWludFJlZihPaWQgdHlwZV9pZCwgRG9tYWluQ29uc3RyYWludFJlZiAqcmVmLAog ZXh0ZXJuIHZvaWQgVXBkYXRlRG9tYWluQ29uc3RyYWludFJlZihEb21haW5Db25zdHJhaW50UmVm ICpyZWYpOwogCiBleHRlcm4gYm9vbCBEb21haW5IYXNDb25zdHJhaW50cyhPaWQgdHlwZV9pZCk7 CitleHRlcm4gYm9vbCBEb21haW5IYXZlVm9sYXRpbGVDb25zdHJhaW50cyhPaWQgdHlwZV9pZCwg Ym9vbCAqaGF2ZV92b2xhdGlsZSk7CiAKIGV4dGVybiBUdXBsZURlc2MgbG9va3VwX3Jvd3R5cGVf dHVwZGVzYyhPaWQgdHlwZV9pZCwgaW50MzIgdHlwbW9kKTsKIAotLSAKMi4zNC4xCgo= --000000000000556d8c064945cb27 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0001-Enable-soft-error-handling-in-ExecPrepareExpr-and-ExecInitExpr.patch" Content-Disposition: attachment; filename="v8-0001-Enable-soft-error-handling-in-ExecPrepareExpr-and-ExecInitExpr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkuvd14p1 RnJvbSAxYTM3YTU2ZGZlNmM4MDdhOGQ2MWJlMzk2ODEyMGNmN2ZjNDgxMWRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjYgSmFuIDIwMjYgMTQ6NTI6MjMgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDEvM10gRW5hYmxlIHNvZnQgZXJyb3IgaGFuZGxpbmcgaW4gRXhlY1ByZXBhcmVFeHByIGFuZAog RXhlY0luaXRFeHByCgpkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQ0p1ZnhFXytp WkJSMWk0OWtfQUhpZ3BwUHdMVEppNmttOE5Pc0M3Rld2S2RFbW1YZ0BtYWlsLmdtYWlsLmNvbQpj b21taXRmZXN0OiBodHRwczovL2NvbW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0Y2gvNTY0MQot LS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgfCAyMSArKysrKysrKysrKysrKysr KysrKy0KIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmggfCAgMiArKwogMiBmaWxlcyBj aGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNF eHByLmMKaW5kZXggMDg4ZWNhMjQwMjEuLjc2NWU5MDQ5NGE1IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9leGVjdXRvci9leGVjRXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNF eHByLmMKQEAgLTE0MSw2ICsxNDEsMTggQEAgc3RhdGljIHZvaWQgRXhlY0luaXRKc29uQ29lcmNp b24oRXhwclN0YXRlICpzdGF0ZSwgSnNvblJldHVybmluZyAqcmV0dXJuaW5nLAogICovCiBFeHBy U3RhdGUgKgogRXhlY0luaXRFeHByKEV4cHIgKm5vZGUsIFBsYW5TdGF0ZSAqcGFyZW50KQorewor CXJldHVybiBFeGVjSW5pdEV4cHJFeHRlbmRlZChub2RlLCBwYXJlbnQsIE5VTEwpOworfQorCisv KgorICogJ2VzY29udGV4dCcgaXMgZXhwZWN0ZWQgdG8gYmUgbm9uLU5VTEwgb25seSBmb3IgZXhw cmVzc2lvbiBub2RlcyB0aGF0IHN1cHBvcnQKKyAqIHNvZnQgZXJyb3JzLgorICoKKyAqIE5vdCBh bGwgZXhwcmVzc2lvbiBub2RlcyBzdXBwb3J0IHRoaXM7IGlmIGluIGRvdWJ0LCBwYXNzIE5VTEwu CisgKi8KK0V4cHJTdGF0ZSAqCitFeGVjSW5pdEV4cHJFeHRlbmRlZChFeHByICpub2RlLCBQbGFu U3RhdGUgKnBhcmVudCwgTm9kZSAqZXNjb250ZXh0KQogewogCUV4cHJTdGF0ZSAgKnN0YXRlOwog CUV4cHJFdmFsU3RlcCBzY3JhdGNoID0gezB9OwpAQCAtMTU0LDYgKzE2Niw3IEBAIEV4ZWNJbml0 RXhwcihFeHByICpub2RlLCBQbGFuU3RhdGUgKnBhcmVudCkKIAlzdGF0ZS0+ZXhwciA9IG5vZGU7 CiAJc3RhdGUtPnBhcmVudCA9IHBhcmVudDsKIAlzdGF0ZS0+ZXh0X3BhcmFtcyA9IE5VTEw7CisJ c3RhdGUtPmVzY29udGV4dCA9IChFcnJvclNhdmVDb250ZXh0ICopIGVzY29udGV4dDsKIAogCS8q IEluc2VydCBzZXR1cCBzdGVwcyBhcyBuZWVkZWQgKi8KIAlFeGVjQ3JlYXRlRXhwclNldHVwU3Rl cHMoc3RhdGUsIChOb2RlICopIG5vZGUpOwpAQCAtNzYzLDYgKzc3NiwxMiBAQCBFeGVjQnVpbGRV cGRhdGVQcm9qZWN0aW9uKExpc3QgKnRhcmdldExpc3QsCiAgKi8KIEV4cHJTdGF0ZSAqCiBFeGVj UHJlcGFyZUV4cHIoRXhwciAqbm9kZSwgRVN0YXRlICplc3RhdGUpCit7CisJcmV0dXJuIEV4ZWNQ cmVwYXJlRXhwckV4dGVuZGVkKG5vZGUsIGVzdGF0ZSwgTlVMTCk7Cit9CisKK0V4cHJTdGF0ZSAq CitFeGVjUHJlcGFyZUV4cHJFeHRlbmRlZChFeHByICpub2RlLCBFU3RhdGUgKmVzdGF0ZSwgTm9k ZSAqZXNjb250ZXh0KQogewogCUV4cHJTdGF0ZSAgKnJlc3VsdDsKIAlNZW1vcnlDb250ZXh0IG9s ZGNvbnRleHQ7CkBAIC03NzEsNyArNzkwLDcgQEAgRXhlY1ByZXBhcmVFeHByKEV4cHIgKm5vZGUs IEVTdGF0ZSAqZXN0YXRlKQogCiAJbm9kZSA9IGV4cHJlc3Npb25fcGxhbm5lcihub2RlKTsKIAot CXJlc3VsdCA9IEV4ZWNJbml0RXhwcihub2RlLCBOVUxMKTsKKwlyZXN1bHQgPSBFeGVjSW5pdEV4 cHJFeHRlbmRlZChub2RlLCBOVUxMLCBlc2NvbnRleHQpOwogCiAJTWVtb3J5Q29udGV4dFN3aXRj aFRvKG9sZGNvbnRleHQpOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVj dXRvci5oIGIvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY3V0b3IuaAppbmRleCA1OTI5YWFiYzM1 My4uYTUzZDYwMTA3Y2IgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9y LmgKKysrIGIvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY3V0b3IuaApAQCAtMzI0LDYgKzMyNCw3 IEBAIEV4ZWNQcm9jTm9kZShQbGFuU3RhdGUgKm5vZGUpCiAgKiBwcm90b3R5cGVzIGZyb20gZnVu Y3Rpb25zIGluIGV4ZWNFeHByLmMKICAqLwogZXh0ZXJuIEV4cHJTdGF0ZSAqRXhlY0luaXRFeHBy KEV4cHIgKm5vZGUsIFBsYW5TdGF0ZSAqcGFyZW50KTsKK2V4dGVybiBFeHByU3RhdGUgKkV4ZWNJ bml0RXhwckV4dGVuZGVkKEV4cHIgKm5vZGUsIFBsYW5TdGF0ZSAqcGFyZW50LCBOb2RlICplc2Nv bnRleHQpOwogZXh0ZXJuIEV4cHJTdGF0ZSAqRXhlY0luaXRFeHByV2l0aFBhcmFtcyhFeHByICpu b2RlLCBQYXJhbUxpc3RJbmZvIGV4dF9wYXJhbXMpOwogZXh0ZXJuIEV4cHJTdGF0ZSAqRXhlY0lu aXRRdWFsKExpc3QgKnF1YWwsIFBsYW5TdGF0ZSAqcGFyZW50KTsKIGV4dGVybiBFeHByU3RhdGUg KkV4ZWNJbml0Q2hlY2soTGlzdCAqcXVhbCwgUGxhblN0YXRlICpwYXJlbnQpOwpAQCAtMzcyLDYg KzM3Myw3IEBAIGV4dGVybiBQcm9qZWN0aW9uSW5mbyAqRXhlY0J1aWxkVXBkYXRlUHJvamVjdGlv bihMaXN0ICp0YXJnZXRMaXN0LAogCQkJCQkJCQkJCQkJIFR1cGxlVGFibGVTbG90ICpzbG90LAog CQkJCQkJCQkJCQkJIFBsYW5TdGF0ZSAqcGFyZW50KTsKIGV4dGVybiBFeHByU3RhdGUgKkV4ZWNQ cmVwYXJlRXhwcihFeHByICpub2RlLCBFU3RhdGUgKmVzdGF0ZSk7CitleHRlcm4gRXhwclN0YXRl ICpFeGVjUHJlcGFyZUV4cHJFeHRlbmRlZChFeHByICpub2RlLCBFU3RhdGUgKmVzdGF0ZSwgTm9k ZSAqZXNjb250ZXh0KTsKIGV4dGVybiBFeHByU3RhdGUgKkV4ZWNQcmVwYXJlUXVhbChMaXN0ICpx dWFsLCBFU3RhdGUgKmVzdGF0ZSk7CiBleHRlcm4gRXhwclN0YXRlICpFeGVjUHJlcGFyZUNoZWNr KExpc3QgKnF1YWwsIEVTdGF0ZSAqZXN0YXRlKTsKIGV4dGVybiBMaXN0ICpFeGVjUHJlcGFyZUV4 cHJMaXN0KExpc3QgKm5vZGVzLCBFU3RhdGUgKmVzdGF0ZSk7Ci0tIAoyLjM0LjEKCg== --000000000000556d8c064945cb27 Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0003-fast-default-for-domain-with-constraints.patch" Content-Disposition: attachment; filename="v8-0003-fast-default-for-domain-with-constraints.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkuvd14k0 RnJvbSA4ZjdiNDdmN2M0MjFlYzMyMjQ4Yzk4ZDVlZTY4ZWI5ZmEyNzI1NzllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjYgSmFuIDIwMjYgMTU6NDI6MTkgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDMvM10gZmFzdCBkZWZhdWx0IGZvciBkb21haW4gd2l0aCBjb25zdHJhaW50cwoKVGhpcyBpcyBw cmltYXJpbHkgZG9uZSBieSBldmFsdWF0aW5nIENvZXJjZVRvRG9tYWluIHdpdGggc29mdCBlcnJv ciBzdXBwb3J0LgoKSWYgQ29lcmNlVG9Eb21haW4gaXMgZXZhbHVhdGVkIGFzIGZhbHNlIGluIEFU RXhlY0FkZENvbHVtbiwgdGhlIGRlZnZhbCBub2RlJ3MKdmFsdWUgY2Fubm90IGJlIGNhc3QgdG8g dGhlIGRvbWFpbiB0eXBlLiBIb3dldmVyLCBpbiBzb21lIGNhc2VzIGxpa2Ugd2hlbiB0aGUKdGFi bGUgaXMgZW1wdHksIHdlIGNhbm5vdCBleHBsaWNpdGx5IGVycm9yIG91dCBpbiBBVEV4ZWNBZGRD b2x1bW4gKFBoYXNlIDIpLgpGb3IgZXhhbXBsZSwgaW1hZ2luZSBhZGQgYSBuZXcgZG9tYWluIGNv bHVtbiB0byBlbXB0eSB4LCBhbmQgdGhlIGNvbHVtbiBkb21haW4Kc3BlY2lmaWNhdGlvbiBpcyBg YENIRUNLKHZhbHVlID4gMTApIERFRkFVTFQgOGBgLiAgSW4gc3VjaCBzaXR1YXRpb25zLCB0aGUg QUxURVIKVEFCTEUgQUREIENPTFVNTiBzaG91bGQgYmUgc3VjY2Vzcy4KClRoYW5rcyB0byBjb21t aXQgYWFhZjk0NDllYzZiZTYyY2IwZDMwZWQzNTg4ZGMzODRmNTYyNzRiZlsxXSwKRXhwclN0YXRl LmVzY29udGV4dCAoRXJyb3JTYXZlQ29udGV4dCkgd2FzIGFkZGVkLCBhbmQgRXhlY0V2YWxDb25z dHJhaW50Tm90TnVsbCwKRXhlY0V2YWxDb25zdHJhaW50Q2hlY2sgd2VyZSBjaGFuZ2VkIHRvIHVz ZSBlcnJzYXZlIGluc3RlYWQgb2YgaGFyZCBlcnJvci4gIE5vdwp3ZSBjYW4gZXZhbHVhdGUgQ29l cmNlVG9Eb21haW4gaW4gYSBzb2Z0IGVycm9yIHdheS4KCkhvd2V2ZXIgd2UgZG8gdGFibGUgcmV3 cml0ZSBmb3IgZG9tYWluIHdpdGggdm9sYXRpbGUgY2hlY2sgY29uc3RyYWludHMuCgpkaXNjdXNz aW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQ0p1ZnhFXytpWkJSMWk0OWtfQUhpZ3BwUHdMVEpp NmttOE5Pc0M3Rld2S2RFbW1YZ0BtYWlsLmdtYWlsLmNvbQpjb21taXRmZXN0OiBodHRwczovL2Nv bW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0Y2gvNTY0MQotLS0KIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrLS0tLS0tLQogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mYXN0X2RlZmF1bHQub3V0IHwgNTAgKysrKysrKysrKysr KysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvZmFzdF9kZWZhdWx0LnNxbCAgICAgIHwg NDAgKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyks IDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxl Y21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggZjk3NmMwZTVj N2UuLjcxMzBiZGM2NDYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtNzQ2OCwxNSAr NzQ2OCw2IEBAIEFURXhlY0FkZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZv ICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkgKiBOVUxMIGlmIHNvLCBzbyB3aXRob3V0IGFueSBtb2Rp ZmljYXRpb24gb2YgdGhlIHR1cGxlIGRhdGEgd2Ugd2lsbCBnZXQKIAkgKiB0aGUgZWZmZWN0IG9m IE5VTEwgdmFsdWVzIGluIHRoZSBuZXcgY29sdW1uLgogCSAqCi0JICogQW4gZXhjZXB0aW9uIG9j Y3VycyB3aGVuIHRoZSBuZXcgY29sdW1uIGlzIG9mIGEgZG9tYWluIHR5cGU6IHRoZSBkb21haW4K LQkgKiBtaWdodCBoYXZlIGEgbm90LW51bGwgY29uc3RyYWludCwgb3IgYSBjaGVjayBjb25zdHJh aW50IHRoYXQgaW5kaXJlY3RseQotCSAqIHJlamVjdHMgbnVsbHMuICBJZiB0aGVyZSBhcmUgYW55 IGRvbWFpbiBjb25zdHJhaW50cyB0aGVuIHdlIGNvbnN0cnVjdAotCSAqIGFuIGV4cGxpY2l0IE5V TEwgZGVmYXVsdCB2YWx1ZSB0aGF0IHdpbGwgYmUgcGFzc2VkIHRocm91Z2gKLQkgKiBDb2VyY2VU b0RvbWFpbiBwcm9jZXNzaW5nLiAgKFRoaXMgaXMgYSB0YWQgaW5lZmZpY2llbnQsIHNpbmNlIGl0 IGNhdXNlcwotCSAqIHJld3JpdGluZyB0aGUgdGFibGUgd2hpY2ggd2UgcmVhbGx5IHdvdWxkbid0 IGhhdmUgdG8gZG87IGJ1dCB3ZSBkbyBpdAotCSAqIHRvIHByZXNlcnZlIHRoZSBoaXN0b3JpY2Fs IGJlaGF2aW9yIHRoYXQgc3VjaCBhIGZhaWx1cmUgd2lsbCBiZSByYWlzZWQKLQkgKiBvbmx5IGlm IHRoZSB0YWJsZSBjdXJyZW50bHkgY29udGFpbnMgc29tZSByb3dzLikKLQkgKgogCSAqIE5vdGU6 IHdlIHVzZSBidWlsZF9jb2x1bW5fZGVmYXVsdCwgYW5kIG5vdCBqdXN0IHRoZSBjb29rZWQgZGVm YXVsdAogCSAqIHJldHVybmVkIGJ5IEFkZFJlbGF0aW9uTmV3Q29uc3RyYWludHMsIHNvIHRoYXQg dGhlIHJpZ2h0IHRoaW5nIGhhcHBlbnMKIAkgKiB3aGVuIGEgZGF0YXR5cGUncyBkZWZhdWx0IGFw cGxpZXMuCkBAIC03NDk1LDYgKzc0ODYsNyBAQCBBVEV4ZWNBZGRDb2x1bW4oTGlzdCAqKndxdWV1 ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJewogCQlib29sCQloYXNf ZG9tYWluX2NvbnN0cmFpbnRzOwogCQlib29sCQloYXNfbWlzc2luZyA9IGZhbHNlOworCQlib29s CQloYXNfdm9sYXRpbGUgPSBmYWxzZTsKIAogCQkvKgogCQkgKiBGb3IgYW4gaWRlbnRpdHkgY29s dW1uLCB3ZSBjYW4ndCB1c2UgYnVpbGRfY29sdW1uX2RlZmF1bHQoKSwKQEAgLTc1MTIsOCArNzUw NCwyMCBAQCBBVEV4ZWNBZGRDb2x1bW4oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAq dGFiLCBSZWxhdGlvbiByZWwsCiAJCWVsc2UKIAkJCWRlZnZhbCA9IChFeHByICopIGJ1aWxkX2Nv bHVtbl9kZWZhdWx0KHJlbCwgYXR0cmlidXRlLT5hdHRudW0pOwogCisJCWhhc19kb21haW5fY29u c3RyYWludHMgPSBEb21haW5IYXZlVm9sYXRpbGVDb25zdHJhaW50cyhhdHRyaWJ1dGUtPmF0dHR5 cGlkLCAmaGFzX3ZvbGF0aWxlKTsKKworCQkvKgorCQkgKiBBZGRpbmcgYSBjb2x1bW4gd2l0aCB2 b2xhdGlsZSBkb21haW4gY29uc3RyYWludCByZXF1aXJlcyB0YWJsZQorCQkgKiByZXdyaXRlCisJ CSAqLworCQlpZiAoaGFzX3ZvbGF0aWxlKQorCQl7CisJCQlBc3NlcnQoaGFzX2RvbWFpbl9jb25z dHJhaW50cyk7CisKKwkJCXRhYi0+cmV3cml0ZSB8PSBBVF9SRVdSSVRFX0RFRkFVTFRfVkFMOwor CQl9CisKIAkJLyogQnVpbGQgQ29lcmNlVG9Eb21haW4oTlVMTCkgZXhwcmVzc2lvbiBpZiBuZWVk ZWQgKi8KLQkJaGFzX2RvbWFpbl9jb25zdHJhaW50cyA9IERvbWFpbkhhc0NvbnN0cmFpbnRzKGF0 dHJpYnV0ZS0+YXR0dHlwaWQpOwogCQlpZiAoIWRlZnZhbCAmJiBoYXNfZG9tYWluX2NvbnN0cmFp bnRzKQogCQl7CiAJCQlPaWQJCQliYXNlVHlwZUlkOwpAQCAtNzU1NSwyNyArNzU1OSwzOSBAQCBB VEV4ZWNBZGRDb2x1bW4oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxh dGlvbiByZWwsCiAJCQkgKiBBdHRlbXB0IHRvIHNraXAgYSBjb21wbGV0ZSB0YWJsZSByZXdyaXRl IGJ5IHN0b3JpbmcgdGhlCiAJCQkgKiBzcGVjaWZpZWQgREVGQVVMVCB2YWx1ZSBvdXRzaWRlIG9m IHRoZSBoZWFwLiAgVGhpcyBpcyBvbmx5CiAJCQkgKiBhbGxvd2VkIGZvciBwbGFpbiByZWxhdGlv bnMgYW5kIG5vbi1nZW5lcmF0ZWQgY29sdW1ucywgYW5kIHRoZQotCQkJICogZGVmYXVsdCBleHBy ZXNzaW9uIGNhbid0IGJlIHZvbGF0aWxlIChzdGFibGUgaXMgT0spLiAgTm90ZSB0aGF0Ci0JCQkg KiBjb250YWluX3ZvbGF0aWxlX2Z1bmN0aW9ucyBkZWVtcyBDb2VyY2VUb0RvbWFpbiBpbW11dGFi bGUsIGJ1dAotCQkJICogaGVyZSB3ZSBjb25zaWRlciB0aGF0IGNvZXJjaW9uIHRvIGEgZG9tYWlu IHdpdGggY29uc3RyYWludHMgaXMKLQkJCSAqIHZvbGF0aWxlOyBlbHNlIGl0IG1pZ2h0IGZhaWwg ZXZlbiB3aGVuIHRoZSB0YWJsZSBpcyBlbXB0eS4KKwkJCSAqIGRlZmF1bHQgZXhwcmVzc2lvbiBj YW4ndCBiZSB2b2xhdGlsZSAoc3RhYmxlIGlzIE9LKSwgYW5kIHRoZQorCQkJICogZG9tYWluIGNv bnN0cmFpbnQgZXhwcmVzc2lvbiBjYW4ndCBiZSB2b2xhdGlsZSAoc3RhYmxlIGlzIE9LKS4KKwkJ CSAqCisJCQkgKiBOb3RlIHRoYXQgY29udGFpbl92b2xhdGlsZV9mdW5jdGlvbnMgZGVlbXMgQ29l cmNlVG9Eb21haW4KKwkJCSAqIGltbXV0YWJsZS4gSG93ZXZlciB3ZSBoYXZlIGRldGVybWluZWQg ZG9tYWluJ3Mgdm9sYXRpbGl0eSB2aWEKKwkJCSAqIERvbWFpbkhhdmVWb2xhdGlsZUNvbnN0cmFp bnRzLiBXZSBhdHRlbXB0IGEgc29mdCBldmFsdWF0aW9uIG9mCisJCQkgKiBDb2VyY2VUb0RvbWFp bjsgaWYgdGhhdCBldmFsdWF0aW9uIGZhaWxzLCB3ZSBmbGFnIHRoZSB0YWJsZSBmb3IKKwkJCSAq IGEgcmV3cml0ZS4KIAkJCSAqLwogCQkJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJ TkRfUkVMQVRJT04gJiYKIAkJCQkhY29sRGVmLT5nZW5lcmF0ZWQgJiYKLQkJCQkhaGFzX2RvbWFp bl9jb25zdHJhaW50cyAmJgorCQkJCSFoYXNfdm9sYXRpbGUgJiYKIAkJCQkhY29udGFpbl92b2xh dGlsZV9mdW5jdGlvbnMoKE5vZGUgKikgZGVmdmFsKSkKIAkJCXsKIAkJCQlFU3RhdGUJICAgKmVz dGF0ZTsKIAkJCQlFeHByU3RhdGUgICpleHByU3RhdGU7CiAJCQkJRGF0dW0JCW1pc3Npbmd2YWw7 CiAJCQkJYm9vbAkJbWlzc2luZ0lzTnVsbDsKKwkJCQlFcnJvclNhdmVDb250ZXh0IGVzY29udGV4 dCA9IHtUX0Vycm9yU2F2ZUNvbnRleHR9OwogCiAJCQkJLyogRXZhbHVhdGUgdGhlIGRlZmF1bHQg ZXhwcmVzc2lvbiAqLwogCQkJCWVzdGF0ZSA9IENyZWF0ZUV4ZWN1dG9yU3RhdGUoKTsKLQkJCQll eHByU3RhdGUgPSBFeGVjUHJlcGFyZUV4cHIoZGVmdmFsLCBlc3RhdGUpOworCQkJCWV4cHJTdGF0 ZSA9IEV4ZWNQcmVwYXJlRXhwckV4dGVuZGVkKGRlZnZhbCwgZXN0YXRlLCAoTm9kZSAqKSAmZXNj b250ZXh0KTsKIAkJCQltaXNzaW5ndmFsID0gRXhlY0V2YWxFeHByKGV4cHJTdGF0ZSwKIAkJCQkJ CQkJCQkgIEdldFBlclR1cGxlRXhwckNvbnRleHQoZXN0YXRlKSwKIAkJCQkJCQkJCQkgICZtaXNz aW5nSXNOdWxsKTsKKworCQkJCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGV4cHJTdGF0ZS0+ZXNj b250ZXh0KSkKKwkJCQl7CisJCQkJCW1pc3NpbmdJc051bGwgPSB0cnVlOworCQkJCQl0YWItPnJl d3JpdGUgfD0gQVRfUkVXUklURV9ERUZBVUxUX1ZBTDsKKwkJCQl9CisKIAkJCQkvKiBJZiBpdCB0 dXJucyBvdXQgTlVMTCwgbm90aGluZyB0byBkbzsgZWxzZSBzdG9yZSBpdCAqLwogCQkJCWlmICgh bWlzc2luZ0lzTnVsbCkKIAkJCQl7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2Zhc3RfZGVmYXVsdC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zhc3RfZGVm YXVsdC5vdXQKaW5kZXggY2NiY2RmODQwM2YuLjdkYWJlOTVkZmVlIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zhc3RfZGVmYXVsdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9mYXN0X2RlZmF1bHQub3V0CkBAIC0zMTcsMTEgKzMxNyw2MSBAQCBTRUxF Q1QgYSwgYiwgbGVuZ3RoKGMpID0gMyBhcyBjX29rLCBkLCBlID49IDEwIGFzIGVfb2sgRlJPTSB0 MjsKICAyIHwgMyB8IHQgICAgfCB7VGhpcyxpcyxhYmNkLHRoZSxyZWFsLHdvcmxkfSB8IHQKICgy IHJvd3MpCiAKKy0tLXRlc3QgZmFzdCBkZWZhdWx0IG92ZXIgZG9tYWlucyB3aXRoIGNvbnN0cmFp bnRzCitDUkVBVEUgRE9NQUlOIGRvbWFpbjUgQVMgaW50IENIRUNLKHZhbHVlID4gMTApIERFRkFV TFQgODsKK0NSRUFURSBET01BSU4gZG9tYWluNiBhcyBpbnQgQ0hFQ0sodmFsdWUgPiAxMCkgREVG QVVMVCByYW5kb20obWluPT4xMSwgbWF4PT4xMDApOworQ1JFQVRFIERPTUFJTiBkb21haW43IGFz IGludCBDSEVDSygodmFsdWUgKyByYW5kb20obWluPT4xMTo6aW50LCBtYXg9PjExKSkgPiAxMik7 CitDUkVBVEUgRE9NQUlOIGRvbWFpbjggYXMgaW50IG5vdCBudWxsOworLS10ZXN0cyB3aXRoIG5v bi1lbXB0eSB0YWJsZS4KK0NSRUFURSBUQUJMRSB0ZXN0X2FkZF9kb21haW5fY29sKGEgaW50KTsK K0FMVEVSIFRBQkxFIHRlc3RfYWRkX2RvbWFpbl9jb2wgQUREIENPTFVNTiBhMSBkb21haW41OyAt LXRhYmxlIHJld3JpdGUsIG5vdCBmYWlsLgorTk9USUNFOiAgcmV3cml0aW5nIHRhYmxlIHRlc3Rf YWRkX2RvbWFpbl9jb2wgZm9yIHJlYXNvbiAyCitBTFRFUiBUQUJMRSB0ZXN0X2FkZF9kb21haW5f Y29sIERST1AgQ09MVU1OIGExOworSU5TRVJUIElOVE8gdGVzdF9hZGRfZG9tYWluX2NvbCBWQUxV RVMoMSksKDIpOworQUxURVIgVEFCTEUgdGVzdF9hZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGIg ZG9tYWluNTsgLS10YWJsZSByZXdyaXRlLCB0aGVuIGZhaWwKK05PVElDRTogIHJld3JpdGluZyB0 YWJsZSB0ZXN0X2FkZF9kb21haW5fY29sIGZvciByZWFzb24gMgorRVJST1I6ICB2YWx1ZSBmb3Ig ZG9tYWluIGRvbWFpbjUgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZG9tYWluNV9jaGVjayIK K0FMVEVSIFRBQkxFIHRlc3RfYWRkX2RvbWFpbl9jb2wgQUREIENPTFVNTiBiIGRvbWFpbjg7IC0t dGFibGUgcmV3cml0ZSwgdGhlbiBmYWlsCitOT1RJQ0U6ICByZXdyaXRpbmcgdGFibGUgdGVzdF9h ZGRfZG9tYWluX2NvbCBmb3IgcmVhc29uIDIKK0VSUk9SOiAgZG9tYWluIGRvbWFpbjggZG9lcyBu b3QgYWxsb3cgbnVsbCB2YWx1ZXMKK0FMVEVSIFRBQkxFIHRlc3RfYWRkX2RvbWFpbl9jb2wgQURE IENPTFVNTiBiIGRvbWFpbjUgREVGQVVMVCAxOyAtLXRhYmxlIHJld3JpdGUsIHRoZW4gZmFpbAor Tk9USUNFOiAgcmV3cml0aW5nIHRhYmxlIHRlc3RfYWRkX2RvbWFpbl9jb2wgZm9yIHJlYXNvbiAy CitFUlJPUjogIHZhbHVlIGZvciBkb21haW4gZG9tYWluNSB2aW9sYXRlcyBjaGVjayBjb25zdHJh aW50ICJkb21haW41X2NoZWNrIgorQUxURVIgVEFCTEUgdGVzdF9hZGRfZG9tYWluX2NvbCBBREQg Q09MVU1OIGIgZG9tYWluNSBERUZBVUxUIDEyOyAtLW9rLCBubyB0YWJsZSByZXdyaXRlCistLWV4 cGxpY2l0IGNvbHVtbiBkZWZhdWx0IGV4cHJlc3Npb24gb3ZlcnJpZGUgZG9tYWluJ3MgZGVmYXVs dAorLS1leHByZXNzaW9uLCBzbyBubyB0YWJsZSByZXdyaXRlLgorQUxURVIgVEFCTEUgdGVzdF9h ZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGMgZG9tYWluNiBERUZBVUxUIDE0OworQUxURVIgVEFC TEUgdGVzdF9hZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGMxIGRvbWFpbjggREVGQVVMVCAxMzsg LS1ubyB0YWJsZSByZXdyaXRlCitTRUxFQ1QgYXR0bnVtLCBhdHRuYW1lLCBhdHRoYXNtaXNzaW5n LCBhdHRoYXNkZWYsIGF0dG1pc3Npbmd2YWwKK0ZST00gIHBnX2F0dHJpYnV0ZQorV0hFUkUgYXR0 bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAndGVzdF9hZGRfZG9tYWluX2NvbCc6OnJlZ2NsYXNzIEFO RCBhdHRpc2Ryb3BwZWQgaXMgZmFsc2UKK0FORCAgIGF0dGhhc21pc3NpbmcKK09SREVSIEJZIGF0 dG51bTsKKyBhdHRudW0gfCBhdHRuYW1lIHwgYXR0aGFzbWlzc2luZyB8IGF0dGhhc2RlZiB8IGF0 dG1pc3Npbmd2YWwgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLQorICAgICAgMyB8IGIgICAgICAgfCB0ICAgICAgICAgICAgIHwg dCAgICAgICAgIHwgezEyfQorICAgICAgNCB8IGMgICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAg ICAgICAgIHwgezE0fQorICAgICAgNSB8IGMxICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAgICAg ICAgIHwgezEzfQorKDMgcm93cykKKworLS0gV2UgbmVlZCB0byByZXdyaXRlIHRoZSB0YWJsZSB3 aGVuZXZlciBkb21haW4gZGVmYXVsdCBjb250YWlucyB2b2xhdGlsZSBleHByZXNzaW9uCitBTFRF UiBUQUJMRSB0ZXN0X2FkZF9kb21haW5fY29sIEFERCBDT0xVTU4gZCBkb21haW42OworTk9USUNF OiAgcmV3cml0aW5nIHRhYmxlIHRlc3RfYWRkX2RvbWFpbl9jb2wgZm9yIHJlYXNvbiAyCistLSBX ZSBuZWVkIHRvIHJld3JpdGUgdGhlIHRhYmxlIHdoZW5ldmVyIGRvbWFpbiBjb25zdHJhaW50IGV4 cHJlc3Npb24gY29udGFpbnMgdm9sYXRpbGUgZXhwcmVzc2lvbgorQUxURVIgVEFCTEUgdGVzdF9h ZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGUgZG9tYWluNyBkZWZhdWx0IDE0OworTk9USUNFOiAg cmV3cml0aW5nIHRhYmxlIHRlc3RfYWRkX2RvbWFpbl9jb2wgZm9yIHJlYXNvbiAyCitBTFRFUiBU QUJMRSB0ZXN0X2FkZF9kb21haW5fY29sIEFERCBDT0xVTU4gZiBkb21haW43OworTk9USUNFOiAg cmV3cml0aW5nIHRhYmxlIHRlc3RfYWRkX2RvbWFpbl9jb2wgZm9yIHJlYXNvbiAyCiBEUk9QIFRB QkxFIHQyOworRFJPUCBUQUJMRSB0ZXN0X2FkZF9kb21haW5fY29sOwogRFJPUCBET01BSU4gZG9t YWluMTsKIERST1AgRE9NQUlOIGRvbWFpbjI7CiBEUk9QIERPTUFJTiBkb21haW4zOwogRFJPUCBE T01BSU4gZG9tYWluNDsKK0RST1AgRE9NQUlOIGRvbWFpbjU7CitEUk9QIERPTUFJTiBkb21haW42 OworRFJPUCBET01BSU4gZG9tYWluNzsKK0RST1AgRE9NQUlOIGRvbWFpbjg7CiBEUk9QIEZVTkNU SU9OIGZvbyhJTlQpOwogLS0gRmFsbCBiYWNrIHRvIGZ1bGwgcmV3cml0ZSBmb3Igdm9sYXRpbGUg ZXhwcmVzc2lvbnMKIENSRUFURSBUQUJMRSBUKHBrIElOVCBOT1QgTlVMTCBQUklNQVJZIEtFWSk7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mYXN0X2RlZmF1bHQuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZmFzdF9kZWZhdWx0LnNxbAppbmRleCAwNjhkZDBiYzhhYS4uMTRk NWYxNzhjOWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zhc3RfZGVmYXVsdC5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZmFzdF9kZWZhdWx0LnNxbApAQCAtMjg3LDEx ICsyODcsNTEgQEAgT1JERVIgQlkgYXR0bnVtOwogCiBTRUxFQ1QgYSwgYiwgbGVuZ3RoKGMpID0g MyBhcyBjX29rLCBkLCBlID49IDEwIGFzIGVfb2sgRlJPTSB0MjsKIAorLS0tdGVzdCBmYXN0IGRl ZmF1bHQgb3ZlciBkb21haW5zIHdpdGggY29uc3RyYWludHMKK0NSRUFURSBET01BSU4gZG9tYWlu NSBBUyBpbnQgQ0hFQ0sodmFsdWUgPiAxMCkgREVGQVVMVCA4OworQ1JFQVRFIERPTUFJTiBkb21h aW42IGFzIGludCBDSEVDSyh2YWx1ZSA+IDEwKSBERUZBVUxUIHJhbmRvbShtaW49PjExLCBtYXg9 PjEwMCk7CitDUkVBVEUgRE9NQUlOIGRvbWFpbjcgYXMgaW50IENIRUNLKCh2YWx1ZSArIHJhbmRv bShtaW49PjExOjppbnQsIG1heD0+MTEpKSA+IDEyKTsKK0NSRUFURSBET01BSU4gZG9tYWluOCBh cyBpbnQgbm90IG51bGw7CisKKy0tdGVzdHMgd2l0aCBub24tZW1wdHkgdGFibGUuCitDUkVBVEUg VEFCTEUgdGVzdF9hZGRfZG9tYWluX2NvbChhIGludCk7CitBTFRFUiBUQUJMRSB0ZXN0X2FkZF9k b21haW5fY29sIEFERCBDT0xVTU4gYTEgZG9tYWluNTsgLS10YWJsZSByZXdyaXRlLCBub3QgZmFp bC4KK0FMVEVSIFRBQkxFIHRlc3RfYWRkX2RvbWFpbl9jb2wgRFJPUCBDT0xVTU4gYTE7CitJTlNF UlQgSU5UTyB0ZXN0X2FkZF9kb21haW5fY29sIFZBTFVFUygxKSwoMik7CisKK0FMVEVSIFRBQkxF IHRlc3RfYWRkX2RvbWFpbl9jb2wgQUREIENPTFVNTiBiIGRvbWFpbjU7IC0tdGFibGUgcmV3cml0 ZSwgdGhlbiBmYWlsCitBTFRFUiBUQUJMRSB0ZXN0X2FkZF9kb21haW5fY29sIEFERCBDT0xVTU4g YiBkb21haW44OyAtLXRhYmxlIHJld3JpdGUsIHRoZW4gZmFpbAorQUxURVIgVEFCTEUgdGVzdF9h ZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGIgZG9tYWluNSBERUZBVUxUIDE7IC0tdGFibGUgcmV3 cml0ZSwgdGhlbiBmYWlsCitBTFRFUiBUQUJMRSB0ZXN0X2FkZF9kb21haW5fY29sIEFERCBDT0xV TU4gYiBkb21haW41IERFRkFVTFQgMTI7IC0tb2ssIG5vIHRhYmxlIHJld3JpdGUKKworLS1leHBs aWNpdCBjb2x1bW4gZGVmYXVsdCBleHByZXNzaW9uIG92ZXJyaWRlIGRvbWFpbidzIGRlZmF1bHQK Ky0tZXhwcmVzc2lvbiwgc28gbm8gdGFibGUgcmV3cml0ZS4KK0FMVEVSIFRBQkxFIHRlc3RfYWRk X2RvbWFpbl9jb2wgQUREIENPTFVNTiBjIGRvbWFpbjYgREVGQVVMVCAxNDsKKworQUxURVIgVEFC TEUgdGVzdF9hZGRfZG9tYWluX2NvbCBBREQgQ09MVU1OIGMxIGRvbWFpbjggREVGQVVMVCAxMzsg LS1ubyB0YWJsZSByZXdyaXRlCitTRUxFQ1QgYXR0bnVtLCBhdHRuYW1lLCBhdHRoYXNtaXNzaW5n LCBhdHRoYXNkZWYsIGF0dG1pc3Npbmd2YWwKK0ZST00gIHBnX2F0dHJpYnV0ZQorV0hFUkUgYXR0 bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAndGVzdF9hZGRfZG9tYWluX2NvbCc6OnJlZ2NsYXNzIEFO RCBhdHRpc2Ryb3BwZWQgaXMgZmFsc2UKK0FORCAgIGF0dGhhc21pc3NpbmcKK09SREVSIEJZIGF0 dG51bTsKKworLS0gV2UgbmVlZCB0byByZXdyaXRlIHRoZSB0YWJsZSB3aGVuZXZlciBkb21haW4g ZGVmYXVsdCBjb250YWlucyB2b2xhdGlsZSBleHByZXNzaW9uCitBTFRFUiBUQUJMRSB0ZXN0X2Fk ZF9kb21haW5fY29sIEFERCBDT0xVTU4gZCBkb21haW42OworCistLSBXZSBuZWVkIHRvIHJld3Jp dGUgdGhlIHRhYmxlIHdoZW5ldmVyIGRvbWFpbiBjb25zdHJhaW50IGV4cHJlc3Npb24gY29udGFp bnMgdm9sYXRpbGUgZXhwcmVzc2lvbgorQUxURVIgVEFCTEUgdGVzdF9hZGRfZG9tYWluX2NvbCBB REQgQ09MVU1OIGUgZG9tYWluNyBkZWZhdWx0IDE0OworQUxURVIgVEFCTEUgdGVzdF9hZGRfZG9t YWluX2NvbCBBREQgQ09MVU1OIGYgZG9tYWluNzsKKwogRFJPUCBUQUJMRSB0MjsKK0RST1AgVEFC TEUgdGVzdF9hZGRfZG9tYWluX2NvbDsKIERST1AgRE9NQUlOIGRvbWFpbjE7CiBEUk9QIERPTUFJ TiBkb21haW4yOwogRFJPUCBET01BSU4gZG9tYWluMzsKIERST1AgRE9NQUlOIGRvbWFpbjQ7CitE Uk9QIERPTUFJTiBkb21haW41OworRFJPUCBET01BSU4gZG9tYWluNjsKK0RST1AgRE9NQUlOIGRv bWFpbjc7CitEUk9QIERPTUFJTiBkb21haW44OwogRFJPUCBGVU5DVElPTiBmb28oSU5UKTsKIAog LS0gRmFsbCBiYWNrIHRvIGZ1bGwgcmV3cml0ZSBmb3Igdm9sYXRpbGUgZXhwcmVzc2lvbnMKLS0g CjIuMzQuMQoK --000000000000556d8c064945cb27--