From owner-freebsd-questions@freebsd.org Wed Mar 10 18:15:29 2021 Return-Path: Delivered-To: freebsd-questions@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 88DB7572A52 for ; Wed, 10 Mar 2021 18:15:29 +0000 (UTC) (envelope-from ludovit.koren@gmail.com) Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DwgH44MPZz3w7k for ; Wed, 10 Mar 2021 18:15:28 +0000 (UTC) (envelope-from ludovit.koren@gmail.com) Received: by mail-wm1-x333.google.com with SMTP id r10-20020a05600c35cab029010c946c95easo11309155wmq.4 for ; Wed, 10 Mar 2021 10:15:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:user-mail-address:date:in-reply-to :message-id:user-agent:mime-version; bh=UJ/kc3T2oTrO1QcquVZ7nzl8eCF8f11HL7uAlSG1pZw=; b=DinBL9qH43TBMBGs+hAcq2ghlnTHPrjHQWhDkwjeU9Lm0Q9il8t9A3WsiN4SIvCVCh tDbfkqiBKtRcYJTpwkmH7d+BYYDaz8F5kNiFSeO7NR1u+8Qxfd49gsYV2gXs/d6u7+kP C5DW+9vbaTat8qXSucxen/UxLhTUrH8TDY4Uh0wrpOT8xFybXFjdutes032A1pxy0WuB SY0+GD+TgIxuAdBxz9tPRdmpxgsDwEaptAJjk5NhobnEDEgsr+g7dSQLxu5oYQimwF62 /8rS+L4f2TXjy3lhtsvFPH8Vx6a1eH/qsvxP53umJv20e4gmLt2MY+eAKzJZVaNOAayF iIdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:user-mail-address :date:in-reply-to:message-id:user-agent:mime-version; bh=UJ/kc3T2oTrO1QcquVZ7nzl8eCF8f11HL7uAlSG1pZw=; b=PB5GhlTjX31oYrIErcM9PjxosgMYHmgWiDcGoJPAJlRQy3zoZGjSNgTzHKCYkn/TLv fRmHi5BoSstbvGxGgoog1txZOkjT5TWUiS74pBDgVf1xSpmSa/s5U4NkYbLoBt7IYsvf h3+jPfjNnA40X0dvEvKmTXUKD0S+WyhvtzuyRgSrQHaIxg8lS+WZOOPeasptqL0lBJph Yg+PIt7XnISqHhJHMz8u9qxwA9Yu4SOC6b6KV0krXhgnZpwilBj2GmNojaOIswwivftQ sBQnVfiMxr9jSAb0dWAQuPeCX3iirBw65mD4lPx2P9eW6K2zZ3XqPs5bQ09EH2yMeDXr mfwA== X-Gm-Message-State: AOAM5302F2FzQWwhmZcqtx5ZwMqXC69+KFtzh6zrEEW2XD6vBX2w4OjX +9yOvPUfgs+TJL1yIGL8NGjLCYS1wxM= X-Google-Smtp-Source: ABdhPJxPhs9Mtv92WC+5ETVa8iuJ+s1lQv2p4kRE/EJuLZJVu5yuqo1KUR174qCd1hbxMYYYRMfMmw== X-Received: by 2002:a05:600c:2282:: with SMTP id 2mr4580420wmf.93.1615400126144; Wed, 10 Mar 2021 10:15:26 -0800 (PST) Received: from jedi.localdomain (adsl-dyn26.91-127-228.t-com.sk. [91.127.228.26]) by smtp.gmail.com with ESMTPSA id e1sm141214wrd.44.2021.03.10.10.15.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Mar 2021 10:15:25 -0800 (PST) Received: by jedi.localdomain (Postfix, from userid 1001) id 077925DCA2; Wed, 10 Mar 2021 19:15:24 +0100 (CET) From: Ludovit Koren To: Ultima Cc: FreeBSD Mailing List Subject: Re: PF - reply-to References: <8635x6vli2.fsf@gmail.com> <86y2exubbq.fsf@gmail.com> User-Mail-Address: ludovit.koren@gmail.com Date: Wed, 10 Mar 2021 19:15:23 +0100 In-Reply-To: (Ultima's message of "Tue, 9 Mar 2021 21:01:09 -0800") Message-ID: <867dmeub7o.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Rspamd-Queue-Id: 4DwgH44MPZz3w7k X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=DinBL9qH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of ludovitkoren@gmail.com designates 2a00:1450:4864:20::333 as permitted sender) smtp.mailfrom=ludovitkoren@gmail.com X-Spamd-Result: default: False [-2.00 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; HAS_ATTACHMENT(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[2a00:1450:4864:20::333:from]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; RECEIVED_SPAMHAUS_PBL(0.00)[91.127.228.26:received]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; NEURAL_SPAM_SHORT(1.00)[1.000]; SPAMHAUS_ZRD(0.00)[2a00:1450:4864:20::333:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::333:from]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-questions] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Mar 2021 18:15:29 -0000 --=-=-= Content-Type: text/plain >>>>> Ultima writes: > Hello Ludovit, > I'm going to need to see pf.conf and routing table to help further. > Feel free to obfuscate if required. It may also help if you ask the > freebsd-net and freebsd-pf mailing list as well. > Best regards, > Richard Gallamore Hi, please, see the attached file Regards, lk > On Mon, Mar 8, 2021 at 3:36 AM Ludovit Koren wrote: >>>>>> Ultima writes: >> Hey Ludovit, >> More details would be helpful. There can be a few reasons why it is not working that I can see. >> 1. Do you have an rdr rule to redirect to $web_addr for the pass rule? > yes, I have a rdr rule. but there are rules without rdr and it seems > they are not working either. >> 2. Rules out of order > I do not understand. I have definitions, nat, rdr, and rules. >> 3. Conflicting rules. > I did not find any. >> The best way to debug this would be logging the rules and watching where the traffic is going via tcpdump. > I did exactly what you suggest. The block rule logged reset packet from > the source of the web traffic. As soon as I changed the default router, > everything have started to work with the same unchanged pf.conf. > Regards, > lk >> Best regards, >> Richard Gallamore >> On Sun, Mar 7, 2021 at 10:58 AM Ludovit Koren wrote: >> Hi all, >> we have 2 Internet connections coming on the same interface. One is >> primarily used for incoming connections and services that we provide to >> Internet (web, mail). The other connection is primarily used for >> browsing (cache/proxy) and DNS. There are 2 different routers. >> I am using FreeBSD 12.2-STABLE r369178 and PF. The question is which >> router should I set as default router. I suppose, I can use reply-to >> and/or route-to, respectively. If I use (default router $router2): >> pass in on $ext_if reply-to (bge0 $router1) inet proto tcp from any to $web_addr port 443 keep state >> it is not working. The following setup is working (default router $router1): >> pass out on $ext_if route-to (bge0 $router2) inet proto tcp from any to any keep state >> Is it bug or I do not understand the manual page correctly? >> Thank you very much. >> Regards, >> lk >> _______________________________________________ >> freebsd-questions@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-questions >> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=pf.conf Content-Transfer-Encoding: base64 ZXh0X2lmPSJiY2UwIgpleHRlcm5hbF9hZGRyPSIxOTIuMTY4LjExLjE4IgppbnRfbmV0PSIxOTIu MTY4LjExLjAvMjQiCnNxdWlkPSIxOTIuMTY4LjExLjIwNSIKZXh0ZXJuX25ldD0iMTAuMS4zMS4w LzI0Igp0ZXJfbmV0PSIxMC4xLjY0LjAvMjQiCgp0YWJsZSA8dGFjaG8+IHsgNjIuNjIuNjcuMjAs IDYyLjYyLjcwLjUxLCA2Mi42Mi43MC41OCwgNjIuNjIuNzAuNTksIDYyLjYyLjc0LjIyMywgNjIu NjIuNzQuMjI0LCA2Mi42Mi43NC4yNDMsIDYyLjYyLjc0LjI0NC8zMSwgMTkyLjE2OC4xMS4yMDMg fQp0YWJsZSA8aW50cmEtbmV0PiB7IDE3Mi4xNi4wLjAvMTYsIDYyLjYyLjAuMC8xNiwgMTAwLjY0 LjAuMC8xMCwgMTkyLjE2OC45Ni4xMDMsIDE5Mi4xNjguOTYuMTA2LCAxOTIuMTY4Ljk2LjEyNiwg MTkyLjE2OC45Ni4xNTksIDE5Mi4xNjguOTYuMTYwIH0KdGFibGUgPHRhY2hvLXRlc3Q+IHsgMTky LjE2OC45Ni4xMDYsIDE5Mi4xNjguOTYuMTYwIH0KdGFibGUgPGJhZF9ob3N0cz4geyA2OS4xNjQu MTk2LjIxLCAxMDcuMTUwLjQwLjIzNCwgMTYyLjIxMS42NC4yMCwgMjE3LjEyLjIxMC41NCwgODku MTguMjcuMzQsIDE5My4xODMuOTguMTU0LCA1MS4yNTUuMTY3LjAsIDkxLjEyMS4xNTUuMTMsIDg3 Ljk4LjE3NS44NSwgMTg1Ljk3LjcuNyB9CgpzZXQgdGltZW91dCB7IGludGVydmFsIDEwLCBmcmFn IDMwIH0Kc2V0IHRpbWVvdXQgeyB0Y3AuZmlyc3QgMTIwLCB0Y3Aub3BlbmluZyAzMCwgdGNwLmVz dGFibGlzaGVkIDg2NDAwIH0Kc2V0IHRpbWVvdXQgeyB0Y3AuY2xvc2luZyA5MDAsIHRjcC5maW53 YWl0IDQ1LCB0Y3AuY2xvc2VkIDkwIH0Kc2V0IHRpbWVvdXQgeyB1ZHAuZmlyc3QgNjAsIHVkcC5z aW5nbGUgMzAsIHVkcC5tdWx0aXBsZSA2MCB9CnNldCB0aW1lb3V0IHsgaWNtcC5maXJzdCAyMCwg aWNtcC5lcnJvciAxMCB9CnNldCB0aW1lb3V0IHsgb3RoZXIuZmlyc3QgNjAsIG90aGVyLnNpbmds ZSAzMCwgb3RoZXIubXVsdGlwbGUgNjAgfQpzZXQgdGltZW91dCB7IGFkYXB0aXZlLnN0YXJ0IDAs IGFkYXB0aXZlLmVuZCAwIH0Kc2V0IGxpbWl0IHsgc3RhdGVzIDY0MDAwLCBmcmFncyAxNjAwMCB9 CnNldCBsb2dpbnRlcmZhY2UgJGV4dF9pZgpzZXQgb3B0aW1pemF0aW9uIG5vcm1hbApzZXQgYmxv Y2stcG9saWN5IGRyb3AKc2V0IHJlcXVpcmUtb3JkZXIgeWVzCnNldCBmaW5nZXJwcmludHMgIi9l dGMvcGYub3MiCnNldCBza2lwIG9uIGxvMApzZXQgc2tpcCBvbiBiY2UxCgpzY3J1YiBpbiBhbGwK CmFsdHEgb24gJGV4dF9pZiBiYW5kd2lkdGggMTAwME1iIGhmc2MgcXVldWUgeyBkZmx0LCBxYmFu aXN0YSwgcWluZXQsIHRhY2hvIH0KcXVldWUgZGZsdCBiYW5kd2lkdGggMzAlIGhmc2MoZGVmYXVs dCkgcHJpb3JpdHkgNyBxbGltaXQgNTEyCnF1ZXVlIHFiYW5pc3RhIGJhbmR3aWR0aCAzMCUgcHJp b3JpdHkgNyBoZnNjKCByZWFsdGltZSAgMzUlICkgcWxpbWl0IDUxMgpxdWV1ZSBxaW5ldCBiYW5k d2lkdGggMzAlIHByaW9yaXR5IDcgaGZzYyggcmVhbHRpbWUgIDM1JSApIHFsaW1pdCA1MTIKcXVl dWUgdGFjaG8gYmFuZHdpZHRoIDEwJSBwcmlvcml0eSAwIGhmc2MoIHJlYWx0aW1lICggMCUgMTAw IDEwJSApKSBxbGltaXQgNTEyCgpuYXQgb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tIGFu eSB0byAxOTIuMTY4Ljk2LjEwMyBwb3J0IDQ0MyAtPiAkc3F1aWQKbmF0IG9uICRleHRfaWYgaW5l dCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC45Ni4xMDMgcG9ydCA1ODA4MCAtPiAkc3F1 aWQKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC45Ni4x MDYgcG9ydCA4MCAtPiAkc3F1aWQKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBh bnkgdG8gMTkyLjE2OC45Ni4xMDYgcG9ydCA0NDMgLT4gJHNxdWlkCm5hdCBvbiAkZXh0X2lmIGlu ZXQgcHJvdG8gdGNwIGZyb20gYW55IHRvIDE5Mi4xNjguOTYuMTI2IHBvcnQgODAgLT4gJHNxdWlk Cm5hdCBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gYW55IHRvIDE5Mi4xNjguOTYuMTI2 IHBvcnQgNDQzIC0+ICRzcXVpZApuYXQgb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tIGFu eSB0byAxOTIuMTY4Ljk2LjEyNiBwb3J0IDE0NDMgLT4gJHNxdWlkCm5hdCBvbiAkZXh0X2lmIGlu ZXQgcHJvdG8gdGNwIGZyb20gYW55IHRvIDE5Mi4xNjguOTYuMTI2IHBvcnQgODA4MCAtPiAkc3F1 aWQKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC45Ni4x MjYgcG9ydCA4NDQzIC0+ICRzcXVpZApuYXQgb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9t IGFueSB0byAxOTIuMTY4Ljk2LjE1OSBwb3J0IDQ0MyAtPiAkc3F1aWQKbmF0IG9uICRleHRfaWYg aW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC45Ni4xNjAgcG9ydCA4MCAtPiAkc3F1 aWQKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC45Ni4x NjAgcG9ydCA0NDMgLT4gJHNxdWlkCm5hdCBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20g YW55IHRvIDE5Mi4xNjguOTYuMTYwIHBvcnQgNDgwODAgLT4gJHNxdWlkCgpuYXQgb24gJGV4dF9p ZiBpbmV0IHByb3RvIHRjcCBmcm9tIGFueSB0byBhbnkgcG9ydCAyMiAtPiAkc3F1aWQKbmF0IG9u ICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTk4LjEwNC4yMDMuMjE4IHBvcnQg NTk5OSAtPiAxOTIuMTY4LjExLjIyCm5hdCBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20g YW55IHRvIGFueSBwb3J0IDQ0MyAtPiAxOTIuMTY4LjExLjIyCm5hdCBvbiAkZXh0X2lmIGluZXQg cHJvdG8gdGNwIGZyb20gYW55IHRvIGFueSBwb3J0IDEwMDAwIC0+ICRzcXVpZApuYXQgb24gJGV4 dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tIGFueSB0byAhIDE5Mi4xNjguMTEuMTMgcG9ydCA4MCAt PiAxOTIuMTY4LjExLjIyCm5hdCBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gYW55IHRv ICEgMTkyLjE2OC4xMS4xMyBwb3J0IDIxIC0+IDE5Mi4xNjguMTEuMjIKbmF0IG9uICRleHRfaWYg aW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gISAxOTIuMTY4LjExLjEzIHBvcnQgPiAxMDIzIC0+ IDE5Mi4xNjguMTEuMjIKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8g c3F1aWQuZ292LnNrIC0+IDE5Mi4xNjguMTEuMjIKbmF0IG9uICRleHRfaWYgaW5ldCBwcm90byB0 Y3AgZnJvbSAxOTIuMTY4LjExLjAvMjQgdG8gMTkyLjE2OC4xMS4yNTQgcG9ydCA4MCAtPiAxOTIu MTY4LjExLjkKCnJkciBvbiAkZXh0X2lmIHByb3RvIHRjcCBmcm9tIGFueSB0byAxOTIuMTY4LjEx LjI1NC8zMiBwb3J0IDYyNjIgLT4gMTI3LjAuMC4xIHBvcnQgNjI2MgpyZHIgb24gJGV4dF9pZiBw cm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTEvMzIgcG9ydCA2MjYyIC0+IDEyNy4w LjAuMSBwb3J0IDYyNjMKCnJkciBvbiBiY2UwIHByb3RvIHRjcCBmcm9tIGFueSB0byAxOTIuMTY4 LjExLjIyNS8zMiBwb3J0IDQ0MyAtPiAxMjcuMC4wLjEgcG9ydCAxNDQzCgpwYXNzIG91dCBhbGwg cXVldWUgZGZsdCBrZWVwIHN0YXRlCnBhc3Mgb3V0IG9uICRleHRfaWYgcm91dGUtdG8gKGJjZTAg MTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSAxOTIuMTY4LjExLjIwNSB0byAxOTIuMTY4Ljk2 LjEwMyBwb3J0IDQ0MyBrZWVwIHN0YXRlIHF1ZXVlIHRhY2hvCnBhc3Mgb3V0IG9uICRleHRfaWYg cm91dGUtdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSAxOTIuMTY4LjExLjIw MyBwb3J0IDQ0MyB0byA8dGFjaG8+IGtlZXAgc3RhdGUgcXVldWUgdGFjaG8KcGFzcyBvdXQgb24g JGV4dF9pZiBwcm90byB7IHRjcCwgdWRwIH0gZnJvbSBjYXJwMCB0byAkaW50X25ldCBrZWVwIHN0 YXRlCnBhc3Mgb3V0IG9uICRleHRfaWYgcHJvdG8geyB0Y3AsIHVkcCB9IGZyb20gJGV4dGVybmFs X2FkZHIgdG8gJGludF9uZXQga2VlcCBzdGF0ZQpwYXNzIG91dCBvbiAkZXh0X2lmIHJvdXRlLXRv IChiY2UwIDE5Mi4xNjguMTEuMTI4KSBwcm90byB0Y3AgZnJvbSBhbnkgdG8gITxpbnRyYS1uZXQ+ IGtlZXAgc3RhdGUgcXVldWUgcWJhbmlzdGEKCnBhc3Mgb3V0IG9uICRleHRfaWYgcm91dGUtdG8g KGJjZTAgMTkyLjE2OC4xMS4xMjgpIHByb3RvIHRjcCBmcm9tIDE5Mi4xNjguMTEuMjQ2IHRvICE8 aW50cmEtbmV0PiBrZWVwIHN0YXRlIHF1ZXVlIHFiYW5pc3RhCnBhc3Mgb3V0IG9uICRleHRfaWYg cm91dGUtdG8gKGJjZTAgMTkyLjE2OC4xMS4xMjgpIHByb3RvIHRjcCBmcm9tIDE5Mi4xNjguMTEu MjQ2IHRvIGFueSBrZWVwIHN0YXRlIHF1ZXVlIHFiYW5pc3RhCnBhc3Mgb3V0IG9uICRleHRfaWYg cm91dGUtdG8gKGJjZTAgMTkyLjE2OC4xMS4xMjgpIHByb3RvIHVkcCBmcm9tIGFueSB0byAhPGlu dHJhLW5ldD4gcG9ydCA1MyBrZWVwIHN0YXRlIHF1ZXVlIHFiYW5pc3RhCnBhc3Mgb3V0IG9uICRl eHRfaWYgcm91dGUtdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSBhbnkgdG8g MTAwLjY0LjE2LjE5MCBrZWVwIHN0YXRlIHF1ZXVlIHFpbmV0CgpibG9jayBpbiBsb2cgYWxsCgpi bG9jayBxdWljayBmcm9tIDxiYWRfaG9zdHM+CnBhc3MgIGluICBvbiAkZXh0X2lmIHByb3RvIHRj cCBmcm9tIGFueSB0byAkZXh0X2lmIHBvcnQgMjIga2VlcCBzdGF0ZQpwYXNzICBpbiAgb24gJGV4 dF9pZiBwcm90byB0Y3AgZnJvbSAkaW50X25ldCB0byAkZXh0X2lmIHBvcnQgMjIga2VlcCBzdGF0 ZQpwYXNzICBpbiAgb24gJGV4dF9pZiBwcm90byB0Y3AgZnJvbSAxOTIuMTY4LjExLjAvMjQgdG8g JGV4dF9pZiBwb3J0IDIyIGtlZXAgc3RhdGUKcGFzcyAgaW4gIG9uICRleHRfaWYgcHJvdG8gdGNw IGZyb20gJGludF9uZXQgdG8gY2FycDAgcG9ydCAyMiBrZWVwIHN0YXRlCnBhc3MgIGluICBvbiAk ZXh0X2lmIHByb3RvIHRjcCBmcm9tIDE5Mi4xNjguMTEuMC8yNCB0byBjYXJwMCBwb3J0IDIyIGtl ZXAgc3RhdGUKCgpwYXNzIGluIHF1aWNrIG9uICRleHRfaWYgcHJvdG8gdGNwIGZyb20gMTkyLjE2 OC4xMS4xMyB0byBhbnkgcG9ydCA4MApwYXNzIGluIHF1aWNrIG9uICRleHRfaWYgcHJvdG8gdGNw IGZyb20gMTkyLjE2OC4xMS4xMyB0byBhbnkgcG9ydCA0NDMKcGFzcyBpbiBxdWljayBvbiAkZXh0 X2lmIHByb3RvIHRjcCBmcm9tIDIxMi4xOTcuNy4zMCB0byBhbnkgcG9ydCA0NDMKCnBhc3MgaW4g b24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHByb3RvIHRjcCBmcm9tIDE5 NS4xNDYuMTQ5LjIzMiB0byAxOTIuMTY4LjExLjIwMyBwb3J0IDQ0MyBrZWVwIHN0YXRlIChtYXgt c3JjLWNvbm4tcmF0ZSAxMDI0LzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBnbG9iYWwp CnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHByb3RvIHRj cCBmcm9tIDE5NS4xNDYuMTQ5LjIzMiB0byAxOTIuMTY4LjExLjIwNCBwb3J0IDQ0MyBrZWVwIHN0 YXRlIChtYXgtc3JjLWNvbm4tcmF0ZSAxMDI0LzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVz aCBnbG9iYWwpCnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEp IHByb3RvIHRjcCBmcm9tIDE5NS4xNDYuMTQ5LjIzMiB0byAxOTIuMTY4LjExLjIwNSBwb3J0IDQ0 MyBrZWVwIHN0YXRlIChtYXgtc3JjLWNvbm4tcmF0ZSAxMDI0LzEwLCBvdmVybG9hZCA8YmFkX2hv c3RzPiBmbHVzaCBnbG9iYWwpCnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIu MTY4LjExLjEpIHByb3RvIHRjcCBmcm9tIDE5NS4xNDYuMTQ5LjIzMiB0byAxOTIuMTY4LjExLjIx NyBwb3J0IDQ0MyBrZWVwIHN0YXRlIChtYXgtc3JjLWNvbm4tcmF0ZSAxMDI0MC82MCwgb3Zlcmxv YWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRleHRfaWYgcmVwbHktdG8g KGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSAxOTUuMTQ2LjE0OS4yMzIgdG8gMTky LjE2OC4xMS4yNDcgcG9ydCA0NDMga2VlcCBzdGF0ZSAobWF4LXNyYy1jb25uLXJhdGUgMTAyNC8x MCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRleHRfaWYg cmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSAxOTUuMTQ2LjE0OS4y MzIgdG8gMTkyLjE2OC4xMS4yMjUgcG9ydCA0NDMga2VlcCBzdGF0ZSAobWF4LXNyYy1jb25uLXJh dGUgMTAyNDAvNjAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBv biAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gMTk1 LjE0Ni4xNDkuMjMyIHRvIDE5Mi4xNjguMTEuMjI3IHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1z cmMtY29ubi1yYXRlIDEwMjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkK cGFzcyBpbiBvbiAkZXh0X2lmIHByb3RvIHRjcCBmcm9tIDE5NS4xNDYuMTQ5LjIzMiB0byAxOTIu MTY4LjExLjkxIHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRlIDEwMjQvMTAs IG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJl cGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gMTk1LjE0Ni4xNDkuMjMy IHRvIDE5Mi4xNjguMTEuMjUxIHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRl IDEwMjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBvbiAk ZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gMTk1LjE0 Ni4xNDkuMjMyIHRvIDE5Mi4xNjguMTEuMjUyIHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMt Y29ubi1yYXRlIDEwMjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFz cyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZy b20gMTk1LjE0Ni4xNDkuMjMyIHRvIDE5Mi4xNjguMTEuMjUzIHBvcnQgNDQzIGtlZXAgc3RhdGUg KG1heC1zcmMtY29ubi1yYXRlIDEwMjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGds b2JhbCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJv dG8gdGNwIGZyb20gMTk1LjE0Ni4xNDkuMjMyIHRvIDE5Mi4xNjguMTEuMjU0IHBvcnQgNDQzIGtl ZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRlIDEwMjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+ IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjgu MTEuMSkgcHJvdG8gdGNwIGZyb20gYW55IHRvIDE5Mi4xNjguMTEuMjAwIHBvcnQgNDQzIGtlZXAg c3RhdGUgKG1heC1zcmMtY29ubi1yYXRlIDEwMC8xMCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1 c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRleHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4x KSBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yMDEgcG9ydCA0NDMga2VlcCBzdGF0 ZSAobWF4LXNyYy1jb25uLXJhdGUgMTAwLzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBn bG9iYWwpCnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHBy b3RvIHRjcCBmcm9tIGFueSB0byAxOTIuMTY4LjExLjIwMiBwb3J0IDQ0MyBrZWVwIHN0YXRlICht YXgtc3JjLWNvbm4tcmF0ZSAxMDAvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2Jh bCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8g dGNwIGZyb20gYW55IHRvIDE5Mi4xNjguMTEuMjAzIHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1z cmMtY29ubi1yYXRlIDEwMC8xMCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpw YXNzIGluIG9uICRleHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3Ag ZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yMDQgcG9ydCA0NDMga2VlcCBzdGF0ZSAobWF4LXNyYy1j b25uLXJhdGUgMTAwLzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBnbG9iYWwpCnBhc3Mg aW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHByb3RvIHRjcCBmcm9t IGFueSB0byAxOTIuMTY4LjExLjIwNSBwb3J0IDQ0MyBrZWVwIHN0YXRlIChtYXgtc3JjLWNvbm4t cmF0ZSAxMDAvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBv biAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gYW55 IHRvIDE5Mi4xNjguMTEuMjE3IHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRl IDYwMC82MCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRl eHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSBhbnkgdG8g MTkyLjE2OC4xMS4yNDcgcG9ydCA0NDMga2VlcCBzdGF0ZSAobWF4LXNyYy1jb25uLXJhdGUgMTAw LzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBnbG9iYWwpCnBhc3MgaW4gb24gJGV4dF9p ZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHByb3RvIHRjcCBmcm9tIGFueSB0byAxOTIu MTY4LjExLjIyNSBwb3J0IDQ0MyBrZWVwIHN0YXRlIChtYXgtc3JjLWNvbm4tcmF0ZSA2MDAvNjAs IG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJl cGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gYW55IHRvIDE5Mi4xNjgu MTEuMjI3IHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRlIDEwMC8xMCwgb3Zl cmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRleHRfaWYgcHJvdG8g dGNwIGZyb20gPHRhY2hvLXRlc3Q+IHRvIDE5Mi4xNjguMTEuOTEgcG9ydCA0NDMga2VlcCBzdGF0 ZSAobWF4LXNyYy1jb25uLXJhdGUgMTAwLzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBn bG9iYWwpCnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHBy b3RvIHRjcCBmcm9tIGFueSB0byAxOTIuMTY4LjExLjI1MCBwb3J0IDQ0MyBrZWVwIHN0YXRlICht YXgtc3JjLWNvbm4tcmF0ZSAxMDAvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2Jh bCkKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8g dGNwIGZyb20gYW55IHRvIDE5Mi4xNjguMTEuMjUxIHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1z cmMtY29ubi1yYXRlIDEwMC8xMCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpw YXNzIGluIG9uICRleHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3Ag ZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTIgcG9ydCA0NDMga2VlcCBzdGF0ZSAobWF4LXNyYy1j b25uLXJhdGUgMTAwLzEwLCBvdmVybG9hZCA8YmFkX2hvc3RzPiBmbHVzaCBnbG9iYWwpCnBhc3Mg aW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4LjExLjEpIHByb3RvIHRjcCBmcm9t IGFueSB0byAxOTIuMTY4LjExLjI1MyBwb3J0IDQ0MyBrZWVwIHN0YXRlIChtYXgtc3JjLWNvbm4t cmF0ZSAxMDAvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBv biAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgcHJvdG8gdGNwIGZyb20gYW55 IHRvIDE5Mi4xNjguMTEuMjU0IHBvcnQgNDQzIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRl IDEwMC8xMCwgb3ZlcmxvYWQgPGJhZF9ob3N0cz4gZmx1c2ggZ2xvYmFsKQpwYXNzIGluIG9uICRl eHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSBhbnkgdG8g MTkyLjE2OC4xMS4yMDUgcG9ydCA4MjgwIGtlZXAgc3RhdGUgKG1heC1zcmMtY29ubi1yYXRlIDEw MjQvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkKcGFzcyBpbiBvbiBiY2Uw IHByb3RvIHRjcCBmcm9tIGFueSB0byAxMjcuMC4wLjEgcG9ydCAxNDQzIGtlZXAgc3RhdGUKcGFz cyBpbiBvbiBiY2UwIHByb3RvIHRjcCBmcm9tIGFueSB0byAxMjcuMC4wLjEgcG9ydCA2MjYyIGtl ZXAgc3RhdGUKcGFzcyBpbiBvbiBiY2UwIHByb3RvIHRjcCBmcm9tIGFueSB0byAxMjcuMC4wLjEg cG9ydCA2MjYzIGtlZXAgc3RhdGUKCnBhc3MgaW4gb24gJGV4dF9pZiBwcm90byB0Y3AgZnJvbSAx NzIuMTYuMC41MCBwb3J0IDMxMjggdG8gJGV4dGVybmFsX2FkZHIga2VlcCBzdGF0ZQpwYXNzIGlu IG9uICRleHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBwcm90byB0Y3AgZnJvbSAx OTIuMTY4Ljk2LjEwMyBwb3J0IDQ0MyB0byAxOTIuMTY4LjExLjIwNSBrZWVwIHN0YXRlIChtYXgt c3JjLWNvbm4tcmF0ZSAxMDAvMTAsIG92ZXJsb2FkIDxiYWRfaG9zdHM+IGZsdXNoIGdsb2JhbCkK cGFzcyBpbiBvbiAkZXh0X2lmIHByb3RvIHRjcCBmcm9tIGFueSBwb3J0IDgwIHRvICRleHRlcm5h bF9hZGRyIGtlZXAgc3RhdGUKCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9t IGFueSB0byAkZXh0ZXJuYWxfYWRkciBwb3J0IDI1IGtlZXAgc3RhdGUKcGFzcyBvdXQgb24gJGV4 dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRleHRlcm5hbF9hZGRyIHRvICRpbnRfbmV0IHBvcnQg MjUga2VlcCBzdGF0ZQpwYXNzIGluIG9uICRleHRfaWYgaW5ldCBwcm90byB7IHRjcCAsIHVkcCB9 IGZyb20gYW55IHRvICRleHRlcm5hbF9hZGRyIHBvcnQgNTMga2VlcCBzdGF0ZQpwYXNzIGluIG9u ICRleHRfaWYgcmVwbHktdG8gKGJjZTAgMTkyLjE2OC4xMS4xKSBpbmV0IHByb3RvIHsgdGNwICwg dWRwIH0gZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS45IHBvcnQgNTMga2VlcCBzdGF0ZQpwYXNzIGlu IG9uICRleHRfaWYgaW5ldCBwcm90byB1ZHAgZnJvbSBhbnkgcG9ydCA1MyB0byAkZXh0ZXJuYWxf YWRkciBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiByZXBseS10byAoYmNlMCAxOTIuMTY4 LjExLjEpIGluZXQgcHJvdG8gdWRwIGZyb20gYW55IHBvcnQgNTMgdG8gMTkyLjE2OC4xMS45IGtl ZXAgc3RhdGUKCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRpbnRfbmV0 IHRvICRzcXVpZCBwb3J0IDMwOSBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHBy b3RvIHRjcCBmcm9tICRpbnRfbmV0IHRvICRzcXVpZCBwb3J0IDM4OSBrZWVwIHN0YXRlCnBhc3Mg aW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRpbnRfbmV0IHRvICRzcXVpZCBwb3J0 IDcwOSBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRp bnRfbmV0IHRvICRzcXVpZCBwb3J0IDcxMCBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBp bmV0IHByb3RvIHRjcCBmcm9tICRpbnRfbmV0IHRvICRzcXVpZCBwb3J0IDgyOSBrZWVwIHN0YXRl CnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRpbnRfbmV0IHRvICRzcXVp ZCBwb3J0IDg3MyBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBm cm9tICRpbnRfbmV0IHRvICRzcXVpZCBwb3J0IDEzNTIga2VlcCBzdGF0ZQpwYXNzIGluIG9uICRl eHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSAkaW50X25ldCB0byAkc3F1aWQgcG9ydCAyMTIxIGtl ZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gJGludF9uZXQg dG8gJHNxdWlkIHBvcnQgNDY2NyBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHBy b3RvIHRjcCBmcm9tICRpbnRfbmV0IHRvICRzcXVpZCBwb3J0IDEwMDAwIGtlZXAgc3RhdGUKcGFz cyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gJGludF9uZXQgdG8gMTkyLjE2OC4x MS45IHBvcnQgMTAwNTAga2VlcCBzdGF0ZQpwYXNzIGluIG9uICRleHRfaWYgaW5ldCBwcm90byB0 Y3AgZnJvbSAkaW50X25ldCB0byAkZXh0ZXJuYWxfYWRkciBwb3J0IDMzMDYga2VlcCBzdGF0ZQpw YXNzIGluIG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSAkaW50X25ldCB0byAkc3F1aWQg cG9ydCA4MDgwIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZy b20gJGludF9uZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9ydCA4MDgwIGtlZXAgc3RhdGUKcGFzcyBp biBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gJGludF9uZXQgdG8gMTkyLjE2OC4xMS4y MTcgcG9ydCA4MDgwIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNw IGZyb20gJGV4dGVybl9uZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9ydCA4MDgwIGtlZXAgc3RhdGUK cGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gJHRlcl9uZXQgdG8gJGV4dGVy bmFsX2FkZHIgcG9ydCA4MDgwIGtlZXAgc3RhdGUKCnBhc3Mgb3V0IG9uICRleHRfaWYgaW5ldCBw cm90byB0Y3AgZnJvbSAkc3F1aWQgcG9ydCA4MDgwIHRvICRpbnRfbmV0IGtlZXAgc3RhdGUKcGFz cyBvdXQgb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9tICRleHRlcm5hbF9hZGRyIHBvcnQg ODA4MCB0byAkaW50X25ldCBrZWVwIHN0YXRlCnBhc3Mgb3V0IG9uICRleHRfaWYgaW5ldCBwcm90 byB0Y3AgZnJvbSAxOTIuMTY4LjExLjIxNyBwb3J0IDgwODAgdG8gJGludF9uZXQga2VlcCBzdGF0 ZQpwYXNzIGluIG9uICRleHRfaWYgaW5ldCBwcm90byB1ZHAgZnJvbSAkaW50X25ldCB0byAkc3F1 aWQgcG9ydCAzMTMwIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdWRw IGZyb20gJGludF9uZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9ydCAzMTMwIGtlZXAgc3RhdGUKcGFz cyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdWRwIGZyb20gJGludF9uZXQgdG8gMTkyLjE2OC4x MS4yMTcgcG9ydCAzMTMwIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8g dWRwIGZyb20gJGV4dGVybl9uZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9ydCAzMTMwIGtlZXAgc3Rh dGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdWRwIGZyb20gJHRlcl9uZXQgdG8gJGV4 dGVybmFsX2FkZHIgcG9ydCAzMTMwIGtlZXAgc3RhdGUKcGFzcyBvdXQgb24gJGV4dF9pZiBpbmV0 IHByb3RvIHVkcCBmcm9tICRzcXVpZCBwb3J0IDMxMzAgdG8gJGludF9uZXQga2VlcCBzdGF0ZQpw YXNzIG91dCBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdWRwIGZyb20gJGV4dGVybmFsX2FkZHIgcG9y dCAzMTMwIHRvICRpbnRfbmV0IGtlZXAgc3RhdGUKcGFzcyBvdXQgb24gJGV4dF9pZiBpbmV0IHBy b3RvIHVkcCBmcm9tIDE5Mi4xNjguMTEuMjE3IHBvcnQgMzEzMCB0byAkaW50X25ldCBrZWVwIHN0 YXRlCnBhc3Mgb3V0IG9uICRleHRfaWYgaW5ldCBwcm90byB1ZHAgZnJvbSAkZXh0ZXJuYWxfYWRk ciBwb3J0IDMxMzAgdG8gJGV4dGVybl9uZXQga2VlcCBzdGF0ZQpwYXNzIG91dCBvbiAkZXh0X2lm IGluZXQgcHJvdG8gdWRwIGZyb20gJGV4dGVybmFsX2FkZHIgcG9ydCAzMTMwIHRvICR0ZXJfbmV0 IGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIGluZXQgcHJvdG8gdWRwIGZyb20gJGludF9u ZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9ydCAxMjMga2VlcCBzdGF0ZQpwYXNzIGluIG9uICRleHRf aWYgaW5ldCBwcm90byB1ZHAgZnJvbSAkZXh0ZXJuX25ldCB0byAkZXh0ZXJuYWxfYWRkciBwb3J0 IDEyMyBrZWVwIHN0YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHVkcCBmcm9tICR0 ZXJfbmV0IHRvICRleHRlcm5hbF9hZGRyIHBvcnQgMTIzIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAk ZXh0X2lmIGluZXQgcHJvdG8gdGNwIGZyb20gJGludF9uZXQgdG8gJGV4dGVybmFsX2FkZHIgcG9y dCA1OTk5IGtlZXAgc3RhdGUKcGFzcyBvdXQgb24gJGV4dF9pZiBpbmV0IHByb3RvIHRjcCBmcm9t ICRleHRlcm5hbF9hZGRyIHBvcnQgNTk5OSB0byAkaW50X25ldCBrZWVwIHN0YXRlCnBhc3Mgb3V0 IG9uICRleHRfaWYgaW5ldCBwcm90byBpY21wIGFsbCBpY21wLXR5cGUgZWNob3JlcSBrZWVwIHN0 YXRlCnBhc3MgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIGljbXAgYWxsIGljbXAtdHlwZSBlY2hv cmVxIGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjgu MTEuMSkgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTQgcG9ydCAxMDAw IGtlZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEu MSkgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTQgcG9ydCAxMTk0IGtl ZXAgc3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkg aW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTQgcG9ydCA2MjYyIGtlZXAg c3RhdGUKcGFzcyBpbiBvbiAkZXh0X2lmIHJlcGx5LXRvIChiY2UwIDE5Mi4xNjguMTEuMSkgaW5l dCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gMTkyLjE2OC4xMS4yNTEgcG9ydCA2MjYyIGtlZXAgc3Rh dGUKCmJsb2NrIGluIG9uICRleHRfaWYgaW5ldCBwcm90byB0Y3AgZnJvbSA8YmFkX2hvc3RzPiB0 byBhbnkKYmxvY2sgaW4gb24gJGV4dF9pZiBpbmV0IHByb3RvIHVkcCBmcm9tIDxiYWRfaG9zdHM+ IHRvIGFueQoKYmxvY2sgb3V0IG9uIGJjZTAgaW5ldCBwcm90byB0Y3AgZnJvbSBhbnkgdG8gPGJh ZF9ob3N0cz4KYmxvY2sgb3V0IG9uIGJjZTAgaW5ldCBwcm90byB1ZHAgZnJvbSBhbnkgdG8gPGJh ZF9ob3N0cz4KCg== --=-=-=--