From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/112274 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Hans Hagen via ntg-context Newsgroups: gmane.comp.tex.context Subject: Re: Multimedia, PDF and ConTeXt Date: Tue, 27 Jul 2021 08:54:54 +0200 Message-ID: <3aa47345-47be-99a5-efd7-9d37f2b30f9a@xs4all.nl> References: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1437"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 Cc: Hans Hagen To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Tue Jul 27 08:55:29 2021 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m8Gzx-0000D5-OH for gctc-ntg-context-518@m.gmane-mx.org; Tue, 27 Jul 2021 08:55:29 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 60D31285D51; Tue, 27 Jul 2021 08:55:02 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fzPURFCKaqq9; Tue, 27 Jul 2021 08:55:00 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 2092C286000; Tue, 27 Jul 2021 08:55:00 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 8715C286000 for ; Tue, 27 Jul 2021 08:54:58 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zXhzEIdoUcNq for ; Tue, 27 Jul 2021 08:54:56 +0200 (CEST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=194.109.24.28; helo=lb2-smtp-cloud7.xs4all.net; envelope-from=j.hagen@xs4all.nl; receiver= Original-Received: from lb2-smtp-cloud7.xs4all.net (lb2-smtp-cloud7.xs4all.net [194.109.24.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id D1BA7285D51 for ; Tue, 27 Jul 2021 08:54:56 +0200 (CEST) Original-Received: from cust-a169be40 ([IPv6:fc0c:c118:7078:83cd:b49d:5a87:2838:627c]) by smtp-cloud7.xs4all.net with ESMTPSA id 8GzPmmqX9W9Qy8GzQm1hK3; Tue, 27 Jul 2021 08:54:56 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1627368896; bh=TnpBB80Y7nT/VyLa/0iNhX+0+Y8MsvSrQ0a0JnVwbzM=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=YSl3y/hrG3PnI7cu1HvYYCnfgs4aIXB5RdQ0UP6qFGrJ/CNPtwMOLW9Sesk3liGoN YWvXm0nGZqrZJK55Xw83V5HUoqR5twS4O5kyxOZHCw0XVIh1Lwe8g+gGDvwHXnNbwo fQ+e6MyftgL+RwX5DUdE8Y8zpPZjnvrt88UPDGsOz+5JJ4EJKH3FcbePi0Qi8NXMJg yUblolBmxiTS0v6f7kdaE3KRaB+5/Z/Z4CpaRrCYb75RoUvcEbaoiLi0+Scjw9EsMd vf+fIBJ4kbyLFs4b9CbGdlreDrDxaHBbfpVob2dQfUGjprO7Z/lxJCpJ02gKEqVucv uen2verAwh8bA== In-Reply-To: Content-Language: en-US X-CMAE-Envelope: MS4xfJURjPPEyXcLXrJEls6bn0cA0oB9SjbItSY20k+VoBv9jXuAB6o/ymvhxj2mv+vPJ3GdAu7fmoWzxBLBUafc5q2FFkz5B5HiWyIhvrenqIVVxSflhvbc uKY81Lw3SZFGzXCR9+evv0+oEZOwqhYQVITTMh7XdiIMXbDxAEiC4jvdj9h/ykuFGkYOPke79MMTgT1ylsNR0KOkuiuoy2Z+SCM= X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:112274 Archived-At: T24gNy8yNy8yMDIxIDEyOjQ5IEFNLCBNaWNoYWwgVmxhc8OhayB2aWEgbnRnLWNvbnRleHQgd3Jv dGU6Cgo+IFRoZSB2aWV3ZXJzIEkgdGVzdGVkIHdlcmU6IEFjcm9iYXQgUmVhZGVyIERDLCBGb3hp dCBSZWFkZXIsIFN1bWF0cmEgUERGCj4gb24gV2luZG93cyBhbmQgRXZpbmNlLCBPa3VsYXIsIFhw ZGYsIE11UERGLCBGaXJlZm94IGFuZCBHb29nbGUgQ2hyb21lIG9uCj4gTGludXguCgphbHNvIGFk ZCB0aGUgbmV3IGVkZ2Ugb24gd2luZG93cyAuLiB0aGVyZSBhcmUgc3VidGxlIGRpZmZlcmVuY2Vz IGluIAppbnRlcmZhY2VzOyBhbHRob3VnaCBpdCBkb2Vzbid0IGZpdCBpbnRvIHRoaXMgdG9waWMs IHByaW50aW5nIGlzIGFsc28gCnNvbWV0aGlnbiB0byBwYXkgYXR0ZW50aW9uIHRvOyBicm93c2Vy IGJhc2VkIHBkZidzIGNhbiBjcmFzaCAobWVtIApjb25zdW1wdGlvbiksIHRoZSBzb21ldGltZXMg cHJlc2VudCBkb3VibGVzaWRlIGRpcmVjdGl2ZSBjYW4gYWxzbyAKY29uZnVzZSB2aWV3ZXJzCgp3 aGVuIGl0IGNvbWVzIHRvIGNoZWNraW5nIHlvdSBuZWVkIHRvIGtlZXAgaW4gbWluZCB0aGF0IHNv bWUgcmVhZGVycyAKc3RhcnQgdG9wLWRvd24gKGNvbGxlY3Qgb2JqZWN0cyksIG90aGVycyBib3R0 b20gdXAgKHhyZWYpLCBzb21lIHVzZSBhIAptaXgsIHNvbWUgYXBwbHkgaGV1cmlzdGljcyAoaXJy IHhwZGYgZGlkIHNvbWV0aGluZyB3aXRoIHQxIGZvbnRzIHRoYXQgCm1hZGUgY3V0L3Bhc3RlIGFu IGlzc3VlKSwgc29tZSBhcmUgdG9sZXJhbnQsIG90aGVycyBtb3JlIHN0cmljdCwgCnRyZWF0bWVu dCBvZiB1cGRhdGVzIG9iamVjdHMgY2FuIGRpZmZlciwgYnV0IG5vdCBhbHdheXMgY29uc2lzdGVu dCAuLi4gCnNvLCB0aGF0IGFsc28gbWFrZXMgdGVzdGluZyBhbm5vdGF0aW9ucyBhIHByb2JsZW0K CnRoZSBjb21tYW5kIGxpbmUgcHJvZ3JhbSBxcGRmIGlzIG9uZSBvZiB0aGUgYmVzdCBwcm9ncmFt cyB0byBjaGVjayAod2hlbiAKbHVpZ2kgc2FuZCBpIHdlcmUgY2hlY2tpbmcgbHVhdGV4IHBkZiBp c3N1ZXMgd2UgdXNlZCBxcGRmIGFuZCBtdXBkZiBtb3N0bHkpCgo+IE5vdyB0byB0aGUgZGlmZmVy ZW50IG1lY2hhbmlzbXM6Cj4gCj4gMSkgU291bmQgb2JqZWN0cwo+IAo+ICAgLSBGaXJzdCBhcHBl YXJlZCBpbiBQREYgMS4yICgxOTk2KSwgYnV0IGhhZCBzaW5jZSBiZWVuIGRlcHJlY2F0ZWQgKFBE Rgo+ICAgICAxLjUsIDIwMDMpIGFuZCBiZWNhbWUgdW5zdXBwb3J0ZWQgKFBERiAyLjAsIDIwMTcp Lgo+IAo+ICAgLSBPbmx5IGF1ZGlvIGlzIHN1cHBvcnRlZC4KPiAKPiAgIC0gIlJhdyIgYW5kIGlu IHByYWN0aWNlIHVuY29tcHJlc3NlZCBQQ00gYXVkaW8gY2FuIGJlIGVtYmVkZGVkIChpLmUuCj4g ICAgICIud2F2IiBmb3JtYXQgd2l0aG91dCB0aGUgbWV0YWRhdGEpLgo+ICAgICBPdGhlcndpc2Ug YW4gZXh0ZXJuYWwgZmlsZSBtYXkgYmUgdXNlZCAodGhpcyBvbmUgaGFzIHRvIGJlIGluIGEgcmVh bAo+ICAgICBhdWRpbyBmb3JtYXQgLSBsaWtlICIud2F2IiAtIGkuZS4gd2l0aCBtZXRhZGF0YSku Cj4gCj4gICAtIFVzZXJzIHVzdWFsbHkgZG9uJ3QgaGF2ZSByYXcgYXVkaW8uIFNvIGVtYmVkZGlu ZyByZXF1aXJlcwo+ICAgICBwcmVwcm9jZXNzaW5nLiBTb21lIGNvbnRyb2wgdXNpbmcgUERGIGFj dGlvbnMgaXMgcG9zc2libGUuCj4gCj4gICAtIE5vdCBzdXBwb3J0ZWQgaW4gQ29uVGVYdC4KPiAg IC0gTm9uZSBvZiB0aGUgdmlld2VycyBzdXBwb3J0cyB0aGUgZXh0ZXJuYWwgZmlsZXMuIE9ubHkg QWNyb2JhdCBSZWFkZXIKPiAgICAgc3VwcG9ydHMgdGhlIGVtYmVkZGVkIHJhdyBhdWRpby4KCmFt YXppbmcgcmlnaHQ/IGFsbCB0aGF0IHRhbGsgb2YgYWNjZXNzaWJpbGl0eSBhbmQgbm8gcHJvcGVy IGVhc3kgYXVkaW8gCnN1cHBvcnQKCj4gMikgTW92aWUgb2JqZWN0cwo+IAo+ICAgLSBGaXJzdCBh cHBlYXJlZCBpbiBQREYgMS4yICgxOTk2KSwgYnV0IGhhZCBzaW5jZSBiZWVuIGRlcHJlY2F0ZWQg KFBERgo+ICAgICAxLjUsIDIwMDMpIGFuZCBiZWNhbWUgdW5zdXBwb3J0ZWQgKFBERiAyLjAsIDIw MTcpLgo+IAo+ICAgLSBCb3RoIHZpZGVvIGFuZCBhdWRpbyBpcyBzdXBwb3J0ZWQuCj4gCj4gICAt IEFueSBzb3VyY2UgKGVtYmVkZGVkLCBleHRlcm5hbCBhbmQgVVJMIGZpbGUpLgo+IAo+ICAgLSBJ biBhbGwgcmVnYXJkcyBzdXBlcmlvciB0byBzb3VuZCBvYmplY3RzLiBJcyBzdGlsbCByZWxhdGl2 ZWx5IHNpbXBsZQo+ICAgICBhbmQgYWxsb3dzIHNvbWUgY3VzdG9taXphdGlvbiBhbmQgY29udHJv bCAobWVkaWEgcGxheWVyIGNvbnRyb2xzLCBQREYKPiAgICAgYWN0aW9ucykuCj4gCj4gICAtIFRo aXMgaXMgdGhlIGJhY2tpbmcgbWVjaGFuaXNtIGZvciBpbmNsdWRpbmcgdmlkZW8gYW5kIGF1ZGlv IGluCj4gICAgIENvblRlWHQgKFxleHRlcm5hbGZpZ3VyZSwgXHVzZWV4dGVybmFsc291bmR0cmFj aykuCj4gCj4gICAtIFN1cHBvcnRlZCBvbmx5IGluIEV2aW5jZSBhbmQgT2t1bGFyICh3aXRoIHRo ZWlyIHVzdWFsIHF1aXJrcywgc2VlCj4gICAgIGJlbG93KS4gTm90YWJseSBBY3JvYmF0IFJlYWRl ciBkb2VzIG5vIGxvbmdlciBzdXBwb3J0IHRoaXMgbWVjaGFuaXNtLgoKdGhpcyBhbGwgYmVjYW1l IGFuIGlzc3VlIHdoZW4gdGhleSBkcm9wcGVkIHRoZSBxdWlja3RpbWUgcGx1Z2luIAoocHJvYmFi bHkgYWxzbyByZWxhdGVzIHRvIHRoZSB1c3VhbCBiaWcgY29tcGFuaWVzIGNvbXBldGluZyBwb2xp dGljcykKCj4gMykgTXVsdGltZWRpYSAoIlJlbmRpdGlvbnMiKQo+IAo+ICAgLSBGaXJzdCBhcHBl YXJlZCBpbiBQREYgMS41ICgyMDAzKS4gQWRvYmUgQWNyb2JhdCBjb25zaWRlcnMgdGhlbQo+ICAg ICAibGVnYWN5Ii4KPiAKPiAgIC0gQm90aCB2aWRlbyBhbmQgYXVkaW8gc3VwcG9ydGVkIChhcyB3 ZWxsIGFzIG90aGVyIHVuc3BlY2lmaWVkIHR5cGVzIG9mCj4gICAgIG11bHRpbWVkaWEsIGxpa2Ug aW1hZ2VzIGFuZCBGbGFzaCwgYnV0IG5vdCByZWFsbHksIHNlZSBiZWxvdykuCj4gCj4gICAtIElu IHRoZW9yeSBhbGwgc291cmNlIHR5cGVzIHNob3VsZCBiZSBwb3NzaWJsZS4KPiAKPiAgIC0gVGhp cyBtZWNoYW5pc20gd2FzIHN1cHBvc2VkIHRvIHJlcGxhY2Ugc291bmQgYW5kIG1vdmllIG9iamVj dHMuIEhlbmNlCj4gICAgIHRoZWlyIGRlcHJlY2F0aW9uLiBUaGUgbWVjaGFuaXNtIGlzIGNvbXBs ZXggKHRoZSBzcGVjIGlzIDEwIHRpbWVzCj4gICAgIGxvbmdlciB0aGFuIHRoYXQgZm9yIG1vdmll IG9iamVjdHMpLiBJdCBleHBlY3RzIHRoZSBQREYgdmlld2VycyB0bwo+ICAgICB3b3JrIHdpdGgg cGx1Z2lucyBhbmQgaW50cm9kdWNlcyB3YXlzIGZvciBkZXRlcm1pbmluZyBpZiBhIG1lZGlhIGZp bGUKPiAgICAgaXMgcmVhbGx5IHBsYXlhYmxlIGluIHNvbWUgcGx1Z2luLiBJdCBpcyBhbGxvd2Vk IHRvIGV2ZW4gaW5jbHVkZQo+ICAgICBtb3JlIG1lZGlhIGZpbGVzICh0byBzZXJ2ZSBhcyBmYWxs YmFjayBzaG91bGQgdGhlIHByaW1hcnkgb25lIGJlCj4gICAgIHVuc3VwcG9ydGVkIGJ5IHRoZSB2 aWV3ZXIpLiBPdGhlciBjb21wbGV4aXR5IGlzIHRoYXQgdGhlIGNvbmNlcHQgb2YKPiAgICAgdGhl IHJlY3RhbmdsZSB3aGVyZSB0aGUgbWVkaWEgd2lsbCBiZSBwbGF5ZWQgKCJzY3JlZW4iKSBpcyBz ZXBhcmF0ZWQKPiAgICAgZnJvbSB0aGUgbWVkaWEgaXRzZWxmICgicmVuZGl0aW9uIikuIEluIHRo ZW9yeSB0aGlzIGFsbG93cyBtaXhpbmcgYW5kCj4gICAgIG1hdGNoaW5nIHRoZW0sIGJ1dCBpbiBw cmFjdGljZSBpcyBhIGxvdCBvZiB1bm5lY2Vzc2FyeSBjb21wbGV4aXR5LCBhdAo+ICAgICBsZWFz dCBpbiBteSBvcGluaW9uLgoKSSBmdWxseSBhZ3JlZS4gQXMgd2l0aCBtYW55IG9mIHRoZXNlIGFu bm90YXRpb24gcGRmIHRoaW5ncyBpdCdzIHByb2JhYmx5IApyZXZlcnNlZCBlbmdlbmVlcmVkIGZy b20gc29tZSBhcHBsaWNhdGlvbiBvciBwbHVnaW4sIG5vdCB0aGUgcmVzdWx0IG9mIApjbGVhciBk ZXNpZ24uIEl0IGFsc28gZXZvbHZlcyB3aGVuIHRoZXJlIGlzIG5vIHdheSB0byBnZW5lcmF0ZSBp dCAodGV4IAppcyBvZnRlbiBvbmUgb2YgdGhlIGZpcnN0IHRvIGRvIHRoYXQgYW5kIHRoZW4gd2Ug cnVuIGludG8gc3BlY3Mgbm90IApmaXR0aW5nIHJlYWxpdHkpLiBLaW5kIG9mIG1ha2luZyBlcXVp cG1lbnQgdGhhdCBzaG91bGQgd29yayBvbiBtYXJzIGFuZCAKdGVzdCBpdCBvbiBlYXJ0aCAoaWYg YXQgYWxsKS4KCj4gICAgIFRoaXMgbWVjaGFuaXNtIGFsbG93cyBtdWx0aW1lZGlhIHBsYXllciBj b250cm9scywgYXMgd2VsbCBhcyBQREYKPiAgICAgYWN0aW9ucy4gVGhlIFBERiBhY3Rpb24gY2Fu IGJlIGVpdGhlciBvbmUgb2YgdGhlIHByZWRlZmluZWQgb25lcyBvcgo+ICAgICBlbnRpcmVseSBz cGVjaWZpZWQgaW4gSmF2YVNjcmlwdCAoZXh0cmEgQVBJIGlzIGF2YWlsYWJsZSBmb3IgdGhpcyku CgpicmluZ3MgdXMgdG8gamF2YXNjcmlwdCAuLi4gaXQgd291bGQgYmUgaW50ZXJlc3RpbmcgdG8g aGF2ZSB0aGUgJ21pbmltYWwgCnVzZWZ1bCcgc2V0IG9mIHN1cHBvcnQgbmVlZGVkOyBtdXBkZiBo YXMgamF2YXNjcmlwdCBidXQgbnRvIHJlYWxhbHkgZm9yIAphbm5vdGF0aW9ucyAoZm9yIGluc3Rh bmNlIHRoZSBhYmlsaXR5IHRvIGNvbnRyb2wgbGF5ZXJzIGFuZCB3aWRnZXQgCnN0YXRlcyB3b3Vs ZCBiZSBuaWNlIC4uLiBpdCdzIHRyaXZpYWwgdG8gcHJvZ3JhbSBpbiB2aWV3ZXJzIGkgYmV0KQoK PiAgIC0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIGJlaGluZCBcdXNlZXh0ZXJuYWxyZW5kZXJpbmcu IFRoaXMgaGFzIGJlZW4KPiAgICAgdXNlZCBmb3IgRmxhc2ggKC5zd2YgZmlsZXMpIGFuZCAibWFu dWFsIiBhdWRpbyArIHZpZGVvIGluc2VydGlvbiBhcwo+ICAgICBmYXIgYXMgSSBjYW4gdGVsbC4K PiAKPiAgIC0gRXZpbmNlIGFuZCBPa3VsYXIgc3VwcG9ydCB0aGlzICh3aXRoIHVzdWFsIHF1aXJr cyksIGJ1dCBub3QgZm9yCj4gICAgIGV4dGVybmFsIGZpbGVzIChFdmluY2Ugc2VnZmF1bHRzKS4g QWNyb2JhdCBhbmQgRm94aXQgc3VwcG9ydCB0aGlzCj4gICAgIG1lY2hhbmlzbSBhcyB3ZWxsLCBi dXQgQWNyb2JhdCBvbmx5IGFsbG93cyBlbWJlZGRlZCBmaWxlcy4gT2t1bGFyIGJ5Cj4gICAgIG1p c3Rha2UgYXV0by1wbGF5cyBhbGwgbWVkaWEgWzFdLgoKaG0sIHNvdW5kcyBiYWQKCj4gNCkgM0Qg YXJ0Cj4gCj4gICAtIEZpcnN0IGFwcGVhcmVkIGluIFBERiAxLjYgKDIwMDQpLgo+IAo+ICAgLSBP bmx5IDNEIGZpbGVzIHN1cHBvcnRlZC4gVGhpcyBtZWFucyBVM0QgYW5kIGxhdGVyIFBSQyBmaWxl cy4gVGhlIDNECj4gICAgIG9iamVjdHMgZGVzY3JpYmVkIGluIHRoZSBmaWxlcyBhcmUgc2hvd24g aW4gYSBzY2VuZSB3aG9zZSBwYXJhbWV0ZXJzCj4gICAgIChsaWtlIGNhbWVyYSBwb3NpdGlvbiwg YW5nbGUsIGJhY2tncm91bmQgY29sb3IsIGV0Yy4pIGNhbiBiZQo+ICAgICBjb25maWd1cmVkLgo+ IAo+ICAgLSBUaGUgc291cmNlIGlzIG5vdCBhIGZpbGUsIGJ1dCBhICJQREYgc3RyZWFtIiAod2hp Y2ggaXMgZXNzZW50aWFsbHkKPiAgICAgZW1iZWRkZWQgZmlsZSB3aXRoIGRpZmZlcmVudCBtZXRh ZGF0YSwgYnV0IGFsbG93cyBhbHNvICJleHRlcm5hbAo+ICAgICBmaWxlcyIgdG8gY29udGFpbiB0 aGUgc3RyZWFtIGRhdGEpLgo+IAo+ICAgLSBUaGUgM0QgZnVuY3Rpb25hbGl0eSBpcyBuaWNlLiBJ dCBhbGxvd3MgZ3JlYXQgYW1vdW50IG9mIGludGVyYWN0aXZpdHkKPiAgICAgKHBsYXlpbmcgd2l0 aCB0aGUgY2FtZXJhLCBzZWxlY3RpdmVseSBkaXNhYmxpbmcgM0Qgb2JqZWN0cywgZXRjLikgYW5k Cj4gICAgIGFsc28gc2NyaXB0YWJpbGl0eSAoc3dpdGNoaW5nIGJldHdlZW4gcHJlZGVmaW5lZCAi dmlld3MiIHdpdGggUERGCj4gICAgIGFjdGlvbnMgYW5kIGEgX2xvdF8gb2YgcG9zc2liaWxpdGll cyB3aXRoIEphdmFTY3JpcHQgc2NyaXB0cykuCj4gCj4gICAtIFRoaXMgaXMgdGhlIG1lY2hhbmlz bSB1c2VkIGZvciB1M2QgYW5kIHByYyBmaWxlcyBpbiB0aGUgQ29uVGVYdAo+ICAgICAiZmlndXJl IiBtZWNoYW5pc20gKFxleHRlcm5hbGZpZ3VyZSkuCj4gCj4gICAtIEFwYXJ0IGZyb20gdGhlIGV4 dGVybmFsIHN0cmVhbXMgKHNlZSBhYm92ZSkgZXZlcnl0aGluZyB3b3JrcyBpbiBBZG9iZQo+ICAg ICBBY3JvYmF0LiBGb3hpdCBSZWFkZXIgYWxzbyBoYXMgc3VwcG9ydCwgYnV0IGl0IGlzIGxpbWl0 ZWQgKG5vCj4gICAgIHN1cHBvcnQgZm9yIEphdmFTY3JpcHQgYW5kIHByaW50aW5nKS4KCldhc24n dCB0aGF0IGRyaXZlbiBieSBhcHBzIGxpa2UgYXV0b2NhZD8gSXMgVTNEIGtpbmQgb2YgYSBzdGFu ZGFyZCB0aGF0IAp3aWxsIHN0YXk/Cgo+IAo+IDUpIFJpY2ggTWVkaWEKPiAKPiAgIC0gRmlyc3Qg YXBwZWFyZWQgaW4gQWRvYmUgZXh0ZW5zaW9uIGxldmVsIDMgdG8gUERGIDEuNyAoMjAwOCkuIExh dGVyCj4gICAgIGluY2x1ZGVkIGluIFBERiAyLjAgKDIwMTcpLiBJdCB3YXMgbWVhbnQgdG8gcmVw bGFjZSBib3RoIG11bHRpbWVkaWEKPiAgICAgKHJlbmRpdGlvbnMpIGFuZCAzRCBhcnQgbWVjaGFu aXNtcywgd2l0aCB1bmlmaWVkIG1lY2hhbmlzbSBiYXNlZCBvbgo+ICAgICBGbGFzaCwgdGh1cyBh bHNvIHN1cHBvcnRpbmcgYXJiaXRyYXJ5IEZsYXNoIGFwcGxpY2F0aW9ucy4KPiAKPiAgIC0gU3Vw cG9ydHMgdmlkZW8sIGF1ZGlvIGFuZCAzRC4KPiAKPiAgIC0gT25seSBlbWJlZGRlZCBmaWxlcyBh cmUgc3VwcG9ydGVkLgo+IAo+ICAgLSBXaGlsZSB0aGUgbWVjaGFuaXNtIGlzIGhlYXZpbHkgYmFz ZWQgb24gRmxhc2ggKHdoaWNoIGlzIGRlYWQsIHNpbmNlCj4gICAgIERlY2VtYmVyIDIwMjApIGl0 IGFsbG93cyBhbHNvICJwbGFpbiIgUmljaCBNZWRpYSB3aXRob3V0IEZsYXNoLgo+IAo+ICAgICBU aGUgb2xkIGlkZWEgd2FzIHRoYXQgdGhlIFBERiB2aWV3ZXIgd291bGQgc3VwcG9ydCBGbGFzaCAo YW5kIHBsYXlpbmcKPiAgICAgaXRzIHZpZGVvIGFzIHdlbGwgYXMgbXA0KSwgYnV0IHRoZSBhdWRp by92aWRlbyB3b3VsZG4ndCBiZSBwbGF5ZWQKPiAgICAgZGlyZWN0bHkgYnkgdGhlIFBERiB2aWV3 ZXIsIGJ1dCBieSBhIEZsYXNoIGFwcGxpY2F0aW9uIChlbWJlZGRlZCBpbgo+ICAgICB0aGUgUERG IGFsb25nIHdpdGggdGhlIG1lZGlhIGZpbGUpLiBUaGlzIG1lYW5zIHRoYXQgdGhlIG1lY2hhbmlz bSBoYXMKPiAgICAgaW5oZXJlbnQgY29tcGxleGl0eSB0aGF0IGlzIG5vdCBqdXN0aWZpZWQgbm93 YWRheXMgKGVzc2VudGlhbGx5IGZvdXIKPiAgICAgbGV2ZWxzIG9mIGluZGlyZWN0aW9uIGZvciBh IHBsYWluIGF1ZGlvIC8gdmlkZW8gZmlsZSkuCgp5ZXMsIGZsYXNoIGlzIGdvbmUgKG9uZSBjYW4g c2F5OiBvZiBjb3Vyc2UsIHdoeSBlbHNlIHdvdWxkIGFkb2JlIGhhcyAKYm91Z2h0IHRoZW0pIC4u IGkgdGhpbmsgaSBhbHJlYWR5IG1vdmVkIHRoZSBmaWxlcyB0byB0aGUgYXR0aWMgLi4gb25lIApo YWQgdG8gZW1iZWQgYSAnZmxhc2ggcGxheWVyJyB3aXRoIGd1aSBzdHVmZgoKPiAgICAgV2hpbGUg dGhlIHNhbWUgdGhpbmcgc2hvdWxkIGhhdmUgYmVlbiB0cnVlIGZvciAzRCBmaWxlcyBJIGNvdWxk bid0Cj4gICAgIGZpbmQgYW55IHJlYWwgdXNhZ2UgbGlrZSB0aGF0LiBJbnN0ZWFkIGl0IHNlZW1z IHRoYXQgM0QgZmlsZXMgd2l0aAo+ICAgICBSaWNoIE1lZGlhIGhhdmUgYWx3YXlzIGJlZW4gdXNl ZCBsaWtlIHdpdGggdGhlICIzRCBhcnQiIG1lY2hhbmlzbQo+ICAgICAoYnV0IHdpdGggZGlmZmVy ZW50IHdyYXBwZXJzKS4KPiAKPiAgICAgVGhlcmUgaXMgZXNzZW50aWFsbHkgbm8gc2NyaXB0YWJp bGl0eSBmb3IgYXVkaW8gYW5kIHZpZGVvLiAoTm90ZSB0aGF0Cj4gICAgIGluIHRoaXMgcmVnYXJk IDNEIGZpbGVzIHdvcmsganVzdCBsaWtlIHdpdGggdGhlICIzRCBhcnQiIG1lY2hhbmlzbSkuCj4g ICAgIFRoZXJlIGFsc28gaXNuJ3QgYW4gZWFzeSB3YXkgdG8gZGlzcGxheSBtdWx0aW1lZGlhIHBs YXllciBjb250cm9scyAoYQo+ICAgICBoYWNrIHdvcmtzIGZvciBBY3JvYmF0KS4gT25lIHRoaW5n IHRoYXQgaXQgYWxsb3dzIGlzIHBsYXlpbmcgdGhlCj4gICAgIG1lZGlhIGluIGEgY3VzdG9taXph YmxlIHdpbmRvdywgZXZlbiBmdWxsIHNjcmVlbiAobm90IG9ubHkgaW4gYSBwYXJ0Cj4gICAgIG9m IGEgcGFnZSBsaWtlIHRoZSBwcmV2aW91cyBtZWNoYW5pc21zIGFsbG93KS4KCm9uZSBjb3VsZCAv IGNhbiBzdGFydC9zdG9wIGV0YyBmcm9tLCBqYXZhc2NyaXB0Cgo+ICAgLSBDb25UZVh0IHVzZXMg dGhpcyBtZWNoYW5pc20gZm9yIEZsYXNoIChTV0YpIGZpbGVzIGluIHRoZSBmaWd1cmUKPiAgICAg bWVjaGFuaXNtLiBUaGlzIGlzIGFsc28gYWxsb3dzIGF1ZGlvL3ZpZGVvIChGbGFzaCBtZWRpYSBw bGF5ZXIsIGxpa2UKPiAgICAgInZwbGF5ZXIiIGlzIGluc2VydGVkIGFuZCB0aGUgbWVkaWEgZmls ZSBpcyBpdHMgcGFyYW1ldGVyKSwgc2VlIGZvcgo+ICAgICBleGFtcGxlICJqYXZhLWltcC12cGxh eWVyLm1raXYiLgo+IAo+ICAgLSBCb3RoIEZsYXNoIGFuZCAicGxhaW4iIFJpY2ggbWVkaWEgYXJl IHN1cHBvcnRlZCBieSBBY3JvYmF0IFJlYWRlci4KPiAgICAgT2t1bGFyIG9ubHkgc3VwcG9ydHMg Rmxhc2ggUmljaCBNZWRpYS4gSG93IGlzIHRoaXMgcG9zc2libGUsCj4gICAgIGNvbnNpZGVyaW5n IHRoYXQgRmxhc2ggcGxheWVyIGlzIGRlYWQ/IFdlbGwsIGJvdGggdmlld2VycyBoYXZlIGEKPiAg ICAgY29tcGF0aWJpbGl0eSBsYXllciB0aGF0IGRldGVjdHMgZW1iZWRkZWQgRmxhc2ggbWVkaWEg cGxheWVyIGZpbGUgYW5kCj4gICAgIGRvZXNuJ3QgdXNlIGl0IHRvIHBsYXkgdGhlIHZpZGVvLCBi dXQgaW5zdGVhZCBwbGF5cyB0aGUgdmlkZW8KPiAgICAgbmF0aXZlbHkuIFRoaXMgaXMgZ29vZCwg YmVjYXVzZSB0aGVyZSBhcmUgYSBsb3Qgb2YgZG9jdW1lbnRzIG91dAo+ICAgICB0aGVyZSB3aGlj aCB1c2UgRmxhc2ggYmFzZWQgUmljaCBNZWRpYS4gQnV0IHRoZXJlIGlzIGFic29sdXRlbHkgbm8K PiAgICAgbmVlZCB0byBjcmVhdGUgbmV3IGRvY3VtZW50cyB3aXRoIGVtYmVkZGVkIEZsYXNoIHBs YXllciBhcHBsaWNhdGlvbnMsCj4gICAgIGl0IG9ubHkgdGFrZXMgc3BhY2UgYW5kIGlzbid0IGV2 ZW4gdXNlZC4KCmhtLCBpIGRpZG4ndCBrbm93IHRoYXQgLi4uIGlzIHRoYXQga2luZCBvZiBvZmZp Y2lhbD8gdGhpcyAncmVwbGFjZW1lbnQnIAp0cmljaz8KCj4gICAgIE9rdWxhciBub3RhYmx5IGRv ZXNuJ3Qgc3VwcG9ydCBwbGFpbiBSaWNoIE1lZGlhLiBUaGUgc3VwcG9ydCBpcyBlYXN5Cj4gICAg IHRvIGFkZCwgYnV0IG15IHByb3Bvc2VkIHBhdGNoIFsyXSBkZXBlbmRzIG9uIGNoYW5nZXMgdG8g cG9wcGxlci4gVGhlCj4gICAgIHBvcHBsZXIgZGV2ZWxvcGVycyB3YW50IHRvIHRha2UgdGhpcyBj aGFuY2UgdG8gaW1wcm92ZSB0aGUgUmljaCBNZWRpYQo+ICAgICByZXByZXNlbnRhdGlvbiBbM10g YnV0IEkgaGF2ZW4ndCBnb3R0ZW4gdG8gdGhhdCwgeWV0LgoKZ29vZAoKPiAgICAgU3VwcG9ydCBz aW1pbGFyIHRvIE9rdWxhcidzIHNob3VsZCBiZSByZWxhdGl2ZWx5IGVhc3kgdG8gYWRkIHRvCj4g ICAgIEV2aW5jZSBhcyB3ZWxsLgoKZ29vZAoKPiAgICAgVGhlIDNEIHN1cHBvcnQgaXMgdGhlIHNh bWUgYXMgd2l0aCAzRCBhcnQgZm9yIEFjcm9iYXQgUmVhZGVyLiBXZWlyZGx5Cj4gICAgIEZveGl0 IFJlYWRlciBkb2Vzbid0IHN1cHBvcnQgM0QgZmlsZXMgd3JhcHBlZCBpbiBSaWNoIE1lZGlhLCBh bHRob3VnaAo+ICAgICB0aGVyZSBkb2Vzbid0IHNlZW0gYW55IGdvb2QgcmVhc29uIGZvciBpdC4g Cj4gCj4gQWxsIGluIGFsbCwgb2YgdGhlIGZpdmUgbWVjaGFuaXNtcyAyIGFyZSBkZXByZWNhdGVk IGFuZCB1bmZvcnR1bmF0ZWx5IG5vCj4gbG9uZ2VyIHN1cHBvcnRlZCBpbiB0aGUgbW9zdCB1c2Vk IFBERiB2aWV3ZXIgYW5kIG90aGVyIDIgbWVjaGFuaXNtcyBhcmUKPiBuZWVkbGVzc2x5IGNvbXBs ZXggYW5kIGluIHJlYWxpdHkgbGltaXRlZC4gRm9yIGV4YW1wbGUsIHdoaWxlIHRoZQo+IG11bHRp bWVkaWEgbWVjaGFuaXNtIHN1cHBvcnRzIEphdmFTY3JpcHQsIChBRkFJSykgb25seSBBY3JvYmF0 IFJlYWRlcgo+IHN1cHBvcnRzIHRoYXQsIHRoaXMgZnVydGhlciBsaW1pdHMgdGhlIHZpZXdlciBz dXBwb3J0IG9yIGF2YWlsYWJsZQo+IGZlYXR1cmVzLCBjaG9vc2Ugb25lLgoKYSBtb3JlIHBoaWxv c29waGljYWw6IGRvICJzdGFuZGFyZHMiIG9yICJmb3JtYXRzIiBndWFyYW50ZWUgZnVpdHVyZSAK dXNhZ2UgLi4gaXMgaW52ZXN0aW5nIHRpbWUgaW4gc29tZSBmb3JtYXRzIHdvcnRoIHRoZSBlZmZv cnQKCj4gVGhlIHN1cHBvcnQgZm9yIHZpZGVvIGFuZCBhdWRpbyBpbiBPa3VsYXIgYW5kIEV2aW5j ZSBpcyBiYXNlZCBvbgo+IEdzdHJlYW1lci4gRXhwbGFpbmluZyBHc3RyZWFtZXIgaXMgdHJpY2t5 LCBidXQgZXNzZW50aWFsbHkgaXQgYWxsb3dzIHRoZQo+IHZpZXdlcnMgdG8gcGxheSBhbnkgbWVk aWEgdHlwZSBhcyBsb25nIGFzIHRoZSByaWdodCBwbHVnaW4gaXMgaW5zdGFsbGVkLgo+IFRoZXNl IHBsdWdpbnMgYXJlIGRpc3RyaWJ1dGVkIGluIGJ1bmRsZXNzIGFuZCB0aHJlZSBvZiB0aGVtIGNv dmVyIGFsbAo+IHJlYXNvbmFibGUgZm9ybWF0cyBhbmQgbW9yZS4gQnV0IHdoaWxlIHRoZSBtZWRp YSBmaWxlIGZvcm1hdCBzdXBwb3J0IGlzCj4gZ3JlYXQsIHRoZXNlIHZpZXdlcnMgZG9uJ3QgcmVh bGx5IHN1cHBvcnQgUERGIGFjdGlvbnMgb3IgSmF2YVNjcmlwdCBmb3IKPiBtb3JlIGNvbnRyb2wg b3ZlciB0aGUgbWVkaWEgcGxheWJhY2suCj4gCj4gQWNyb2JhdCBhbmQgRm94aXQgYm90aCB1c2Ug V2luZG93cyBNZWRpYSBQbGF5ZXIgZm9yIHBsYXlpbmcgdGhlIHZpZGVvLgo+IEJvdGggc3VwcG9y dCBjb250cm9scywgYnV0IGJlaGF2ZSBkaWZmZXJlbnRseSAtLSBBY3JvYmF0IGRpc3BsYXlzIHRo ZQo+IGNvbnRyb2xzIG91dHNpZGUgb2YgdGhlIG11bHRpbWVkaWEgYW5ub3RhdGlvbiwgRm94aXQg d2l0aGluLi4uCj4gCj4gQXMgaWYgaXQgd2Fzbid0IGVub3VnaCB0aGVyZSBpcyBvdGhlciB0cm91 YmxlIHdpdGggcGxheWluZyBtdWx0aW1lZGlhIGluCj4gQWNyb2JhdCBSZWFkZXIgYW5kIEZveGl0 IFJlYWRlci4gVGhleSBuYWcgeW91IHRvIGFsbG93IHRoZSBtZWRpYQo+IHBsYXliYWNrIGV2ZXJ5 IHRpbWUuIFlvdSBjYW4gc2VsZWN0IHRvIHRydXN0IHRoZSBmaWxlIG9uY2Ugb3IgZnJvbSBub3cK PiBvbiwgYnV0IGlmIHNvbWVib2R5IG9wZW5zIGEgZm9yZWlnbiBQREYgd2l0aCB2aWRlbywgdGhl eSBhcmVuJ3QgZ29pbmcgdG8KPiBnZXQgc21vb3RoIGV4cGVyaWVuY2UuCj4gCj4gQW5vdGhlciB0 aGluZyAoYnV0IEkgZG9uJ3QgcmVtZW1iZXIgd2VsbCkgaXMgdGhhdCB0aGVyZSBpcyBhIGNoZWNr IGJveAo+IGluIEFjcm9iYXQgUmVhZGVyLCB0aGF0IGFsbG93cyB0aGUgImxlZ2FjeSIgTXVsdGlt ZWRpYSBtZWNoYW5pc20uIEkKPiBkb24ndCByZW1lbWJlciBpdHMgc3RhdGUgaW4gYW4gdW5hbHRl cmVkIGluc3RhbGxhdGlvbi4KCmFoLCB0aGVzZSBwcm9wZXJ0aWVzIGRpYWxvZ3MgLi4uIHdpdGgg Y2hhbmdpbmcgZGVmYXVsdHMgcGVyIHZlcnNpb24sIAp5ZXMsIGVhc3kgdG8gZm9yZ2V0Cgo+IEFm dGVyIGV2YWx1YXRpbmcgdGhlc2UgbWVjaGFuaXNtcyBJIGNhbWUgdG8gY29uY2x1c2lvbiwgdGhh dCBhIFBERgo+IHdyaXRlciB0b2RheSBpcyBiZXN0IGF0Ogo+IAo+ICAgLSBFbWJlZGRpbmcgdmlk ZW8gYW5kIGF1ZGlvIHVzaW5nIHRoZSAibXVsdGltZWRpYSIgKCJyZW5kaXRpb25zIikKPiAgICAg bWVjaGFuaXNtLiBJdCBpcyBzdXBwb3J0ZWQgaW4gcHJvcHJpZXRhcnkgYW5kIG9wZW4gc291cmNl IHZpZXdlcnMKPiAgICAgYWxpa2UuIEN1c3RvbWl6YXRpb24gYW5kIHNjcmlwdGluZyAvIFBERiBh Y3Rpb25zIGlzIG91dCBvZiB0aGUKPiAgICAgcXVlc3Rpb24sIHRob3VnaC4KPiAKPiAgIC0gRW1i ZWRkaW5nIDNEIGZpbGVzIHVzaW5nIHRoZSAiUmljaCBNZWRpYSIgbWVjaGFuaXNtLiBXaGlsZSBp dCBpcwo+ICAgICBlc3NlbnRpYWxseSBqdXN0IGEgZmV3IGRpZmZlcmVuY2VzIGluIHdyYXBwZXJz LCBpdCBoYXMgcmVhbAo+ICAgICBhZHZhbnRhZ2VzIChkYXRhIHNvdXJjZXMgYXJlIGZpbGVzIG5v dCBzdHJlYW1zLCBhbmQgbXVsdGlwbGUKPiAgICAgSmF2YVNjcmlwdCBzY3JpcHQgZmlsZXMgYXJl IHN1cHBvcnRlZCksIHRoYXQgSSBmaW5kIG5pY2UgZW5vdWdoIGZvcgo+ICAgICB0aGUgaW1wbGVt ZW50YXRpb24gYW5kIHVzZXJzIGFsaWtlLgoKbWF5YmUgd2UgbmVlZCBzb21lIGphdmFzY3JpcHQg c3VwcG9ydGVkIGFjdGlvbnMgaW4gdmlld2VycyB0YWJsZQoKPiBTb21lIHNvdXJjZXMgZm9yIHRo aXMgdG9waWMgYXJlIGFsc28gdGhlIExhVGVYIGNlbnRyaWMgWzRdIGFuZCBbNV0uIEkgZ28KPiBp bnRvIG1vcmUgZGV0YWlscyBpbiB0aGUgZm9ybWVyLiBJbiB0aGUgbGF0dGVyIHRoZSAicGxhaW4i IFJpY2ggTWVkaWEKPiBhbmQgIm11bHRpbWVkaWEiICgicmVuZGl0aW9ucyIpIG1lY2hhbmlzbXMg YXJlIHN1Z2dlc3RlZCBhcyBzb2x1dGlvbnMKPiBmb3IgdGhlIEZsYXNoIG1lZGlhIHBsYXllciBh cHByb2FjaC4KCmJ1dCB3ZSBoYXZlIHRvIHN0aWNrIHRvIHdoYXQgd2UgdGhpbmsgd2lsbCBzdGF5 IChraW5kIG9mIGdlbmVyaWMgCmZlYXR1cmVzIG9mIHN1Y2ggdGhpbmdzKQoKPiBBbmQgbm93IGZv ciB0aGUgZnV0dXJlLiBXaGF0IHNob3VsZCBDb25UZVh0IGRvPyBPbiBvbmUgaGFuZCBhbGwKPiBh dmFpbGFibGUgbWVjaGFuaXNtcyBhcmUgZmxhd2VkIGluIG9uZSB3YXkgb3IgdGhlIG90aGVyLiBP biB0aGUgb3RoZXIKPiBoYW5kIHNvbWUgdXNlcnMgbWF5IHN0aWxsIGZpbmQgdGhlIGZ1bmN0aW9u YWxpdHkgdXNlZnVsLiBNeSBzdWdnZXN0aW9ucwo+IGlzIHRvIGVpdGhlciBkZWxldGUgYWxsIHRo ZSBzdXBwb3J0IGZvciBhdWRpby92aWRlbyBvcjoKPiAKPiAgIDEpIERlbGV0ZSB0aGUgIk1vdmll IG9iamVjdHMiIGltcGxlbWVudGF0aW9uIG9mIGZpZ3VyZXMuIEl0IGlzIG5vdAo+ICAgICAgc3Vw cG9ydGVkIGluIHZpZXdlcnMsIHdoZXJlIHVzZXJzIGV4cGVjdCBpdCB0byBbNl0uCgppdCdzIGFj dHVhbGx5IGFuIGFic3RyYWN0aW9uIGJ1dCB3ZSBjYW4gbWFwIGl0IG9udG8gc29tZXRoaWduIGVs c2UKCj4gICAyKSBEZWxldGUgYWxsIG1lbnRpb25zIG9mIEZsYXNoLiBUaGVyZSBpcyBubyByZWFz b24gdG8gY3JlYXRlIG5ldwo+ICAgICAgZG9jdW1lbnRzIHdpdGggZW1iZWRkZWQgRmxhc2ggZmls ZXMsIGV2ZW4gdGhvdWdoIHRoZXkgbWF5IHdvcmsgaW4KPiAgICAgIHNvbWUgdmlld2Vycy4gUGxh aW4gUmljaCBNZWRpYSBjYW4gYmUgdXNlZCBpbnN0ZWFkLCB3aXRoIGhvcGVmdWxseQo+ICAgICAg c29vbiBlcXVhbCBzdXBwb3J0IFsyXS4KCmluZGVlZAoKPiAgIDMpIFRoZSAiZXh0ZXJuYWxyZW5k ZXJpbmciIG1lY2hhbmlzbSAobXVsdGltZWRpYS9yZW5kaXRpb25zKSBjYW4gc3RheS4KPiAgICAg IElmIHRoZSBpbnNlcnRpb24gb2YgYXVkaW8vdmlkZW8gYXMgImZpZ3VyZXMiIGlzIHRvIHN0YXks IHRoZW4gSQo+ICAgICAgc3VnZ2VzdCB0byB1c2UgbXVsdGltZWRpYS9yZW5kaXRpb25zIGZvciBp dCAoaW4gc2ltcGxpZmllZCBmb3JtKS4KPiAKPiBOb3RlIHRoYXQgdGhlIDNEIHN1cHBvcnQgaW4g Q29uVGVYdCBpcyBjb21wbGV0ZWx5IGZpbmUgYW5kIHdvcmtzIGluCj4gQWNyb2JhdCBhbmQgRm94 aXQuCgpkbyB3ZSBhY3R1YWxseSBoYXZlIHNvbWUgc2ltcGxlIHRlc3QgZmlsZXMgZm9yIHRoYXQ/ IGRvIHdlIG5lZWQgYSBzbWFsbCAKc2V0IG9mIGZpbGVzIGZvciBtZWRpYT8KCj4gVGhlICJleHRl cm5hbHJlbmRlcmluZyIgcGFydCBjdXJyZW50bHkgaGFzIHRocmVlICJidWdzIi4gUHJldmlvdXMK PiBkaXNjdXNzaW9uIGF0IHRoaXMgbGlzdCBwcm92aWRlcyBzb21lIGNvbnRleHQgWzddLiBUaGUg Zm9sbG93aW5nIGlzCj4gY3VycmVudGx5ICJ3cm9uZyI6Cj4gCj4gICAtIEN1cnJlbnRseSBDb25U ZVh0IHdyYXBzIGEgUERGIGZpbGUgc3BlY2lmaWNhdGlvbiBmb3IgZW1iZWRkZWQgZmlsZQo+ICAg ICBpbnNpZGUgYW5vdGhlciBmaWxlIHNwZWNpZmljYXRpb24gKGkuZS4gZW1iZWRkZWQgZmlsZXMg ZG9uJ3Qgd29yaykuCj4gICAtIEFzIGEgcmVzdWx0IG9mICJleHRlcm5hbHJlbmRlcmluZyIgaW5o ZXJpdGluZyBmcm9tIFxmcmFtZWQsIHRoZQo+ICAgICBQREYgYW5ub3RhdGlvbiBsYXRlX2x1YSB3 aGF0c2l0IGlzIGNlbnRlcmVkIGluc2lkZSB0aGUgZnJhbWUgYW5kIHNvCj4gICAgIHRoZSBhbm5v dGF0aW9uIGl0c2VsZiBpcyBvZmZzZXQgYnkgaGFsZiBpdHMgd2lkdGggdG8gdGhlIHJpZ2h0Lgo+ ICAgLSBDb25UZVh0IGRvZXNuJ3QgZXhwbGljaXRseSBhbGxvdyB0aGUgdmlld2VyIHRvIGNyZWF0 ZSB0ZW1wb3JhcnkKPiAgICAgZmlsZXMsIGhlbmNlIHRoZSBwbGF5YmFjayBmYWlscyBpbiBBY3Jv YmF0IFJlYWRlci4KCmhtLCBuZXZlciBzZWVuIHRoYXQgdGVtcCB0aGluZyAuLi4gbXVzdCBiZSBz b21ldGhpbmcgcmVjZW50IChvciBtYXliZSBpdCAKaXMgYSBwcmVmZXJlbmNlKQoKPiBIb3BlZnVs bHkgdGhlIHBhdGNoIGluY2x1ZGVkIGJlbG93IGZpeGVzIGFsbCB0aHJlZS4gQnV0IG5vdGUgdGhh dCB3aGlsZQo+IEkgbG92ZSBDb25UZVh0IEkgZG9uJ3Qga25vdyBpdCB3ZWxsIGFuZCBtYXkgYmUg dGVycmlibHkgd3JvbmcuIEkgYWxzbwo+IHdhcyBhaW1pbmcgYXQgYSBtaW5pbWFsIGRpZmYgZm9y IGluY2x1c2lvbiBpbiB0aGlzIGUtbWFpbC4gVGhpcyBpcyBhCj4gdGVzdCBmaWxlIGZvciB0aGlz OgoKc3VyZQoKPiAgICAgIFxzdGFydHRleHQKPiAgICAgIFxzZXR1cGludGVyYWN0aW9uW3N0YXRl PXN0YXJ0XQo+ICAgICAgCj4gICAgICBcdXNlZXh0ZXJuYWxyZW5kZXJpbmdbbXl2aWRlb11bdmlk ZW8vbXA0XVt2aWRlby5tcDRdW2VtYmVkPXllc10KPiAgICAgIFx1c2VleHRlcm5hbHJlbmRlcmlu Z1tteXZpZGVvMl1bdmlkZW8vbXA0XVtodHRwczovL2dpdGxhYi5jb20vYWdyYWhuL21lZGlhOS91 cGxvYWRzL2M3ZTJhZTk0NGZiZDcxMWRmNGFkN2JkNTgwMDBmODNhL25pZ2h0c2VxMS5tcDRdCj4g ICAgICBcdXNlZXh0ZXJuYWxyZW5kZXJpbmdbbXl2aWRlbzNdW3ZpZGVvL21wNF1bdmlkZW8ubXA0 XQo+ICAgICAgCj4gICAgICBcZGVmaW5lcmVuZGVyaW5nd2luZG93W215cmVuZGVyaW5nd2luZG93 XVt3aWR0aD1cdGV4dHdpZHRoLCBoZWlnaHQ9XHRleHR3aWR0aF0KPiAgICAgIAo+ICAgICAgXG5v aW5kZW50Cj4gICAgICBccGxhY2VyZW5kZXJpbmd3aW5kb3dbbXlyZW5kZXJpbmd3aW5kb3ddW215 dmlkZW9dCj4gICAgICAKPiAgICAgIFxnb3Rve1NUQVJUfVtTdGFydFJlbmRlcmluZ3tteXZpZGVv fV0KPiAgICAgIFxnb3Rve1NUT1B9IFtTdG9wUmVuZGVyaW5ne215dmlkZW99XQo+ICAgICAgXGdv dG97UEFVU0V9W1BhdXNlUmVuZGVyaW5ne215dmlkZW99XQo+ICAgICAgCj4gICAgICBcdmZpbFxi cmVha1xub2luZGVudAo+ICAgICAgXHBsYWNlcmVuZGVyaW5nd2luZG93W215cmVuZGVyaW5nd2lu ZG93XVtteXZpZGVvMl0KPiAgICAgIAo+ICAgICAgXHZmaWxcYnJlYWtcbm9pbmRlbnQKPiAgICAg IFxwbGFjZXJlbmRlcmluZ3dpbmRvd1tteXJlbmRlcmluZ3dpbmRvd11bbXl2aWRlbzNdCj4gICAg ICAKPiAgICAgIFxzdG9wdGV4dAo+IAo+IEFsbCB0aHJlZSBmaWxlIHNvdXJjZSB0eXBlcyBhcmUg ZGVtb25zdHJhdGVkLiBBbnkgInZpZGVvLm1wNCIgaW4gdGhlCj4gZGlyZWN0b3J5IHlvdSBjb21w aWxlIGluIHdpbGwgZG8uIChXb3JrcyBhcyBleHBlY3RlZCBpbiBPa3VsYXIgb24KPiBMaW51eC4p Cgpnb29kLiBidXQgbm90IGluIG11cGRmIHZpZXdlcnMsIHJpZ2h0PwoKPiBUaGlzIHdhcyBhIGR1 bXAgb2Yga25vd2xlZGdlIHRoYXQgSSBnYWluZWQgZnJvbSB3cml0aW5nIG15IHRoZXNpcy4KPiBT YWRseSBpdHMgaW4gQ3plY2gsIGJ1dCBwYXJ0IG9mIGl0IGlzIFBERiBjb2RlIHNuaXBwZXRzIGFu ZCB0YWJsZXMKPiBzdW1tYXJpemluZyB2aWV3ZXIgc3VwcG9ydCwgdGhhdCBJIGNhbiB0cmFuc2xh dGUgYW5kIHByb3ZpZGUgaWYgdGhlcmUgaXMKPiBpbnRlcmVzdC4gQnV0IGEgbGFyZ2UgcGFydCBv ZiB3aGF0IEkgZGVlbSBwcmFjdGljYWwgdG9kYXkgaXMgaW1wbGVtZW50ZWQKPiBhbmQgZG9jdW1l bnRlZCBoZXJlOgo+IGh0dHA6Ly9taXJyb3JzLmN0YW4ub3JnL21hY3Jvcy9sdWF0ZXgvb3B0ZXgv cGRmZXh0cmEvcGRmZXh0cmEtZG9jLnBkZi4KPiBUaGUgc291cmNlIGlzIHByb2JhYmx5IGhhcmQg dG8gcmVhZCwgYmVjYXVzZSBvZiB0aGUgIl8iIGFuZCAiLiIgcHJlZml4ZXMKPiBpbiB0aGUgY29u dHJvbCBzZXF1ZW5jZXMsIGJ1dCB0aG9zZSBjYW4gYmUgaWdub3JlZC4gSSBwb3N0ZWQgc29tZSAi cmVhbCIKPiBkb2N1bWVudHMgaW4gWzNdIGFuZCBbNV0uCgp0aGFua3MgZm9yIHBheWluZyBhdHRl bnRpb24KCj4gSWYgbW9yZSBkb2N1bWVudHMgLyBzbmlwcGV0cyAvIGV4cGxhbmF0aW9ucyBhcmUg bmVlZGVkIEkgaG9wZSBJIGNhbgo+IHByb3ZpZGUgdGhlbS4KPiAKPiBTYWRseSwgd2hpbGUgd29y a2luZyBvbiB0aGlzLCBJIGRpZG4ndCBoYXZlIGFjY2VzcyB0byB0aGUgUERGIDIuMAo+IHN0YW5k YXJkLiBNeSBpbmZvcm1hdGlvbiBtb3N0bHkgY29tZXMgZnJvbSB0aGUgUERGIDEuNyBzdGFuZGFy ZCBhbmQKPiBwdWJsaWNseSBrbm93biBpbmZvcm1hdGlvbiBhYm91dCBQREYgMi4wIC0gdGhlIFJp Y2ggTWVkaWEgbWVjaGFuaXNtIGdvdAo+IGluY2x1ZGVkIGluIFBERiAyLjAsIGJ1dCBJIGFtIG5v dCBzdXJlIGluIHdoYXQgZXh0ZW50IGRpZCB0aGUgRmxhc2ggcGFydAo+IGdldCBpbmNsdWRlZC4g SSBhbHNvIGRvbid0IGtub3cgaWYgdGhlcmUgcmVhbGx5IGlzIGFueXRoaW5nIG5ldywgYnV0Cj4g bm90aGluZyBzdWdnZXN0cyBpdC4gUmVnYXJkbGVzcywgdmlld2VyIHN1cHBvcnQgaXNuJ3QgY29t cGxldGUgZm9yCj4gc29tZXRoaW5nIHN0YW5kYXJkaXplZCBvdmVyIDIwIHllYXJzIGFnbywgSSBk b24ndCBleHBlY3QgcmV2b2x1dGlvbiBpbgo+IHRoZSBQREYgdmlld2VycywgY29uc2lkZXJpbmcg dGhlIHByaWNlIG9mIHRoZSBzdGFuZGFyZChzKS4KCmluZGVlZC4gYnV0IHdydCB2aWV3ZXJzLCB3 aGF0IHB1enpsZXMgbWUgaXMgdGhhdCBtdWNoIG9mIHRoaXMgcmVuZGVyaW5nIApzdHVmZiBpcyBh cm91bmQgaW4gYnJvd3NlcnMgc28gaSBndWVzcyBpdCBhbHNvIGhhcyB0byBkbyB3aXRoIGxhY2sg b2YgCmludGVyZXN0Cgo+IFsxXTogaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lk PTQzNjcwOQo+IFsyXTogaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9ncmFwaGljcy9va3VsYXIvLS9t ZXJnZV9yZXF1ZXN0cy80MjYKPiBbM106IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9w b3BwbGVyL3BvcHBsZXIvLS9tZXJnZV9yZXF1ZXN0cy84NTUKPiBbNF06IGh0dHBzOi8vdGV4LnN0 YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy81MTYwMjkvbWVkaWE5LWlzLWJlY29taW5nLW9ic29s ZXRlLWRlYy0yMDIwLWFueS1hbHRlcm5hdGl2ZXMtZm9yLWVtYmVkZGluZy12aWRlby1hdWRpby81 MTYxMDIKPiBbNV06IGh0dHBzOi8vZ2l0bGFiLmNvbS9hZ3JhaG4vbWVkaWE5Ly0vaXNzdWVzLzkK PiBbNl06IGh0dHBzOi8vd2lraS5jb250ZXh0Z2FyZGVuLm5ldC9Db21tYW5kL2V4dGVybmFsZmln dXJlCj4gWzddOiBodHRwczovL3d3dy5tYWlsLWFyY2hpdmUuY29tL250Zy1jb250ZXh0QG50Zy5u bC9tc2c4ODYzOS5odG1sCgpXaGF0IGFjdHVpYWxseSB3YXMgYWxzbyBzdXBwb3J0ZWQgaXMKCmh0 dHBzOi8vd3d3LnczLm9yZy9UUi9TTUlMLwoKYnV0IHNvbWVob3cgdGhhdCBiZWNhbWUgdW5yZWxp YWJsZSAvIHdlbnQgYXdheSAuLiB3aGVuIGl0IGZpcnN0IHNob3dlZCAKdXAgaXQgd29ya2VkIHBl cmZlY3QgYW5kIGkgYWx3YXlzIHRob3VnaCB0aGF0IGl0IHdvdWxkIHN0YXkKCkhhbnMKCgotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFucyBIYWdl biB8IFBSQUdNQSBBREUKICAgICAgICAgICAgICAgUmlkZGVyc3RyYWF0IDI3IHwgODA2MSBHSCBI YXNzZWx0IHwgVGhlIE5ldGhlcmxhbmRzCiAgICAgICAgdGVsOiAwMzggNDc3IDUzIDY5IHwgd3d3 LnByYWdtYS1hZGUubmwgfCB3d3cucHJhZ21hLXBvZC5ubAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJZiB5b3VyIHF1ZXN0aW9uIGlzIG9mIGludGVyZXN0IHRvIG90aGVycyBh cyB3ZWxsLCBwbGVhc2UgYWRkIGFuIGVudHJ5IHRvIHRoZSBXaWtpIQoKbWFpbGxpc3QgOiBudGct Y29udGV4dEBudGcubmwgLyBodHRwOi8vd3d3Lm50Zy5ubC9tYWlsbWFuL2xpc3RpbmZvL250Zy1j b250ZXh0CndlYnBhZ2UgIDogaHR0cDovL3d3dy5wcmFnbWEtYWRlLm5sIC8gaHR0cDovL2NvbnRl eHQuYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waGcvY29udGV4 dC1taXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwOi8vY29udGV4dGdhcmRlbi5uZXQKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18K