From 60e00448700db02f5cac7e1daae3273e4590e9fe Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Sun, 31 Aug 2025 18:17:23 -0700 Subject: [PATCH] EDITFONT: Column-major order to match XCCS and Unicode tables (#2271) * Column major order to match XCCS and Unicode tables * Compile with exports * HLDISPLAY added a title argument to EDITBM * EDITFONT puts the character and font in the title of the EDITBM window * Put character set in edit window title --- lispusers/EDITFONT | 66 ++++++++++++++++++++++++--------------- lispusers/EDITFONT.LCOM | Bin 9147 -> 9668 bytes sources/HLDISPLAY | 67 ++++++++++++++++++++-------------------- sources/HLDISPLAY.LCOM | Bin 63687 -> 63593 bytes 4 files changed, 74 insertions(+), 59 deletions(-) diff --git a/lispusers/EDITFONT b/lispusers/EDITFONT index e1790da8..8c4eb47e 100644 --- a/lispusers/EDITFONT +++ b/lispusers/EDITFONT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "17-Aug-2025 12:11:44" {WMEDLEY}EDITFONT.;27 23463 +(FILECREATED "29-Aug-2025 22:34:31" {WMEDLEY}EDITFONT.;33 24939 :EDIT-BY rmk - :CHANGES-TO (FNS EDITFONT) + :CHANGES-TO (FNS EDITFONT EF.EDITBM EF.CHARITEMS EF.SAVE) - :PREVIOUS-DATE " 4-Aug-2025 13:34:06" {WMEDLEY}EDITFONT.;26) + :PREVIOUS-DATE "27-Aug-2025 22:50:51" {WMEDLEY}EDITFONT.;30) (PRETTYCOMPRINT EDITFONTCOMS) @@ -80,17 +80,22 @@ (WINDOWPROP WINDOW 'MENU NIL]) (EF.CHARITEMS - [LAMBDA (FONT CHARSET) (* ; "Edited 4-Aug-2025 00:14 by rmk") + [LAMBDA (FONT CHARSET) (* ; "Edited 29-Aug-2025 11:34 by rmk") + (* ; "Edited 27-Aug-2025 22:50 by rmk") + (* ; "Edited 4-Aug-2025 00:14 by rmk") (* ; "Edited 25-Jul-2025 10:06 by rmk") (* kbr%: "16-Oct-85 23:11") - (* ;; "Get CHARITEMS for CHARSET in FONT. ") + (* ;; "Get CHARITEMS for CHARSET in FONT. Sort them in column-major order to build an array that corresponds to the tables in Unicode and XCCS.") - (for C8 from 0 to \MAXTHINCHAR as C from (LLSH CHARSET 8) - collect (create CHARITEM - BITMAP _ (GETCHARBITMAP C FONT) - CHARCODE _ C8 - SLUGCHARP _ (SLUGCHARP.DISPLAY C FONT]) + (for ROW from 0 to 15 join (for COL CODE from 0 to 15 + collect (SETQ CODE (LOGOR (LLSH CHARSET 8) + (IPLUS (TIMES COL 16) + ROW))) + (create CHARITEM + BITMAP _ (GETCHARBITMAP CODE FONT) + CHARCODE _ CODE + SLUGCHARP _ (SLUGCHARP.DISPLAY CODE FONT]) (EF.BUTTONEVENTFN [LAMBDA (WINDOW) (* kbr%: "16-Oct-85 22:19") @@ -113,9 +118,11 @@ (* Do nothing. *)]) (EF.EDITBM - [LAMBDA (CHARITEM MENU) (* ; "Edited 4-Aug-2025 09:11 by rmk") + [LAMBDA (CHARITEM MENU CHARSET) (* ; "Edited 29-Aug-2025 11:37 by rmk") + (* ; "Edited 4-Aug-2025 09:11 by rmk") (* kbr%: "15-Dec-84 15:20") (LET ((SLUGCHARP (fetch (CHARITEM BITMAP) of CHARITEM)) + (CHARCODE (fetch (CHARITEM CHARCODE) of CHARITEM)) BITMAP) (RESETLST [RESETSAVE (SHADEITEM CHARITEM MENU BLACKSHADE) @@ -126,7 +133,9 @@ (UNINTERRUPTABLY (replace (CHARITEM BITMAP) of CHARITEM with BITMAP) (replace (CHARITEM SLUGCHARP) of CHARITEM with NIL))) - (EDITBM BITMAP)) + [EDITBM BITMAP (CONCAT (CHARCODE.ENCODE CHARCODE T) + " in " + (GETMENUPROP MENU 'EDITFONTTITLE]) (* ;; "Update MENU image. SHADEITEM's side effects above suffice if we only changed one menu item. (I.e. we edited an ordinary CHARITEM.) ") @@ -224,7 +233,8 @@ (T (LISPERROR "ILLEGAL ARG" BITMAP]) (EF.SAVE - [LAMBDA (WINDOW) (* ; "Edited 4-Aug-2025 09:22 by rmk") + [LAMBDA (WINDOW) (* ; "Edited 29-Aug-2025 11:35 by rmk") + (* ; "Edited 4-Aug-2025 09:22 by rmk") (* ; "Edited 2-Aug-2025 08:47 by rmk") (* kbr%: "21-Oct-85 15:39") (* ; "Save EDITFONT changes to FONT. *") @@ -264,7 +274,7 @@ (BITBLT BM 0 0 CB OFFSET 0 WIDTH (fetch (BITMAP BITMAPHEIGHT) of BM) 'INPUT 'REPLACE) - (SETQ C8 (fetch (CHARITEM CHARCODE) of CI)) + (SETQ C8 (\CHAR8CODE (fetch (CHARITEM CHARCODE) of CI))) (\FSETOFFSET OFFSETS C8 OFFSET) (\FSETWIDTH WIDTHS C8 WIDTH) (add OFFSET WIDTH)) @@ -279,9 +289,9 @@ 'INPUT 'REPLACE) (for CI in CHARITEMS when (fetch (CHARITEM SLUGCHARP) of CI) - do (\FSETOFFSET OFFSETS (fetch (CHARITEM CHARCODE) of CI) + do (\FSETOFFSET OFFSETS (\CHAR8CODE (fetch (CHARITEM CHARCODE) of CI)) SLUGOFFSET) - (\FSETOFFSET WIDTHS (fetch (CHARITEM CHARCODE) of CI) + (\FSETOFFSET WIDTHS (\CHAR8CODE (fetch (CHARITEM CHARCODE) of CI)) SLUGWIDTH)) (* ; "Store new info") (replace (CHARSETINFO CHARSETBITMAP) of CSINFO with CB) (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) @@ -408,7 +418,8 @@ (RETURN FONT]) (EDITFONT - [LAMBDA (FONT CHARSET) (* ; "Edited 17-Aug-2025 12:03 by rmk") + [LAMBDA (FONT CHARSET) (* ; "Edited 29-Aug-2025 22:34 by rmk") + (* ; "Edited 17-Aug-2025 12:03 by rmk") (* ; "Edited 3-Aug-2025 23:25 by rmk") (* ; "Edited 2-Aug-2025 10:11 by rmk") (* mjs "27-Mar-85 14:48") @@ -425,9 +436,14 @@ MENUCOLUMNS _ 16 ITEMS _ CHARITEMS WHENSELECTEDFN _ (FUNCTION EF.WHENSELECTEDFN))) - [SETQ TITLE (PACK* (FONTPROP FONT 'FAMILY) + (SETQ TITLE (PACK* (FONTPROP FONT 'FAMILY) + " " (FONTPROP FONT 'SIZE) - (PACKC (for ATOM in (FONTPROP FONT 'FACE) collect (CHCON1 ATOM] + " " + (PACKC (for ATOM in (FONTPROP FONT 'FACE) collect (CHCON1 ATOM))) + " " + (OCTALSTRING CHARSET))) + (PUTMENUPROP MENU 'EDITFONTTITLE TITLE) (SETQ HEIGHT (HEIGHTIFWINDOW (fetch (MENU IMAGEHEIGHT) of MENU) T)) (SETQ WIDTH (WIDTHIFWINDOW (fetch (MENU IMAGEWIDTH) of MENU))) @@ -461,10 +477,10 @@ (EF.INIT) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1110 14964 (EF.INIT 1120 . 1754) (EF.PROMPT 1756 . 2338) (EF.MESSAGE 2340 . 2552) ( -EF.CLOSEFN 2554 . 3081) (EF.CHARITEMS 3083 . 3741) (EF.BUTTONEVENTFN 3743 . 4155) (EF.WHENSELECTEDFN -4157 . 4561) (EF.EDITBM 4563 . 5732) (EF.MIDDLEBUTTONFN 5734 . 5979) (EF.CHANGESIZE 5981 . 7310) ( -EF.DELETE 7312 . 8387) (EF.ENTER 8389 . 9330) (EF.REPLACE 9332 . 10305) (EF.SAVE 10307 . 14256) ( -COPYFONT 14258 . 14533) (READSTRIKEFONTFILE 14535 . 14962)) (14965 23275 (BLANKCHARSETCREATE 14975 . -20952) (EDITFONT 20954 . 23273))))) + (FILEMAP (NIL (1141 16132 (EF.INIT 1151 . 1785) (EF.PROMPT 1787 . 2369) (EF.MESSAGE 2371 . 2583) ( +EF.CLOSEFN 2585 . 3112) (EF.CHARITEMS 3114 . 4436) (EF.BUTTONEVENTFN 4438 . 4850) (EF.WHENSELECTEDFN +4852 . 5256) (EF.EDITBM 5258 . 6752) (EF.MIDDLEBUTTONFN 6754 . 6999) (EF.CHANGESIZE 7001 . 8330) ( +EF.DELETE 8332 . 9407) (EF.ENTER 9409 . 10350) (EF.REPLACE 10352 . 11325) (EF.SAVE 11327 . 15424) ( +COPYFONT 15426 . 15701) (READSTRIKEFONTFILE 15703 . 16130)) (16133 24751 (BLANKCHARSETCREATE 16143 . +22120) (EDITFONT 22122 . 24749))))) STOP diff --git a/lispusers/EDITFONT.LCOM b/lispusers/EDITFONT.LCOM index 4b2703888190771d1acd70e46aef5acded05d30f..7c0e333a366b887f74989d4c1f747c7494a4f7bc 100644 GIT binary patch delta 4365 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 delta 3766 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 XG!fPyziFd`RqUO+c6aB&wUYEdD_+Pb diff --git a/sources/HLDISPLAY b/sources/HLDISPLAY index e6743ff2..c51c6c01 100644 --- a/sources/HLDISPLAY +++ b/sources/HLDISPLAY @@ -1,14 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 2-Aug-2025 10:16:35"  -{DSK}kaplan>Local>medley3.5>working-medley>sources>HLDISPLAY.;2 205096 +(FILECREATED "29-Aug-2025 11:38:16" {WMEDLEY}HLDISPLAY.;3 205136 :EDIT-BY rmk :CHANGES-TO (FNS EDITBM) - :PREVIOUS-DATE "15-Mar-94 10:48:02" -{DSK}kaplan>Local>medley3.5>working-medley>sources>HLDISPLAY.;1) + :PREVIOUS-DATE " 2-Aug-2025 10:16:35" {WMEDLEY}HLDISPLAY.;2) (PRETTYCOMPRINT HLDISPLAYCOMS) @@ -1511,7 +1509,8 @@ (DEFINEQ (EDITBM - [LAMBDA (BMSPEC) (* ; "Edited 2-Aug-2025 10:14 by rmk") + [LAMBDA (BMSPEC TITLE LEAVETTY) (* ; "Edited 29-Aug-2025 11:37 by rmk") + (* ; "Edited 2-Aug-2025 10:14 by rmk") (* ; "Edited 31-Aug-87 12:28 by FS") (* ;;; "A simple bitmap editor.") @@ -1613,7 +1612,7 @@ (SETQ BMW (CREATEW (GETBOXREGION (WIDTHIFWINDOW BMWWIDTH) (HEIGHTIFWINDOW BMWHEIGHT T) NIL NIL NIL "Indicate the position for the Bitmap Edit window.") - "Bitmap Editor")) + (OR TITLE "Bitmap Editor"))) (WINDOWPROP BMW 'BM BM) (WINDOWPROP BMW 'SCROLLFN (FUNCTION EDITBMSCROLLFN)) (WINDOWPROP BMW 'RESHAPEFN (FUNCTION EDITBMRESHAPEFN)) @@ -3515,32 +3514,32 @@ "({Y16 SMALLPOSP 0 0 15 240 255 3840 3855 4080 4095 61440 61455 61680 61695 65280 65295 65520 65535 }) ") (DECLARE%: DONTCOPY - (FILEMAP (NIL (4729 11892 (GRID 4739 . 9010) (GRIDXCOORD 9012 . 9517) (GRIDYCOORD 9519 . 10028) ( -LEFTOFGRIDCOORD 10030 . 10467) (BOTTOMOFGRIDCOORD 10469 . 10730) (SHADEGRIDBOX 10732 . 11890)) (11948 -12356 (INSIDE? 11958 . 12354)) (12394 16790 (MOUSESTATE-EXPR 12404 . 16059) (MOUSESTATE-NAME 16061 . -16788)) (20280 21265 (DECODEBUTTONS 20290 . 21263)) (21266 22278 (PTDIFFERENCE 21276 . 21785) (PTPLUS -21787 . 22276)) (22329 50232 (GETPOSITION 22339 . 22647) (GETBOXPOSITION 22649 . 23332) ( -DSPYSCREENTOWINDOW 23334 . 23818) (DSPXSCREENTOWINDOW 23820 . 24304) (GETREGION 24306 . 24855) ( -\GETREGION.PACKPTS 24857 . 25425) (\GETREGION.CHECKBASEPT 25427 . 27370) (\GETREGION.CHECKOPPT 27372 - . 30182) (\GETREGIONTRACKWITHBOX 30184 . 36715) (\UPDATEXYANDBOX 36717 . 39096) (GETBOXREGION 39098 - . 39572) (\TRACKWITHBOX 39574 . 44712) (MOVEBOX 44714 . 45344) (DRAWGRAYBOX 45346 . 45868) (BLTHLINE -45870 . 46120) (BLTVLINE 46122 . 46361) (SETCORNER 46363 . 47629) (GETSCREENPOSITION 47631 . 48244) ( -GETBOXSCREENPOSITION 48246 . 48857) (GETSCREENREGION 48859 . 49515) (GETBOXSCREENREGION 49517 . 50230) -) (50318 67134 (\MEDW.GETSCREENPOSITION 50328 . 52121) (\MEDW.GETBOXSCREENPOSITION 52123 . 55677) ( -\MEDW.GETSCREENREGION 55679 . 67132)) (67135 74873 (GETGRIDBOXREGION 67145 . 74799) (\RANGELIMIT 74801 - . 74871)) (74874 77924 (MOUSECONFIRM 74884 . 77922)) (78065 79434 (NEAREST/PT/ON/GRID 78075 . 78670) -(PTON10GRID 78672 . 78997) (NEAREST/MULTIPLE 78999 . 79432)) (81478 85380 (\SW2BM 81488 . 84186) ( -COMPOSEREGS 84188 . 84742) (TRANSLATEREG 84744 . 85378)) (85422 176157 (EDITBM 85432 . 95641) ( -EDITBMSCROLLFN 95643 . 110796) (EDITBMCLOSEFN 110798 . 111415) (TILEAREA 111417 . 111808) ( -EDITBMBUTTONFN 111810 . 136637) (\EDITBM/PUTUP/DISPLAY 136639 . 137541) (\EDITBMHOWMUCH 137543 . -138529) (EDITBMRESHAPEFN 138531 . 147217) (EDITBMREPAINTFN 147219 . 148538) (UPDATE/SHADE/DISPLAY -148540 . 148987) (UPDATE/BM/DISPLAY/SELECTED/REGION 148989 . 150103) (SHOWBUTTON 150105 . 150663) ( -RESETGRID.NEW 150665 . 154014) (RESETGRID 154016 . 154840) (\READBMDIMENSIONS 154842 . 155879) ( -EDITSHADE 155881 . 164607) (\BITMAPFROMTEXTURE 164609 . 165307) (EDITSHADEREPAINTFN 165309 . 167083) ( -GRAYBOXAREA 167085 . 167768) (\SHADEBITS 167770 . 170735) (READHOTSPOT 170737 . 174602) (WBOX 174604 - . 175328) (\CLEARBM 175330 . 175529) (EDITBMTEXTURE 175531 . 176155)) (177502 185209 (SCALEBM 177512 - . 179578) (BLTPATTERN 179580 . 182098) (BLTPATTERN.REPLACEDISPLAY 182100 . 184189) ( -BLTPATTERN.GENERIC 184191 . 185207)) (185210 197029 (EXPANDBITMAP 185220 . 187744) (EXPANDBM 187746 . -194301) (SHRINKBITMAP 194303 . 195647) (\FAST4BIT 195649 . 197027)) (197031 201020 (ROTATE-BITMAP -197031 . 201020)) (201022 204858 (ROTATE-BITMAP-LEFT 201022 . 204858))))) + (FILEMAP (NIL (4649 11812 (GRID 4659 . 8930) (GRIDXCOORD 8932 . 9437) (GRIDYCOORD 9439 . 9948) ( +LEFTOFGRIDCOORD 9950 . 10387) (BOTTOMOFGRIDCOORD 10389 . 10650) (SHADEGRIDBOX 10652 . 11810)) (11868 +12276 (INSIDE? 11878 . 12274)) (12314 16710 (MOUSESTATE-EXPR 12324 . 15979) (MOUSESTATE-NAME 15981 . +16708)) (20200 21185 (DECODEBUTTONS 20210 . 21183)) (21186 22198 (PTDIFFERENCE 21196 . 21705) (PTPLUS +21707 . 22196)) (22249 50152 (GETPOSITION 22259 . 22567) (GETBOXPOSITION 22569 . 23252) ( +DSPYSCREENTOWINDOW 23254 . 23738) (DSPXSCREENTOWINDOW 23740 . 24224) (GETREGION 24226 . 24775) ( +\GETREGION.PACKPTS 24777 . 25345) (\GETREGION.CHECKBASEPT 25347 . 27290) (\GETREGION.CHECKOPPT 27292 + . 30102) (\GETREGIONTRACKWITHBOX 30104 . 36635) (\UPDATEXYANDBOX 36637 . 39016) (GETBOXREGION 39018 + . 39492) (\TRACKWITHBOX 39494 . 44632) (MOVEBOX 44634 . 45264) (DRAWGRAYBOX 45266 . 45788) (BLTHLINE +45790 . 46040) (BLTVLINE 46042 . 46281) (SETCORNER 46283 . 47549) (GETSCREENPOSITION 47551 . 48164) ( +GETBOXSCREENPOSITION 48166 . 48777) (GETSCREENREGION 48779 . 49435) (GETBOXSCREENREGION 49437 . 50150) +) (50238 67054 (\MEDW.GETSCREENPOSITION 50248 . 52041) (\MEDW.GETBOXSCREENPOSITION 52043 . 55597) ( +\MEDW.GETSCREENREGION 55599 . 67052)) (67055 74793 (GETGRIDBOXREGION 67065 . 74719) (\RANGELIMIT 74721 + . 74791)) (74794 77844 (MOUSECONFIRM 74804 . 77842)) (77985 79354 (NEAREST/PT/ON/GRID 77995 . 78590) +(PTON10GRID 78592 . 78917) (NEAREST/MULTIPLE 78919 . 79352)) (81398 85300 (\SW2BM 81408 . 84106) ( +COMPOSEREGS 84108 . 84662) (TRANSLATEREG 84664 . 85298)) (85342 176197 (EDITBM 85352 . 95681) ( +EDITBMSCROLLFN 95683 . 110836) (EDITBMCLOSEFN 110838 . 111455) (TILEAREA 111457 . 111848) ( +EDITBMBUTTONFN 111850 . 136677) (\EDITBM/PUTUP/DISPLAY 136679 . 137581) (\EDITBMHOWMUCH 137583 . +138569) (EDITBMRESHAPEFN 138571 . 147257) (EDITBMREPAINTFN 147259 . 148578) (UPDATE/SHADE/DISPLAY +148580 . 149027) (UPDATE/BM/DISPLAY/SELECTED/REGION 149029 . 150143) (SHOWBUTTON 150145 . 150703) ( +RESETGRID.NEW 150705 . 154054) (RESETGRID 154056 . 154880) (\READBMDIMENSIONS 154882 . 155919) ( +EDITSHADE 155921 . 164647) (\BITMAPFROMTEXTURE 164649 . 165347) (EDITSHADEREPAINTFN 165349 . 167123) ( +GRAYBOXAREA 167125 . 167808) (\SHADEBITS 167810 . 170775) (READHOTSPOT 170777 . 174642) (WBOX 174644 + . 175368) (\CLEARBM 175370 . 175569) (EDITBMTEXTURE 175571 . 176195)) (177542 185249 (SCALEBM 177552 + . 179618) (BLTPATTERN 179620 . 182138) (BLTPATTERN.REPLACEDISPLAY 182140 . 184229) ( +BLTPATTERN.GENERIC 184231 . 185247)) (185250 197069 (EXPANDBITMAP 185260 . 187784) (EXPANDBM 187786 . +194341) (SHRINKBITMAP 194343 . 195687) (\FAST4BIT 195689 . 197067)) (197071 201060 (ROTATE-BITMAP +197071 . 201060)) (201062 204898 (ROTATE-BITMAP-LEFT 201062 . 204898))))) STOP diff --git a/sources/HLDISPLAY.LCOM b/sources/HLDISPLAY.LCOM index 77b5014a9e1979af08ad6b56bed71ada5f2dc29c..2148f3ee2a59d39901e38fa30cac1a61e922ca76 100644 GIT binary patch delta 1449 zcmaJ>y^kA36wjR_0aryr2#M-p3eHk&&CKr3#|DDdyJO$z_A4`MJC-6)bcxU@1V{H# zA>x9Tg2-iRdL%=e4pAdf(}RQ*{s1JNV>@TB5#7Asy!U%wznNeDZv64G@!jZCrrOcv z=WRw<0F;KF3@LBIVe@42_{r%P4<$dkiRRMkVW=5a?7p~guE?p>RrVu!C++aq!^W;_~r#wV0GUVc?nW6=SUj^C;lvGvgdc#%8}heS0b?1y@F+yp!P=HAuo&)3w?iMWycL zAdo*R5^eJ(83B5DX%K^>7^ z9pO7sxcmM#HTQOicG7cFrw$aE|2%oVH&qZ{o}Ew5x~CV}{U^9sDeDNA;BuUtX&)CNbvt@cZhc6!At zJOPC@eUnG&ieKPQm5hsC4`%=Zg`V798-&98f=dN!oC~>{(koeGFQA{+J;z!%Eb6a3Tx^RpUC+;1n{{pX7h7JG# delta 1584 zcmb_cy>BB$6hGeuA*D*eSI5IABpYNiv)-MVbq=HT?yR$9ziwu2U&J+5Vz?+y9NCEw z;$sUsDx@trA%sMQsNB<1@+VN!K}E~+t&@wLE3aAY`^|g5_w}3k`=5J%{Cn^FVew7n zjl5PpoSvQ^PsT?uJ%cK2f9dJ{uOIa1E-NjJn!sjgxVRqNZeC4sA?lS!}ms`6I;l1c}ISj1+~mR^uG zx(6^jJ%P5n=fpj!8(FdqH9yv{JncqxXs1dJf~2qWhKHptZ?A*CiS^W2;dw22R`WXUHYEhsy2wIGuzLpCjK&Q?yZbrBY34*j%8&Xp5IjQtx z;7A`Oo>Xzkg}^2==X4_%XAIkX6h!^VO~OP0w{8WQG~bNE3fF7q*yjd9%ngLu#wH@j zCcmFZ3qjTJ=ur?89ftDF6krLcy zc^B{>w>EH;#y@OMNqh`k3ASxR5Mza4qh_vA^j)C_gU4=P=|p)_XF>5BeKognp=(vx zD8)5E2owAu4)mV%{ICatw*ZwIIVccjT>rLsDI^qtpz9HwbLgqSOHdmY>aE?7*RY@2w dX$juyE5pKPs~dr}cxC=erD808z4-mx{{id4xK;oF