From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kaushal Modi Newsgroups: gmane.emacs.devel Subject: Re: Considering hi-lock-file-patterns as safe Date: Thu, 18 Feb 2016 11:38:36 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c30c2cd8daaf052c0e01a5 X-Trace: ger.gmane.org 1455813591 29431 80.91.229.3 (18 Feb 2016 16:39:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 18 Feb 2016 16:39:51 +0000 (UTC) To: John Wiegley , Kaushal Modi , Emacs developers , Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Feb 18 17:39:45 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aWRcG-0007qW-MZ for ged-emacs-devel@m.gmane.org; Thu, 18 Feb 2016 17:39:44 +0100 Original-Received: from localhost ([::1]:42936 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWRcC-00050j-KH for ged-emacs-devel@m.gmane.org; Thu, 18 Feb 2016 11:39:40 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWRbr-0004zc-BV for emacs-devel@gnu.org; Thu, 18 Feb 2016 11:39:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWRbp-0000kd-HX for emacs-devel@gnu.org; Thu, 18 Feb 2016 11:39:19 -0500 Original-Received: from mail-ob0-x231.google.com ([2607:f8b0:4003:c01::231]:34980) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWRbo-0000j9-Vl; Thu, 18 Feb 2016 11:39:17 -0500 Original-Received: by mail-ob0-x231.google.com with SMTP id xk3so75601801obc.2; Thu, 18 Feb 2016 08:39:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=uOCw82v8f6ITJ5Y7gi6ZQXqq1hEzu8bj49yyrYYl++4=; b=W9GG3RJI2B5/dNMQeY6ZTqAHVtMyb3hmyKIjph3EpXLqvEZd4moVbhMOIt+WRKEJRj f8E037rw/rexAnhYq99jqTxCX0iI8DnLj3aoXdCsdHtkvj8N1yPesGImfgDIlN90rwtE B8hi0/CxeTvYIkjd6ue68xC7RXPRXmPaLWEbJiQJJkWKEPpm+MsgscgXV/Nx4ZT7f2l0 K6ZPhqVgXCrpQeTeUcizKs67Fg4wne8Bw0cFQrimCqMRwiV4v7H82EmDBfpsg6dcKc67 mT1iBAUE5c8bruwvk8hxGEbaPVAokjOSXYX7x6ez3Rt07a3IRSUvS2RcV1xBUuUR1tuc Cbcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=uOCw82v8f6ITJ5Y7gi6ZQXqq1hEzu8bj49yyrYYl++4=; b=SX9hkX/3HoMkwfQezm6OxXd7189tOXFk0lTHpczSjI6LiC15Lq3x7MPXsw6ZfdSjch zBYuzNA9CdRMWe7VHnvYd+/NF2ZSQ6WqR2db7zwWSU62L+T4rsUMTvwoo/UsoOmWKMAS JnNmqeUqLyCKQst71fH6zj8a/2mBppGGF843IrOEMpkT242ykhdhffklIZw1KskABWI3 EICRmDWJzlN/QYnwlHidL4VmTt0pYUsgDD2/UZ23JumZN7R4BJMoVKi/GN9BjejNo1Ga vOfGSssL/4c8/O7wZ/XLKWjsFX0rkg5UM2cjK84jQZa4aE06dLrDzvGlfGb5XalhJD9n QblA== X-Gm-Message-State: AG10YOS+Sob9Dsrqg7EVGvYkBFn9Hpfp5ruo4PfDsnYGD2DEw0knkFRkriFLupQuhlzlUIhEiJLSD8yywNdF6w== X-Received: by 10.182.165.8 with SMTP id yu8mr7501789obb.63.1455813555704; Thu, 18 Feb 2016 08:39:15 -0800 (PST) Original-Received: by 10.202.201.73 with HTTP; Thu, 18 Feb 2016 08:38:36 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4003:c01::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:200125 Archived-At: --001a11c30c2cd8daaf052c0e01a5 Content-Type: text/plain; charset=UTF-8 On Wed, Feb 17, 2016 at 6:17 PM, John Wiegley wrote: > >>>>> Kaushal Modi writes: > > > So now I am wondering if this variable can be marked permanently as safe > > within the library itself. That way people can customize it in their . > > dir-locals.el files without this hack. > > Do we have a precedent for doing this elsewhere? I don't see a single occurrence of (put 'SOME-VAR 'safe-local-variable 'identity) in the emacs source. Here is how I set the hi-lock-text-patterns in my .dir-locals.el ((text-mode . ((hi-lock-file-patterns . (;; UVM_WARNING ("^\\s-*\\(UVM_WARNING\\)\\s-+[^:]" (1 '(:inherit default :foreground "black" :background "orange" :height 1.1) prepend)) ("^\\s-*\\(UVM_WARNING\\s-+:\\s-+[1-9][0-9]*\\)" (1 '(:inherit default :foreground "black" :background "orange" :box (:line-width 2 :color "green") :height 1.1 :weight bold) prepend)) ;; UVM_ERROR ("^\\s-*\\(UVM_ERROR\\)\\s-+[^:]" (1 '(:inherit default :foreground "white" :background "red" :height 1.1) prepend)) ("^\\s-*\\(UVM_ERROR\\s-+:\\s-+[1-9][0-9]*\\)" (1 '(:inherit default :foreground "white" :background "red" :box (:line-width 2 :color "green") :height 1.1 :weight bold) prepend))))))) As I couldn't figure out how to qualify that alist value of hi-lock-file-patterns, I used 'identity as the qualifier. But I do see instances of marking variables as safe (just not using 'identity, which understandably is very risky): 24793:(put 'sh-shell 'safe-local-variable 'symbolp) 25436:(put 'sort-fold-case 'safe-local-variable 'booleanp) 25510:(put 'sort-numeric-base 'safe-local-variable 'integerp) 28175:(put 'time-stamp-format 'safe-local-variable 'stringp) 28176:(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) 28177:(put 'time-stamp-line-limit 'safe-local-variable 'integerp) 28178:(put 'time-stamp-start 'safe-local-variable 'stringp) 28179:(put 'time-stamp-end 'safe-local-variable 'stringp) 28180:(put 'time-stamp-inserts-lines 'safe-local-variable 'symbolp) So the question would be: - If we were to mark hi-lock-file-patterns as safe in hi-lock.el itself, what would be a valid qualifier so that I can set its value as shown above in my .dir-locals.el? -- Kaushal Modi --001a11c30c2cd8daaf052c0e01a5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+T24gV2VkLCBGZWIgMTcsIDIwMTYgYXQgNjoxNyBQTSwgSm9obiBXaWVn bGV5wqA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpqd2llZ2xleUBnbWFpbC5j b20iIHRhcmdldD0iX2JsYW5rIj5qd2llZ2xleUBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj7CoHdy b3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4 IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O2JvcmRlci1sZWZ0LWNvbG9yOnJn YigyMDQsMjA0LDIwNCk7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7cGFkZGluZy1sZWZ0OjFleCI+ PHNwYW4gY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgS2F1c2hhbCBNb2RpICZsdDs8YSBo cmVmPSJtYWlsdG86a2F1c2hhbC5tb2RpQGdtYWlsLmNvbSI+a2F1c2hhbC5tb2RpQGdtYWlsLmNv bTwvYT4mZ3Q7IHdyaXRlczo8YnI+PGJyPiZndDsgU28gbm93IEkgYW0gd29uZGVyaW5nIGlmIHRo aXMgdmFyaWFibGUgY2FuIGJlIG1hcmtlZCBwZXJtYW5lbnRseSBhcyBzYWZlPGJyPiZndDsgd2l0 aGluIHRoZSBsaWJyYXJ5IGl0c2VsZi4gVGhhdCB3YXkgcGVvcGxlIGNhbiBjdXN0b21pemUgaXQg aW4gdGhlaXIgLjxicj4mZ3Q7IGRpci1sb2NhbHMuZWwgZmlsZXMgd2l0aG91dCB0aGlzIGhhY2su PGJyPjxicj48L3NwYW4+RG8gd2UgaGF2ZSBhIHByZWNlZGVudCBmb3IgZG9pbmcgdGhpcyBlbHNl d2hlcmU/PC9ibG9ja3F1b3RlPjxkaXY+wqDCoDwvZGl2PkkgZG9uJiMzOTt0IHNlZSBhIHNpbmds ZSBvY2N1cnJlbmNlIG9mPGRpdj48YnI+PC9kaXY+PGRpdj4ocHV0ICYjMzk7U09NRS1WQVIgJiMz OTtzYWZlLWxvY2FsLXZhcmlhYmxlICYjMzk7aWRlbnRpdHkpPC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj5pbiB0aGUgZW1hY3Mgc291cmNlLjxicj48ZGl2Pjxicj48L2Rpdj48ZGl2PkhlcmUgaXMg aG93IEkgc2V0IHRoZSBoaS1sb2NrLXRleHQtcGF0dGVybnMgaW4gbXkgLmRpci1sb2NhbHMuZWw8 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+KCh0ZXh0LW1vZGUgLiAoKGhpLWxvY2stZmls ZS1wYXR0ZXJucyAuICg7OyBVVk1fV0FSTklORzwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7Xlxccy0q XFwoVVZNX1dBUk5JTkdcXClcXHMtK1teOl0mcXVvdDs8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICgxICYjMzk7 KDppbmhlcml0IGRlZmF1bHQ8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgOmZvcmVncm91bmQgJnF1 b3Q7YmxhY2smcXVvdDs8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgOmJhY2tncm91bmQgJnF1b3Q7 b3JhbmdlJnF1b3Q7PC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDpoZWlnaHQgMS4xKTwvZGl2Pjxk aXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqBwcmVwZW5kKSk8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O15cXHMtKlxcKFVW TV9XQVJOSU5HXFxzLSs6XFxzLStbMS05XVswLTldKlxcKSZxdW90OzwvZGl2PjxkaXY+wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg KDEgJiMzOTsoOmluaGVyaXQgZGVmYXVsdDwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6Zm9yZWdy b3VuZCAmcXVvdDtibGFjayZxdW90OzwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6YmFja2dyb3Vu ZCAmcXVvdDtvcmFuZ2UmcXVvdDs8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgJnF1b3Q7Z3JlZW4mcXVvdDspPC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oDpoZWlnaHQgMS4xPC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDp3ZWlnaHQgYm9sZCk8L2Rpdj48 ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgcHJlcGVuZCkpPC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDs7IFVWTV9FUlJPUjwvZGl2 PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAoJnF1b3Q7Xlxccy0qXFwoVVZNX0VSUk9SXFwpXFxzLStbXjpdJnF1b3Q7PC9k aXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCAoMSAmIzM5Oyg6aW5oZXJpdCBkZWZhdWx0PC9kaXY+PGRpdj7CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoDpmb3JlZ3JvdW5kICZxdW90O3doaXRlJnF1b3Q7PC9kaXY+PGRpdj7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoDpiYWNrZ3JvdW5kICZxdW90O3JlZCZxdW90OzwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6 aGVpZ2h0IDEuMSk8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcHJlcGVuZCkpPC9kaXY+PGRpdj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCgmcXVvdDteXFxzLSpcXChVVk1fRVJST1JcXHMtKzpcXHMtK1sxLTldWzAtOV0qXFwpJnF1b3Q7 PC9kaXY+PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAoMSAmIzM5Oyg6aW5oZXJpdCBkZWZhdWx0PC9kaXY+PGRpdj7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoDpmb3JlZ3JvdW5kICZxdW90O3doaXRlJnF1b3Q7PC9kaXY+PGRpdj7CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoDpiYWNrZ3JvdW5kICZxdW90O3JlZCZxdW90OzwvZGl2PjxkaXY+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAmcXVvdDtncmVlbiZxdW90Oyk8L2Rpdj48ZGl2 PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgOmhlaWdodCAxLjE8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgOndlaWdo dCBib2xkKTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwcmVwZW5kKSkpKSkpKTwvZGl2PjwvZGl2Pjxk aXY+PGJyPjwvZGl2PjxkaXY+QXMgSSBjb3VsZG4mIzM5O3QgZmlndXJlIG91dCBob3cgdG8gcXVh bGlmeSB0aGF0IGFsaXN0IHZhbHVlIG9mIGhpLWxvY2stZmlsZS1wYXR0ZXJucywgSSB1c2VkICYj Mzk7aWRlbnRpdHkgYXMgdGhlIHF1YWxpZmllci48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkJ1 dCBJIGRvIHNlZSBpbnN0YW5jZXMgb2YgbWFya2luZyB2YXJpYWJsZXMgYXMgc2FmZSAoanVzdCBu b3QgdXNpbmcgJiMzOTtpZGVudGl0eSwgd2hpY2ggdW5kZXJzdGFuZGFibHkgaXMgdmVyeSByaXNr eSk6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48ZGl2PjI0NzkzOihwdXQgJiMzOTtzaC1zaGVs bCAmIzM5O3NhZmUtbG9jYWwtdmFyaWFibGUgJiMzOTtzeW1ib2xwKTwvZGl2PjxkaXY+MjU0MzY6 KHB1dCAmIzM5O3NvcnQtZm9sZC1jYXNlICYjMzk7c2FmZS1sb2NhbC12YXJpYWJsZSAmIzM5O2Jv b2xlYW5wKTwvZGl2PjxkaXY+MjU1MTA6KHB1dCAmIzM5O3NvcnQtbnVtZXJpYy1iYXNlICYjMzk7 c2FmZS1sb2NhbC12YXJpYWJsZSAmIzM5O2ludGVnZXJwKTwvZGl2PjxkaXY+MjgxNzU6KHB1dCAm IzM5O3RpbWUtc3RhbXAtZm9ybWF0ICYjMzk7c2FmZS1sb2NhbC12YXJpYWJsZSAmIzM5O3N0cmlu Z3ApPC9kaXY+PGRpdj4yODE3NjoocHV0ICYjMzk7dGltZS1zdGFtcC10aW1lLXpvbmUgJiMzOTtz YWZlLWxvY2FsLXZhcmlhYmxlICYjMzk7c3RyaW5nLW9yLW51bGwtcCk8L2Rpdj48ZGl2PjI4MTc3 OihwdXQgJiMzOTt0aW1lLXN0YW1wLWxpbmUtbGltaXQgJiMzOTtzYWZlLWxvY2FsLXZhcmlhYmxl ICYjMzk7aW50ZWdlcnApPC9kaXY+PGRpdj4yODE3ODoocHV0ICYjMzk7dGltZS1zdGFtcC1zdGFy dCAmIzM5O3NhZmUtbG9jYWwtdmFyaWFibGUgJiMzOTtzdHJpbmdwKTwvZGl2PjxkaXY+MjgxNzk6 KHB1dCAmIzM5O3RpbWUtc3RhbXAtZW5kICYjMzk7c2FmZS1sb2NhbC12YXJpYWJsZSAmIzM5O3N0 cmluZ3ApPC9kaXY+PGRpdj4yODE4MDoocHV0ICYjMzk7dGltZS1zdGFtcC1pbnNlcnRzLWxpbmVz ICYjMzk7c2FmZS1sb2NhbC12YXJpYWJsZSAmIzM5O3N5bWJvbHApPC9kaXY+PC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TbyB0aGUgcXVlc3Rpb24gd291bGQgYmU6PC9k aXY+PGRpdj4tIElmIHdlIHdlcmUgdG8gbWFyayBoaS1sb2NrLWZpbGUtcGF0dGVybnMgYXMgc2Fm ZSBpbiBoaS1sb2NrLmVsIGl0c2VsZiwgd2hhdCB3b3VsZCBiZSBhIHZhbGlkIHF1YWxpZmllciBz byB0aGF0IEkgY2FuIHNldCBpdHMgdmFsdWUgYXMgc2hvd24gYWJvdmUgaW4gbXkgLmRpci1sb2Nh bHMuZWw/PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEi PjxkaXY+PGRpdiBjbGFzcz0iZ21haWxfc2lnbmF0dXJlIj48ZGl2IGRpcj0ibHRyIj4tLTxicj5L YXVzaGFsIE1vZGk8L2Rpdj48L2Rpdj48L2Rpdj48YnI+PC9kaXY+PC9kaXY+DQo= --001a11c30c2cd8daaf052c0e01a5--