Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126480 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 2ED871A00BC for ; Sun, 23 Feb 2025 17:30:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1740331666; bh=fkb9By/i4h9R3SeT49kRFc9nK0h8VmEI+uUQbV73txM=; h=Date:To:From:Cc:Subject:In-Reply-To:References:From; b=GY3pmY8mZTxdCZUTmLUBACXMXYycKXk7cEz/Ml5/SY2l80gO9SHwF23t8F5O2GfzL ZBpYatXjFCMuL4q39QmHoqsqc1ZHmrcALKenKSXQONS8cr4efJIrHPWRQelpousC6p u/Xvc4xVbLQkzORU6760QZtyewXSJvhhlfBhIoBfKAQROmrFc0poZa/sWM/GT/K1cn ZVrS8JO3X1OTC4gpuSThNJPwYp37c2SporOyH5bz/mWLdjUOewDZu9cciKk7KVrlCR Xq1MIIoZ/OdxJ6z8l3ypNoMsAkuoMnHFRyzB/2GeJpQ1dh1r8ql3fTEYZv9SKrkNlD xq9vmAx7JJHXw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 59E1C180087 for ; Sun, 23 Feb 2025 17:27:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-4323.protonmail.ch (mail-4323.protonmail.ch [185.70.43.23]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 23 Feb 2025 17:27:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gpb.moe; s=protonmail3; t=1740331820; x=1740591020; bh=fkb9By/i4h9R3SeT49kRFc9nK0h8VmEI+uUQbV73txM=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=rz7D+YdDL4bbHXDd5QqcLb1gfU1hRMPBmA4b3cvO/rSwz9bkhbChnR+higQFDhhoa H9pESEZuNXj3pb+MhRVZqnlxUiIJsSqZDg1YvONqTo3/Q0yIuyGVyQRbOY5YViH5/K IEfU/h+b7aqAY2c2l7HVUhfwWLsl3aQEzZA+izw1gu9b/MWouvaCYy4U07KHOEL8sU ZDn3R/sTgwpBfFFvB2RjalXsj4DfKKiTO0Djo0v3Lw5UcW2iip11Mwg0RLNR2R64Ai ue2bqOwKn0/qHgHgENdSLW79mwDjSuDC4o37dwGYcfiF6sNpS/06WqMX8kQ1vCrkdu Gew0WYwLAsiyw== Date: Sun, 23 Feb 2025 17:30:14 +0000 To: =?utf-8?Q?M=C3=A1t=C3=A9_Kocsis?= Cc: PHP Internals List Subject: Re: [PHP-DEV] [RFC] [Discussion] Add WHATWG compliant URL parsing API Message-ID: In-Reply-To: References: Feedback-ID: 96993444:user:proton X-Pm-Message-ID: e83fbd0fb43f5d98a908e4633b7e608521af3ed0 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_NqJyDQ2U6yKHb6D02PRqwXjmGKoFzp19R9Gszae7g" From: internals@gpb.moe ("Gina P. Banyard") --b1=_NqJyDQ2U6yKHb6D02PRqwXjmGKoFzp19R9Gszae7g Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGkgTcOhdMOpLAoKSSd2ZSByZWFkIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgUkZDIGFuZCB3 aGlsZSBJIHZlcnkgbXVjaCBsaWtlIHRoZSBSRkMsIEkgaGF2ZSBzb21lIHJlbWFya3MuCgoxLgpU aGUgcGFyYWdyYXBoIGluIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIFJGQyBpbiB0aGUgPiBSZWxl dmFudCBVUkkgc3BlY2lmaWNhdGlvbnMgPiBXSEFUV0cgVVJMIHNlY3Rpb24gc2VlbXMgdG8gYmUg aW5jb21wbGV0ZS4KCjIuCkkgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQgaG93IHRoZSBVbmluaXRp YWxpemVkVXJpRXhjZXB0aW9uIGV4Y2VwdGlvbiBjYW4gYmUgdGhyb3duPwpJcyBpdCBzb21laG93 IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhIFVSSSB3aXRob3V0IGluaXRpYWxp emluZyBpdD8KVGhpcyBzZWVtcyB1bndpc2UgaW4gZ2VuZXJhbC4KCjMuCkknbSBub3QgcmVhbGx5 IGNvbnZpbmNlZCBieSB1c2luZyB0aGUgY29uc3RydWN0b3IgdG8gYmUgYWJsZSB0byBjcmVhdGUg YSBVUkkgb2JqZWN0LgpJIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciBmb3IgaXQgdG8gYmUgcHJp dmF0ZS90aHJvd2luZyBhbmQgaGF2ZSB0d28gc3RhdGljIGNvbnN0cnVjdG9yIGBwYXJzZWAgYW5k IGB0cnlQYXJzZWAsCm1pbWlja2luZyB0aGUgQVBJIHRoYXQgZXhpc3RzIGZvciBjcmVhdGluZyBh biBpbnN0YW5jZSBvZiBhIGJhY2tlZCBlbnVtIGZyb20gYSBzY2FsYXIuCgo0LgpJIHRoaW5rIGNo YW5naW5nIHRoZSBuYW1lIG9mIHRoZSBgdG9TdHJpbmdgIG1ldGhvZCB0byBgdG9SYXdTdHJpbmdg IGJldHRlciBtYXRjaGVzIHRoZSByZXN0IG9mIHRoZSBwcm9wb3NlZCBBUEksCmFuZCBhbHNvIHJl bW92ZXMgdGhlIHF1ZXN0aW9uIGFzIHRvIHdoeSBpdCBpc24ndCB0aGUgbWFnaWMgbWV0aG9kIGBf X3RvU3RyaW5nYC4KCjUuCkkgd2lsbCBlY2hvIFRpbSdzIGNvbmNlcm5zIGFib3V0IHRoZSBub24t ZmluYWwtaXR5IG9mIHRoZSBVUkkgY2xhc3Nlcy4KVGhpcyBzZWVtcyBsaWtlIGEgcmVjaXBlIGZv ciBkaXNhc3Rlci4KSSBjYW4gX21heWJlXyBzZWUgdGhlIHVzZWZ1bG5lc3Mgb2YgZXh0ZW5kaW5n IFJmYzM5ODZcVXJpIGJ5IGEgc3ViY2xhc3MgTGRhcFxVcmksCmJ1dCBiZWluZyBhYmxlIHRvIGV4 dGVuZCB0aGUgV2hhdFdnIFVSSSBtYWtlcyBhYnNvbHV0ZWx5IG5vIHNlbnNlLgpUaGUgcG9pbnQg b2YgdGhlc2UgY2xhc3NlcyBpcyB0aGF0IGlmIHlvdSBoYXZlIGFuIGluc3RhbmNlIG9mIG9uZSBv ZiB0aGVzZSwgeW91ICprbm93KiB0aGF0IHlvdSBoYXZlIGEgdmFsaWQgVVJJLgpCZWluZyBhYmxl IHRvIHN1YmNsYXNzIGEgVVJJIGFuZCBtZXNzIHdpdGggdGhlIGBlcXVhbHNgLCBgdG9TdHJpbmdg LCBgdG9Ob3JtYWxpemVkU3RyaW5nYCBtZXRob2RzIHRocm93cyBhd2F5IGFsbCB0aGUgc2FmZXR5 IGd1YXJhbnRlZXMgcHJvdmlkZWQgYnkgKioqcG9zc2Vzc2luZyoqKiBhIFVyaSBpbnN0YW5jZS4K Ck1vcmVvdmVyLCBsaWtlIFRpbSBwcmV2aW91c2x5IG1lbnRpb25lZCwgaWYgeW91IHN1YmNsYXNz IHlvdSBuZWVkIHRvIG92ZXJyaWRlIGFsbCB0aGUgbWV0aG9kcywKYW5kIHlvdSBtaWdodCBlbmQg dXAgaW4gdGhlIHNpbWlsYXIgc2l0dWF0aW9uIHdoaWNoIGxlYWQgdG8gdGhlIHJlbW92YWwgb2Yg dGhlIGNvbW1vbiBVcmkgaW50ZXJmYWNlIGluIHRoZSBmaXJzdCBwbGFjZS4KV2hpY2ggYmFzaWNh bGx5IHN1Z2dlc3RzIGNyZWF0aW5nIGEgbmV3IFVyaSBjbGFzcyBpbnN0ZWFkIG9mIGV4dGVuZGlu ZyAqYW55d2F5Ki4KCk1ha2luZyB0aGVzZSBjbGFzc2VzIGZpbmFsIGp1c3QgcmVtb3ZlcyBhIGxv dCBvZiBlZGdlIGNhc2VzLCBzb21lIHRoYXQgSSBkb24ndCB0aGluayB3ZSBjYW4gYW50aWNpcGF0 ZSwKd2hpbGUgYWxzbyBzaW1wbGlmeWluZyBvdGhlciBhc3BlY3RzLCBsaWtlIHNlcmlhbGl6YXRp b24uCkFzIHlvdSB3b24ndCBuZWVkIHRoYXQgd2VpcmQgYF9fdXJpYCBwcm9wZXJ0eSBhbnkgbG9u Z2VyLgoKU2ltaWxhcmx5LCBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZSBXaGF0V2dFcnJvciBp cyBub3QgZmluYWwuCkV2ZW4gaWYgc3ViY2xhc3Npbmcgb2YgdGhlIFVyaSBjbGFzc2VzIGlzIGFs bG93ZWQsIGFueSBlcnJvciBpdCB3b3VsZCBoYXZlIHdvdWxkIG5vdCBiZSBhIFdoYXRXZyBvbmUs CnNvIHdoeSBzaG91bGQgeW91IGJlIGFibGUgdG8gZXh0ZW5kIGl0LgoKNi4KUGFyc2luZyBBUEkg YW5kIHdoeSBNb25hZHMgd291bGRuJ3Qgc29sdmUgdGhlIHNvZnQgZXJyb3IgY2FzZSBhbnl3YXku ClRoaXMgaXMganVzdCBhIHJlbWFyaywgYnV0IHlvdSB3b3VsZG4ndCBiZSBhYmxlIHRvIHJlYWxs eSBpbXBsZW1lbnQgYSBtb25hZCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHBhcnRpYWwgc3VjY2Vz cy4KU28gSSdtIG5vdCBzdXJlIG1lbnRpb25pbmcgdGhlIGxhY2sgb2YgbW9uYWRpYyBzdXBwb3J0 IGluIFBIUCBpcyB0aGUgYmVzdCBhcmd1bWVudCBhZ2FpbnN0IHRoZW0gZm9yIHRoaXMgUkZDLgoK QmVzdCByZWdhcmRzLAoKR2luYSBQLiBCYW55YXJkCgpPbiBGcmlkYXksIDI4IEp1bmUgMjAyNCBh dCAyMTowNiwgTcOhdMOpIEtvY3NpcyA8a29jc2lzbWF0ZTkwQGdtYWlsLmNvbT4gd3JvdGU6Cgo+ IEhpIEV2ZXJ5b25lLAo+Cj4gSSd2ZSBiZWVuIHdvcmtpbmcgb24gYSBuZXcgUkZDIGZvciBhIHdo aWxlIG5vdywgYW5kIHRpbWUgaGFzIGNvbWUgdG8gcHJlc2VudCBpdCB0byBhIHdpZGVyIGF1ZGll bmNlLgo+Cj4gTGFzdCB5ZWFyLCBJIGxlYXJudCB0aGF0IFBIUCBkb2Vzbid0IGhhdmUgYnVpbHQt aW4gc3VwcG9ydCBmb3IgcGFyc2luZyBVUkxzIGFjY29yZGluZyB0byBhbnkgd2VsbCBlc3RhYmxp c2hlZCBzdGFuZGFyZHMgKFJGQyAxNzM4IG9yIHRoZSBXSEFUV0cgVVJMIGxpdmluZyBzdGFuZGFy ZCksIHNpbmNlIHRoZSBwYXJzZV91cmwoKSBmdW5jdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIHBlcmZv cm1hbmNlIGluc3RlYWQgb2YgY29ycmVjdG5lc3MuCj4KPiBJbiBvcmRlciB0byBpbXByb3ZlIGNv bXBhdGliaWxpdHkgd2l0aCBleHRlcm5hbCB0b29scyBjb25zdW1pbmcgVVJMcyAobGlrZSBicm93 c2VycyksIG15IG5ldyBSRkMgd291bGQgYWRkIGEgV0hBVFdHIGNvbXBsaWFudCBVUkwgcGFyc2Vy IGZ1bmN0aW9uYWxpdHkgdG8gdGhlIHN0YW5kYXJkIGxpYnJhcnkuIFRoZSBBUEkgaXRzZWxmIGlz IG5vdCBmaW5hbCBieSBhbnkgbWVhbnMsIHRoZSBSRkMgb25seSByZXByZXNlbnRzIGhvdyBJIGlt YWdpbmVkIGl0IGZpcnN0Lgo+Cj4gWW91IGNhbiBmaW5kIHRoZSBSRkMgYXQgdGhlIGZvbGxvd2lu ZyBsaW5rOiBodHRwczovL3dpa2kucGhwLm5ldC9yZmMvdXJsX3BhcnNpbmdfYXBpCj4KPiBSZWdh cmRzLAo+IE3DoXTDqQ== --b1=_NqJyDQ2U6yKHb6D02PRqwXjmGKoFzp19R9Gszae7g Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IaSA8c3Bhbj5Nw6F0w6ksPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+PGJyPjwvc3Bhbj48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTRweDsiPjxzcGFuPkkndmUgcmVhZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIFJGQyBh bmQgd2hpbGUgSSB2ZXJ5IG11Y2ggbGlrZSB0aGUgUkZDLCBJIGhhdmUgc29tZSByZW1hcmtzLjwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZv bnQtc2l6ZTogMTRweDsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj4xLjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTRweDsiPjxzcGFuPlRoZSBwYXJhZ3JhcGggaW4gPHNwYW4+YXQgdGhlIGJlZ2lubmlu ZyBvZiB0aGUgUkZDIGluIHRoZSAmZ3Q7IDxzcGFuPlJlbGV2YW50IFVSSSBzcGVjaWZpY2F0aW9u czwvc3Bhbj4gJmd0OyBXSEFUV0cgVVJMIHNlY3Rpb24gc2VlbXMgdG8gYmUgaW5jb21wbGV0ZS48 L3NwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjIuPC9kaXY+PGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5J IGRvbid0IHJlYWxseSB1bmRlcnN0YW5kIGhvdyB0aGUgPHNwYW4+VW5pbml0aWFsaXplZFVyaUV4 Y2VwdGlvbjwvc3Bhbj4gZXhjZXB0aW9uIGNhbiBiZSB0aHJvd24/PC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5JcyBpdCBz b21laG93IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhIFVSSSB3aXRob3V0IGlu aXRpYWxpemluZyBpdD88L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPlRoaXMgc2VlbXMgdW53aXNlIGluIGdlbmVyYWwuPC9k aXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij4zLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+SSdtIG5vdCByZWFsbHkgY29udmlu Y2VkIGJ5IHVzaW5nIHRoZSBjb25zdHJ1Y3RvciB0byBiZSBhYmxlIHRvIGNyZWF0ZSBhIFVSSSBv YmplY3QuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij5JIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRlciBmb3IgaXQgdG8gYmUg cHJpdmF0ZS90aHJvd2luZyBhbmQgaGF2ZSB0d28gc3RhdGljIGNvbnN0cnVjdG9yIGBwYXJzZWAg YW5kIGB0cnlQYXJzZWAsPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5taW1pY2tpbmcgdGhlIEFQSSB0aGF0IGV4aXN0cyBm b3IgY3JlYXRpbmcgYW4gaW5zdGFuY2Ugb2YgYSBiYWNrZWQgZW51bSBmcm9tIGEgc2NhbGFyLjwv ZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+NC48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkkgdGhpbmsgY2hhbmdpbmcgdGhl IG5hbWUgb2YgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIHRvIGB0b1Jhd1N0cmluZ2AgYmV0dGVyIG1h dGNoZXMgdGhlIHJlc3Qgb2YgdGhlIHByb3Bvc2VkIEFQSSw8L2Rpdj48ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPmFuZCBhbHNvIHJl bW92ZXMgdGhlIHF1ZXN0aW9uIGFzIHRvIHdoeSBpdCBpc24ndCB0aGUgbWFnaWMgbWV0aG9kIGBf X3RvU3RyaW5nYC48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjUuPC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5JIHdpbGwg ZWNobyBUaW0ncyBjb25jZXJucyBhYm91dCB0aGUgbm9uLWZpbmFsLWl0eSBvZiB0aGUgVVJJIGNs YXNzZXMuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij5UaGlzIHNlZW1zIGxpa2UgYSByZWNpcGUgZm9yIGRpc2FzdGVyLjwv ZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxNHB4OyI+SSBjYW4gX21heWJlXyBzZWUgdGhlIHVzZWZ1bG5lc3Mgb2YgZXh0ZW5kaW5nIDxz cGFuPlJmYzM5ODY8L3NwYW4+XFVyaSBieSBhIHN1YmNsYXNzIExkYXBcVXJpLDwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+ YnV0IGJlaW5nIGFibGUgdG8gZXh0ZW5kIHRoZSBXaGF0V2cgVVJJIG1ha2VzIGFic29sdXRlbHkg bm8gc2Vuc2UuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHg7Ij5UaGUgcG9pbnQgb2YgdGhlc2UgY2xhc3NlcyBpcyB0aGF0IGlm IHlvdSBoYXZlIGFuIGluc3RhbmNlIG9mIG9uZSBvZiB0aGVzZSwgeW91ICprbm93KiB0aGF0IHlv dSBoYXZlIGEgdmFsaWQgVVJJLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+QmVpbmcgYWJsZSB0byBzdWJjbGFzcyBhIFVS SSBhbmQgbWVzcyB3aXRoIHRoZSBgZXF1YWxzYCwgYHRvU3RyaW5nYCwgYHRvTm9ybWFsaXplZFN0 cmluZ2AgbWV0aG9kcyB0aHJvd3MgYXdheSBhbGwgdGhlIHNhZmV0eSBndWFyYW50ZWVzIHByb3Zp ZGVkIGJ5ICoqKnBvc3Nlc3NpbmcqKiogYSBVcmkgaW5zdGFuY2UuPC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9k aXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDE0cHg7Ij5Nb3Jlb3ZlciwgbGlrZSBUaW0gcHJldmlvdXNseSBtZW50aW9uZWQsIGlmIHlvdSBz dWJjbGFzcyB5b3UgbmVlZCB0byBvdmVycmlkZSBhbGwgdGhlIG1ldGhvZHMsPC9kaXY+PGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5h bmQgeW91IG1pZ2h0IGVuZCB1cCBpbiB0aGUgc2ltaWxhciBzaXR1YXRpb24gd2hpY2ggbGVhZCB0 byB0aGUgcmVtb3ZhbCBvZiB0aGUgY29tbW9uIFVyaSBpbnRlcmZhY2UgaW4gdGhlIGZpcnN0IHBs YWNlLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4OyI+V2hpY2ggYmFzaWNhbGx5IHN1Z2dlc3RzIGNyZWF0aW5nIGEgbmV3IFVy aSBjbGFzcyBpbnN0ZWFkIG9mIGV4dGVuZGluZyAqYW55d2F5Ki48L2Rpdj48ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rp dj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTRweDsiPk1ha2luZyB0aGVzZSBjbGFzc2VzIGZpbmFsIGp1c3QgcmVtb3ZlcyBhIGxvdCBvZiBl ZGdlIGNhc2VzLCBzb21lIHRoYXQgSSBkb24ndCB0aGluayB3ZSBjYW4gYW50aWNpcGF0ZSw8L2Rp dj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTRweDsiPndoaWxlIGFsc28gc2ltcGxpZnlpbmcgb3RoZXIgYXNwZWN0cywgbGlrZSBzZXJpYWxp emF0aW9uLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyI+QXMgeW91IHdvbid0IG5lZWQgdGhhdCB3ZWlyZCBgX191cmlgIHBy b3BlcnR5IGFueSBsb25nZXIuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5TaW1pbGFybHksIEkg ZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhlIDxzcGFuPldoYXRXZ0Vycm9yPC9zcGFuPiBpcyBub3Qg ZmluYWwuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij5FdmVuIGlmIHN1YmNsYXNzaW5nIG9mIHRoZSBVcmkgY2xhc3NlcyBp cyBhbGxvd2VkLCBhbnkgZXJyb3IgaXQgd291bGQgaGF2ZSB3b3VsZCBub3QgYmUgYSBXaGF0V2cg b25lLDwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4OyI+c28gd2h5IHNob3VsZCB5b3UgYmUgYWJsZSB0byBleHRlbmQgaXQuPC9k aXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij42LjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+UGFyc2luZyBBUEkgYW5kIHdoeSBN b25hZHMgd291bGRuJ3Qgc29sdmUgdGhlIHNvZnQgZXJyb3IgY2FzZSBhbnl3YXkuPC9kaXY+PGRp diBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7 Ij5UaGlzIGlzIGp1c3QgYSByZW1hcmssIGJ1dCB5b3Ugd291bGRuJ3QgYmUgYWJsZSB0byByZWFs bHkgaW1wbGVtZW50IGEgbW9uYWQgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCBwYXJ0aWFsIHN1Y2Nl c3MuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250 LXNpemU6IDE0cHg7Ij5TbyBJJ20gbm90IHN1cmUgbWVudGlvbmluZyB0aGUgbGFjayBvZiBtb25h ZGljIHN1cHBvcnQgaW4gUEhQIGlzIHRoZSBiZXN0IGFyZ3VtZW50IGFnYWluc3QgdGhlbSBmb3Ig dGhpcyBSRkMuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFy aWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9k aXY+DQo8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+DQogICAgPGRpdiBj bGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQogICAgICAgIDxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xv cjogcmdiKDAsIDAsIDApOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsIHNhbnMtc2VyaWY7Ij5CZXN0IHJlZ2Fy ZHMsPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNrZ3JvdW5kLWNvbG9y OiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZjsiPkdpbmEgUC4gQmFueWFyZDwvc3Bhbj48YnI+ PC9kaXY+DQogICAgPC9kaXY+DQogICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25t YWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1w dHkiPg0KICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rp dj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIj4NCiAgICAgICAgT24gRnJpZGF5LCAyOCBK dW5lIDIwMjQgYXQgMjE6MDYsIE3DoXTDqSBLb2NzaXMgJmx0O2tvY3Npc21hdGU5MEBnbWFpbC5j b20mZ3Q7IHdyb3RlOjxicj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9InByb3Rvbm1haWxf cXVvdGUiIHR5cGU9ImNpdGUiPg0KICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciI+SGkgRXZlcnlv bmUsPGRpdj48YnI+PC9kaXY+PGRpdj5JJ3ZlIGJlZW4gd29ya2luZyBvbiBhIG5ldyBSRkMgZm9y IGEgd2hpbGUgbm93LCBhbmQgdGltZSBoYXMgY29tZSB0byBwcmVzZW50IGl0IHRvIGEgd2lkZXIg YXVkaWVuY2UuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5MYXN0IHllYXIsIEkgbGVhcm50IHRo YXQgUEhQIGRvZXNuJ3QgaGF2ZSBidWlsdC1pbiBzdXBwb3J0IGZvciBwYXJzaW5nIFVSTHMgYWNj b3JkaW5nIHRvIGFueSB3ZWxsIGVzdGFibGlzaGVkIHN0YW5kYXJkcyAoUkZDIDE3Mzggb3IgdGhl IFdIQVRXRyBVUkwgbGl2aW5nIHN0YW5kYXJkKSwgc2luY2UgdGhlIHBhcnNlX3VybCgpIGZ1bmN0 aW9uIGlzIG9wdGltaXplZCBmb3IgcGVyZm9ybWFuY2UgaW5zdGVhZCBvZiBjb3JyZWN0bmVzcy48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkluIG9yZGVyIHRvIGltcHJvdmUgY29tcGF0aWJpbGl0 eSB3aXRoIGV4dGVybmFsIHRvb2xzIGNvbnN1bWluZyBVUkxzIChsaWtlIGJyb3dzZXJzKSwgbXkg bmV3IFJGQyB3b3VsZCBhZGQgYSBXSEFUV0cgY29tcGxpYW50IFVSTCBwYXJzZXIgZnVuY3Rpb25h bGl0eSB0byB0aGUgc3RhbmRhcmQgbGlicmFyeS4gVGhlIEFQSSBpdHNlbGYgaXMgbm90IGZpbmFs IGJ5IGFueSBtZWFucywgdGhlIFJGQyBvbmx5IHJlcHJlc2VudHMgaG93IEkgaW1hZ2luZWQgaXQg Zmlyc3QuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Zb3UgY2FuIGZpbmQgdGhlIFJGQyBhdCB0 aGUgZm9sbG93aW5nIGxpbms6IDxhIGhyZWY9Imh0dHBzOi8vd2lraS5waHAubmV0L3JmYy91cmxf cGFyc2luZ19hcGkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9v cGVuZXIiPmh0dHBzOi8vd2lraS5waHAubmV0L3JmYy91cmxfcGFyc2luZ19hcGk8L2E+PC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj5SZWdhcmRzLDwvZGl2PjxkaXY+TcOhdMOpPC9kaXY+PGRpdj48 YnI+PC9kaXY+PC9kaXY+DQoNCiAgICAgICAgPC9ibG9ja3F1b3RlPjxicj4NCiAgICA8L2Rpdj4= --b1=_NqJyDQ2U6yKHb6D02PRqwXjmGKoFzp19R9Gszae7g--