From 1dba32e2b41816782acc61f43cffc7e914b0b390 Mon Sep 17 00:00:00 2001 From: Nicolas Pravdin Date: Wed, 25 Mar 2015 11:45:56 +0800 Subject: [PATCH] code refactoring --- .../BukvoezhkaCrossplatform.dpr | 8 ++-- .../BukvoezhkaCrossplatform.dproj | 32 +++++++-------- .../BukvoezhkaCrossplatform.res | Bin 32 -> 62784 bytes BukvoezhkaCrossplatform/uMain.fmx | 2 + BukvoezhkaCrossplatform/uMain.pas | 22 +++++------ BukvoezhkaDesktop/BukvoezhkaDesktop.dpr | 14 +++---- BukvoezhkaDesktop/BukvoezhkaDesktop.dproj | 30 +++++++++----- BukvoezhkaDesktop/BukvoezhkaDesktop.res | Bin 48772 -> 48772 bytes ...uASCIIdecorator.pas => uASCIIartMaker.pas} | 34 ++++++++-------- ...IIartFonts.pas => uConstASCIIartFonts.pas} | 4 +- ...CharacterSets.pas => uConstCharArrays.pas} | 2 +- ...Idecorator.pas => uFixedASCIIartMaker.pas} | 6 +-- .../{uAbout.dfm => uFormAbout.dfm} | 1 - .../{uAbout.pas => uFormAbout.pas} | 2 +- .../{uMain.dfm => uFormMain.dfm} | 37 ++++++++++++------ .../{uMain.pas => uFormMain.pas} | 32 +++++++-------- ...lper.pas => uStringListTypesConverter.pas} | 2 +- BukvoezhkaDesktop/uTextConvertRoutines.pas | 2 +- BukvoezhkaDesktop/uTextConverter.pas | 2 +- BukvoezhkaMobile/BukvoezhkaMobile.dpr | 2 +- BukvoezhkaMobile/BukvoezhkaMobile.dproj | 24 ++++++++---- BukvoezhkaMobile/BukvoezhkaMobile.res | Bin 32 -> 62784 bytes BukvoezhkaMobile/uMain.NmXhdpiPh.fmx | 18 +-------- BukvoezhkaMobile/uMain.SmXhdpiPh.fmx | 18 +-------- BukvoezhkaMobile/uMain.Windows.fmx | 18 +-------- BukvoezhkaMobile/uMain.pas | 6 +-- 26 files changed, 155 insertions(+), 163 deletions(-) rename BukvoezhkaDesktop/{uASCIIdecorator.pas => uASCIIartMaker.pas} (90%) rename BukvoezhkaDesktop/{uFixedASCIIartFonts.pas => uConstASCIIartFonts.pas} (99%) rename BukvoezhkaDesktop/{uCharacterSets.pas => uConstCharArrays.pas} (99%) rename BukvoezhkaDesktop/{uFixedASCIIdecorator.pas => uFixedASCIIartMaker.pas} (98%) rename BukvoezhkaDesktop/{uAbout.dfm => uFormAbout.dfm} (99%) rename BukvoezhkaDesktop/{uAbout.pas => uFormAbout.pas} (95%) rename BukvoezhkaDesktop/{uMain.dfm => uFormMain.dfm} (98%) rename BukvoezhkaDesktop/{uMain.pas => uFormMain.pas} (89%) rename BukvoezhkaDesktop/{uStringsHelper.pas => uStringListTypesConverter.pas} (98%) diff --git a/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dpr b/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dpr index 2f1a7e0..91af004 100644 --- a/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dpr +++ b/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dpr @@ -6,10 +6,10 @@ uses uMain in 'uMain.pas' {FormMain}, uTextConvertRoutines in '..\BukvoezhkaDesktop\uTextConvertRoutines.pas', uTextConverter in '..\BukvoezhkaDesktop\uTextConverter.pas', - uStringsHelper in '..\BukvoezhkaDesktop\uStringsHelper.pas', - uFixedASCIIdecorator in '..\BukvoezhkaDesktop\uFixedASCIIdecorator.pas', - uFixedASCIIartFonts in '..\BukvoezhkaDesktop\uFixedASCIIartFonts.pas', - uCharacterSets in '..\BukvoezhkaDesktop\uCharacterSets.pas', + uStringListTypesConverter in '..\BukvoezhkaDesktop\uStringListTypesConverter.pas', + uFixedASCIIartMaker in '..\BukvoezhkaDesktop\uFixedASCIIartMaker.pas', + uConstASCIIartFonts in '..\BukvoezhkaDesktop\uConstASCIIartFonts.pas', + uConstCharArrays in '..\BukvoezhkaDesktop\uConstCharArrays.pas', uAbout in 'uAbout.pas' {FormAbout}; {$R *.res} diff --git a/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dproj b/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dproj index ea5e0fc..2c066c4 100644 --- a/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dproj +++ b/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.dproj @@ -6,7 +6,7 @@ BukvoezhkaCrossplatform.dpr True Release - OSX32 + Win64 95 Application @@ -291,10 +291,10 @@ - - - - + + + +
FormAbout
fmx @@ -325,15 +325,15 @@ - - - BukvoezhkaCrossplatform.exe + + + BukvoezhkaCrossplatform.icns true - + - BukvoezhkaCrossplatform + Info.plist true @@ -368,9 +368,9 @@ true - + - BukvoezhkaCrossplatform.icns + BukvoezhkaCrossplatform true @@ -385,13 +385,13 @@ true - - - Info.plist + + + BukvoezhkaCrossplatform.exe true - + BukvoezhkaCrossplatform true diff --git a/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.res b/BukvoezhkaCrossplatform/BukvoezhkaCrossplatform.res index 36f26e234a8ac66a47e95cec6d496cf2f1442471..106d836d69878dc166f654fe1598db71401f4f3b 100644 GIT binary patch literal 62784 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
|r2QKz;nLh3^cH0c?f<04 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 ZOMu)u>RoC%{EL@%0q)6(eXtqI{sHD;q;miO delta 6 NcmX@`idkWT0ssoc0)7Ah diff --git a/BukvoezhkaCrossplatform/uMain.fmx b/BukvoezhkaCrossplatform/uMain.fmx index aebd26d..7654bff 100644 --- a/BukvoezhkaCrossplatform/uMain.fmx +++ b/BukvoezhkaCrossplatform/uMain.fmx @@ -913,6 +913,7 @@ object FormMain: TFormMain TabOrder = 1 TextSettings.Font.Family = 'Lucida Console' TextSettings.Font.Size = 16.000000000000000000 + TextSettings.WordWrap = True StyledSettings = [Style, FontColor] end object MemoOutput: TMemo @@ -924,6 +925,7 @@ object FormMain: TFormMain TabOrder = 2 TextSettings.Font.Family = 'Lucida Console' TextSettings.Font.Size = 16.000000000000000000 + TextSettings.WordWrap = True StyledSettings = [Style, FontColor] end object SplitterInOut: TSplitter diff --git a/BukvoezhkaCrossplatform/uMain.pas b/BukvoezhkaCrossplatform/uMain.pas index bdd75e1..1da59ce 100644 --- a/BukvoezhkaCrossplatform/uMain.pas +++ b/BukvoezhkaCrossplatform/uMain.pas @@ -79,8 +79,8 @@ TFormMain = class(TForm) procedure ViewFontNameChange(Sender: TObject); procedure ViewFontSizeChange(Sender: TObject); private - ReplaceMethodItemIndex: integer; - ViewFontItemIndex: integer; + FReplaceMethodItemIndex: integer; + FViewFontItemIndex: integer; public { Public declarations } end; @@ -92,19 +92,19 @@ implementation {$R *.fmx} -uses uTextConverter, uFixedASCIIdecorator, uAbout; +uses uTextConverter, uFixedASCIIartMaker, uAbout; procedure TFormMain.ReplaceMethodItemIndexChange(Sender: TObject); begin - ReplaceMethodItemIndex := (Sender as TRadioButton).Tag; + FReplaceMethodItemIndex := (Sender as TRadioButton).Tag; ButtonGoClick(Sender); end; procedure TFormMain.ViewFontNameChange(Sender: TObject); // ïåðåäåëàòü íà äèíàìè÷åñêèé ïîèñê ïî òåãó ViewFontItemIndex ó äî÷åðíèõ êîì-â GroupBoxViewFontName begin - ViewFontItemIndex := (Sender as TRadioButton).Tag; - case ViewFontItemIndex of + FViewFontItemIndex := (Sender as TRadioButton).Tag; + case FViewFontItemIndex of 0: begin MemoInput.TextSettings.Font.Family := RadioButtonVFTahoma.Text; @@ -176,9 +176,9 @@ procedure TFormMain.TextDecorate(Sender: TObject); end; procedure TFormMain.ButtonSymbolsReplaceClick(Sender: TObject); - procedure GoTransform(TransformMethod: integer); + procedure TextConvert(ConvertMethod: integer); begin - case TransformMethod of + case ConvertMethod of 0: MemoOutput.Text := TTextConverter.MakeASCII(MemoInput.Text); 1: @@ -216,15 +216,15 @@ procedure TFormMain.ButtonSymbolsReplaceClick(Sender: TObject); MemoOutput.WordWrap := True; // MemoOutput.ScrollBars := ssVertical; // - GoTransform(ReplaceMethodItemIndex); + TextConvert(FReplaceMethodItemIndex); MemoOutput.SelectAll; MemoOutput.CopyToClipboard; end; procedure TFormMain.FormCreate(Sender: TObject); begin - ReplaceMethodItemIndex := 6; - ViewFontItemIndex := 2; + FReplaceMethodItemIndex := 6; + FViewFontItemIndex := 2; end; procedure TFormMain.ButtonAboutClick(Sender: TObject); diff --git a/BukvoezhkaDesktop/BukvoezhkaDesktop.dpr b/BukvoezhkaDesktop/BukvoezhkaDesktop.dpr index 71549fb..5bf9335 100644 --- a/BukvoezhkaDesktop/BukvoezhkaDesktop.dpr +++ b/BukvoezhkaDesktop/BukvoezhkaDesktop.dpr @@ -2,15 +2,15 @@ uses Forms, - uMain in 'uMain.pas' {FormMain}, + uFormMain in 'uFormMain.pas' {FormMain}, uTextConvertRoutines in 'uTextConvertRoutines.pas', - uCharacterSets in 'uCharacterSets.pas', + uConstCharArrays in 'uConstCharArrays.pas', uTextConverter in 'uTextConverter.pas', - uAbout in 'uAbout.pas' {FormAbout}, - uStringsHelper in 'uStringsHelper.pas', - uASCIIdecorator in 'uASCIIdecorator.pas', - uFixedASCIIartFonts in 'uFixedASCIIartFonts.pas', - uFixedASCIIdecorator in 'uFixedASCIIdecorator.pas'; + uFormAbout in 'uFormAbout.pas' {FormAbout}, + uStringListTypesConverter in 'uStringListTypesConverter.pas', + uASCIIartMaker in 'uASCIIartMaker.pas', + uConstASCIIartFonts in 'uConstASCIIartFonts.pas', + uFixedASCIIartMaker in 'uFixedASCIIartMaker.pas'; {$R *.res} diff --git a/BukvoezhkaDesktop/BukvoezhkaDesktop.dproj b/BukvoezhkaDesktop/BukvoezhkaDesktop.dproj index 5bf946e..bbbce55 100644 --- a/BukvoezhkaDesktop/BukvoezhkaDesktop.dproj +++ b/BukvoezhkaDesktop/BukvoezhkaDesktop.dproj @@ -114,27 +114,27 @@ 1033 true true - 33 - CompanyName=;FileDescription=;FileVersion=1.2.0.33;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.2;Comments=;LastCompiledTime=2015.03.22 02:46:35 + 38 + CompanyName=;FileDescription=;FileVersion=1.2.0.38;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.2;Comments=;LastCompiledTime=2015.03.25 11:43:35 MainSource - +
FormMain
- + - +
FormAbout
dfm
- - - - + + + + Cfg_2 @@ -233,6 +233,18 @@ + + + .\ + true + + + + + BukvoezhkaDesktop.exe + true + + 1 diff --git a/BukvoezhkaDesktop/BukvoezhkaDesktop.res b/BukvoezhkaDesktop/BukvoezhkaDesktop.res index 9d9e041d53884ad8f3498f2882edde349fe8096c..74ab6852dba3db3cdd69d5db641c0c9d3b195edb 100644 GIT binary patch delta 44 xcmZqq%hd9hX+jC3>crBCjOLTs8MB2=859@{fzXPpRK7)%)qfuu2m+2&Tp|9b!@i3|P! diff --git a/BukvoezhkaDesktop/uASCIIdecorator.pas b/BukvoezhkaDesktop/uASCIIartMaker.pas similarity index 90% rename from BukvoezhkaDesktop/uASCIIdecorator.pas rename to BukvoezhkaDesktop/uASCIIartMaker.pas index 23f3365..89e3fb9 100644 --- a/BukvoezhkaDesktop/uASCIIdecorator.pas +++ b/BukvoezhkaDesktop/uASCIIartMaker.pas @@ -1,4 +1,4 @@ -unit uASCIIdecorator; +unit uASCIIartMaker; // Ðвтор оригинального алгоритма Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸ в текÑÑ‚ - fabiin // (2003, http://codes-sources.commentcamarche.net/source/12384-ascii-t-petit-soft-d-ascii-art) @@ -8,16 +8,16 @@ interface uses Windows, Graphics, Classes; type - TDen = record // тип Ñимвола по цветовому тону - Car: Char; // Ñимвол - D: integer; // тон + TCharDensity = record // тип Ñимвола по цветовому тону + FChar: Char; // Ñимвол + FDensity: integer; // тон end; type - TASCIIdecorator = class(TComponent) + TASCIIartMaker = class(TComponent) private var - Densite: array of TDen; // МаÑÑив Ñимволов Ñо значениÑми их ÑркоÑти + Densite: array of TCharDensity; // МаÑÑив Ñимволов Ñо значениÑми их ÑркоÑти procedure QuickSort(iLo, iHi: integer); function MakeASCIIfromBitmap(SrcBitmap: TBitmap; DonorFont: string = 'Lucida Console'; contrast: integer = 255; zoom: integer = 0; IsNegative: boolean = false; @@ -33,21 +33,21 @@ implementation uses SysUtils; -procedure TASCIIdecorator.QuickSort(iLo, iHi: integer); +procedure TASCIIartMaker.QuickSort(iLo, iHi: integer); var Lo, Hi: integer; Mid: single; - T: TDen; + T: TCharDensity; begin Lo := iLo; Hi := iHi; if (Hi + Lo) <= 0 then exit; - Mid := Densite[(Hi + Lo) div 2].D; + Mid := Densite[(Hi + Lo) div 2].FDensity; repeat - while Densite[Lo].D < Mid do + while Densite[Lo].FDensity < Mid do Inc(Lo); - while Densite[Hi].D > Mid do + while Densite[Hi].FDensity > Mid do Dec(Hi); if Lo <= Hi then begin @@ -66,7 +66,7 @@ procedure TASCIIdecorator.QuickSort(iLo, iHi: integer); // if Terminated then Exit; end; -function TASCIIdecorator.MakeASCIIfromBitmap(SrcBitmap: TBitmap; +function TASCIIartMaker.MakeASCIIfromBitmap(SrcBitmap: TBitmap; DonorFont: string = 'Lucida Console'; contrast: integer = 255; zoom: integer = 0; IsNegative: boolean = false; CharacterSet: Byte = 0): string; @@ -144,8 +144,8 @@ function TASCIIdecorator.MakeASCIIfromBitmap(SrcBitmap: TBitmap; // СоÑтавлÑем маÑÑив Ñимволов for c := low(Densite) to high(Densite) do begin - Densite[c - low(Densite)].Car := charactersArr[c]; // запиÑываем Ñимвол в маÑÑив "шрифта" - Densite[c - low(Densite)].D := 0; + Densite[c - low(Densite)].FChar := charactersArr[c]; // запиÑываем Ñимвол в маÑÑив "шрифта" + Densite[c - low(Densite)].FDensity := 0; // риÑуем Ñимвол TmpB.Canvas.Rectangle(0, 0, TmpB.Width, TmpB.Height); TmpB.Canvas.TextOut(0, 0, charactersArr[c]); @@ -155,7 +155,7 @@ function TASCIIdecorator.MakeASCIIfromBitmap(SrcBitmap: TBitmap; for b := 1 to 20 do begin if TmpB.Canvas.Pixels[a, b] = clwhite then - Densite[c - low(Densite)].D := Densite[c - low(Densite)].D + 1; + Densite[c - low(Densite)].FDensity := Densite[c - low(Densite)].FDensity + 1; end; end; end; @@ -250,7 +250,7 @@ function TASCIIdecorator.MakeASCIIfromBitmap(SrcBitmap: TBitmap; // ВычиÑлить конечную плотноÑÑ‚ÑŒ (отношение 255 к 95) MoyCol := round(MoyCol * ((Length(Densite) - 1) / 255)); - TmpStr := TmpStr + Densite[MoyCol].Car; // добавить Ñледующий Ñимвол (?) + TmpStr := TmpStr + Densite[MoyCol].FChar; // добавить Ñледующий Ñимвол (?) Inc(a, 8); end; @@ -262,7 +262,7 @@ function TASCIIdecorator.MakeASCIIfromBitmap(SrcBitmap: TBitmap; Result := TmpStr; end; -function TASCIIdecorator.MakeASCIIfromText(SrcText: string; DonorFont: string = 'Lucida Console'; +function TASCIIartMaker.MakeASCIIfromText(SrcText: string; DonorFont: string = 'Lucida Console'; contrast: integer = 255; zoom: integer = 0; IsNegative: boolean = false; CharacterSet: Byte = 0; RenderFontSize: integer = 100): string; var diff --git a/BukvoezhkaDesktop/uFixedASCIIartFonts.pas b/BukvoezhkaDesktop/uConstASCIIartFonts.pas similarity index 99% rename from BukvoezhkaDesktop/uFixedASCIIartFonts.pas rename to BukvoezhkaDesktop/uConstASCIIartFonts.pas index 4efbbc3..3b03cd3 100644 --- a/BukvoezhkaDesktop/uFixedASCIIartFonts.pas +++ b/BukvoezhkaDesktop/uConstASCIIartFonts.pas @@ -1,8 +1,8 @@ -unit uFixedASCIIartFonts; +unit uConstASCIIartFonts; interface -uses uCharacterSets; +uses uConstCharArrays; var C_First_Font_RU: ArrArrStr = diff --git a/BukvoezhkaDesktop/uCharacterSets.pas b/BukvoezhkaDesktop/uConstCharArrays.pas similarity index 99% rename from BukvoezhkaDesktop/uCharacterSets.pas rename to BukvoezhkaDesktop/uConstCharArrays.pas index f10890a..d04500e 100644 --- a/BukvoezhkaDesktop/uCharacterSets.pas +++ b/BukvoezhkaDesktop/uConstCharArrays.pas @@ -1,4 +1,4 @@ -unit uCharacterSets; +unit uConstCharArrays; interface diff --git a/BukvoezhkaDesktop/uFixedASCIIdecorator.pas b/BukvoezhkaDesktop/uFixedASCIIartMaker.pas similarity index 98% rename from BukvoezhkaDesktop/uFixedASCIIdecorator.pas rename to BukvoezhkaDesktop/uFixedASCIIartMaker.pas index 1136f9f..a4cf914 100644 --- a/BukvoezhkaDesktop/uFixedASCIIdecorator.pas +++ b/BukvoezhkaDesktop/uFixedASCIIartMaker.pas @@ -1,8 +1,8 @@ -unit uFixedASCIIdecorator; +unit uFixedASCIIartMaker; interface -uses uCharacterSets; +uses uConstCharArrays; type TFixedASCIIdecorator = class @@ -16,7 +16,7 @@ TFixedASCIIdecorator = class implementation -uses System.RegularExpressions, uFixedASCIIartFonts; +uses System.RegularExpressions, uConstASCIIartFonts; class function TFixedASCIIdecorator.MakeFixedASCIIfromText(InputTxt: string; SrcSet, DestASCIIFontSet: ArrArrStr): string; diff --git a/BukvoezhkaDesktop/uAbout.dfm b/BukvoezhkaDesktop/uFormAbout.dfm similarity index 99% rename from BukvoezhkaDesktop/uAbout.dfm rename to BukvoezhkaDesktop/uFormAbout.dfm index 2aed0ec..0ef33c6 100644 --- a/BukvoezhkaDesktop/uAbout.dfm +++ b/BukvoezhkaDesktop/uFormAbout.dfm @@ -77,6 +77,5 @@ object FormAbout: TFormAbout ParentFont = False ReadOnly = True TabOrder = 1 - ExplicitTop = 71 end end diff --git a/BukvoezhkaDesktop/uAbout.pas b/BukvoezhkaDesktop/uFormAbout.pas similarity index 95% rename from BukvoezhkaDesktop/uAbout.pas rename to BukvoezhkaDesktop/uFormAbout.pas index 0a46dfb..19aecc2 100644 --- a/BukvoezhkaDesktop/uAbout.pas +++ b/BukvoezhkaDesktop/uFormAbout.pas @@ -1,4 +1,4 @@ -unit uAbout; +unit uFormAbout; interface diff --git a/BukvoezhkaDesktop/uMain.dfm b/BukvoezhkaDesktop/uFormMain.dfm similarity index 98% rename from BukvoezhkaDesktop/uMain.dfm rename to BukvoezhkaDesktop/uFormMain.dfm index 90cf31b..1f27385 100644 --- a/BukvoezhkaDesktop/uMain.dfm +++ b/BukvoezhkaDesktop/uFormMain.dfm @@ -82,7 +82,6 @@ object FormMain: TFormMain ParentFont = False ScrollBars = ssVertical TabOrder = 0 - ExplicitTop = 2 end end end @@ -145,6 +144,10 @@ object FormMain: TFormMain object TabSheetTextDecorate: TTabSheet Caption = #1054#1092#1086#1088#1084#1083#1077#1085#1080#1077' '#1090#1077#1082#1089#1090#1072 ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object GroupBoxUnderline: TGroupBox AlignWithMargins = True Left = 3 @@ -175,7 +178,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 0 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end object ButtonUnderline3: TButton Tag = 5 @@ -198,7 +201,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 1 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end object ButtonUnderline1: TButton Tag = 3 @@ -221,7 +224,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 2 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end end object GroupBoxStrikethrough: TGroupBox @@ -254,7 +257,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 0 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end object ButtonStrikethrough2: TButton Tag = 2 @@ -277,7 +280,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 1 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end end object GroupBoxDoubleU: TGroupBox @@ -310,7 +313,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 0 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end object ButtonDoubleU2: TButton Tag = 7 @@ -333,7 +336,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 1 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end end object GroupBoxOverline: TGroupBox @@ -366,7 +369,7 @@ object FormMain: TFormMain ParentFont = False TabOrder = 0 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end object ButtonOverline2: TButton Tag = 9 @@ -389,13 +392,17 @@ object FormMain: TFormMain ParentFont = False TabOrder = 1 WordWrap = True - OnClick = Transform + OnClick = MemoAddNoise end end end object TabSheetGenericASCIIart: TTabSheet Caption = #1043#1077#1085#1077#1088#1072#1094#1080#1103' ASCII art-'#1096#1088#1080#1092#1090#1072 ImageIndex = 2 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object GroupBoxSourceFont: TGroupBox AlignWithMargins = True Left = 3 @@ -545,6 +552,10 @@ object FormMain: TFormMain object TabSheetFixedASCIIart: TTabSheet Caption = #1060#1080#1082#1089#1080#1088#1086#1074#1072#1085#1085#1099#1081' ASCII art-'#1096#1088#1080#1092#1090 ImageIndex = 3 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object GroupBoxFixedFontSettings: TGroupBox AlignWithMargins = True Left = 3 @@ -573,7 +584,7 @@ object FormMain: TFormMain ItemIndex = 0 TabOrder = 0 Text = '1st font' - OnChange = ButtonFixedGraphicFontClick + OnChange = ButtonFixedASCIIartClick Items.Strings = ( '1st font' '2ch tools font') @@ -585,7 +596,7 @@ object FormMain: TFormMain Height = 17 Caption = #1048#1085#1074#1077#1088#1090#1080#1088#1086#1074#1072#1090#1100' '#1094#1074#1077#1090#1072 TabOrder = 1 - OnClick = ButtonFixedGraphicFontClick + OnClick = ButtonFixedASCIIartClick end end end @@ -734,7 +745,7 @@ object FormMain: TFormMain Layout = blGlyphTop ParentFont = False TabOrder = 0 - OnClick = AnyButtonGoClick + OnClick = ButtonGoClick end object BitBtnClear: TBitBtn AlignWithMargins = True diff --git a/BukvoezhkaDesktop/uMain.pas b/BukvoezhkaDesktop/uFormMain.pas similarity index 89% rename from BukvoezhkaDesktop/uMain.pas rename to BukvoezhkaDesktop/uFormMain.pas index 8bb058f..a51da18 100644 --- a/BukvoezhkaDesktop/uMain.pas +++ b/BukvoezhkaDesktop/uFormMain.pas @@ -1,4 +1,4 @@ -unit uMain; +unit uFormMain; interface @@ -60,13 +60,13 @@ TFormMain = class(TForm) BitBtnAbout: TBitBtn; procedure ButtonClearClick(Sender: TObject); procedure ButtonSymbolsReplaceClick(Sender: TObject); - procedure AnyButtonGoClick(Sender: TObject); + procedure ButtonGoClick(Sender: TObject); procedure RadioGroupFontClick(Sender: TObject); procedure ComboBoxFontSizeChange(Sender: TObject); - procedure Transform(Sender: TObject); + procedure MemoAddNoise(Sender: TObject); procedure ButtonAboutClick(Sender: TObject); procedure ButtonASCIIartClick(Sender: TObject); - procedure ButtonFixedGraphicFontClick(Sender: TObject); + procedure ButtonFixedASCIIartClick(Sender: TObject); private // public @@ -78,28 +78,28 @@ TFormMain = class(TForm) implementation -uses uTextConverter, uASCIIdecorator, uFixedASCIIdecorator, uAbout; +uses uTextConverter, uASCIIartMaker, uFixedASCIIartMaker, uFormAbout; {$R *.dfm} procedure TFormMain.ButtonASCIIartClick(Sender: TObject); var - ASCIIdecorator: TASCIIdecorator; + ASCIIartMaker: TASCIIartMaker; begin - ASCIIdecorator := TASCIIdecorator.Create(nil); + ASCIIartMaker := TASCIIartMaker.Create(nil); // MemoOutput.WordWrap := False; MemoOutput.ScrollBars := ssBoth; RadioGroupFont.ItemIndex := 2; RadioGroupFontClick(RadioGroupFont); // - MemoOutput.Text := ASCIIdecorator.MakeASCIIfromText(MemoInput.Text, + MemoOutput.Text := ASCIIartMaker.MakeASCIIfromText(MemoInput.Text, ComboBoxASFontName.Items[ComboBoxASFontName.ItemIndex], 255, StrToInt(ComboBoxASZoom.Items[ComboBoxASZoom.ItemIndex]), CheckBoxASNegative.Checked, ComboBoxASCharacterSet.ItemIndex, StrToInt(ComboBoxASFontSize.Items[ComboBoxASFontSize.ItemIndex])); // - FreeAndNil(ASCIIdecorator); + FreeAndNil(ASCIIartMaker); // MemoOutput.SelectAll; MemoOutput.CopyToClipboard; @@ -116,7 +116,7 @@ procedure TFormMain.ButtonClearClick(Sender: TObject); FormMain.MemoOutput.Text := ''; end; -procedure TFormMain.ButtonFixedGraphicFontClick(Sender: TObject); +procedure TFormMain.ButtonFixedASCIIartClick(Sender: TObject); begin MemoOutput.WordWrap := False; MemoOutput.ScrollBars := ssBoth; @@ -135,9 +135,9 @@ procedure TFormMain.ButtonFixedGraphicFontClick(Sender: TObject); end; procedure TFormMain.ButtonSymbolsReplaceClick(Sender: TObject); - procedure GoTransform(TransformMethod: Integer); + procedure TextConvert(ConvertMethod: Integer); begin - case TransformMethod of + case ConvertMethod of 0: MemoOutput.Text := TTextConverter.MakeASCII(MemoInput.Text); 1: @@ -175,12 +175,12 @@ procedure TFormMain.ButtonSymbolsReplaceClick(Sender: TObject); MemoOutput.WordWrap := True; MemoOutput.ScrollBars := ssVertical; // - GoTransform(RadioGroupMethod.ItemIndex); + TextConvert(RadioGroupMethod.ItemIndex); MemoOutput.SelectAll; MemoOutput.CopyToClipboard; end; -procedure TFormMain.AnyButtonGoClick(Sender: TObject); +procedure TFormMain.ButtonGoClick(Sender: TObject); begin case PageControlMain.ActivePageIndex of 0: @@ -188,7 +188,7 @@ procedure TFormMain.AnyButtonGoClick(Sender: TObject); 2: ButtonASCIIartClick(Sender); 3: - ButtonFixedGraphicFontClick(Sender); + ButtonFixedASCIIartClick(Sender); end; end; @@ -204,7 +204,7 @@ procedure TFormMain.RadioGroupFontClick(Sender: TObject); MemoOutput.Font.Name := RadioGroupFont.Items[RadioGroupFont.ItemIndex]; end; -procedure TFormMain.Transform(Sender: TObject); +procedure TFormMain.MemoAddNoise(Sender: TObject); begin MemoOutput.WordWrap := True; MemoOutput.ScrollBars := ssVertical; diff --git a/BukvoezhkaDesktop/uStringsHelper.pas b/BukvoezhkaDesktop/uStringListTypesConverter.pas similarity index 98% rename from BukvoezhkaDesktop/uStringsHelper.pas rename to BukvoezhkaDesktop/uStringListTypesConverter.pas index bdabce0..2f2b928 100644 --- a/BukvoezhkaDesktop/uStringsHelper.pas +++ b/BukvoezhkaDesktop/uStringListTypesConverter.pas @@ -1,4 +1,4 @@ -unit uStringsHelper; +unit uStringListTypesConverter; interface diff --git a/BukvoezhkaDesktop/uTextConvertRoutines.pas b/BukvoezhkaDesktop/uTextConvertRoutines.pas index 0fcab65..bdfe026 100644 --- a/BukvoezhkaDesktop/uTextConvertRoutines.pas +++ b/BukvoezhkaDesktop/uTextConvertRoutines.pas @@ -2,7 +2,7 @@ interface -uses uCharacterSets; +uses uConstCharArrays; const ModeRandom: Byte = 0; diff --git a/BukvoezhkaDesktop/uTextConverter.pas b/BukvoezhkaDesktop/uTextConverter.pas index 2903dd1..5739827 100644 --- a/BukvoezhkaDesktop/uTextConverter.pas +++ b/BukvoezhkaDesktop/uTextConverter.pas @@ -33,7 +33,7 @@ TTextConverter = class implementation -uses uTextConvertRoutines, uCharacterSets; +uses uTextConvertRoutines, uConstCharArrays; class function TTextConverter.Decode(Src: string): string; begin diff --git a/BukvoezhkaMobile/BukvoezhkaMobile.dpr b/BukvoezhkaMobile/BukvoezhkaMobile.dpr index 6d0c24b..ff41330 100644 --- a/BukvoezhkaMobile/BukvoezhkaMobile.dpr +++ b/BukvoezhkaMobile/BukvoezhkaMobile.dpr @@ -5,7 +5,7 @@ uses FMX.Forms, uMain in 'uMain.pas' {FormMain}, uTextConvertRoutines in '..\BukvoezhkaDesktop\uTextConvertRoutines.pas', - uCharacterSets in '..\BukvoezhkaDesktop\uCharacterSets.pas', + uConstCharArrays in '..\BukvoezhkaDesktop\uConstCharArrays.pas', uTextConverter in '..\BukvoezhkaDesktop\uTextConverter.pas'; {$R *.res} diff --git a/BukvoezhkaMobile/BukvoezhkaMobile.dproj b/BukvoezhkaMobile/BukvoezhkaMobile.dproj index 41f4ce6..af83fec 100644 --- a/BukvoezhkaMobile/BukvoezhkaMobile.dproj +++ b/BukvoezhkaMobile/BukvoezhkaMobile.dproj @@ -6,7 +6,7 @@ BukvoezhkaMobile.dpr True Release - OSX32 + Win64 95 Application @@ -83,6 +83,12 @@ true true + + true + Cfg_2 + true + true + true true @@ -274,6 +280,10 @@ package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=4;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;FileVersion=1.0.0.4;LastCompiledTime=16.11.2014 2:37:35 ico\bkvXlarge.png + + 2 + CompanyName=;FileDescription=;FileVersion=1.0.0.2;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;LastCompiledTime=2015.03.25 11:45:05 + MainSource @@ -283,7 +293,7 @@ fmx - + Cfg_2 @@ -369,20 +379,20 @@ true - + - libBukvoezhkaMobile.so true - + - splash_image.png + libBukvoezhkaMobile.so true - + + splash_image.png true diff --git a/BukvoezhkaMobile/BukvoezhkaMobile.res b/BukvoezhkaMobile/BukvoezhkaMobile.res index 36f26e234a8ac66a47e95cec6d496cf2f1442471..dde1c9c0e5842f8932b6e821728def41ba1eeb7a 100644 GIT binary patch literal 62784 zcmZ6y1z21$*D!bocXx^wcPQ@eR@~j)3Z>ZK&_Z!54#lCkyF-EE#jUuz53uvT-+ue= zZk{KZ+}vZyNiruV=K=r#P(t(D+y7)}_5YLNLI3+63km~$fF=$A8Sa09;z8Wdst%wD zm_kb#Km%G+0Mr0g=(7T}l!ey+lRDwfUjg7h_#go0zb*emOYFaO0Qe8V|7rQZ8=yZI z|83I*yZ{ft9&iC{q15aFC%_s?*#)oxT%qsB{|mzba6_dMfM#x}4F8dc13-e(`(Jn+ zD2@l<3B`7WV*V#_0&Gy2|H)j?XYT*Pt3#n&0W07WU%xqX0^T+litw1pE8g!1KqmK@L$0HmQA z1m$WDmEwOT|35ti0Gj`fk{0x>IkXp^(2+2Q^8G)3LWbLc+b;*8wEv?^*#AdgSXlo@ zU(xESa_A@|C{Pe|1$k+W|J4Z+0<^`*qtpff%6}`yp$Z}%L{6>w=bEZ3=U{XH=`yrKQ?^7G6bleUAFmsjY$v9>-kLB%cg zl3czrohOBuKT!JJbNgtA}aRSon~U7#M_*ZcI>gy&5NQ6?Z|Jtr9|2nV^v#2KGp$G`3UWFFPZ9zkmNWUH3n(n%}WRZ25qnJjEhMBj?Q?iZi7kIE`8JpVh@rw*)O90=-RTajnOK6a>i^Yu%2> z#soqHt$`dF%IX?MFePf)tG-tQ(b}{{MaS!J7yYa~c1UM7uf)qEO3;CTX|THd2MRNP z@;O~T#jLI6v_D8r8p98%5>74);j{=)UdO_+Lj&A+F!Kre;DK6aBD46ZG%dxKq>ccg zY>Xo>7A7XP<)(m@AIr`~Za|lW zE-$a_UnUiaVQjJe?;&yh^paCFErj!=5eeu!9eJU-SC?IXxyL>?_0=anS!=)F34VFD zC2(4*v)WBFH32uh3#0o;3UDVz8Rx1H9rpiPYkQ$$Wu54`UEY>rO}>#Vk2@rV0d8N6 z7iwGgjR<-EB2K9Tn?KOxk>EU9V-U-UwE2C`vh1&mRgO_nP$DLNi1@K{7)X#}amOzM zdBM_7&##xr$P_y}d+S;0={rdpXtUd}Cj^a$;drX(n-1`Rto_wzQw;L^Z04^85*VJ$9&?MZ#io zQ&L_`T-v>fiK^wUfcK|sF76Vz7y!~If#mLEL0%>FQP`GMphs49ip5Mbk9J*-_!z{s{tgDJ%<2D*fCl|SVXszBLD1q%pVT!|7!Q<244t(!p)`5_9X$c zW+{!4lsqjaacX>+-XUbyW{`xs11tbyHSTyg90!IF4Im*Jxx3kI=^f}m-#Kh4DzJF! zMiv4HS}i$R1#j}fg-}T?gT=+2fz6^pRKmNsZ{MCP<*H4LTX8lHy*`#r{%lmt#0P$@ zGKlx%1pmN=qGKV=!6E%Lp?6l%=5bnU+a0ea<@M+IGM-*NQf^@9NzeoW%pp#lCSt!l z(|%!En26#GoiT2=8?P(#*cgfd@-SeqQvSeBH7kJBjj$O+hzN}1_T4h2;LJIsu*XE* zB9aEaSdU?fy*~W?N2}xwB)RxcL||6y1L;Dxstp=t{*8vsF6TdOt)>veQXU>GQ1x5J zM-fAxc)(`43yl+vX-HvXXR-pIrPCJikc}-EV1k?Gt&E2W1>y54QLRAG**pLHH6PDF zqeh2;r`uz-ME1ok61WgY9DsmTZ%T}r+0pwM0zpeLP+8cLGH(|0Zw^NV0?Rfy0J|~< zafV#PmDHj=1h84Lxba7@dN%lzJ@9(&SBg+F>mZ(Qg;MLJ!@P%;T&34~bsC*S$BH;4 z=BAPXzkmmfzx?}lke;3{Kqll9$iYdK@T(uO-=_Kboj;mq6bRgc33kM&nOg>dMO?+g z$zkx=Jl|YSfgY#*;(VzpSt(EC_^(P|x0=yOoBTzse+M-?t$o4!m0#KChyW1$$rYny zXLqGbcuLT4g^3Q8_s?8Iwj-|_XGH*RWZ~^VeLjCwoNa*8xAPuP2Nq;a&(K`}&d`Mj z;ATS`fd^7YANPQ_54?_=g&#vzORUFX(ohTGQ}LN~{Q19}ED~GwGqoTT!0Uwqol+(yQ@Mo)*mX`iJuCd$e z3;(u$&bdMyOULj3;MVi#b+U*}O`U#0FM9ScP*PO%V2~s;OGoFy#2LQ!?SW3hIA83w z?Fq=^{0LZ`wDt77k$IC{x5`$9AO*m6@}}vM>a}|8Mq2*zaNaD30}IsK7S6rZSeB@= z)6j7>b**i|Rm|_TJ9W>c0SkZkKk(|}nspD`Lfinrv`#8Jaowp&Tt$U-?k~yKc*Y0r z>D`fp!W$}Y{u6EyVhXcVC*E(vTW2=nnQzRuw8GlClbikkk}Wy-z!rwGrxcFssYppiUGFot!a^Zwa4 z)`Pwd5G*I^#eJ=QWsUV%>NRt>(c@DVw4WeN=g;%p?_0|Ov+2HYwf)`Q*oi-*oFgNl zXEZUApF>;K*>O=pJ=N$@ORpzBG(9P=w;;eLpp)E}4Oh@uUBdu@5EXT6u@-lc;2TFv ztfF^hzbrRV#hQtMjRt<2UePYT>bLoFueLR8X}x1KY3&7UeB zUYE?(8FTCNP#r6j;N12GzV@Iz}fzgPTu2<_(s4&w9#zZ z{Wdr>G~JEti4{@%oX&>@Ktutyr0f15qmo=az1e0eDgicR5rvV@boIo)k!H`=nkiJX zg=Mt7KUjaJUINj!zs?aSRkSRsI{BnX!AuJlDUvAsbigxb3zd{GQJlg};R%s9wep77 z8Sypc@=)>ch~=toNJCMH{em<}C;Al|pq^oxda%OhYwcv5-2*PVI`lT1+ZCj`D> zc6973hH%=|O$N#EBPy?^cI*&S_=sH!$-fci2>A!1D{`51Q#GR8(rf8Dr7|yFv*$_# zE}s^pYGeseBV0Rl>0o84AG?VcO&|<)iyCSvWYTynaiP4{-n_6(+T>VT-!;9wvig%y#@r zfl?px(+AjR%-(2RdWQbO2DyEsx%~Hyjp2lAyS$kag<1@_b0j^w!oJv!nOwrI&;K0}dE=Tzb*^mUIiM4X_N21|lWSsWabHZKGL#133+I4|8)daIvz?RK=uThcg-J zXrpt=P~*DhM@ah4J)g@ZoE`A**)~YZW@9moMo#2vm+lDF)#`1F?B!CLwIFDhQwDxxScGUJ$i~@j+ zReIS*i%RcwmY0*L;>-s=H<6j~W=1*0VJJizcAuMl+I_rs>BIY&;E=+iP#A7?rAWh` ze1~mPtm{kssz}F1sfR?Qg^OMqVuwi2vUgRlx&rU$)u5c3k&v92NM163lxNx<7@w4+ zGVl7!3KIk2bSSncWfCjs#Ju$90o-#n^D8XtU?mK zC1Qa`3(O0Q?oLvp+bg6b`nT8zPR8h0XI}j>0~L0LJn*n94CQ5Z5E{{lRlefe6Rjxv za6)89!%s9`XC^T802MOtP=J~BbVHo9JB97|(YcCz+mUeqL3Ke!eMs(hUEImnYdyc@ z^((|&l4gfih!bB~bfO1lm}T!@y~_f;r9&MRuZRc_FRw&qVj>FPs+-6satlxOztO|% zj&CCO=NXeduOmSJLkoHTPh~!OP6|NG6kz1ACYg;wPr&wSZ7D@6R>|ZwUwycIKawls z79QM#f1icDN3qeamiwPQMMI5eXwcn))sOKXu$lH$N!*k2^uT5nc-A#g)NOh+D~FzK zxf3k<>50W@qYL);m|~9w=lg9xYM+x|Y{H(hvNzHJTnTO&*x2!s>mMiL`toz32OeF4 zS;Y4pJ{Wy5vR9-!%g%1oPTnU?KU8((4#v+a#~Wf|#=}}#;0|U>Fs-buXXq*|a5lR6 zei2aapZI@d$0U5E}o?=GAL3klT^qhGY4~LV-!Sxjq?@}JpWZnk(YrCBFl~@`p8hPzm>P- zb;#fHN8iIU(bHqOXn1f?sm=RTaRSy#yz52|Cjue782qiP@a8@fZd~Xou4R0(1F=}s zGp>ZDn@SLI`pv4Gr;pDxsPV8!*EAr)-;3lI^z3Jm)14Cb7`^k>9#J~BSPCohLXMqG z00W-F?BVDb5c*8bLCnx{dQQ(Iz(FJX^Y3)wu-QtJv)5DAyaR%@ec8Nz&6-C?@iJER z?C(0HSzDO{s*KX-k%!WMW53)oyJ$zEm$Q=q5NKhWPII2TeYb^&`8{1@K%{bLFJ<>( zaVFJ=5B-_CJ&I0uT~Ei@1AQTOFj4j}Xhab*}dUxCX@g}NLOKM5V1Hum0;ijzkM4yH|l2YBK28+$P%xZ}GM`uz9= zNw4G_Srm>ptC!_Q!l4+l=fzi8L~kkPbN;#VTm_2j`@>lkm2`>^&n&5JB+c^Dpq|MK zt_?K7q1SsyG)c|iiZj2Cn7FN6B^jBT!)BO*qqHgYoUXbV^W~aRubMU{E)_zm(Qh#! z?>f^i@qbsW=Pzi4b;HVHmpgg$oAVMkFS9(83Ft?cJw6K5)*`$0-!6bwW>k>YEnWdO zq?++bcwmd6SsVo}SU&W-4Mu@Ni_7WqxA(H&{r`N(%qYX#c?{Sb}sg=#vH3%PHF9%OPU+Vj%?&Lgh(|A;#~qaQ>+o$I%E zeUY1{HSW-%pQMl3_=Ba8?U$ZUPpCEC`0+DRD^gOd`g?vGUL99=p?jh0YY$J4tHcjn zT={bME^};%80pVl%qTD{*M4vY;8|Vefp|UNMw%WPj)PBmT8zC8O+9U&9NA;v@f=Z9 z5yKhK0^`!7u2GO8-E)&QZW46X9rJ$wd?Sppk(k)Y<%br69MC2DcJL}+1;ez=*r9AXlFLDgMTY?0Pp`E&cB;P^*k3n$q<2?kcy$c?}i zw3L)0t+hBY-=Qxj%_`q5;tX>MiIGPjOVVq@TE^Cyu|fJ#x7f*gm1pRC%c1)kIN3|a zZQkEvRT9_Sq)dA_UDEj&xA6RZyBSG{drEOk-@Cz+9h%T1N!!^c_gKha>G>U+PKw;q z*F6Eg8ImoP1cf^H<7|d?RxXn!ov+^$Hx51cz>gVYm&13o1?6IyxSP$7FJYKT!xO-t zt^mZ%&0g5K`f949;+w6Q ze%Ew*_AC4916Q4f;EqoibopsG1E0Hv3J=|rLWzRFk%V+RA%G!;x^6uYo6G?c62q<* zu3ne_TAm^ii`~z;#w*N?L$fbLnXA)w&ut|yN%QrE6W zH9HxqKAmg0NvJ{Lzabj%N{EduF}>^w?ZHdJfbg1TFkpGvi$V z54j*N>27FOS2M&(+i%bcl3byEls>Akmrx~bH0j&GM~(ku$l9dMJ4>h5{ELk1gQsRX zO#zE515w9Esy(4}wV`xa^4tbniJo%`EX3d*r;mZ;UqvOQK8VE1zGpG&_R>4&D^6f!h_iIN<+h`0;Ik7B57m&&Y3H0KT~P{!Ny-% zR1h(()qAr}Y{GOrOCV2a;n&!e3#O)@EPQO~$i++3~Ve#2n5usP>^CBnV8)VWD#eVs?) zmzx6#p;vi0m{3%hz&+ay5n-^|OGth?EDO@6pS=R7ayp0kO_uMqXy}-cxR*Z2>~1`x zv(D4wueGhM+{_Q(NW=Jb!}~JSjNDIWkIsQ_n8(fc5V3WrBQ*MVcTy=t_UPb45NG$7 z%zpBvjKxP03ri|F*St~T{|H2XgPy!tdFDFNm>FX%NZaVTK~?R!&laDWx))%x$n8!{ zFV-`7jp)`0yz%<00E|RPBT-n>4%#>Mg>rGrvauvQcDFxxP=oC`z4f1vjhg8Fo{|}- zM;RIYqHZSh#NuaX8TLwo6dsB?(YD9@iNW$lL&Fh2A~DD!-phRl_nU{`c!vMkNUg5< zd%%q?V(~8z@#CXr^zS%hpJlzbBdVAyqEXkk%+b$Ix{}HYC87&!S(z&sS69o^srzV1 zBOQ~e^x~&-Dm|u(CwpNrB2+>M?r#R@voCf^5)!viC#Kk^z446Oo)}uk%Xh(JcmC`K zHD*%XfiEt-r2i!M&>m-CGfWv?meQ1mzC4MDVzM_OY;^izW{Cy;c+F!J^3LosZdN70 z$E`XeBgJHRsa0-f&EG$wX(H@3uV{rBHd{KblQnOoq-0bK{Iz0gOca&#Xq{U~8ObFZ ziAAY-fhR?TK?z5jQ-ojJ_t^*v+AB&k4UDN=M^s)D|2AU{0=L%N#+}bLpTBXeM#gLq z?Gf@GZo-1chapbkgsjzCV|zqhZS;7xfu zqUT2bv%=B@Z%r#!yykO$nvv1^ajo5_XhJlenWH4vUa~I&X$|HB_!7}=B>`1}vZiJH z&8RHdBR87R0-pi|mi@GCo7h-looGXJ)v1E~%oOl;b zJWIOco?bdTudW1(KOL?TQ{M>YQsyH|1HzGcxm!ynu&XAaSUA9@V56e!f_AcQ&s>?N z&15={BSV9mRh~@lea39bJ@n?p1nPW_o>)h^R+4Idl5x0et?F7t0t^X$L)6DHHFb0_ zp6^aUNo53cyrfzxIVP=*O@eK%HU#FcpMMNjry8%B1ojsOfdrcVYLth#hN*I-2tMqO z;QbI39aib6>S9dT7;ry>NsjH&c?$0K+S!f^p?*&`ZrBw3X$8YA(?C>-;00#!uYd3K zd&krJ^^}=1&F1f9S3=^-PTcbh*nkz608#*qQQ0I9qFyW|Kj8LbKE69evDn~dv3C3J zW1(DUz4uz%d4 ziTUe{$D&d?#q(8BvUX3`VLemy3t@n3yuX2jRgsThlkbsyOa6!m53k8*R!|mI=}mz&TDMAf*OFA-zSQVk-Rwrg z!e6ern4QtfamHVM!Q1BEH5pRwiM=^oZvXiEhLWObi%^*+D=q%7)SU9$SDZKMKg9gr zA>dw}8mBeTuiw831WYUXL8h)NZQGClpOtpwpzYYlQ=zH+(sY(E@g6%EU=@aHD+^Q` z7!rI<_Xuxy@TK zwP*_J z;yJGaDXq89Rp`wo8YCoe)Xn`Qv6Xzspz!sd zC|M&xkDZ#+ZuX9g@o-c^HzIohZp%RNde7bv-|Mc!rTYEQQc>TI`Ugot&V*kbt05FF z4(#`lrIh1AHwWep*U;(F8!EKyjS0%E-;7espVWw*r3i;sH78Vzrd ze#|+q_SfP}k2=r81GfvEOpnN{I%Jz(ad5u)A;pv#UbozfuIj^Hrt5d}L@fPI#2=hu zdHMq8Lk;$@&_ijPFc;TX0leWQowV7wxOm9=D^9d2>}G_C`Yj)circ}3gkS)DS;M=g zSTa-Jai^HGlIh-0Yi&~0wF1=`duiZuCAp}U3bE2?CRVDR&zGi?nvI6?AJtx9sn1#~ z2LFt2dq`Yno`dVv0ok2*xa&cP$)_tkWA0@8?BG^2W<8&ip9zu0iJ6PrL$HyXewMf2 zujnb#ypI3Y`?RkLPaQQVZ!j<>aY$DSh@<8?29KHarkg(Sf3f2XAuX?{Fxx5p_#w4g zFBn#?#-m1GIoM_!LF?ti%&eMaj#xkBYecr5xGetLU}NjW-uBecd$~C9pheh-!}}}} zfi@36=TBZ@jTlcwB~lKmfAA+E8q~pF(&2w^yU}-$k-KgWXxeXb)1c?ukfZx6rO$49bc!Q;PTZLi zO^|6eIhWrp++YgHKK;Ts2mgU=A8?x*JCkpi)mlB~Z&5P*8k3w<6oo=j`&!LUsmYSl z$FAlge6F2b?1VU?M14b^hRIp9v~WmGnx{SPB)ybgXmqjJQ(sS%R+~99n4jwWpW>TS5uYxz}mS)O6vvVvEO6ayg6&DDy5=Ai#~ZEr&gNdd8KDX(FZAg zvbC`eremxXV5`?xARt3u7IF!XdTkD6VQc#19ICh$Ne&(veqFZMH{$i@*7G^vt?C~r z7{Hd2$Vs0X>5Pao+QpyqjoOlVzSP7*A)+kJ_cf=*Tuop8I>;9Q*?K`nE{lkX@iJ`_ z@VPPKc+Oo@UHr<{La+%m55rp*6>&iCmWSRNzTAGUdqOjjUr!tI-!J6*ZB)Kwa|vd&^ZVF3ev!v3s?tHFv{r zSyECXGEPp{u7-JEdJ6=rA%_0`1;PRX#QqaMCH_?i z@6y9u&IS#NgO^l48|4`Q#SQ0ctrd4wROiAzuaL*w5xI0cY+g;ulPpfpr<=GopX1l> zB$~3ci#`hEQ=fEiq~Y?h&$wV=#t%K}tACIE&MSSOo`+kmUfYD&T}t|V*C^_csfaWx zLh+J@*D(Ukm=cgmWxzT6=_@OTcAMV(&fM(K8Ze9;Qq#i;+Mi-16LV)t|x zvAAI3uw#<>m=!C_Kzd8O827Hi$58GgCqF8?#xG`f!K(T?&F+r-jY*Nz_;_X9a6PPx z=G6P7hwBq|O+uG`A-R$yf+~Ghod=7vEK@qwA2)&=+2Q@Elz2Kox~R3Hx2(-xS@N8g z&HhY8xZl8b;p?qvwU}>pRaH1@_`aQt&fR4ahxMFYAq)+6v%~wmBt=+*)^~Hp?N|`| zq9!qOWtH=s`_J)?R%av>?JbY7dQaAp&}0LjjO+ zzbBvwzwAtjHRWLynL>VTVNTU?_jK$^&i^^Sl*J3iU9SOL1Jkp*RNsC0xAQqvV_8cA zTVn?Ep1Wm%T{*Fbs#R7zV|iluv`OM!?KE$YaK}|mE$5OzTbKw#SJX$RVP$>XULf zQKUD5rO}V`%Oh=`gvoKaFyxty5*zioqOiYEWc%F{_T6J^ZMt_;2x)wMv)g`_6ondX zK|@2n7RHgOGvmF2s*Y-5rtM*y$HFmslcd)DFzZWebSPO;G|gcF>X+x{$w||1OxUO0 zY?{1BS_9%e6laC#D^WY$;&N^kr@S?o6uO<8bJHWoovPiRsUO{?Be|-{M$n$zj7?^v zfW%@S_P&RKrt`nFQ=5)3#0$S7%Ma^ezsuFX)iiYqL_-K@&;7;45Aa++4Rm&gmeRld z?HG1}n-9De(PB3+@WD~U@|d5SNw!L@N&c*;@^~L08`mMg%S(mx0-75_yl?>hODYOq z3)SDxZ?T;6b1Df%5~WYZj@_Nz>Zh+XsYf6SNhh7MiZoly8GyguJ3XF(+O$V#3CvRK zjZ+HL9U$d_NvUss7oC+IFy$4@Km~0*VRcRSb-&M*i9_s-4fV_Hj&gM%G6;m0-H5QC zD_s%1Q~O?=gm{VNxjKsnQMqE_>Tj8#Psjt6E6;Ny@j_*Id4}ib{xmB`A>zUzEyeBNCHg^UyeSO{?p^m!V;1)) z+O#!EvJg@}7Z$&*K|)TJ2U1^cp4;`Xa48$*>?f~h3^E&%n=jOl_;Zg7SbMmzptsoj zRDB%M1*;};1$%7PtdaFj3fUN9=da1Xy?hRC;!Ctbf45V3l{40J^}E}v(8I{uU)%Dm zoDKeVE_}V@mtGB0t2aq)ZzEyrozU&>;d%*xLkg5`h@Sh1)frp3AYmB zJ18$VpEQ(W^7*SJvr%k$5(rB_p(l}UO1|Re`o;6(@5(aDdEPidlZT!9&DyKerJs|s zAsrco6!^HJh}Xq1>w-=f`9T-2HX<%kBkp(al4Bt(R<@=AJ2d0x{QZ+G(v!pG%SQpr zaqF@23JPPrBj98*WOmSZ%S>Nel(hk%=NTUBsT;B)7)=2FQ?urGN0j@tFP2MJ@fVat zwP@$S1?1gKo-exFgz3non@Vtit)(NPU(WwUq9ee(YMJu2WJ}*xGZd2fyPHlI4rNBT zZWOc!m%i{}wTlJ6OFMSa`gFGVZ{GFOM^8=~n^yeJ2SL|tVOrwEAvD*&$F*l-aMlz- zzYXOkzWX3V%y&=Y^?mLA8hvnrYN{X-A>@pRiC8HY)MKYK@inqoIZ(dv?`UCRXS89W zSuv11a10Bfl1iPz-1J!Nwd3s_h{o+UsPj7Xv%00S3n7@=F-0v3QdPxJc}if^LRWt| z{vP_2zOf6cA4QvQOySl@ZTBVZxL&eN^$M5t6#Dp5Kgx-3g!Pe0Vy)3rlbyLT`C{6S zn~ZlgjOS|Ca_IVRKAfz=s?m-+f8IfCbFcQ!q)_~US3LLCw(KqkHzH?7!dSjQxn0#W zW{8}XRzT61y`h(7E=AD&!^W%Kl$@UmC@8{l^F4Vw(!i<)$)5V^>^$u+b%(ntCCIHEIh6C;6O(*xVR3bsq8=#x%X`%aUTL@g=^iF{C|IV!lkO-dJhk ziv94L5+}PT<}zuuW0PfsB9bcf)CYcS4kF7}2yJe;I*79+il>!e^+!|f_%I83BH=_2LU#k(nj8Ubvawtgy zTOBEM&gifvebi>Hb}Wc6nnpESv}~#Fjbo+eV4^wN{j_^1Rhhs1+Z3b1hv)CPPJg%g zQP@N3OZ9F(ymJs*H8*)(yeWfCRz!akSmbDkEPL8Sk_3t^Nq&LaREY z&E-MxBm0~z;Pw^j^Cbc_O5Lp zi`V;HoA#lZ{Qh3=&AfA0Wd}u?@}T;C(mAPvbg4bpGjDVGbhI!9iQa?6S@Wmc{Ab?V z&imI5;+v0oX8rj%ul1AJ%m;{YvLDRkmM(=%o>f52V~4XabSgQk&>^1&YV3Mpa`#Pt zSrr9IwY`Y<`1r@-cf3!pC}#rPWn3C1M!!{S2k0B%g^zD&R>23vt9C8ANfx^tI_InB8_JdVQ1>%$ zsbGU^>UOwd1CsrfRzc=UW>-Ddh_)f>oh5xp;CB|tCzbg>ce8Xhj*SuNBO`Vj^udgM zf%F31G3l5veI_t1*|RRUGH^LB_uZsb@Z2bXXfA(kPVTmYTAf!DE`wI(Z&--^a2Y>7Ot; zeh6?a6VflplH-J7*Bl4FSgbuN4dA06Bt%b_!}URHHRjwL*YfI`1J*@D-N z7*pL+$heMaKW4rZ)URx`CpT;wTZ^N`1Yi1_d21m^%+z<)CAJH?3{{zUN{>r9)ju8S zonL%)OJL!|##tvF{~$16U|!+pO~2RcXfD#^KJQTaWYKl*YCVi`WAr05Y$@XF35)#0 zL%{SN4Xec5()}Y^c}fF!E2~ZonV`|Rw-C$T^)EHC8XDT7hPbGxtN8}X$0NhfPJQPL zH0x-(zqdKlLKXU+pnN!HDU9YRu3tDODQH~U0{Wudn}WN4X`AOy#_r%7P7bW6{szUDlt@DI_+TOEi^2sD z=%VkLJUtou!;+Yau@D}tL(k9m6#IIGgU0XgUuu|WX#xfD@CH^}--Q_<>0BWnV;Y=1 zNO*w4!r-MWtMSCpD4vH4pWEB}>)~GV#bu@ZWQm(Y zPmcSPg>n{hpE+acr+r54+q+v$Y=uQ5eIFJ^u9?yacKmA|v!uk5oNd~?k$>A%zI_KZ zIZ~H-KK8mssW`(J^vW6U)=_B}G$40=!nv|@AJilUjD5oH`KfSp$p58tHZh%hVEvG4 z>X(yTzN_pv@jRN}kK6xrxNcZA?VI!kCPRu}i87r4YmxZdMNGdW>2@VFxN{`E*3vz1 zguqVxxCQ~#(^6|$sHv$r8J`AXkDz$M)pX=XM43TOA*(*Q3;|EL?lUBqtvAxgys8bV@^YckMJOsWQHLRW~U_j#h*(^DK@$rx^)oyNI&| zI>H$jU4(pBOX<$I<7+4pCSW2+Ohe6&cm z;54^TJ%YQ5lvsA3;1dhfGSLY`a-&oX%_nN(3+vvCNYj%#HWh@>j3S>0pvp8V(eXm8|w)PLl&!q95Fj#1fxq! zN&bfF<|O08{eH9SMtB6H`U|1_4Kxzy&7xzaaQXbw=TTyBn0M^paiQa;_;LF^Vgu2g z)S)YqJGg{e1nS7SL~pH(NAg^oPN4tzcXD8F!Z6!rdj5b?pn|MwOGkRvuJ0pH|8frsoC({lTRcYAR+NEw%up3zrH<@)Bx(zbo zf8$LXdoP1kx`BrEhXBb1Vd`>cog{FGEfDTI6_UNVFVwkPaz+i%y(_B`gR zWL)vM?lnc_MsE6zZQ9bL$h$qCSyeHeslz#}?f^pN&-a}U(YjBzkqj>hKML`P47~@t zo;2jgow_9nX6I;s%^zb!E<$;_ufpYaADTjau<6Gv0nD!XyTwp2TYXnq4N9?AqCj?t@WN*AFgJ zL=aM5$z^YS{Kf*ZRS`$q!4S6*?ujTGd9G-i%NerDPvtGb+7@|sr ztj?HWvx2=xn`Xh0;J-Pmrx z{_J)w{()$;14B*SfaQM0&GO}S@V8>xho>_n*d3e!H0>u%>b=l5rO!WtEp&`;t|xiZ z9~0C=3TUj6HN7~s`QCY5wi5coGfuw+5O_7Oze|0g)@CfI38u9?Tf47hiamDSNLv#aoT7X!w0Uv>WZV_gKSSQoBP zh&j=z{CoonUfCB&sqGiz$ZoKi065-<8>PU#31r2T5XHBa z{K9wDmBzH)+N4yyA-U?pZ;~i-f;D%0q?CKzlRRxT#b1`v)Z6<^c?f^8iRj&UT(-V( z22GuGE0`a5d<$nAgx$E5Aw-LNg+~kW=U{opILu)+1~oEw2mjqX!7Y560UuM7U`MIH z-2`dUZ&=m~loFGD&W14dS0eY!7e7Jv zeg<`Etd;r(F5(q3Ml-dwpNAa;iB2D!zuyXbmzCVF(V}5n^?WC_RFmMPpOHHpvx#q*~jhMIKH^8>EO?@cO{m`G{Z#&bShNqj`etl#i}*Ow-IO;d04lK zerMeh+yG6W3NWUb6)o*zlePG}x=WDPWtE>B_GkhPExH~0t$})W>JNuJ&=*F&n|%@P z>K~)shE#x?p}%iWB$4#f*kR9Lvi|i}5xb3kdl}D>VdEErvlXH~Vek+^Sy)9O>+;(H zq8YLfjNIGtA>DbJcaw2T7~A$D`@1)M46c_pY$h>V5B#axbm@~oeN;63!Jj#G36?M@ zr3UZKAr#jDiIN@v`02F$gp_MXVDm&oNX7;$Gtu=mZsWx7gnBeP`n6`EHXl+o{J6Pj|skx1Q6LXlv&KjvPjz z`6S@c+GDJZk@JJ;VooP?SWij|5%u#3>bzgvtgETgjv~rX)BE9G>!y&%(vlyUE(qG) zft1lP`SmY9zHwwXzw^7(=4owpuE+HT^|^?v6rIQNME-j7urKc4n(-A5o(5{OfS{th zAV@j`fVD?2#x{rb!5uOX&8%Ck{~@_@4f9hv=oY5uVNx_xdhYG5;OU%dMvNnCIO|>R zV}>zmCJC2dx9-!2H_dj_>IKQ0CSwkp%^rtXX%gQORZM#n>!h|6GtKyjo2?I!U2_h! z2TR=VMDn}2DnBjD6Z(pN5q9z-Wrc?~pm6&BBWn9&Yz)dNkaQzV(jBF}FkA8RNk6fx z!mx@iql{LAvDYAxANAuOhq>NkRS(Vxphnk%Y7Q6cCV@Le*(I%T^D*f3#Jyi-!LraW zf+BuE9IQWCg?(X*AV~?BjZ8V0*z^<(e#3;G(8&DyEqmovYOc%DhW92jeMCiASz}XK zJoX@*IBP-wjFNH68Ba#tor7#Bq<8-wGawzTe;yVsH7l$WOLz_7={V%yfVucu2@70>hI&_1SR)FcEN zCacF8Ek5-Hp8W^NY6W`n@+0T@zIz%IjQn2WL)sA>*gZGkFY|km09$1*Zu3B5u-R8+ ziZXs7d~UuQ=P{F?K7JWSDAUskd8L&h8|06EyKEJVPwPmq4UTpP>_}x%bLjI@s9`llTdC@~hegpOl@ zprxhL_e>GU?|i=A$zMm@4j(%di#vtJ;u7R+h7_!dzy z$xnJVj_gLh2+H|aT#+{+`vrDH$P1C!S3&xBEvFwwl3!TBZ8cmSnOLvVkpmMIec-3J zY|`_mVKEm@lB##Z{7V1E*>z}%kbssUkZJ*|Y9^=U?2Pr;dbl7H+%X*3J~ybVEa3T$ z?_V7%9tdEsv?hpqso(DO-yxl zmE>2i&vpovRMj}O*QK~XDvQC6g0ehtqthl14c2=|!hfJ2SzBz+_R%lYmQYs4V_-80 z$t4e}`&T-Fd?QrptsfW@kT+5_O?+r5tt@CF0r+Y((AaT2+OBg$%yoHdG!iyEV;S2W>Hd08t6YT$VKB8syQrE@s>tld-6EX;fc^o;I*^O@2-99Yj3MB+3gHvG<(oIbb)a;WIrr3&ZVX6^+eepO4>Pjz$Q5vS=U7&6>m! z;J-NR>8mX3MwkP-f1KTHbBi$2>K}GqVvaEr_6M#0{hPK;5z}}0NLVPdxhgXbHrch- zHuK@g|Kg5y0hbOJh%1g_u_c}{pwJ)ex&LR42YLtA9GpStgqI^VMQ;tg0*79k*Sr3V zZX*wrXN!Lv>r#%XCNuLj5(x4`TquC<{U*R$lF_>j9du@bC-mEuEQw5W1}y; zicI1djRJ#@cg)?g1=cC+d$&D8FCS!T@Odko@te*UDPj*pVux^$)c0|8b) z%C2^YkH_T>56VeNhhd-{^Y%pbhE^0<)iK<>(*MqE-qD&5=ZInAjzHRPVSYzoA@&6Z zYUL55VTui`%e$Ses5-sG<}3YQ6rBZIlusANpIy3_kdjyg0g+TXmj+1@#6L)hbR!|T zOCu;CAt5PU(p?KEA>G|bBb^Jo@4nw)=DKF)oH^&de+w&)WnM7$!)_XmsH z+Cls0FCSHnygRZ5(-cGZN6FqFb}a~ovW(b+X1)fjN^90?SngN{m*=I~?PhgA8i6gHL)zAZ{y5kc&w<v1)cX&RY6N=lJr=Pr{%lLp(jNU#<7}LYm?c&GB)q!%MdboRF<nH2SbmzxT%G4c7gF@IIQ(m_3LoEWwelnd^wuMmMQD8}CPR|U@JW)nH_`T`(9yY> zygT@6sbR2}badAk_f+ZFPG-wAM?tu~Ue_zhq5*#bw;4bl~^7bii+g26@eWXcBQ1^}diLkn? zwGxH1#{pIuR`iRsYDsl{d0+oL4Y!V9IH*l?)rxDTd`JuI6y8y1JcO<>7qCMM{@74p z6OYzNYtMz)l@EEWZ?U#(mHreh8M1be(G<`mCdLJvx5^cwWJC`I9j42I|2{Qr*Lm#> zmQR3;6gHnmSFk>}zTal>hyZlL z0k-m(dDE!ftlPgHcaSSeVcyKLxV;HJB>zCWu+ILEO_-3-NfSL8Wd3$N5Ck`JH3lHT)?pV)uuJSENaTn@HW^N^zzLvCWV1PA`evJfeJe|#&40W;eZ zX|cIyy)X?-Evm7Dex2@4amVYcXd&BVZaGV#SM(STSU}dn3o9%lVug)(PX7LycKLLB zuiGE63lX-b%huVRs=_OW&!R^x_b95a@5`4;^+%fI3p&g9_KR zIka%!#=l`^`F&>7?f(l)iblTAGEz#IpG{uedYkz<&+PsUm^2!#KMr~Nb%4!kizYL- zVlUdq{B2!$gNb-8aP|9xIV#YujWLEJCWY&s6|j3xy8X=$>G@tj-0Mz7_eJ*W+)tzV zVtszgkU$rB3Sq+M^p0};nNI~)6HWagZ%!O02HZk2at}u-kHsHKzZK)H6_l}CuzbaN z(ekm1rqUR)f>rw+lgJ|&V25j@lu4(;U``q}Q@uz2FJ6pNMpo_QZ~lJhNPnyu!z@t^ z$EpbC`}))#-BSYBD$;)Dm}*v_5r*VFNhbU1tER415L~`P0T&r=b>;l=_z=#YBLLl> znQ9G$Uqj6`cr9j<3v5AeG955(43rk0QkCy-Oyu1rGNf%XT3WF^*>aGMx;Y)A{i8+q zSX<$2k@)@DKzBYlu_p_a5==p}YSbBli|X2ZTBYgrxmQ2YvW0nh3Kqgf;-3X3ad#N} z@G4d)py?cgr_g5|>8&ND#q6$g-<%dkDb*ZRJJX@A%?#~G%Op=TO1 z(`%Q?3ca}x6n|@-nnePZW#MokPJLKr{oG&HX}&_P%qT3sc!%)(9suc#a&?E39Zi(Z zd~bBDZ}Qj6lqp*I=S}hqxFIL3|L}>GkRvYXJCSc2x$uG)aub8DP~iXiYqjxcD+WVC zB!y??awoBqO>TW~PQ2V4KK$$Kjix!u*J3G5`WNZTOE@Gi6>WqkR+Y@$aR)WJ;nLE^ z`R#NS6l$ww$YT-lXhDob(LI#-NqP)yP`;8?N?VwC;BWh5{m=i<=Epfdm;5{=;qBar zlbgYjDc~+dF>d7=iuC`H_*_%cVK}`lnwGDNTwc6onJ$ zIs76}%r!OZ-!DVXgMi+p7qebrRJT9%pRzsWO4!2e(+Nbdbw|u>J)OFJSa}3zm&AyM z2{LfGU5`ozQi>(EUQy1*qV~BM^Y9u!y}xl*U;5jE8=B~iq0D>2fUd}p!n?d!!Am3A zj7Yj_XV_dqnYig?X$VVJ?%KF!kUBLM#C828%oCNf2#mcrExuQ{-STcY^gqr|_RW$q z#3hdi$pr}(AhK?D9{>%4k)_5`P<6{vIm96CsE5Q>NO^CQ#&0Kw$z1e}On2fn%b~zGdlq5M;*nbrH z?HCxk>WC+rh&b#(&vN%4EvV8n1&J@w4J62vmr1(W8FdY-7U&$Aym^D`C<}aN;O4x+ zsd2q20QPHM|Dk7H%2A9M6llBU@oN1~-Bgx_3_#$0*!s9G1YUIy`Av(Zq{QT-@8Fn! zcfjfl;k%7TL_prFP@aI*k%Inh?Opx|97wN!zJM`gyuK%EMse!%TziMr%a?J&79JUj zvL=Nw!Ip;&o!&eN!Kce|sK;{isE2{znG+;|u>zprbEOC!6JDv^u;$|Rn7?#bLiDv+ zE7CNX@?FqHzI??L^z#poU}4>T=FrSvbWTl44}mC(XjiSMvB%55H2HOO6F z+Yl8VuM3+Bou=4#*55@-W&}n_{kz)!OZ}=7eI~Xl`|wQ(pTi6#O~dj)#ZpHXAv-kX zlu2)z-Sk5*OLpTwQCF5Fis4|-9}B|MlsizyjGEMFzcd8`tfM&ns6COoJ(~YXF+{LK z?h!IBVk6Xs`NSV${?yHY_?>LLYEkPC@c(f_soNu2z3m=;$Wqzkk4GChiYV{C5wp_R zNPu1bKe}FO{?~cBbb#6$9AG116Zd(|I3d7+xSM3SzWmxdptImq#9N}QI%w=rOlq+>?Lk32X)W6=om
?a^&tA?_*I2*g z%qC|>q|l+4R*%MLr#HAzXxa&|ZkYGospV*Z`Gn@*BlNFX%|7UUJI>6mC1{}^we&|E z^;5TNl#9=W|0%hh-+$V&eJ;)4S5)I{Gp8jslxt2I*9kqQCWAK)B<3eDFS6UZmu05Q z{bDbBW3x&lZe(O_q${SsfdM&o2%V?>laxX06iKJ~a09vfb0Sw?9751)_dk;s@=nfd zgF5RKVb<`_$5Deb$^n4vR(PId#+zZkG-@tmSh)v75mr(w+LT)w{*cfo9j+DTZ^}2S36J^ znWXe)+255;yupc(Z!RJwFzWl!yFFT^zWR6MA9-HjOh>E}{@R}KX@{ie=es^0YwnP) z?ZCX!@se>{XPRpNZ^0~ue$(Z60P71jCPAjs?c@`FNfaf@=x|+IR@V4-tPms(T<>&K zL|pDq5PS%K0uZ{`S5lc@B4hOUIvl_Xdc5spK2-pw zCVjR_%$_c-H1J&@lfur=&Ym-2B%5TpfXspLttv%i;Ok`eQ3I{v{L15Mt}Eg2_STE$ zB{=i5yzSyw+jbm?Qjn`3-nA1v&;@|&vB=Rx0tn REG|C(uPKya{2f-Vd2nO^qJ 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