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 1rhrE7-00Dhu6-C0 for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Mar 2024 13:22:32 +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 1rhrE4-00A9mm-HA for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Mar 2024 13:22:29 +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 1rhrE4-00A9me-3M for pgsql-hackers@lists.postgresql.org; Wed, 06 Mar 2024 13:22:28 +0000 Received: from mail-ua1-x92c.google.com ([2607:f8b0:4864:20::92c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rhrE1-0035Wq-Pn for pgsql-hackers@postgresql.org; Wed, 06 Mar 2024 13:22:27 +0000 Received: by mail-ua1-x92c.google.com with SMTP id a1e0cc1a2514c-7db8657dc52so8903241.1 for ; Wed, 06 Mar 2024 05:22:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709731344; x=1710336144; 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=ti/6mZCkK2I9dgcifMAsX870gClUXltgh08mDv5428A=; b=Co7SmCXwSqtOr2HedsGCNkCD/vnydUE/vMoMXl81jHRFBX7TusYjcR3BFi9jTOVYbi 3QNuxORV3wfM9GOJM1Irm8hqtFaitZ8vikN2I0ZxOXKsEqd1kq68L3NNMqGGG482YQBk rOnLFSkhfJ4iPf5ZY84/Xs8J3c8ynYWM/uGs532XaqagSssQtF2dLAFyX7ZBFOT1QIhd 0iqr6VHqu8ZVIBJe1aD7RsCS4VFcXEgt7Ft0Y5UW0y5Buzf7XwUT7108X54iLsX4LPs8 RyJzd4oap8g91m/yWl6TxHzadgL489ZBDbojWz/sBKAOBSeFfT42zjWZYD8VgO1wc9Q2 0F9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709731344; x=1710336144; 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=ti/6mZCkK2I9dgcifMAsX870gClUXltgh08mDv5428A=; b=H6KmIUmwhU+GEaFGNmoPECriDlRnyHBFieTxT5bDrWzfm7ZAiHvwc8IP+NsbYob15l RYV1RwtA1QAKMnHvjlB2or/vnO69t7qgnHSbnbaN3ey7zE002h2iLVTM48srzsU8/vvy 5kebKUcUNGnGmhf8kKkEF7M16qE7aQhmV1bzr8vWb6qXJa0/i+B329/n467YkoNVIWtg /KBWTg2/EoFU5Jr1Ecr8vOjvLcugQNpwBZtT4eIxQWKluzSbnFoVVqzmW1nGXR2DShYc yj6dzWyGNO3w7OK6CA/ujwJwiGDWQzvLaxSxElVIdkkUylj3TI56U15W3yqONmWJEHFg xKSA== X-Forwarded-Encrypted: i=1; AJvYcCXqCWPB/XdBwmtoNOnQhVeL5PziX0BQaovjXR/QmAkAR9LRl4WcEdszs+XghYbnIbWMX5qgIVoKf9fTCO9+6xeUULP/hPml9+52H9Fs X-Gm-Message-State: AOJu0YxI9ExJLLh/93Jt9fFSGvktseX1fiyYkga/OmytmsUN/FZmVABV XlmjjQ4ug/qygkJLN09ZPyp8ZQ5Tis0yvKG42KjO/CQtJ0dOxuO6U/bwBKPD35lzsbShGLcq+so Caff1y3r95C7OAeTEr5pYmHObd9o= X-Google-Smtp-Source: AGHT+IFLUs4Z/5sVV9I2GHGL5DUTyaDHNOMlgt2tnlPr4Fz7tqGiOQrrDCoOQ9UH4lAe+0mm3eMjw6D0nnhLiWhwEd0= X-Received: by 2002:a05:6102:370:b0:472:681a:b9c0 with SMTP id f16-20020a056102037000b00472681ab9c0mr4176456vsa.28.1709731344001; Wed, 06 Mar 2024 05:22:24 -0800 (PST) MIME-Version: 1.0 References: <1cee81f3-312f-30e3-0282-c4df7ee72f93@xs4all.nl> <202403041503.5momp6knupgo@alvherre.pgsql> <1e0e5800-965e-42ed-8caa-362294604243@enterprisedb.com> In-Reply-To: From: jian he Date: Wed, 6 Mar 2024 21:22:12 +0800 Message-ID: Subject: Re: remaining sql/json patches To: Amit Langote Cc: Tomas Vondra , Alvaro Herrera , Erik Rijkers , Andres Freund , Andrew Dunstan , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000006bd5190612fdd94f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006bd5190612fdd94f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 6, 2024 at 12:07=E2=80=AFPM Amit Langote wrote: > > Hi Tomas, > > On Wed, Mar 6, 2024 at 6:30=E2=80=AFAM Tomas Vondra > wrote: > > > > Hi, > > > > I know very little about sql/json and all the json internals, but I > > decided to do some black box testing. I built a large JSONB table > > (single column, ~7GB of data after loading). And then I did a query > > transforming the data into tabular form using JSON_TABLE. > > > > The JSON_TABLE query looks like this: > > > > SELECT jt.* FROM > > title_jsonb t, > > json_table(t.info, '$' > > COLUMNS ( > > "id" text path '$."id"', > > "type" text path '$."type"', > > "title" text path '$."title"', > > "original_title" text path '$."original_title"', > > "is_adult" text path '$."is_adult"', > > "start_year" text path '$."start_year"', > > "end_year" text path '$."end_year"', > > "minutes" text path '$."minutes"', > > "genres" text path '$."genres"', > > "aliases" text path '$."aliases"', > > "directors" text path '$."directors"', > > "writers" text path '$."writers"', > > "ratings" text path '$."ratings"', > > NESTED PATH '$."aliases"[*]' > > COLUMNS ( > > "alias_title" text path '$."title"', > > "alias_region" text path '$."region"' > > ), > > NESTED PATH '$."directors"[*]' > > COLUMNS ( > > "director_name" text path '$."name"', > > "director_birth_year" text path '$."birth_year"', > > "director_death_year" text path '$."death_year"' > > ), > > NESTED PATH '$."writers"[*]' > > COLUMNS ( > > "writer_name" text path '$."name"', > > "writer_birth_year" text path '$."birth_year"', > > "writer_death_year" text path '$."death_year"' > > ), > > NESTED PATH '$."ratings"[*]' > > COLUMNS ( > > "rating_average" text path '$."average"', > > "rating_votes" text path '$."votes"' > > ) > > ) > > ) as jt; > > > > again, not particularly complex. But if I run this, it consumes multipl= e > > gigabytes of memory, before it gets killed by OOM killer. This happens > > even when ran using > > > > COPY (...) TO '/dev/null' > > > > so there's nothing sent to the client. I did catch memory context info, > > where it looks like this (complete stats attached): > > > > ------ > > TopMemoryContext: 97696 total in 5 blocks; 13056 free (11 chunks); > > 84640 used > > ... > > TopPortalContext: 8192 total in 1 blocks; 7680 free (0 chunks); ... > > PortalContext: 1024 total in 1 blocks; 560 free (0 chunks); ... > > ExecutorState: 2541764672 total in 314 blocks; 6528176 free > > (1208 chunks); 2535236496 used > > printtup: 8192 total in 1 blocks; 7952 free (0 chunks); ... > > ... > > ... > > Grand total: 2544132336 bytes in 528 blocks; 7484504 free > > (1340 chunks); 2536647832 used > > ------ > > > > I'd say 2.5GB in ExecutorState seems a bit excessive ... Seems there's > > some memory management issue? My guess is we're not releasing memory > > allocated while parsing the JSON or building JSON output. > > > > I'm not attaching the data, but I can provide that if needed - it's > > about 600MB compressed. The structure is not particularly complex, it's > > movie info from [1] combined into a JSON document (one per movie). > > Thanks for the report. > > Yeah, I'd like to see the data to try to drill down into what's piling > up in ExecutorState. I want to be sure of if the 1st, query functions > patch, is not implicated in this, because I'd like to get that one out > of the way sooner than later. > I did some tests. it generally looks like: create or replace function random_text() returns text as $$select string_agg(md5(random()::text),'') from generate_Series(1,8) s $$ LANGUAGE SQL; DROP TABLE if exists s; create table s(a jsonb); INSERT INTO s SELECT ( '{"id": "' || random_text() || '",' '"type": "' || random_text() || '",' '"title": "' || random_text() || '",' '"original_title": "' || random_text() || '",' '"is_adult": "' || random_text() || '",' '"start_year": "' || random_text() || '",' '"end_year": "' || random_text() || '",' '"minutes": "' || random_text() || '",' '"genres": "' || random_text() || '",' '"aliases": "' || random_text() || '",' '"genres": "' || random_text() || '",' '"directors": "' || random_text() || '",' '"writers": "' || random_text() || '",' '"ratings": "' || random_text() || '",' '"director_name": "' || random_text() || '",' '"alias_title": "' || random_text() || '",' '"alias_region": "' || random_text() || '",' '"director_birth_year": "' || random_text() || '",' '"director_death_year": "' || random_text() || '",' '"rating_average": "' || random_text() || '",' '"rating_votes": "' || random_text() || '"' ||'}' )::jsonb FROM generate_series(1, 1e6); SELECT pg_size_pretty(pg_table_size('s')); -- 5975 MB It's less complex than Tomas's version. attached, 3 test files: 1e5 rows, each key's value is small. Total table size is 598 MB. 1e6 rows, each key's value is small. Total table size is 5975 MB. 27 rows, total table size is 5066 MB. The test file's comment is the output I extracted using pg_log_backend_memory_contexts, mainly ExecutorState and surrounding big number memory context. Conclusion, I come from the test: if each json is big (5066 MB/27) , then it will take a lot of memory. if each json is small(here is 256 byte), then it won't take a lot of memory to process. Another case, I did test yet: more keys in a single json, but the value is small. --0000000000006bd5190612fdd94f Content-Type: application/sql; name="sql_json_big_attribute_test.sql" Content-Disposition: attachment; filename="sql_json_big_attribute_test.sql" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltftq9os0 LyoKdmVyeSBmZXcgcm93cyB3aXRoIGJpZyBkYXRhIGVhY2ggcm93CiovCmNyZWF0ZSBvciByZXBs YWNlIGZ1bmN0aW9uIHJhbmRvbV90ZXh0X2JpZygpIHJldHVybnMgdGV4dCAKYXMgJCRzZWxlY3Qg c3RyaW5nX2FnZyhtZDUocmFuZG9tKCk6OnRleHQpLCcnKSBmcm9tIGdlbmVyYXRlX1Nlcmllcygx LDNlNSkgcyAkJCBMQU5HVUFHRSBTUUw7CgpzZWxlY3QgcGdfc2l6ZV9wcmV0dHkobGVuZ3RoKHJh bmRvbV90ZXh0X2JpZygpKTo6YmlnaW50KTsgLS0KRFJPUCBUQUJMRSBpZiBleGlzdHMgc190ZXh0 X2JpZzsKY3JlYXRlIHRhYmxlIHNfdGV4dF9iaWcoYSBqc29uYik7CklOU0VSVCBJTlRPIHNfdGV4 dF9iaWcgU0VMRUNUICgKCSd7ImlkIjogIicgfHwgcmFuZG9tX3RleHRfYmlnKCkgfHwgJyIsJwoJ JyJ0eXBlIjogIicgfHwgcmFuZG9tX3RleHRfYmlnKCkgfHwgJyIsJwoJJyJ0aXRsZSI6ICInIHx8 IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcKCScib3JpZ2luYWxfdGl0bGUiOiAiJyB8fCByYW5k b21fdGV4dF9iaWcoKSB8fCAnIiwnCgknImlzX2FkdWx0IjogIicgfHwgcmFuZG9tX3RleHRfYmln KCkgfHwgJyIsJwoJJyJzdGFydF95ZWFyIjogIicgfHwgcmFuZG9tX3RleHRfYmlnKCkgfHwgJyIs JwoJJyJlbmRfeWVhciI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcKCScibWludXRl cyI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcKCSciZ2VucmVzIjogIicgfHwgcmFu ZG9tX3RleHRfYmlnKCkgfHwgJyIsJwoJJyJhbGlhc2VzIjogIicgfHwgcmFuZG9tX3RleHRfYmln KCkgfHwgJyIsJwoJJyJnZW5yZXMiOiAiJyB8fCByYW5kb21fdGV4dF9iaWcoKSB8fCAnIiwnCgkn ImRpcmVjdG9ycyI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcKCScid3JpdGVycyI6 ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcKCScicmF0aW5ncyI6ICInIHx8IHJhbmRv bV90ZXh0X2JpZygpIHx8ICciLCcKCSciZGlyZWN0b3JfbmFtZSI6ICInIHx8IHJhbmRvbV90ZXh0 X2JpZygpIHx8ICciLCcKCSciYWxpYXNfdGl0bGUiOiAiJyB8fCByYW5kb21fdGV4dF9iaWcoKSB8 fCAnIiwnCgknImFsaWFzX3JlZ2lvbiI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcK CSciZGlyZWN0b3JfYmlydGhfeWVhciI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcK CSciZGlyZWN0b3JfZGVhdGhfeWVhciI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciLCcK CScicmF0aW5nX2F2ZXJhZ2UiOiAiJyB8fCByYW5kb21fdGV4dF9iaWcoKSB8fCAnIiwnCgknInJh dGluZ192b3RlcyI6ICInIHx8IHJhbmRvbV90ZXh0X2JpZygpIHx8ICciJwoJfHwnfScgKTo6anNv bmIKRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMjcpOwoKc2VsZWN0IGNvdW50KCopIGZyb20gc190 ZXh0X2JpZzsKU0VMRUNUIHBnX3NpemVfcHJldHR5KHBnX3RhYmxlX3NpemUoJ3NfdGV4dF9iaWcn KSk7IAoKLyoKYW5vdGhlciBzZXNzaW9uIHJlcGVhdGVkbHkgY2FsbApzZWxlY3QgcGdfbG9nX2Jh Y2tlbmRfbWVtb3J5X2NvbnRleHRzKDQzNjQzKSBcd2F0Y2ggaT00IGM9NgoqLwpleHBsYWluKGFu YWx5emUsY29zdHMgb2ZmKQpTRUxFQ1QKCWpzb25fcXVlcnkoYSwgJyQuImlkIicgcmV0dXJuaW5n IHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4idHlwZSInICByZXR1cm5pbmcgdGV4dCksCglqc29u X3F1ZXJ5KGEsICckLiJ0aXRsZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQu Im9yaWdpbmFsX3RpdGxlIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4iaXNf YWR1bHQiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJzdGFydF95ZWFyIicg cmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4iZW5kX3llYXIiJyByZXR1cm5pbmcg dGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJtaW51dGVzIicgcmV0dXJuaW5nIHRleHQpLAoJanNv bl9xdWVyeShhLCAnJC4iZ2VucmVzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAn JC4iYWxpYXNlcyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImRpcmVjdG9y cyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuIndyaXRlcnMiJyByZXR1cm5p bmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJyYXRpbmdzIicgcmV0dXJuaW5nIHRleHQpLAoJ anNvbl9xdWVyeShhLCAnJC4iZGlyZWN0b3JfbmFtZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25f cXVlcnkoYSwgJyQuImFsaWFzX3RpdGxlIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShh LCAnJC4iYWxpYXNfcmVnaW9uIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4i ZGlyZWN0b3JfYmlydGhfeWVhciInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQu ImRpcmVjdG9yX2RlYXRoX3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICck LiJyYXRpbmdfYXZlcmFnZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuInJh dGluZ192b3RlcyInIHJldHVybmluZyB0ZXh0KQpmcm9tIHNfdGV4dF9iaWc7Ci8qCjIwMjQtMDMt MDYgMjA6NTE6MjEuODE5IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRl OiA5ODM2OCB0b3RhbCBpbiA1IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1 c2VkCjIwMjQtMDMtMDYgMjA6NTE6MjEuODE5IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBF eHByQ29udGV4dDogMTIzMTA4MTI5NiB0b3RhbCBpbiAzOCBibG9ja3M7IDU0MTYgZnJlZSAoMyBj aHVua3MpOyAxMjMxMDc1ODgwIHVzZWQKCjIwMjQtMDMtMDYgMjA6NTE6MjUuODE5IENTVCBbNDM2 NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1IGJsb2Nr czsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1c2VkCjIwMjQtMDMtMDYgMjA6NTE6MjUu ODE5IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBFeHByQ29udGV4dDogNDM2NzkxMTM2IHRv dGFsIGluIDggYmxvY2tzOyA2NzYwIGZyZWUgKDMgY2h1bmtzKTsgNDM2Nzg0Mzc2IHVzZWQKCjIw MjQtMDMtMDYgMjA6NTE6MjkuODE5IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRv clN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2 MDI0MCB1c2VkCjIwMjQtMDMtMDYgMjA6NTE6MjkuODE5IENTVCBbNDM2NDNdIExPRzogIGxldmVs OiA0OyBFeHByQ29udGV4dDogMjg4NDM0MjI1NiB0b3RhbCBpbiA1OCBibG9ja3M7IDQ1MjAgZnJl ZSAoMyBjaHVua3MpOyAyODg0MzM3NzM2IHVzZWQKCjIwMjQtMDMtMDYgMjA6NTE6MzQuMDI4IENT VCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1 IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1c2VkCjIwMjQtMDMtMDYgMjA6 NTE6MzQuMDI4IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBFeHByQ29udGV4dDogODE5MiB0 b3RhbCBpbiAxIGJsb2NrczsgNzk1MiBmcmVlICgwIGNodW5rcyk7IDI0MCB1c2VkCgoyMDI0LTAz LTA2IDIwOjUxOjM0LjAyOCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0 ZTogOTgzNjggdG90YWwgaW4gNSBibG9ja3M7IDM4MTI4IGZyZWUgKDYgY2h1bmtzKTsgNjAyNDAg dXNlZAoyMDI0LTAzLTA2IDIwOjUxOjM0LjAyOCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsg RXhwckNvbnRleHQ6IDgxOTIgdG90YWwgaW4gMSBibG9ja3M7IDc5NTIgZnJlZSAoMCBjaHVua3Mp OyAyNDAgdXNlZAoKMjAyNC0wMy0wNiAyMDo1MTozNy44MTkgQ1NUIFs0MzY0M10gTE9HOiAgbGV2 ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAzODEyOCBmcmVl ICg2IGNodW5rcyk7IDYwMjQwIHVzZWQKMjAyNC0wMy0wNiAyMDo1MTozNy44MTkgQ1NUIFs0MzY0 M10gTE9HOiAgbGV2ZWw6IDQ7IEV4cHJDb250ZXh0OiAyMzk0ODMyMDMyIHRvdGFsIGluIDQ4IGJs b2NrczsgNDk2OCBmcmVlICgzIGNodW5rcyk7IDIzOTQ4MjcwNjQgdXNlZAoKMjAyNC0wMy0wNiAy MDo1MTo0MS44MTkgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4 MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAzODEyOCBmcmVlICg2IGNodW5rcyk7IDYwMjQwIHVzZWQK MjAyNC0wMy0wNiAyMDo1MTo0MS44MTkgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IEV4cHJD b250ZXh0OiA0NTk3NjI4MDQwIHRvdGFsIGluIDkzIGJsb2NrczsgMjk1MiBmcmVlICgzIGNodW5r cyk7IDQ1OTc2MjUwODggdXNlZAoqLwoKCmV4cGxhaW4oYW5hbHl6ZSxjb3N0cyBvZmYpClNFTEVD VAoJanNvbl92YWx1ZShhLCAnJC4iaWQiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEs ICckLiJ0eXBlIicgIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInRpdGxlIicg cmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4ib3JpZ2luYWxfdGl0bGUiJyByZXR1 cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJpc19hZHVsdCInIHJldHVybmluZyB0ZXh0 KSwKCWpzb25fdmFsdWUoYSwgJyQuInN0YXJ0X3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29u X3ZhbHVlKGEsICckLiJlbmRfeWVhciInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwg JyQuIm1pbnV0ZXMiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJnZW5yZXMi JyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJhbGlhc2VzIicgcmV0dXJuaW5n IHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4iZGlyZWN0b3JzIicgcmV0dXJuaW5nIHRleHQpLAoJ anNvbl92YWx1ZShhLCAnJC4id3JpdGVycyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUo YSwgJyQuInJhdGluZ3MiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJl Y3Rvcl9uYW1lIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4iYWxpYXNfdGl0 bGUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJhbGlhc19yZWdpb24iJyBy ZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicg cmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciIn IHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInJhdGluZ19hdmVyYWdlIicgcmV0 dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4icmF0aW5nX3ZvdGVzIicgcmV0dXJuaW5n IHRleHQpCmZyb20gc190ZXh0X2JpZzsKLyoKCjIwMjQtMDMtMDYgMjA6NTY6NDEuMjYxIENTVCBb NDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAxOTY2NzIgdG90YWwgaW4gNiBi bG9ja3M7IDQxNTQ0IGZyZWUgKDYgY2h1bmtzKTsgMTU1MTI4IHVzZWQKMjAyNC0wMy0wNiAyMDo1 Njo0MS4yNjEgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IEV4cHJDb250ZXh0OiA4MTkyIHRv dGFsIGluIDEgYmxvY2tzOyA3OTUyIGZyZWUgKDAgY2h1bmtzKTsgMjQwIHVzZWQKCjIwMjQtMDMt MDYgMjA6NTY6NTMuMjU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRl OiAxOTY2NzIgdG90YWwgaW4gNiBibG9ja3M7IDQxNTQ0IGZyZWUgKDYgY2h1bmtzKTsgMTU1MTI4 IHVzZWQKMjAyNC0wMy0wNiAyMDo1Njo1My4yNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7 IEV4cHJDb250ZXh0OiAzMDE0NDQyODU2IHRvdGFsIGluIDMxIGJsb2NrczsgNjMxMiBmcmVlICgy IGNodW5rcyk7IDMwMTQ0MzY1NDQgdXNlZAoKMjAyNC0wMy0wNiAyMDo1Njo1Ny4yNTQgQ1NUIFs0 MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDE5NjY3MiB0b3RhbCBpbiA2IGJs b2NrczsgNDE1NDQgZnJlZSAoNiBjaHVua3MpOyAxNTUxMjggdXNlZAoyMDI0LTAzLTA2IDIwOjU2 OjU3LjI1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgRXhwckNvbnRleHQ6IDk5ODQzNzk3 NiB0b3RhbCBpbiAxMSBibG9ja3M7IDY3OTIgZnJlZSAoMiBjaHVua3MpOyA5OTg0MzExODQgdXNl ZAoKMjAyNC0wMy0wNiAyMDo1NzowMS4yNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4 ZWN1dG9yU3RhdGU6IDE5NjY3MiB0b3RhbCBpbiA2IGJsb2NrczsgNDE1NDQgZnJlZSAoNiBjaHVu a3MpOyAxNTUxMjggdXNlZAoyMDI0LTAzLTA2IDIwOjU3OjAxLjI1NCBDU1QgWzQzNjQzXSBMT0c6 ICBsZXZlbDogNDsgRXhwckNvbnRleHQ6IDM0MTc2NDM4MzIgdG90YWwgaW4gMzUgYmxvY2tzOyA2 MjE2IGZyZWUgKDIgY2h1bmtzKTsgMzQxNzYzNzYxNiB1c2VkCgoyMDI0LTAzLTA2IDIwOjU2OjQ1 LjI1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMTk2NjcyIHRv dGFsIGluIDYgYmxvY2tzOyA0MTU0NCBmcmVlICg2IGNodW5rcyk7IDE1NTEyOCB1c2VkCjIwMjQt MDMtMDYgMjA6NTY6NDUuMjU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBFeHByQ29udGV4 dDogMjQwOTY0MTM5MiB0b3RhbCBpbiAyNSBibG9ja3M7IDY0NTYgZnJlZSAoMiBjaHVua3MpOyAy NDA5NjM0OTM2IHVzZWQKCjIwMjQtMDMtMDYgMjA6NTY6NDkuMjU1IENTVCBbNDM2NDNdIExPRzog IGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAxOTY2NzIgdG90YWwgaW4gNiBibG9ja3M7IDQxNTQ0 IGZyZWUgKDYgY2h1bmtzKTsgMTU1MTI4IHVzZWQKMjAyNC0wMy0wNiAyMDo1Njo0OS4yNTUgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IEV4cHJDb250ZXh0OiA1OTUyMzcwMDAgdG90YWwgaW4g NyBibG9ja3M7IDY4ODggZnJlZSAoMiBjaHVua3MpOyA1OTUyMzAxMTIgdXNlZAoqLwoKCgpleHBs YWluKGFuYWx5emUsY29zdHMgb2ZmKQpTRUxFQ1QKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImlk IicpOjpURVhULAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4idHlwZSInICApOjp0ZXh0LAoJanNv bmJfcGF0aF9xdWVyeShhLCAnJC4idGl0bGUiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShh LCAnJC4ib3JpZ2luYWxfdGl0bGUiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4i aXNfYWR1bHQiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4ic3RhcnRfeWVhciIn ICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJlbmRfeWVhciInICk6OnRleHQsCglq c29uYl9wYXRoX3F1ZXJ5KGEsICckLiJtaW51dGVzIicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVl cnkoYSwgJyQuImdlbnJlcyInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJhbGlh c2VzIicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImRpcmVjdG9ycyInICk6OnRl eHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJ3cml0ZXJzIicgKTo6dGV4dCwKCWpzb25iX3Bh dGhfcXVlcnkoYSwgJyQuInJhdGluZ3MiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAn JC4iZGlyZWN0b3JfbmFtZSInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJhbGlh c190aXRsZSInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJhbGlhc19yZWdpb24i JyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4iZGlyZWN0b3JfYmlydGhfeWVhciIn ICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJkaXJlY3Rvcl9kZWF0aF95ZWFyIicg KTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuInJhdGluZ19hdmVyYWdlIicgKTo6dGV4 dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuInJhdGluZ192b3RlcyInICk6OnRleHQKZnJvbSBz X3RleHRfYmlnOwovKgoyMDI0LTAzLTA2IDIwOjU4OjUzLjA1NiBDU1QgWzQzNjQzXSBMT0c6ICBs ZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjYyMTQ0IHRvdGFsIGluIDYgYmxvY2tzOyAxMjkyNDgg ZnJlZSAoMTYgY2h1bmtzKTsgMTMyODk2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4wNTQgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI2MjE0NCB0b3RhbCBpbiA2 IGJsb2NrczsgMTI4NjcyIGZyZWUgKDQgY2h1bmtzKTsgMTMzNDcyIHVzZWQKMjAyNC0wMy0wNiAy MDo1ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNv bnRleHQ6IDE5MjAyOTg4MCB0b3RhbCBpbiA0IGJsb2NrczsgNzIwIGZyZWUgKDMgY2h1bmtzKTsg MTkyMDI5MTYwIHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAg bGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJs b2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6 NTg6NTcuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250 ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAx OTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjU3LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBs ZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxv Y2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1 ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRl eHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5 MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NTcuMDU0IENTVCBbNDM2NDNdIExPRzogIGxl dmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9j a3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4 OjU3LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4 dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTky MDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2 ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2Nr czsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6 NTcuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0 OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIw MDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjU3LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZl bDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tz OyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1 Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6 IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAw MDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NTcuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVs OiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7 IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjU3 LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDog MTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAw OTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6 IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2Nrczsg MTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NTcu MDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAx OTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5 MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjU3LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDog NDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAx NTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4w NTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5 MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkz NiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NTcuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0 OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1 MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjU3LjA1 NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTky MDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2 IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo1Ny4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7 IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTU2 OCBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkwNCB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDEuMDU0 IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNjIxNDQgdG90YWwg aW4gNiBibG9ja3M7IDEyOTM5MiBmcmVlICgxOSBjaHVua3MpOyAxMzI3NTIgdXNlZAoyMDI0LTAz LTA2IDIwOjU5OjAxLjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNh bGwgY29udGV4dDogMTkyMDI5ODgwIHRvdGFsIGluIDQgYmxvY2tzOyA3MjAgZnJlZSAoMyBjaHVu a3MpOyAxOTIwMjkxNjAgdXNlZAoyMDI0LTAzLTA2IDIwOjU5OjAxLjA1NCBDU1QgWzQzNjQzXSBM T0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGlu IDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0w NiAyMDo1OTowMS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxs IGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5r cyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDEuMDU0IENTVCBbNDM2NDNdIExP RzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4g MyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2 IDIwOjU5OjAxLjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwg Y29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTY4IGZyZWUgKDggY2h1bmtz KTsgMTkyMDAwOTA0IHVzZWQKCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBbNDM2NDNdIExP RzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNjIxNDQgdG90YWwgaW4gNiBibG9ja3M7IDEy ODgxNiBmcmVlICg3IGNodW5rcyk7IDEzMzMyOCB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0 IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIw Mjk4ODAgdG90YWwgaW4gNCBibG9ja3M7IDcyMCBmcmVlICgzIGNodW5rcyk7IDE5MjAyOTE2MCB1 c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBT UkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYg ZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU5OjA1LjA1NCBD U1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAy NDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVz ZWQKMjAyNC0wMy0wNiAyMDo1OTowNS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNS RiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBm cmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENT VCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0 NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNl ZAoyMDI0LTAzLTA2IDIwOjU5OjA1LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JG IG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZy ZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1OTowNS4wNTQgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3 MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2Vk CjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYg bXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJl ZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU5OjA1LjA1NCBDU1Qg WzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcy IHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQK MjAyNC0wMy0wNiAyMDo1OTowNS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBt dWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVl ICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBb NDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIg dG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoy MDI0LTAzLTA2IDIwOjU5OjA1LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11 bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUg KDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1OTowNS4wNTQgQ1NUIFs0 MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0 b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIw MjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVs dGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAo OCBjaHVua3MpOyAxOTIwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU5OjA1LjA1NCBDU1QgWzQz NjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRv dGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTM2IHVzZWQKMjAy NC0wMy0wNiAyMDo1OTowNS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0 aS1jYWxsIGNvbnRleHQ6IDE5MjAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4 IGNodW5rcyk7IDE5MjAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDUuMDU0IENTVCBbNDM2 NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMDI0NzIgdG90 YWwgaW4gMyBibG9ja3M7IDE1NjggZnJlZSAoOCBjaHVua3MpOyAxOTIwMDA5MDQgdXNlZAoKMjAy NC0wMy0wNiAyMDo1OTowOS4wNTUgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9y U3RhdGU6IDI2MjE0NCB0b3RhbCBpbiA2IGJsb2NrczsgMTI5NDg4IGZyZWUgKDIxIGNodW5rcyk7 IDEzMjY1NiB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6MDkuMDU1IENTVCBbNDM2NDNdIExPRzogIGxl dmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxOTIwMjk4ODAgdG90YWwgaW4gNCBibG9j a3M7IDcyMCBmcmVlICgzIGNodW5rcyk7IDE5MjAyOTE2MCB1c2VkCjIwMjQtMDMtMDYgMjA6NTk6 MDkuMDU1IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0 OiAxOTIwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxOTIw MDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU5OjA5LjA1NSBDU1QgWzQzNjQzXSBMT0c6ICBsZXZl bDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTkyMDAyNDcyIHRvdGFsIGluIDMgYmxvY2tz OyAxNTY4IGZyZWUgKDggY2h1bmtzKTsgMTkyMDAwOTA0IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo0 OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI2MjE0NCB0 b3RhbCBpbiA2IGJsb2NrczsgMTI4NzIwIGZyZWUgKDQgY2h1bmtzKTsgMTMzNDI0IHVzZWQKMjAy NC0wMy0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0 aS1jYWxsIGNvbnRleHQ6IDEyODAyOTg4MCB0b3RhbCBpbiA0IGJsb2NrczsgNzIwIGZyZWUgKDMg Y2h1bmtzKTsgMTI4MDI5MTYwIHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0 M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDEyODAwMjQ3MiB0b3Rh bCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDEyODAwMDkzNiB1c2VkCjIwMjQt MDMtMDYgMjA6NTg6NDkuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGkt Y2FsbCBjb250ZXh0OiAxMjgwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBj aHVua3MpOyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjQ5LjA1NCBDU1QgWzQzNjQz XSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTI4MDAyNDcyIHRvdGFs IGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTI4MDAwOTM2IHVzZWQKMjAyNC0w My0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1j YWxsIGNvbnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNo dW5rcyk7IDEyODAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NDkuMDU0IENTVCBbNDM2NDNd IExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxMjgwMDI0NzIgdG90YWwg aW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAz LTA2IDIwOjU4OjQ5LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNh bGwgY29udGV4dDogMTI4MDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1 bmtzKTsgMTI4MDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10g TE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBp biAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDEyODAwMDkzNiB1c2VkCjIwMjQtMDMt MDYgMjA6NTg6NDkuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2Fs bCBjb250ZXh0OiAxMjgwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVu a3MpOyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjQ5LjA1NCBDU1QgWzQzNjQzXSBM T0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTI4MDAyNDcyIHRvdGFsIGlu IDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTI4MDAwOTM2IHVzZWQKMjAyNC0wMy0w NiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxs IGNvbnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5r cyk7IDEyODAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NDkuMDU0IENTVCBbNDM2NDNdIExP RzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxMjgwMDI0NzIgdG90YWwgaW4g MyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAzLTA2 IDIwOjU4OjQ5LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwg Y29udGV4dDogMTI4MDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtz KTsgMTI4MDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBpbiAz IGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7IDEyODAwMDkzNiB1c2VkCjIwMjQtMDMtMDYg MjA6NTg6NDkuMDU0IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBj b250ZXh0OiAxMjgwMDI0NzIgdG90YWwgaW4gMyBibG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3Mp OyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIwOjU4OjQ5LjA1NCBDU1QgWzQzNjQzXSBMT0c6 ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29udGV4dDogMTI4MDAyNDcyIHRvdGFsIGluIDMg YmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsgMTI4MDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAy MDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNv bnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBpbiAzIGJsb2NrczsgMTUzNiBmcmVlICg4IGNodW5rcyk7 IDEyODAwMDkzNiB1c2VkCjIwMjQtMDMtMDYgMjA6NTg6NDkuMDU0IENTVCBbNDM2NDNdIExPRzog IGxldmVsOiA0OyBTUkYgbXVsdGktY2FsbCBjb250ZXh0OiAxMjgwMDI0NzIgdG90YWwgaW4gMyBi bG9ja3M7IDE1MzYgZnJlZSAoOCBjaHVua3MpOyAxMjgwMDA5MzYgdXNlZAoyMDI0LTAzLTA2IDIw OjU4OjQ5LjA1NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgU1JGIG11bHRpLWNhbGwgY29u dGV4dDogMTI4MDAyNDcyIHRvdGFsIGluIDMgYmxvY2tzOyAxNTM2IGZyZWUgKDggY2h1bmtzKTsg MTI4MDAwOTM2IHVzZWQKMjAyNC0wMy0wNiAyMDo1ODo0OS4wNTQgQ1NUIFs0MzY0M10gTE9HOiAg bGV2ZWw6IDQ7IFNSRiBtdWx0aS1jYWxsIGNvbnRleHQ6IDEyODAwMjQ3MiB0b3RhbCBpbiAzIGJs b2NrczsgMTU2OCBmcmVlICg4IGNodW5rcyk7IDEyODAwMDkwNCB1c2VkCgoqLwoKCgpleHBsYWlu KGFuYWx5emUsY29zdHMgb2ZmKQpTRUxFQ1QganQuKiBGUk9NIHNfdGV4dF9iaWcgdCwKCWpzb25f dGFibGUodC5hLCAnJCcKCUNPTFVNTlMgKAogICAgICAgICJpZCIgdGV4dCBwYXRoICckLiJpZCIn LAogICAgICAgICJ0eXBlIiB0ZXh0IHBhdGggJyQuInR5cGUiJywKICAgICAgICAidGl0bGUiIHRl eHQgcGF0aCAnJC4idGl0bGUiJywKICAgICAgICAib3JpZ2luYWxfdGl0bGUiIHRleHQgcGF0aCAn JC4ib3JpZ2luYWxfdGl0bGUiJywKICAgICAgICAiaXNfYWR1bHQiIHRleHQgcGF0aCAnJC4iaXNf YWR1bHQiJywKICAgICAgICAic3RhcnRfeWVhciIgdGV4dCBwYXRoICckLiJzdGFydF95ZWFyIics CiAgICAgICAgImVuZF95ZWFyIiB0ZXh0IHBhdGggJyQuImVuZF95ZWFyIicsCiAgICAgICAgIm1p bnV0ZXMiIHRleHQgcGF0aCAnJC4ibWludXRlcyInLAogICAgICAgICJnZW5yZXMiIHRleHQgcGF0 aCAnJC4iZ2VucmVzIicsCiAgICAgICAgImFsaWFzZXMiIHRleHQgcGF0aCAnJC4iYWxpYXNlcyIn LAogICAgICAgICJkaXJlY3RvcnMiIHRleHQgcGF0aCAnJC4iZGlyZWN0b3JzIicsCiAgICAgICAg IndyaXRlcnMiIHRleHQgcGF0aCAnJC4id3JpdGVycyInLAogICAgICAgICJyYXRpbmdzIiB0ZXh0 IHBhdGggJyQuInJhdGluZ3MiJywKICAgICAgICAiZGlyZWN0b3JfbmFtZSIgdGV4dCBwYXRoICck LiJkaXJlY3Rvcl9uYW1lIicsCiAgICAgICAgImFsaWFzX3RpdGxlIiB0ZXh0IHBhdGggJyQuImFs aWFzX3RpdGxlIicsCiAgICAgICAgImFsaWFzX3JlZ2lvbiIgdGV4dCBwYXRoICckLiJhbGlhc19y ZWdpb24iJywKICAgICAgICAiZGlyZWN0b3JfYmlydGhfeWVhciIgdGV4dCBwYXRoICckLiJkaXJl Y3Rvcl9iaXJ0aF95ZWFyIicsCiAgICAgICAgImRpcmVjdG9yX2RlYXRoX3llYXIiIHRleHQgcGF0 aCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciInLAogICAgICAgICJyYXRpbmdfYXZlcmFnZSIgdGV4 dCBwYXRoICckLiJyYXRpbmdfYXZlcmFnZSInLAogICAgICAgICJyYXRpbmdfdm90ZXMiIHRleHQg cGF0aCAnJC4icmF0aW5nX3ZvdGVzIicKCSkKKSBhcyBqdDsKLyoKMjAyNC0wMy0wNiAyMTowMzoy OS40MDcgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDE5MjI4NzA4 MCB0b3RhbCBpbiA5IGJsb2NrczsgNzA0OTYgZnJlZSAoNSBjaHVua3MpOyAxOTIyMTY1ODQgdXNl ZAoyMDI0LTAzLTA2IDIxOjAzOjE0LjM0NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhl Y3V0b3JTdGF0ZTogMjc4NTkyIHRvdGFsIGluIDcgYmxvY2tzOyA3MDUyMCBmcmVlICg2IGNodW5r cyk7IDIwODA3MiB1c2VkCjIwMjQtMDMtMDYgMjE6MDM6MTcuMzQzIENTVCBbNDM2NDNdIExPRzog IGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNzg1OTIgdG90YWwgaW4gNyBibG9ja3M7IDcwNTIw IGZyZWUgKDYgY2h1bmtzKTsgMjA4MDcyIHVzZWQKMjAyNC0wMy0wNiAyMTowMzoyMC4zNDQgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI3ODU5MiB0b3RhbCBpbiA3 IGJsb2NrczsgNzA1MjAgZnJlZSAoNiBjaHVua3MpOyAyMDgwNzIgdXNlZAoyMDI0LTAzLTA2IDIx OjAzOjIzLjM0NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjc4 NTkyIHRvdGFsIGluIDcgYmxvY2tzOyA3MDUyMCBmcmVlICg2IGNodW5rcyk7IDIwODA3MiB1c2Vk CjIwMjQtMDMtMDYgMjE6MDM6MjYuNTMzIENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVj dXRvclN0YXRlOiAxOTIyODcwODAgdG90YWwgaW4gOSBibG9ja3M7IDcwNDk2IGZyZWUgKDUgY2h1 bmtzKTsgMTkyMjE2NTg0IHVzZWQKMjAyNC0wMy0wNiAyMTowMzoxNC4zNDQgQ1NUIFs0MzY0M10g TE9HOiAgbGV2ZWw6IDQ7IFRhYmxlRnVuYyBwZXIgdmFsdWUgY29udGV4dDogMTkyMDM2MDI0IHRv dGFsIGluIDMgYmxvY2tzOyA2NTIwIGZyZWUgKDIgY2h1bmtzKTsgMTkyMDI5NTA0IHVzZWQKMjAy NC0wMy0wNiAyMTowMzoyMC4zNDQgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFRhYmxlRnVu YyBwZXIgdmFsdWUgY29udGV4dDogMTkyMDM2MDI0IHRvdGFsIGluIDMgYmxvY2tzOyA2NTIwIGZy ZWUgKDIgY2h1bmtzKTsgMTkyMDI5NTA0IHVzZWQKMjAyNC0wMy0wNiAyMTowMzoyMy4zNDQgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7IFRhYmxlRnVuYyBwZXIgdmFsdWUgY29udGV4dDogMTky MDA4NjE2IHRvdGFsIGluIDIgYmxvY2tzOyA3NDg4IGZyZWUgKDkgY2h1bmtzKTsgMTkyMDAxMTI4 IHVzZWQKMjAyNC0wMy0wNiAyMTowMzoyOS40MDcgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDQ7 IFRhYmxlRnVuYyBwZXIgdmFsdWUgY29udGV4dDogODE5MiB0b3RhbCBpbiAxIGJsb2NrczsgNzk1 MiBmcmVlICgwIGNodW5rcyk7IDI0MCB1c2VkCjIwMjQtMDMtMDYgMjE6MDM6MjYuNTMzIENTVCBb NDM2NDNdIExPRzogIGxldmVsOiA0OyBUYWJsZUZ1bmMgcGVyIHZhbHVlIGNvbnRleHQ6IDgxOTIg dG90YWwgaW4gMSBibG9ja3M7IDc5NTIgZnJlZSAoMCBjaHVua3MpOyAyNDAgdXNlZAoyMDI0LTAz LTA2IDIxOjAzOjE3LjM0MyBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogNDsgVGFibGVGdW5jIHBl ciB2YWx1ZSBjb250ZXh0OiAxOTIwMzYwMjQgdG90YWwgaW4gMyBibG9ja3M7IDY1MjAgZnJlZSAo MiBjaHVua3MpOyAxOTIwMjk1MDQgdXNlZAoqLw== --0000000000006bd5190612fdd94f Content-Type: application/sql; name="sql_json_1e5_smalll_attribute.sql" Content-Disposition: attachment; filename="sql_json_1e5_smalll_attribute.sql" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltftq9p01 Y3JlYXRlIG9yIHJlcGxhY2UgZnVuY3Rpb24gcmFuZG9tX3RleHQoKSByZXR1cm5zIHRleHQgCmFz ICQkc2VsZWN0IHN0cmluZ19hZ2cobWQ1KHJhbmRvbSgpOjp0ZXh0KSwnJykgZnJvbSBnZW5lcmF0 ZV9TZXJpZXMoMSw4KSBzICQkIExBTkdVQUdFIFNRTDsKRFJPUCBUQUJMRSBpZiBleGlzdHMgczE7 CmNyZWF0ZSB0YWJsZSBzMShhIGpzb25iKTsKSU5TRVJUIElOVE8gczEgU0VMRUNUICgKCSd7Imlk IjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknInR5cGUiOiAiJyB8fCByYW5kb21fdGV4 dCgpIHx8ICciLCcKCScidGl0bGUiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCScib3Jp Z2luYWxfdGl0bGUiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCSciaXNfYWR1bHQiOiAi JyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCScic3RhcnRfeWVhciI6ICInIHx8IHJhbmRvbV90 ZXh0KCkgfHwgJyIsJwoJJyJlbmRfeWVhciI6ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJ JyJtaW51dGVzIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknImdlbnJlcyI6ICInIHx8 IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJJyJhbGlhc2VzIjogIicgfHwgcmFuZG9tX3RleHQoKSB8 fCAnIiwnCgknImdlbnJlcyI6ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJJyJkaXJlY3Rv cnMiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCScid3JpdGVycyI6ICInIHx8IHJhbmRv bV90ZXh0KCkgfHwgJyIsJwoJJyJyYXRpbmdzIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwn CgknImRpcmVjdG9yX25hbWUiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCSciYWxpYXNf dGl0bGUiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCSciYWxpYXNfcmVnaW9uIjogIicg fHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknImRpcmVjdG9yX2JpcnRoX3llYXIiOiAiJyB8fCBy YW5kb21fdGV4dCgpIHx8ICciLCcKCSciZGlyZWN0b3JfZGVhdGhfeWVhciI6ICInIHx8IHJhbmRv bV90ZXh0KCkgfHwgJyIsJwoJJyJyYXRpbmdfYXZlcmFnZSI6ICInIHx8IHJhbmRvbV90ZXh0KCkg fHwgJyIsJwoJJyJyYXRpbmdfdm90ZXMiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciJwoJfHwn fScgKTo6anNvbmIKRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMWU1KTsKClNFTEVDVCBwZ19zaXpl X3ByZXR0eShwZ190YWJsZV9zaXplKCdzMScpKTsgLS01OTggTUIKc2VsZWN0IGNvdW50KCopIGZy b20gczE7CgovKgphbm90aGVyIHNlc3Npb24gY2FsbCBpdCByZXBlYXRlZGx5OgogICAgc2VsZWN0 IHBnX2xvZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0cyg0MzY0MykgXHdhdGNoIGk9NCBjPTUKKi8K U0VMRUNUCglqc29uX3F1ZXJ5KGEsICckLiJpZCInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVl cnkoYSwgJyQuInR5cGUiJyAgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4idGl0 bGUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJvcmlnaW5hbF90aXRsZSIn IHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImlzX2FkdWx0IicgcmV0dXJuaW5n IHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4ic3RhcnRfeWVhciInIHJldHVybmluZyB0ZXh0KSwK CWpzb25fcXVlcnkoYSwgJyQuImVuZF95ZWFyIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVy eShhLCAnJC4ibWludXRlcyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImdl bnJlcyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImFsaWFzZXMiJyByZXR1 cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJkaXJlY3RvcnMiJyByZXR1cm5pbmcgdGV4 dCksCglqc29uX3F1ZXJ5KGEsICckLiJ3cml0ZXJzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9x dWVyeShhLCAnJC4icmF0aW5ncyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQu ImRpcmVjdG9yX25hbWUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJhbGlh c190aXRsZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImFsaWFzX3JlZ2lv biInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuImRpcmVjdG9yX2JpcnRoX3ll YXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJkaXJlY3Rvcl9kZWF0aF95 ZWFyIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4icmF0aW5nX2F2ZXJhZ2Ui JyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJyYXRpbmdfdm90ZXMiJyByZXR1 cm5pbmcgdGV4dCkKZnJvbSBzMTsKCi8qCjIwMjQtMDMtMDYgMTk6MzU6MjguODc5IENTVCBbNDM2 NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1IGJsb2Nr czsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1c2VkCjIwMjQtMDMtMDYgMTk6MzU6MzIu ODc4IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA5ODM2OCB0b3Rh bCBpbiA1IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1c2VkCjIwMjQtMDMt MDYgMTk6MzU6MzYuODc4IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRl OiA5ODM2OCB0b3RhbCBpbiA1IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1 c2VkCjIwMjQtMDMtMDYgMTk6MzU6NDAuODc4IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBF eGVjdXRvclN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1IGJsb2NrczsgMzgxMjggZnJlZSAoNiBjaHVu a3MpOyA2MDI0MCB1c2VkCjIwMjQtMDMtMDYgMTk6MzU6NDQuODc4IENTVCBbNDM2NDNdIExPRzog IGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA5ODM2OCB0b3RhbCBpbiA1IGJsb2NrczsgMzgxMjgg ZnJlZSAoNiBjaHVua3MpOyA2MDI0MCB1c2VkCiovClNFTEVDVAoJanNvbl92YWx1ZShhLCAnJC4i aWQiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJ0eXBlIicgIHJldHVybmlu ZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInRpdGxlIicgcmV0dXJuaW5nIHRleHQpLAoJanNv bl92YWx1ZShhLCAnJC4ib3JpZ2luYWxfdGl0bGUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3Zh bHVlKGEsICckLiJpc19hZHVsdCInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQu InN0YXJ0X3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJlbmRfeWVh ciInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuIm1pbnV0ZXMiJyByZXR1cm5p bmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJnZW5yZXMiJyByZXR1cm5pbmcgdGV4dCksCglq c29uX3ZhbHVlKGEsICckLiJhbGlhc2VzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShh LCAnJC4iZGlyZWN0b3JzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4id3Jp dGVycyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInJhdGluZ3MiJyByZXR1 cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9uYW1lIicgcmV0dXJuaW5n IHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4iYWxpYXNfdGl0bGUiJyByZXR1cm5pbmcgdGV4dCks Cglqc29uX3ZhbHVlKGEsICckLiJhbGlhc19yZWdpb24iJyByZXR1cm5pbmcgdGV4dCksCglqc29u X3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicgcmV0dXJuaW5nIHRleHQpLAoJanNv bl92YWx1ZShhLCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciInIHJldHVybmluZyB0ZXh0KSwKCWpz b25fdmFsdWUoYSwgJyQuInJhdGluZ19hdmVyYWdlIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92 YWx1ZShhLCAnJC4icmF0aW5nX3ZvdGVzIicgcmV0dXJuaW5nIHRleHQpCmZyb20gczE7Ci8qCgoy MDI0LTAzLTA2IDE5OjM4OjM0Ljk5MyBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0 b3JTdGF0ZTogMTk2NjcyIHRvdGFsIGluIDYgYmxvY2tzOyAzMTgwMCBmcmVlICg0IGNodW5rcyk7 IDE2NDg3MiB1c2VkCjIwMjQtMDMtMDYgMTk6Mzg6MzguOTkzIENTVCBbNDM2NDNdIExPRzogIGxl dmVsOiAzOyBFeGVjdXRvclN0YXRlOiAxOTY2NzIgdG90YWwgaW4gNiBibG9ja3M7IDMxODAwIGZy ZWUgKDQgY2h1bmtzKTsgMTY0ODcyIHVzZWQKMjAyNC0wMy0wNiAxOTozODo0Ni45OTQgQ1NUIFs0 MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDE5NjY3MiB0b3RhbCBpbiA2IGJs b2NrczsgMzE4MDAgZnJlZSAoNCBjaHVua3MpOyAxNjQ4NzIgdXNlZAoyMDI0LTAzLTA2IDE5OjM4 OjUwLjk5NCBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMTk2Njcy IHRvdGFsIGluIDYgYmxvY2tzOyAzMTgwMCBmcmVlICg0IGNodW5rcyk7IDE2NDg3MiB1c2VkCjIw MjQtMDMtMDYgMTk6Mzg6NDIuOTkzIENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRv clN0YXRlOiAxOTY2NzIgdG90YWwgaW4gNiBibG9ja3M7IDMxODAwIGZyZWUgKDQgY2h1bmtzKTsg MTY0ODcyIHVzZWQKCiovClNFTEVDVAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4iaWQiJyk6OlRF WFQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJ0eXBlIicgICk6OnRleHQsCglqc29uYl9wYXRo X3F1ZXJ5KGEsICckLiJ0aXRsZSInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJv cmlnaW5hbF90aXRsZSInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJpc19hZHVs dCInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJzdGFydF95ZWFyIicgKTo6dGV4 dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImVuZF95ZWFyIicgKTo6dGV4dCwKCWpzb25iX3Bh dGhfcXVlcnkoYSwgJyQuIm1pbnV0ZXMiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAn JC4iZ2VucmVzIicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImFsaWFzZXMiJyAp Ojp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4iZGlyZWN0b3JzIicgKTo6dGV4dCwKCWpz b25iX3BhdGhfcXVlcnkoYSwgJyQuIndyaXRlcnMiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVy eShhLCAnJC4icmF0aW5ncyInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJkaXJl Y3Rvcl9uYW1lIicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImFsaWFzX3RpdGxl IicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImFsaWFzX3JlZ2lvbiInICk6OnRl eHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicgKTo6dGV4 dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImRpcmVjdG9yX2RlYXRoX3llYXIiJyApOjp0ZXh0 LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4icmF0aW5nX2F2ZXJhZ2UiJyApOjp0ZXh0LAoJanNv bmJfcGF0aF9xdWVyeShhLCAnJC4icmF0aW5nX3ZvdGVzIicgKTo6dGV4dApmcm9tIHM7Ci8qCjIw MjQtMDMtMDYgMTk6NDA6NDguMDg3IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRv clN0YXRlOiAzMzYwMzIgdG90YWwgaW4gOCBibG9ja3M7IDc4NDk2IGZyZWUgKDUgY2h1bmtzKTsg MjU3NTM2IHVzZWQKMjAyNC0wMy0wNiAxOTo0MDo1Mi4wODcgQ1NUIFs0MzY0M10gTE9HOiAgbGV2 ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDMzNjAzMiB0b3RhbCBpbiA4IGJsb2NrczsgNzgzNTIgZnJl ZSAoMiBjaHVua3MpOyAyNTc2ODAgdXNlZAoyMDI0LTAzLTA2IDE5OjQwOjU2LjA4NyBDU1QgWzQz NjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMzM2MDMyIHRvdGFsIGluIDggYmxv Y2tzOyA3ODM1MiBmcmVlICgyIGNodW5rcyk7IDI1NzY4MCB1c2VkCjIwMjQtMDMtMDYgMTk6NDE6 MDAuMDg3IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAzMzYwMzIg dG90YWwgaW4gOCBibG9ja3M7IDc5MjE2IGZyZWUgKDIwIGNodW5rcyk7IDI1NjgxNiB1c2VkCjIw MjQtMDMtMDYgMTk6NDE6MDQuMDg3IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRv clN0YXRlOiAzMzYwMzIgdG90YWwgaW4gOCBibG9ja3M7IDc4NTkyIGZyZWUgKDcgY2h1bmtzKTsg MjU3NDQwIHVzZWQKCiovClNFTEVDVCBqdC4qIEZST00gcyB0LAoJanNvbl90YWJsZSh0LmEsICck JwoJQ09MVU1OUyAoCiAgICAgICAgImlkIiB0ZXh0IHBhdGggJyQuImlkIicsCiAgICAgICAgInR5 cGUiIHRleHQgcGF0aCAnJC4idHlwZSInLAogICAgICAgICJ0aXRsZSIgdGV4dCBwYXRoICckLiJ0 aXRsZSInLAogICAgICAgICJvcmlnaW5hbF90aXRsZSIgdGV4dCBwYXRoICckLiJvcmlnaW5hbF90 aXRsZSInLAogICAgICAgICJpc19hZHVsdCIgdGV4dCBwYXRoICckLiJpc19hZHVsdCInLAogICAg ICAgICJzdGFydF95ZWFyIiB0ZXh0IHBhdGggJyQuInN0YXJ0X3llYXIiJywKICAgICAgICAiZW5k X3llYXIiIHRleHQgcGF0aCAnJC4iZW5kX3llYXIiJywKICAgICAgICAibWludXRlcyIgdGV4dCBw YXRoICckLiJtaW51dGVzIicsCiAgICAgICAgImdlbnJlcyIgdGV4dCBwYXRoICckLiJnZW5yZXMi JywKICAgICAgICAiYWxpYXNlcyIgdGV4dCBwYXRoICckLiJhbGlhc2VzIicsCiAgICAgICAgImRp cmVjdG9ycyIgdGV4dCBwYXRoICckLiJkaXJlY3RvcnMiJywKICAgICAgICAid3JpdGVycyIgdGV4 dCBwYXRoICckLiJ3cml0ZXJzIicsCiAgICAgICAgInJhdGluZ3MiIHRleHQgcGF0aCAnJC4icmF0 aW5ncyInLAogICAgICAgICJkaXJlY3Rvcl9uYW1lIiB0ZXh0IHBhdGggJyQuImRpcmVjdG9yX25h bWUiJywKICAgICAgICAiYWxpYXNfdGl0bGUiIHRleHQgcGF0aCAnJC4iYWxpYXNfdGl0bGUiJywK ICAgICAgICAiYWxpYXNfcmVnaW9uIiB0ZXh0IHBhdGggJyQuImFsaWFzX3JlZ2lvbiInLAogICAg ICAgICJkaXJlY3Rvcl9iaXJ0aF95ZWFyIiB0ZXh0IHBhdGggJyQuImRpcmVjdG9yX2JpcnRoX3ll YXIiJywKICAgICAgICAiZGlyZWN0b3JfZGVhdGhfeWVhciIgdGV4dCBwYXRoICckLiJkaXJlY3Rv cl9kZWF0aF95ZWFyIicsCiAgICAgICAgInJhdGluZ19hdmVyYWdlIiB0ZXh0IHBhdGggJyQuInJh dGluZ19hdmVyYWdlIicsCiAgICAgICAgInJhdGluZ192b3RlcyIgdGV4dCBwYXRoICckLiJyYXRp bmdfdm90ZXMiJwoJKQopIGFzIGp0OwovKgoyMDI0LTAzLTA2IDE5OjQyOjI4Ljk5NiBDU1QgWzQz NjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjc4NTkyIHRvdGFsIGluIDcgYmxv Y2tzOyA2MTU2MCBmcmVlICg3IGNodW5rcyk7IDIxNzAzMiB1c2VkCjIwMjQtMDMtMDYgMTk6NDI6 MzIuOTk2IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNzg1OTIg dG90YWwgaW4gNyBibG9ja3M7IDYxNTYwIGZyZWUgKDcgY2h1bmtzKTsgMjE3MDMyIHVzZWQKMjAy NC0wMy0wNiAxOTo0MjozNi45OTYgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9y U3RhdGU6IDI3ODU5MiB0b3RhbCBpbiA3IGJsb2NrczsgNjE1NjAgZnJlZSAoNyBjaHVua3MpOyAy MTcwMzIgdXNlZAoyMDI0LTAzLTA2IDE5OjQyOjQwLjk5NiBDU1QgWzQzNjQzXSBMT0c6ICBsZXZl bDogMzsgRXhlY3V0b3JTdGF0ZTogMjc4NTkyIHRvdGFsIGluIDcgYmxvY2tzOyA1MzM1MiBmcmVl ICg2IGNodW5rcyk7IDIyNTI0MCB1c2VkCjIwMjQtMDMtMDYgMTk6NDI6NDQuOTk2IENTVCBbNDM2 NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNzg1OTIgdG90YWwgaW4gNyBibG9j a3M7IDYxNTYwIGZyZWUgKDcgY2h1bmtzKTsgMjE3MDMyIHVzZWQKKi8= --0000000000006bd5190612fdd94f Content-Type: application/sql; name="sql_json_1e6_smalll_attribute.sql" Content-Disposition: attachment; filename="sql_json_1e6_smalll_attribute.sql" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltftq9p22 Y3JlYXRlIG9yIHJlcGxhY2UgZnVuY3Rpb24gcmFuZG9tX3RleHQoKSByZXR1cm5zIHRleHQgCmFz ICQkc2VsZWN0IHN0cmluZ19hZ2cobWQ1KHJhbmRvbSgpOjp0ZXh0KSwnJykgZnJvbSBnZW5lcmF0 ZV9TZXJpZXMoMSw4KSBzICQkIExBTkdVQUdFIFNRTDsKCkRST1AgVEFCTEUgaWYgZXhpc3RzIHM7 CmNyZWF0ZSB0YWJsZSBzKGEganNvbmIpOwpJTlNFUlQgSU5UTyBzIFNFTEVDVCAoCgkneyJpZCI6 ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJJyJ0eXBlIjogIicgfHwgcmFuZG9tX3RleHQo KSB8fCAnIiwnCgknInRpdGxlIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknIm9yaWdp bmFsX3RpdGxlIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknImlzX2FkdWx0IjogIicg fHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknInN0YXJ0X3llYXIiOiAiJyB8fCByYW5kb21fdGV4 dCgpIHx8ICciLCcKCSciZW5kX3llYXIiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCSci bWludXRlcyI6ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJJyJnZW5yZXMiOiAiJyB8fCBy YW5kb21fdGV4dCgpIHx8ICciLCcKCSciYWxpYXNlcyI6ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwg JyIsJwoJJyJnZW5yZXMiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8ICciLCcKCSciZGlyZWN0b3Jz IjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknIndyaXRlcnMiOiAiJyB8fCByYW5kb21f dGV4dCgpIHx8ICciLCcKCScicmF0aW5ncyI6ICInIHx8IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJ JyJkaXJlY3Rvcl9uYW1lIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknImFsaWFzX3Rp dGxlIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIiwnCgknImFsaWFzX3JlZ2lvbiI6ICInIHx8 IHJhbmRvbV90ZXh0KCkgfHwgJyIsJwoJJyJkaXJlY3Rvcl9iaXJ0aF95ZWFyIjogIicgfHwgcmFu ZG9tX3RleHQoKSB8fCAnIiwnCgknImRpcmVjdG9yX2RlYXRoX3llYXIiOiAiJyB8fCByYW5kb21f dGV4dCgpIHx8ICciLCcKCScicmF0aW5nX2F2ZXJhZ2UiOiAiJyB8fCByYW5kb21fdGV4dCgpIHx8 ICciLCcKCScicmF0aW5nX3ZvdGVzIjogIicgfHwgcmFuZG9tX3RleHQoKSB8fCAnIicKCXx8J30n ICk6Ompzb25iCkZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDFlNik7CgpTRUxFQ1QgcGdfc2l6ZV9w cmV0dHkocGdfdGFibGVfc2l6ZSgncycpKTsgLS0gNTk3NSBNQgpzZWxlY3QgY291bnQoKikgZnJv bSBzOwovKgphbm90aGVyIHNlc3Npb24gY2FsbCBpdCAgcmVwZWF0ZWRseTogCnNlbGVjdCBwZ19s b2dfYmFja2VuZF9tZW1vcnlfY29udGV4dHMoNDM2NDMpIFx3YXRjaCBpPTQgYz02CiovClNFTEVD VAoJanNvbl9xdWVyeShhLCAnJC4iaWQiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEs ICckLiJ0eXBlIicgIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuInRpdGxlIicg cmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4ib3JpZ2luYWxfdGl0bGUiJyByZXR1 cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJpc19hZHVsdCInIHJldHVybmluZyB0ZXh0 KSwKCWpzb25fcXVlcnkoYSwgJyQuInN0YXJ0X3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29u X3F1ZXJ5KGEsICckLiJlbmRfeWVhciInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwg JyQuIm1pbnV0ZXMiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJnZW5yZXMi JyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJhbGlhc2VzIicgcmV0dXJuaW5n IHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4iZGlyZWN0b3JzIicgcmV0dXJuaW5nIHRleHQpLAoJ anNvbl9xdWVyeShhLCAnJC4id3JpdGVycyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnko YSwgJyQuInJhdGluZ3MiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJkaXJl Y3Rvcl9uYW1lIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4iYWxpYXNfdGl0 bGUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJhbGlhc19yZWdpb24iJyBy ZXR1cm5pbmcgdGV4dCksCglqc29uX3F1ZXJ5KGEsICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicg cmV0dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciIn IHJldHVybmluZyB0ZXh0KSwKCWpzb25fcXVlcnkoYSwgJyQuInJhdGluZ19hdmVyYWdlIicgcmV0 dXJuaW5nIHRleHQpLAoJanNvbl9xdWVyeShhLCAnJC4icmF0aW5nX3ZvdGVzIicgcmV0dXJuaW5n IHRleHQpCmZyb20gczsKLyoKMjAyNC0wMy0wNiAxOToxNTozMC4yNTkgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAzNzg1 NiBmcmVlICg2IGNodW5rcyk7IDYwNTEyIHVzZWQKMjAyNC0wMy0wNiAxOToxNTozMy4yNTkgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4IHRvdGFsIGluIDUg YmxvY2tzOyAzNzg1NiBmcmVlICg2IGNodW5rcyk7IDYwNTEyIHVzZWQKMjAyNC0wMy0wNiAxOTox NTozNi4yNTkgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4 IHRvdGFsIGluIDUgYmxvY2tzOyAzNzg1NiBmcmVlICg2IGNodW5rcyk7IDYwNTEyIHVzZWQKMjAy NC0wMy0wNiAxOToxNTozOS4yNTkgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9y U3RhdGU6IDk4MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAzNzg1NiBmcmVlICg2IGNodW5rcyk7IDYw NTEyIHVzZWQKMjAyNC0wMy0wNiAxOToxNDo0My4xMzAgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6 IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAzNzg1NiBmcmVlICg2 IGNodW5rcyk7IDYwNTEyIHVzZWQKMjAyNC0wMy0wNiAxOToxNTo0Mi4yNTkgQ1NUIFs0MzY0M10g TE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDk4MzY4IHRvdGFsIGluIDUgYmxvY2tzOyAz Nzg1NiBmcmVlICg2IGNodW5rcyk7IDYwNTEyIHVzZWQKKi8KClNFTEVDVAoJanNvbl92YWx1ZShh LCAnJC4iaWQiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJ0eXBlIicgIHJl dHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInRpdGxlIicgcmV0dXJuaW5nIHRleHQp LAoJanNvbl92YWx1ZShhLCAnJC4ib3JpZ2luYWxfdGl0bGUiJyByZXR1cm5pbmcgdGV4dCksCglq c29uX3ZhbHVlKGEsICckLiJpc19hZHVsdCInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUo YSwgJyQuInN0YXJ0X3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJl bmRfeWVhciInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuIm1pbnV0ZXMiJyBy ZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJnZW5yZXMiJyByZXR1cm5pbmcgdGV4 dCksCglqc29uX3ZhbHVlKGEsICckLiJhbGlhc2VzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92 YWx1ZShhLCAnJC4iZGlyZWN0b3JzIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAn JC4id3JpdGVycyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuInJhdGluZ3Mi JyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9uYW1lIicgcmV0 dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4iYWxpYXNfdGl0bGUiJyByZXR1cm5pbmcg dGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJhbGlhc19yZWdpb24iJyByZXR1cm5pbmcgdGV4dCks Cglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicgcmV0dXJuaW5nIHRleHQp LAoJanNvbl92YWx1ZShhLCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciInIHJldHVybmluZyB0ZXh0 KSwKCWpzb25fdmFsdWUoYSwgJyQuInJhdGluZ19hdmVyYWdlIicgcmV0dXJuaW5nIHRleHQpLAoJ anNvbl92YWx1ZShhLCAnJC4icmF0aW5nX3ZvdGVzIicgcmV0dXJuaW5nIHRleHQpCmZyb20gczsK LyoKMjAyNC0wMy0wNiAxOToxODozMy41MzYgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4 ZWN1dG9yU3RhdGU6IDQzNDQwMCB0b3RhbCBpbiA5IGJsb2NrczsgOTcwMDggZnJlZSAoMiBjaHVu a3MpOyAzMzczOTIgdXNlZAoyMDI0LTAzLTA2IDE5OjE4OjI5LjUzNiBDU1QgWzQzNjQzXSBMT0c6 ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogNDM0NDAwIHRvdGFsIGluIDkgYmxvY2tzOyA5NzAw OCBmcmVlICgyIGNodW5rcyk7IDMzNzM5MiB1c2VkCjIwMjQtMDMtMDYgMTk6MTg6MjUuNTM2IENT VCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA0MzQ0MDAgdG90YWwgaW4g OSBibG9ja3M7IDk3MDA4IGZyZWUgKDIgY2h1bmtzKTsgMzM3MzkyIHVzZWQKMjAyNC0wMy0wNiAx OToxODoyMS41MzYgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDQz NDQwMCB0b3RhbCBpbiA5IGJsb2NrczsgOTcwMDggZnJlZSAoMiBjaHVua3MpOyAzMzczOTIgdXNl ZAoyMDI0LTAzLTA2IDE5OjE4OjE3LjUzNiBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhl Y3V0b3JTdGF0ZTogNDM0NDAwIHRvdGFsIGluIDkgYmxvY2tzOyA5NzAwOCBmcmVlICgyIGNodW5r cyk7IDMzNzM5MiB1c2VkCjIwMjQtMDMtMDYgMTk6MTg6MTMuNTM2IENTVCBbNDM2NDNdIExPRzog IGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiA0MzQ0MDAgdG90YWwgaW4gOSBibG9ja3M7IDk3MDA4 IGZyZWUgKDIgY2h1bmtzKTsgMzM3MzkyIHVzZWQKKi8KCgoKU0VMRUNUCglqc29uYl9wYXRoX3F1 ZXJ5KGEsICckLiJpZCInKTo6VEVYVCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuInR5cGUiJyAg KTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuInRpdGxlIicgKTo6dGV4dCwKCWpzb25i X3BhdGhfcXVlcnkoYSwgJyQuIm9yaWdpbmFsX3RpdGxlIicgKTo6dGV4dCwKCWpzb25iX3BhdGhf cXVlcnkoYSwgJyQuImlzX2FkdWx0IicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQu InN0YXJ0X3llYXIiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4iZW5kX3llYXIi JyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4ibWludXRlcyInICk6OnRleHQsCglq c29uYl9wYXRoX3F1ZXJ5KGEsICckLiJnZW5yZXMiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVy eShhLCAnJC4iYWxpYXNlcyInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJkaXJl Y3RvcnMiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4id3JpdGVycyInICk6OnRl eHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJyYXRpbmdzIicgKTo6dGV4dCwKCWpzb25iX3Bh dGhfcXVlcnkoYSwgJyQuImRpcmVjdG9yX25hbWUiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVy eShhLCAnJC4iYWxpYXNfdGl0bGUiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4i YWxpYXNfcmVnaW9uIicgKTo6dGV4dCwKCWpzb25iX3BhdGhfcXVlcnkoYSwgJyQuImRpcmVjdG9y X2JpcnRoX3llYXIiJyApOjp0ZXh0LAoJanNvbmJfcGF0aF9xdWVyeShhLCAnJC4iZGlyZWN0b3Jf ZGVhdGhfeWVhciInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJyYXRpbmdfYXZl cmFnZSInICk6OnRleHQsCglqc29uYl9wYXRoX3F1ZXJ5KGEsICckLiJyYXRpbmdfdm90ZXMiJyAp Ojp0ZXh0CmZyb20gczsKLyoKMjAyNC0wMy0wNiAxOToyMDo1MS45NjIgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDMzNjAzMiB0b3RhbCBpbiA4IGJsb2NrczsgNzkz MTIgZnJlZSAoMjIgY2h1bmtzKTsgMjU2NzIwIHVzZWQKMjAyNC0wMy0wNiAxOToyMDo1NS45NjIg Q1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDMzNjAzMiB0b3RhbCBp biA4IGJsb2NrczsgNzgzNTIgZnJlZSAoMiBjaHVua3MpOyAyNTc2ODAgdXNlZAoyMDI0LTAzLTA2 IDE5OjIwOjU5Ljk2MiBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTog MzM2MDMyIHRvdGFsIGluIDggYmxvY2tzOyA3ODM1MiBmcmVlICgyIGNodW5rcyk7IDI1NzY4MCB1 c2VkCjIwMjQtMDMtMDYgMTk6MjE6MDMuOTYyIENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBF eGVjdXRvclN0YXRlOiAzMzYwMzIgdG90YWwgaW4gOCBibG9ja3M7IDc4NTkyIGZyZWUgKDcgY2h1 bmtzKTsgMjU3NDQwIHVzZWQKMjAyNC0wMy0wNiAxOToyMToxMS45NjIgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDMzNjAzMiB0b3RhbCBpbiA4IGJsb2NrczsgNzg3 MzYgZnJlZSAoMTAgY2h1bmtzKTsgMjU3Mjk2IHVzZWQKMjAyNC0wMy0wNiAxOToyMTowNy45NjIg Q1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDMzNjAzMiB0b3RhbCBp biA4IGJsb2NrczsgNzg0NDggZnJlZSAoNCBjaHVua3MpOyAyNTc1ODQgdXNlZAoqLwoKClNFTEVD VCBqdC4qIEZST00gcyB0LAoJanNvbl90YWJsZSh0LmEsICckJwoJCUNPTFVNTlMgKAoJCSJpZCIg dGV4dCBwYXRoICckLiJpZCInLAoJCSJ0eXBlIiB0ZXh0IHBhdGggJyQuInR5cGUiJywKCQkidGl0 bGUiIHRleHQgcGF0aCAnJC4idGl0bGUiJywKCQkib3JpZ2luYWxfdGl0bGUiIHRleHQgcGF0aCAn JC4ib3JpZ2luYWxfdGl0bGUiJywKCQkiaXNfYWR1bHQiIHRleHQgcGF0aCAnJC4iaXNfYWR1bHQi JywKCQkic3RhcnRfeWVhciIgdGV4dCBwYXRoICckLiJzdGFydF95ZWFyIicsCgkJImVuZF95ZWFy IiB0ZXh0IHBhdGggJyQuImVuZF95ZWFyIicsCgkJIm1pbnV0ZXMiIHRleHQgcGF0aCAnJC4ibWlu dXRlcyInLAoJCSJnZW5yZXMiIHRleHQgcGF0aCAnJC4iZ2VucmVzIicsCgkJImFsaWFzZXMiIHRl eHQgcGF0aCAnJC4iYWxpYXNlcyInLAoJCSJkaXJlY3RvcnMiIHRleHQgcGF0aCAnJC4iZGlyZWN0 b3JzIicsCgkJIndyaXRlcnMiIHRleHQgcGF0aCAnJC4id3JpdGVycyInLAoJCSJyYXRpbmdzIiB0 ZXh0IHBhdGggJyQuInJhdGluZ3MiJywKCQkiZGlyZWN0b3JfbmFtZSIgdGV4dCBwYXRoICckLiJk aXJlY3Rvcl9uYW1lIicsCgkJImFsaWFzX3RpdGxlIiB0ZXh0IHBhdGggJyQuImFsaWFzX3RpdGxl IicsCgkJImFsaWFzX3JlZ2lvbiIgdGV4dCBwYXRoICckLiJhbGlhc19yZWdpb24iJywKCQkiZGly ZWN0b3JfYmlydGhfeWVhciIgdGV4dCBwYXRoICckLiJkaXJlY3Rvcl9iaXJ0aF95ZWFyIicsCgkJ ImRpcmVjdG9yX2RlYXRoX3llYXIiIHRleHQgcGF0aCAnJC4iZGlyZWN0b3JfZGVhdGhfeWVhciIn LAoJCSJyYXRpbmdfYXZlcmFnZSIgdGV4dCBwYXRoICckLiJyYXRpbmdfYXZlcmFnZSInLAoJCSJy YXRpbmdfdm90ZXMiIHRleHQgcGF0aCAnJC4icmF0aW5nX3ZvdGVzIicKCQkpCikgYXMganQ7Ci8q CjIwMjQtMDMtMDYgMTk6MjM6MzIuODY2IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVj dXRvclN0YXRlOiAyNzg1OTIgdG90YWwgaW4gNyBibG9ja3M7IDYxNTYwIGZyZWUgKDcgY2h1bmtz KTsgMjE3MDMyIHVzZWQKMjAyNC0wMy0wNiAxOToyMzozNi44NjYgQ1NUIFs0MzY0M10gTE9HOiAg bGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI3ODU5MiB0b3RhbCBpbiA3IGJsb2NrczsgNjE1NjAg ZnJlZSAoNyBjaHVua3MpOyAyMTcwMzIgdXNlZAoyMDI0LTAzLTA2IDE5OjIzOjQwLjg2NiBDU1Qg WzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjc4NTkyIHRvdGFsIGluIDcg YmxvY2tzOyA1MzM1MiBmcmVlICg2IGNodW5rcyk7IDIyNTI0MCB1c2VkCjIwMjQtMDMtMDYgMTk6 MjM6NDQuODY2IENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNzg1 OTIgdG90YWwgaW4gNyBibG9ja3M7IDYxNTYwIGZyZWUgKDcgY2h1bmtzKTsgMjE3MDMyIHVzZWQK MjAyNC0wMy0wNiAxOToyMzo0OC44NjYgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1 dG9yU3RhdGU6IDI3ODU5MiB0b3RhbCBpbiA3IGJsb2NrczsgNjE1NjAgZnJlZSAoNyBjaHVua3Mp OyAyMTcwMzIgdXNlZAoyMDI0LTAzLTA2IDE5OjIzOjUyLjg2NiBDU1QgWzQzNjQzXSBMT0c6ICBs ZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjc4NTkyIHRvdGFsIGluIDcgYmxvY2tzOyA2MTU2MCBm cmVlICg3IGNodW5rcyk7IDIxNzAzMiB1c2VkCiovCgoKZXhwbGFpbihhbmFseXplLGNvc3RzIG9m ZikKU0VMRUNUCglqc29uX3ZhbHVlKGEsICckLiJpZCInIHJldHVybmluZyB0ZXh0KSwKCWpzb25f dmFsdWUoYSwgJyQuInR5cGUiJyAgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4i dGl0bGUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJvcmlnaW5hbF90aXRs ZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuImlzX2FkdWx0IicgcmV0dXJu aW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4ic3RhcnRfeWVhciInIHJldHVybmluZyB0ZXh0 KSwKCWpzb25fdmFsdWUoYSwgJyQuImVuZF95ZWFyIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92 YWx1ZShhLCAnJC4ibWludXRlcyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQu ImdlbnJlcyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuImFsaWFzZXMiJyBy ZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3RvcnMiJyByZXR1cm5pbmcg dGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJ3cml0ZXJzIicgcmV0dXJuaW5nIHRleHQpLAoJanNv bl92YWx1ZShhLCAnJC4icmF0aW5ncyInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwg JyQuImRpcmVjdG9yX25hbWUiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJh bGlhc190aXRsZSInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuImFsaWFzX3Jl Z2lvbiInIHJldHVybmluZyB0ZXh0KSwKCWpzb25fdmFsdWUoYSwgJyQuImRpcmVjdG9yX2JpcnRo X3llYXIiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJkaXJlY3Rvcl9kZWF0 aF95ZWFyIicgcmV0dXJuaW5nIHRleHQpLAoJanNvbl92YWx1ZShhLCAnJC4icmF0aW5nX2F2ZXJh Z2UiJyByZXR1cm5pbmcgdGV4dCksCglqc29uX3ZhbHVlKGEsICckLiJyYXRpbmdfdm90ZXMiJyBy ZXR1cm5pbmcgdGV4dCkKZnJvbSBzOwovKgpzZWxlY3QgcGdfbG9nX2JhY2tlbmRfbWVtb3J5X2Nv bnRleHRzKDQzNjQzKSBcd2F0Y2ggaT02MCBjPTYKMjAyNC0wMy0wNiAxOTo1Mjo0MS43MDcgQ1NU IFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDQzNDQwMCB0b3RhbCBpbiA5 IGJsb2NrczsgMTA2MjI0IGZyZWUgKDMgY2h1bmtzKTsgMzI4MTc2IHVzZWQKMjAyNC0wMy0wNiAx OTo1Mzo0MS43MDYgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDQz NDQwMCB0b3RhbCBpbiA5IGJsb2NrczsgMTA2MjI0IGZyZWUgKDMgY2h1bmtzKTsgMzI4MTc2IHVz ZWQKMjAyNC0wMy0wNiAxOTo1NDo0MS43MDcgQ1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4 ZWN1dG9yU3RhdGU6IDQzNDQwMCB0b3RhbCBpbiA5IGJsb2NrczsgMTA2MjI0IGZyZWUgKDMgY2h1 bmtzKTsgMzI4MTc2IHVzZWQKMjAyNC0wMy0wNiAxOTo1MTo0MS43MDYgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDQzNDQwMCB0b3RhbCBpbiA5IGJsb2NrczsgMTA2 MjI0IGZyZWUgKDMgY2h1bmtzKTsgMzI4MTc2IHVzZWQKKi8KCgpleHBsYWluKGNvc3RzIG9mZiwg YW5hbHl6ZSkKU0VMRUNUIGp0LiogRlJPTSBzIHQsCglqc29uX3RhYmxlKHQuYSwgJyQnCgkJQ09M VU1OUyAoCgkJImlkIiB0ZXh0IHBhdGggJyQuImlkIicsCgkJInR5cGUiIHRleHQgcGF0aCAnJC4i dHlwZSInLAoJCSJ0aXRsZSIgdGV4dCBwYXRoICckLiJ0aXRsZSInLAoJCSJvcmlnaW5hbF90aXRs ZSIgdGV4dCBwYXRoICckLiJvcmlnaW5hbF90aXRsZSInLAoJCSJpc19hZHVsdCIgdGV4dCBwYXRo ICckLiJpc19hZHVsdCInLAoJCSJzdGFydF95ZWFyIiB0ZXh0IHBhdGggJyQuInN0YXJ0X3llYXIi JywKCQkiZW5kX3llYXIiIHRleHQgcGF0aCAnJC4iZW5kX3llYXIiJywKCQkibWludXRlcyIgdGV4 dCBwYXRoICckLiJtaW51dGVzIicsCgkJImdlbnJlcyIgdGV4dCBwYXRoICckLiJnZW5yZXMiJywK CQkiYWxpYXNlcyIgdGV4dCBwYXRoICckLiJhbGlhc2VzIicsCgkJImRpcmVjdG9ycyIgdGV4dCBw YXRoICckLiJkaXJlY3RvcnMiJywKCQkid3JpdGVycyIgdGV4dCBwYXRoICckLiJ3cml0ZXJzIics CgkJInJhdGluZ3MiIHRleHQgcGF0aCAnJC4icmF0aW5ncyInLAoJCSJkaXJlY3Rvcl9uYW1lIiB0 ZXh0IHBhdGggJyQuImRpcmVjdG9yX25hbWUiJywKCQkiYWxpYXNfdGl0bGUiIHRleHQgcGF0aCAn JC4iYWxpYXNfdGl0bGUiJywKCQkiYWxpYXNfcmVnaW9uIiB0ZXh0IHBhdGggJyQuImFsaWFzX3Jl Z2lvbiInLAoJCSJkaXJlY3Rvcl9iaXJ0aF95ZWFyIiB0ZXh0IHBhdGggJyQuImRpcmVjdG9yX2Jp cnRoX3llYXIiJywKCQkiZGlyZWN0b3JfZGVhdGhfeWVhciIgdGV4dCBwYXRoICckLiJkaXJlY3Rv cl9kZWF0aF95ZWFyIicsCgkJInJhdGluZ19hdmVyYWdlIiB0ZXh0IHBhdGggJyQuInJhdGluZ19h dmVyYWdlIicsCgkJInJhdGluZ192b3RlcyIgdGV4dCBwYXRoICckLiJyYXRpbmdfdm90ZXMiJwoJ CSkKKSBhcyBqdDsKLyoKc2VsZWN0IHBnX2xvZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0cyg0MzY0 MykgXHdhdGNoIGk9MTAgYz02CjIwMjQtMDMtMDYgMjA6MDI6MzQuMDQxIENTVCBbNDM2NDNdIExP RzogIGxldmVsOiAzOyBFeGVjdXRvclN0YXRlOiAyNzg1OTIgdG90YWwgaW4gNyBibG9ja3M7IDcw MjQ4IGZyZWUgKDcgY2h1bmtzKTsgMjA4MzQ0IHVzZWQKMjAyNC0wMy0wNiAyMDowMjo0NC4wNDEg Q1NUIFs0MzY0M10gTE9HOiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI3ODU5MiB0b3RhbCBp biA3IGJsb2NrczsgNzAyNDggZnJlZSAoNyBjaHVua3MpOyAyMDgzNDQgdXNlZAoyMDI0LTAzLTA2 IDIwOjAyOjU0LjA0MSBDU1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTog Mjc4NTkyIHRvdGFsIGluIDcgYmxvY2tzOyA3MDI0OCBmcmVlICg3IGNodW5rcyk7IDIwODM0NCB1 c2VkCjIwMjQtMDMtMDYgMjA6MDM6MDQuMDQxIENTVCBbNDM2NDNdIExPRzogIGxldmVsOiAzOyBF eGVjdXRvclN0YXRlOiAyNzg1OTIgdG90YWwgaW4gNyBibG9ja3M7IDcwMjQ4IGZyZWUgKDcgY2h1 bmtzKTsgMjA4MzQ0IHVzZWQKMjAyNC0wMy0wNiAyMDowMzoxNC4wNDEgQ1NUIFs0MzY0M10gTE9H OiAgbGV2ZWw6IDM7IEV4ZWN1dG9yU3RhdGU6IDI3ODU5MiB0b3RhbCBpbiA3IGJsb2NrczsgNzAy NDggZnJlZSAoNyBjaHVua3MpOyAyMDgzNDQgdXNlZAoyMDI0LTAzLTA2IDIwOjAyOjI0LjA0MSBD U1QgWzQzNjQzXSBMT0c6ICBsZXZlbDogMzsgRXhlY3V0b3JTdGF0ZTogMjYyMTQ0IHRvdGFsIGlu IDYgYmxvY2tzOyA3MDc5MiBmcmVlICg5IGNodW5rcyk7IDE5MTM1MiB1c2VkCiov --0000000000006bd5190612fdd94f--