From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#21780: 25.0.50; Saving *Help* results in bad encoding because of curly quotes Date: Thu, 29 Oct 2015 13:53:30 -0700 (PDT) Message-ID: <2c1ac781-86b8-4365-8466-52455afb79f6@default> References: <<536fdfb7-20dd-4d23-886c-8e842b6844fd@default>> <<83lhal1qtm.fsf@gnu.org>> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__1446152012845245690abhmp0004.oracle.com" X-Trace: ger.gmane.org 1446152070 30579 80.91.229.3 (29 Oct 2015 20:54:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 29 Oct 2015 20:54:30 +0000 (UTC) Cc: 21780@debbugs.gnu.org To: Eli Zaretskii , Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 29 21:54:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1ZruD6-0001RI-G4 for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Oct 2015 21:54:12 +0100 Original-Received: from localhost ([::1]:46671 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZruD6-0002CP-45 for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Oct 2015 16:54:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47354) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZruCy-0002CG-Ik for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2015 16:54:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZruCw-0004tv-7T for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2015 16:54:04 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:53932) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZruCw-0004tW-3w for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2015 16:54:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZruCv-0002yA-Q6 for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2015 16:54:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Oct 2015 20:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21780 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 21780-submit@debbugs.gnu.org id=B21780.144615203711405 (code B ref 21780); Thu, 29 Oct 2015 20:54:01 +0000 Original-Received: (at 21780) by debbugs.gnu.org; 29 Oct 2015 20:53:57 +0000 Original-Received: from localhost ([127.0.0.1]:44640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZruCq-0002xr-6A for submit@debbugs.gnu.org; Thu, 29 Oct 2015 16:53:57 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:23934) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZruCU-0002xP-Fr for 21780@debbugs.gnu.org; Thu, 29 Oct 2015 16:53:54 -0400 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t9TKrXSx009274 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 29 Oct 2015 20:53:33 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t9TKrX2I026713 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 29 Oct 2015 20:53:33 GMT Original-Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t9TKrWik020269; Thu, 29 Oct 2015 20:53:33 GMT In-Reply-To: <<83lhal1qtm.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:108154 Archived-At: --__1446152012845245690abhmp0004.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > It might work as you expect already. You can try this: >=20 > . After "C-h f some-function RET", switch to the *Help* buffer and > type "C-x RET f utf-8 RET", then save the buffer as in your > recipe. >=20 > . Now visit the file where you saved the *Help* buffer: if the > curved quotes display correctly, then "it works for you". That's exactly what I reported I did. The result was seeing octal escapes when I opened the file in a new Emacs session. Or so I thought. I just repeated it now with `emacs -Q' and it does not seem to be a problem if utf-8 is used. I think now that what I did earlier, when specified utf-8, I was using my setup. When I try that again (with my setup), I see the problem I reported. Also, with my setup the *Warning* text is different. Instead of providing lots of possible encoding choices and using chinese-iso-8bit as the default (which is what I get with emacs -Q - why is that, BTW?), it says: Select one of the safe coding systems listed below, or cancel the writing with C-g and edit the buffer to remove or modify the problematic characters, or specify any other coding system (and risk losing the problematic characters). raw-text no-conversion It was in that context that I anyway tried utf-8 and got the awful result. I also tried raw-text, since utf-8 was not in the prompt (but was apparently accepted, and apparently did not help). The full warning is this, when I use my setup (which uses font "-outline-Lucida Console-normal-normal-normal-mono-14-*-*-*-c-*-iso8859-1")= : These default coding systems were tried to encode text in the buffer 'throw-isearch-help5.txt': (undecided-unix (489 . 8216) (491 . 8217) (499 . 8216) (503 . 8217) (577 . 8216) (583 . 8217) (875 . 8216) (892 . 8217) (912 . 8216) (931 . 8217) (963 . 8216)) (iso-latin-1-unix (489 . 8216) (491 . 8217) (499 . 8216) (503 . 8217) (577 . 8216) (583 . 8217) (875 . 8216) (892 . 8217) (912 . 8216) (931 . 8217) (963 . 8216)) However, each of them encountered characters it couldn't encode: undecided-unix cannot encode these: ' ' ' ' ' ' ' ' ' ' ... iso-latin-1-unix cannot encode these: ' ' ' ' ' ' ' ' ' ' ... Click on a character (or switch to this window by 'C-x o' and select the characters by RET) to jump to the place it appears, where 'C-u C-x =3D' will give information about it. Select one of the safe coding systems listed below, or cancel the writing with C-g and edit the buffer to remove or modify the problematic characters, or specify any other coding system (and risk losing the problematic characters). raw-text no-conversion I got only a #...# file written with utf-8, as the Emacs 25 build I have crashes all the time, and trying to select the minibuffer frame after the popped-up *Warning* frame grabs the selection just crashes Emacs. And that happens now when I try again, with my setup. I've attached those files from the first try I made for this, with my setup. I see now that the `#...#' one has UTF-8 encoding and the other, `...' without the #s, has encoding `t' in the mode line, which I guess means raw text. To report the problem I then used `emacs -Q', and this time I tried raw text, and I saw the octal escapes. So I mistakenly reported that I saw them after specifying both utf-8 and raw text. > . If the curved quotes look like raw bytes or, worse, pairs of > non-ASCII characters, you need to visit such file like this: >=20 > C-x RET c utf-8 RET C-x C-f FILE-NAME RET Users should not have to do that. I thought they would, like me have that annoyance. > > In Emacs, before saving, the buffer looks fine. >=20 > It looks fine, but the encoding mnemonic on the mode line is not "U" > (which stands for UTF-8), right? That is why Emacs asks you for > encoding: it cannot save these characters using your locale's default > encoding (which is what the *Help* buffer uses by default). > Yes, because you probably told Emacs to use raw-text or somesuch, when > it asked. See above. > > Do I need to save the buffer using some other encoding? If so, which? >=20 > Yes, you could tell it to use UTF-8 when it asked. (After my change, > Emacs will do that automatically, no questions asked, when saving > *Help* buffers with curved quotes.) Sounds good. > > Emacs proposed two encodings (one of which was raw text, which I tried; > > and I tried also utf-8, which I would have thought would show curly > > quotes OK. >=20 > UTF-8 should have worked. I wouldn't expect you to see octal escapes > after saving in UTF-8. See above for, I think, the explanation of what I did and saw. Thx. --__1446152012845245690abhmp0004.oracle.com Content-Type: text/plain; charset=Windows-1252; name="throw-isearch-help.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="throw-isearch-help.txt" isearch-forward is an interactive compiled Lisp function in `isearch+.el'. It is bound to C-s, menu-bar search i-search isearch-forward. (isearch-forward &optional ARG NO-RECURSIVE-EDIT) For more information check the manuals. Search forward incrementally - Isearch+ version. With a non-negative prefix arg, do an incremental regular expression search instead. With a negative prefix arg, do a (plain, not regexp) incremental search across multiple buffers: * If the prefix arg is =E2=80=98-=E2=80=99 (from =E2=80=98M--=E2=80=99) th= en you are prompted for the list of buffers.=20 * Otherwise, (e.g. =E2=80=98M-- 2=E2=80=99), you are prompted for a regexp= that matches the names of the buffers to be searched. If you try to exit with the search string empty then nonincremental search is used. As you type characters, they add to the search string and are found. The following non-printing keys are bound in =E2=80=98isearch-mode-map=E2= =80=99. Options ------- =E2=80=98isearchp-case-fold=E2=80=99=09=09=09- search is case sensitive? =E2=80=98isearchp-dim-outside-search-area-flag=E2=80=99 [*] - dim non-searc= h zones? =E2=80=98isearchp-dimming-color=E2=80=99 [*]=09=09- color for non-search zo= nes =E2=80=98isearchp-set-region-flag=E2=80=99=09=09- select last search target= ? =E2=80=98isearchp-restrict-to-region-flag=E2=80=99=09- restrict search to r= egion? =E2=80=98isearchp-deactivate-region-flag=E2=80=99=09- search deactivates re= gion? =E2=80=98isearchp-ignore-comments-flag=E2=80=99 [*]=09- ignore THINGs in co= mments? =E2=80=98isearchp-hide-whitespace-before-comment-flag=E2=80=99 [*] - precom= ment space? =E2=80=98isearchp-mouse-2-flag=E2=80=99=09=09- =E2=80=98mouse-2=E2=80=99 an= ywhere yanks selection? =E2=80=98isearchp-regexp-quote-yank-flag=E2=80=99=09- regexp-quote yanked t= ext? =E2=80=98isearchp-toggle-option-flag=E2=80=99=09=09- toggle options too? =E2=80=98isearchp-drop-mismatch=E2=80=99=09- handling input after search mi= smatch =E2=80=98isearchp-drop-mismatch-regexp-flag=E2=80=99=09- regexp search drop= mismatch? =E2=80=98isearchp-initiate-edit-commands=E2=80=99=09- keys that edit, not e= xit [*] Requires library =E2=80=98isearch-prop.el=E2=80=99. Commands -------- DEL=09- cancel last input item from end of search string RET=09- exit, leaving point at location found C-s=09- search again forward, C-r backward C-y C-w=09- yank a word or char from buffer onto search string C-z=09- yank a char from buffer onto search string C-M-w=09- delete char from end of search string C-y C-e=09- yank text up to end of line onto search string C-y C-y=09- yank the last string of killed or copied text M-y=09- replace string just yanked with string killed/copied before it M-w=09- copy current search string to kill ring C-_=09- yank a symbol or char from buffer onto search string C-(=09- yank sexp, symbol, or char from buffer onto search string C-q=09- quote a control character, to search for it C-x 8 RET=09- add a Unicode char to search string by Unicode name C-M-l=09- remove failed part of search string, if any C-g=09- remove failed part of search string, or cancel if none C-x o=09- invoke Emacs command loop recursively, during Isearch M-g=09- insert successful search string from when you hit =E2=80=98C-g=E2= =80=99 M-s e=09- edit the search string in the minibuffer M-n, M-p=09- search for next/previous item in search ring M-x isearchp-complete=09- complete the search string using the search ring M-%=09- run =E2=80=98query-replace=E2=80=99 to replace search-string matche= s C-M-%=09- run =E2=80=98query-replace-regexp=E2=80=99 M-s o=09- run =E2=80=98occur=E2=80=99 for search-string matches M-s h r=09- run =E2=80=98highlight-regexp=E2=80=99 to highlight search-stri= ng matches M-x isearchp-fontify-buffer-now=09- fontify whole buffer M-x isearchp-set-region-around-search-target=09- select last search b=09- list all Isearch key bindings k=09- show documentation of an Isearch key m=09- show documentation for Isearch mode M-k=09- cycle option =E2=80=98isearchp-drop-mismatch=E2=80=99 M-s c=09- toggle case-sensitivity (for current search or more: =E2=80=98C-u= =E2=80=99) M-s h l=09- option =E2=80=98lazy-highlight-cleanup=E2=80=99 (removal of hig= hlighting) C-+=09- toggle searching invisible text M-s i=09- toggle searching invisible text, for current search or more M-s v=09- toggle option =E2=80=98isearchp-toggle-option-flag=E2=80=99 C-x n=09- toggle restricting search to active region C-SPC=09- toggle setting region around search target C-`=09- toggle quoting (escaping) of regexp special characters M-s w=09- toggle word-searching M-s _=09- toggle symbol-searching M-s SPC=09- toggle whitespace matching A =E2=80=98SPC=E2=80=99 char normally matches all whitespace defined by var= iable =E2=80=98search-whitespace-regexp=E2=80=99. See also variables =E2=80=98isearch-lax-whitespace=E2=80=99 and =E2=80=98isearch-regexp-lax-wh= itespace=E2=80=99. Commands that Require Library =E2=80=98isearch-prop.el=E2=80=99 -----------------------------------------------=20 C-t=09- search for a character (overlay or text) property C-M-t=09- regexp-search for a character (overlay or text) property C-M-~=09- toggle searching complements of normal search contexts C-M-S-d=09- toggle dimming non-search zones C-M-;=09- toggle ignoring comments for =E2=80=98isearchp-thing=E2=80=99 M-;=09- hide or (=E2=80=98C-u=E2=80=99) show comments M-x isearchp-put-prop-on-region=09- add a text property to region M-x isearchp-add-regexp-as-property=09- add prop to regexp matches M-x isearchp-regexp-context-search=09- search regexp contexts M-x isearchp-regexp-define-contexts=09- define regexp contexts M-x isearchp-imenu =09- search Emacs-Lisp definitions M-x isearchp-imenu-command =09- search Emacs command definitions M-x isearchp-imenu-non-interactive-function =09- search non-commands M-x isearchp-imenu-macro =09- search Emacs-Lisp macro definitions M-x isearchp-thing=09- search THING search contexts M-x isearchp-thing-define-contexts=09- define THING contexts M-x isearchp-previous-visible-thing=09- go to previous visible THING M-x isearchp-next-visible-thing=09- go to next visible THING Input Methods ------------- If an input method is turned on in the current buffer, that input method is also active while you are typing characters to search. To toggle the input method, type C-\. It also toggles the input method in the current buffer. To use a different input method for searching, type C-^, and specify an input method you want to use. --- The above keys, bound in =E2=80=98isearch-mode-map=E2=80=99, are often cont= rolled by user options - do C-a on search-.* to find them. If either option =E2=80=98isearch-allow-prefix=E2=80=99 or option =E2=80=98isearch-allow-scroll=E2=80=99 is non-nil then you can use a prefix= arg with an Isearch key. If option =E2=80=98isearch-allow-scroll=E2=80=99 is non-ni= l then you can use scrolling keys without exiting Isearch. If these options are both nil then other control and meta chars terminate the search and are then used normally (depending on =E2=80=98search-exit-option=E2=80=99). Likewise for function keys and mous= e button events. If this function is called non-interactively with nil argument NO-RECURSIVE-EDIT then it does not return to the calling function until the search is done. See function =E2=80=98isearch-mode=E2=80=99. Bindings in Isearch minor mode: ------------------------------ key binding --- ------- TAB .. C-j isearch-printing-char SPC .. ~ isearch-printing-char =C2=80 .. =F8=8F=BF=BD=BF isearch-printing-char =80 .. =FF isearch-printing-char C-g isearch-abort C-h isearch-mode-help RET isearch-exit C-o isearch-moccur C-q isearch-quote-char C-r isearch-repeat-backward C-s isearch-repeat-forward C-t isearchp-property-forward C-w isearch-yank-word-or-char C-x Prefix Command C-y Prefix Command C-z isearchp-yank-char ESC Prefix Command C-\ isearch-toggle-input-method C-^ isearch-toggle-specified-input-method C-_ isearchp-yank-symbol-or-char DEL isearch-delete-char S-SPC isearch-printing-char C-SPC isearchp-toggle-set-region C-( isearchp-yank-sexp-symbol-or-char C-+ isearchp-toggle-search-invisible C-; iedit-mode C-` isearchp-toggle-regexp-quote-yank C-S-SPC isearchp-narrow-to-lazy-highlights isearchp-act-on-demand icicle-isearch-complete goto-longest-line isearchp-cleanup icicle-isearch-complete icicle-search-w-isearch-string ignore Prefix Command Prefix Command Prefix Command isearch-mouse-2 isearch-repeat-forward isearch-repeat-backward Prefix Command isearch-exit ignore C-x 8 Prefix Command C-x n isearchp-toggle-region-restriction C-x o isearchp-open-recursive-edit C-x r Prefix Command C-y C-c isearchp-yank-char C-y C-e isearchp-yank-line C-y C-w isearchp-yank-word-or-char C-y C-y isearch-yank-kill C-y ESC Prefix Command C-y C-_ isearchp-yank-symbol-or-char C-y C-( isearchp-yank-sexp-symbol-or-char C-y C-2 isearch-yank-secondary C-M-i icicle-isearch-complete C-M-l isearchp-remove-failed-part C-M-r isearch-repeat-backward C-M-s isearch-repeat-forward C-M-t isearchp-property-forward-regexp C-M-w isearch-del-char C-M-y isearch-yank-secondary ESC ESC Prefix Command M-% isearch-query-replace M-: isearchp-eval-sexp-and-insert M-; isearchp-toggle-hiding-comments M-O isearch-moccur-all M-c isearch-toggle-case-fold M-e isearch-edit-string M-g isearchp-retrieve-last-quit-search M-k isearchp-cycle-mismatch-removal M-n isearch-ring-advance M-o icicle-isearch-history-insert M-p isearch-ring-retreat M-r isearch-toggle-regexp M-s Prefix Command M-w isearchp-kill-ring-save M-y isearch-yank-pop C-M-S-d isearchp-toggle-dimming-outside-search-area C-M-% isearch-query-replace-regexp C-M-; isearchp-toggle-ignoring-comments C-M-` isearchp-toggle-literal-replacement C-M-~ isearchp-toggle-complementing-domain M-ESC ESC isearch-cancel M-s C-e isearch-yank-line M-s SPC isearch-toggle-lax-whitespace M-s ' isearch-toggle-character-fold M-s _ isearch-toggle-symbol M-s c isearch-toggle-case-fold M-s e isearch-edit-string M-s h Prefix Command M-s i isearch-toggle-invisible M-s o isearch-occur M-s r isearch-toggle-regexp M-s v isearchp-toggle-option-toggle M-s w isearch-toggle-word icicle-isearch-complete isearchp-complete C-h isearch-help-for-help ? isearch-help-for-help b isearch-describe-bindings k isearch-describe-key m isearch-describe-mode q help-quit isearch-help-for-help isearch-help-for-help C-h isearch-help-for-help ? isearch-help-for-help b isearch-describe-bindings k isearch-describe-key m isearch-describe-mode q help-quit isearch-help-for-help isearch-help-for-help C-x r g isearchp-append-register C-x 8 RET isearch-char-by-name C-y M-g isearchp-retrieve-last-quit-search C-y M-y isearch-yank-pop M-s h h hlt-highlight-isearch-matches M-s h l isearchp-toggle-lazy-highlight-cleanup M-s h r isearch-highlight-regexp M-s h u hlt-unhighlight-isearch-matches --__1446152012845245690abhmp0004.oracle.com Content-Type: application/octet-stream; name="#throw-isearch-help.txt#" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="#throw-isearch-help.txt#" aXNlYXJjaC1mb3J3YXJkIGlzIGFuIGludGVyYWN0aXZlIGNvbXBpbGVkIExpc3AgZnVuY3Rpb24g aW4KYGlzZWFyY2grLmVsJy4KCkl0IGlzIGJvdW5kIHRvIEMtcywgbWVudS1iYXIgc2VhcmNoIGkt c2VhcmNoIGlzZWFyY2gtZm9yd2FyZC4KCihpc2VhcmNoLWZvcndhcmQgJm9wdGlvbmFsIEFSRyBO Ty1SRUNVUlNJVkUtRURJVCkKCkZvciBtb3JlIGluZm9ybWF0aW9uIGNoZWNrIHRoZSBtYW51YWxz LgoKU2VhcmNoIGZvcndhcmQgaW5jcmVtZW50YWxseSAtIElzZWFyY2grIHZlcnNpb24uCgpXaXRo IGEgbm9uLW5lZ2F0aXZlIHByZWZpeCBhcmcsIGRvIGFuIGluY3JlbWVudGFsIHJlZ3VsYXIgZXhw cmVzc2lvbgpzZWFyY2ggaW5zdGVhZC4KCldpdGggYSBuZWdhdGl2ZSBwcmVmaXggYXJnLCBkbyBh IChwbGFpbiwgbm90IHJlZ2V4cCkgaW5jcmVtZW50YWwKc2VhcmNoIGFjcm9zcyBtdWx0aXBsZSBi dWZmZXJzOgogKiBJZiB0aGUgcHJlZml4IGFyZyBpcyDigJgt4oCZIChmcm9tIOKAmE0tLeKAmSkg dGhlbiB5b3UgYXJlIHByb21wdGVkIGZvciB0aGUKICAgbGlzdCBvZiBidWZmZXJzLiAKICogT3Ro ZXJ3aXNlLCAoZS5nLiDigJhNLS0gMuKAmSksIHlvdSBhcmUgcHJvbXB0ZWQgZm9yIGEgcmVnZXhw IHRoYXQKICAgbWF0Y2hlcyB0aGUgbmFtZXMgb2YgdGhlIGJ1ZmZlcnMgdG8gYmUgc2VhcmNoZWQu CgpJZiB5b3UgdHJ5IHRvIGV4aXQgd2l0aCB0aGUgc2VhcmNoIHN0cmluZyBlbXB0eSB0aGVuIG5v bmluY3JlbWVudGFsCnNlYXJjaCBpcyB1c2VkLgoKCkFzIHlvdSB0eXBlIGNoYXJhY3RlcnMsIHRo ZXkgYWRkIHRvIHRoZSBzZWFyY2ggc3RyaW5nIGFuZCBhcmUgZm91bmQuClRoZSBmb2xsb3dpbmcg bm9uLXByaW50aW5nIGtleXMgYXJlIGJvdW5kIGluIOKAmGlzZWFyY2gtbW9kZS1tYXDigJkuCgpP cHRpb25zCi0tLS0tLS0K4oCYaXNlYXJjaHAtY2FzZS1mb2xk4oCZCQkJLSBzZWFyY2ggaXMgY2Fz ZSBzZW5zaXRpdmU/CuKAmGlzZWFyY2hwLWRpbS1vdXRzaWRlLXNlYXJjaC1hcmVhLWZsYWfigJkg WypdIC0gZGltIG5vbi1zZWFyY2ggem9uZXM/CuKAmGlzZWFyY2hwLWRpbW1pbmctY29sb3LigJkg WypdCQktIGNvbG9yIGZvciBub24tc2VhcmNoIHpvbmVzCuKAmGlzZWFyY2hwLXNldC1yZWdpb24t ZmxhZ+KAmQkJLSBzZWxlY3QgbGFzdCBzZWFyY2ggdGFyZ2V0PwrigJhpc2VhcmNocC1yZXN0cmlj dC10by1yZWdpb24tZmxhZ+KAmQktIHJlc3RyaWN0IHNlYXJjaCB0byByZWdpb24/CuKAmGlzZWFy Y2hwLWRlYWN0aXZhdGUtcmVnaW9uLWZsYWfigJkJLSBzZWFyY2ggZGVhY3RpdmF0ZXMgcmVnaW9u PwrigJhpc2VhcmNocC1pZ25vcmUtY29tbWVudHMtZmxhZ+KAmSBbKl0JLSBpZ25vcmUgVEhJTkdz IGluIGNvbW1lbnRzPwrigJhpc2VhcmNocC1oaWRlLXdoaXRlc3BhY2UtYmVmb3JlLWNvbW1lbnQt ZmxhZ+KAmSBbKl0gLSBwcmVjb21tZW50IHNwYWNlPwrigJhpc2VhcmNocC1tb3VzZS0yLWZsYWfi gJkJCS0g4oCYbW91c2UtMuKAmSBhbnl3aGVyZSB5YW5rcyBzZWxlY3Rpb24/CuKAmGlzZWFyY2hw LXJlZ2V4cC1xdW90ZS15YW5rLWZsYWfigJkJLSByZWdleHAtcXVvdGUgeWFua2VkIHRleHQ/CuKA mGlzZWFyY2hwLXRvZ2dsZS1vcHRpb24tZmxhZ+KAmQkJLSB0b2dnbGUgb3B0aW9ucyB0b28/CuKA mGlzZWFyY2hwLWRyb3AtbWlzbWF0Y2jigJkJLSBoYW5kbGluZyBpbnB1dCBhZnRlciBzZWFyY2gg bWlzbWF0Y2gK4oCYaXNlYXJjaHAtZHJvcC1taXNtYXRjaC1yZWdleHAtZmxhZ+KAmQktIHJlZ2V4 cCBzZWFyY2ggZHJvcCBtaXNtYXRjaD8K4oCYaXNlYXJjaHAtaW5pdGlhdGUtZWRpdC1jb21tYW5k c+KAmQktIGtleXMgdGhhdCBlZGl0LCBub3QgZXhpdAoKIFsqXSBSZXF1aXJlcyBsaWJyYXJ5IOKA mGlzZWFyY2gtcHJvcC5lbOKAmS4KCkNvbW1hbmRzCi0tLS0tLS0tCkRFTAktIGNhbmNlbCBsYXN0 IGlucHV0IGl0ZW0gZnJvbSBlbmQgb2Ygc2VhcmNoIHN0cmluZwpSRVQJLSBleGl0LCBsZWF2aW5n IHBvaW50IGF0IGxvY2F0aW9uIGZvdW5kCkMtcwktIHNlYXJjaCBhZ2FpbiBmb3J3YXJkLCBDLXIg YmFja3dhcmQKQy15IEMtdwktIHlhbmsgYSB3b3JkIG9yIGNoYXIgZnJvbSBidWZmZXIgb250byBz ZWFyY2ggc3RyaW5nCkMtegktIHlhbmsgYSBjaGFyIGZyb20gYnVmZmVyIG9udG8gc2VhcmNoIHN0 cmluZwpDLU0tdwktIGRlbGV0ZSBjaGFyIGZyb20gZW5kIG9mIHNlYXJjaCBzdHJpbmcKQy15IEMt ZQktIHlhbmsgdGV4dCB1cCB0byBlbmQgb2YgbGluZSBvbnRvIHNlYXJjaCBzdHJpbmcKQy15IEMt eQktIHlhbmsgdGhlIGxhc3Qgc3RyaW5nIG9mIGtpbGxlZCBvciBjb3BpZWQgdGV4dApNLXkJLSBy ZXBsYWNlIHN0cmluZyBqdXN0IHlhbmtlZCB3aXRoIHN0cmluZyBraWxsZWQvY29waWVkIGJlZm9y ZSBpdApNLXcJLSBjb3B5IGN1cnJlbnQgc2VhcmNoIHN0cmluZyB0byBraWxsIHJpbmcKQy1fCS0g eWFuayBhIHN5bWJvbCBvciBjaGFyIGZyb20gYnVmZmVyIG9udG8gc2VhcmNoIHN0cmluZwpDLSgJ LSB5YW5rIHNleHAsIHN5bWJvbCwgb3IgY2hhciBmcm9tIGJ1ZmZlciBvbnRvIHNlYXJjaCBzdHJp bmcKQy1xCS0gcXVvdGUgYSBjb250cm9sIGNoYXJhY3RlciwgdG8gc2VhcmNoIGZvciBpdApDLXgg OCBSRVQJLSBhZGQgYSBVbmljb2RlIGNoYXIgdG8gc2VhcmNoIHN0cmluZyBieSBVbmljb2RlIG5h bWUKQy1NLWwJLSByZW1vdmUgZmFpbGVkIHBhcnQgb2Ygc2VhcmNoIHN0cmluZywgaWYgYW55CkMt ZwktIHJlbW92ZSBmYWlsZWQgcGFydCBvZiBzZWFyY2ggc3RyaW5nLCBvciBjYW5jZWwgaWYgbm9u ZQpDLXggbwktIGludm9rZSBFbWFjcyBjb21tYW5kIGxvb3AgcmVjdXJzaXZlbHksIGR1cmluZyBJ c2VhcmNoCk0tZwktIGluc2VydCBzdWNjZXNzZnVsIHNlYXJjaCBzdHJpbmcgZnJvbSB3aGVuIHlv dSBoaXQg4oCYQy1n4oCZCk0tcyBlCS0gZWRpdCB0aGUgc2VhcmNoIHN0cmluZyBpbiB0aGUgbWlu aWJ1ZmZlcgpNLW4sIE0tcAktIHNlYXJjaCBmb3IgbmV4dC9wcmV2aW91cyBpdGVtIGluIHNlYXJj aCByaW5nCk0teCBpc2VhcmNocC1jb21wbGV0ZQktIGNvbXBsZXRlIHRoZSBzZWFyY2ggc3RyaW5n IHVzaW5nIHRoZSBzZWFyY2ggcmluZwpNLSUJLSBydW4g4oCYcXVlcnktcmVwbGFjZeKAmSB0byBy ZXBsYWNlIHNlYXJjaC1zdHJpbmcgbWF0Y2hlcwpDLU0tJQktIHJ1biDigJhxdWVyeS1yZXBsYWNl LXJlZ2V4cOKAmQpNLXMgbwktIHJ1biDigJhvY2N1cuKAmSBmb3Igc2VhcmNoLXN0cmluZyBtYXRj aGVzCk0tcyBoIHIJLSBydW4g4oCYaGlnaGxpZ2h0LXJlZ2V4cOKAmSB0byBoaWdobGlnaHQgc2Vh cmNoLXN0cmluZyBtYXRjaGVzCk0teCBpc2VhcmNocC1mb250aWZ5LWJ1ZmZlci1ub3cJLSBmb250 aWZ5IHdob2xlIGJ1ZmZlcgpNLXggaXNlYXJjaHAtc2V0LXJlZ2lvbi1hcm91bmQtc2VhcmNoLXRh cmdldAktIHNlbGVjdCBsYXN0IHNlYXJjaAoKPGYxPiBiCS0gbGlzdCBhbGwgSXNlYXJjaCBrZXkg YmluZGluZ3MKPGYxPiBrCS0gc2hvdyBkb2N1bWVudGF0aW9uIG9mIGFuIElzZWFyY2gga2V5Cjxm MT4gbQktIHNob3cgZG9jdW1lbnRhdGlvbiBmb3IgSXNlYXJjaCBtb2RlCgpNLWsJLSBjeWNsZSBv cHRpb24g4oCYaXNlYXJjaHAtZHJvcC1taXNtYXRjaOKAmQpNLXMgYwktIHRvZ2dsZSBjYXNlLXNl bnNpdGl2aXR5IChmb3IgY3VycmVudCBzZWFyY2ggb3IgbW9yZTog4oCYQy114oCZKQpNLXMgaCBs CS0gb3B0aW9uIOKAmGxhenktaGlnaGxpZ2h0LWNsZWFudXDigJkgKHJlbW92YWwgb2YgaGlnaGxp Z2h0aW5nKQpDLSsJLSB0b2dnbGUgc2VhcmNoaW5nIGludmlzaWJsZSB0ZXh0Ck0tcyBpCS0gdG9n Z2xlIHNlYXJjaGluZyBpbnZpc2libGUgdGV4dCwgZm9yIGN1cnJlbnQgc2VhcmNoIG9yIG1vcmUK TS1zIHYJLSB0b2dnbGUgb3B0aW9uIOKAmGlzZWFyY2hwLXRvZ2dsZS1vcHRpb24tZmxhZ+KAmQpD LXggbgktIHRvZ2dsZSByZXN0cmljdGluZyBzZWFyY2ggdG8gYWN0aXZlIHJlZ2lvbgpDLVNQQwkt IHRvZ2dsZSBzZXR0aW5nIHJlZ2lvbiBhcm91bmQgc2VhcmNoIHRhcmdldApDLWAJLSB0b2dnbGUg cXVvdGluZyAoZXNjYXBpbmcpIG9mIHJlZ2V4cCBzcGVjaWFsIGNoYXJhY3RlcnMKTS1zIHcJLSB0 b2dnbGUgd29yZC1zZWFyY2hpbmcKTS1zIF8JLSB0b2dnbGUgc3ltYm9sLXNlYXJjaGluZwpNLXMg U1BDCS0gdG9nZ2xlIHdoaXRlc3BhY2UgbWF0Y2hpbmcKCkEg4oCYU1BD4oCZIGNoYXIgbm9ybWFs bHkgbWF0Y2hlcyBhbGwgd2hpdGVzcGFjZSBkZWZpbmVkIGJ5IHZhcmlhYmxlCuKAmHNlYXJjaC13 aGl0ZXNwYWNlLXJlZ2V4cOKAmS4gIFNlZSBhbHNvIHZhcmlhYmxlcwrigJhpc2VhcmNoLWxheC13 aGl0ZXNwYWNl4oCZIGFuZCDigJhpc2VhcmNoLXJlZ2V4cC1sYXgtd2hpdGVzcGFjZeKAmS4KCkNv bW1hbmRzIHRoYXQgUmVxdWlyZSBMaWJyYXJ5IOKAmGlzZWFyY2gtcHJvcC5lbOKAmQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKCkMtdAktIHNlYXJjaCBm b3IgYSBjaGFyYWN0ZXIgKG92ZXJsYXkgb3IgdGV4dCkgcHJvcGVydHkKQy1NLXQJLSByZWdleHAt c2VhcmNoIGZvciBhIGNoYXJhY3RlciAob3ZlcmxheSBvciB0ZXh0KSBwcm9wZXJ0eQpDLU0tfgkt IHRvZ2dsZSBzZWFyY2hpbmcgY29tcGxlbWVudHMgb2Ygbm9ybWFsIHNlYXJjaCBjb250ZXh0cwpD LU0tUy1kCS0gdG9nZ2xlIGRpbW1pbmcgbm9uLXNlYXJjaCB6b25lcwpDLU0tOwktIHRvZ2dsZSBp Z25vcmluZyBjb21tZW50cyBmb3Ig4oCYaXNlYXJjaHAtdGhpbmfigJkKTS07CS0gaGlkZSBvciAo 4oCYQy114oCZKSBzaG93IGNvbW1lbnRzCgpNLXggaXNlYXJjaHAtcHV0LXByb3Atb24tcmVnaW9u CS0gYWRkIGEgdGV4dCBwcm9wZXJ0eSB0byByZWdpb24KTS14IGlzZWFyY2hwLWFkZC1yZWdleHAt YXMtcHJvcGVydHkJLSBhZGQgcHJvcCB0byByZWdleHAgbWF0Y2hlcwpNLXggaXNlYXJjaHAtcmVn ZXhwLWNvbnRleHQtc2VhcmNoCS0gc2VhcmNoIHJlZ2V4cCBjb250ZXh0cwpNLXggaXNlYXJjaHAt cmVnZXhwLWRlZmluZS1jb250ZXh0cwktIGRlZmluZSByZWdleHAgY29udGV4dHMKCk0teCBpc2Vh cmNocC1pbWVudSAJLSBzZWFyY2ggRW1hY3MtTGlzcCBkZWZpbml0aW9ucwpNLXggaXNlYXJjaHAt aW1lbnUtY29tbWFuZCAJLSBzZWFyY2ggRW1hY3MgY29tbWFuZCBkZWZpbml0aW9ucwpNLXggaXNl YXJjaHAtaW1lbnUtbm9uLWludGVyYWN0aXZlLWZ1bmN0aW9uIAktIHNlYXJjaCBub24tY29tbWFu ZHMKTS14IGlzZWFyY2hwLWltZW51LW1hY3JvIAktIHNlYXJjaCBFbWFjcy1MaXNwIG1hY3JvIGRl ZmluaXRpb25zCgpNLXggaXNlYXJjaHAtdGhpbmcJLSBzZWFyY2ggVEhJTkcgc2VhcmNoIGNvbnRl eHRzCk0teCBpc2VhcmNocC10aGluZy1kZWZpbmUtY29udGV4dHMJLSBkZWZpbmUgVEhJTkcgY29u dGV4dHMKTS14IGlzZWFyY2hwLXByZXZpb3VzLXZpc2libGUtdGhpbmcJLSBnbyB0byBwcmV2aW91 cyB2aXNpYmxlIFRISU5HCk0teCBpc2VhcmNocC1uZXh0LXZpc2libGUtdGhpbmcJLSBnbyB0byBu ZXh0IHZpc2libGUgVEhJTkcKCklucHV0IE1ldGhvZHMKLS0tLS0tLS0tLS0tLQoKSWYgYW4gaW5w dXQgbWV0aG9kIGlzIHR1cm5lZCBvbiBpbiB0aGUgY3VycmVudCBidWZmZXIsIHRoYXQgaW5wdXQK bWV0aG9kIGlzIGFsc28gYWN0aXZlIHdoaWxlIHlvdSBhcmUgdHlwaW5nIGNoYXJhY3RlcnMgdG8g c2VhcmNoLgpUbyB0b2dnbGUgdGhlIGlucHV0IG1ldGhvZCwgdHlwZSBDLVwuICBJdCBhbHNvIHRv Z2dsZXMgdGhlIGlucHV0Cm1ldGhvZCBpbiB0aGUgY3VycmVudCBidWZmZXIuCgpUbyB1c2UgYSBk aWZmZXJlbnQgaW5wdXQgbWV0aG9kIGZvciBzZWFyY2hpbmcsIHR5cGUgQy1eLAphbmQgc3BlY2lm eSBhbiBpbnB1dCBtZXRob2QgeW91IHdhbnQgdG8gdXNlLgoKLS0tCgpUaGUgYWJvdmUga2V5cywg Ym91bmQgaW4g4oCYaXNlYXJjaC1tb2RlLW1hcOKAmSwgYXJlIG9mdGVuIGNvbnRyb2xsZWQgYnkK dXNlciBvcHRpb25zIC0gZG8gPGYxPiBDLWEgb24gc2VhcmNoLS4qIHRvIGZpbmQgdGhlbS4KCklm IGVpdGhlciBvcHRpb24g4oCYaXNlYXJjaC1hbGxvdy1wcmVmaXjigJkgb3Igb3B0aW9uCuKAmGlz ZWFyY2gtYWxsb3ctc2Nyb2xs4oCZIGlzIG5vbi1uaWwgdGhlbiB5b3UgY2FuIHVzZSBhIHByZWZp eCBhcmcgd2l0aAphbiBJc2VhcmNoIGtleS4gIElmIG9wdGlvbiDigJhpc2VhcmNoLWFsbG93LXNj cm9sbOKAmSBpcyBub24tbmlsIHRoZW4geW91CmNhbiB1c2Ugc2Nyb2xsaW5nIGtleXMgd2l0aG91 dCBleGl0aW5nIElzZWFyY2guCgpJZiB0aGVzZSBvcHRpb25zIGFyZSBib3RoIG5pbCB0aGVuIG90 aGVyIGNvbnRyb2wgYW5kIG1ldGEgY2hhcnMKdGVybWluYXRlIHRoZSBzZWFyY2ggYW5kIGFyZSB0 aGVuIHVzZWQgbm9ybWFsbHkgKGRlcGVuZGluZyBvbgrigJhzZWFyY2gtZXhpdC1vcHRpb27igJkp LiAgTGlrZXdpc2UgZm9yIGZ1bmN0aW9uIGtleXMgYW5kIG1vdXNlIGJ1dHRvbgpldmVudHMuCgpJ ZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBub24taW50ZXJhY3RpdmVseSB3aXRoIG5pbCBhcmd1 bWVudApOTy1SRUNVUlNJVkUtRURJVCB0aGVuIGl0IGRvZXMgbm90IHJldHVybiB0byB0aGUgY2Fs bGluZyBmdW5jdGlvbgp1bnRpbCB0aGUgc2VhcmNoIGlzIGRvbmUuICBTZWUgZnVuY3Rpb24g4oCY aXNlYXJjaC1tb2Rl4oCZLgoKCkJpbmRpbmdzIGluIElzZWFyY2ggbWlub3IgbW9kZToKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgprZXkgICAgICAgICAgICAgYmluZGluZwotLS0gICAg ICAgICAgICAgLS0tLS0tLQoKVEFCIC4uIEMtaiAgICAgIGlzZWFyY2gtcHJpbnRpbmctY2hhcgpT UEMgLi4gfiAgICAgICAgaXNlYXJjaC1wcmludGluZy1jaGFyCsKAIC4uIPiPv72/ICAgICAgIGlz ZWFyY2gtcHJpbnRpbmctY2hhcgqAIC4uIP8gICAgaXNlYXJjaC1wcmludGluZy1jaGFyCgpDLWcg ICAgICAgICAgICAgaXNlYXJjaC1hYm9ydApDLWggICAgICAgICAgICAgaXNlYXJjaC1tb2RlLWhl bHAKUkVUICAgICAgICAgICAgIGlzZWFyY2gtZXhpdApDLW8gICAgICAgICAgICAgaXNlYXJjaC1t b2NjdXIKQy1xICAgICAgICAgICAgIGlzZWFyY2gtcXVvdGUtY2hhcgpDLXIgICAgICAgICAgICAg aXNlYXJjaC1yZXBlYXQtYmFja3dhcmQKQy1zICAgICAgICAgICAgIGlzZWFyY2gtcmVwZWF0LWZv cndhcmQKQy10ICAgICAgICAgICAgIGlzZWFyY2hwLXByb3BlcnR5LWZvcndhcmQKQy13ICAgICAg ICAgICAgIGlzZWFyY2gteWFuay13b3JkLW9yLWNoYXIKQy14ICAgICAgICAgICAgIFByZWZpeCBD b21tYW5kCkMteSAgICAgICAgICAgICBQcmVmaXggQ29tbWFuZApDLXogICAgICAgICAgICAgaXNl YXJjaHAteWFuay1jaGFyCkVTQyAgICAgICAgICAgICBQcmVmaXggQ29tbWFuZApDLVwgICAgICAg ICAgICAgaXNlYXJjaC10b2dnbGUtaW5wdXQtbWV0aG9kCkMtXiAgICAgICAgICAgICBpc2VhcmNo LXRvZ2dsZS1zcGVjaWZpZWQtaW5wdXQtbWV0aG9kCkMtXyAgICAgICAgICAgICBpc2VhcmNocC15 YW5rLXN5bWJvbC1vci1jaGFyCkRFTCAgICAgICAgICAgICBpc2VhcmNoLWRlbGV0ZS1jaGFyClMt U1BDICAgICAgICAgICBpc2VhcmNoLXByaW50aW5nLWNoYXIKQy1TUEMgICAgICAgICAgIGlzZWFy Y2hwLXRvZ2dsZS1zZXQtcmVnaW9uCkMtKCAgICAgICAgICAgICBpc2VhcmNocC15YW5rLXNleHAt c3ltYm9sLW9yLWNoYXIKQy0rICAgICAgICAgICAgIGlzZWFyY2hwLXRvZ2dsZS1zZWFyY2gtaW52 aXNpYmxlCkMtOyAgICAgICAgICAgICBpZWRpdC1tb2RlCkMtYCAgICAgICAgICAgICBpc2VhcmNo cC10b2dnbGUtcmVnZXhwLXF1b3RlLXlhbmsKQy1TLVNQQyAgICAgICAgIGlzZWFyY2hwLW5hcnJv dy10by1sYXp5LWhpZ2hsaWdodHMKPEMtTS1yZXR1cm4+ICAgIGlzZWFyY2hwLWFjdC1vbi1kZW1h bmQKPEMtTS10YWI+ICAgICAgIGljaWNsZS1pc2VhcmNoLWNvbXBsZXRlCjxDLWVuZD4gICAgICAg ICBnb3RvLWxvbmdlc3QtbGluZQo8TS1TLWRlbGV0ZT4gICAgaXNlYXJjaHAtY2xlYW51cAo8TS10 YWI+ICAgICAgICAgaWNpY2xlLWlzZWFyY2gtY29tcGxldGUKPGJhY2t0YWI+ICAgICAgIGljaWNs ZS1zZWFyY2gtdy1pc2VhcmNoLXN0cmluZwo8ZG93bi1tb3VzZS0yPiAgaWdub3JlCjxlc2NhcGU+ ICAgICAgICBQcmVmaXggQ29tbWFuZAo8ZjE+ICAgICAgICAgICAgUHJlZml4IENvbW1hbmQKPGhl bHA+ICAgICAgICAgIFByZWZpeCBDb21tYW5kCjxtb3VzZS0yPiAgICAgICBpc2VhcmNoLW1vdXNl LTIKPG5leHQ+ICAgICAgICAgIGlzZWFyY2gtcmVwZWF0LWZvcndhcmQKPHByaW9yPiAgICAgICAg IGlzZWFyY2gtcmVwZWF0LWJhY2t3YXJkCjxyZW1hcD4gICAgICAgICBQcmVmaXggQ29tbWFuZAo8 cmV0dXJuPiAgICAgICAgaXNlYXJjaC1leGl0Cjxzd2l0Y2gtZnJhbWU+ICBpZ25vcmUKCkMteCA4 ICAgICAgICAgICBQcmVmaXggQ29tbWFuZApDLXggbiAgICAgICAgICAgaXNlYXJjaHAtdG9nZ2xl LXJlZ2lvbi1yZXN0cmljdGlvbgpDLXggbyAgICAgICAgICAgaXNlYXJjaHAtb3Blbi1yZWN1cnNp dmUtZWRpdApDLXggciAgICAgICAgICAgUHJlZml4IENvbW1hbmQKCkMteSBDLWMgICAgICAgICBp c2VhcmNocC15YW5rLWNoYXIKQy15IEMtZSAgICAgICAgIGlzZWFyY2hwLXlhbmstbGluZQpDLXkg Qy13ICAgICAgICAgaXNlYXJjaHAteWFuay13b3JkLW9yLWNoYXIKQy15IEMteSAgICAgICAgIGlz ZWFyY2gteWFuay1raWxsCkMteSBFU0MgICAgICAgICBQcmVmaXggQ29tbWFuZApDLXkgQy1fICAg ICAgICAgaXNlYXJjaHAteWFuay1zeW1ib2wtb3ItY2hhcgpDLXkgQy0oICAgICAgICAgaXNlYXJj aHAteWFuay1zZXhwLXN5bWJvbC1vci1jaGFyCkMteSBDLTIgICAgICAgICBpc2VhcmNoLXlhbmst c2Vjb25kYXJ5CgpDLU0taSAgICAgICAgICAgaWNpY2xlLWlzZWFyY2gtY29tcGxldGUKQy1NLWwg ICAgICAgICAgIGlzZWFyY2hwLXJlbW92ZS1mYWlsZWQtcGFydApDLU0tciAgICAgICAgICAgaXNl YXJjaC1yZXBlYXQtYmFja3dhcmQKQy1NLXMgICAgICAgICAgIGlzZWFyY2gtcmVwZWF0LWZvcndh cmQKQy1NLXQgICAgICAgICAgIGlzZWFyY2hwLXByb3BlcnR5LWZvcndhcmQtcmVnZXhwCkMtTS13 ICAgICAgICAgICBpc2VhcmNoLWRlbC1jaGFyCkMtTS15ICAgICAgICAgICBpc2VhcmNoLXlhbmst c2Vjb25kYXJ5CkVTQyBFU0MgICAgICAgICBQcmVmaXggQ29tbWFuZApNLSUgICAgICAgICAgICAg aXNlYXJjaC1xdWVyeS1yZXBsYWNlCk0tOiAgICAgICAgICAgICBpc2VhcmNocC1ldmFsLXNleHAt YW5kLWluc2VydApNLTsgICAgICAgICAgICAgaXNlYXJjaHAtdG9nZ2xlLWhpZGluZy1jb21tZW50 cwpNLU8gICAgICAgICAgICAgaXNlYXJjaC1tb2NjdXItYWxsCk0tYyAgICAgICAgICAgICBpc2Vh cmNoLXRvZ2dsZS1jYXNlLWZvbGQKTS1lICAgICAgICAgICAgIGlzZWFyY2gtZWRpdC1zdHJpbmcK TS1nICAgICAgICAgICAgIGlzZWFyY2hwLXJldHJpZXZlLWxhc3QtcXVpdC1zZWFyY2gKTS1rICAg ICAgICAgICAgIGlzZWFyY2hwLWN5Y2xlLW1pc21hdGNoLXJlbW92YWwKTS1uICAgICAgICAgICAg IGlzZWFyY2gtcmluZy1hZHZhbmNlCk0tbyAgICAgICAgICAgICBpY2ljbGUtaXNlYXJjaC1oaXN0 b3J5LWluc2VydApNLXAgICAgICAgICAgICAgaXNlYXJjaC1yaW5nLXJldHJlYXQKTS1yICAgICAg ICAgICAgIGlzZWFyY2gtdG9nZ2xlLXJlZ2V4cApNLXMgICAgICAgICAgICAgUHJlZml4IENvbW1h bmQKTS13ICAgICAgICAgICAgIGlzZWFyY2hwLWtpbGwtcmluZy1zYXZlCk0teSAgICAgICAgICAg ICBpc2VhcmNoLXlhbmstcG9wCkMtTS1TLWQgICAgICAgICBpc2VhcmNocC10b2dnbGUtZGltbWlu Zy1vdXRzaWRlLXNlYXJjaC1hcmVhCkMtTS0lICAgICAgICAgICBpc2VhcmNoLXF1ZXJ5LXJlcGxh Y2UtcmVnZXhwCkMtTS07ICAgICAgICAgICBpc2VhcmNocC10b2dnbGUtaWdub3JpbmctY29tbWVu dHMKQy1NLWAgICAgICAgICAgIGlzZWFyY2hwLXRvZ2dsZS1saXRlcmFsLXJlcGxhY2VtZW50CkMt TS1+ICAgICAgICAgICBpc2VhcmNocC10b2dnbGUtY29tcGxlbWVudGluZy1kb21haW4KCk0tRVND IEVTQyAgICAgICBpc2VhcmNoLWNhbmNlbAoKTS1zIEMtZSAgICAgICAgIGlzZWFyY2gteWFuay1s aW5lCk0tcyBTUEMgICAgICAgICBpc2VhcmNoLXRvZ2dsZS1sYXgtd2hpdGVzcGFjZQpNLXMgJyAg ICAgICAgICAgaXNlYXJjaC10b2dnbGUtY2hhcmFjdGVyLWZvbGQKTS1zIF8gICAgICAgICAgIGlz ZWFyY2gtdG9nZ2xlLXN5bWJvbApNLXMgYyAgICAgICAgICAgaXNlYXJjaC10b2dnbGUtY2FzZS1m b2xkCk0tcyBlICAgICAgICAgICBpc2VhcmNoLWVkaXQtc3RyaW5nCk0tcyBoICAgICAgICAgICBQ cmVmaXggQ29tbWFuZApNLXMgaSAgICAgICAgICAgaXNlYXJjaC10b2dnbGUtaW52aXNpYmxlCk0t cyBvICAgICAgICAgICBpc2VhcmNoLW9jY3VyCk0tcyByICAgICAgICAgICBpc2VhcmNoLXRvZ2ds ZS1yZWdleHAKTS1zIHYgICAgICAgICAgIGlzZWFyY2hwLXRvZ2dsZS1vcHRpb24tdG9nZ2xlCk0t cyB3ICAgICAgICAgICBpc2VhcmNoLXRvZ2dsZS13b3JkCgo8ZXNjYXBlPiA8dGFiPiAgaWNpY2xl LWlzZWFyY2gtY29tcGxldGUKCjxyZW1hcD4gPGlzZWFyY2gtY29tcGxldGU+ICAgICAgaXNlYXJj aHAtY29tcGxldGUKCjxmMT4gQy1oICAgICAgICBpc2VhcmNoLWhlbHAtZm9yLWhlbHAKPGYxPiA/ ICAgICAgICAgIGlzZWFyY2gtaGVscC1mb3ItaGVscAo8ZjE+IGIgICAgICAgICAgaXNlYXJjaC1k ZXNjcmliZS1iaW5kaW5ncwo8ZjE+IGsgICAgICAgICAgaXNlYXJjaC1kZXNjcmliZS1rZXkKPGYx PiBtICAgICAgICAgIGlzZWFyY2gtZGVzY3JpYmUtbW9kZQo8ZjE+IHEgICAgICAgICAgaGVscC1x dWl0CjxmMT4gPGYxPiAgICAgICBpc2VhcmNoLWhlbHAtZm9yLWhlbHAKPGYxPiA8aGVscD4gICAg IGlzZWFyY2gtaGVscC1mb3ItaGVscAoKPGhlbHA+IEMtaCAgICAgIGlzZWFyY2gtaGVscC1mb3It aGVscAo8aGVscD4gPyAgICAgICAgaXNlYXJjaC1oZWxwLWZvci1oZWxwCjxoZWxwPiBiICAgICAg ICBpc2VhcmNoLWRlc2NyaWJlLWJpbmRpbmdzCjxoZWxwPiBrICAgICAgICBpc2VhcmNoLWRlc2Ny aWJlLWtleQo8aGVscD4gbSAgICAgICAgaXNlYXJjaC1kZXNjcmliZS1tb2RlCjxoZWxwPiBxICAg ICAgICBoZWxwLXF1aXQKPGhlbHA+IDxmMT4gICAgIGlzZWFyY2gtaGVscC1mb3ItaGVscAo8aGVs cD4gPGhlbHA+ICAgaXNlYXJjaC1oZWxwLWZvci1oZWxwCgpDLXggciBnICAgICAgICAgaXNlYXJj aHAtYXBwZW5kLXJlZ2lzdGVyCgpDLXggOCBSRVQgICAgICAgaXNlYXJjaC1jaGFyLWJ5LW5hbWUK CkMteSBNLWcgICAgICAgICBpc2VhcmNocC1yZXRyaWV2ZS1sYXN0LXF1aXQtc2VhcmNoCkMteSBN LXkgICAgICAgICBpc2VhcmNoLXlhbmstcG9wCgpNLXMgaCBoICAgICAgICAgaGx0LWhpZ2hsaWdo dC1pc2VhcmNoLW1hdGNoZXMKTS1zIGggbCAgICAgICAgIGlzZWFyY2hwLXRvZ2dsZS1sYXp5LWhp Z2hsaWdodC1jbGVhbnVwCk0tcyBoIHIgICAgICAgICBpc2VhcmNoLWhpZ2hsaWdodC1yZWdleHAK TS1zIGggdSAgICAgICAgIGhsdC11bmhpZ2hsaWdodC1pc2VhcmNoLW1hdGNoZXMKCg== --__1446152012845245690abhmp0004.oracle.com--