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.94.2) (envelope-from ) id 1vEHvV-0093JO-1C for pgsql-hackers@arkaria.postgresql.org; Thu, 30 Oct 2025 01:58:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vEHvT-005AxU-Vg for pgsql-hackers@arkaria.postgresql.org; Thu, 30 Oct 2025 01:58:07 +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.94.2) (envelope-from ) id 1vEHvT-005AxM-Jy for pgsql-hackers@lists.postgresql.org; Thu, 30 Oct 2025 01:58:06 +0000 Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vEHvQ-004zAA-0O for pgsql-hackers@postgresql.org; Thu, 30 Oct 2025 01:58:06 +0000 Received: by mail-vs1-xe31.google.com with SMTP id ada2fe7eead31-5db2dc4e42dso577580137.1 for ; Wed, 29 Oct 2025 18:58:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761789482; x=1762394282; darn=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=kfcpH3A0ApXiKTPv0PVSaXEscLR8fSflThKzq51bTNU=; b=eMVU5rTGjBbYUhiRsEyToNEBdVZITx9RKoFRVU/tT3BgqNMnWG5p3+mzlrfL7Kt+om GUFFWEHgcewrAlPEyz1KMFaeTNrE+qCuZmtfQqZ6bVVeI8k5tlXmevpDQDTdAaaHxsZW 1oUfxqP0PtUwX+Qm4SJ8NM7bsu0oWWZd/+DanML1CD+x4njJB6RTHJQ83h+ViudcJtXk abg4FmZzITZI2TuNITy4+CwaxQgHeuBINW0AF9AxeJJ5dK7LG6qYngFIm1AZ+A5EH6H9 WuiZWnVCEGQSlisxSrJAWP5VaO2h6zmZ+R6/8cRBRO/b8AbgESmo/yCynIdgwfbY5GF8 Z/Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761789482; x=1762394282; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kfcpH3A0ApXiKTPv0PVSaXEscLR8fSflThKzq51bTNU=; b=CnXDsriXciFQuS8BEK3qIZJ3moRips2CBr8xxZ7D9IPx1YZgHh63u4Z4Kbo5Jiwji1 servduCOd8MqJktwGTCNZXRJgU9BhjWKyBWl4eaGetimDh/NPxrxqcAzPmvVNsNfrV8d D+3EXaTH+kb0ykqivMKJvecR7tnVlZ0RnIuVLLAH+9WdVLdQu62EvD6DZZJ+JK7PysHp lxsRH6MtbioXq77m6ZRV2jSad+3Tns/R8JIsaN7XxtQKrg/1NScLRrXOErIzQQgRcPqF cwj5MpwE7w16O6YuS6vcvxQPEDKilYktiB/Tary9Cg8f26mrpKGfBKC0D0yrLwHGNWpP fuQw== X-Forwarded-Encrypted: i=1; AJvYcCU1xpN50bJTTU8ggTlbQd6yvQ7rAL7DuWJ3oVeffl1IJ3BwKdbgh6j0y8LDEopnDcMdZ8qjrEhVtJ6/OIAR@postgresql.org X-Gm-Message-State: AOJu0YwJt4KrEXazhVW+J9AfOy21CqDj1Mw6GhlUxHfgmOADqqgAzKwx /fOAy4tBXRbB9ZHIqTh+yTlSC9PgmGtXhp3yeWuN3nx0LwLXI1jy1Ee/Gb3vckQdb+l6tQkG+ae aQy/akpGSPduyFzgmOI7wOE2em4olJnY= X-Gm-Gg: ASbGncsP2HGeESSRHkCUlCgc0q8PE9B/P3l5JwDcpNtIFmrWHVKppFvz5iEUM813BIJ Lz59NupmmcHiHqfqnAAG1nUon5+aozJL8CIR6AyUX1Cq2bwhW1/Gwnt0BVd4PUAbPnQ7pzYew7W xCciBxQDslwE+tn48lxwCjQkSeWBOLxaQUQsS0ZS5ELvLlqhj3hesjNw7dGJ3bKVp8YvcSjLSfL DzIJJxuA+DO39gI9+Rgq8tp3RFgBeB1g1MjZyHFoF5JcW/fvupP96stnK4mSnTb1rFlr/8khLa7 eKxBKDnWNe0Ip4ZdtcL/zCNpVctgS/nS8I8VeNg3V/BNIwXqwKBb6k4gaQdTFlC4uTt7ypWdwW9 jrFBry24q960u0HQUDo+ym4w1XO0qjgtJ539EdlczuZmrrR26jN64HInGDQeRXc4wOQDR6ngXtb Dg1C0YVkOzPehY X-Google-Smtp-Source: AGHT+IFO4kw+G5KYKotsWILRkycgQfUShEyscOiPwHZGfOX7ZvtE17A5Pjz/7nsgyVK9AOrjnc9aW6kPDpUsyH/KaK8= X-Received: by 2002:a05:6102:c01:b0:5d6:2be5:86dd with SMTP id ada2fe7eead31-5dba0ecaacbmr681721137.12.1761789481990; Wed, 29 Oct 2025 18:58:01 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Thu, 30 Oct 2025 09:57:24 +0800 X-Gm-Features: AWmQ_bnF624NnXvvngW2K7Pw1FkhZxvGpyUB_N3Y71DiY0ohqnPrKumW6sFeJG0 Message-ID: Subject: Re: create table like including storage parameter To: Nathan Bossart Cc: "David G. Johnston" , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000003e62790642569476" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003e62790642569476 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Oct 25, 2025 at 1:48=E2=80=AFAM Nathan Bossart wrote: > > On Sun, Sep 28, 2025 at 08:28:45PM -0500, David G. Johnston wrote: > > On Sunday, September 28, 2025, jian he wr= ote: > >> Since we already support INCLUDING STORAGE, I=E2=80=99m not sure that > >> INCLUDING STORAGE PARAMETER is the right syntax to go with. > > > > I=E2=80=99d just call it =E2=80=9Cincluding parameters=E2=80=9D; sure, = all of the existing ones are > > storage related, but if there were non-storage ones we=E2=80=99d includ= e those as > > well, so qualifying with a parameter type doesn=E2=80=99t seem correct. > > +1 > > -- > nathan hi. attached patch using syntax: CREATE TABLE LIKE INCLUDING PARAMETERS. --0000000000003e62790642569476 Content-Type: text/x-patch; charset="US-ASCII"; name="v4-0001-create-table-like-incluing-parameters.patch" Content-Disposition: attachment; filename="v4-0001-create-table-like-incluing-parameters.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhcrxgl40 RnJvbSAxNmRkNTUxYWQ4OWM5OTlkNWU0ZWM2NTRlMjBkZjdhYzYyZGY2YTJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMzAgT2N0IDIwMjUgMDk6NTM6MjIgKzA4MDAKU3ViamVjdDogW1BBVENIIHY0 IDEvMV0gY3JlYXRlIHRhYmxlIGxpa2UgaW5jbHVpbmcgcGFyYW1ldGVycwoKZGVtbzoKY3JlYXRl IHRhYmxlIHQoYSB0ZXh0KSB3aXRoIChmaWxsZmFjdG9yID0gMTAwLCB0b2FzdC52YWN1dW1fdHJ1 bmNhdGU9dHJ1ZSk7CmNyZWF0ZSB0YWJsZSB0MihsaWtlIHQgaW5jbHVkaW5nIHBhcmFtZXRlcnMp OwpcZCsgdDIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxl ICJwdWJsaWMudDIiCiBDb2x1bW4gfCBUeXBlIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZh dWx0IHwgU3RvcmFnZSAgfCBDb21wcmVzc2lvbiB8IFN0YXRzIHRhcmdldCB8IERlc2NyaXB0aW9u Ci0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQogYSAgICAgIHwg dGV4dCB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IGV4dGVuZGVkIHwgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgfApBY2Nlc3MgbWV0aG9kOiBoZWFwCk9wdGlvbnM6IGZpbGxm YWN0b3I9MTAwLCB0b2FzdC52YWN1dW1fdHJ1bmNhdGU9dHJ1ZQoKZGlzY3Vzc2lvbjogaHR0cHM6 Ly9wb3N0Z3IuZXMvbS9DQUNKdWZ4SHI9bktFc1M2Nk03clRIZ0IrbVhkUTk0OD1fZUoxanp0QWM3 UFQtZUplZkFAbWFpbC5nbWFpbC5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJs ZS5zZ21sICAgICAgICAgICAgfCAxMiArKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3Jl bG9wdGlvbnMuYyAgICAgICAgfCA1MCArKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICA1ICstCiBzcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrCiBzcmMv aW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oICAgICAgICAgICAgICAgfCAgMSArCiBzcmMvaW5j bHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgMSArCiBzcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmggICAgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vcmVncmVzcy9l eHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgICAgfCAzOSArKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsICAgIHwgMjggKysrKysrKysKIDkg ZmlsZXMgY2hhbmdlZCwgMTk5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3RhYmxlLnNnbWwKaW5kZXggYTE1N2EyNDRlNGUuLmNhZDgzOWI0NTJkIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKQEAgLTg4LDcgKzg4LDcgQEAgY2xhc3M9InBhcmFt ZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVw bGFjZWFibGUgY2wKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pmxpa2Vfb3B0aW9uPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CiAKLXsgSU5DTFVESU5HIHwg RVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTVBSRVNTSU9OIHwgQ09OU1RSQUlOVFMgfCBERUZB VUxUUyB8IEdFTkVSQVRFRCB8IElERU5USVRZIHwgSU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9S QUdFIHwgQUxMIH0KK3sgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTVBS RVNTSU9OIHwgQ09OU1RSQUlOVFMgfCBERUZBVUxUUyB8IEdFTkVSQVRFRCB8IElERU5USVRZIHwg SU5ERVhFUyB8IFNUQVRJU1RJQ1MgfCBTVE9SQUdFIHwgUEFSQU1FVEVSUyB8IEFMTCB9CiAKIDxw aHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXJ0aXRpb25fYm91bmRf c3BlYzwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCkBAIC03NTMsNiArNzUzLDE2IEBAIFdJ VEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVy YWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAgPC92YXJs aXN0ZW50cnk+CiAKKyAgICAgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldGFibGUtcGFy bXMtbGlrZS1vcHQtc3RvcmFnZS1wYXJhbXRlciI+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPklO Q0xVRElORyBQQVJBTUVURVJTPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPGxpc3RpdGVtPgor ICAgICAgICAgPHBhcmE+CisgICAgICAgICAgQWxsIHBhcmFtZXRlcnMsIHN1Y2ggYXMgdGhlIDxs aXRlcmFsPlNUT1JBR0UgUEFSQU1FVEVSPC9saXRlcmFsPiBzZXR0aW5ncyBvZiB0aGUgc291cmNl IHRhYmxlLCB3aWxsIGJlIGNvcGllZC4KKyAgICAgICAgICBGb3IgdGFibGUgc3RvcmFnZSBwYXJh bWV0ZXJzLCBzZWUgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlLXN0b3JhZ2UtcGFyYW1l dGVycyIvPiBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgICAgICAgIDwvcGFyYT4KKyAg ICAgICAgPC9saXN0aXRlbT4KKyAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICAgIDx2YXJs aXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1saWtlLW9wdC1zdGF0aXN0aWNzIj4K ICAgICAgICAgPHRlcm0+PGxpdGVyYWw+SU5DTFVESU5HIFNUQVRJU1RJQ1M8L2xpdGVyYWw+PC90 ZXJtPgogICAgICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mv Y29tbW9uL3JlbG9wdGlvbnMuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsb3B0aW9u cy5jCmluZGV4IDllMjg4ZGZlY2JmLi4zNjVmMzA0MDJmMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2Nv bW1vbi9yZWxvcHRpb25zLmMKQEAgLTEzOTIsNiArMTM5Miw1NiBAQCB1bnRyYW5zZm9ybVJlbE9w dGlvbnMoRGF0dW0gb3B0aW9ucykKIAlyZXR1cm4gcmVzdWx0OwogfQogCisvKgorICogQ29udmVy dCB0aGUgcmVsb3B0aW9ucyBmcm9tIHRleHQtYXJyYXkgZm9ybWF0IGludG8gYSBMaXN0IG9mIERl ZkVsZW0uICBUaGlzCisgKiBpcyB0aGUgcmV2ZXJzZSBvcGVyYXRpb24gb2YgdHJhbnNmb3JtUmVs T3B0aW9ucygpLgorICoKKyAqIElmIGFueSBvcHRpb24gaW5jbHVkZXMgYSBuYW1lc3BhY2UgcXVh bGlmaWNhdGlvbiwgY3JlYXRlIHRoZSBEZWZFbGVtIGluIHRoYXQKKyAqIG5hbWVzcGFjZSwgb3Ro ZXJ3aXNlIHRoaXMgYmVoYXZlIHRoZSBzYW1lIGFzIHVudHJhbnNmb3JtUmVsT3B0aW9ucy4KKyAq LworTGlzdCAqCit1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChEYXR1bSBvcHRpb25zLCBj aGFyKiBuYW1lU3BhY2UpCit7CisJTGlzdAkgICAqcmVzdWx0ID0gTklMOworCUFycmF5VHlwZSAg KmFycmF5OworCURhdHVtCSAgICpvcHRpb25kYXR1bXM7CisJaW50CQkJbm9wdGlvbnM7CisJaW50 CQkJaTsKKworCS8qIE5vdGhpbmcgdG8gZG8gaWYgbm8gb3B0aW9ucyAqLworCWlmIChEYXR1bUdl dFBvaW50ZXIob3B0aW9ucykgPT0gTlVMTCkKKwkJcmV0dXJuIHJlc3VsdDsKKworCWFycmF5ID0g RGF0dW1HZXRBcnJheVR5cGVQKG9wdGlvbnMpOworCisJZGVjb25zdHJ1Y3RfYXJyYXlfYnVpbHRp bihhcnJheSwgVEVYVE9JRCwgJm9wdGlvbmRhdHVtcywgTlVMTCwgJm5vcHRpb25zKTsKKworCWZv ciAoaSA9IDA7IGkgPCBub3B0aW9uczsgaSsrKQorCXsKKwkJY2hhcgkgICAqczsKKwkJY2hhcgkg ICAqcDsKKwkJTm9kZQkgICAqdmFsID0gTlVMTDsKKworCQlzID0gVGV4dERhdHVtR2V0Q1N0cmlu ZyhvcHRpb25kYXR1bXNbaV0pOworCQlwID0gc3RyY2hyKHMsICc9Jyk7CisJCWlmIChwKQorCQl7 CisJCQkqcCsrID0gJ1wwJzsKKwkJCXZhbCA9IChOb2RlICopIG1ha2VTdHJpbmcocCk7CisJCX0K KworCQlpZiAobmFtZVNwYWNlID09IE5VTEwpCisJCQlyZXN1bHQgPSBsYXBwZW5kKHJlc3VsdCwg bWFrZURlZkVsZW0ocywgdmFsLCAtMSkpOworCQllbHNlCisJCQlyZXN1bHQgPSBsYXBwZW5kKHJl c3VsdCwgbWFrZURlZkVsZW1FeHRlbmRlZChuYW1lU3BhY2UsIHMsIHZhbCwKKwkJCQkJCQkJCQkJ CQkJIERFRkVMRU1fVU5TUEVDLAorCQkJCQkJCQkJCQkJCQkgLTEpKTsKKwl9CisKKwlyZXR1cm4g cmVzdWx0OworfQorCisKIC8qCiAgKiBFeHRyYWN0IGFuZCBwYXJzZSByZWxvcHRpb25zIGZyb20g YSBwZ19jbGFzcyB0dXBsZS4KICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3Jh bS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCBhNGIyOWM4MjJlOC4uZmU0YjAz NWZlMzQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNzYyLDcgKzc2Miw3IEBAIHN0YXRpYyBOb2RlICptYWtl UmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpx dWVyeSk7CiAJT1JERVIgT1JESU5BTElUWSBPVEhFUlMgT1VUX1AgT1VURVJfUAogCU9WRVIgT1ZF UkxBUFMgT1ZFUkxBWSBPVkVSUklESU5HIE9XTkVEIE9XTkVSCiAKLQlQQVJBTExFTCBQQVJBTUVU RVIgUEFSU0VSIFBBUlRJQUwgUEFSVElUSU9OIFBBU1NJTkcgUEFTU1dPUkQgUEFUSAorCVBBUkFM TEVMIFBBUkFNRVRFUiBQQVJBTUVURVJTIFBBUlNFUiBQQVJUSUFMIFBBUlRJVElPTiBQQVNTSU5H IFBBU1NXT1JEIFBBVEgKIAlQRVJJT0QgUExBQ0lORyBQTEFOIFBMQU5TIFBPTElDWQogCVBPU0lU SU9OIFBSRUNFRElORyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFSRSBQUkVQQVJFRCBQUklNQVJZ CiAJUFJJT1IgUFJJVklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVSRSBQUk9DRURVUkVTIFBST0dS QU0gUFVCTElDQVRJT04KQEAgLTQyMjMsNiArNDIyMyw3IEBAIFRhYmxlTGlrZU9wdGlvbjoKIAkJ CQl8IElOREVYRVMJCQl7ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfSU5ERVhFUzsgfQogCQkJCXwg U1RBVElTVElDUwkJeyAkJCA9IENSRUFURV9UQUJMRV9MSUtFX1NUQVRJU1RJQ1M7IH0KIAkJCQl8 IFNUT1JBR0UJCQl7ICQkID0gQ1JFQVRFX1RBQkxFX0xJS0VfU1RPUkFHRTsgfQorCQkJCXwgUEFS QU1FVEVSUyAJCXsgJCQgPSBDUkVBVEVfVEFCTEVfTElLRV9QQVJBTUVURVJTOyB9CiAJCQkJfCBB TEwJCQkJeyAkJCA9IENSRUFURV9UQUJMRV9MSUtFX0FMTDsgfQogCQk7CiAKQEAgLTE3OTk0LDYg KzE3OTk1LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBPV05FUgogCQkJfCBQQVJBTExF TAogCQkJfCBQQVJBTUVURVIKKwkJCXwgUEFSQU1FVEVSUwogCQkJfCBQQVJTRVIKIAkJCXwgUEFS VElBTAogCQkJfCBQQVJUSVRJT04KQEAgLTE4NjIyLDYgKzE4NjI0LDcgQEAgYmFyZV9sYWJlbF9r ZXl3b3JkOgogCQkJfCBPV05FUgogCQkJfCBQQVJBTExFTAogCQkJfCBQQVJBTUVURVIKKwkJCXwg UEFSQU1FVEVSUwogCQkJfCBQQVJTRVIKIAkJCXwgUEFSVElBTAogCQkJfCBQQVJUSVRJT04KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IGU5NmIzOGE1OWQ1Li43OTFmZmM1MTUwYyAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC04NSw2ICs4NSw3IEBAIHR5cGVkZWYg c3RydWN0CiAJTGlzdAkgICAqZmtjb25zdHJhaW50czsJLyogRk9SRUlHTiBLRVkgY29uc3RyYWlu dHMgKi8KIAlMaXN0CSAgICppeGNvbnN0cmFpbnRzOwkvKiBpbmRleC1jcmVhdGluZyBjb25zdHJh aW50cyAqLwogCUxpc3QJICAgKmxpa2VjbGF1c2VzOwkvKiBMSUtFIGNsYXVzZXMgdGhhdCBuZWVk IHBvc3QtcHJvY2Vzc2luZyAqLworCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBvcHRpb25zIGZyb20g V0lUSCBjbGF1c2UsIHRhYmxlIEFNIHNwZWNpZmljIHBhcmFtZXRlcnMgKi8KIAlMaXN0CSAgICpi bGlzdDsJCQkvKiAiYmVmb3JlIGxpc3QiIG9mIHRoaW5ncyB0byBkbyBiZWZvcmUKIAkJCQkJCQkJ ICogY3JlYXRpbmcgdGhlIHRhYmxlICovCiAJTGlzdAkgICAqYWxpc3Q7CQkJLyogImFmdGVyIGxp c3QiIG9mIHRoaW5ncyB0byBkbyBhZnRlciBjcmVhdGluZwpAQCAtMjQ1LDYgKzI0Niw3IEBAIHRy YW5zZm9ybUNyZWF0ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJp bmcpCiAJY3h0LmZrY29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lml4Y29uc3RyYWludHMgPSBOSUw7 CiAJY3h0Lmxpa2VjbGF1c2VzID0gTklMOworCWN4dC5vcHRpb25zID0gc3RtdC0+b3B0aW9uczsK IAljeHQuYmxpc3QgPSBOSUw7CiAJY3h0LmFsaXN0ID0gTklMOwogCWN4dC5wa2V5ID0gTlVMTDsK QEAgLTM2OSw2ICszNzEsNyBAQCB0cmFuc2Zvcm1DcmVhdGVTdG10KENyZWF0ZVN0bXQgKnN0bXQs IGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCXN0bXQtPnRhYmxlRWx0cyA9IGN4dC5jb2x1bW5z OwogCXN0bXQtPmNvbnN0cmFpbnRzID0gY3h0LmNrY29uc3RyYWludHM7CiAJc3RtdC0+bm5jb25z dHJhaW50cyA9IGN4dC5ubmNvbnN0cmFpbnRzOworCXN0bXQtPm9wdGlvbnMgPSBjeHQub3B0aW9u czsKIAogCXJlc3VsdCA9IGxhcHBlbmQoY3h0LmJsaXN0LCBzdG10KTsKIAlyZXN1bHQgPSBsaXN0 X2NvbmNhdChyZXN1bHQsIGN4dC5hbGlzdCk7CkBAIC0xMjY4LDYgKzEyNzEsNjYgQEAgdHJhbnNm b3JtVGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVz ZSAqdGFibGVfbGlrZV9jbGEKIAkJfQogCX0KIAorCS8qIExpa2V3aXNlLCBjb3B5IHBhcmFtdGVy cyBpZiByZXF1ZXN0ZWQgKi8KKwlpZiAoKHRhYmxlX2xpa2VfY2xhdXNlLT5vcHRpb25zICYgQ1JF QVRFX1RBQkxFX0xJS0VfUEFSQU1FVEVSUykgJiYKKwkJIWN4dC0+aXNmb3JlaWduKQorCXsKKwkJ SGVhcFR1cGxlCXR1cGxlOworCQlEYXR1bQkJcmVsb3B0aW9uczsKKwkJYm9vbAkJaXNudWxsOwor CQlPaWQJCQlyZWxpZDsKKwkJTGlzdAkJKm9sZG9wdGlvbnMgPSBOSUw7CisJCUxpc3QJCSpvbGR0 b2FzdG9wdGlvbnMgPSBOSUw7CisKKwkJcmVsaWQgPSBSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9u KTsKKwkJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZTEoUkVMT0lELCBPYmplY3RJZEdldERhdHVtKHJl bGlkKSk7CisKKwkJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlKSkKKwkJCWVsb2coRVJST1Is ICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciByZWxhdGlvbiAldSIsIHJlbGlkKTsKKworCQlyZWxv cHRpb25zID0gU3lzQ2FjaGVHZXRBdHRyKFJFTE9JRCwgdHVwbGUsCisJCQkJCQkJCQkgQW51bV9w Z19jbGFzc19yZWxvcHRpb25zLCAmaXNudWxsKTsKKworCQlpZiAoIWlzbnVsbCkKKwkJeworCQkJ b2xkb3B0aW9ucyA9IHVudHJhbnNmb3JtUmVsT3B0aW9ucyhyZWxvcHRpb25zKTsKKworCQkJZm9y ZWFjaF9ub2RlKERlZkVsZW0sIG9wdGlvbiwgb2xkb3B0aW9ucykKKwkJCQljeHQtPm9wdGlvbnMg PSBsYXBwZW5kKGN4dC0+b3B0aW9ucywgb3B0aW9uKTsKKwkJfQorCQlSZWxlYXNlU3lzQ2FjaGUo dHVwbGUpOworCisJCS8qIGdldCB0aGUgdG9hc3QgcmVsYXRpb24gcmVsb3B0aW9ucyAqLworCQlp ZiAoT2lkSXNWYWxpZChyZWxhdGlvbi0+cmRfcmVsLT5yZWx0b2FzdHJlbGlkKSkKKwkJeworCQkJ UmVsYXRpb24JdG9hc3RyZWw7CisKKwkJCU9pZAkJCXRvYXN0aWQgPSByZWxhdGlvbi0+cmRfcmVs LT5yZWx0b2FzdHJlbGlkOworCisJCQl0b2FzdHJlbCA9IHRhYmxlX29wZW4odG9hc3RpZCwgQWNj ZXNzU2hhcmVMb2NrKTsKKworCQkJLyogRmV0Y2ggaGVhcCB0dXBsZSAqLworCQkJdHVwbGUgPSBT ZWFyY2hTeXNDYWNoZTEoUkVMT0lELCBPYmplY3RJZEdldERhdHVtKHRvYXN0aWQpKTsKKworCQkJ aWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlKSkKKwkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9v a3VwIGZhaWxlZCBmb3IgdG9hc3QgcmVsYXRpb24gJXUiLCB0b2FzdGlkKTsKKworCQkJLyogR2V0 IHRoZSB0b2FzdCByZWxvcHRpb25zICovCisJCQlyZWxvcHRpb25zID0gU3lzQ2FjaGVHZXRBdHRy KFJFTE9JRCwgdHVwbGUsIEFudW1fcGdfY2xhc3NfcmVsb3B0aW9ucywKKwkJCQkJCQkJCQkgJmlz bnVsbCk7CisJCQlpZiAoIWlzbnVsbCkKKwkJCXsKKwkJCQlvbGR0b2FzdG9wdGlvbnMgPSB1bnRy YW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChyZWxvcHRpb25zLCAidG9hc3QiKTsKKworCQkJCWZv cmVhY2hfbm9kZShEZWZFbGVtLCBvcHRpb24sIG9sZHRvYXN0b3B0aW9ucykKKwkJCQkJY3h0LT5v cHRpb25zID0gbGFwcGVuZChjeHQtPm9wdGlvbnMsIG9wdGlvbik7CisJCQl9CisJCQlSZWxlYXNl U3lzQ2FjaGUodHVwbGUpOworCisJCQl0YWJsZV9jbG9zZSh0b2FzdHJlbCwgTm9Mb2NrKTsKKwkJ fQorCX0KKwogCS8qCiAJICogUmVwcm9kdWNlIG5vdC1udWxsIGNvbnN0cmFpbnRzLCBpZiBhbnks IGJ5IGNvcHlpbmcgdGhlbS4gIFdlIGRvIHRoaXMKIAkgKiByZWdhcmRsZXNzIG9mIG9wdGlvbnMg Z2l2ZW4uCkBAIC0zNTc1LDYgKzM2MzgsNyBAQCB0cmFuc2Zvcm1BbHRlclRhYmxlU3RtdChPaWQg cmVsaWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAogCWN4dC5ma2NvbnN0cmFpbnRzID0gTklMOwog CWN4dC5peGNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5saWtlY2xhdXNlcyA9IE5JTDsKKwljeHQu b3B0aW9ucyA9IE5JTDsKIAljeHQuYmxpc3QgPSBOSUw7CiAJY3h0LmFsaXN0ID0gTklMOwogCWN4 dC5wa2V5ID0gTlVMTDsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25z LmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCmluZGV4IGE2MDRhNDcwMmMzLi44 NTg5NjE2ZDA4YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaAor KysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCkBAIC0yMzYsNiArMjM2LDcgQEAg ZXh0ZXJuIERhdHVtIHRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb2xkT3B0aW9ucywgTGlzdCAq ZGVmTGlzdCwKIAkJCQkJCQkJIGNvbnN0IGNoYXIgKm5hbWVTcGFjZSwgY29uc3QgY2hhciAqY29u c3QgdmFsaWRuc3BzW10sCiAJCQkJCQkJCSBib29sIGFjY2VwdE9pZHNPZmYsIGJvb2wgaXNSZXNl dCk7CiBleHRlcm4gTGlzdCAqdW50cmFuc2Zvcm1SZWxPcHRpb25zKERhdHVtIG9wdGlvbnMpOwor ZXh0ZXJuIExpc3QgKnVudHJhbnNmb3JtUmVsT3B0aW9uc0V4dGVuZGVkKERhdHVtIG9wdGlvbnMs IGNoYXIqIG5hbWVTcGFjZSk7CiBleHRlcm4gYnl0ZWEgKmV4dHJhY3RSZWxPcHRpb25zKEhlYXBU dXBsZSB0dXBsZSwgVHVwbGVEZXNjIHR1cGRlc2MsCiAJCQkJCQkJCWFtb3B0aW9uc19mdW5jdGlv biBhbW9wdGlvbnMpOwogZXh0ZXJuIHZvaWQgKmJ1aWxkX3JlbG9wdGlvbnMoRGF0dW0gcmVsb3B0 aW9ucywgYm9vbCB2YWxpZGF0ZSwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNl bm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBlY2JkZGQxMmUx Yi4uYThlNTUzODExOWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTc5NSw2ICs3OTUsNyBA QCB0eXBlZGVmIGVudW0gVGFibGVMaWtlT3B0aW9uCiAJQ1JFQVRFX1RBQkxFX0xJS0VfSU5ERVhF UyA9IDEgPDwgNiwKIAlDUkVBVEVfVEFCTEVfTElLRV9TVEFUSVNUSUNTID0gMSA8PCA3LAogCUNS RUFURV9UQUJMRV9MSUtFX1NUT1JBR0UgPSAxIDw8IDgsCisJQ1JFQVRFX1RBQkxFX0xJS0VfUEFS QU1FVEVSUyA9IDEgPDwgOSwKIAlDUkVBVEVfVEFCTEVfTElLRV9BTEwgPSBQR19JTlQzMl9NQVgK IH0gVGFibGVMaWtlT3B0aW9uOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3ds aXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggODQxODJlYWFhZTIuLmQx MzJlY2EwMDY4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysrIGIv c3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0zMzUsNiArMzM1LDcgQEAgUEdfS0VZV09S RCgib3duZWQiLCBPV05FRCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZ V09SRCgib3duZXIiLCBPV05FUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgicGFyYWxsZWwiLCBQQVJBTExFTCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgicGFyYW1ldGVyIiwgUEFSQU1FVEVSLCBVTlJFU0VSVkVEX0tFWVdP UkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJwYXJhbWV0ZXJzIiwgUEFSQU1FVEVSUywgVU5S RVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGFyc2VyIiwgUEFSU0VS LCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwYXJ0aWFsIiwg UEFSVElBTCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGFy dGl0aW9uIiwgUEFSVElUSU9OLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CmluZGV4IGQz YzM1YzE0ODQ3Li4yZTg5NjI1OTBhMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQKQEAgLTY5OSwzICs2OTksNDIgQEAgRFJPUCBGT1JFSUdO IFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMTsKIERST1AgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWln bl90YWJsZTI7CiBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGN0bF9kdW1teSBDQVNDQURFOwog Tk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBzZXJ2ZXIgY3RsX3MwCistLUNSRUFURSBUQUJMRSBM SUtFIHdpdGggUEFSQU1FVEVSUworY3JlYXRlIHRhYmxlIHRfc3RvcmFnZShhIHRleHQpIHdpdGgg KAorICAgIGZpbGxmYWN0b3IgPSAxMDAsCisgICAgdG9hc3RfdHVwbGVfdGFyZ2V0ID0gMTI4LAor ICAgIHZhY3V1bV9pbmRleF9jbGVhbnVwID0gYXV0bywKKyAgICB0b2FzdC52YWN1dW1faW5kZXhf Y2xlYW51cCA9IGF1dG8sCisgICAgdmFjdXVtX3RydW5jYXRlID0gdHJ1ZSwKKyAgICB0b2FzdC52 YWN1dW1fdHJ1bmNhdGUgPSBmYWxzZSwKKyAgICBsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24g PSAxMDAsCisgICAgdG9hc3QubG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTAwKTsKK2Ny ZWF0ZSB0YWJsZSB0MShsaWtlIHRfc3RvcmFnZSBpbmNsdWRpbmcgcGFyYW1ldGVycykgd2l0aCAo ZmlsbGZhY3RvciA9IDEwMCk7IC0tZXJyb3IKK0VSUk9SOiAgcGFyYW1ldGVyICJmaWxsZmFjdG9y IiBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKK2NyZWF0ZSB0YWJsZSB0X3N0b3JhZ2UxKGxpa2Ug dF9zdG9yYWdlIGV4Y2x1ZGluZyBwYXJhbWV0ZXJzKSB3aXRoIChmaWxsZmFjdG9yID0gMTAwKTsg LS1vaworXGQrIHRfc3RvcmFnZTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJs ZSAicHVibGljLnRfc3RvcmFnZTEiCisgQ29sdW1uIHwgVHlwZSB8IENvbGxhdGlvbiB8IE51bGxh YmxlIHwgRGVmYXVsdCB8IFN0b3JhZ2UgIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCist LS0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgYSAgICAgIHwgdGV4dCB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgICAgICAgICB8IGV4dGVuZGVkIHwgICAgICAgICAgICAgIHwgCitPcHRp b25zOiBmaWxsZmFjdG9yPTEwMAorCitjcmVhdGUgdGFibGUgdF9zdG9yYWdlMihsaWtlIHRfc3Rv cmFnZSBpbmNsdWRpbmcgcGFyYW1ldGVycykgd2l0aCAoCisgIHBhcmFsbGVsX3dvcmtlcnMgPSAz LAorICB0b2FzdC5hdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1 dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3RvciA9IDAuMyk7CitzZWxlY3QgICAgYy5yZWxuYW1l LCBjLnJlbG9wdGlvbnMsIHRjLnJlbG9wdGlvbnMgYXMgdG9hc3Rfb3B0aW9ucworZnJvbSAgICAg IHBnX2NhdGFsb2cucGdfY2xhc3MgYworbGVmdCBqb2luIHBnX2NhdGFsb2cucGdfY2xhc3MgdGMg T04gKGMucmVsdG9hc3RyZWxpZCA9IHRjLm9pZCkKK3doZXJlICAgICBjLnJlbG5hbWUgaW4gKCd0 X3N0b3JhZ2UnLCAndF9zdG9yYWdlMicpCitvcmRlciBieSAgYy5yZWxuYW1lIFxneAorLVsgUkVD T1JEIDEgXS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3JlbG5hbWUgICAg ICAgfCB0X3N0b3JhZ2UKK3JlbG9wdGlvbnMgICAgfCB7ZmlsbGZhY3Rvcj0xMDAsdG9hc3RfdHVw bGVfdGFyZ2V0PTEyOCx2YWN1dW1faW5kZXhfY2xlYW51cD1hdXRvLHZhY3V1bV90cnVuY2F0ZT10 cnVlLGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbj0xMDB9Cit0b2FzdF9vcHRpb25zIHwge3Zh Y3V1bV9pbmRleF9jbGVhbnVwPWF1dG8sdmFjdXVtX3RydW5jYXRlPWZhbHNlLGxvZ19hdXRvdmFj dXVtX21pbl9kdXJhdGlvbj0xMDB9CistWyBSRUNPUkQgMiBdLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorcmVsbmFtZSAgICAgICB8IHRfc3RvcmFnZTIKK3JlbG9wdGlvbnMg ICAgfCB7cGFyYWxsZWxfd29ya2Vycz0zLGZpbGxmYWN0b3I9MTAwLHRvYXN0X3R1cGxlX3Rhcmdl dD0xMjgsdmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9dHJ1ZSxsb2df YXV0b3ZhY3V1bV9taW5fZHVyYXRpb249MTAwfQordG9hc3Rfb3B0aW9ucyB8IHthdXRvdmFjdXVt X3ZhY3V1bV90aHJlc2hvbGQ9MTAxLGF1dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3Rvcj0wLjMs dmFjdXVtX2luZGV4X2NsZWFudXA9YXV0byx2YWN1dW1fdHJ1bmNhdGU9ZmFsc2UsbG9nX2F1dG92 YWN1dW1fbWluX2R1cmF0aW9uPTEwMH0KKworZHJvcCB0YWJsZSB0X3N0b3JhZ2UsIHRfc3RvcmFn ZTEsIHRfc3RvcmFnZTI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVf dGFibGVfbGlrZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5z cWwKaW5kZXggOTMzODliNTdkYmYuLmUxYWJmNWE0MjYyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsCkBAIC0yODAsMyArMjgwLDMxIEBAIERST1AgVEFCTEUg Y3RsX3RhYmxlOwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMTsKIERST1Ag Rk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTI7CiBEUk9QIEZPUkVJR04gREFUQSBXUkFQ UEVSIGN0bF9kdW1teSBDQVNDQURFOworCistLUNSRUFURSBUQUJMRSBMSUtFIHdpdGggUEFSQU1F VEVSUworY3JlYXRlIHRhYmxlIHRfc3RvcmFnZShhIHRleHQpIHdpdGggKAorICAgIGZpbGxmYWN0 b3IgPSAxMDAsCisgICAgdG9hc3RfdHVwbGVfdGFyZ2V0ID0gMTI4LAorICAgIHZhY3V1bV9pbmRl eF9jbGVhbnVwID0gYXV0bywKKyAgICB0b2FzdC52YWN1dW1faW5kZXhfY2xlYW51cCA9IGF1dG8s CisgICAgdmFjdXVtX3RydW5jYXRlID0gdHJ1ZSwKKyAgICB0b2FzdC52YWN1dW1fdHJ1bmNhdGUg PSBmYWxzZSwKKyAgICBsb2dfYXV0b3ZhY3V1bV9taW5fZHVyYXRpb24gPSAxMDAsCisgICAgdG9h c3QubG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTAwKTsKKworY3JlYXRlIHRhYmxlIHQx KGxpa2UgdF9zdG9yYWdlIGluY2x1ZGluZyBwYXJhbWV0ZXJzKSB3aXRoIChmaWxsZmFjdG9yID0g MTAwKTsgLS1lcnJvcgorY3JlYXRlIHRhYmxlIHRfc3RvcmFnZTEobGlrZSB0X3N0b3JhZ2UgZXhj bHVkaW5nIHBhcmFtZXRlcnMpIHdpdGggKGZpbGxmYWN0b3IgPSAxMDApOyAtLW9rCitcZCsgdF9z dG9yYWdlMQorCitjcmVhdGUgdGFibGUgdF9zdG9yYWdlMihsaWtlIHRfc3RvcmFnZSBpbmNsdWRp bmcgcGFyYW1ldGVycykgd2l0aCAoCisgIHBhcmFsbGVsX3dvcmtlcnMgPSAzLAorICB0b2FzdC5h dXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFj dXVtX3NjYWxlX2ZhY3RvciA9IDAuMyk7CisKK3NlbGVjdCAgICBjLnJlbG5hbWUsIGMucmVsb3B0 aW9ucywgdGMucmVsb3B0aW9ucyBhcyB0b2FzdF9vcHRpb25zCitmcm9tICAgICAgcGdfY2F0YWxv Zy5wZ19jbGFzcyBjCitsZWZ0IGpvaW4gcGdfY2F0YWxvZy5wZ19jbGFzcyB0YyBPTiAoYy5yZWx0 b2FzdHJlbGlkID0gdGMub2lkKQord2hlcmUgICAgIGMucmVsbmFtZSBpbiAoJ3Rfc3RvcmFnZScs ICd0X3N0b3JhZ2UyJykKK29yZGVyIGJ5ICBjLnJlbG5hbWUgXGd4CisKK2Ryb3AgdGFibGUgdF9z dG9yYWdlLCB0X3N0b3JhZ2UxLCB0X3N0b3JhZ2UyOwotLSAKMi4zNC4xCgo= --0000000000003e62790642569476--