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 1s9NV9-001qIB-Kj for pgsql-general@arkaria.postgresql.org; Tue, 21 May 2024 11:17:53 +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 1s9NV9-009bm8-LJ for pgsql-general@arkaria.postgresql.org; Tue, 21 May 2024 11:17:51 +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 1s9NV9-009bm0-7h for pgsql-general@lists.postgresql.org; Tue, 21 May 2024 11:17:51 +0000 Received: from mail-qt1-x82b.google.com ([2607:f8b0:4864:20::82b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s9NV6-0001Ws-0o for pgsql-general@lists.postgresql.org; Tue, 21 May 2024 11:17:50 +0000 Received: by mail-qt1-x82b.google.com with SMTP id d75a77b69052e-43e09dab877so25725531cf.1 for ; Tue, 21 May 2024 04:17:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716290267; x=1716895067; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Hqwedl9syDOS5u3U9AOUa4I4K5n81Hd+ToW4pwoRNVA=; b=fVI+/J2ld5uJPVFMFqA2m3gGcDkPh2qTl/46CbUmMsHSGewC/T523e0IcWwo+JT+BR a8LZfA3VYIQQTnkEkmRkW9iLUXQ+FhQ9Wb6mtQtj3snTqbPYTAUKQ/K2keRGTVsX7Otg PFt2+q+toGxH9BpZri0HNf5A0f4O3RucOL0Zd6u4GtVWFMuedQTBxVm3DIomcTcCs+fO dsvE2lMKiOFlUXpbDeUP0m1/MlwY1MmfU4wnSRjoNKkcbbHUfHR8qrTPR2Acmk7J1evb IOFPpwFWNVbOi8hT1k6nRcOJWepmxo3+PCjITX0cuda5W9a/6I+hx7TJ4DpNa98mras8 ToBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716290267; x=1716895067; 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=Hqwedl9syDOS5u3U9AOUa4I4K5n81Hd+ToW4pwoRNVA=; b=khs7u0SCuwey0XBpSgJJ2rVMD2pctquICN3j/0E7R0b/V8qsPO1h0WoD3WWUq0aWY6 ahYCR/PDZ8wQw59AH/IaH+scmx5uxJEfnck03O1kwKr42Jj8AM7IRMiD4J1atvuzd35A vQmEojED2HMGuWftLTIyVxUulYRZH+l5ncoQvAcmts2J93gGwniGkkrVoSyyef1NX1IC 6p/A9oyDeorYGvp0Rd7rdTB113KxgZvpuj6xc5Gk7fFYdvus3hbWwqFIetFbbqLwfm6l youOT9PTLjHPTtF03Rs5B9yKiJGfGo0NhI4g6cvIbPCxFFHbS+cvL5D6U7SUS49vX48/ 6i6g== X-Forwarded-Encrypted: i=1; AJvYcCUjTQiQOPRP9sNRAgLO6vlnTSRzgl767QEV63qK5Lk+MsSB5EvHVm976C0MUJNP/2889MMbKNerKiWpQ/c/SiTODZGNTuPMlqZxNBhjP8F0zd8c X-Gm-Message-State: AOJu0YxzQm1AfHNrzAPjqFbiID6uBTCVrOSdFF4RkK8aS7ACQpAGLBY8 uf4kNxdAyBym3I0zNPLWI2DxlKvuQ2gEgSw6fbL8P3gNV3tPMXI15DMjUSo1vxUtwoyy9WL0d/Q 6MPWA+nm3ctK7bPQYjfhfBx4po2H+RVfgSkc= X-Google-Smtp-Source: AGHT+IEEHZf7oy1IL2ssSlAoM3QwAZRY8koEdZgu/6CJyJP8gTC6FHRXfADYnSXUINqxQ6affWnUhjZ7kH3Rr/OmpIE= X-Received: by 2002:ac8:7d45:0:b0:43c:7840:52fa with SMTP id d75a77b69052e-43dfdcd7c74mr322116101cf.48.1716290266723; Tue, 21 May 2024 04:17:46 -0700 (PDT) MIME-Version: 1.0 References: <30e9bb0078cc239e4faa0d81707360b4fb3e1a45.camel@cybertec.at> In-Reply-To: <30e9bb0078cc239e4faa0d81707360b4fb3e1a45.camel@cybertec.at> From: =?UTF-8?B?U2HFoW8gR2FudGFy?= Date: Tue, 21 May 2024 13:17:35 +0200 Message-ID: Subject: Re: problem with query To: Laurenz Albe Cc: David Rowley , pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000adfd300618f4f775" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000adfd300618f4f775 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable sorry... SELECT COALESCE(Json_agg(Row_to_json(info)), '[]' :: JSON) AS TABLES FROM (WITH partitions AS (SELECT array (WITH partitioned_tables AS (SELECT array (SELECT oid FROM pg_class WHERE relkind =3D 'p') AS parent_tables) SELECT child.relnam= e AS PARTITION FROM partitioned_tables, pg_inherits JOIN pg_class child ON pg_inherits.inhrelid =3D child.oid JOIN pg_namespace nmsp_child ON nmsp_child.oid =3D child.relnamesp= ace WHERE ((nmsp_child.nspname=3D'servicedesk')) AND pg_inherits.inhparent =3D ANY (partitioned_tables.parent_tables) ) AS NAMES) SELECT pgn.nspname AS table_schema, pgc.relname AS TABLE_NAME, CASE WHEN pgc.relkind =3D 'r' THEN 'TABLE' WHEN pgc.relkind =3D 'f' THEN 'FOREIGN TABLE' WHEN pgc.relkind =3D 'v' THEN 'VIEW' WHEN pgc.relkind =3D 'm' THEN 'MATERIALIZED VIEW' WHEN pgc.relkind =3D 'p' THEN 'PARTITIONED TABLE' END AS table_type, obj_description(pgc.oid) AS COMMENT, COALESCE(json_agg(DISTINCT row_to_json(isc) :: JSONB || jsonb_build_object('comment', col_description(pga.attrelid, pga.attnum))) filter ( WHERE isc.column_name IS NOT NULL), '[]' :: JSON) AS columns, COALESCE(json_agg(DISTINCT row_to_json(ist) :: JSONB || jsonb_build_object('comment', obj_description(pgt.oid))) filter ( WHERE ist.trigger_name IS NOT NULL), '[]' :: JSON) AS TRIGGERS, row_to_json(isv) AS view_info FROM partitions, pg_class AS pgc INNER JOIN pg_namespace AS pgn ON pgc.relnamespace =3D pgn.oid /* column= s */ /* This is a simplified version of how information_schema.columns was ** implemented in postgres 9.5, but modified to support materialized ** views. */ LEFT OUTER JOIN pg_attribute AS pga ON pga.attrelid =3D pgc.oid LEFT OUTER JOIN (SELECT nc.nspname AS table_schema, c.relname AS TABLE_NAME, a.attname AS COLUMN_NAME, a.attnum AS ordinal_position, pg_get_expr(ad.adbin, ad.adrelid) AS column_default, CASE WHEN a.attnotnull OR (t.typtype =3D 'd' AND t.typnotnull) THEN 'NO' ELSE 'YES' END AS is_nullable, CASE WHEN t.typtype =3D 'd' THEN CASE WHEN bt.typelem <> 0 AND bt.typlen =3D -1 TH= EN 'ARRAY' WHEN nbt.nspname =3D 'pg_catalog' THEN format_type(t.typbasetype, NULL) ELSE 'USER-DEFINED' END ELSE CASE WHEN t.typelem <> 0 AND t.typlen =3D -1 THEN 'ARRAY' WHEN nt.nspname =3D 'pg_catalog' THEN format_type(a.atttypid, NULL) ELSE 'USER-DEFINED' END END AS data_type, coalesce(bt.typname, t.typname) AS data_type_name, CASE WHEN a.attidentity =3D 'd' THEN TRUE WHEN a.attidentity =3D 'a' THEN TRUE ELSE FALSE END AS is_identity FROM (pg_attribute a LEFT JOIN pg_attrdef ad ON attrelid =3D adrelid AND attnum =3D adnum) JOIN (pg_class c JOIN pg_namespace nc ON (c.relnamespace =3D nc.oid)) ON a.attrelid =3D c.oid JOIN (pg_type t JOIN pg_namespace nt ON (t.typnamespace =3D nt.oid)) ON a.atttypid =3D t.oid LEFT JOIN (pg_type bt JOIN pg_namespace nbt ON (bt.typnamespace =3D nbt.oid)) ON (t.typtype =3D 'd' AND t.typbasetype =3D bt.oid) LEFT JOIN (pg_collation co JOIN pg_namespace nco ON (co.collnamespace =3D nco.oid)) O= N a.attcollation =3D co.oid AND (nco.nspname, co.collname) <> ('pg_catalog', 'default') WHERE (NOT pg_is_other_temp_schema(nc.oid)) AND a.attnum > 0 AND NOT a.attisdropped AND c.relkind in ('r', 'v', 'm', 'f', 'p') AND (pg_has_role(c.relowner, 'USAGE') OR has_column_privilege(c.oid, a.attnum, 'SELECT, INSERT, UPDATE, REFERENCES')) ) AS isc ON isc.table_schema =3D pgn.nspname AND isc.table_name =3D pgc.relname AND isc.column_name =3D pga.attname /* triggers */ LEFT OUTER JOIN pg_trigger AS pgt ON pgt.tgrelid =3D pgc.oid LEFT OUTER JOIN information_schema.triggers AS ist ON ist.event_object_schema =3D pgn.nspname AND ist.event_object_table =3D pgc.relname AND ist.trigger_name =3D pgt.tgname /* This is a simplified version of h= ow information_schema.views was ** implemented in postgres 9.5, but modified to support materialized ** views. */ LEFT OUTER JOIN (SELECT nc.nspname AS table_schema, c.relname AS TABLE_NAME, CASE WHEN pg_has_role(c.relowner, 'USAGE') THEN pg_get_viewdef(c.oid) ELSE NULL END AS view_definition, CASE WHEN pg_relation_is_updatable(c.oid, FALSE) & 20 =3D 20 TH= EN 'YES' ELSE 'NO' END AS is_updatable, CASE WHEN pg_relation_is_updatable(c.oid, FALSE) & 8 =3D 8 THEN 'YES' ELSE 'NO' END AS is_insertable_into, CASE WHEN EXISTS (SELECT 1 FROM pg_trigger WHERE tgrelid =3D c.oid AND tgtype & 81 =3D 81) THEN 'YES' ELSE 'NO' END AS is_trigger_updatable, CASE WHEN EXISTS (SELECT 1 FROM pg_trigger WHERE tgrelid =3D c.oid AND tgtype & 73 =3D 73) THEN 'YES' ELSE 'NO' END AS is_trigger_deletable, CASE WHEN EXISTS (SELECT 1 FROM pg_trigger WHERE tgrelid =3D c.oid AND tgtype & 69 =3D 69) THEN 'YES' ELSE 'NO' END AS is_trigger_insertable_into FROM pg_namespace nc, pg_class c WHERE c.relnamespace =3D nc.oid AND c.relkind in ('v', 'm') AND (NOT pg_is_other_temp_schema(nc.oid)) AND (pg_has_role(c.relowner, 'USAGE') OR has_table_privilege(c.oid, 'SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER') OR has_any_column_privilege(c.oid, 'SELECT, INSERT, UPDATE, REFERENCES')) ) AS isv ON isv.table_schema =3D pgn.nspname AND isv.table_name =3D pgc.relname WHERE pgc.relkind IN ('r', 'v', 'f', 'm', 'p') AND ((pgn.nspname=3D'servicedesk')) GROUP BY pgc.oid, pgn.nspname, pgc.relname, table_type, isv.*) AS info; On Tue, 21 May 2024 at 13:14, Laurenz Albe wrote= : > On Tue, 2024-05-21 at 12:49 +0200, Sa=C5=A1o Gantar wrote: > > thanks for the info, but is there any solution, given that it's system > tables? > > We still don't know the query. > > Yours, > Laurenz Albe > --000000000000adfd300618f4f775 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+c29ycnkuLi48ZGl2Pjxicj48L2Rpdj48ZGl2PlNFTEVDVCBDT0FMRVND RShKc29uX2FnZyhSb3dfdG9fanNvbihpbmZvKSksICYjMzk7W10mIzM5OyA6OiBKU09OKSBBUyBU QUJMRVM8YnI+RlJPTTxicj7CoCAoV0lUSCBwYXJ0aXRpb25zIEFTPGJyPsKgIMKgIMKgKFNFTEVD VCBhcnJheTxicj7CoCDCoCDCoCDCoCAoV0lUSCBwYXJ0aXRpb25lZF90YWJsZXMgQVM8YnI+wqAg wqAgwqAgwqAgwqAgwqAoU0VMRUNUIGFycmF5PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIChTRUxF Q1Qgb2lkPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRlJPTSBwZ19jbGFzczxicj7CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoFdIRVJFIHJlbGtpbmQgPSAmIzM5O3AmIzM5OykgQVMgcGFyZW50X3Rh YmxlcykgU0VMRUNUIGNoaWxkLnJlbG5hbWUgQVMgUEFSVElUSU9OPGJyPsKgIMKgIMKgIMKgIMKg RlJPTSBwYXJ0aXRpb25lZF90YWJsZXMsIHBnX2luaGVyaXRzPGJyPsKgIMKgIMKgIMKgIMKgSk9J TiBwZ19jbGFzcyBjaGlsZCBPTiBwZ19pbmhlcml0cy5pbmhyZWxpZCA9IGNoaWxkLm9pZDxicj7C oCDCoCDCoCDCoCDCoEpPSU4gcGdfbmFtZXNwYWNlIG5tc3BfY2hpbGQgT04gbm1zcF9jaGlsZC5v aWQgPSBjaGlsZC5yZWxuYW1lc3BhY2U8YnI+wqAgwqAgwqAgwqAgwqBXSEVSRSA8YnI+wqAgwqAg wqAgwqAgwqAoKG5tc3BfY2hpbGQubnNwbmFtZT0mIzM5O3NlcnZpY2VkZXNrJiMzOTspKTxicj7C oCDCoCDCoCDCoCDCoCDCoEFORCBwZ19pbmhlcml0cy5pbmhwYXJlbnQgPSBBTlkgKHBhcnRpdGlv bmVkX3RhYmxlcy5wYXJlbnRfdGFibGVzKSApIEFTIE5BTUVTKSBTRUxFQ1QgcGduLm5zcG5hbWUg QVMgdGFibGVfc2NoZW1hLDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHBnYy5y ZWxuYW1lIEFTIFRBQkxFX05BTUUsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg Q0FTRTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFdIRU4gcGdjLnJl bGtpbmQgPSAmIzM5O3ImIzM5OyBUSEVOICYjMzk7VEFCTEUmIzM5Ozxicj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFdIRU4gcGdjLnJlbGtpbmQgPSAmIzM5O2YmIzM5OyBU SEVOICYjMzk7Rk9SRUlHTiBUQUJMRSYjMzk7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgV0hFTiBwZ2MucmVsa2luZCA9ICYjMzk7diYjMzk7IFRIRU4gJiMzOTtWSUVX JiMzOTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVOIHBnYy5y ZWxraW5kID0gJiMzOTttJiMzOTsgVEhFTiAmIzM5O01BVEVSSUFMSVpFRCBWSUVXJiMzOTs8YnI+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVOIHBnYy5yZWxraW5kID0g JiMzOTtwJiMzOTsgVEhFTiAmIzM5O1BBUlRJVElPTkVEIFRBQkxFJiMzOTs8YnI+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBFTkQgQVMgdGFibGVfdHlwZSw8YnI+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBvYmpfZGVzY3JpcHRpb24ocGdjLm9pZCkgQVMgQ09NTUVOVCw8 YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBDT0FMRVNDRShqc29uX2FnZyhESVNU SU5DVCByb3dfdG9fanNvbihpc2MpIDo6IEpTT05CIHx8IGpzb25iX2J1aWxkX29iamVjdCgmIzM5 O2NvbW1lbnQmIzM5OywgY29sX2Rlc2NyaXB0aW9uKHBnYS5hdHRyZWxpZCwgcGdhLmF0dG51bSkp KSBmaWx0ZXIgKDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFdIRVJFIGlzYy5jb2x1bW5fbmFtZSBJUyBOT1QgTlVM TCksICYjMzk7W10mIzM5OyA6OiBKU09OKSBBUyBjb2x1bW5zLDxicj7CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoENPQUxFU0NFKGpzb25fYWdnKERJU1RJTkNUIHJvd190b19qc29uKGlz dCkgOjogSlNPTkIgfHwganNvbmJfYnVpbGRfb2JqZWN0KCYjMzk7Y29tbWVudCYjMzk7LCBvYmpf ZGVzY3JpcHRpb24ocGd0Lm9pZCkpKSBmaWx0ZXIgKDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCBXSEVSRSBpc3QudHJpZ2dlcl9uYW1lIElTIE5PVCBOVUxMKSwg JiMzOTtbXSYjMzk7IDo6IEpTT04pIEFTIFRSSUdHRVJTLDxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoHJvd190b19qc29uKGlzdikgQVMgdmlld19pbmZvPGJyPsKgIMKgRlJPTSBw YXJ0aXRpb25zLDxicj7CoCDCoCDCoCDCoCBwZ19jbGFzcyBBUyBwZ2M8YnI+wqAgwqBJTk5FUiBK T0lOIHBnX25hbWVzcGFjZSBBUyBwZ24gT04gcGdjLnJlbG5hbWVzcGFjZSA9IHBnbi5vaWQgLyog Y29sdW1ucyAqLyAvKiBUaGlzIGlzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9mIGhvdyBpbmZvcm1h dGlvbl9zY2hlbWEuY29sdW1ucyB3YXMgwqAgwqAgKiogaW1wbGVtZW50ZWQgaW4gcG9zdGdyZXMg OS41LCBidXQgbW9kaWZpZWQgdG8gc3VwcG9ydCBtYXRlcmlhbGl6ZWQgwqAgwqAgKiogdmlld3Mu IMKgIMKgICovPGJyPsKgIMKgTEVGVCBPVVRFUiBKT0lOIHBnX2F0dHJpYnV0ZSBBUyBwZ2EgT04g cGdhLmF0dHJlbGlkID0gcGdjLm9pZDxicj7CoCDCoExFRlQgT1VURVIgSk9JTjxicj7CoCDCoCDC oChTRUxFQ1QgbmMubnNwbmFtZSBBUyB0YWJsZV9zY2hlbWEsPGJyPsKgIMKgIMKgIMKgIMKgIMKg IMKgYy5yZWxuYW1lIEFTIFRBQkxFX05BTUUsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgYS5hdHRu YW1lIEFTIENPTFVNTl9OQU1FLDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoGEuYXR0bnVtIEFTIG9y ZGluYWxfcG9zaXRpb24sPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgcGdfZ2V0X2V4cHIoYWQuYWRi aW4sIGFkLmFkcmVsaWQpIEFTIGNvbHVtbl9kZWZhdWx0LDxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oENBU0U8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVOIGEuYXR0bm90bnVsbDxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBPUiAodC50eXB0eXBlID0gJiMzOTtkJiMz OTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQU5EIHQudHlwbm90 bnVsbCkgVEhFTiAmIzM5O05PJiMzOTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBFTFNF ICYjMzk7WUVTJiMzOTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqBFTkQgQVMgaXNfbnVsbGFibGUs PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgQ0FTRTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oFdIRU4gdC50eXB0eXBlID0gJiMzOTtkJiMzOTsgVEhFTiBDQVNFPGJyPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg V0hFTiBidC50eXBlbGVtICZsdDsmZ3Q7IDA8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQU5EIGJ0 LnR5cGxlbiA9IC0xIFRIRU4gJiMzOTtBUlJBWSYjMzk7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgV0hFTiBu YnQubnNwbmFtZSA9ICYjMzk7cGdfY2F0YWxvZyYjMzk7IFRIRU4gZm9ybWF0X3R5cGUodC50eXBi YXNldHlwZSwgTlVMTCk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBFTFNFICYjMzk7VVNFUi1ERUZJTkVEJiMz OTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqBFTkQ8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBFTFNFIENBU0U8 YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgV0hFTiB0LnR5cGVsZW0g Jmx0OyZndDsgMDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoEFORCB0LnR5cGxlbiA9IC0xIFRIRU4gJiMzOTtBUlJBWSYjMzk7PGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIFdIRU4gbnQubnNwbmFtZSA9ICYjMzk7cGdfY2F0 YWxvZyYjMzk7IFRIRU4gZm9ybWF0X3R5cGUoYS5hdHR0eXBpZCwgTlVMTCk8YnI+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgRUxTRSAmIzM5O1VTRVItREVGSU5FRCYjMzk7 PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEVORDxicj7CoCDCoCDCoCDCoCDC oCDCoCDCoEVORCBBUyBkYXRhX3R5cGUsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgY29hbGVzY2Uo YnQudHlwbmFtZSwgdC50eXBuYW1lKSBBUyBkYXRhX3R5cGVfbmFtZSw8YnI+wqAgwqAgwqAgwqAg wqAgwqAgwqBDQVNFPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgV0hFTiBhLmF0dGlkZW50 aXR5ID0gJiMzOTtkJiMzOTsgVEhFTiBUUlVFPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg V0hFTiBhLmF0dGlkZW50aXR5ID0gJiMzOTthJiMzOTsgVEhFTiBUUlVFPGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgRUxTRSBGQUxTRTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoEVORCBBUyBp c19pZGVudGl0eTxicj7CoCDCoCDCoCBGUk9NIChwZ19hdHRyaWJ1dGUgYTxicj7CoCDCoCDCoCDC oCDCoCDCoCBMRUZUIEpPSU4gcGdfYXR0cmRlZiBhZCBPTiBhdHRyZWxpZCA9IGFkcmVsaWQ8YnI+ wqAgwqAgwqAgwqAgwqAgwqAgQU5EIGF0dG51bSA9IGFkbnVtKTxicj7CoCDCoCDCoCBKT0lOIChw Z19jbGFzcyBjPGJyPsKgIMKgIMKgIMKgIMKgIMKgIEpPSU4gcGdfbmFtZXNwYWNlIG5jIE9OIChj LnJlbG5hbWVzcGFjZSA9IG5jLm9pZCkpIE9OIGEuYXR0cmVsaWQgPSBjLm9pZDxicj7CoCDCoCDC oCBKT0lOIChwZ190eXBlIHQ8YnI+wqAgwqAgwqAgwqAgwqAgwqAgSk9JTiBwZ19uYW1lc3BhY2Ug bnQgT04gKHQudHlwbmFtZXNwYWNlID0gbnQub2lkKSkgT04gYS5hdHR0eXBpZCA9IHQub2lkPGJy PsKgIMKgIMKgIExFRlQgSk9JTiAocGdfdHlwZSBidDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoEpPSU4gcGdfbmFtZXNwYWNlIG5idCBPTiAoYnQudHlwbmFtZXNwYWNlID0gbmJ0Lm9pZCkp IE9OICh0LnR5cHR5cGUgPSAmIzM5O2QmIzM5Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEFORCB0LnR5cGJhc2V0eXBlID0gYnQub2lk KTxicj7CoCDCoCDCoCBMRUZUIEpPSU4gKHBnX2NvbGxhdGlvbiBjbzxicj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoEpPSU4gcGdfbmFtZXNwYWNlIG5jbyBPTiAoY28uY29sbG5hbWVzcGFjZSA9 IG5jby5vaWQpKSBPTiBhLmF0dGNvbGxhdGlvbiA9IGNvLm9pZDxicj7CoCDCoCDCoCBBTkQgKG5j by5uc3BuYW1lLDxicj7CoCDCoCDCoCDCoCDCoCDCoGNvLmNvbGxuYW1lKSAmbHQ7Jmd0OyAoJiMz OTtwZ19jYXRhbG9nJiMzOTssPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICYjMzk7ZGVmYXVsdCYjMzk7KTxicj7CoCDCoCDCoCBXSEVSRSAoTk9UIHBnX2lzX290 aGVyX3RlbXBfc2NoZW1hKG5jLm9pZCkpPGJyPsKgIMKgIMKgIMKgIEFORCBhLmF0dG51bSAmZ3Q7 IDA8YnI+wqAgwqAgwqAgwqAgQU5EIE5PVCBhLmF0dGlzZHJvcHBlZDxicj7CoCDCoCDCoCDCoCBB TkQgYy5yZWxraW5kIGluICgmIzM5O3ImIzM5Oyw8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgJiMzOTt2JiMzOTssPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgICYjMzk7bSYjMzk7LDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCAmIzM5O2YmIzM5Oyw8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgJiMzOTtwJiMzOTspPGJyPsKgIMKgIMKgIMKgIEFORCAocGdfaGFzX3JvbGUoYy5y ZWxvd25lciwgJiMzOTtVU0FHRSYjMzk7KTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoE9SIGhhc19j b2x1bW5fcHJpdmlsZWdlKGMub2lkLCBhLmF0dG51bSwgJiMzOTtTRUxFQ1QsIElOU0VSVCwgVVBE QVRFLCBSRUZFUkVOQ0VTJiMzOTspKSApIEFTIGlzYyBPTiBpc2MudGFibGVfc2NoZW1hID0gcGdu Lm5zcG5hbWU8YnI+wqAgwqBBTkQgaXNjLnRhYmxlX25hbWUgPSBwZ2MucmVsbmFtZTxicj7CoCDC oEFORCBpc2MuY29sdW1uX25hbWUgPSBwZ2EuYXR0bmFtZSAvKiB0cmlnZ2VycyAqLzxicj7CoCDC oExFRlQgT1VURVIgSk9JTiBwZ190cmlnZ2VyIEFTIHBndCBPTiBwZ3QudGdyZWxpZCA9IHBnYy5v aWQ8YnI+wqAgwqBMRUZUIE9VVEVSIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLnRyaWdnZXJzIEFT IGlzdCBPTiBpc3QuZXZlbnRfb2JqZWN0X3NjaGVtYSA9IHBnbi5uc3BuYW1lPGJyPsKgIMKgQU5E IGlzdC5ldmVudF9vYmplY3RfdGFibGUgPSBwZ2MucmVsbmFtZTxicj7CoCDCoEFORCBpc3QudHJp Z2dlcl9uYW1lID0gcGd0LnRnbmFtZSAvKiBUaGlzIGlzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9m IGhvdyBpbmZvcm1hdGlvbl9zY2hlbWEudmlld3Mgd2FzIMKgIMKgICoqIGltcGxlbWVudGVkIGlu IHBvc3RncmVzIDkuNSwgYnV0IG1vZGlmaWVkIHRvIHN1cHBvcnQgbWF0ZXJpYWxpemVkIMKgIMKg ICoqIHZpZXdzLiDCoCDCoCAqLzxicj7CoCDCoExFRlQgT1VURVIgSk9JTjxicj7CoCDCoCDCoChT RUxFQ1QgbmMubnNwbmFtZSBBUyB0YWJsZV9zY2hlbWEsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKg Yy5yZWxuYW1lIEFTIFRBQkxFX05BTUUsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgQ0FTRTxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFdIRU4gcGdfaGFzX3JvbGUoYy5yZWxvd25lciwgJiMz OTtVU0FHRSYjMzk7KSBUSEVOIHBnX2dldF92aWV3ZGVmKGMub2lkKTxicj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoEVMU0UgTlVMTDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoEVORCBBUyB2aWV3 X2RlZmluaXRpb24sPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgQ0FTRTxicj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoFdIRU4gcGdfcmVsYXRpb25faXNfdXBkYXRhYmxlKGMub2lkLCBGQUxTRSkg JmFtcDsgMjAgPSAyMCBUSEVOICYjMzk7WUVTJiMzOTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBFTFNFICYjMzk7Tk8mIzM5Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoEVORCBBUyBpc191 cGRhdGFibGUsPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgQ0FTRTxicj7CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoFdIRU4gcGdfcmVsYXRpb25faXNfdXBkYXRhYmxlKGMub2lkLCBGQUxTRSkgJmFt cDsgOCA9IDggVEhFTiAmIzM5O1lFUyYjMzk7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg RUxTRSAmIzM5O05PJiMzOTs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqBFTkQgQVMgaXNfaW5zZXJ0 YWJsZV9pbnRvLDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoENBU0U8YnI+wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBXSEVOIEVYSVNUUzxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCAoU0VMRUNUIDE8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBG Uk9NIHBnX3RyaWdnZXI8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBX SEVSRSB0Z3JlbGlkID0gYy5vaWQ8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBBTkQgdGd0eXBlICZhbXA7IDgxID0gODEpIFRIRU4gJiMzOTtZRVMmIzM5Ozxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEVMU0UgJiMzOTtOTyYjMzk7PGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgRU5EIEFTIGlzX3RyaWdnZXJfdXBkYXRhYmxlLDxicj7CoCDCoCDCoCDCoCDCoCDC oCDCoENBU0U8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVOIEVYSVNUUzxicj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoU0VMRUNUIDE8YnI+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBGUk9NIHBnX3RyaWdnZXI8YnI+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVSRSB0Z3JlbGlkID0gYy5vaWQ8YnI+wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBBTkQgdGd0eXBlICZhbXA7IDczID0g NzMpIFRIRU4gJiMzOTtZRVMmIzM5Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEVMU0Ug JiMzOTtOTyYjMzk7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgRU5EIEFTIGlzX3RyaWdnZXJfZGVs ZXRhYmxlLDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoENBU0U8YnI+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBXSEVOIEVYSVNUUzxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCAoU0VMRUNUIDE8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBGUk9N IHBnX3RyaWdnZXI8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBXSEVS RSB0Z3JlbGlkID0gYy5vaWQ8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBBTkQgdGd0eXBlICZhbXA7IDY5ID0gNjkpIFRIRU4gJiMzOTtZRVMmIzM5Ozxicj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoEVMU0UgJiMzOTtOTyYjMzk7PGJyPsKgIMKgIMKgIMKgIMKg IMKgIMKgRU5EIEFTIGlzX3RyaWdnZXJfaW5zZXJ0YWJsZV9pbnRvPGJyPsKgIMKgIMKgIEZST00g cGdfbmFtZXNwYWNlIG5jLDxicj7CoCDCoCDCoCDCoCDCoCDCoHBnX2NsYXNzIGM8YnI+wqAgwqAg wqAgV0hFUkUgYy5yZWxuYW1lc3BhY2UgPSBuYy5vaWQ8YnI+wqAgwqAgwqAgwqAgQU5EIGMucmVs a2luZCBpbiAoJiMzOTt2JiMzOTssPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICYjMzk7bSYjMzk7KTxicj7CoCDCoCDCoCDCoCBBTkQgKE5PVCBwZ19pc19vdGhlcl90 ZW1wX3NjaGVtYShuYy5vaWQpKTxicj7CoCDCoCDCoCDCoCBBTkQgKHBnX2hhc19yb2xlKGMucmVs b3duZXIsICYjMzk7VVNBR0UmIzM5Oyk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqBPUiBoYXNfdGFi bGVfcHJpdmlsZWdlKGMub2lkLCAmIzM5O1NFTEVDVCwgSU5TRVJULCBVUERBVEUsIERFTEVURSwg VFJVTkNBVEUsIFJFRkVSRU5DRVMsIFRSSUdHRVImIzM5Oyk8YnI+wqAgwqAgwqAgwqAgwqAgwqAg wqBPUiBoYXNfYW55X2NvbHVtbl9wcml2aWxlZ2UoYy5vaWQsICYjMzk7U0VMRUNULCBJTlNFUlQs IFVQREFURSwgUkVGRVJFTkNFUyYjMzk7KSkgKSBBUyBpc3YgT04gaXN2LnRhYmxlX3NjaGVtYSA9 IHBnbi5uc3BuYW1lPGJyPsKgIMKgQU5EIGlzdi50YWJsZV9uYW1lID0gcGdjLnJlbG5hbWU8YnI+ wqAgwqBXSEVSRSA8YnI+wqAgwqBwZ2MucmVsa2luZCBJTiAoJiMzOTtyJiMzOTssPGJyPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTt2JiMzOTssPGJyPsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTtmJiMzOTssPGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTttJiMzOTssPGJyPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTtwJiMzOTspPGJyPjxicj7CoCDCoCDCoEFORCAo KHBnbi5uc3BuYW1lPSYjMzk7c2VydmljZWRlc2smIzM5OykpPGJyPsKgIMKgIMKgPGJyPsKgIMKg R1JPVVAgQlkgcGdjLm9pZCw8YnI+wqAgwqAgwqAgwqAgwqAgwqAgcGduLm5zcG5hbWUsPGJyPsKg IMKgIMKgIMKgIMKgIMKgIHBnYy5yZWxuYW1lLDxicj7CoCDCoCDCoCDCoCDCoCDCoCB0YWJsZV90 eXBlLDxicj7CoCDCoCDCoCDCoCDCoCDCoCBpc3YuKikgQVMgaW5mbzs8YnI+PC9kaXY+PC9kaXY+ PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxf YXR0ciI+T24gVHVlLCAyMSBNYXkgMjAyNCBhdCAxMzoxNCwgTGF1cmVueiBBbGJlICZsdDs8YSBo cmVmPSJtYWlsdG86bGF1cmVuei5hbGJlQGN5YmVydGVjLmF0Ij5sYXVyZW56LmFsYmVAY3liZXJ0 ZWMuYXQ8L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1 b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xp ZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPk9uIFR1ZSwgMjAyNC0wNS0yMSBh dCAxMjo0OSArMDIwMCwgU2HFoW8gR2FudGFyIHdyb3RlOjxicj4NCiZndDsgdGhhbmtzIGZvciB0 aGUgaW5mbywgYnV0IGlzIHRoZXJlIGFueSBzb2x1dGlvbiwgZ2l2ZW4gdGhhdCBpdCYjMzk7cyBz eXN0ZW0gdGFibGVzPzxicj4NCjxicj4NCldlIHN0aWxsIGRvbiYjMzk7dCBrbm93IHRoZSBxdWVy eS48YnI+DQo8YnI+DQpZb3Vycyw8YnI+DQpMYXVyZW56IEFsYmU8YnI+DQo8L2Jsb2NrcXVvdGU+ PC9kaXY+DQo= --000000000000adfd300618f4f775--