Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtV4c-0004vz-Fp for pgsql-performance@arkaria.postgresql.org; Sun, 17 Sep 2017 08:37:06 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dtV4c-0002gA-1F for pgsql-performance@arkaria.postgresql.org; Sun, 17 Sep 2017 08:37:06 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dtV2j-0007uJ-Nu for pgsql-performance@postgresql.org; Sun, 17 Sep 2017 08:35:10 +0000 Received: from mail-ua0-x236.google.com ([2607:f8b0:400c:c08::236]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dtV2a-0008Fk-UX for pgsql-performance@postgresql.org; Sun, 17 Sep 2017 08:35:08 +0000 Received: by mail-ua0-x236.google.com with SMTP id k23so3053388uaf.4 for ; Sun, 17 Sep 2017 01:35:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=8zuh9OIg1jnL4iXzoWF6ojH0pLCMA8puGm01YjuSVbg=; b=gCYgr7J69QO7uGXDB27MKUuQxE+J9/c8Uc7EwmoYjQE7Nmg0h8dRj1a48AFJq4xbaY dN/7VyTPEmA1nNK2pwVL8tBaAHBU/WBDqo2VzmGNbhinLKvRBSoQGpinW6zeTpqXagxU Ia3cYP0KGPAPmPop249+w95Zb2VHhShMDk0YtFQ5OhHhDADc4BE7aKqWnq6Yg/XHttIn xy3WubkAOCYF2PJXIfSHinyb/QXw2FAbKqCwoJp/jcj3nSCMe09Vd9PIX9fzQNtejg/a 4BUuCjF589K0uwt6GMxn0vjkJBb5ssqyWsKH8r0P4rbL+L+4AmfRd/uL2NF5V3yLX2/l WxuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8zuh9OIg1jnL4iXzoWF6ojH0pLCMA8puGm01YjuSVbg=; b=IvUyVIPf/r1FJ4RMUWIr7uY9Bs0gxgpyQ3DqfjdyIRy6q2AFfl5i+WFrzjiQvuwvBc lNQjrxBO/KytMxhLB8bUEhgY167VNr1D50Q7v/4yiM/9yPKWfD8tHkHatBCeZMNeh8en kBT/wvvk6nXg6zFIj3D2vo1qcVj8lCug5eqiocF/E9CABFK4pNtscvUYiflwkICh954r IXPPXF7XN6f4d79F3uZ/zv4H7+MTw6Ay1Ku0WJBOFJLYAqvrAbNyCn6DXwWG5Ljwx14T sB7JtbzqX+LfM48dO41v+AtbKqb6aRQnyjPgJ9ADjZig7CY8fcNepCTjCeiQCAV0g4bO JvRw== X-Gm-Message-State: AHPjjUhQgeu5mE21FmtLG723eaJNiJRRVqdmPuTxLzok10XpOv0VfKPU lG+W7C8v3CsIdJIctyy3CQkNKNxzhuSKUWiBg7Y= X-Google-Smtp-Source: AOwi7QC6D670rTUf4D51gdRACjRqCWmcSu4rOYswsHGF1IyM0Uu0A4uU5ryfukb5hweGiUq6nfjHMlSU2+1SwOWzYPs= X-Received: by 10.176.30.129 with SMTP id o1mr13043015uak.170.1505637299381; Sun, 17 Sep 2017 01:34:59 -0700 (PDT) MIME-Version: 1.0 From: Konstantin Kivi Date: Sun, 17 Sep 2017 08:34:48 +0000 Message-ID: Subject: Partitioning perfomance issue To: "pgsql-performance@postgresql.org" Content-Type: multipart/alternative; boundary="089e0828af2463e9f805595e80b5" List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org --089e0828af2463e9f805595e80b5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I tried to use partitioning and have problem with it, as I get very bad perfomance. I cannot understand, what I am doing wrong. I set up master and child tables via inheritance, with range CHECK by date and with trigger on 'insert', as described in the documentation. I was happy with insertion speed, it was about 30 megabytes per second that was more than I expected, and server idle time was near 95 %. I used 100 parallel clients. However, when it came to updates things turned very bad. I set up a test with 30 running client making 10000 updates each in a random fashion. updates via master table took 6 times longer and server idle time dropped to 15%, user CPU 75% with load average 15. Test details below 300000 updates ( 30 processes 10000 selects each) via master table 134 seconds via child table 20 seconds 300000 updates via master table without "date1 >=3D '2017-09-06' and date1 = < '2017-09-07'" clause 180 seconds That means that constraint_exlusion works, however, the process of exclusion takes A LOT OF time. I tried to repeat the test with selects 300000 selects ( 30 processes 10000 selects each) via master table 50 seconds via child table 8 seconds This is very bad too. The documentation says that it is not good to have 1000 partition, probably 100 is OK, but I have only 40 partitions and have noticeable delays with only 5 partitions. What I also cannot understand, why time increase for 'select' is much higher (2.5 times) than time increase for 'update', considering that 'where' clause is identical and assuming time is spent selecting relevant child tables. Best regards, Konstantin Environment description. Postgres 9.5 on linux db=3D> select version(); version ---------------------------------------------------------------------------= ------------------------------- PostgreSQL 9.5.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit (1 row) db=3D> 16 CPU vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz 128GB ram 32GB shared_buffers Table statistics db=3D> select count(*) from my_log_daily; count -------- 408568 (1 row) db=3D> select count(*) from my_log_daily_170906; count -------- 408568 (1 row) db=3D> explain (ANALYZE,BUFFERS) select stage+1 from my_log_daily_170906 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------- Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D4) (actual time=3D0.013..0.014 rows=3D1= loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 0.135 ms Execution time: 0.029 ms (6 rows) db=3D> explain (ANALYZE,BUFFERS) select stage+1 from my_log_daily where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------- Result (cost=3D0.00..8.46 rows=3D2 width=3D4) (actual time=3D0.016..0.017= rows=3D1 loops=3D1) Buffers: shared hit=3D4 -> Append (cost=3D0.00..8.45 rows=3D2 width=3D4) (actual time=3D0.013.= .0.014 rows=3D1 loops=3D1) Buffers: shared hit=3D4 -> Seq Scan on my_log_daily (cost=3D0.00..0.00 rows=3D1 width=3D= 4) (actual time=3D0.000..0.000 rows=3D0 loops=3D1) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp withou= t time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone) AND (msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117)= AND ((instance)::text =3D 'WS6'::text)) -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.45 rows=3D1 width=3D4) (actual time=3D0.012..0.013 rows=3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp withou= t time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)= ) Buffers: shared hit=3D4 Planning time: 2.501 ms Execution time: 0.042 ms (12 rows) db=3D> explain (ANALYZE,BUFFERS) update my_log_daily_170906 set stage=3Dstage+1 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D341425= 3 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= --- Update on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (a= ctual time=3D0.133..0.133 rows=3D0 loops=3D1) Buffers: shared hit=3D5 dirtied=3D1 -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (actual time=3D0.014..0.015 rows= =3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgi= d3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 0.488 ms Execution time: 0.177 ms (8 rows) db=3D> explain (ANALYZE,BUFFERS) update my_log_daily set stage=3Dstage+1 where date1 >=3D '2017-09-06' and date1 < '2017-09-07' and msgid1=3D3414253 and msgid2=3D20756 and msgid3=3D1504712117 and instance=3D'WS6'; QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------- Update on my_log_daily (cost=3D0.00..8.46 rows=3D2 width=3D587) (actual time=3D0.052..0.052 rows=3D0 loops=3D1) Update on my_log_daily Update on my_log_daily_170906 Buffers: shared hit=3D5 -> Seq Scan on my_log_daily (cost=3D0.00..0.00 rows=3D1 width=3D988) (= actual time=3D0.001..0.001 rows=3D0 loops=3D1) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone) AND (msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgid3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) -> Index Scan using my_log_daily_idx_170906 on my_log_daily_170906 (cost=3D0.42..8.46 rows=3D1 width=3D186) (actual time=3D0.019..0.020 rows= =3D1 loops=3D1) Index Cond: ((msgid1 =3D 3414253) AND (msgid2 =3D 20756) AND (msgi= d3 =3D 1504712117) AND ((instance)::text =3D 'WS6'::text)) Filter: ((date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone) AND (date1 < '2017-09-07 00:00:00'::timestamp without time zone)) Buffers: shared hit=3D4 Planning time: 4.639 ms Execution time: 0.147 ms (12 rows) db=3D> \d my_log_daily Table "public.my_log_daily" Column | Type | Modifiers ------------+-----------------------------+--------------------------------= -------------------- client_id | integer | not null pult | character varying(6) | not null opr | character varying(30) | not null handler | character varying(60) | msgid | integer | sclient_id | integer | stage | integer | default 0 msgid1 | integer | default 0 msgid2 | integer | default 0 msgid3 | integer | default 0 ended | smallint | default 0 date1 | timestamp without time zone | default ('now'::text)::timestamp without time zone date2 | timestamp without time zone | reserved1 | character varying(100) | reserved2 | character varying(100) | reserved3 | character varying(100) | atpco | smallint | not null default 0 rsrvdnum1 | integer | rsrvdnum2 | integer | rsrvdnum3 | integer | instance | character varying(3) | duration | integer | default 0 ip | integer | Triggers: insert_my_log_daily_trigger BEFORE INSERT ON my_log_daily FOR EACH ROW EXECUTE PROCEDURE my_log_daily_insert_trigger() Number of child tables: 40 (Use \d+ to list them.) db=3D> Indexes: "my_log_daily_idx_170906" UNIQUE, btree (msgid1, msgid2, msgid3, instance) "my_log_daily_date_170906" btree (date1) "my_log_daily_handler_170906" btree (handler) "my_log_daily_pult_170906" btree (pult) "my_log_daily_reserved1_170906" btree (reserved1) "my_log_daily_src_170906" btree (client_id, date1) Check constraints: "my_log_daily_170906_date1_check" CHECK (date1 >=3D '2017-09-06 00:00:00'::timestamp without time zone AND date1 < '2017-09-07 00:00:00'::timestamp without time zone) Inherits: my_log_daily db=3D> a complete list of child tables below. table descriptions including CHECK and indexes ( as well as trigger function ) are autogenerated, so there is no human error. ----------------- db=3D> \d+ my_log_daily Table "public.my_log_daily" Column | Type | Modifiers | Storage | Stats target | Description ------------+-----------------------------+--------------------------------= --------------------+----------+--------------+------------- client_id | integer | not null | plain | | pult | character varying(6) | not null | extended | | opr | character varying(30) | not null | extended | | handler | character varying(60) | | extended | | msgid | integer | | plain | | sclient_id | integer | | plain | | stage | integer | default 0 | plain | | msgid1 | integer | default 0 | plain | | msgid2 | integer | default 0 | plain | | msgid3 | integer | default 0 | plain | | ended | smallint | default 0 | plain | | date1 | timestamp without time zone | default ('now'::text)::timestamp without time zone | plain | | date2 | timestamp without time zone | | plain | | reserved1 | character varying(100) | | extended | | reserved2 | character varying(100) | | extended | | reserved3 | character varying(100) | | extended | | atpco | smallint | not null default 0 | plain | | rsrvdnum1 | integer | | plain | | rsrvdnum2 | integer | | plain | | rsrvdnum3 | integer | | plain | | instance | character varying(3) | | extended | | duration | integer | default 0 | plain | | ip | integer | | plain | | Triggers: insert_my_log_daily_trigger BEFORE INSERT ON my_log_daily FOR EACH ROW EXECUTE PROCEDURE my_log_daily_insert_trigger() Child tables: my_log_daily_170901, my_log_daily_170902, my_log_daily_170903, my_log_daily_170904, my_log_daily_170905, my_log_daily_170906, my_log_daily_170907, my_log_daily_170908, my_log_daily_170909, my_log_daily_170910, my_log_daily_170911, my_log_daily_170912, my_log_daily_170913, my_log_daily_170914, my_log_daily_170915, my_log_daily_170916, my_log_daily_170917, my_log_daily_170918, my_log_daily_170919, my_log_daily_170920, my_log_daily_170921, my_log_daily_170922, my_log_daily_170923, my_log_daily_170924, my_log_daily_170925, my_log_daily_170926, my_log_daily_170927, my_log_daily_170928, my_log_daily_170929, my_log_daily_170930, my_log_daily_171001, my_log_daily_171002, my_log_daily_171003, my_log_daily_171004, my_log_daily_171005, my_log_daily_171006, hh my_log_daily_171007, my_log_daily_171008, my_log_daily_171009, my_log_daily_171010 db=3D> --089e0828af2463e9f805595e80b5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGJyPkkgdHJpZWQgdG8gdXNlIHBhcnRpdGlvbmluZyBhbmQgaGF2ZSBw cm9ibGVtIHdpdGggaXQsPGJyPmFzIEkgZ2V0IHZlcnkgYmFkIHBlcmZvbWFuY2UuIEkgY2Fubm90 IHVuZGVyc3RhbmQsIHdoYXQgSSBhbSBkb2luZyB3cm9uZy48YnI+PGJyPjxicj5JIHNldCB1cCBt YXN0ZXIgYW5kIGNoaWxkIHRhYmxlcyB2aWEgaW5oZXJpdGFuY2UsIHdpdGggcmFuZ2UgQ0hFQ0sg YnkgZGF0ZTxicj5hbmQgd2l0aDxicj50cmlnZ2VyIG9uICYjMzk7aW5zZXJ0JiMzOTssIGFzIGRl c2NyaWJlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi48YnI+PGJyPkkgd2FzIGhhcHB5IHdpdGggaW5z ZXJ0aW9uIHNwZWVkLCBpdCB3YXMgYWJvdXQgMzAgbWVnYWJ5dGVzIHBlciBzZWNvbmQgdGhhdDxi cj53YXMgbW9yZSB0aGFuIEkgZXhwZWN0ZWQsPGJyPmFuZCBzZXJ2ZXIgaWRsZSB0aW1lIHdhcyBu ZWFyIDk1ICUuIEkgdXNlZCAxMDAgcGFyYWxsZWwgY2xpZW50cy48YnI+PGJyPkhvd2V2ZXIsIHdo ZW4gaXQgY2FtZSB0byB1cGRhdGVzIHRoaW5ncyB0dXJuZWQgdmVyeSBiYWQuPGJyPkkgc2V0IHVw IGEgdGVzdCB3aXRoIDMwIHJ1bm5pbmcgY2xpZW50IG1ha2luZyAxMDAwMCB1cGRhdGVzIGVhY2gg aW4gYTxicj5yYW5kb20gZmFzaGlvbi48YnI+dXBkYXRlcyB2aWEgbWFzdGVyIHRhYmxlIHRvb2sg NiB0aW1lcyBsb25nZXIgYW5kIHNlcnZlciBpZGxlIHRpbWUgZHJvcHBlZDxicj50byAxNSUsIHVz ZXIgQ1BVIDc1JSB3aXRoIGxvYWQgYXZlcmFnZSAxNS48YnI+PGJyPlRlc3QgZGV0YWlscyBiZWxv dzxicj48YnI+MzAwMDAwIHVwZGF0ZXMgKCAzMCBwcm9jZXNzZXMgMTAwMDAgc2VsZWN0cyBlYWNo KTxicj48YnI+dmlhIG1hc3RlciB0YWJsZSAxMzQgc2Vjb25kczxicj52aWEgY2hpbGQgdGFibGXC oCAyMCBzZWNvbmRzPGJyPjxicj4zMDAwMDAgdXBkYXRlcyB2aWEgbWFzdGVyIHRhYmxlIHdpdGhv dXQgJnF1b3Q7ZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2JiMzOTsgYW5kIGRhdGUxICZsdDs8 YnI+JiMzOTsyMDE3LTA5LTA3JiMzOTsmcXVvdDsgY2xhdXNlPGJyPjE4MCBzZWNvbmRzPGJyPlRo YXQgbWVhbnMgdGhhdCBjb25zdHJhaW50X2V4bHVzaW9uIHdvcmtzLCBob3dldmVyLCB0aGUgcHJv Y2VzcyBvZjxicj5leGNsdXNpb24gdGFrZXMgQSBMT1QgT0YgdGltZS48YnI+PGJyPkkgdHJpZWQg dG8gcmVwZWF0IHRoZSB0ZXN0IHdpdGggc2VsZWN0czxicj48YnI+MzAwMDAwIHNlbGVjdHMgKCAz MCBwcm9jZXNzZXMgMTAwMDAgc2VsZWN0cyBlYWNoKTxicj48YnI+dmlhIG1hc3RlciB0YWJsZSA1 MCBzZWNvbmRzPGJyPnZpYSBjaGlsZCB0YWJsZcKgIDggc2Vjb25kczxicj48YnI+VGhpcyBpcyB2 ZXJ5IGJhZCB0b28uPGJyPjxicj5UaGUgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgaXQgaXMgbm90 IGdvb2QgdG8gaGF2ZSAxMDAwIHBhcnRpdGlvbiwgcHJvYmFibHk8YnI+MTAwIGlzIE9LLCBidXQg SSBoYXZlIG9ubHkgNDAgcGFydGl0aW9uczxicj5hbmQgaGF2ZSBub3RpY2VhYmxlIGRlbGF5cyB3 aXRoIG9ubHkgNSBwYXJ0aXRpb25zLjxicj48YnI+V2hhdCBJIGFsc28gY2Fubm90IHVuZGVyc3Rh bmQsIHdoeSB0aW1lIGluY3JlYXNlIGZvciAmIzM5O3NlbGVjdCYjMzk7PGJyPmlzIG11Y2ggaGln aGVyICgyLjUgdGltZXMpIHRoYW4gdGltZSBpbmNyZWFzZSBmb3IgJiMzOTt1cGRhdGUmIzM5Oywg Y29uc2lkZXJpbmc8YnI+dGhhdCAmIzM5O3doZXJlJiMzOTsgY2xhdXNlIGlzIGlkZW50aWNhbDxi cj5hbmQgYXNzdW1pbmcgdGltZSBpcyBzcGVudCBzZWxlY3RpbmcgcmVsZXZhbnQgY2hpbGQgdGFi bGVzLjxicj48YnI+QmVzdCByZWdhcmRzLCBLb25zdGFudGluPGJyPjxicj5FbnZpcm9ubWVudCBk ZXNjcmlwdGlvbi48YnI+PGJyPjxicj5Qb3N0Z3JlcyA5LjUgb24gbGludXg8YnI+PGJyPmRiPSZn dDsgc2VsZWN0IHZlcnNpb24oKTs8YnI+PGJyPnZlcnNpb248YnI+LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj7CoFBvc3RncmVTUUwgOS41Ljggb24g eDg2XzY0LXBjLWxpbnV4LWdudSwgY29tcGlsZWQgYnkgZ2NjIChHQ0MpIDQuOC41PGJyPjIwMTUw NjIzIChSZWQgSGF0IDQuOC41LTExKSwgNjQtYml0PGJyPigxIHJvdyk8YnI+ZGI9Jmd0Ozxicj48 YnI+PGJyPjE2IENQVTxicj48YnI+dmVuZG9yX2lkwqDCoMKgIDogR2VudWluZUludGVsPGJyPmNw dSBmYW1pbHnCoMKgwqAgOiA2PGJyPm1vZGVswqDCoMKgwqDCoMKgwqAgOiA0NTxicj5tb2RlbCBu YW1lwqDCoMKgIDogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY2MCAwIEAgMi4yMEdIejxicj48 YnI+MTI4R0IgcmFtPGJyPjxicj4zMkdCIHNoYXJlZF9idWZmZXJzPGJyPjxicj48YnI+VGFibGUg c3RhdGlzdGljczxicj48YnI+ZGI9Jmd0OyBzZWxlY3QgY291bnQoKikgZnJvbSBteV9sb2dfZGFp bHk7PGJyPsKgY291bnQ8YnI+LS0tLS0tLS08YnI+wqA0MDg1Njg8YnI+KDEgcm93KTxicj48YnI+ ZGI9Jmd0OyBzZWxlY3QgY291bnQoKikgZnJvbSBteV9sb2dfZGFpbHlfMTcwOTA2Ozxicj7CoGNv dW50PGJyPi0tLS0tLS0tPGJyPsKgNDA4NTY4PGJyPigxIHJvdyk8YnI+PGJyPmRiPSZndDs8YnI+ PGJyPmV4cGxhaW4gKEFOQUxZWkUsQlVGRkVSUykgc2VsZWN0IHN0YWdlKzEgZnJvbcKgIG15X2xv Z19kYWlseV8xNzA5MDbCoCB3aGVyZTxicj5kYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYmIzM5 OyBhbmQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcmIzM5OyBhbmQgbXNnaWQxPTM0MTQyNTMg YW5kPGJyPm1zZ2lkMj0yMDc1NiBhbmQgbXNnaWQzPTE1MDQ3MTIxMTcgYW5kIGluc3RhbmNlPSYj Mzk7V1M2JiMzOTs7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBRVUVSWTxicj5QTEFOPGJyPi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+wqBJbmRleCBTY2FuIHVzaW5nIG15X2xvZ19k YWlseV9pZHhfMTcwOTA2IG9uIG15X2xvZ19kYWlseV8xNzA5MDY8YnI+KGNvc3Q9MC40Mi4uOC40 NiByb3dzPTEgd2lkdGg9NCkgKGFjdHVhbCB0aW1lPTAuMDEzLi4wLjAxNCByb3dzPTEgbG9vcHM9 MSk8YnI+wqDCoCBJbmRleCBDb25kOiAoKG1zZ2lkMSA9IDM0MTQyNTMpIEFORCAobXNnaWQyID0g MjA3NTYpIEFORCAobXNnaWQzID08YnI+MTUwNDcxMjExNykgQU5EICgoaW5zdGFuY2UpOjp0ZXh0 ID0gJiMzOTtXUzYmIzM5Ozo6dGV4dCkpPGJyPsKgwqAgRmlsdGVyOiAoKGRhdGUxICZndDs9ICYj Mzk7MjAxNy0wOS0wNiAwMDowMDowMCYjMzk7Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUp PGJyPkFORCAoZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcgMDA6MDA6MDAmIzM5Ozo6dGltZXN0 YW1wIHdpdGhvdXQgdGltZSB6b25lKSk8YnI+wqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTQ8YnI+ wqBQbGFubmluZyB0aW1lOiAwLjEzNSBtczxicj7CoEV4ZWN1dGlvbiB0aW1lOiAwLjAyOSBtczxi cj4oNiByb3dzKTxicj48YnI+ZGI9Jmd0Ozxicj48YnI+ZXhwbGFpbiAoQU5BTFlaRSxCVUZGRVJT KSBzZWxlY3Qgc3RhZ2UrMSBmcm9twqAgbXlfbG9nX2RhaWx5wqAgd2hlcmXCoCBkYXRlMTxicj4m Z3Q7PSAmIzM5OzIwMTctMDktMDYmIzM5OyBhbmQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcm IzM5OyBhbmQgbXNnaWQxPTM0MTQyNTMgYW5kPGJyPm1zZ2lkMj0yMDc1NiBhbmQgbXNnaWQzPTE1 MDQ3MTIxMTcgYW5kIGluc3RhbmNlPSYjMzk7V1M2JiMzOTs7PGJyPjxicj5RVUVSWTxicj5QTEFO PGJyPjxicj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPsKgUmVzdWx0wqAgKGNv c3Q9MC4wMC4uOC40NiByb3dzPTIgd2lkdGg9NCkgKGFjdHVhbCB0aW1lPTAuMDE2Li4wLjAxNyBy b3dzPTE8YnI+bG9vcHM9MSk8YnI+wqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTQ8YnI+wqDCoCAt Jmd0O8KgIEFwcGVuZMKgIChjb3N0PTAuMDAuLjguNDUgcm93cz0yIHdpZHRoPTQpIChhY3R1YWwg dGltZT0wLjAxMy4uMC4wMTQ8YnI+cm93cz0xIGxvb3BzPTEpPGJyPsKgwqDCoMKgwqDCoMKgwqAg QnVmZmVyczogc2hhcmVkIGhpdD00PGJyPsKgwqDCoMKgwqDCoMKgwqAgLSZndDvCoCBTZXEgU2Nh biBvbiBteV9sb2dfZGFpbHnCoCAoY29zdD0wLjAwLi4wLjAwIHJvd3M9MSB3aWR0aD00KTxicj4o YWN0dWFsIHRpbWU9MC4wMDAuLjAuMDAwIHJvd3M9MCBsb29wcz0xKTxicj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIEZpbHRlcjogKChkYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYgMDA6 MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQ8YnI+dGltZSB6b25lKSBBTkQgKGRhdGUxICZs dDsgJiMzOTsyMDE3LTA5LTA3IDAwOjAwOjAwJiMzOTs6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUg em9uZSk8YnI+QU5EIChtc2dpZDEgPSAzNDE0MjUzKSBBTkQgKG1zZ2lkMiA9IDIwNzU2KSBBTkQg KG1zZ2lkMyA9IDE1MDQ3MTIxMTcpIEFORDxicj4oKGluc3RhbmNlKTo6dGV4dCA9ICYjMzk7V1M2 JiMzOTs6OnRleHQpKTxicj7CoMKgwqDCoMKgwqDCoMKgIC0mZ3Q7wqAgSW5kZXggU2NhbiB1c2lu ZyBteV9sb2dfZGFpbHlfaWR4XzE3MDkwNiBvbjxicj5teV9sb2dfZGFpbHlfMTcwOTA2wqAgKGNv c3Q9MC40Mi4uOC40NSByb3dzPTEgd2lkdGg9NCkgKGFjdHVhbDxicj50aW1lPTAuMDEyLi4wLjAx MyByb3dzPTEgbG9vcHM9MSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJbmRleCBD b25kOiAoKG1zZ2lkMSA9IDM0MTQyNTMpIEFORCAobXNnaWQyID0gMjA3NTYpIEFORDxicj4obXNn aWQzID0gMTUwNDcxMjExNykgQU5EICgoaW5zdGFuY2UpOjp0ZXh0ID0gJiMzOTtXUzYmIzM5Ozo6 dGV4dCkpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRmlsdGVyOiAoKGRhdGUxICZn dDs9ICYjMzk7MjAxNy0wOS0wNiAwMDowMDowMCYjMzk7Ojp0aW1lc3RhbXAgd2l0aG91dDxicj50 aW1lIHpvbmUpIEFORCAoZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcgMDA6MDA6MDAmIzM5Ozo6 dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTQ8YnI+wqBQbGFubmluZyB0aW1lOiAyLjUwMSBtczxi cj7CoEV4ZWN1dGlvbiB0aW1lOiAwLjA0MiBtczxicj4oMTIgcm93cyk8YnI+PGJyPmRiPSZndDs8 YnI+PGJyPmV4cGxhaW4gKEFOQUxZWkUsQlVGRkVSUykgdXBkYXRlwqAgbXlfbG9nX2RhaWx5XzE3 MDkwNiBzZXQgc3RhZ2U9c3RhZ2UrMTxicj53aGVyZcKgIGRhdGUxICZndDs9ICYjMzk7MjAxNy0w OS0wNiYjMzk7IGFuZCBkYXRlMSAmbHQ7ICYjMzk7MjAxNy0wOS0wNyYjMzk7IGFuZCBtc2dpZDE9 MzQxNDI1Mzxicj5hbmQgbXNnaWQyPTIwNzU2IGFuZCBtc2dpZDM9MTUwNDcxMjExNyBhbmQgaW5z dGFuY2U9JiMzOTtXUzYmIzM5Ozs8YnI+PGJyPlFVRVJZPGJyPlBMQU48YnI+LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPsKgVXBkYXRlIG9uIG15X2xvZ19kYWlseV8x NzA5MDbCoCAoY29zdD0wLjQyLi44LjQ2IHJvd3M9MSB3aWR0aD0xODYpIChhY3R1YWw8YnI+dGlt ZT0wLjEzMy4uMC4xMzMgcm93cz0wIGxvb3BzPTEpPGJyPsKgwqAgQnVmZmVyczogc2hhcmVkIGhp dD01IGRpcnRpZWQ9MTxicj7CoMKgIC0mZ3Q7wqAgSW5kZXggU2NhbiB1c2luZyBteV9sb2dfZGFp bHlfaWR4XzE3MDkwNiBvbiBteV9sb2dfZGFpbHlfMTcwOTA2PGJyPihjb3N0PTAuNDIuLjguNDYg cm93cz0xIHdpZHRoPTE4NikgKGFjdHVhbCB0aW1lPTAuMDE0Li4wLjAxNSByb3dzPTEgbG9vcHM9 MSk8YnI+wqDCoMKgwqDCoMKgwqDCoCBJbmRleCBDb25kOiAoKG1zZ2lkMSA9IDM0MTQyNTMpIEFO RCAobXNnaWQyID0gMjA3NTYpIEFORCAobXNnaWQzID08YnI+MTUwNDcxMjExNykgQU5EICgoaW5z dGFuY2UpOjp0ZXh0ID0gJiMzOTtXUzYmIzM5Ozo6dGV4dCkpPGJyPsKgwqDCoMKgwqDCoMKgwqAg RmlsdGVyOiAoKGRhdGUxICZndDs9ICYjMzk7MjAxNy0wOS0wNiAwMDowMDowMCYjMzk7Ojp0aW1l c3RhbXAgd2l0aG91dCB0aW1lPGJyPnpvbmUpIEFORCAoZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDkt MDcgMDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lKSk8YnI+wqDCoMKg wqDCoMKgwqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTQ8YnI+wqBQbGFubmluZyB0aW1lOiAwLjQ4 OCBtczxicj7CoEV4ZWN1dGlvbiB0aW1lOiAwLjE3NyBtczxicj4oOCByb3dzKTxicj48YnI+ZGI9 Jmd0Ozxicj5leHBsYWluIChBTkFMWVpFLEJVRkZFUlMpIHVwZGF0ZcKgIG15X2xvZ19kYWlseSBz ZXQgc3RhZ2U9c3RhZ2UrMSB3aGVyZTxicj5kYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYmIzM5 OyBhbmQgZGF0ZTEgJmx0OyAmIzM5OzIwMTctMDktMDcmIzM5OyBhbmQgbXNnaWQxPTM0MTQyNTMg YW5kPGJyPm1zZ2lkMj0yMDc1NiBhbmQgbXNnaWQzPTE1MDQ3MTIxMTcgYW5kIGluc3RhbmNlPSYj Mzk7V1M2JiMzOTs7PGJyPjxicj5RVUVSWTxicj5QTEFOPGJyPjxicj4tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPGJyPsKgVXBkYXRlIG9uIG15X2xvZ19kYWlsecKgIChjb3N0PTAuMDAuLjguNDYg cm93cz0yIHdpZHRoPTU4NykgKGFjdHVhbDxicj50aW1lPTAuMDUyLi4wLjA1MiByb3dzPTAgbG9v cHM9MSk8YnI+wqDCoCBVcGRhdGUgb24gbXlfbG9nX2RhaWx5PGJyPsKgwqAgVXBkYXRlIG9uIG15 X2xvZ19kYWlseV8xNzA5MDY8YnI+wqDCoCBCdWZmZXJzOiBzaGFyZWQgaGl0PTU8YnI+wqDCoCAt Jmd0O8KgIFNlcSBTY2FuIG9uIG15X2xvZ19kYWlsecKgIChjb3N0PTAuMDAuLjAuMDAgcm93cz0x IHdpZHRoPTk4OCkgKGFjdHVhbDxicj50aW1lPTAuMDAxLi4wLjAwMSByb3dzPTAgbG9vcHM9MSk8 YnI+wqDCoMKgwqDCoMKgwqDCoCBGaWx0ZXI6ICgoZGF0ZTEgJmd0Oz0gJiMzOTsyMDE3LTA5LTA2 IDAwOjAwOjAwJiMzOTs6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWU8YnI+em9uZSkgQU5EIChkYXRl MSAmbHQ7ICYjMzk7MjAxNy0wOS0wNyAwMDowMDowMCYjMzk7Ojp0aW1lc3RhbXAgd2l0aG91dCB0 aW1lIHpvbmUpIEFORDxicj4obXNnaWQxID0gMzQxNDI1MykgQU5EIChtc2dpZDIgPSAyMDc1Nikg QU5EIChtc2dpZDMgPSAxNTA0NzEyMTE3KSBBTkQ8YnI+KChpbnN0YW5jZSk6OnRleHQgPSAmIzM5 O1dTNiYjMzk7Ojp0ZXh0KSk8YnI+wqDCoCAtJmd0O8KgIEluZGV4IFNjYW4gdXNpbmcgbXlfbG9n X2RhaWx5X2lkeF8xNzA5MDYgb24gbXlfbG9nX2RhaWx5XzE3MDkwNjxicj4oY29zdD0wLjQyLi44 LjQ2IHJvd3M9MSB3aWR0aD0xODYpIChhY3R1YWwgdGltZT0wLjAxOS4uMC4wMjAgcm93cz0xIGxv b3BzPTEpPGJyPsKgwqDCoMKgwqDCoMKgwqAgSW5kZXggQ29uZDogKChtc2dpZDEgPSAzNDE0MjUz KSBBTkQgKG1zZ2lkMiA9IDIwNzU2KSBBTkQgKG1zZ2lkMyA9PGJyPjE1MDQ3MTIxMTcpIEFORCAo KGluc3RhbmNlKTo6dGV4dCA9ICYjMzk7V1M2JiMzOTs6OnRleHQpKTxicj7CoMKgwqDCoMKgwqDC oMKgIEZpbHRlcjogKChkYXRlMSAmZ3Q7PSAmIzM5OzIwMTctMDktMDYgMDA6MDA6MDAmIzM5Ozo6 dGltZXN0YW1wIHdpdGhvdXQgdGltZTxicj56b25lKSBBTkQgKGRhdGUxICZsdDsgJiMzOTsyMDE3 LTA5LTA3IDAwOjAwOjAwJiMzOTs6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSkpPGJyPsKg wqDCoMKgwqDCoMKgwqAgQnVmZmVyczogc2hhcmVkIGhpdD00PGJyPsKgUGxhbm5pbmcgdGltZTog NC42MzkgbXM8YnI+wqBFeGVjdXRpb24gdGltZTogMC4xNDcgbXM8YnI+KDEyIHJvd3MpPGJyPjxi cj48YnI+ZGI9Jmd0OyBcZCBteV9sb2dfZGFpbHk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUYWJsZSAmcXVvdDtwdWJs aWMubXlfbG9nX2RhaWx5JnF1b3Q7PGJyPsKgwqAgQ29sdW1uwqDCoCB8wqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBUeXBlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+TW9kaWZpZXJzPGJyPi0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPsKgY2xpZW50X2lkwqAgfCBp bnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IG5vdCBudWxs PGJyPsKgcHVsdMKgwqDCoMKgwqDCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDYpwqDCoMKgwqDCoMKg wqAgfCBub3QgbnVsbDxicj7CoG9wcsKgwqDCoMKgwqDCoMKgIHwgY2hhcmFjdGVyIHZhcnlpbmco MzApwqDCoMKgwqDCoMKgIHwgbm90IG51bGw8YnI+wqBoYW5kbGVywqDCoMKgIHwgY2hhcmFjdGVy IHZhcnlpbmcoNjApwqDCoMKgwqDCoMKgIHw8YnI+wqBtc2dpZMKgwqDCoMKgwqAgfCBpbnRlZ2Vy wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgc2NsaWVudF9p ZCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+ wqBzdGFnZcKgwqDCoMKgwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IGRlZmF1bHQgMDxicj7CoG1zZ2lkMcKgwqDCoMKgIHwgaW50ZWdlcsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBkZWZhdWx0IDA8YnI+wqBtc2dp ZDLCoMKgwqDCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgZGVmYXVsdCAwPGJyPsKgbXNnaWQzwqDCoMKgwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRlZmF1bHQgMDxicj7CoGVuZGVkwqDCoMKg wqDCoCB8IHNtYWxsaW50wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBk ZWZhdWx0IDA8YnI+wqBkYXRlMcKgwqDCoMKgwqAgfCB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpv bmUgfCBkZWZhdWx0PGJyPigmIzM5O25vdyYjMzk7Ojp0ZXh0KTo6dGltZXN0YW1wIHdpdGhvdXQg dGltZSB6b25lPGJyPsKgZGF0ZTLCoMKgwqDCoMKgIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6 b25lIHw8YnI+wqByZXNlcnZlZDHCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKgwqDCoMKg IHw8YnI+wqByZXNlcnZlZDLCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKgwqDCoMKgIHw8 YnI+wqByZXNlcnZlZDPCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCnCoMKgwqDCoMKgIHw8YnI+ wqBhdHBjb8KgwqDCoMKgwqAgfCBzbWFsbGludMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgbm90IG51bGwgZGVmYXVsdCAwPGJyPsKgcnNydmRudW0xwqAgfCBpbnRlZ2Vy wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgcnNydmRudW0y wqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJy PsKgcnNydmRudW0zwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8PGJyPsKgaW5zdGFuY2XCoMKgIHwgY2hhcmFjdGVyIHZhcnlpbmcoMynCoMKgwqDC oMKgwqDCoCB8PGJyPsKgZHVyYXRpb27CoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBkZWZhdWx0IDA8YnI+wqBpcMKgwqDCoMKgwqDCoMKgwqAg fCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPlRy aWdnZXJzOjxicj7CoMKgwqAgaW5zZXJ0X215X2xvZ19kYWlseV90cmlnZ2VyIEJFRk9SRSBJTlNF UlQgT04gbXlfbG9nX2RhaWx5IEZPUiBFQUNIIFJPVzxicj5FWEVDVVRFIFBST0NFRFVSRSBteV9s b2dfZGFpbHlfaW5zZXJ0X3RyaWdnZXIoKTxicj5OdW1iZXIgb2YgY2hpbGQgdGFibGVzOiA0MCAo VXNlIFxkKyB0byBsaXN0IHRoZW0uKTxicj48YnI+ZGI9Jmd0Ozxicj48YnI+SW5kZXhlczo8YnI+ wqDCoMKgICZxdW90O215X2xvZ19kYWlseV9pZHhfMTcwOTA2JnF1b3Q7IFVOSVFVRSwgYnRyZWUg KG1zZ2lkMSwgbXNnaWQyLCBtc2dpZDMsPGJyPmluc3RhbmNlKTxicj7CoMKgwqAgJnF1b3Q7bXlf bG9nX2RhaWx5X2RhdGVfMTcwOTA2JnF1b3Q7IGJ0cmVlIChkYXRlMSk8YnI+wqDCoMKgICZxdW90 O215X2xvZ19kYWlseV9oYW5kbGVyXzE3MDkwNiZxdW90OyBidHJlZSAoaGFuZGxlcik8YnI+wqDC oMKgICZxdW90O215X2xvZ19kYWlseV9wdWx0XzE3MDkwNiZxdW90OyBidHJlZSAocHVsdCk8YnI+ wqDCoMKgICZxdW90O215X2xvZ19kYWlseV9yZXNlcnZlZDFfMTcwOTA2JnF1b3Q7IGJ0cmVlIChy ZXNlcnZlZDEpPGJyPsKgwqDCoCAmcXVvdDtteV9sb2dfZGFpbHlfc3JjXzE3MDkwNiZxdW90OyBi dHJlZSAoY2xpZW50X2lkLCBkYXRlMSk8YnI+Q2hlY2sgY29uc3RyYWludHM6PGJyPsKgwqDCoCAm cXVvdDtteV9sb2dfZGFpbHlfMTcwOTA2X2RhdGUxX2NoZWNrJnF1b3Q7IENIRUNLIChkYXRlMSAm Z3Q7PSAmIzM5OzIwMTctMDktMDY8YnI+MDA6MDA6MDAmIzM5Ozo6dGltZXN0YW1wIHdpdGhvdXQg dGltZSB6b25lIEFORCBkYXRlMSAmbHQ7ICYjMzk7MjAxNy0wOS0wNzxicj4wMDowMDowMCYjMzk7 Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpPGJyPkluaGVyaXRzOiBteV9sb2dfZGFpbHk8 YnI+PGJyPmRiPSZndDs8YnI+PGJyPjxicj48YnI+YSBjb21wbGV0ZcKgIGxpc3Qgb2YgY2hpbGQg dGFibGVzIGJlbG93Ljxicj50YWJsZSBkZXNjcmlwdGlvbnMgaW5jbHVkaW5nIENIRUNLIGFuZCBp bmRleGVzICggYXMgd2VsbCBhcyB0cmlnZ2VyPGJyPmZ1bmN0aW9uICkgYXJlIGF1dG9nZW5lcmF0 ZWQsIHNvIHRoZXJlIGlzIG5vIGh1bWFuIGVycm9yLjxicj48YnI+PGJyPi0tLS0tLS0tLS0tLS0t LS0tPGJyPmRiPSZndDsgXGQrIG15X2xvZ19kYWlseTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUYWJsZTxicj4mcXVvdDtwdWJsaWMubXlfbG9nX2Rh aWx5JnF1b3Q7PGJyPsKgwqAgQ29sdW1uwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUeXBl wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+TW9kaWZpZXJzwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgU3RvcmFnZcKgIHwgU3RhdHMgdGFyZ2V0IHwgRGVz Y3JpcHRpb248YnI+LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tPGJyPsKgY2xpZW50X2lkwqAgfCBpbnRl Z2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IG5vdDxicj5udWxs wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHw8YnI+wqBwdWx0wqDCoMKgwqDCoMKgIHwgY2hhcmFjdGVyIHZhcnlpbmco NinCoMKgwqDCoMKgwqDCoCB8IG5vdDxicj5udWxswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHwgZXh0ZW5kZWQgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+wqBvcHLCoMKgwqDC oMKgwqDCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDMwKcKgwqDCoMKgwqDCoCB8IG5vdDxicj5udWxs wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZXh0ZW5kZWQgfMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHw8YnI+wqBoYW5kbGVywqDCoMKgIHwgY2hhcmFjdGVyIHZhcnlpbmcoNjApPGJy PnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBleHRlbmRl ZDxicj58wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7CoG1zZ2lkwqDCoMKgwqDCoCB8 IGludGVnZXI8YnI+fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IHBsYWluPGJyPnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgc2NsaWVudF9p ZCB8IGludGVnZXI8YnI+fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IHBsYWluPGJyPnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgc3RhZ2XC oMKgwqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCBkZWZhdWx0PGJyPjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAg fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+wqBtc2dpZDHCoMKgwqDCoCB8IGludGVn ZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZGVmYXVsdDxicj4w wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8PGJyPsKgbXNnaWQywqDCoMKgwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGRlZmF1bHQ8YnI+MMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7C oG1zZ2lkM8KgwqDCoMKgIHwgaW50ZWdlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCBkZWZhdWx0PGJyPjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7C oMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+wqBlbmRlZMKgwqDCoMKgwqAg fCBzbWFsbGludMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZGVmYXVs dDxicj4wwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgZGF0ZTHCoMKgwqDCoMKgIHwgdGltZXN0YW1wIHdpdGhv dXQgdGltZSB6b25lIHwgZGVmYXVsdDxicj4oJiMzOTtub3cmIzM5Ozo6dGV4dCk6OnRpbWVzdGFt cCB3aXRob3V0IHRpbWUgem9uZSB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8PGJyPsKgZGF0ZTLCoMKgwqDCoMKgIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25l PGJyPnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFp bjxicj58wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7CoHJlc2VydmVkMcKgIHwgY2hh cmFjdGVyIHZhcnlpbmcoMTAwKTxicj58wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgZXh0ZW5kZWQ8YnI+fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8 YnI+wqByZXNlcnZlZDLCoCB8IGNoYXJhY3RlciB2YXJ5aW5nKDEwMCk8YnI+fMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGV4dGVuZGVkPGJyPnzCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgcmVzZXJ2ZWQzwqAgfCBjaGFyYWN0ZXIgdmFyeWlu ZygxMDApPGJyPnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCBleHRlbmRlZDxicj58wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7CoGF0cGNvwqDC oMKgwqDCoCB8IHNtYWxsaW50wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCBub3QgbnVsbCBkZWZhdWx0PGJyPjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHw8YnI+wqByc3J2ZG51bTHCoCB8IGludGVnZXI8YnI+fMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluPGJyPnzCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPsKgcnNydmRudW0ywqAgfCBpbnRlZ2VyPGJyPnzCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFpbjxicj58wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7CoHJzcnZkbnVtM8KgIHwgaW50ZWdlcjxicj58 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW48YnI+ fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+wqBpbnN0YW5jZcKgwqAgfCBjaGFyYWN0 ZXIgdmFyeWluZygzKTxicj58wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgZXh0ZW5kZWQ8YnI+fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHw8YnI+wqBk dXJhdGlvbsKgwqAgfCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IGRlZmF1bHQ8YnI+MMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDC oCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfDxicj7CoGlwwqDCoMKgwqDCoMKgwqDCoCB8 IGludGVnZXI8YnI+fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IHBsYWluPGJyPnzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8PGJyPlRyaWdnZXJzOjxi cj7CoMKgwqAgaW5zZXJ0X215X2xvZ19kYWlseV90cmlnZ2VyIEJFRk9SRSBJTlNFUlQgT04gbXlf bG9nX2RhaWx5IEZPUiBFQUNIIFJPVzxicj5FWEVDVVRFIFBST0NFRFVSRSBteV9sb2dfZGFpbHlf aW5zZXJ0X3RyaWdnZXIoKTxicj5DaGlsZCB0YWJsZXM6IG15X2xvZ19kYWlseV8xNzA5MDEsPGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MDIsPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MDMsPGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MDQsPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MDUsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG15X2xvZ19kYWlseV8xNzA5MDYsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15 X2xvZ19kYWlseV8xNzA5MDcsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19k YWlseV8xNzA5MDgsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8x NzA5MDksPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTAs PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTEsPGJyPsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTIsPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTMsPGJyPsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTQsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MTUsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG15X2xvZ19kYWlseV8xNzA5MTYsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xv Z19kYWlseV8xNzA5MTcsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWls eV8xNzA5MTgsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5 MTksPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MjAsPGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MjEsPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MjIsPGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MjMsPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MjQsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG15X2xvZ19kYWlseV8xNzA5MjUsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15 X2xvZ19kYWlseV8xNzA5MjYsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19k YWlseV8xNzA5MjcsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8x NzA5MjgsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5Mjks PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzA5MzAsPGJyPsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzEwMDEsPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzEwMDIsPGJyPsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIG15X2xvZ19kYWlseV8xNzEwMDMsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIG15X2xvZ19kYWlseV8xNzEwMDQsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG15X2xvZ19kYWlseV8xNzEwMDUsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15X2xv Z19kYWlseV8xNzEwMDYsPGJyPsKgwqDCoCBoaMKgwqDCoMKgwqDCoMKgwqDCoCBteV9sb2dfZGFp bHlfMTcxMDA3LDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBteV9sb2dfZGFpbHlfMTcx MDA4LDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBteV9sb2dfZGFpbHlfMTcxMDA5LDxi cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBteV9sb2dfZGFpbHlfMTcxMDEwPGJyPjxicj5k Yj0mZ3Q7PGJyPjwvZGl2Pg0K --089e0828af2463e9f805595e80b5--