From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/112267 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?q?Michal_Vlas=C3=A1k_via_ntg-context?= Newsgroups: gmane.comp.tex.context Subject: Multimedia, PDF and ConTeXt Date: Tue, 27 Jul 2021 00:49:27 +0200 Message-ID: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26333"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?utf-8?q?Michal_Vlas=C3=A1k?= To: Original-X-From: ntg-context-bounces@ntg.nl Tue Jul 27 00:57:05 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 1m89Wy-0006ed-P4 for gctc-ntg-context-518@m.gmane-mx.org; Tue, 27 Jul 2021 00:57:04 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 64C25285FFA; Tue, 27 Jul 2021 00:56:43 +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 j6JVGDktSbUO; Tue, 27 Jul 2021 00:56:41 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id A9B74285FFD; Tue, 27 Jul 2021 00:56:41 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 0813B285FF9 for ; Tue, 27 Jul 2021 00:56:40 +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 QWSg-Jg5hWNX for ; Tue, 27 Jul 2021 00:56:37 +0200 (CEST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.52; helo=mail-wr1-f52.google.com; envelope-from=lahcim8@gmail.com; receiver= Original-Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id AA48F2807B5 for ; Tue, 27 Jul 2021 00:56:37 +0200 (CEST) Original-Received: by mail-wr1-f52.google.com with SMTP id e2so12892829wrq.6 for ; Mon, 26 Jul 2021 15:56:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:content-transfer-encoding:from:to:subject:date :message-id; bh=R/CXwS/he/sEoWbU5R67i4pXQaJVn6/5QGHPksrmgGY=; b=BMz1b5dRNbveN2jFlwLHm9U/QZYaN4ZtxKBMgiiA0CawJrnT3OiS73lH8Wh0/6A1V+ prre9CxO1U9h4aQeftxRbTP6ak6SRXH3/rcJ7mKuWKvbjoP6h4u0XZni3VBbGBcJfUo7 9VNo2RbWBkqjsT/p+PtmkaRaezMs076M1WMMviJc3r+DFvu2dxVTTIkekE2rDssRaKdZ RumDnTniz0/t9lgep55kHcy99aA7KRp4neTPcuMJ1z8l4WieJQliKhsbs/zFTl3QQPam qPnIh3yeOYHabiVV65QI29OKehZyy6xNas0CS3RAa4NniNX2KBh4o1d7ZM+xwcfd6seE LtQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:content-transfer-encoding:from:to :subject:date:message-id; bh=R/CXwS/he/sEoWbU5R67i4pXQaJVn6/5QGHPksrmgGY=; b=astp01uzBdUlHmHlmaO1+6xoNnHaWsFhJ/u/eXNILcANrsGYHS6dsmx/arHLClALQj 5wn4kJVnMfjAY88fcFMxIEcEvTkZ5BLeHxX3fTd+3OL4SIwidJgaKSlSt+XfnCHQmk4/ CKk+ffXDwR4Ztk7y4jnZAua1pvqFN5fFtmLSonfEw1Yefni/Ps3ROyMiriugZNCqC8Di SalPH4mcAfKzLWb7SgaPOyMguBHUtM1RcgL35gjXJh7hyz6nCuzKNswsLyrMo2dyfdl/ I8TCUlVzwgft7BqsWyQbjTCL7TltNN8xnhg2c9AJRwvsfDfo5uUKIdOrTIk55/5yaTyq vX3A== X-Gm-Message-State: AOAM530+LSmzjXnVziYN3khtwvbPQrtU6sBEahlLmUCUSKjzZh505ai9 z5FXgCCJLiT2TYPfhROPDw4mw/J6+Zc= X-Google-Smtp-Source: ABdhPJy1Zq6vNuQjubc6h1/1Lekct1rg4/WQgex4saZsvOTV9zWfB7g1pdzdDebN9f6p5SE/0sEHtQ== X-Received: by 2002:a5d:68cd:: with SMTP id p13mr7432478wrw.163.1627340196813; Mon, 26 Jul 2021 15:56:36 -0700 (PDT) Original-Received: from localhost (18.52.broadband7.iol.cz. [88.102.52.18]) by smtp.gmail.com with ESMTPSA id m14sm1142159wrs.56.2021.07.26.15.56.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jul 2021 15:56:36 -0700 (PDT) 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:112267 Archived-At: RGVhciBDb25UZVh0IGNvbW11bml0eSwKCnJlY2VudGx5LCBhcyBwYXJ0IG9mIG15IGJhY2hlbG9y IHRoZXNpcywgSSBsb29rZWQgaW50byB0aGUgc3RhdGUgb2YKbXVsdGltZWRpYSAoYXVkaW8sIHZp ZGVvLCAzRCkgYW5kIG90aGVyIHJlbGF0aXZlbHkgb2JzY3VyZSBQREYKZmVhdHVyZXMsIHdpdGgg dGhlIGNvbm5lY3Rpb24gdG8gVGVYLgoKSSBhbHJlYWR5IHB1dCBvZmYgdGhpcyB3cml0ZSB1cCBs b25nIGVub3VnaC4gSG9wZWZ1bGx5IGl0IGNsYXJpZmllcwp0aGluZ3MgdGhhdCBtaWdodCBpbmZs dWVuY2UgdGhlIGN1cnJlbnQgdW5jZXJ0YWludHkgYWJvdXQgdGhlc2UgZmVhdHVyZXMKYW5kIHRo ZWlyIHByZXNlbmNlIGluIENvblRlWHQgKHNlZSBhYnN0cmFjdCBvZiBIYW5zJyB0YWxrIGZvciB1 cGNvbWluZwpDb25UZVh0IG1lZXRpbmcsIGNoYXB0ZXIgOCBvZiAiT24gYW5kIG9uIiBhbmQgcmVt YXJrcyBpbiBmaWxlcyBsaWtlCiJscGRmLXdpZC5sbXQiKS4KClRoZSBmb2xsb3dpbmcgdGV4dCBk aXNjdXNzZXMgdGhlIG9wdGlvbnMgZm9yIGluY2x1ZGluZyBtdWx0aW1lZGlhIGluIFBERgpmaWxl cyBmcm9tIENvblRlWHQuIEZpcnN0IHRoZSBkaWZmZXJlbnQgUERGIG1lY2hhbmlzbXMgYXJlIGlu dHJvZHVjZWQKYW5kIGNvbXBhcmVkLCB0aGVuIHRoZWlyIHN1cHBvcnQgaW4gQ29uVGVYdCBpcyBz dW1tYXJpemVkLiBNeSBpZGVhcwpmb3IgZnV0dXJlIHN0ZXBzIGFyZSBhbHNvIGluY2x1ZGVkLiBQ YXRjaCB0byBmaXggc29tZSBidWdzIGlzIGFsc28KYmVsb3cuIExhc3RseSBJIGxpbmsgdG8gc29t ZSByZXNvdXJjZXMgcmVnYXJkaW5nIHRoZSB0b3BpYy4KClRoZSB2YXJpb3VzIHZlcnNpb25zIG9m IHRoZSBQREYgc3RhbmRhcmQgaGF2ZSBvdmVyIHRoZSB5ZWFycyBkZXZlbG9wZWQKc2V2ZXJhbCB3 YXlzIG9mIGluY2x1ZGluZyAibXVsdGltZWRpYSIgaW4gUERGIGZpbGVzLiBUaGUgc2ltcGxlc3Qg YXJlClhPYmplY3RzIHdoaWNoIGFsbG93IHJhc3RlciBhbmQgdmVjdG9yIGdyYXBoaWNzIC0tIHRo aXMgaXMgYSB3ZWxsIGtub3duCmFuZCB3ZWxsIHN1cHBvcnRlZCBmZWF0dXJlIGluIGJvdGggUERG IHdyaXRlcnMgYW5kIHZpZXdlcnMuIEhvd2V2ZXIsCmxhdGVyIHJldmlzaW9ucyBvZiB0aGUgUERG IHN0YW5kYXJkIGFkZGVkIHdoYXQgaXMgZXNzZW50aWFsbHkgZml2ZQpkaWZmZXJlbnQgbWVjaGFu aXNtcyBmb3IgaW5jbHVkaW5nIHZpZGVvLCBhdWRpbyBvciAzRCBmaWxlcyAoZWFjaAptZWNoYW5p c20gc3VwcG9ydHMgYSBkaWZmZXJlbnQgc3Vic2V0IG9mIHRoZXNlIHRocmVlKS4gRm9yIGV2YWx1 YXRpbmcKdGhlc2UgbWVjaGFuaXNtcyBmcm9tIHBlcnNwZWN0aXZlIG9mIENvblRlWHQgaXQgaXMg cG9zc2libGUgdG8gZGV2aXNlCnRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6CgogLSBzdXBwb3J0IGlu IFBERiBzdGFuZGFyZCAoZGVwcmVjYXRpb24sIGV0Yy4pLAogLSBzdXBwb3J0ZWQgbWVkaWEgdHlw ZXMgKGF1ZGlvLCB2aWRlb1srb3B0aW9uYWwgYXVkaW9dLCAzRCksCiAtIHN1cHBvcnQgb2YgZGlm ZmVyZW50IHNvdXJjZSB0eXBlcyAoZW1iZWRkZWQgZmlsZSwgZXh0ZXJuYWwgZmlsZSwgVVJMKQog LSB3aGF0IGlzIHBvc3NpYmxlIHRvIGFjaGlldmUgKCJ1c2VmdWxuZXNzIikgYW5kIGF0IHdoYXQg Y29zdAogICAoImNvbXBsZXhpdHkiKSwKIC0gY3VycmVudCBzdXBwb3J0IGluIENvblRlWHQsCiAt IGFuZCB0aGUgbW9zdCBpbXBvcnRhbnQ6IHN1cHBvcnQgaW4gUERGIHZpZXdlcnMuCgpQZXJoYXBz IHRoZSAic291cmNlIHR5cGVzIiBuZWVkIGEgYml0IG9mIGV4cGxhbmF0aW9uLiBFc3NlbnRpYWxs eSBhbGwKZmlsZSByZWZlcmVuY2VzIGZyb20gUERGIGNhbiBiZSBvbmUgb2YgdGhyZWUgdHlwZXM6 CgogLSBFbWJlZGRlZCBmaWxlLiBUaGUgcmVmZXJlbmNlZCBmaWxlIGlzICppbiogdGhlIFBERiBm aWxlLCB0aGlzIG1lYW5zCiAgIHRoYXQgaXQgY2FuIGFsc28gYmUgY29tcHJlc3NlZCBhcyBwYXJ0 IG9mIGl0IChub3QgdmVyeSB1c2VmdWwgZm9yCiAgIG11bHRpbWVkaWEgdGhvdWdoKS4gVGhpcyBp cyBuaWNlIGJlY2F1c2UgdGhlIHJlc3VsdCBpcyBpbnRlZ3JhbCAtLQogICB0aGUgbWVkaWEgZmls ZSBjYW4ndCBnZXQgbG9zdCBhbmQgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBmaWxlIHRvCiAgIGRp c3RyaWJ1dGUuCiAtIFVSTCBmaWxlLiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBmaWxlIGlzIHNvbGVs eSB0aGUgVVJMLiBUYWtlcyBhbG1vc3QKICAgbm8gc3BhY2UgYXQgYWxsIGluIHRoZSBQREYgZmls ZSwgYnV0IG1lYW5zIHRoYXQgdGhlIGF2YWlsYWJpbGl0eSBvZgogICB0aGUgbWVkaWEgZmlsZSBh bmQgUERGIGZpbGUgYXJlIG5vdCB0aWVkLgogLSBFeHRlcm5hbCBmaWxlLiBBIGZpbGUgcGF0aCBp cyBpbmNsdWRlZCBpbiB0aGUgUERGIGZpbGUuIFRoZSBmaWxlCiAgIGRvZXNuJ3QgaGF2ZSB0byBi ZSBhdmFpbGFibGUgb3ZlciB0aGUgaW50ZXJuZXQsIGJ1dCBoYXMgdG8gYmUKICAgZGlzdHJpYnV0 ZWQgYWxvbmcgd2l0aCB0aGUgUERGIGZpbGUgKGFuZCB0aGUgcmVsYXRpdmUgcGF0aCBoYXMgdG8K ICAgbWF0Y2gpLgoKVGhlICJ1c2VmdWxuZXNzIiBhc3BlY3QgaW5jbHVkZXMgdGhlIHBvc3NpYmls aXR5IG9mIGludGVyYWN0aW9uIG9yCnNjcmlwdGluZy4gRS5nLiB1c2luZyBtZWRpYSBwbGF5ZXIg YnV0dG9ucyAoImNvbnRyb2xzIiksIHNjcmlwdGluZyB3aXRoCkphdmFTY3JpcHQgb3Igc29tZSBj b250cm9sIHdpdGggUERGIGFjdGlvbnMgKFxnb3RvLCBhbmQgdHJpZ2dlcnMgbGlrZQpwYWdlIG9w ZW4gd2hpY2ggYWxsb3cgYXV0by1wbGF5KS4KClRoZSB2aWV3ZXJzIEkgdGVzdGVkIHdlcmU6IEFj cm9iYXQgUmVhZGVyIERDLCBGb3hpdCBSZWFkZXIsIFN1bWF0cmEgUERGCm9uIFdpbmRvd3MgYW5k IEV2aW5jZSwgT2t1bGFyLCBYcGRmLCBNdVBERiwgRmlyZWZveCBhbmQgR29vZ2xlIENocm9tZSBv bgpMaW51eC4KCk5vdyB0byB0aGUgZGlmZmVyZW50IG1lY2hhbmlzbXM6CgoxKSBTb3VuZCBvYmpl Y3RzCgogLSBGaXJzdCBhcHBlYXJlZCBpbiBQREYgMS4yICgxOTk2KSwgYnV0IGhhZCBzaW5jZSBi ZWVuIGRlcHJlY2F0ZWQgKFBERgogICAxLjUsIDIwMDMpIGFuZCBiZWNhbWUgdW5zdXBwb3J0ZWQg KFBERiAyLjAsIDIwMTcpLgoKIC0gT25seSBhdWRpbyBpcyBzdXBwb3J0ZWQuCgogLSAiUmF3IiBh bmQgaW4gcHJhY3RpY2UgdW5jb21wcmVzc2VkIFBDTSBhdWRpbyBjYW4gYmUgZW1iZWRkZWQgKGku ZS4KICAgIi53YXYiIGZvcm1hdCB3aXRob3V0IHRoZSBtZXRhZGF0YSkuCiAgIE90aGVyd2lzZSBh biBleHRlcm5hbCBmaWxlIG1heSBiZSB1c2VkICh0aGlzIG9uZSBoYXMgdG8gYmUgaW4gYSByZWFs CiAgIGF1ZGlvIGZvcm1hdCAtIGxpa2UgIi53YXYiIC0gaS5lLiB3aXRoIG1ldGFkYXRhKS4KCiAt IFVzZXJzIHVzdWFsbHkgZG9uJ3QgaGF2ZSByYXcgYXVkaW8uIFNvIGVtYmVkZGluZyByZXF1aXJl cwogICBwcmVwcm9jZXNzaW5nLiBTb21lIGNvbnRyb2wgdXNpbmcgUERGIGFjdGlvbnMgaXMgcG9z c2libGUuCgogLSBOb3Qgc3VwcG9ydGVkIGluIENvblRlWHQuCgogLSBOb25lIG9mIHRoZSB2aWV3 ZXJzIHN1cHBvcnRzIHRoZSBleHRlcm5hbCBmaWxlcy4gT25seSBBY3JvYmF0IFJlYWRlcgogICBz dXBwb3J0cyB0aGUgZW1iZWRkZWQgcmF3IGF1ZGlvLgoKMikgTW92aWUgb2JqZWN0cwoKIC0gRmly c3QgYXBwZWFyZWQgaW4gUERGIDEuMiAoMTk5NiksIGJ1dCBoYWQgc2luY2UgYmVlbiBkZXByZWNh dGVkIChQREYKICAgMS41LCAyMDAzKSBhbmQgYmVjYW1lIHVuc3VwcG9ydGVkIChQREYgMi4wLCAy MDE3KS4KCiAtIEJvdGggdmlkZW8gYW5kIGF1ZGlvIGlzIHN1cHBvcnRlZC4KCiAtIEFueSBzb3Vy Y2UgKGVtYmVkZGVkLCBleHRlcm5hbCBhbmQgVVJMIGZpbGUpLgoKIC0gSW4gYWxsIHJlZ2FyZHMg c3VwZXJpb3IgdG8gc291bmQgb2JqZWN0cy4gSXMgc3RpbGwgcmVsYXRpdmVseSBzaW1wbGUKICAg YW5kIGFsbG93cyBzb21lIGN1c3RvbWl6YXRpb24gYW5kIGNvbnRyb2wgKG1lZGlhIHBsYXllciBj b250cm9scywgUERGCiAgIGFjdGlvbnMpLgoKIC0gVGhpcyBpcyB0aGUgYmFja2luZyBtZWNoYW5p c20gZm9yIGluY2x1ZGluZyB2aWRlbyBhbmQgYXVkaW8gaW4KICAgQ29uVGVYdCAoXGV4dGVybmFs ZmlndXJlLCBcdXNlZXh0ZXJuYWxzb3VuZHRyYWNrKS4KCiAtIFN1cHBvcnRlZCBvbmx5IGluIEV2 aW5jZSBhbmQgT2t1bGFyICh3aXRoIHRoZWlyIHVzdWFsIHF1aXJrcywgc2VlCiAgIGJlbG93KS4g Tm90YWJseSBBY3JvYmF0IFJlYWRlciBkb2VzIG5vIGxvbmdlciBzdXBwb3J0IHRoaXMgbWVjaGFu aXNtLgoKMykgTXVsdGltZWRpYSAoIlJlbmRpdGlvbnMiKQoKIC0gRmlyc3QgYXBwZWFyZWQgaW4g UERGIDEuNSAoMjAwMykuIEFkb2JlIEFjcm9iYXQgY29uc2lkZXJzIHRoZW0KICAgImxlZ2FjeSIu CgogLSBCb3RoIHZpZGVvIGFuZCBhdWRpbyBzdXBwb3J0ZWQgKGFzIHdlbGwgYXMgb3RoZXIgdW5z cGVjaWZpZWQgdHlwZXMgb2YKICAgbXVsdGltZWRpYSwgbGlrZSBpbWFnZXMgYW5kIEZsYXNoLCBi dXQgbm90IHJlYWxseSwgc2VlIGJlbG93KS4KCiAtIEluIHRoZW9yeSBhbGwgc291cmNlIHR5cGVz IHNob3VsZCBiZSBwb3NzaWJsZS4KCiAtIFRoaXMgbWVjaGFuaXNtIHdhcyBzdXBwb3NlZCB0byBy ZXBsYWNlIHNvdW5kIGFuZCBtb3ZpZSBvYmplY3RzLiBIZW5jZQogICB0aGVpciBkZXByZWNhdGlv bi4gVGhlIG1lY2hhbmlzbSBpcyBjb21wbGV4ICh0aGUgc3BlYyBpcyAxMCB0aW1lcwogICBsb25n ZXIgdGhhbiB0aGF0IGZvciBtb3ZpZSBvYmplY3RzKS4gSXQgZXhwZWN0cyB0aGUgUERGIHZpZXdl cnMgdG8KICAgd29yayB3aXRoIHBsdWdpbnMgYW5kIGludHJvZHVjZXMgd2F5cyBmb3IgZGV0ZXJt aW5pbmcgaWYgYSBtZWRpYSBmaWxlCiAgIGlzIHJlYWxseSBwbGF5YWJsZSBpbiBzb21lIHBsdWdp bi4gSXQgaXMgYWxsb3dlZCB0byBldmVuIGluY2x1ZGUKICAgbW9yZSBtZWRpYSBmaWxlcyAodG8g c2VydmUgYXMgZmFsbGJhY2sgc2hvdWxkIHRoZSBwcmltYXJ5IG9uZSBiZQogICB1bnN1cHBvcnRl ZCBieSB0aGUgdmlld2VyKS4gT3RoZXIgY29tcGxleGl0eSBpcyB0aGF0IHRoZSBjb25jZXB0IG9m CiAgIHRoZSByZWN0YW5nbGUgd2hlcmUgdGhlIG1lZGlhIHdpbGwgYmUgcGxheWVkICgic2NyZWVu IikgaXMgc2VwYXJhdGVkCiAgIGZyb20gdGhlIG1lZGlhIGl0c2VsZiAoInJlbmRpdGlvbiIpLiBJ biB0aGVvcnkgdGhpcyBhbGxvd3MgbWl4aW5nIGFuZAogICBtYXRjaGluZyB0aGVtLCBidXQgaW4g cHJhY3RpY2UgaXMgYSBsb3Qgb2YgdW5uZWNlc3NhcnkgY29tcGxleGl0eSwgYXQKICAgbGVhc3Qg aW4gbXkgb3Bpbmlvbi4KCiAgIFRoaXMgbWVjaGFuaXNtIGFsbG93cyBtdWx0aW1lZGlhIHBsYXll ciBjb250cm9scywgYXMgd2VsbCBhcyBQREYKICAgYWN0aW9ucy4gVGhlIFBERiBhY3Rpb24gY2Fu IGJlIGVpdGhlciBvbmUgb2YgdGhlIHByZWRlZmluZWQgb25lcyBvcgogICBlbnRpcmVseSBzcGVj aWZpZWQgaW4gSmF2YVNjcmlwdCAoZXh0cmEgQVBJIGlzIGF2YWlsYWJsZSBmb3IgdGhpcykuCgog LSBUaGlzIGlzIHRoZSBtZWNoYW5pc20gYmVoaW5kIFx1c2VleHRlcm5hbHJlbmRlcmluZy4gVGhp cyBoYXMgYmVlbgogICB1c2VkIGZvciBGbGFzaCAoLnN3ZiBmaWxlcykgYW5kICJtYW51YWwiIGF1 ZGlvICsgdmlkZW8gaW5zZXJ0aW9uIGFzCiAgIGZhciBhcyBJIGNhbiB0ZWxsLgoKIC0gRXZpbmNl IGFuZCBPa3VsYXIgc3VwcG9ydCB0aGlzICh3aXRoIHVzdWFsIHF1aXJrcyksIGJ1dCBub3QgZm9y CiAgIGV4dGVybmFsIGZpbGVzIChFdmluY2Ugc2VnZmF1bHRzKS4gQWNyb2JhdCBhbmQgRm94aXQg c3VwcG9ydCB0aGlzCiAgIG1lY2hhbmlzbSBhcyB3ZWxsLCBidXQgQWNyb2JhdCBvbmx5IGFsbG93 cyBlbWJlZGRlZCBmaWxlcy4gT2t1bGFyIGJ5CiAgIG1pc3Rha2UgYXV0by1wbGF5cyBhbGwgbWVk aWEgWzFdLgoKNCkgM0QgYXJ0CgogLSBGaXJzdCBhcHBlYXJlZCBpbiBQREYgMS42ICgyMDA0KS4K CiAtIE9ubHkgM0QgZmlsZXMgc3VwcG9ydGVkLiBUaGlzIG1lYW5zIFUzRCBhbmQgbGF0ZXIgUFJD IGZpbGVzLiBUaGUgM0QKICAgb2JqZWN0cyBkZXNjcmliZWQgaW4gdGhlIGZpbGVzIGFyZSBzaG93 biBpbiBhIHNjZW5lIHdob3NlIHBhcmFtZXRlcnMKICAgKGxpa2UgY2FtZXJhIHBvc2l0aW9uLCBh bmdsZSwgYmFja2dyb3VuZCBjb2xvciwgZXRjLikgY2FuIGJlCiAgIGNvbmZpZ3VyZWQuCgogLSBU aGUgc291cmNlIGlzIG5vdCBhIGZpbGUsIGJ1dCBhICJQREYgc3RyZWFtIiAod2hpY2ggaXMgZXNz ZW50aWFsbHkKICAgZW1iZWRkZWQgZmlsZSB3aXRoIGRpZmZlcmVudCBtZXRhZGF0YSwgYnV0IGFs bG93cyBhbHNvICJleHRlcm5hbAogICBmaWxlcyIgdG8gY29udGFpbiB0aGUgc3RyZWFtIGRhdGEp LgoKIC0gVGhlIDNEIGZ1bmN0aW9uYWxpdHkgaXMgbmljZS4gSXQgYWxsb3dzIGdyZWF0IGFtb3Vu dCBvZiBpbnRlcmFjdGl2aXR5CiAgIChwbGF5aW5nIHdpdGggdGhlIGNhbWVyYSwgc2VsZWN0aXZl bHkgZGlzYWJsaW5nIDNEIG9iamVjdHMsIGV0Yy4pIGFuZAogICBhbHNvIHNjcmlwdGFiaWxpdHkg KHN3aXRjaGluZyBiZXR3ZWVuIHByZWRlZmluZWQgInZpZXdzIiB3aXRoIFBERgogICBhY3Rpb25z IGFuZCBhIF9sb3RfIG9mIHBvc3NpYmlsaXRpZXMgd2l0aCBKYXZhU2NyaXB0IHNjcmlwdHMpLgoK IC0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHVzZWQgZm9yIHUzZCBhbmQgcHJjIGZpbGVzIGluIHRo ZSBDb25UZVh0CiAgICJmaWd1cmUiIG1lY2hhbmlzbSAoXGV4dGVybmFsZmlndXJlKS4KCiAtIEFw YXJ0IGZyb20gdGhlIGV4dGVybmFsIHN0cmVhbXMgKHNlZSBhYm92ZSkgZXZlcnl0aGluZyB3b3Jr cyBpbiBBZG9iZQogICBBY3JvYmF0LiBGb3hpdCBSZWFkZXIgYWxzbyBoYXMgc3VwcG9ydCwgYnV0 IGl0IGlzIGxpbWl0ZWQgKG5vCiAgIHN1cHBvcnQgZm9yIEphdmFTY3JpcHQgYW5kIHByaW50aW5n KS4KCgo1KSBSaWNoIE1lZGlhCgogLSBGaXJzdCBhcHBlYXJlZCBpbiBBZG9iZSBleHRlbnNpb24g bGV2ZWwgMyB0byBQREYgMS43ICgyMDA4KS4gTGF0ZXIKICAgaW5jbHVkZWQgaW4gUERGIDIuMCAo MjAxNykuIEl0IHdhcyBtZWFudCB0byByZXBsYWNlIGJvdGggbXVsdGltZWRpYQogICAocmVuZGl0 aW9ucykgYW5kIDNEIGFydCBtZWNoYW5pc21zLCB3aXRoIHVuaWZpZWQgbWVjaGFuaXNtIGJhc2Vk IG9uCiAgIEZsYXNoLCB0aHVzIGFsc28gc3VwcG9ydGluZyBhcmJpdHJhcnkgRmxhc2ggYXBwbGlj YXRpb25zLgoKIC0gU3VwcG9ydHMgdmlkZW8sIGF1ZGlvIGFuZCAzRC4KCiAtIE9ubHkgZW1iZWRk ZWQgZmlsZXMgYXJlIHN1cHBvcnRlZC4KCiAtIFdoaWxlIHRoZSBtZWNoYW5pc20gaXMgaGVhdmls eSBiYXNlZCBvbiBGbGFzaCAod2hpY2ggaXMgZGVhZCwgc2luY2UKICAgRGVjZW1iZXIgMjAyMCkg aXQgYWxsb3dzIGFsc28gInBsYWluIiBSaWNoIE1lZGlhIHdpdGhvdXQgRmxhc2guCgogICBUaGUg b2xkIGlkZWEgd2FzIHRoYXQgdGhlIFBERiB2aWV3ZXIgd291bGQgc3VwcG9ydCBGbGFzaCAoYW5k IHBsYXlpbmcKICAgaXRzIHZpZGVvIGFzIHdlbGwgYXMgbXA0KSwgYnV0IHRoZSBhdWRpby92aWRl byB3b3VsZG4ndCBiZSBwbGF5ZWQKICAgZGlyZWN0bHkgYnkgdGhlIFBERiB2aWV3ZXIsIGJ1dCBi eSBhIEZsYXNoIGFwcGxpY2F0aW9uIChlbWJlZGRlZCBpbgogICB0aGUgUERGIGFsb25nIHdpdGgg dGhlIG1lZGlhIGZpbGUpLiBUaGlzIG1lYW5zIHRoYXQgdGhlIG1lY2hhbmlzbSBoYXMKICAgaW5o ZXJlbnQgY29tcGxleGl0eSB0aGF0IGlzIG5vdCBqdXN0aWZpZWQgbm93YWRheXMgKGVzc2VudGlh bGx5IGZvdXIKICAgbGV2ZWxzIG9mIGluZGlyZWN0aW9uIGZvciBhIHBsYWluIGF1ZGlvIC8gdmlk ZW8gZmlsZSkuCgogICBXaGlsZSB0aGUgc2FtZSB0aGluZyBzaG91bGQgaGF2ZSBiZWVuIHRydWUg Zm9yIDNEIGZpbGVzIEkgY291bGRuJ3QKICAgZmluZCBhbnkgcmVhbCB1c2FnZSBsaWtlIHRoYXQu IEluc3RlYWQgaXQgc2VlbXMgdGhhdCAzRCBmaWxlcyB3aXRoCiAgIFJpY2ggTWVkaWEgaGF2ZSBh bHdheXMgYmVlbiB1c2VkIGxpa2Ugd2l0aCB0aGUgIjNEIGFydCIgbWVjaGFuaXNtCiAgIChidXQg d2l0aCBkaWZmZXJlbnQgd3JhcHBlcnMpLgoKICAgVGhlcmUgaXMgZXNzZW50aWFsbHkgbm8gc2Ny aXB0YWJpbGl0eSBmb3IgYXVkaW8gYW5kIHZpZGVvLiAoTm90ZSB0aGF0CiAgIGluIHRoaXMgcmVn YXJkIDNEIGZpbGVzIHdvcmsganVzdCBsaWtlIHdpdGggdGhlICIzRCBhcnQiIG1lY2hhbmlzbSku CiAgIFRoZXJlIGFsc28gaXNuJ3QgYW4gZWFzeSB3YXkgdG8gZGlzcGxheSBtdWx0aW1lZGlhIHBs YXllciBjb250cm9scyAoYQogICBoYWNrIHdvcmtzIGZvciBBY3JvYmF0KS4gT25lIHRoaW5nIHRo YXQgaXQgYWxsb3dzIGlzIHBsYXlpbmcgdGhlCiAgIG1lZGlhIGluIGEgY3VzdG9taXphYmxlIHdp bmRvdywgZXZlbiBmdWxsIHNjcmVlbiAobm90IG9ubHkgaW4gYSBwYXJ0CiAgIG9mIGEgcGFnZSBs aWtlIHRoZSBwcmV2aW91cyBtZWNoYW5pc21zIGFsbG93KS4KCiAtIENvblRlWHQgdXNlcyB0aGlz IG1lY2hhbmlzbSBmb3IgRmxhc2ggKFNXRikgZmlsZXMgaW4gdGhlIGZpZ3VyZQogICBtZWNoYW5p c20uIFRoaXMgaXMgYWxzbyBhbGxvd3MgYXVkaW8vdmlkZW8gKEZsYXNoIG1lZGlhIHBsYXllciwg bGlrZQogICAidnBsYXllciIgaXMgaW5zZXJ0ZWQgYW5kIHRoZSBtZWRpYSBmaWxlIGlzIGl0cyBw YXJhbWV0ZXIpLCBzZWUgZm9yCiAgIGV4YW1wbGUgImphdmEtaW1wLXZwbGF5ZXIubWtpdiIuCgog LSBCb3RoIEZsYXNoIGFuZCAicGxhaW4iIFJpY2ggbWVkaWEgYXJlIHN1cHBvcnRlZCBieSBBY3Jv YmF0IFJlYWRlci4KICAgT2t1bGFyIG9ubHkgc3VwcG9ydHMgRmxhc2ggUmljaCBNZWRpYS4gSG93 IGlzIHRoaXMgcG9zc2libGUsCiAgIGNvbnNpZGVyaW5nIHRoYXQgRmxhc2ggcGxheWVyIGlzIGRl YWQ/IFdlbGwsIGJvdGggdmlld2VycyBoYXZlIGEKICAgY29tcGF0aWJpbGl0eSBsYXllciB0aGF0 IGRldGVjdHMgZW1iZWRkZWQgRmxhc2ggbWVkaWEgcGxheWVyIGZpbGUgYW5kCiAgIGRvZXNuJ3Qg dXNlIGl0IHRvIHBsYXkgdGhlIHZpZGVvLCBidXQgaW5zdGVhZCBwbGF5cyB0aGUgdmlkZW8KICAg bmF0aXZlbHkuIFRoaXMgaXMgZ29vZCwgYmVjYXVzZSB0aGVyZSBhcmUgYSBsb3Qgb2YgZG9jdW1l bnRzIG91dAogICB0aGVyZSB3aGljaCB1c2UgRmxhc2ggYmFzZWQgUmljaCBNZWRpYS4gQnV0IHRo ZXJlIGlzIGFic29sdXRlbHkgbm8KICAgbmVlZCB0byBjcmVhdGUgbmV3IGRvY3VtZW50cyB3aXRo IGVtYmVkZGVkIEZsYXNoIHBsYXllciBhcHBsaWNhdGlvbnMsCiAgIGl0IG9ubHkgdGFrZXMgc3Bh Y2UgYW5kIGlzbid0IGV2ZW4gdXNlZC4KCiAgIE9rdWxhciBub3RhYmx5IGRvZXNuJ3Qgc3VwcG9y dCBwbGFpbiBSaWNoIE1lZGlhLiBUaGUgc3VwcG9ydCBpcyBlYXN5CiAgIHRvIGFkZCwgYnV0IG15 IHByb3Bvc2VkIHBhdGNoIFsyXSBkZXBlbmRzIG9uIGNoYW5nZXMgdG8gcG9wcGxlci4gVGhlCiAg IHBvcHBsZXIgZGV2ZWxvcGVycyB3YW50IHRvIHRha2UgdGhpcyBjaGFuY2UgdG8gaW1wcm92ZSB0 aGUgUmljaCBNZWRpYQogICByZXByZXNlbnRhdGlvbiBbM10gYnV0IEkgaGF2ZW4ndCBnb3R0ZW4g dG8gdGhhdCwgeWV0LgoKICAgU3VwcG9ydCBzaW1pbGFyIHRvIE9rdWxhcidzIHNob3VsZCBiZSBy ZWxhdGl2ZWx5IGVhc3kgdG8gYWRkIHRvCiAgIEV2aW5jZSBhcyB3ZWxsLgoKICAgVGhlIDNEIHN1 cHBvcnQgaXMgdGhlIHNhbWUgYXMgd2l0aCAzRCBhcnQgZm9yIEFjcm9iYXQgUmVhZGVyLiBXZWly ZGx5CiAgIEZveGl0IFJlYWRlciBkb2Vzbid0IHN1cHBvcnQgM0QgZmlsZXMgd3JhcHBlZCBpbiBS aWNoIE1lZGlhLCBhbHRob3VnaAogICB0aGVyZSBkb2Vzbid0IHNlZW0gYW55IGdvb2QgcmVhc29u IGZvciBpdC4KCgpBbGwgaW4gYWxsLCBvZiB0aGUgZml2ZSBtZWNoYW5pc21zIDIgYXJlIGRlcHJl Y2F0ZWQgYW5kIHVuZm9ydHVuYXRlbHkgbm8KbG9uZ2VyIHN1cHBvcnRlZCBpbiB0aGUgbW9zdCB1 c2VkIFBERiB2aWV3ZXIgYW5kIG90aGVyIDIgbWVjaGFuaXNtcyBhcmUKbmVlZGxlc3NseSBjb21w bGV4IGFuZCBpbiByZWFsaXR5IGxpbWl0ZWQuIEZvciBleGFtcGxlLCB3aGlsZSB0aGUKbXVsdGlt ZWRpYSBtZWNoYW5pc20gc3VwcG9ydHMgSmF2YVNjcmlwdCwgKEFGQUlLKSBvbmx5IEFjcm9iYXQg UmVhZGVyCnN1cHBvcnRzIHRoYXQsIHRoaXMgZnVydGhlciBsaW1pdHMgdGhlIHZpZXdlciBzdXBw b3J0IG9yIGF2YWlsYWJsZQpmZWF0dXJlcywgY2hvb3NlIG9uZS4KClRoZSBzdXBwb3J0IGZvciB2 aWRlbyBhbmQgYXVkaW8gaW4gT2t1bGFyIGFuZCBFdmluY2UgaXMgYmFzZWQgb24KR3N0cmVhbWVy LiBFeHBsYWluaW5nIEdzdHJlYW1lciBpcyB0cmlja3ksIGJ1dCBlc3NlbnRpYWxseSBpdCBhbGxv d3MgdGhlCnZpZXdlcnMgdG8gcGxheSBhbnkgbWVkaWEgdHlwZSBhcyBsb25nIGFzIHRoZSByaWdo dCBwbHVnaW4gaXMgaW5zdGFsbGVkLgpUaGVzZSBwbHVnaW5zIGFyZSBkaXN0cmlidXRlZCBpbiBi dW5kbGVzcyBhbmQgdGhyZWUgb2YgdGhlbSBjb3ZlciBhbGwKcmVhc29uYWJsZSBmb3JtYXRzIGFu ZCBtb3JlLiBCdXQgd2hpbGUgdGhlIG1lZGlhIGZpbGUgZm9ybWF0IHN1cHBvcnQgaXMKZ3JlYXQs IHRoZXNlIHZpZXdlcnMgZG9uJ3QgcmVhbGx5IHN1cHBvcnQgUERGIGFjdGlvbnMgb3IgSmF2YVNj cmlwdCBmb3IKbW9yZSBjb250cm9sIG92ZXIgdGhlIG1lZGlhIHBsYXliYWNrLgoKQWNyb2JhdCBh bmQgRm94aXQgYm90aCB1c2UgV2luZG93cyBNZWRpYSBQbGF5ZXIgZm9yIHBsYXlpbmcgdGhlIHZp ZGVvLgpCb3RoIHN1cHBvcnQgY29udHJvbHMsIGJ1dCBiZWhhdmUgZGlmZmVyZW50bHkgLS0gQWNy b2JhdCBkaXNwbGF5cyB0aGUKY29udHJvbHMgb3V0c2lkZSBvZiB0aGUgbXVsdGltZWRpYSBhbm5v dGF0aW9uLCBGb3hpdCB3aXRoaW4uLi4KCkFzIGlmIGl0IHdhc24ndCBlbm91Z2ggdGhlcmUgaXMg b3RoZXIgdHJvdWJsZSB3aXRoIHBsYXlpbmcgbXVsdGltZWRpYSBpbgpBY3JvYmF0IFJlYWRlciBh bmQgRm94aXQgUmVhZGVyLiBUaGV5IG5hZyB5b3UgdG8gYWxsb3cgdGhlIG1lZGlhCnBsYXliYWNr IGV2ZXJ5IHRpbWUuIFlvdSBjYW4gc2VsZWN0IHRvIHRydXN0IHRoZSBmaWxlIG9uY2Ugb3IgZnJv bSBub3cKb24sIGJ1dCBpZiBzb21lYm9keSBvcGVucyBhIGZvcmVpZ24gUERGIHdpdGggdmlkZW8s IHRoZXkgYXJlbid0IGdvaW5nIHRvCmdldCBzbW9vdGggZXhwZXJpZW5jZS4KCkFub3RoZXIgdGhp bmcgKGJ1dCBJIGRvbid0IHJlbWVtYmVyIHdlbGwpIGlzIHRoYXQgdGhlcmUgaXMgYSBjaGVjayBi b3gKaW4gQWNyb2JhdCBSZWFkZXIsIHRoYXQgYWxsb3dzIHRoZSAibGVnYWN5IiBNdWx0aW1lZGlh IG1lY2hhbmlzbS4gSQpkb24ndCByZW1lbWJlciBpdHMgc3RhdGUgaW4gYW4gdW5hbHRlcmVkIGlu c3RhbGxhdGlvbi4KCkFmdGVyIGV2YWx1YXRpbmcgdGhlc2UgbWVjaGFuaXNtcyBJIGNhbWUgdG8g Y29uY2x1c2lvbiwgdGhhdCBhIFBERgp3cml0ZXIgdG9kYXkgaXMgYmVzdCBhdDoKCiAtIEVtYmVk ZGluZyB2aWRlbyBhbmQgYXVkaW8gdXNpbmcgdGhlICJtdWx0aW1lZGlhIiAoInJlbmRpdGlvbnMi KQogICBtZWNoYW5pc20uIEl0IGlzIHN1cHBvcnRlZCBpbiBwcm9wcmlldGFyeSBhbmQgb3BlbiBz b3VyY2Ugdmlld2VycwogICBhbGlrZS4gQ3VzdG9taXphdGlvbiBhbmQgc2NyaXB0aW5nIC8gUERG IGFjdGlvbnMgaXMgb3V0IG9mIHRoZQogICBxdWVzdGlvbiwgdGhvdWdoLgoKIC0gRW1iZWRkaW5n IDNEIGZpbGVzIHVzaW5nIHRoZSAiUmljaCBNZWRpYSIgbWVjaGFuaXNtLiBXaGlsZSBpdCBpcwog ICBlc3NlbnRpYWxseSBqdXN0IGEgZmV3IGRpZmZlcmVuY2VzIGluIHdyYXBwZXJzLCBpdCBoYXMg cmVhbAogICBhZHZhbnRhZ2VzIChkYXRhIHNvdXJjZXMgYXJlIGZpbGVzIG5vdCBzdHJlYW1zLCBh bmQgbXVsdGlwbGUKICAgSmF2YVNjcmlwdCBzY3JpcHQgZmlsZXMgYXJlIHN1cHBvcnRlZCksIHRo YXQgSSBmaW5kIG5pY2UgZW5vdWdoIGZvcgogICB0aGUgaW1wbGVtZW50YXRpb24gYW5kIHVzZXJz IGFsaWtlLgoKClNvbWUgc291cmNlcyBmb3IgdGhpcyB0b3BpYyBhcmUgYWxzbyB0aGUgTGFUZVgg Y2VudHJpYyBbNF0gYW5kIFs1XS4gSSBnbwppbnRvIG1vcmUgZGV0YWlscyBpbiB0aGUgZm9ybWVy LiBJbiB0aGUgbGF0dGVyIHRoZSAicGxhaW4iIFJpY2ggTWVkaWEKYW5kICJtdWx0aW1lZGlhIiAo InJlbmRpdGlvbnMiKSBtZWNoYW5pc21zIGFyZSBzdWdnZXN0ZWQgYXMgc29sdXRpb25zCmZvciB0 aGUgRmxhc2ggbWVkaWEgcGxheWVyIGFwcHJvYWNoLgoKCkFuZCBub3cgZm9yIHRoZSBmdXR1cmUu IFdoYXQgc2hvdWxkIENvblRlWHQgZG8/IE9uIG9uZSBoYW5kIGFsbAphdmFpbGFibGUgbWVjaGFu aXNtcyBhcmUgZmxhd2VkIGluIG9uZSB3YXkgb3IgdGhlIG90aGVyLiBPbiB0aGUgb3RoZXIKaGFu ZCBzb21lIHVzZXJzIG1heSBzdGlsbCBmaW5kIHRoZSBmdW5jdGlvbmFsaXR5IHVzZWZ1bC4gTXkg c3VnZ2VzdGlvbnMKaXMgdG8gZWl0aGVyIGRlbGV0ZSBhbGwgdGhlIHN1cHBvcnQgZm9yIGF1ZGlv L3ZpZGVvIG9yOgoKIDEpIERlbGV0ZSB0aGUgIk1vdmllIG9iamVjdHMiIGltcGxlbWVudGF0aW9u IG9mIGZpZ3VyZXMuIEl0IGlzIG5vdAogICAgc3VwcG9ydGVkIGluIHZpZXdlcnMsIHdoZXJlIHVz ZXJzIGV4cGVjdCBpdCB0byBbNl0uCgogMikgRGVsZXRlIGFsbCBtZW50aW9ucyBvZiBGbGFzaC4g VGhlcmUgaXMgbm8gcmVhc29uIHRvIGNyZWF0ZSBuZXcKICAgIGRvY3VtZW50cyB3aXRoIGVtYmVk ZGVkIEZsYXNoIGZpbGVzLCBldmVuIHRob3VnaCB0aGV5IG1heSB3b3JrIGluCiAgICBzb21lIHZp ZXdlcnMuIFBsYWluIFJpY2ggTWVkaWEgY2FuIGJlIHVzZWQgaW5zdGVhZCwgd2l0aCBob3BlZnVs bHkKICAgIHNvb24gZXF1YWwgc3VwcG9ydCBbMl0uCgogMykgVGhlICJleHRlcm5hbHJlbmRlcmlu ZyIgbWVjaGFuaXNtIChtdWx0aW1lZGlhL3JlbmRpdGlvbnMpIGNhbiBzdGF5LgogICAgSWYgdGhl IGluc2VydGlvbiBvZiBhdWRpby92aWRlbyBhcyAiZmlndXJlcyIgaXMgdG8gc3RheSwgdGhlbiBJ CiAgICBzdWdnZXN0IHRvIHVzZSBtdWx0aW1lZGlhL3JlbmRpdGlvbnMgZm9yIGl0IChpbiBzaW1w bGlmaWVkIGZvcm0pLgoKTm90ZSB0aGF0IHRoZSAzRCBzdXBwb3J0IGluIENvblRlWHQgaXMgY29t cGxldGVseSBmaW5lIGFuZCB3b3JrcyBpbgpBY3JvYmF0IGFuZCBGb3hpdC4KClRoZSAiZXh0ZXJu YWxyZW5kZXJpbmciIHBhcnQgY3VycmVudGx5IGhhcyB0aHJlZSAiYnVncyIuIFByZXZpb3VzCmRp c2N1c3Npb24gYXQgdGhpcyBsaXN0IHByb3ZpZGVzIHNvbWUgY29udGV4dCBbN10uIFRoZSBmb2xs b3dpbmcgaXMKY3VycmVudGx5ICJ3cm9uZyI6CgogLSBDdXJyZW50bHkgQ29uVGVYdCB3cmFwcyBh IFBERiBmaWxlIHNwZWNpZmljYXRpb24gZm9yIGVtYmVkZGVkIGZpbGUKICAgaW5zaWRlIGFub3Ro ZXIgZmlsZSBzcGVjaWZpY2F0aW9uIChpLmUuIGVtYmVkZGVkIGZpbGVzIGRvbid0IHdvcmspLgog LSBBcyBhIHJlc3VsdCBvZiAiZXh0ZXJuYWxyZW5kZXJpbmciIGluaGVyaXRpbmcgZnJvbSBcZnJh bWVkLCB0aGUKICAgUERGIGFubm90YXRpb24gbGF0ZV9sdWEgd2hhdHNpdCBpcyBjZW50ZXJlZCBp bnNpZGUgdGhlIGZyYW1lIGFuZCBzbwogICB0aGUgYW5ub3RhdGlvbiBpdHNlbGYgaXMgb2Zmc2V0 IGJ5IGhhbGYgaXRzIHdpZHRoIHRvIHRoZSByaWdodC4KIC0gQ29uVGVYdCBkb2Vzbid0IGV4cGxp Y2l0bHkgYWxsb3cgdGhlIHZpZXdlciB0byBjcmVhdGUgdGVtcG9yYXJ5CiAgIGZpbGVzLCBoZW5j ZSB0aGUgcGxheWJhY2sgZmFpbHMgaW4gQWNyb2JhdCBSZWFkZXIuCgpIb3BlZnVsbHkgdGhlIHBh dGNoIGluY2x1ZGVkIGJlbG93IGZpeGVzIGFsbCB0aHJlZS4gQnV0IG5vdGUgdGhhdCB3aGlsZQpJ IGxvdmUgQ29uVGVYdCBJIGRvbid0IGtub3cgaXQgd2VsbCBhbmQgbWF5IGJlIHRlcnJpYmx5IHdy b25nLiBJIGFsc28Kd2FzIGFpbWluZyBhdCBhIG1pbmltYWwgZGlmZiBmb3IgaW5jbHVzaW9uIGlu IHRoaXMgZS1tYWlsLiBUaGlzIGlzIGEKdGVzdCBmaWxlIGZvciB0aGlzOgoKICAgIFxzdGFydHRl eHQKICAgIFxzZXR1cGludGVyYWN0aW9uW3N0YXRlPXN0YXJ0XQogICAgCiAgICBcdXNlZXh0ZXJu YWxyZW5kZXJpbmdbbXl2aWRlb11bdmlkZW8vbXA0XVt2aWRlby5tcDRdW2VtYmVkPXllc10KICAg IFx1c2VleHRlcm5hbHJlbmRlcmluZ1tteXZpZGVvMl1bdmlkZW8vbXA0XVtodHRwczovL2dpdGxh Yi5jb20vYWdyYWhuL21lZGlhOS91cGxvYWRzL2M3ZTJhZTk0NGZiZDcxMWRmNGFkN2JkNTgwMDBm ODNhL25pZ2h0c2VxMS5tcDRdCiAgICBcdXNlZXh0ZXJuYWxyZW5kZXJpbmdbbXl2aWRlbzNdW3Zp ZGVvL21wNF1bdmlkZW8ubXA0XQogICAgCiAgICBcZGVmaW5lcmVuZGVyaW5nd2luZG93W215cmVu ZGVyaW5nd2luZG93XVt3aWR0aD1cdGV4dHdpZHRoLCBoZWlnaHQ9XHRleHR3aWR0aF0KICAgIAog ICAgXG5vaW5kZW50CiAgICBccGxhY2VyZW5kZXJpbmd3aW5kb3dbbXlyZW5kZXJpbmd3aW5kb3dd W215dmlkZW9dCiAgICAKICAgIFxnb3Rve1NUQVJUfVtTdGFydFJlbmRlcmluZ3tteXZpZGVvfV0K ICAgIFxnb3Rve1NUT1B9IFtTdG9wUmVuZGVyaW5ne215dmlkZW99XQogICAgXGdvdG97UEFVU0V9 W1BhdXNlUmVuZGVyaW5ne215dmlkZW99XQogICAgCiAgICBcdmZpbFxicmVha1xub2luZGVudAog ICAgXHBsYWNlcmVuZGVyaW5nd2luZG93W215cmVuZGVyaW5nd2luZG93XVtteXZpZGVvMl0KICAg IAogICAgXHZmaWxcYnJlYWtcbm9pbmRlbnQKICAgIFxwbGFjZXJlbmRlcmluZ3dpbmRvd1tteXJl bmRlcmluZ3dpbmRvd11bbXl2aWRlbzNdCiAgICAKICAgIFxzdG9wdGV4dAoKQWxsIHRocmVlIGZp bGUgc291cmNlIHR5cGVzIGFyZSBkZW1vbnN0cmF0ZWQuIEFueSAidmlkZW8ubXA0IiBpbiB0aGUK ZGlyZWN0b3J5IHlvdSBjb21waWxlIGluIHdpbGwgZG8uIChXb3JrcyBhcyBleHBlY3RlZCBpbiBP a3VsYXIgb24KTGludXguKQoKClRoaXMgd2FzIGEgZHVtcCBvZiBrbm93bGVkZ2UgdGhhdCBJIGdh aW5lZCBmcm9tIHdyaXRpbmcgbXkgdGhlc2lzLgpTYWRseSBpdHMgaW4gQ3plY2gsIGJ1dCBwYXJ0 IG9mIGl0IGlzIFBERiBjb2RlIHNuaXBwZXRzIGFuZCB0YWJsZXMKc3VtbWFyaXppbmcgdmlld2Vy IHN1cHBvcnQsIHRoYXQgSSBjYW4gdHJhbnNsYXRlIGFuZCBwcm92aWRlIGlmIHRoZXJlIGlzCmlu dGVyZXN0LiBCdXQgYSBsYXJnZSBwYXJ0IG9mIHdoYXQgSSBkZWVtIHByYWN0aWNhbCB0b2RheSBp cyBpbXBsZW1lbnRlZAphbmQgZG9jdW1lbnRlZCBoZXJlOgpodHRwOi8vbWlycm9ycy5jdGFuLm9y Zy9tYWNyb3MvbHVhdGV4L29wdGV4L3BkZmV4dHJhL3BkZmV4dHJhLWRvYy5wZGYuClRoZSBzb3Vy Y2UgaXMgcHJvYmFibHkgaGFyZCB0byByZWFkLCBiZWNhdXNlIG9mIHRoZSAiXyIgYW5kICIuIiBw cmVmaXhlcwppbiB0aGUgY29udHJvbCBzZXF1ZW5jZXMsIGJ1dCB0aG9zZSBjYW4gYmUgaWdub3Jl ZC4gSSBwb3N0ZWQgc29tZSAicmVhbCIKZG9jdW1lbnRzIGluIFszXSBhbmQgWzVdLgoKSWYgbW9y ZSBkb2N1bWVudHMgLyBzbmlwcGV0cyAvIGV4cGxhbmF0aW9ucyBhcmUgbmVlZGVkIEkgaG9wZSBJ IGNhbgpwcm92aWRlIHRoZW0uCgpTYWRseSwgd2hpbGUgd29ya2luZyBvbiB0aGlzLCBJIGRpZG4n dCBoYXZlIGFjY2VzcyB0byB0aGUgUERGIDIuMApzdGFuZGFyZC4gTXkgaW5mb3JtYXRpb24gbW9z dGx5IGNvbWVzIGZyb20gdGhlIFBERiAxLjcgc3RhbmRhcmQgYW5kCnB1YmxpY2x5IGtub3duIGlu Zm9ybWF0aW9uIGFib3V0IFBERiAyLjAgLSB0aGUgUmljaCBNZWRpYSBtZWNoYW5pc20gZ290Cmlu Y2x1ZGVkIGluIFBERiAyLjAsIGJ1dCBJIGFtIG5vdCBzdXJlIGluIHdoYXQgZXh0ZW50IGRpZCB0 aGUgRmxhc2ggcGFydApnZXQgaW5jbHVkZWQuIEkgYWxzbyBkb24ndCBrbm93IGlmIHRoZXJlIHJl YWxseSBpcyBhbnl0aGluZyBuZXcsIGJ1dApub3RoaW5nIHN1Z2dlc3RzIGl0LiBSZWdhcmRsZXNz LCB2aWV3ZXIgc3VwcG9ydCBpc24ndCBjb21wbGV0ZSBmb3IKc29tZXRoaW5nIHN0YW5kYXJkaXpl ZCBvdmVyIDIwIHllYXJzIGFnbywgSSBkb24ndCBleHBlY3QgcmV2b2x1dGlvbiBpbgp0aGUgUERG IHZpZXdlcnMsIGNvbnNpZGVyaW5nIHRoZSBwcmljZSBvZiB0aGUgc3RhbmRhcmQocykuCgoKWzFd OiBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM2NzA5ClsyXTogaHR0cHM6 Ly9pbnZlbnQua2RlLm9yZy9ncmFwaGljcy9va3VsYXIvLS9tZXJnZV9yZXF1ZXN0cy80MjYKWzNd OiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9wcGxlci9wb3BwbGVyLy0vbWVyZ2Vf cmVxdWVzdHMvODU1Cls0XTogaHR0cHM6Ly90ZXguc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25z LzUxNjAyOS9tZWRpYTktaXMtYmVjb21pbmctb2Jzb2xldGUtZGVjLTIwMjAtYW55LWFsdGVybmF0 aXZlcy1mb3ItZW1iZWRkaW5nLXZpZGVvLWF1ZGlvLzUxNjEwMgpbNV06IGh0dHBzOi8vZ2l0bGFi LmNvbS9hZ3JhaG4vbWVkaWE5Ly0vaXNzdWVzLzkKWzZdOiBodHRwczovL3dpa2kuY29udGV4dGdh cmRlbi5uZXQvQ29tbWFuZC9leHRlcm5hbGZpZ3VyZQpbN106IGh0dHBzOi8vd3d3Lm1haWwtYXJj aGl2ZS5jb20vbnRnLWNvbnRleHRAbnRnLm5sL21zZzg4NjM5Lmh0bWwKCgpCZXN0IHJlZ2FyZHMs Ck1pY2hhbCBWbGFzw6FrCgoKLS0tIGEvdGV4L3RleG1mLWNvbnRleHQvdGV4L2NvbnRleHQvYmFz ZS9ta3hsL2xwZGYtd2lkLmxtdAorKysgYi90ZXgvdGV4bWYtY29udGV4dC90ZXgvY29udGV4dC9i YXNlL21reGwvbHBkZi13aWQubG10CkBAIC02ODksMjIgKzY4OSwyNiBAQAogICAgICAtLSAgICAg ICAgICBCID0gc3RhcnQsCiAgICAgIC0tICAgICB9CiAgICAgIC0tIH0KLSAgICAgLS0gbG9jYWwg cGFyYW1ldGVycyA9IHBkZmRpY3Rpb25hcnkgewotICAgICAtLSAgICAgVHlwZSA9IHBkZmNvbnN0 YW50KE1lZGlhUGVybWlzc2lvbnMpLAotICAgICAtLSAgICAgVEYgICA9IHBkZnN0cmluZygiVEVN UEFMV0FZUyIpIH0sIC0tIFRFTVBORVZFUiBURU1QRVhUUkFDVCBURU1QQUNDRVNTIFRFTVBBTFdB WVMKLSAgICAgLS0gfQorICAgICAgICBsb2NhbCBwYXJhbWV0ZXJzID0gcGRmZGljdGlvbmFyeSB7 CisgICAgICAgICAgICBUeXBlID0gcGRmY29uc3RhbnQoIk1lZGlhUGVybWlzc2lvbnMiKSwKKyAg ICAgICAgICAgIFRGICAgPSBwZGZzdHJpbmcoIlRFTVBBTFdBWVMiKSwgLS0gVEVNUE5FVkVSIFRF TVBFWFRSQUNUIFRFTVBBQ0NFU1MgVEVNUEFMV0FZUworICAgICAgICAgICAgLS0gVEVNUEFMV0FZ UyAtIGFsbG93cyB0ZW1wb3JhcnkgZmlsZXMgKG5lZWRlZCBmb3IgQWNyb2JhdCAvIFdpbmRvd3Mg TW92aWUgUGxheWVyKQorICAgICAgICB9CiAgICAgICAgIGxvY2FsIGRlc2NyaXB0b3IgPSBwZGZk aWN0aW9uYXJ5IHsKICAgICAgICAgICAgIFR5cGUgPSBwZGZjb25zdGFudCgiRmlsZXNwZWMiKSwK ICAgICAgICAgICAgIEYgICAgPSBmaWxlbmFtZSwKICAgICAgICAgfQogICAgICAgICBpZiBpc3Vy bCB0aGVuCiAgICAgICAgICAgICBkZXNjcmlwdG9yLkZTID0gcGRmY29uc3RhbnQoIlVSTCIpCisg ICAgICAgICAgICBkZXNjcmlwdG9yID0gcGRmcmVmZXJlbmNlKHBkZmZsdXNob2JqZWN0KGRlc2Ny aXB0b3IpKQogICAgICAgICBlbHNlaWYgb3B0aW9uW3ZfZW1iZWRdIHRoZW4KLSAgICAgICAgICAg IGRlc2NyaXB0b3IuRUYgPSBjb2RlaW5qZWN0aW9ucy5lbWJlZGZpbGUgeworICAgICAgICAgICAg ZGVzY3JpcHRvciA9IGNvZGVpbmplY3Rpb25zLmVtYmVkZmlsZSB7CiAgICAgICAgICAgICAgICAg ZmlsZSAgICAgPSBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICBtaW1ldHlwZSA9IG1pbWV0eXBl LCAtLSB5ZXMgb3Igbm8KICAgICAgICAgICAgICAgICBjb21wcmVzcyA9IGZhbHNlLAogICAgICAg ICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBkZXNjcmlwdG9yID0gcGRmcmVmZXJl bmNlKHBkZmZsdXNob2JqZWN0KGRlc2NyaXB0b3IpKQogICAgICAgICBlbmQKICAgICAgICAgbG9j YWwgY2xpcCA9IHBkZmRpY3Rpb25hcnkgewogICAgICAgICAgICAgVHlwZSA9IHBkZmNvbnN0YW50 KCJNZWRpYUNsaXAiKSwKQEAgLTcxMiw4ICs3MTYsOCBAQAogICAgICAgICAgICAgTiAgICA9IGxh YmVsLAogICAgICAgICAgICAgQ1QgICA9IG1pbWV0eXBlLAogICAgICAgICAgICAgQWx0ICA9IHBk ZmFycmF5IHsgIiIsICJmaWxlIG5vdCBmb3VuZCIgfSwgLS0gbGFuZ3VhZ2UgaWQgKyBtZXNzYWdl Ci0gICAgICAgICAgICBEICAgID0gcGRmcmVmZXJlbmNlKHBkZmZsdXNob2JqZWN0KGRlc2NyaXB0 b3IpKSwKLSAgICAgICAgIC0tIFAgICAgPSBwZGZyZWZlcmVuY2UocGRmZmx1c2hvYmplY3QocGFy YW1ldGVycykpLAorICAgICAgICAgICAgRCAgICA9IGRlc2NyaXB0b3IsCisgICAgICAgICAgICBQ ICAgID0gcGRmcmVmZXJlbmNlKHBkZmZsdXNob2JqZWN0KHBhcmFtZXRlcnMpKSwKICAgICAgICAg fQogICAgICAgICBsb2NhbCByZW5kaXRpb24gPSBwZGZkaWN0aW9uYXJ5IHsKICAgICAgICAgICAg IFR5cGUgPSBwZGZjb25zdGFudCgiUmVuZGl0aW9uIiksCi0tLSBhL3RleC90ZXhtZi1jb250ZXh0 L3RleC9jb250ZXh0L2Jhc2UvbWt4bC9zY3JuLXdpZC5ta2x4CisrKyBiL3RleC90ZXhtZi1jb250 ZXh0L3RleC9jb250ZXh0L2Jhc2UvbWt4bC9zY3JuLXdpZC5ta2x4CkBAIC02NDksNiArNjQ5LDcg QEAKICAgICBcbGV0cmVuZGVyaW5nd2luZG93cGFyYW1ldGVyXGMhY2xvc2VwYWdlYWN0aW9uXGVt cHR5CiAgICAgXHNldHJlbmRlcmluZ3dpbmRvd3BhcmFtZXRlclxjIXdpZHRoICAgICAgICAgIHtc ZF9zY3JuX3JlbmRlcmluZ193aWR0aCB9JQogICAgIFxzZXRyZW5kZXJpbmd3aW5kb3dwYXJhbWV0 ZXJcYyFoZWlnaHQgICAgICAgICB7XGRfc2Nybl9yZW5kZXJpbmdfaGVpZ2h0fSUKKyAgICBcc2V0 cmVuZGVyaW5nd2luZG93cGFyYW1ldGVyXGMhYWxpZ24gICAgICAgICAge1x2IWZsdXNobGVmdH0l IGRvbid0IGNlbnRlciBhbm5vdGF0aW9uIHdoYXRzaXQKIFx0byBcZXZlcnlwcmVzZXRyZW5kZXJp bmd3aW5kb3cKIAogXHBlcm1hbmVudFx0b2xlcmFudFxwcm90ZWN0ZWRcZGVmXHBsYWNlcmVuZGVy aW5nd2luZG93WyN3aW5kb3ddI3NwYWNlclsjcmVuZGVyaW5nXSUgZG8gYWxsIGluIGx1YQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJZiB5b3VyIHF1ZXN0aW9uIGlzIG9mIGludGVyZXN0IHRv IG90aGVycyBhcyB3ZWxsLCBwbGVhc2UgYWRkIGFuIGVudHJ5IHRvIHRoZSBXaWtpIQoKbWFpbGxp c3QgOiBudGctY29udGV4dEBudGcubmwgLyBodHRwOi8vd3d3Lm50Zy5ubC9tYWlsbWFuL2xpc3Rp bmZvL250Zy1jb250ZXh0CndlYnBhZ2UgIDogaHR0cDovL3d3dy5wcmFnbWEtYWRlLm5sIC8gaHR0 cDovL2NvbnRleHQuYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0Lm9yZy9w aGcvY29udGV4dC1taXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwOi8vY29udGV4dGdhcmRl bi5uZXQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K