From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Kaushal Modi Newsgroups: gmane.emacs.bugs Subject: bug#34256: 27.0.50; Crash on draw_glyphs() Date: Wed, 30 Jan 2019 13:22:01 -0500 Message-ID: References: <83pnse15pb.fsf@gnu.org> <83k1im142z.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000b534860580b0fefa" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="239416"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 34256@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jan 30 19:23:40 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gouWR-00107p-GN for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Jan 2019 19:23:39 +0100 Original-Received: from localhost ([127.0.0.1]:42474 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gouWQ-0003JH-GF for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Jan 2019 13:23:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:49919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gouW8-0003H2-WE for bug-gnu-emacs@gnu.org; Wed, 30 Jan 2019 13:23:23 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gouVu-0005kY-Af for bug-gnu-emacs@gnu.org; Wed, 30 Jan 2019 13:23:10 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52633) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gouVq-0005jd-SX for bug-gnu-emacs@gnu.org; Wed, 30 Jan 2019 13:23:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gouVq-0002JW-I4 for bug-gnu-emacs@gnu.org; Wed, 30 Jan 2019 13:23:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Kaushal Modi Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Jan 2019 18:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34256 X-GNU-PR-Package: emacs Original-Received: via spool by 34256-submit@debbugs.gnu.org id=B34256.15488725698861 (code B ref 34256); Wed, 30 Jan 2019 18:23:02 +0000 Original-Received: (at 34256) by debbugs.gnu.org; 30 Jan 2019 18:22:49 +0000 Original-Received: from localhost ([127.0.0.1]:51914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gouVc-0002Iq-2b for submit@debbugs.gnu.org; Wed, 30 Jan 2019 13:22:49 -0500 Original-Received: from mail-lj1-f174.google.com ([209.85.208.174]:45141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gouVZ-0002Ia-SJ for 34256@debbugs.gnu.org; Wed, 30 Jan 2019 13:22:47 -0500 Original-Received: by mail-lj1-f174.google.com with SMTP id s5-v6so372566ljd.12 for <34256@debbugs.gnu.org>; Wed, 30 Jan 2019 10:22:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7vpLUWfWlThbbi870o1cP7aGGx5qpCs1V3IOSESVHv4=; b=GCJx4Nwz2CjmLReS9z7/uTKBwwyRDrSz52aJxmoxS1OI9O+uHzR5/tPTCcazLl0+TT XtoJEvpMMvSZzEhgS7Pd3BIDVF+diaVegH5fWM/HT60osx4BumF+ggW1PNRzEcJtJ1r+ cO/XgUEMeHCUT/Lnqd1Lbqbjx0+vsevOSRjLo25/3s39hsL4Xj/g7WOyyxefvtiNf2SQ 25tX6IqmsBTt++eUcDhGWD5BZhkLIyHMZRzfHUyJT8M+D3meBtZbS/fvjJf/iQgrYsuZ uiOwr98llvbrYZ0yK4iTxfl0/7veua4PA2RPZMEhJORpkJN22auh1Lht1nyIn3AqH0nh aB3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7vpLUWfWlThbbi870o1cP7aGGx5qpCs1V3IOSESVHv4=; b=tYNlqt4IWup28pPE+bCossdU/pTzwD+vfuU3EVSfqhZk1FcFx+5peELauAjMmSiRLI 9BHYp0pCX/pgEJ2j9GmQwzNbhF3V7TIIVGHqWwamZEd2cg0w8YC2G4Q5MFXkMfMsNsQ6 UdbHha+GPIwlbiH9dUTe/j2olpNZryiGQaUG2kwV0ZyyKoNJxh2tSmjwGcitzMJ/tGxD OHoyvAIg9Rg6z0mJJcMkT15/jybNVwd38QXJRgUASiaE7ziJwLmDBtiOe9lI4UqsjYqT Siat3cSB32xqmQaijuhnk39IsGCN4p94eECKjZK3sjFR4pIJF1prGFrHwTpaX3fm99d2 04zw== X-Gm-Message-State: AJcUukc+LPVyxloBa3Di3fnzX3ItY06RL6/iFTxBUPDhYTVvtANZGimf Kky8+1LR0AE4a0sRP6Dr7SY7FoOkhVcAjaXyDlg= X-Google-Smtp-Source: ALg8bN6UuhME9IMpXXqvTLrtVcw7Rd3IsLv6/AY+AwXopfi6VHxe8pbXyKFwQ+wyrMXNpjoC21e7nGzb1od59qLM0Gs= X-Received: by 2002:a2e:8855:: with SMTP id z21-v6mr25134930ljj.191.1548872559438; Wed, 30 Jan 2019 10:22:39 -0800 (PST) In-Reply-To: <83k1im142z.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.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" Xref: news.gmane.org gmane.emacs.bugs:154897 Archived-At: --000000000000b534860580b0fefa Content-Type: text/plain; charset="UTF-8" On Wed, Jan 30, 2019 at 11:51 AM Eli Zaretskii wrote: > > I recommend always using these options when building the master > branch. > OK. Will do so. > I'll work on getting a recipe. > > Thanks. > Unfortunately, I couldn't create a recipe even with my whole emacs config. I can recreate the issue only when I load the desktop session. Here is the snippet of the .desktop file related to the buffer in which I can reproduce the crash consistently. ===== (setq desktop-saved-frameset [frameset 1 (23633 59565 276710 128000) (desktop . "208") "kmodi@kmodi-lx01.foo.bar.com" nil nil ((((minibuffer . t) (undecorated) (override-redirect) (font-backend xft x) (font . "-unknown-PragmataPro-normal-normal-normal-*-18-*-*-*-*-0-iso10646-1") (font-parameter . "-unknown-PragmataPro-normal-normal-normal-*-18-*-*-*-*-0-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 1) (bottom-divider-width . 0) (vertical-scroll-bars) (horizontal-scroll-bars) (foreground-color . "#f7f7f7") (background-color . "#282828") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 8) (right-fringe . 8) (no-special-glyphs) (scroll-bar-foreground) (scroll-bar-background) (menu-bar-lines . 0) (tool-bar-lines . 0) (title) (wait-for-wm . t) (tool-bar-position . top) (inhibit-double-buffering) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 0) (scroll-bar-height . 0) (alpha) (no-focus-on-map) (no-accept-focus) (fullscreen) (visibility . t) (skip-taskbar) (z-group) (display-type . color) (background-mode . dark) (cursor-color . "white") (sticky) (last-focus-update) (frameset--id . "BE37-83AB-0DA7-C565") (frameset--mini t . t) (modeline . t) (unsplittable) (icon-name) (display . ":1.0") (explicit-name) (fullscreen-restore) (frameset--text-pixel-width . 2030) (frameset--text-pixel-height . 1089) (height . 54) (width . 225) (left . 0) (top . 0)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 80) (min-pixel-width . 90) (min-pixel-height-ignore . 40) (min-pixel-width-ignore . 36) (min-pixel-height-safe . 20) (min-pixel-width-safe . 18)) leaf (pixel-width . 2046) (pixel-height . 1069) (total-width . 227) (total-height . 53) (normal-height . 1.0) (normal-width . 1.0) (buffer "emacs_27_0.desktop" (selected . t) (hscroll . 0) (fringes 8 8 nil) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated) (point . 45706) (start . 42427)) (prev-buffers ("emacs_27_0.desktop" 42647 45125) ("init.el" 9884 10328) ("rxdp_simple_test.sv" 1 1089))))]) ... (desktop-create-buffer 208 "/home/kmodi/hugo/work_blog/content-org/work-posts.org" "work-posts.org" 'org-mode '(auto-fill-mode abbrev-mode visual-line-mode eldoc-mode override-global-mode modi-mode beacon-mode hi-lock-mode volatile-highlights-mode hungry-delete-mode page-break-lines-mode undo-tree-mode wrap-region-mode writegood-mode diff-hl-mode org-indent-mode org-hugo-auto-export-mode projectile-mode hardcore-mode which-key-mode ivy-mode anzu-mode mode-line-space-mode) 50848 '(nil nil) nil nil '((indent-tabs-mode) (buffer-display-time 23633 59378 650447 18000) (buffer-file-coding-system . utf-8-unix) (fill-column . 70) (truncate-lines)) '((mark-ring nil))) ===== - I cannot reproduce the crash in an emacs -Q session using the same Org file, or even using my full unaltered config (except for commenting out desktop loading). But now I have this detailed backtrace; hopefully it helps you spot the problem: xdisp.c:26154: Emacs fatal error: assertion failed: s->img Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:370 370 { (gdb) bt #0 terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:370 #1 0x00000000005a1622 in die (msg=msg@entry=0x67dc2c "s->img", file=file@entry=0x67dbaa "xdisp.c", line=line@entry=26154) at alloc.c:7453 #2 0x00000000004378fe in fill_image_glyph_string (s=s@entry=0x7fffffff7aa0) at xdisp.c:26154 #3 0x00000000004708cf in draw_glyphs (w=w@entry=0x13fa4e0, x=44, row=0x234ba50, area=area@entry=TEXT_AREA, start=, start@entry=0, end=end@entry=6, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:26841 #4 0x0000000000474bd2 in x_write_glyphs (w=0x13fa4e0, updated_row=, start=, updated_area=TEXT_AREA, len=6) at xdisp.c:29042 #5 0x000000000042244d in update_text_area (w=w@entry=0x13fa4e0, updated_row=updated_row@entry=0x234ba50, vpos=vpos@entry=14) at dispnew.c:3613 #6 0x0000000000422fea in update_window_line (w=w@entry=0x13fa4e0, vpos=vpos@entry=14, mouse_face_overwritten_p=mouse_face_overwritten_p@entry=0x7fffffff7f2f) at dispnew.c:3856 #7 0x000000000042366e in update_window (w=w@entry=0x13fa4e0, force_p=force_p@entry=true) at dispnew.c:3478 #8 0x00000000004238ab in update_window_tree (w=0x13fa4e0, force_p=force_p@entry=true) at dispnew.c:3220 #9 0x000000000042389b in update_window_tree (w=w@entry=0xdfaee0, force_p=force_p@entry=true) at dispnew.c:3218 #10 0x00000000004259db in update_frame (f=f@entry=0x143b1b0, force_p=true, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3109 #11 0x000000000046cf22 in redisplay_internal () at xdisp.c:14521 #12 0x000000000046e493 in redisplay () at xdisp.c:13664 #13 0x000000000054451e in read_char (commandflag=0, map=..., map@entry=XIL(0x418b203), prev_event=XIL(0x418b203), used_mouse_menu=used_mouse_menu@entry=0x7fffffff967b, end_time=end_time@entry=0x0) at keyboard.c:2462 #14 0x0000000000545f05 in read_key_sequence (keybuf=keybuf@entry=0x7fffffff9750, prompt=..., prompt@entry=XIL(0x2fd53a4), dont_downcase_last=, can_return_switch_frame=can_return_switch_frame@entry=false, fix_current_buffer=fix_current_buffer@entry=false, prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:9082 #15 0x00000000005489be in read_key_sequence_vs (prompt=..., continue_echo=XIL(0), dont_downcase_last=..., can_return_switch_frame=XIL(0), cmd_loop=..., allow_string=allow_string@entry=false) at keyboard.c:9777 #16 0x0000000000548a97 in Fread_key_sequence_vector (prompt=..., continue_echo=..., dont_downcase_last=..., can_return_switch_frame=..., cmd_loop=...) at keyboard.c:9858 #17 0x00000000005cf89c in funcall_subr (subr=0xcdd780 , numargs=numargs@entry=3, args=args@entry=0x7fffffff9970) at eval.c:2947 #18 0x00000000005cdc27 in Ffuncall (nargs=4, args=args@entry=0x7fffffff9968) at eval.c:2860 #19 0x000000000060f0bb in exec_byte_code (bytestr=..., vector=..., vector@entry=XIL(0x7ffff31fe77d), maxdepth=..., maxdepth@entry=make_number(14), args_template=..., args_template@entry=make_number(256), nargs=nargs@entry=1, args=, args@entry=0x7fffffff9ca0) at bytecode.c:633 #20 0x00000000005d0e5b in funcall_lambda (fun=fun@entry=XIL(0x7ffff31fe74d), nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffff9ca0) at eval.c:3058 #21 0x00000000005cdd80 in Ffuncall (nargs=2, args=args@entry=0x7fffffff9c98) at eval.c:2862 #22 0x000000000060f0bb in exec_byte_code (bytestr=..., vector=..., vector@entry=XIL(0x7ffff319f95d), maxdepth=..., maxdepth@entry=make_number(9), args_template=..., args_template@entry=make_number(257), nargs=nargs@entry=1, args=, args@entry=0x7fffffffa0a0) at bytecode.c:633 #23 0x00000000005d0e5b in funcall_lambda (fun=fun@entry=XIL(0x7ffff319f92d), nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffa0a0) at eval.c:3058 #24 0x00000000005cdd80 in Ffuncall (nargs=2, args=args@entry=0x7fffffffa098) at eval.c:2862 #25 0x000000000060f0bb in exec_byte_code (bytestr=..., vector=..., vector@entry=XIL(0x604bd85), maxdepth=..., maxdepth@entry=make_number(14), args_template=..., args_template@entry=make_number(0), nargs=nargs@entry=0, args=, args@entry=0x7fffffffa620) at bytecode.c:633 #26 0x00000000005d0e5b in funcall_lambda (fun=fun@entry=XIL(0x604bec5), nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffa620) at eval.c:3058 #27 0x00000000005cdd80 in Ffuncall (nargs=nargs@entry=1, args=args@entry=0x7fffffffa618) at eval.c:2862 #28 0x00000000005c91cb in Ffuncall_interactively (nargs=1, args=0x7fffffffa618) at callint.c:253 #29 0x00000000005cf71c in funcall_subr (subr=0xce4780 , numargs=numargs@entry=1, args=args@entry=0x7fffffffa618) at eval.c:2915 #30 0x00000000005cdc27 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffa610) at eval.c:2860 #31 0x00000000005ce16c in Fapply (nargs=nargs@entry=3, args=args@entry=0x7fffffffa610) at eval.c:2433 #32 0x00000000005c9a0a in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:340 #33 0x00000000005cf86a in funcall_subr (subr=0xce4740 , numargs=numargs@entry=3, args=args@entry=0x7fffffffa750) at eval.c:2940#34 0x00000000005cdc27 in Ffuncall (nargs=4, args=args@entry=0x7fffffffa748) at eval.c:2860 #35 0x000000000060f0bb in exec_byte_code (bytestr=..., vector=..., vector@entry=XIL(0x7ffff32a25a5), maxdepth=..., maxdepth@entry=make_number(13), args_template=..., args_template@entry=make_number(1025), nargs=nargs@entry=1, args=, args@entry=0x7fffffffaa78) at bytecode.c:633 #36 0x00000000005d0e5b in funcall_lambda (fun=fun@entry=XIL(0x7ffff32a2575), nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffaa78) at eval.c:3058 #37 0x00000000005cdd80 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffaa70) at eval.c:2862 #38 0x00000000005ce041 in call1 (fn=..., fn@entry=XIL(0x4020), arg1=...) at eval.c:2711 #39 0x0000000000547999 in command_loop_1 () at keyboard.c:1462 #40 0x00000000005ccded in internal_condition_case (bfun=bfun@entry=0x5473a3 , handlers=..., handlers@entry=XIL(0x5490), hfun=hfun@entry=0x53c25f ) at eval.c:1376 #41 0x0000000000537c9a in command_loop_2 (ignore=..., ignore@entry=XIL(0)) at keyboard.c:1090 #42 0x00000000005ccd35 in internal_catch (tag=..., func=func@entry=0x537c82 , arg=..., arg@entry=XIL(0)) at eval.c:1139 ---Type to continue, or q to quit--- #43 0x000000000053addd in command_loop () at keyboard.c:1069 #44 0x000000000053bcff in recursive_edit_1 () at keyboard.c:714 #45 0x000000000053c061 in Frecursive_edit () at keyboard.c:785 #46 0x0000000000534efa in main (argc=1, argv=) at emacs.c:1949 Lisp Backtrace: "redisplay_internal (C function)" (0x0) "read-key-sequence-vector" (0xffff9970) "read-key" (0xffff9ca0) "yes-or-no-p" (0xffffa0a0) "vc-revert" (0xffffa620) "funcall-interactively" (0xffffa618) "call-interactively" (0xffffa750) "command-execute" (0xffffaa78) (gdb) More Info: - The Org file/buffer seen when this crash happens displays inline images. --000000000000b534860580b0fefa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBkaXI9Imx0ciI+PGRpdiBkaXI9Imx0ciI+PGRpdiBkaXI9Imx0 ciI+PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIi IGNsYXNzPSJnbWFpbF9hdHRyIj5PbiBXZWQsIEphbiAzMCwgMjAxOSBhdCAxMTo1MSBBTSBFbGkg WmFyZXRza2lpICZsdDs8YSBocmVmPSJtYWlsdG86ZWxpekBnbnUub3JnIj5lbGl6QGdudS5vcmc8 L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz dHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2Io MjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPjxicj4NCkkgcmVjb21tZW5kIGFsd2F5cyB1 c2luZyB0aGVzZSBvcHRpb25zIHdoZW4gYnVpbGRpbmcgdGhlIG1hc3Rlcjxicj4NCmJyYW5jaC48 YnI+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+T0suIFdpbGwgZG8gc28uPC9kaXY+ PGRpdj4gPGJyPjwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1h cmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQs MjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4NCg0KJmd0OyBJJiMzOTtsbCB3b3JrIG9uIGdldHRpbmcg YSByZWNpcGUuPGJyPg0KPGJyPg0KVGhhbmtzLjxicj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9k aXY+PGRpdj5VbmZvcnR1bmF0ZWx5LCBJIGNvdWxkbiYjMzk7dCBjcmVhdGUgYSByZWNpcGUgZXZl biB3aXRoIG15IHdob2xlIGVtYWNzIGNvbmZpZy48L2Rpdj48ZGl2PkkgY2FuIHJlY3JlYXRlIHRo ZSBpc3N1ZSBvbmx5IHdoZW4gSSBsb2FkIHRoZSBkZXNrdG9wIHNlc3Npb24uPC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PkhlcmUgaXMgdGhlIHNuaXBwZXQgb2YgdGhlIC5kZXNr dG9wIGZpbGUgcmVsYXRlZCB0byB0aGUgYnVmZmVyIGluIHdoaWNoIEkgY2FuIHJlcHJvZHVjZSB0 aGUgY3Jhc2ggY29uc2lzdGVudGx5LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT08L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2PihzZXRxIGRlc2t0b3Atc2F2ZWQtZnJhbWVzZXQ8YnI+wqDC oMKgwqDCoCBbZnJhbWVzZXQgMTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDIz NjMzIDU5NTY1IDI3NjcxMCAxMjgwMDApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoZGVza3RvcCAuICZxdW90OzIwOCZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICZxdW90OzxhIGhyZWY9Im1haWx0bzprbW9kaUBrbW9kaS1seDAxLmZvby5iYXIuY29t Ij5rbW9kaUBrbW9kaS1seDAxLmZvby5iYXIuY29tPC9hPiZxdW90OyBuaWwgbmlsPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKCgobWluaWJ1ZmZlciAuIHQpPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodW5kZWNvcmF0ZWQpPGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAob3ZlcnJpZGUtcmVkaXJlY3QpPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZm9udC1iYWNrZW5kIHhmdCB4KTxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGZvbnQgLiAmcXVvdDstdW5rbm93bi1Q cmFnbWF0YVByby1ub3JtYWwtbm9ybWFsLW5vcm1hbC0qLTE4LSotKi0qLSotMC1pc28xMDY0Ni0x JnF1b3Q7KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGZvbnQtcGFy YW1ldGVyIC4gJnF1b3Q7LXVua25vd24tUHJhZ21hdGFQcm8tbm9ybWFsLW5vcm1hbC1ub3JtYWwt Ki0xOC0qLSotKi0qLTAtaXNvMTA2NDYtMSZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIChib3JkZXItd2lkdGggLiAwKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKGludGVybmFsLWJvcmRlci13aWR0aCAuIDApPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAocmlnaHQtZGl2aWRlci13aWR0aCAuIDEpPGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoYm90dG9tLWRpdmlkZXItd2lk dGggLiAwKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHZlcnRpY2Fs LXNjcm9sbC1iYXJzKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGhv cml6b250YWwtc2Nyb2xsLWJhcnMpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAoZm9yZWdyb3VuZC1jb2xvciAuICZxdW90OyNmN2Y3ZjcmcXVvdDspPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoYmFja2dyb3VuZC1jb2xvciAuICZxdW90OyMy ODI4MjgmcXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobW91 c2UtY29sb3IgLiAmcXVvdDtibGFjayZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIChib3JkZXItY29sb3IgLiAmcXVvdDtibGFjayZxdW90Oyk8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzY3JlZW4tZ2FtbWEpPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobGluZS1zcGFjaW5nKTxicj7CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGxlZnQtZnJpbmdlIC4gOCk8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChyaWdodC1mcmluZ2UgLiA4KTxicj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG5vLXNwZWNpYWwtZ2x5cGhzKTxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNjcm9sbC1iYXItZm9yZWdyb3VuZCk8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzY3JvbGwtYmFyLWJhY2tn cm91bmQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWVudS1iYXIt bGluZXMgLiAwKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHRvb2wt YmFyLWxpbmVzIC4gMCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh0 aXRsZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh3YWl0LWZvci13 bSAuIHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodG9vbC1iYXIt cG9zaXRpb24gLiB0b3ApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo aW5oaWJpdC1kb3VibGUtYnVmZmVyaW5nKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKGljb24tdHlwZSAuIHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAoYXV0by1yYWlzZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIChhdXRvLWxvd2VyKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KGN1cnNvci10eXBlIC4gYm94KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKHNjcm9sbC1iYXItd2lkdGggLiAwKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKHNjcm9sbC1iYXItaGVpZ2h0IC4gMCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIChhbHBoYSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChuby1mb2N1cy1vbi1tYXApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAobm8tYWNjZXB0LWZvY3VzKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKGZ1bGxzY3JlZW4pPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAodmlzaWJpbGl0eSAuIHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAoc2tpcC10YXNrYmFyKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKHotZ3JvdXApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZGlz cGxheS10eXBlIC4gY29sb3IpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoYmFja2dyb3VuZC1tb2RlIC4gZGFyayk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIChjdXJzb3ItY29sb3IgLiAmcXVvdDt3aGl0ZSZxdW90Oyk8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzdGlja3kpPGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAobGFzdC1mb2N1cy11cGRhdGUpPGJyPsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZnJhbWVzZXQtLWlkIC4gJnF1b3Q7QkUzNy04M0FCLTBE QTctQzU2NSZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChm cmFtZXNldC0tbWluaSB0IC4gdCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIChtb2RlbGluZSAuIHQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAodW5zcGxpdHRhYmxlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KGljb24tbmFtZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChkaXNw bGF5IC4gJnF1b3Q7OjEuMCZxdW90Oyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChleHBsaWNpdC1uYW1lKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKGZ1bGxzY3JlZW4tcmVzdG9yZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIChmcmFtZXNldC0tdGV4dC1waXhlbC13aWR0aCAuIDIwMzApPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZnJhbWVzZXQtLXRleHQtcGl4ZWwtaGVpZ2h0 IC4gMTA4OSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChoZWlnaHQg LiA1NCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh3aWR0aCAuIDIy NSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChsZWZ0IC4gMCk8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh0b3AgLiAwKSk8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKG1pbi1oZWlnaHQgLiA0KTxicj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1pbi13aWR0aCAuIDEwKTxicj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1pbi1oZWlnaHQtaWdub3JlIC4gMik8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtaW4td2lkdGgtaWdub3JlIC4g NCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtaW4taGVpZ2h0LXNh ZmUgLiAxKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1pbi13aWR0 aC1zYWZlIC4gMik8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtaW4t cGl4ZWwtaGVpZ2h0IC4gODApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAobWluLXBpeGVsLXdpZHRoIC4gOTApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAobWluLXBpeGVsLWhlaWdodC1pZ25vcmUgLiA0MCk8YnI+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtaW4tcGl4ZWwtd2lkdGgtaWdub3JlIC4gMzYpPGJyPsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWluLXBpeGVsLWhlaWdodC1zYWZl IC4gMjApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWluLXBpeGVs LXdpZHRoLXNhZmUgLiAxOCkpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bGVhZjxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChwaXhlbC13aWR0aCAu IDIwNDYpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHBpeGVsLWhlaWdo dCAuIDEwNjkpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHRvdGFsLXdp ZHRoIC4gMjI3KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh0b3RhbC1o ZWlnaHQgLiA1Myk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobm9ybWFs LWhlaWdodCAuIDEuMCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobm9y bWFsLXdpZHRoIC4gMS4wKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChi dWZmZXIgJnF1b3Q7ZW1hY3NfMjdfMC5kZXNrdG9wJnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzZWxlY3RlZCAuIHQpPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChoc2Nyb2xsIC4g MCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KGZyaW5nZXMgOCA4IG5pbCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKG1hcmdpbnMgbmlsKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc2Nyb2xsLWJhcnMgbmlsIDAgdCBuaWwgMCB0KTxi cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodnNj cm9sbCAuIDApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChkZWRpY2F0ZWQpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIChwb2ludCAuIDQ1NzA2KTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc3RhcnQgLiA0MjQyNykpPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHByZXYtYnVmZmVyczxicj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCZxdW90O2VtYWNzXzI3XzAuZGVza3RvcCZxdW90OyA0 MjY0NyA0NTEyNSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgmcXVv dDtpbml0LmVsJnF1b3Q7IDk4ODQgMTAzMjgpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoJnF1b3Q7PGEgaHJlZj0iaHR0cDovL3J4ZHBfc2ltcGxlX3Rlc3Quc3YiPnJ4 ZHBfc2ltcGxlX3Rlc3Quc3Y8L2E+JnF1b3Q7IDEgMTA4OSkpKSldKTwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+Li4uPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4oZGVza3RvcC1jcmVhdGUtYnVm ZmVyIDIwODxicj7CoCAmcXVvdDsvaG9tZS9rbW9kaS9odWdvL3dvcmtfYmxvZy9jb250ZW50LW9y Zy88YSBocmVmPSJodHRwOi8vd29yay1wb3N0cy5vcmciPndvcmstcG9zdHMub3JnPC9hPiZxdW90 Ozxicj7CoCAmcXVvdDs8YSBocmVmPSJodHRwOi8vd29yay1wb3N0cy5vcmciPndvcmstcG9zdHMu b3JnPC9hPiZxdW90Ozxicj7CoCAmIzM5O29yZy1tb2RlPGJyPsKgICYjMzk7KGF1dG8tZmlsbC1t b2RlIGFiYnJldi1tb2RlIHZpc3VhbC1saW5lLW1vZGUgZWxkb2MtbW9kZSBvdmVycmlkZS1nbG9i YWwtbW9kZSBtb2RpLW1vZGUgYmVhY29uLW1vZGUgaGktbG9jay1tb2RlIHZvbGF0aWxlLWhpZ2hs aWdodHMtbW9kZSBodW5ncnktZGVsZXRlLW1vZGUgcGFnZS1icmVhay1saW5lcy1tb2RlIHVuZG8t dHJlZS1tb2RlIHdyYXAtcmVnaW9uLW1vZGUgd3JpdGVnb29kLW1vZGUgZGlmZi1obC1tb2RlIG9y Zy1pbmRlbnQtbW9kZSBvcmctaHVnby1hdXRvLWV4cG9ydC1tb2RlIHByb2plY3RpbGUtbW9kZSBo YXJkY29yZS1tb2RlIHdoaWNoLWtleS1tb2RlIGl2eS1tb2RlIGFuenUtbW9kZSBtb2RlLWxpbmUt c3BhY2UtbW9kZSk8YnI+wqAgNTA4NDg8YnI+wqAgJiMzOTsobmlsIG5pbCk8YnI+wqAgbmlsPGJy PsKgIG5pbDxicj7CoCAmIzM5OygoaW5kZW50LXRhYnMtbW9kZSkgKGJ1ZmZlci1kaXNwbGF5LXRp bWUgMjM2MzMgNTkzNzggNjUwNDQ3IDE4MDAwKSAoYnVmZmVyLWZpbGUtY29kaW5nLXN5c3RlbSAu IHV0Zi04LXVuaXgpIChmaWxsLWNvbHVtbiAuIDcwKSAodHJ1bmNhdGUtbGluZXMpKTxicj7CoCAm IzM5OygobWFyay1yaW5nIG5pbCkpKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT08L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi0gSSBjYW5ub3QgcmVwcm9kdWNlIHRoZSBjcmFzaCBpbiBh biBlbWFjcyAtUSBzZXNzaW9uIHVzaW5nIHRoZSBzYW1lIE9yZyBmaWxlLCBvciBldmVuIHVzaW5n IG15IGZ1bGwgdW5hbHRlcmVkIGNvbmZpZyAoZXhjZXB0IGZvciBjb21tZW50aW5nIG91dCBkZXNr dG9wIGxvYWRpbmcpLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QnV0IG5vdyBJIGhhdmUgdGhp cyBkZXRhaWxlZCBiYWNrdHJhY2U7IGhvcGVmdWxseSBpdCBoZWxwcyB5b3Ugc3BvdCB0aGUgcHJv YmxlbTo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PnhkaXNwLmM6MjYxNTQ6IEVtYWNzIGZhdGFs IGVycm9yOiBhc3NlcnRpb24gZmFpbGVkOiBzLSZndDtpbWc8YnI+PGJyPlRocmVhZCAxICZxdW90 O2VtYWNzJnF1b3Q7IGhpdCBCcmVha3BvaW50IDEsIHRlcm1pbmF0ZV9kdWVfdG9fc2lnbmFsIChz aWc9c2lnQGVudHJ5PTYsPGJyPsKgwqDCoCBiYWNrdHJhY2VfbGltaXQ9YmFja3RyYWNlX2xpbWl0 QGVudHJ5PTIxNDc0ODM2NDcpIGF0IGVtYWNzLmM6MzcwPGJyPjM3MMKgwqDCoMKgIHs8YnI+KGdk YikgYnQ8YnI+IzDCoCB0ZXJtaW5hdGVfZHVlX3RvX3NpZ25hbCAoc2lnPXNpZ0BlbnRyeT02LCBi YWNrdHJhY2VfbGltaXQ9YmFja3RyYWNlX2xpbWl0QGVudHJ5PTIxNDc0ODM2NDcpIGF0IGVtYWNz LmM6MzcwPGJyPiMxwqAgMHgwMDAwMDAwMDAwNWExNjIyIGluIGRpZSAobXNnPW1zZ0BlbnRyeT0w eDY3ZGMyYyAmcXVvdDtzLSZndDtpbWcmcXVvdDssIGZpbGU9ZmlsZUBlbnRyeT0weDY3ZGJhYSAm cXVvdDt4ZGlzcC5jJnF1b3Q7LCBsaW5lPWxpbmVAZW50cnk9MjYxNTQpIGF0IGFsbG9jLmM6NzQ1 Mzxicj4jMsKgIDB4MDAwMDAwMDAwMDQzNzhmZSBpbiBmaWxsX2ltYWdlX2dseXBoX3N0cmluZyAo cz1zQGVudHJ5PTB4N2ZmZmZmZmY3YWEwKSBhdCB4ZGlzcC5jOjI2MTU0PGJyPiMzwqAgMHgwMDAw MDAwMDAwNDcwOGNmIGluIGRyYXdfZ2x5cGhzICh3PXdAZW50cnk9MHgxM2ZhNGUwLCB4PTQ0LCBy b3c9MHgyMzRiYTUwLCBhcmVhPWFyZWFAZW50cnk9VEVYVF9BUkVBLCBzdGFydD0mbHQ7b3B0aW1p emVkIG91dCZndDssIHN0YXJ0QGVudHJ5PTAsIGVuZD1lbmRAZW50cnk9NiwgaGw9RFJBV19OT1JN QUxfVEVYVCwgb3ZlcmxhcHM9MCk8YnI+wqDCoMKgIGF0IHhkaXNwLmM6MjY4NDE8YnI+IzTCoCAw eDAwMDAwMDAwMDA0NzRiZDIgaW4geF93cml0ZV9nbHlwaHMgKHc9MHgxM2ZhNGUwLCB1cGRhdGVk X3Jvdz0mbHQ7b3B0aW1pemVkIG91dCZndDssIHN0YXJ0PSZsdDtvcHRpbWl6ZWQgb3V0Jmd0Oywg dXBkYXRlZF9hcmVhPVRFWFRfQVJFQSwgbGVuPTYpIGF0IHhkaXNwLmM6MjkwNDI8YnI+IzXCoCAw eDAwMDAwMDAwMDA0MjI0NGQgaW4gdXBkYXRlX3RleHRfYXJlYSAodz13QGVudHJ5PTB4MTNmYTRl MCwgdXBkYXRlZF9yb3c9dXBkYXRlZF9yb3dAZW50cnk9MHgyMzRiYTUwLCB2cG9zPXZwb3NAZW50 cnk9MTQpIGF0IGRpc3BuZXcuYzozNjEzPGJyPiM2wqAgMHgwMDAwMDAwMDAwNDIyZmVhIGluIHVw ZGF0ZV93aW5kb3dfbGluZSAodz13QGVudHJ5PTB4MTNmYTRlMCwgdnBvcz12cG9zQGVudHJ5PTE0 LCBtb3VzZV9mYWNlX292ZXJ3cml0dGVuX3A9bW91c2VfZmFjZV9vdmVyd3JpdHRlbl9wQGVudHJ5 PTB4N2ZmZmZmZmY3ZjJmKSBhdCBkaXNwbmV3LmM6Mzg1Njxicj4jN8KgIDB4MDAwMDAwMDAwMDQy MzY2ZSBpbiB1cGRhdGVfd2luZG93ICh3PXdAZW50cnk9MHgxM2ZhNGUwLCBmb3JjZV9wPWZvcmNl X3BAZW50cnk9dHJ1ZSkgYXQgZGlzcG5ldy5jOjM0Nzg8YnI+IzjCoCAweDAwMDAwMDAwMDA0MjM4 YWIgaW4gdXBkYXRlX3dpbmRvd190cmVlICh3PTB4MTNmYTRlMCwgZm9yY2VfcD1mb3JjZV9wQGVu dHJ5PXRydWUpIGF0IGRpc3BuZXcuYzozMjIwPGJyPiM5wqAgMHgwMDAwMDAwMDAwNDIzODliIGlu IHVwZGF0ZV93aW5kb3dfdHJlZSAodz13QGVudHJ5PTB4ZGZhZWUwLCBmb3JjZV9wPWZvcmNlX3BA ZW50cnk9dHJ1ZSkgYXQgZGlzcG5ldy5jOjMyMTg8YnI+IzEwIDB4MDAwMDAwMDAwMDQyNTlkYiBp biB1cGRhdGVfZnJhbWUgKGY9ZkBlbnRyeT0weDE0M2IxYjAsIGZvcmNlX3A9dHJ1ZSwgZm9yY2Vf cEBlbnRyeT1mYWxzZSwgaW5oaWJpdF9oYWlyeV9pZF9wPWluaGliaXRfaGFpcnlfaWRfcEBlbnRy eT1mYWxzZSkgYXQgZGlzcG5ldy5jOjMxMDk8YnI+IzExIDB4MDAwMDAwMDAwMDQ2Y2YyMiBpbiBy ZWRpc3BsYXlfaW50ZXJuYWwgKCkgYXQgeGRpc3AuYzoxNDUyMTxicj4jMTIgMHgwMDAwMDAwMDAw NDZlNDkzIGluIHJlZGlzcGxheSAoKSBhdCB4ZGlzcC5jOjEzNjY0PGJyPiMxMyAweDAwMDAwMDAw MDA1NDQ1MWUgaW4gcmVhZF9jaGFyIChjb21tYW5kZmxhZz0wLCBtYXA9Li4uLCBtYXBAZW50cnk9 WElMKDB4NDE4YjIwMyksIHByZXZfZXZlbnQ9WElMKDB4NDE4YjIwMyksIHVzZWRfbW91c2VfbWVu dT11c2VkX21vdXNlX21lbnVAZW50cnk9MHg3ZmZmZmZmZjk2N2IsIGVuZF90aW1lPWVuZF90aW1l QGVudHJ5PTB4MCk8YnI+wqDCoMKgIGF0IGtleWJvYXJkLmM6MjQ2Mjxicj4jMTQgMHgwMDAwMDAw MDAwNTQ1ZjA1IGluIHJlYWRfa2V5X3NlcXVlbmNlIChrZXlidWY9a2V5YnVmQGVudHJ5PTB4N2Zm ZmZmZmY5NzUwLCBwcm9tcHQ9Li4uLCBwcm9tcHRAZW50cnk9WElMKDB4MmZkNTNhNCksIGRvbnRf ZG93bmNhc2VfbGFzdD0mbHQ7b3B0aW1pemVkIG91dCZndDssPGJyPsKgwqDCoCBjYW5fcmV0dXJu X3N3aXRjaF9mcmFtZT1jYW5fcmV0dXJuX3N3aXRjaF9mcmFtZUBlbnRyeT1mYWxzZSwgZml4X2N1 cnJlbnRfYnVmZmVyPWZpeF9jdXJyZW50X2J1ZmZlckBlbnRyeT1mYWxzZSwgcHJldmVudF9yZWRp c3BsYXk9cHJldmVudF9yZWRpc3BsYXlAZW50cnk9ZmFsc2UpIGF0IGtleWJvYXJkLmM6OTA4Mjxi cj4jMTUgMHgwMDAwMDAwMDAwNTQ4OWJlIGluIHJlYWRfa2V5X3NlcXVlbmNlX3ZzIChwcm9tcHQ9 Li4uLCBjb250aW51ZV9lY2hvPVhJTCgwKSwgZG9udF9kb3duY2FzZV9sYXN0PS4uLiwgY2FuX3Jl dHVybl9zd2l0Y2hfZnJhbWU9WElMKDApLCBjbWRfbG9vcD0uLi4sIGFsbG93X3N0cmluZz1hbGxv d19zdHJpbmdAZW50cnk9ZmFsc2UpPGJyPsKgwqDCoCBhdCBrZXlib2FyZC5jOjk3Nzc8YnI+IzE2 IDB4MDAwMDAwMDAwMDU0OGE5NyBpbiBGcmVhZF9rZXlfc2VxdWVuY2VfdmVjdG9yIChwcm9tcHQ9 Li4uLCBjb250aW51ZV9lY2hvPS4uLiwgZG9udF9kb3duY2FzZV9sYXN0PS4uLiwgY2FuX3JldHVy bl9zd2l0Y2hfZnJhbWU9Li4uLCBjbWRfbG9vcD0uLi4pIGF0IGtleWJvYXJkLmM6OTg1ODxicj4j MTcgMHgwMDAwMDAwMDAwNWNmODljIGluIGZ1bmNhbGxfc3ViciAoc3Vicj0weGNkZDc4MCAmbHQ7 U3JlYWRfa2V5X3NlcXVlbmNlX3ZlY3RvciZndDssIG51bWFyZ3M9bnVtYXJnc0BlbnRyeT0zLCBh cmdzPWFyZ3NAZW50cnk9MHg3ZmZmZmZmZjk5NzApIGF0IGV2YWwuYzoyOTQ3PGJyPiMxOCAweDAw MDAwMDAwMDA1Y2RjMjcgaW4gRmZ1bmNhbGwgKG5hcmdzPTQsIGFyZ3M9YXJnc0BlbnRyeT0weDdm ZmZmZmZmOTk2OCkgYXQgZXZhbC5jOjI4NjA8YnI+IzE5IDB4MDAwMDAwMDAwMDYwZjBiYiBpbiBl eGVjX2J5dGVfY29kZSAoYnl0ZXN0cj0uLi4sIHZlY3Rvcj0uLi4sIHZlY3RvckBlbnRyeT1YSUwo MHg3ZmZmZjMxZmU3N2QpLCBtYXhkZXB0aD0uLi4sIG1heGRlcHRoQGVudHJ5PW1ha2VfbnVtYmVy KDE0KSwgYXJnc190ZW1wbGF0ZT0uLi4sPGJyPsKgwqDCoCBhcmdzX3RlbXBsYXRlQGVudHJ5PW1h a2VfbnVtYmVyKDI1NiksIG5hcmdzPW5hcmdzQGVudHJ5PTEsIGFyZ3M9Jmx0O29wdGltaXplZCBv dXQmZ3Q7LCBhcmdzQGVudHJ5PTB4N2ZmZmZmZmY5Y2EwKSBhdCBieXRlY29kZS5jOjYzMzxicj4j MjAgMHgwMDAwMDAwMDAwNWQwZTViIGluIGZ1bmNhbGxfbGFtYmRhIChmdW49ZnVuQGVudHJ5PVhJ TCgweDdmZmZmMzFmZTc0ZCksIG5hcmdzPW5hcmdzQGVudHJ5PTEsIGFyZ192ZWN0b3I9YXJnX3Zl Y3RvckBlbnRyeT0weDdmZmZmZmZmOWNhMCkgYXQgZXZhbC5jOjMwNTg8YnI+IzIxIDB4MDAwMDAw MDAwMDVjZGQ4MCBpbiBGZnVuY2FsbCAobmFyZ3M9MiwgYXJncz1hcmdzQGVudHJ5PTB4N2ZmZmZm ZmY5Yzk4KSBhdCBldmFsLmM6Mjg2Mjxicj4jMjIgMHgwMDAwMDAwMDAwNjBmMGJiIGluIGV4ZWNf Ynl0ZV9jb2RlIChieXRlc3RyPS4uLiwgdmVjdG9yPS4uLiwgdmVjdG9yQGVudHJ5PVhJTCgweDdm ZmZmMzE5Zjk1ZCksIG1heGRlcHRoPS4uLiwgbWF4ZGVwdGhAZW50cnk9bWFrZV9udW1iZXIoOSks IGFyZ3NfdGVtcGxhdGU9Li4uLCBhcmdzX3RlbXBsYXRlQGVudHJ5PW1ha2VfbnVtYmVyKDI1Nyks PGJyPsKgwqDCoCBuYXJncz1uYXJnc0BlbnRyeT0xLCBhcmdzPSZsdDtvcHRpbWl6ZWQgb3V0Jmd0 OywgYXJnc0BlbnRyeT0weDdmZmZmZmZmYTBhMCkgYXQgYnl0ZWNvZGUuYzo2MzM8YnI+IzIzIDB4 MDAwMDAwMDAwMDVkMGU1YiBpbiBmdW5jYWxsX2xhbWJkYSAoZnVuPWZ1bkBlbnRyeT1YSUwoMHg3 ZmZmZjMxOWY5MmQpLCBuYXJncz1uYXJnc0BlbnRyeT0xLCBhcmdfdmVjdG9yPWFyZ192ZWN0b3JA ZW50cnk9MHg3ZmZmZmZmZmEwYTApIGF0IGV2YWwuYzozMDU4PGJyPiMyNCAweDAwMDAwMDAwMDA1 Y2RkODAgaW4gRmZ1bmNhbGwgKG5hcmdzPTIsIGFyZ3M9YXJnc0BlbnRyeT0weDdmZmZmZmZmYTA5 OCkgYXQgZXZhbC5jOjI4NjI8YnI+IzI1IDB4MDAwMDAwMDAwMDYwZjBiYiBpbiBleGVjX2J5dGVf Y29kZSAoYnl0ZXN0cj0uLi4sIHZlY3Rvcj0uLi4sIHZlY3RvckBlbnRyeT1YSUwoMHg2MDRiZDg1 KSwgbWF4ZGVwdGg9Li4uLCBtYXhkZXB0aEBlbnRyeT1tYWtlX251bWJlcigxNCksIGFyZ3NfdGVt cGxhdGU9Li4uLCBhcmdzX3RlbXBsYXRlQGVudHJ5PW1ha2VfbnVtYmVyKDApLDxicj7CoMKgwqAg bmFyZ3M9bmFyZ3NAZW50cnk9MCwgYXJncz0mbHQ7b3B0aW1pemVkIG91dCZndDssIGFyZ3NAZW50 cnk9MHg3ZmZmZmZmZmE2MjApIGF0IGJ5dGVjb2RlLmM6NjMzPGJyPiMyNiAweDAwMDAwMDAwMDA1 ZDBlNWIgaW4gZnVuY2FsbF9sYW1iZGEgKGZ1bj1mdW5AZW50cnk9WElMKDB4NjA0YmVjNSksIG5h cmdzPW5hcmdzQGVudHJ5PTAsIGFyZ192ZWN0b3I9YXJnX3ZlY3RvckBlbnRyeT0weDdmZmZmZmZm YTYyMCkgYXQgZXZhbC5jOjMwNTg8YnI+IzI3IDB4MDAwMDAwMDAwMDVjZGQ4MCBpbiBGZnVuY2Fs bCAobmFyZ3M9bmFyZ3NAZW50cnk9MSwgYXJncz1hcmdzQGVudHJ5PTB4N2ZmZmZmZmZhNjE4KSBh dCBldmFsLmM6Mjg2Mjxicj4jMjggMHgwMDAwMDAwMDAwNWM5MWNiIGluIEZmdW5jYWxsX2ludGVy YWN0aXZlbHkgKG5hcmdzPTEsIGFyZ3M9MHg3ZmZmZmZmZmE2MTgpIGF0IGNhbGxpbnQuYzoyNTM8 YnI+IzI5IDB4MDAwMDAwMDAwMDVjZjcxYyBpbiBmdW5jYWxsX3N1YnIgKHN1YnI9MHhjZTQ3ODAg Jmx0O1NmdW5jYWxsX2ludGVyYWN0aXZlbHkmZ3Q7LCBudW1hcmdzPW51bWFyZ3NAZW50cnk9MSwg YXJncz1hcmdzQGVudHJ5PTB4N2ZmZmZmZmZhNjE4KSBhdCBldmFsLmM6MjkxNTxicj4jMzAgMHgw MDAwMDAwMDAwNWNkYzI3IGluIEZmdW5jYWxsIChuYXJncz1uYXJnc0BlbnRyeT0yLCBhcmdzPWFy Z3NAZW50cnk9MHg3ZmZmZmZmZmE2MTApIGF0IGV2YWwuYzoyODYwPGJyPiMzMSAweDAwMDAwMDAw MDA1Y2UxNmMgaW4gRmFwcGx5IChuYXJncz1uYXJnc0BlbnRyeT0zLCBhcmdzPWFyZ3NAZW50cnk9 MHg3ZmZmZmZmZmE2MTApIGF0IGV2YWwuYzoyNDMzPGJyPiMzMiAweDAwMDAwMDAwMDA1YzlhMGEg aW4gRmNhbGxfaW50ZXJhY3RpdmVseSAoZnVuY3Rpb249Li4uLCByZWNvcmRfZmxhZz0uLi4sIGtl eXM9Li4uKSBhdCBjYWxsaW50LmM6MzQwPGJyPiMzMyAweDAwMDAwMDAwMDA1Y2Y4NmEgaW4gZnVu Y2FsbF9zdWJyIChzdWJyPTB4Y2U0NzQwICZsdDtTY2FsbF9pbnRlcmFjdGl2ZWx5Jmd0OywgbnVt YXJncz1udW1hcmdzQGVudHJ5PTMsIGFyZ3M9YXJnc0BlbnRyeT0weDdmZmZmZmZmYTc1MCkgYXQg ZXZhbC5jOjI5NDAjMzQgMHgwMDAwMDAwMDAwNWNkYzI3IGluIEZmdW5jYWxsIChuYXJncz00LCBh cmdzPWFyZ3NAZW50cnk9MHg3ZmZmZmZmZmE3NDgpIGF0IGV2YWwuYzoyODYwPGJyPiMzNSAweDAw MDAwMDAwMDA2MGYwYmIgaW4gZXhlY19ieXRlX2NvZGUgKGJ5dGVzdHI9Li4uLCB2ZWN0b3I9Li4u LCB2ZWN0b3JAZW50cnk9WElMKDB4N2ZmZmYzMmEyNWE1KSwgbWF4ZGVwdGg9Li4uLCBtYXhkZXB0 aEBlbnRyeT1tYWtlX251bWJlcigxMyksIGFyZ3NfdGVtcGxhdGU9Li4uLDxicj7CoMKgwqAgYXJn c190ZW1wbGF0ZUBlbnRyeT1tYWtlX251bWJlcigxMDI1KSwgbmFyZ3M9bmFyZ3NAZW50cnk9MSwg YXJncz0mbHQ7b3B0aW1pemVkIG91dCZndDssIGFyZ3NAZW50cnk9MHg3ZmZmZmZmZmFhNzgpIGF0 IGJ5dGVjb2RlLmM6NjMzPGJyPiMzNiAweDAwMDAwMDAwMDA1ZDBlNWIgaW4gZnVuY2FsbF9sYW1i ZGEgKGZ1bj1mdW5AZW50cnk9WElMKDB4N2ZmZmYzMmEyNTc1KSwgbmFyZ3M9bmFyZ3NAZW50cnk9 MSwgYXJnX3ZlY3Rvcj1hcmdfdmVjdG9yQGVudHJ5PTB4N2ZmZmZmZmZhYTc4KSBhdCBldmFsLmM6 MzA1ODxicj4jMzcgMHgwMDAwMDAwMDAwNWNkZDgwIGluIEZmdW5jYWxsIChuYXJncz1uYXJnc0Bl bnRyeT0yLCBhcmdzPWFyZ3NAZW50cnk9MHg3ZmZmZmZmZmFhNzApIGF0IGV2YWwuYzoyODYyPGJy PiMzOCAweDAwMDAwMDAwMDA1Y2UwNDEgaW4gY2FsbDEgKGZuPS4uLiwgZm5AZW50cnk9WElMKDB4 NDAyMCksIGFyZzE9Li4uKSBhdCBldmFsLmM6MjcxMTxicj4jMzkgMHgwMDAwMDAwMDAwNTQ3OTk5 IGluIGNvbW1hbmRfbG9vcF8xICgpIGF0IGtleWJvYXJkLmM6MTQ2Mjxicj4jNDAgMHgwMDAwMDAw MDAwNWNjZGVkIGluIGludGVybmFsX2NvbmRpdGlvbl9jYXNlIChiZnVuPWJmdW5AZW50cnk9MHg1 NDczYTMgJmx0O2NvbW1hbmRfbG9vcF8xJmd0OywgaGFuZGxlcnM9Li4uLCBoYW5kbGVyc0BlbnRy eT1YSUwoMHg1NDkwKSwgaGZ1bj1oZnVuQGVudHJ5PTB4NTNjMjVmICZsdDtjbWRfZXJyb3ImZ3Q7 KSBhdCBldmFsLmM6MTM3Njxicj4jNDEgMHgwMDAwMDAwMDAwNTM3YzlhIGluIGNvbW1hbmRfbG9v cF8yIChpZ25vcmU9Li4uLCBpZ25vcmVAZW50cnk9WElMKDApKSBhdCBrZXlib2FyZC5jOjEwOTA8 YnI+IzQyIDB4MDAwMDAwMDAwMDVjY2QzNSBpbiBpbnRlcm5hbF9jYXRjaCAodGFnPS4uLiwgZnVu Yz1mdW5jQGVudHJ5PTB4NTM3YzgyICZsdDtjb21tYW5kX2xvb3BfMiZndDssIGFyZz0uLi4sIGFy Z0BlbnRyeT1YSUwoMCkpIGF0IGV2YWwuYzoxMTM5PGJyPi0tLVR5cGUgJmx0O3JldHVybiZndDsg dG8gY29udGludWUsIG9yIHEgJmx0O3JldHVybiZndDsgdG8gcXVpdC0tLTxicj4jNDMgMHgwMDAw MDAwMDAwNTNhZGRkIGluIGNvbW1hbmRfbG9vcCAoKSBhdCBrZXlib2FyZC5jOjEwNjk8YnI+IzQ0 IDB4MDAwMDAwMDAwMDUzYmNmZiBpbiByZWN1cnNpdmVfZWRpdF8xICgpIGF0IGtleWJvYXJkLmM6 NzE0PGJyPiM0NSAweDAwMDAwMDAwMDA1M2MwNjEgaW4gRnJlY3Vyc2l2ZV9lZGl0ICgpIGF0IGtl eWJvYXJkLmM6Nzg1PGJyPiM0NiAweDAwMDAwMDAwMDA1MzRlZmEgaW4gbWFpbiAoYXJnYz0xLCBh cmd2PSZsdDtvcHRpbWl6ZWQgb3V0Jmd0OykgYXQgZW1hY3MuYzoxOTQ5PGJyPjxicj5MaXNwIEJh Y2t0cmFjZTo8YnI+JnF1b3Q7cmVkaXNwbGF5X2ludGVybmFsIChDIGZ1bmN0aW9uKSZxdW90OyAo MHgwKTxicj4mcXVvdDtyZWFkLWtleS1zZXF1ZW5jZS12ZWN0b3ImcXVvdDsgKDB4ZmZmZjk5NzAp PGJyPiZxdW90O3JlYWQta2V5JnF1b3Q7ICgweGZmZmY5Y2EwKTxicj4mcXVvdDt5ZXMtb3Itbm8t cCZxdW90OyAoMHhmZmZmYTBhMCk8YnI+JnF1b3Q7dmMtcmV2ZXJ0JnF1b3Q7ICgweGZmZmZhNjIw KTxicj4mcXVvdDtmdW5jYWxsLWludGVyYWN0aXZlbHkmcXVvdDsgKDB4ZmZmZmE2MTgpPGJyPiZx dW90O2NhbGwtaW50ZXJhY3RpdmVseSZxdW90OyAoMHhmZmZmYTc1MCk8YnI+JnF1b3Q7Y29tbWFu ZC1leGVjdXRlJnF1b3Q7ICgweGZmZmZhYTc4KTxicj4oZ2RiKTxicj48L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2Pk1vcmUgSW5mbzo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi0gVGhlIE9yZyBm aWxlL2J1ZmZlciBzZWVuIHdoZW4gdGhpcyBjcmFzaCBoYXBwZW5zIGRpc3BsYXlzIGlubGluZSBp bWFnZXMuPGJyPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0K --000000000000b534860580b0fefa--