Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vh7mt-009zY5-2n for pgsql-performance@arkaria.postgresql.org; Sat, 17 Jan 2026 15:00:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vh7ms-008awf-2P for pgsql-performance@arkaria.postgresql.org; Sat, 17 Jan 2026 15:00:27 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vh7ms-008awU-1B for pgsql-performance@lists.postgresql.org; Sat, 17 Jan 2026 15:00:26 +0000 Received: from mail-yw1-x1134.google.com ([2607:f8b0:4864:20::1134]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vh7mq-0010az-2F for pgsql-performance@lists.postgresql.org; Sat, 17 Jan 2026 15:00:26 +0000 Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-7927541abfaso27929587b3.3 for ; Sat, 17 Jan 2026 07:00:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1768662023; cv=none; d=google.com; s=arc-20240605; b=EyQkN9qIrVrnL4jzyUy9RNseX7Z/h+PgoQ8qLo8rhpcFGt4fBkKfJpNhV+18zYsC4Y HWxjQ1rg1zJU1blXb11tGjR77Dr2BO60tyd6mlJsawZVVGqjzJ1A2KmbtJMmGpyOkoLa wcxlcpZmrDTzXYDl1FWDVP4JwzpFIgMlijjpt2Tuq3SC0rTI1u4M98KaBaxLlrxQLeKV e0r45kVN/yi/NYP/RkNJ/ohC0ZqpIiCKXqpM8m04/z5He9NQokTnxZhn6sL9HjZAbqYL 54TMJnm6PCvoEuhW5CACcUlr3FNft1Cuonz4lR2yzzIIGppFjM/lY5svT89/Fot8/0up wNxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=1X6vAz8jPLNySmk0AWiBY1OqCKi7EZp99gY7Cq7rdok=; fh=VcYEeMa6flC62q1FfORkCt2kzLFilPufza9tD6qcSfA=; b=RcKks2V3c0qWP2O/aR9h4jPXMqiinj251vCyqfQPNMXJo43EE7fyC39Ps+awZ8IPhx koEADpQXdbCgVmw++7Imk/kIfTYYkm3WHXX7bIhBpSWhC/5Bl8vZkR4QNia4PNyuI6A6 WK3znAGLUPraNcI2ETy3WNJ/irC0yUb8EzbmwvwwMLrAHjY4+9MsjQAQJ8fZn0zBcJpD QlV9Hk3LI61fAsPYwdg2NrPFagOmOHtwNy8njm9ZdSHewetwuwjt9v8eXQfqeJxK01fr LrDsCAFzC+MYgYc52Er5GYbuaeGmy5ciKuyYZlq/jcF5ly2DIH5bwZ66xq5h0jY+ISFw FRPQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768662023; x=1769266823; 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=1X6vAz8jPLNySmk0AWiBY1OqCKi7EZp99gY7Cq7rdok=; b=TJ7RF2291x/MCik70Jlstb3oH70fod1+lUva6CvEJfId49S0YfBlUsKEHAVQ0qoWGA BLrd7i4D/qU/qMgky+vF9wf3O5shDAb5S1i/l1P8OrU6EOKcW7kXG0i4nOdDqJcuDW4s SfZOczqGhfjlcOrO5eMXaGtUvOvYQxSDUEIc1+R/vpiSXPnRMqihuJhGgZ8piQAuGY5R UQx+TQFXucpT49Jg0NKino8wnQ2+j3YCMOkmGQu5E7HXQUOlikfgsRBDDfwGkjfVT+8x Fn80Vlepljd+ExKKASLrRImyRraQplOOSvNYLTedwOQjxS1I/u3hdQ8OnbfYtVJeKavG 7N1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768662023; x=1769266823; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1X6vAz8jPLNySmk0AWiBY1OqCKi7EZp99gY7Cq7rdok=; b=wU9cikdKpWrAkzdjlnSEMg+F+phZefWS6LqxkURWtqeqhJr/XkdwelLf6pKLm33ldZ uR+LC5EDg8g44AlN/+72qHVM0g73fT4vUP6rs4GHHKg8YlFhWOZ+a6mOuAXiD+sgo7k5 f49aESTeLzh0DGe5kzQLWah7vJ+EjkdA+Ohf+GSxBJUdVGa4rZqlVs6SUCIgX3oycLCm 9q0S+NQH00Ba+QEWCDLX8CNnSe1EoRnkyPGt1hExf8RoLrzXTOBaLSOQ2sng9Mbs71rm uTNSFdRD8RYP3cvJjMBfUp1k2S5gjxhpBzOMTXn+Jln+CjoftQAN0KlcC2WzO40tRowZ WHMg== X-Gm-Message-State: AOJu0YzD2x40OExA2F216T3WyDBsvx3IU0pYNpmZ8uXkPKBDyu6B7UXn bsMIunLVPMqIf05VE9QtkveWWdMN4Jf+Kim0HWSxUe9o+pQ3KWVsA2ER5Etl2Lwix7RbvoDuzCP sl1E4mITfGX0JHHAuGKAI+Hwm4PopESU= X-Gm-Gg: AY/fxX7CEQysLDyUbkJE2neBqiQ7jmO6w7JHD2yofdMS5P2rJ8n+ou+rA+PXFR/aHPh BicZjf/2aeKFklapboEPfMjgS7lyB2vjwewYcI0rHqQyQR5rlEoYIOAdadYsmNEnycpVXhuKjrc eD31GNwcnIOlm+0uw5lCCqt4KfavYtHdd6RZCtq7CDVEBUvr5js6pLDvhH7Gh0dxywbuDEmVsxf 3wQtjk1BzR0L1EWOpDh7ZxBnFiiKctLJ9vtQwkYMWc8mf+RpoErPfwVZLVKJwBf6SKU53s+VN45 KoTqo9Qs1F7Kj4a8BZyGRuFGB3c/u/WVJfCRgj3G9TZqXA/jtbxVM8XPr6TgB388KLxGcw/LQJq gDERzqPYNe26+yg8P3IONcPtlJOMTwFoHarIV9AhF8gkc7w== X-Received: by 2002:a05:690c:4c03:b0:784:8cb4:d935 with SMTP id 00721157ae682-793c5524655mr50819807b3.65.1768662022302; Sat, 17 Jan 2026 07:00:22 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Pavel Stehule Date: Sat, 17 Jan 2026 15:59:45 +0100 X-Gm-Features: AZwV_Qjq8dqWveDvpdcrZ28lZ2tQsEd5L75JE6mImUoMoyVS836055YHKmkDE0Y Message-ID: Subject: Re: Slow queries on simple index To: Lillian Berry Cc: pgsql-performance@lists.postgresql.org, infra@pluralkit.me Content-Type: multipart/alternative; boundary="000000000000913078064896b735" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000913078064896b735 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi so 17. 1. 2026 v 15:47 odes=C3=ADlatel Lillian Berry napsal: > Logs on our PostgreSQL cluster show frequent slow reads on a simple query > by unique index. > > This issue has been present for some years, and survived multiple server > moves as well as PostgreSQL version upgrades. > Vacuuming or reindexing the table does not seem to help. > > Jan 17 13:38:13 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[172632]: > pluralkit-db-dataLOG: duration: 2322.842 ms execute : SELECT * > FROM "members" WHERE "hid" =3D $1 > Jan 17 13:38:15 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[157893]: > pluralkit-db-dataLOG: duration: 2155.033 ms execute _auto8: SELECT * FR= OM > "members" WHERE "hid" =3D $1 > Jan 17 13:38:16 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[157826]: > pluralkit-db-dataLOG: duration: 2164.851 ms execute _auto10: SELECT * > FROM "members" WHERE "hid" =3D $1 > Jan 17 13:38:19 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[171076]: > pluralkit-db-dataLOG: duration: 2039.040 ms execute _auto3: SELECT * FR= OM > "members" WHERE "hid" =3D $1 > Jan 17 13:38:20 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[162682]: > pluralkit-db-dataLOG: duration: 2189.700 ms execute _auto8: SELECT * FR= OM > "members" WHERE "hid" =3D $1 > Jan 17 13:38:22 database-node1-bd9aa148 > pzqzs8zyvqrq1rq25z4drws8dhnbxa59-run-postgres[159824]: > pluralkit-db-dataLOG: duration: 2137.666 ms execute _auto10: SELECT * > FROM "members" WHERE "hid" =3D $1 > > Parameter detail has been redacted for privacy. > > This is not reproducible on manual queries, whether using the same values > or other random ones.e There can be lot of possible reasons: 1. virtualization 2. network issues 3. application server lag 4. maybe by using transparent huge pages It is pretty hard to identify these issues, because source of this issue can be everything in every layer At the end I executed every second just simple select SELECT 1; and I checked the time It can help with removing some hypotheses like application server issues or network issues. Regards Pavel > pluralkit=3D# explain (analyze, buffers, settings) select * from members > where hid =3D 'exampl'; > QUERY PLAN > > -------------------------------------------------------------------------= ----------------------------------------------------- > Index Scan using members_hid_key on members (cost=3D0.43..8.45 rows=3D1 > width=3D838) (actual time=3D0.098..0.098 rows=3D0.00 loops=3D1) > Index Cond: (hid =3D 'exampl'::bpchar) > Index Searches: 1 > Buffers: shared hit=3D3 > Settings: effective_cache_size =3D '40GB' > Planning Time: 0.161 ms > Execution Time: 0.124 ms > (7 rows) > > Table info: > > pluralkit=3D# \d+ members > > Table "public.members" > Column | Type | Collation | > Nullable | Default | Storage | > Compression | Stats target | Description > > ------------------------+-----------------------------+-----------+------= ----+------------------------------------------+----------+-------------+--= ------------+------------- > id | integer | | not > null | nextval('members_id_seq'::regclass) | plain | = | > | > hid | character(6) | | not > null | | extended | = | > | > system | integer | | not > null | nextval('members_system_seq'::regclass) | plain | = | > | > color | character(6) | | > | | extended | | > | > avatar_url | text | | > | | extended | | > | > name | text | | not > null | | extended | = | > | > birthday | date | | > | | plain | | > | > pronouns | text | | > | | extended | | > | > description | text | | > | | extended | | > | > created | timestamp without time zone | | not > null | timezone('utc'::text, CURRENT_TIMESTAMP) | plain | = | > | > display_name | text | | > | | extended | | > | > proxy_tags | proxy_tag[] | | not > null | ARRAY[]::proxy_tag[] | extended | = | > | > keep_proxy | boolean | | not > null | false | plain | = | > | > member_visibility | integer | | not > null | 1 | plain | = | > | > message_count | integer | | not > null | 0 | plain | = | > | > description_privacy | integer | | not > null | 1 | plain | = | > | > name_privacy | integer | | not > null | 1 | plain | = | > | > avatar_privacy | integer | | not > null | 1 | plain | = | > | > birthday_privacy | integer | | not > null | 1 | plain | = | > | > pronoun_privacy | integer | | not > null | 1 | plain | = | > | > metadata_privacy | integer | | not > null | 1 | plain | = | > | > allow_autoproxy | boolean | | not > null | true | plain | = | > | > banner_image | text | | > | | extended | | > | > uuid | uuid | | > | public.gen_random_uuid() | plain | | > | > last_message_timestamp | timestamp without time zone | | > | | plain | | > | > webhook_avatar_url | text | | > | | extended | | > | > proxy_privacy | integer | | not > null | 1 | plain | = | > | > tts | boolean | | not > null | false | plain | = | > | > banner_privacy | integer | | not > null | 1 | plain | = | > | > Indexes: > "members_pkey" PRIMARY KEY, btree (id) > "members_by_system" btree (system) > "members_hid_key" UNIQUE CONSTRAINT, btree (hid) > "members_uuid_idx" btree (uuid) > Check constraints: > "members_avatar_privacy_check" CHECK (avatar_privacy =3D ANY (ARRAY[1= , > 2])) > "members_banner_privacy_check" CHECK (banner_privacy =3D ANY (ARRAY[1= , > 2])) > "members_birthday_privacy_check" CHECK (birthday_privacy =3D ANY > (ARRAY[1, 2])) > "members_description_privacy_check" CHECK (description_privacy =3D AN= Y > (ARRAY[1, 2])) > "members_member_privacy_check" CHECK (member_visibility =3D ANY > (ARRAY[1, 2])) > "members_metadata_privacy_check" CHECK (metadata_privacy =3D ANY > (ARRAY[1, 2])) > "members_name_privacy_check" CHECK (name_privacy =3D ANY (ARRAY[1, 2]= )) > "members_pronoun_privacy_check" CHECK (pronoun_privacy =3D ANY (ARRAY= [1, > 2])) > "members_proxy_privacy_check" CHECK (proxy_privacy =3D ANY (ARRAY[1, = 2])) > Foreign-key constraints: > "members_system_fkey" FOREIGN KEY (system) REFERENCES systems(id) ON > DELETE CASCADE > Referenced by: > TABLE "autoproxy" CONSTRAINT "autoproxy_autoproxy_member_fkey" FOREIG= N > KEY (autoproxy_member) REFERENCES members(id) ON DELETE SET NULL > TABLE "group_members" CONSTRAINT "group_members_member_id_fkey" > FOREIGN KEY (member_id) REFERENCES members(id) ON DELETE CASCADE > TABLE "member_guild" CONSTRAINT "member_guild_member_fkey" FOREIGN KE= Y > (member) REFERENCES members(id) ON DELETE CASCADE > TABLE "switch_members" CONSTRAINT "switch_members_member_fkey" FOREIG= N > KEY (member) REFERENCES members(id) ON DELETE CASCADE > Access method: heap > > pluralkit=3D# SELECT relname, relpages, reltuples, relallvisible, relkind= , > relnatts, relhassubclass, reloptions, pg_table_size(oid) FROM pg_class > WHERE relname=3D'members'; > -[ RECORD 1 ]--+-------------- > relname | members > relpages | 816042 > reltuples | 1.3412575e+07 > relallvisible | 297904 > relkind | r > relnatts | 29 > relhassubclass | f > reloptions | > pg_table_size | 6687031296 > > postgresql.conf: > > archive_command =3D > '/nix/store/dz9vwg5grhvpz4v7rscdl95n7s5z8c3x-pluralkit-scripts-1/bin/pk-w= alg > data 5432 pluralkit wal-push %p' > archive_mode =3D 'yes' > archive_timeout =3D 60 > effective_cache_size =3D '40GB' > hba_file =3D '/nix/store/0pihm0qzk2pdn1d344p8kihpa58hd7s6-pg_hba.conf' > listen_addresses =3D 'localhost, 100.123.150.13, > fdaa:9:e856:a7b:910f:0:a:102' > log_destination =3D 'stderr' > log_line_prefix =3D 'pluralkit-db-data' > log_min_duration_statement =3D 1000 > max_connections =3D 2000 > max_wal_size =3D '1GB' > min_wal_size =3D '80MB' > port =3D 5432 > shared_buffers =3D '50GB' > > Environment: > > PostgreSQL 18.1 on x86_64-pc-linux-gnu, compiled by clang version 20.1.8, > 64-bit > installed from nixpkgs > NixOS 25.11 on Linux 6.12.61 on AMD EPYC 7351P > 2x Intel SSDPELKX020T7 in RAID1 (md-raid), with LUKS, ext4 filesystem > > Same issue previously appeared on > PostgreSQL 14, both self-compiled and from nixpkgs > NixOS 24.10 on AMD Ryzen 7950X > ext4 filesystem directly on single Kioxia enterprise SSD (sorry I don't > remember the model) > > Kindly, > Lillian > > > --000000000000913078064896b735 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5IaTwvZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSBn bWFpbF9xdW90ZV9jb250YWluZXIiPjxkaXYgZGlyPSJsdHIiIGNsYXNzPSJnbWFpbF9hdHRyIj5z byAxNy4gMS4gMjAyNiB2wqAxNTo0NyBvZGVzw61sYXRlbCBMaWxsaWFuIEJlcnJ5ICZsdDs8YSBo cmVmPSJtYWlsdG86bGlsbGlhbkBzdGFyLWFyay5uZXQiPmxpbGxpYW5Ac3Rhci1hcmsubmV0PC9h PiZndDsgbmFwc2FsOjxicj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0 eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigy MDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+TG9ncyBvbiBvdXIgUG9zdGdyZVNRTCBjbHVz dGVyIHNob3cgZnJlcXVlbnQgc2xvdyByZWFkcyBvbiBhIHNpbXBsZSBxdWVyeSBieSB1bmlxdWUg aW5kZXguIDxicj4NCjxicj4NClRoaXMgaXNzdWUgaGFzIGJlZW4gcHJlc2VudCBmb3Igc29tZSB5 ZWFycywgYW5kIHN1cnZpdmVkIG11bHRpcGxlIHNlcnZlciBtb3ZlcyBhcyB3ZWxsIGFzIFBvc3Rn cmVTUUwgdmVyc2lvbiB1cGdyYWRlcy48YnI+DQpWYWN1dW1pbmcgb3IgcmVpbmRleGluZyB0aGUg dGFibGUgZG9lcyBub3Qgc2VlbSB0byBoZWxwLjxicj4NCjxicj4NCkphbiAxNyAxMzozODoxMyBk YXRhYmFzZS1ub2RlMS1iZDlhYTE0OCBwenF6czh6eXZxcnExcnEyNXo0ZHJ3czhkaG5ieGE1OS1y dW4tcG9zdGdyZXNbMTcyNjMyXTogcGx1cmFsa2l0LWRiLWRhdGFMT0c6wqAgZHVyYXRpb246IDIz MjIuODQyIG1zwqAgZXhlY3V0ZSAmbHQ7dW5uYW1lZCZndDs6IFNFTEVDVCAqIEZST00gJnF1b3Q7 bWVtYmVycyZxdW90OyBXSEVSRSAmcXVvdDtoaWQmcXVvdDsgPSAkMTxicj4NCkphbiAxNyAxMzoz ODoxNSBkYXRhYmFzZS1ub2RlMS1iZDlhYTE0OCBwenF6czh6eXZxcnExcnEyNXo0ZHJ3czhkaG5i eGE1OS1ydW4tcG9zdGdyZXNbMTU3ODkzXTogcGx1cmFsa2l0LWRiLWRhdGFMT0c6wqAgZHVyYXRp b246IDIxNTUuMDMzIG1zwqAgZXhlY3V0ZSBfYXV0bzg6IFNFTEVDVCAqIEZST00gJnF1b3Q7bWVt YmVycyZxdW90OyBXSEVSRSAmcXVvdDtoaWQmcXVvdDsgPSAkMTxicj4NCkphbiAxNyAxMzozODox NiBkYXRhYmFzZS1ub2RlMS1iZDlhYTE0OCBwenF6czh6eXZxcnExcnEyNXo0ZHJ3czhkaG5ieGE1 OS1ydW4tcG9zdGdyZXNbMTU3ODI2XTogcGx1cmFsa2l0LWRiLWRhdGFMT0c6wqAgZHVyYXRpb246 IDIxNjQuODUxIG1zwqAgZXhlY3V0ZSBfYXV0bzEwOiBTRUxFQ1QgKiBGUk9NICZxdW90O21lbWJl cnMmcXVvdDsgV0hFUkUgJnF1b3Q7aGlkJnF1b3Q7ID0gJDE8YnI+DQpKYW4gMTcgMTM6Mzg6MTkg ZGF0YWJhc2Utbm9kZTEtYmQ5YWExNDggcHpxenM4enl2cXJxMXJxMjV6NGRyd3M4ZGhuYnhhNTkt cnVuLXBvc3RncmVzWzE3MTA3Nl06IHBsdXJhbGtpdC1kYi1kYXRhTE9HOsKgIGR1cmF0aW9uOiAy MDM5LjA0MCBtc8KgIGV4ZWN1dGUgX2F1dG8zOiBTRUxFQ1QgKiBGUk9NICZxdW90O21lbWJlcnMm cXVvdDsgV0hFUkUgJnF1b3Q7aGlkJnF1b3Q7ID0gJDE8YnI+DQpKYW4gMTcgMTM6Mzg6MjAgZGF0 YWJhc2Utbm9kZTEtYmQ5YWExNDggcHpxenM4enl2cXJxMXJxMjV6NGRyd3M4ZGhuYnhhNTktcnVu LXBvc3RncmVzWzE2MjY4Ml06IHBsdXJhbGtpdC1kYi1kYXRhTE9HOsKgIGR1cmF0aW9uOiAyMTg5 LjcwMCBtc8KgIGV4ZWN1dGUgX2F1dG84OiBTRUxFQ1QgKiBGUk9NICZxdW90O21lbWJlcnMmcXVv dDsgV0hFUkUgJnF1b3Q7aGlkJnF1b3Q7ID0gJDE8YnI+DQpKYW4gMTcgMTM6Mzg6MjIgZGF0YWJh c2Utbm9kZTEtYmQ5YWExNDggcHpxenM4enl2cXJxMXJxMjV6NGRyd3M4ZGhuYnhhNTktcnVuLXBv c3RncmVzWzE1OTgyNF06IHBsdXJhbGtpdC1kYi1kYXRhTE9HOsKgIGR1cmF0aW9uOiAyMTM3LjY2 NiBtc8KgIGV4ZWN1dGUgX2F1dG8xMDogU0VMRUNUICogRlJPTSAmcXVvdDttZW1iZXJzJnF1b3Q7 IFdIRVJFICZxdW90O2hpZCZxdW90OyA9ICQxPGJyPg0KPGJyPg0KUGFyYW1ldGVyIGRldGFpbCBo YXMgYmVlbiByZWRhY3RlZCBmb3IgcHJpdmFjeS48YnI+DQo8YnI+DQpUaGlzIGlzIG5vdCByZXBy b2R1Y2libGUgb24gbWFudWFsIHF1ZXJpZXMsIHdoZXRoZXIgdXNpbmcgdGhlIHNhbWUgdmFsdWVz IG9yIG90aGVyIHJhbmRvbSBvbmVzLmU8L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5U aGVyZSBjYW4gYmUgbG90IG9mIHBvc3NpYmxlIHJlYXNvbnM6PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj4xLiB2aXJ0dWFsaXphdGlvbjwvZGl2PjxkaXY+Mi4gbmV0d29yayBpc3N1ZXM8L2Rpdj48 ZGl2PjMuIGFwcGxpY2F0aW9uIHNlcnZlciBsYWc8L2Rpdj48ZGl2PjQuIG1heWJlIGJ5IHVzaW5n IHRyYW5zcGFyZW50IGh1Z2UgcGFnZXM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkl0IGlzIHBy ZXR0eSBoYXJkIHRvIGlkZW50aWZ5IHRoZXNlIGlzc3VlcywgYmVjYXVzZSBzb3VyY2Ugb2YgdGhp cyBpc3N1ZSBjYW4gYmUgZXZlcnl0aGluZyBpbiBldmVyeSBsYXllcjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+QXQgdGhlIGVuZCBJIGV4ZWN1dGVkIGV2ZXJ5IHNlY29uZCBqdXN0IHNpbXBsZSBz ZWxlY3QgU0VMRUNUIDE7IGFuZCBJIGNoZWNrZWQgdGhlIHRpbWU8L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2Pkl0IGNhbiBoZWxwIHdpdGggcmVtb3Zpbmcgc29tZSBoeXBvdGhlc2VzIGxpa2UgYXBw bGljYXRpb24gc2VydmVyIGlzc3VlcyBvciBuZXR3b3JrIGlzc3Vlcy48L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PlJlZ2FyZHM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlBhdmVsPC9kaXY+PGRp dj48YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2lu OjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQp O3BhZGRpbmctbGVmdDoxZXgiPg0KPGJyPg0KcGx1cmFsa2l0PSMgZXhwbGFpbiAoYW5hbHl6ZSwg YnVmZmVycywgc2V0dGluZ3MpIHNlbGVjdCAqIGZyb20gbWVtYmVycyB3aGVyZSBoaWQgPSAmIzM5 O2V4YW1wbCYjMzk7Ozxicj4NCsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIFFVRVJZIFBM QU48YnI+DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQrCoEluZGV4IFNjYW4gdXNpbmcgbWVtYmVyc19oaWRf a2V5IG9uIG1lbWJlcnPCoCAoY29zdD0wLjQzLi44LjQ1IHJvd3M9MSB3aWR0aD04MzgpIChhY3R1 YWwgdGltZT0wLjA5OC4uMC4wOTggcm93cz0wLjAwIGxvb3BzPTEpPGJyPg0KwqAgwqBJbmRleCBD b25kOiAoaGlkID0gJiMzOTtleGFtcGwmIzM5Ozo6YnBjaGFyKTxicj4NCsKgIMKgSW5kZXggU2Vh cmNoZXM6IDE8YnI+DQrCoCDCoEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9Mzxicj4NCsKgU2V0dGluZ3M6 IGVmZmVjdGl2ZV9jYWNoZV9zaXplID0gJiMzOTs0MEdCJiMzOTs8YnI+DQrCoFBsYW5uaW5nIFRp bWU6IDAuMTYxIG1zPGJyPg0KwqBFeGVjdXRpb24gVGltZTogMC4xMjQgbXM8YnI+DQooNyByb3dz KTxicj4NCjxicj4NClRhYmxlIGluZm86PGJyPg0KPGJyPg0KcGx1cmFsa2l0PSMgXGQrIG1lbWJl cnM8YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCBUYWJsZSAmcXVvdDtwdWJsaWMubWVtYmVycyZxdW90Ozxicj4NCsKgIMKgIMKgIMKg IMKgQ29sdW1uwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgVHlwZcKgIMKgIMKgIMKg IMKgIMKgIMKgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBEZWZhdWx0wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCBTdG9yYWdlwqAgfCBDb21wcmVz c2lvbiB8IFN0YXRzIHRhcmdldCB8IERlc2NyaXB0aW9uPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tPGJyPg0KwqBpZMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfCBpbnRlZ2VywqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqB8IG5vdCBudWxsIHwgbmV4dHZhbCgmIzM5O21l bWJlcnNfaWRfc2VxJiMzOTs6OnJlZ2NsYXNzKcKgIMKgIMKgIHwgcGxhaW7CoCDCoCB8wqAgwqAg wqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgaGlkwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgfCBjaGFyYWN0ZXIoNinCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCB8wqAgwqAgwqAgwqAgwqAgwqB8IG5vdCBudWxsIHzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IGV4dGVuZGVkIHzCoCDCoCDC oCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8PGJyPg0KwqBzeXN0ZW3CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHwgaW50ZWdlcsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgfMKgIMKgIMKgIMKgIMKgIMKgfCBub3QgbnVsbCB8IG5leHR2YWwoJiMzOTttZW1iZXJzX3N5 c3RlbV9zZXEmIzM5Ozo6cmVnY2xhc3MpwqAgfCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDC oCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8PGJyPg0KwqBjb2xvcsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIHwgY2hhcmFjdGVyKDYpwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKg IMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IGV4dGVuZGVkIHzCoCDCoCDCoCDCoCDC oCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8PGJyPg0KwqBhdmF0YXJfdXJswqAgwqAgwqAg wqAgwqAgwqAgwqB8IHRleHTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8wqAg wqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgZXh0ZW5kZWQgfMKgIMKgIMKg IMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoG5hbWXCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHwgdGV4dMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgZXh0ZW5kZWQgfMKgIMKg IMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoGJpcnRoZGF5wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqB8IGRhdGXCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCB8wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgcGxhaW7CoCDC oCB8wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgcHJv bm91bnPCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHwgdGV4dMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCB8wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCBl eHRlbmRlZCB8wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4N CsKgZGVzY3JpcHRpb27CoCDCoCDCoCDCoCDCoCDCoCB8IHRleHTCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IHwgZXh0ZW5kZWQgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8 YnI+DQrCoGNyZWF0ZWTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IHRpbWVzdGFtcCB3aXRob3V0 IHRpbWUgem9uZSB8wqAgwqAgwqAgwqAgwqAgwqB8IG5vdCBudWxsIHwgdGltZXpvbmUoJiMzOTt1 dGMmIzM5Ozo6dGV4dCwgQ1VSUkVOVF9USU1FU1RBTVApIHwgcGxhaW7CoCDCoCB8wqAgwqAgwqAg wqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgZGlzcGxheV9uYW1lwqAg wqAgwqAgwqAgwqAgwqB8IHRleHTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8 wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgZXh0ZW5kZWQgfMKgIMKg IMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoHByb3h5X3RhZ3PC oCDCoCDCoCDCoCDCoCDCoCDCoHwgcHJveHlfdGFnW13CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCBBUlJBWVtdOjpwcm94eV90YWdbXcKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfCBleHRlbmRlZCB8wqAgwqAgwqAgwqAgwqAgwqAg wqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKga2VlcF9wcm94ecKgIMKgIMKgIMKgIMKg IMKgIMKgfCBib29sZWFuwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAg wqAgwqAgwqB8IG5vdCBudWxsIHwgZmFsc2XCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IHBsYWluwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKg fMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoG1lbWJlcl92aXNpYmlsaXR5wqAgwqAgwqAg fCBpbnRlZ2VywqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAg wqB8IG5vdCBudWxsIHwgMcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIHwgcGxhaW7CoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAg wqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgbWVzc2FnZV9jb3VudMKgIMKgIMKgIMKgIMKgIHwg aW50ZWdlcsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKg fCBub3QgbnVsbCB8IDDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCB8IHBsYWluwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKg IMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoGRlc2NyaXB0aW9uX3ByaXZhY3nCoCDCoCB8IGludGVn ZXLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90 IG51bGwgfCAxwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgfCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDC oCDCoCDCoCDCoCB8PGJyPg0KwqBuYW1lX3ByaXZhY3nCoCDCoCDCoCDCoCDCoCDCoHwgaW50ZWdl csKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgfCBub3Qg bnVsbCB8IDHCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCB8IHBsYWluwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKg IMKgIMKgIMKgIHw8YnI+DQrCoGF2YXRhcl9wcml2YWN5wqAgwqAgwqAgwqAgwqB8IGludGVnZXLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51 bGwgfCAxwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDC oCDCoCDCoCB8PGJyPg0KwqBiaXJ0aGRheV9wcml2YWN5wqAgwqAgwqAgwqB8IGludGVnZXLCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwg fCAxwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgfCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDC oCDCoCB8PGJyPg0KwqBwcm9ub3VuX3ByaXZhY3nCoCDCoCDCoCDCoCB8IGludGVnZXLCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCAx wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgfCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDC oCB8PGJyPg0KwqBtZXRhZGF0YV9wcml2YWN5wqAgwqAgwqAgwqB8IGludGVnZXLCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCAxwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg fCBwbGFpbsKgIMKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8 PGJyPg0KwqBhbGxvd19hdXRvcHJveHnCoCDCoCDCoCDCoCB8IGJvb2xlYW7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCB0cnVlwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8IHBs YWluwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+ DQrCoGJhbm5lcl9pbWFnZcKgIMKgIMKgIMKgIMKgIMKgfCB0ZXh0wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIHzCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCB8IGV4dGVuZGVkIHzCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8 PGJyPg0KwqB1dWlkwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8IHV1aWTCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAg wqAgfCBwdWJsaWMuZ2VuX3JhbmRvbV91dWlkKCnCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHwg cGxhaW7CoCDCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxi cj4NCsKgbGFzdF9tZXNzYWdlX3RpbWVzdGFtcCB8IHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9u ZSB8wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgcGxhaW7CoCDCoCB8 wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgd2ViaG9v a19hdmF0YXJfdXJswqAgwqAgwqB8IHRleHTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCB8wqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgfMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgZXh0ZW5kZWQg fMKgIMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoHByb3h5 X3ByaXZhY3nCoCDCoCDCoCDCoCDCoCB8IGludGVnZXLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCAxwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCBwbGFpbsKgIMKgIHzC oCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoCDCoCB8PGJyPg0KwqB0dHPCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IGJvb2xlYW7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHzCoCDCoCDCoCDCoCDCoCDCoHwgbm90IG51bGwgfCBmYWxzZcKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgcGxhaW7CoCDCoCB8 wqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgYmFubmVy X3ByaXZhY3nCoCDCoCDCoCDCoCDCoHwgaW50ZWdlcsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgfCBub3QgbnVsbCB8IDHCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IHBsYWluwqAgwqAgfMKg IMKgIMKgIMKgIMKgIMKgIMKgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQpJbmRleGVzOjxi cj4NCsKgIMKgICZxdW90O21lbWJlcnNfcGtleSZxdW90OyBQUklNQVJZIEtFWSwgYnRyZWUgKGlk KTxicj4NCsKgIMKgICZxdW90O21lbWJlcnNfYnlfc3lzdGVtJnF1b3Q7IGJ0cmVlIChzeXN0ZW0p PGJyPg0KwqAgwqAgJnF1b3Q7bWVtYmVyc19oaWRfa2V5JnF1b3Q7IFVOSVFVRSBDT05TVFJBSU5U LCBidHJlZSAoaGlkKTxicj4NCsKgIMKgICZxdW90O21lbWJlcnNfdXVpZF9pZHgmcXVvdDsgYnRy ZWUgKHV1aWQpPGJyPg0KQ2hlY2sgY29uc3RyYWludHM6PGJyPg0KwqAgwqAgJnF1b3Q7bWVtYmVy c19hdmF0YXJfcHJpdmFjeV9jaGVjayZxdW90OyBDSEVDSyAoYXZhdGFyX3ByaXZhY3kgPSBBTlkg KEFSUkFZWzEsIDJdKSk8YnI+DQrCoCDCoCAmcXVvdDttZW1iZXJzX2Jhbm5lcl9wcml2YWN5X2No ZWNrJnF1b3Q7IENIRUNLIChiYW5uZXJfcHJpdmFjeSA9IEFOWSAoQVJSQVlbMSwgMl0pKTxicj4N CsKgIMKgICZxdW90O21lbWJlcnNfYmlydGhkYXlfcHJpdmFjeV9jaGVjayZxdW90OyBDSEVDSyAo YmlydGhkYXlfcHJpdmFjeSA9IEFOWSAoQVJSQVlbMSwgMl0pKTxicj4NCsKgIMKgICZxdW90O21l bWJlcnNfZGVzY3JpcHRpb25fcHJpdmFjeV9jaGVjayZxdW90OyBDSEVDSyAoZGVzY3JpcHRpb25f cHJpdmFjeSA9IEFOWSAoQVJSQVlbMSwgMl0pKTxicj4NCsKgIMKgICZxdW90O21lbWJlcnNfbWVt YmVyX3ByaXZhY3lfY2hlY2smcXVvdDsgQ0hFQ0sgKG1lbWJlcl92aXNpYmlsaXR5ID0gQU5ZIChB UlJBWVsxLCAyXSkpPGJyPg0KwqAgwqAgJnF1b3Q7bWVtYmVyc19tZXRhZGF0YV9wcml2YWN5X2No ZWNrJnF1b3Q7IENIRUNLIChtZXRhZGF0YV9wcml2YWN5ID0gQU5ZIChBUlJBWVsxLCAyXSkpPGJy Pg0KwqAgwqAgJnF1b3Q7bWVtYmVyc19uYW1lX3ByaXZhY3lfY2hlY2smcXVvdDsgQ0hFQ0sgKG5h bWVfcHJpdmFjeSA9IEFOWSAoQVJSQVlbMSwgMl0pKTxicj4NCsKgIMKgICZxdW90O21lbWJlcnNf cHJvbm91bl9wcml2YWN5X2NoZWNrJnF1b3Q7IENIRUNLIChwcm9ub3VuX3ByaXZhY3kgPSBBTlkg KEFSUkFZWzEsIDJdKSk8YnI+DQrCoCDCoCAmcXVvdDttZW1iZXJzX3Byb3h5X3ByaXZhY3lfY2hl Y2smcXVvdDsgQ0hFQ0sgKHByb3h5X3ByaXZhY3kgPSBBTlkgKEFSUkFZWzEsIDJdKSk8YnI+DQpG b3JlaWduLWtleSBjb25zdHJhaW50czo8YnI+DQrCoCDCoCAmcXVvdDttZW1iZXJzX3N5c3RlbV9m a2V5JnF1b3Q7IEZPUkVJR04gS0VZIChzeXN0ZW0pIFJFRkVSRU5DRVMgc3lzdGVtcyhpZCkgT04g REVMRVRFIENBU0NBREU8YnI+DQpSZWZlcmVuY2VkIGJ5Ojxicj4NCsKgIMKgIFRBQkxFICZxdW90 O2F1dG9wcm94eSZxdW90OyBDT05TVFJBSU5UICZxdW90O2F1dG9wcm94eV9hdXRvcHJveHlfbWVt YmVyX2ZrZXkmcXVvdDsgRk9SRUlHTiBLRVkgKGF1dG9wcm94eV9tZW1iZXIpIFJFRkVSRU5DRVMg bWVtYmVycyhpZCkgT04gREVMRVRFIFNFVCBOVUxMPGJyPg0KwqAgwqAgVEFCTEUgJnF1b3Q7Z3Jv dXBfbWVtYmVycyZxdW90OyBDT05TVFJBSU5UICZxdW90O2dyb3VwX21lbWJlcnNfbWVtYmVyX2lk X2ZrZXkmcXVvdDsgRk9SRUlHTiBLRVkgKG1lbWJlcl9pZCkgUkVGRVJFTkNFUyBtZW1iZXJzKGlk KSBPTiBERUxFVEUgQ0FTQ0FERTxicj4NCsKgIMKgIFRBQkxFICZxdW90O21lbWJlcl9ndWlsZCZx dW90OyBDT05TVFJBSU5UICZxdW90O21lbWJlcl9ndWlsZF9tZW1iZXJfZmtleSZxdW90OyBGT1JF SUdOIEtFWSAobWVtYmVyKSBSRUZFUkVOQ0VTIG1lbWJlcnMoaWQpIE9OIERFTEVURSBDQVNDQURF PGJyPg0KwqAgwqAgVEFCTEUgJnF1b3Q7c3dpdGNoX21lbWJlcnMmcXVvdDsgQ09OU1RSQUlOVCAm cXVvdDtzd2l0Y2hfbWVtYmVyc19tZW1iZXJfZmtleSZxdW90OyBGT1JFSUdOIEtFWSAobWVtYmVy KSBSRUZFUkVOQ0VTIG1lbWJlcnMoaWQpIE9OIERFTEVURSBDQVNDQURFPGJyPg0KQWNjZXNzIG1l dGhvZDogaGVhcDxicj4NCjxicj4NCnBsdXJhbGtpdD0jIFNFTEVDVCByZWxuYW1lLCByZWxwYWdl cywgcmVsdHVwbGVzLCByZWxhbGx2aXNpYmxlLCByZWxraW5kLCByZWxuYXR0cywgcmVsaGFzc3Vi Y2xhc3MsIHJlbG9wdGlvbnMsIHBnX3RhYmxlX3NpemUob2lkKSBGUk9NIHBnX2NsYXNzIFdIRVJF IHJlbG5hbWU9JiMzOTttZW1iZXJzJiMzOTs7PGJyPg0KLVsgUkVDT1JEIDEgXS0tKy0tLS0tLS0t LS0tLS0tPGJyPg0KcmVsbmFtZcKgIMKgIMKgIMKgIHwgbWVtYmVyczxicj4NCnJlbHBhZ2VzwqAg wqAgwqAgwqB8IDgxNjA0Mjxicj4NCnJlbHR1cGxlc8KgIMKgIMKgIHwgMS4zNDEyNTc1ZSswNzxi cj4NCnJlbGFsbHZpc2libGXCoCB8IDI5NzkwNDxicj4NCnJlbGtpbmTCoCDCoCDCoCDCoCB8IHI8 YnI+DQpyZWxuYXR0c8KgIMKgIMKgIMKgfCAyOTxicj4NCnJlbGhhc3N1YmNsYXNzIHwgZjxicj4N CnJlbG9wdGlvbnPCoCDCoCDCoHw8YnI+DQpwZ190YWJsZV9zaXplwqAgfCA2Njg3MDMxMjk2PGJy Pg0KPGJyPg0KcG9zdGdyZXNxbC5jb25mOjxicj4NCjxicj4NCmFyY2hpdmVfY29tbWFuZCA9ICYj Mzk7L25peC9zdG9yZS9kejl2d2c1Z3JodnB6NHY3cnNjZGw5NW43czV6OGMzeC1wbHVyYWxraXQt c2NyaXB0cy0xL2Jpbi9way13YWxnIGRhdGEgNTQzMiBwbHVyYWxraXQgd2FsLXB1c2ggJXAmIzM5 Ozxicj4NCmFyY2hpdmVfbW9kZSA9ICYjMzk7eWVzJiMzOTs8YnI+DQphcmNoaXZlX3RpbWVvdXQg PSA2MDxicj4NCmVmZmVjdGl2ZV9jYWNoZV9zaXplID0gJiMzOTs0MEdCJiMzOTs8YnI+DQpoYmFf ZmlsZSA9ICYjMzk7L25peC9zdG9yZS8wcGlobTBxemsycGRuMWQzNDRwOGtpaHBhNThoZDdzNi1w Z19oYmEuY29uZiYjMzk7PGJyPg0KbGlzdGVuX2FkZHJlc3NlcyA9ICYjMzk7bG9jYWxob3N0LCAx MDAuMTIzLjE1MC4xMywgZmRhYTo5OmU4NTY6YTdiOjkxMGY6MDphOjEwMiYjMzk7PGJyPg0KbG9n X2Rlc3RpbmF0aW9uID0gJiMzOTtzdGRlcnImIzM5Ozxicj4NCmxvZ19saW5lX3ByZWZpeCA9ICYj Mzk7cGx1cmFsa2l0LWRiLWRhdGEmIzM5Ozxicj4NCmxvZ19taW5fZHVyYXRpb25fc3RhdGVtZW50 ID0gMTAwMDxicj4NCm1heF9jb25uZWN0aW9ucyA9IDIwMDA8YnI+DQptYXhfd2FsX3NpemUgPSAm IzM5OzFHQiYjMzk7PGJyPg0KbWluX3dhbF9zaXplID0gJiMzOTs4ME1CJiMzOTs8YnI+DQpwb3J0 ID0gNTQzMjxicj4NCnNoYXJlZF9idWZmZXJzID0gJiMzOTs1MEdCJiMzOTs8YnI+DQo8YnI+DQpF bnZpcm9ubWVudDo8YnI+DQo8YnI+DQpQb3N0Z3JlU1FMIDE4LjEgb24geDg2XzY0LXBjLWxpbnV4 LWdudSwgY29tcGlsZWQgYnkgY2xhbmcgdmVyc2lvbiAyMC4xLjgsIDY0LWJpdDxicj4NCmluc3Rh bGxlZCBmcm9tIG5peHBrZ3M8YnI+DQpOaXhPUyAyNS4xMSBvbiBMaW51eCA2LjEyLjYxIG9uIEFN RCBFUFlDIDczNTFQPGJyPg0KMnggSW50ZWwgU1NEUEVMS1gwMjBUNyBpbiBSQUlEMSAobWQtcmFp ZCksIHdpdGggTFVLUywgZXh0NCBmaWxlc3lzdGVtPGJyPg0KPGJyPg0KU2FtZSBpc3N1ZSBwcmV2 aW91c2x5IGFwcGVhcmVkIG9uPGJyPg0KUG9zdGdyZVNRTCAxNCwgYm90aCBzZWxmLWNvbXBpbGVk IGFuZCBmcm9tIG5peHBrZ3M8YnI+DQpOaXhPUyAyNC4xMCBvbiBBTUQgUnl6ZW4gNzk1MFg8YnI+ DQpleHQ0IGZpbGVzeXN0ZW0gZGlyZWN0bHkgb24gc2luZ2xlIEtpb3hpYSBlbnRlcnByaXNlIFNT RCAoc29ycnkgSSBkb24mIzM5O3QgcmVtZW1iZXIgdGhlIG1vZGVsKTxicj4NCjxicj4NCktpbmRs eSw8YnI+DQpMaWxsaWFuPGJyPg0KPGJyPg0KPGJyPg0KPC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2 Pg0K --000000000000913078064896b735--