From 23e4151b2e9ddffa5bec6ac8ada85d9ac0f94359 Mon Sep 17 00:00:00 2001 From: sardelka9515 Date: Sun, 13 Nov 2022 12:41:26 +0800 Subject: [PATCH] Use Direct2D for CEF testing --- Client/CefHost/CefController.cs | 34 ++++-- .../RageCoop.Client.Installer.csproj | 11 +- Client/Scripts/Properties/AssemblyInfo.cs | 4 +- Server/Properties/AssemblyInfo.cs | 4 +- Tools/CefTest/CefTest.csproj | 46 +++++++++ Tools/CefTest/D2DWindow.cs | 45 ++++++++ Tools/CefTest/Program.cs | 97 +++++++++++++----- Tools/CefTest/packages.config | 17 ++- libs/DXHook/DXHook.dll | Bin 115712 -> 115712 bytes libs/DXHook/DXHook.pdb | Bin 318976 -> 316928 bytes 10 files changed, 211 insertions(+), 47 deletions(-) create mode 100644 Tools/CefTest/D2DWindow.cs diff --git a/Client/CefHost/CefController.cs b/Client/CefHost/CefController.cs index 6a111e7..985df14 100644 --- a/Client/CefHost/CefController.cs +++ b/Client/CefHost/CefController.cs @@ -6,6 +6,7 @@ using System.IO.MemoryMappedFiles; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Ipc; +using System.Threading; using System.Threading.Tasks; using CefSharp; using CefSharp.OffScreen; @@ -35,16 +36,23 @@ namespace RageCoop.Client.CefHost private static ActivatedClientTypeEntry _controllerEntry; private static IpcChannel _adapterChannel; public static Action OnCefMessage; - private object _browser; + private ChromiumWebBrowser _browser; private MemoryMappedFile _mmf; private string _mmfName; + private CefProcessor _processor; private SafeMemoryMappedViewHandle _mmfView; private BufferMode _mode; public IntPtr PtrBuffer { get; private set; } + public int FrameRate + { + get => _browser.GetBrowserHost().WindowlessFrameRate; + set => _browser.GetBrowserHost().WindowlessFrameRate = value; + } + public void Dispose() { - (_browser as ChromiumWebBrowser)?.Dispose(); + _browser?.Dispose(); _mmf?.Dispose(); if (PtrBuffer != IntPtr.Zero) _mmfView?.ReleasePointer(); @@ -153,28 +161,34 @@ namespace RageCoop.Client.CefHost var adapter = new CefAdapter(); adapter.Register(id, mode, _mmfName); - _browser = new ChromiumWebBrowser(); - ((ChromiumWebBrowser)_browser).RenderHandler = new CefProcessor(size, adapter, PtrBuffer, mode); + _browser.RenderHandler = _processor = new CefProcessor(size, adapter, PtrBuffer, mode); + while (_browser.GetBrowserHost() == null) Thread.Sleep(20); // Wait till the browser is actually created Console.WriteLine("CefController created: " + size); } public void LoadUrl(string url) { - ((ChromiumWebBrowser)_browser).LoadUrl(url); + _browser.LoadUrl(url); + } + public void Resize(Size size) + { + _browser.Size = size; + _processor.Size = size; } - public void SendMouseClick(int x, int y, int modifiers, MouseButton button, bool mouseUp, int clicks) { var e = new MouseEvent(x, y, (CefEventFlags)modifiers); - ((ChromiumWebBrowser)_browser).GetBrowserHost() + _browser.GetBrowserHost() ?.SendMouseClickEvent(e, (MouseButtonType)button, mouseUp, clicks); } - public void SendMouseMove() + public void SendMouseMove(int x, int y,bool leave=false) { - // _browser.GetBrowserHost() ?.SendMouseMoveEvent(,); + var e = new MouseEvent(x, y, 0); + + _browser.GetBrowserHost()?.SendMouseMoveEvent(e,leave); } public DateTime Ping() @@ -203,7 +217,7 @@ namespace RageCoop.Client.CefHost private MemoryMappedFile _mmf; private SafeMemoryMappedViewHandle _mmfView; public int Id; - public Size Size; + public Size Size { get; private set; } public CefAdapter() { diff --git a/Client/Installer/RageCoop.Client.Installer.csproj b/Client/Installer/RageCoop.Client.Installer.csproj index 96130a2..2cf8ced 100644 --- a/Client/Installer/RageCoop.Client.Installer.csproj +++ b/Client/Installer/RageCoop.Client.Installer.csproj @@ -10,6 +10,13 @@ Debug;Release + + + + + + + @@ -51,10 +58,6 @@ - - - - all diff --git a/Client/Scripts/Properties/AssemblyInfo.cs b/Client/Scripts/Properties/AssemblyInfo.cs index 7caa371..d937da4 100644 --- a/Client/Scripts/Properties/AssemblyInfo.cs +++ b/Client/Scripts/Properties/AssemblyInfo.cs @@ -16,7 +16,7 @@ using System.Resources; // Version informationr( -[assembly: AssemblyVersion("1.5.7.351")] -[assembly: AssemblyFileVersion("1.5.7.351")] +[assembly: AssemblyVersion("1.5.7.356")] +[assembly: AssemblyFileVersion("1.5.7.356")] [assembly: NeutralResourcesLanguageAttribute( "en-US" )] diff --git a/Server/Properties/AssemblyInfo.cs b/Server/Properties/AssemblyInfo.cs index b3afb06..fe3eca2 100644 --- a/Server/Properties/AssemblyInfo.cs +++ b/Server/Properties/AssemblyInfo.cs @@ -15,7 +15,7 @@ using System.Resources; [assembly: AssemblyCulture("")] // Version information -[assembly: AssemblyVersion("1.5.8.32")] -[assembly: AssemblyFileVersion("1.5.8.32")] +[assembly: AssemblyVersion("1.5.8.34")] +[assembly: AssemblyFileVersion("1.5.8.34")] [assembly: NeutralResourcesLanguageAttribute( "en-US" )] diff --git a/Tools/CefTest/CefTest.csproj b/Tools/CefTest/CefTest.csproj index dc5cf11..5d6e305 100644 --- a/Tools/CefTest/CefTest.csproj +++ b/Tools/CefTest/CefTest.csproj @@ -38,13 +38,53 @@ ..\libs\BitmapUtil.dll + + ..\..\packages\PInvoke.Kernel32.0.7.124\lib\net46\PInvoke.Kernel32.dll + + + ..\..\packages\PInvoke.User32.0.7.124\lib\net45\PInvoke.User32.dll + + + ..\..\packages\PInvoke.Windows.Core.0.7.124\lib\net45\PInvoke.Windows.Core.dll + + + ..\..\packages\PInvoke.Windows.ShellScalingApi.0.7.124\lib\net45\PInvoke.Windows.ShellScalingApi.dll + + + ..\..\packages\SharpD2D.0.1.1\lib\netstandard2.0\SharpD2D.dll + + + ..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll + + + ..\..\packages\SharpDX.Direct2D1.4.2.0\lib\net45\SharpDX.Direct2D1.dll + + + ..\..\packages\SharpDX.DXGI.4.2.0\lib\net45\SharpDX.DXGI.dll + + + ..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + ..\packages\System.Drawing.Common.4.5.0\lib\net461\System.Drawing.Common.dll + + ..\..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + + + + ..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + @@ -52,8 +92,14 @@ + + ..\..\packages\Validation.2.4.15\lib\net45\Validation.dll + + + Component + diff --git a/Tools/CefTest/D2DWindow.cs b/Tools/CefTest/D2DWindow.cs new file mode 100644 index 0000000..496afcd --- /dev/null +++ b/Tools/CefTest/D2DWindow.cs @@ -0,0 +1,45 @@ +using System; +using SharpD2D.Drawing; +using SharpD2D.Windows; +using System.Windows.Forms; +using SharpDX.Direct2D1; +using Image = SharpD2D.Drawing.Image; + +namespace CefTest +{ + public class D2DMedia:Control + { + private Canvas _canvas; + private Image _img; + public D2DMedia() + { + } + + protected override void OnHandleCreated(EventArgs e) + { + base.OnHandleCreated(e); + Console.WriteLine("Initialize"); + _canvas = new Canvas(Handle); + _canvas.SetupGraphics += _canvas_SetupGraphics; + _canvas.Initialize(); + _canvas.DrawGraphics += _canvas_DrawGraphics; + } + + private void _canvas_DrawGraphics(object sender, DrawGraphicsEventArgs e) + { + e.Graphics.BeginScene(); + e.Graphics.DrawImage(_img,default(PointF)); + e.Graphics.EndScene(); + } + + public void UpdateAndPaint(int width,int height,int pitch,IntPtr scan0,PixelFormat format) + { + _img.Update(width,height,pitch,scan0,format); + _canvas.SafeDraw(); + } + private void _canvas_SetupGraphics(object sender, SetupGraphicsEventArgs e) + { + _img = e.Graphics.CreateImage(); + } + } +} \ No newline at end of file diff --git a/Tools/CefTest/Program.cs b/Tools/CefTest/Program.cs index fa9f3b8..fb414c4 100644 --- a/Tools/CefTest/Program.cs +++ b/Tools/CefTest/Program.cs @@ -1,9 +1,15 @@ -using System.Drawing; +using System; +using System.Drawing; using System.Drawing.Imaging; using System.Security.Permissions; using System.Threading; using System.Windows.Forms; using RageCoop.Client.CefHost; +using SharpDX.DXGI; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; +using AlphaMode = SharpDX.Direct2D1.AlphaMode; +using SharpD2D; +using SharpD2D.Windows; namespace CefTest { @@ -12,36 +18,58 @@ namespace CefTest [SecurityPermission(SecurityAction.Demand)] private static void Main(string[] args) { - CefController.Initialize(); - var thread = new Thread(() => - { - var controller = CefController.Create(0, new Size(800, 600), out var adapter, BufferMode.Dirty); - Application.Run(new Test(adapter, controller)); - }); - thread.SetApartmentState(ApartmentState.STA); - thread.Start(); - var controller2 = CefController.Create(1, new Size(800, 600), out var adapter2, BufferMode.Full); - Application.Run(new Test2(adapter2, controller2)); + WindowHelper.DisableScalingGlobal(); + TimerService.EnableHighPrecisionTimers(); + CefController.Initialize(@"M:\SandBox-Shared\repos\RAGECOOP\RAGECOOP-V\bin\Debug\Client\SubProcess\RageCoop.Client.CefHost.exe"); + CefController.OnCefMessage += s => Console.WriteLine(s); + Test2(); + } + + static void Test1() + { + + var controller2 = CefController.Create(1, new Size(1920, 1080), out var adapter2, BufferMode.Dirty); + Application.Run(new Test(adapter2, controller2)); + } + private static void Test2() + { + var controller = CefController.Create(0, new Size(1920, 1080), out var adapter, BufferMode.Full); + controller.FrameRate = 60; + Application.Run(new Test2(adapter, controller)); } } internal class Test2 : Test { + private D2DMedia _con; public Test2(CefAdapter adapter, CefController controller) : base(adapter, controller) { - Text = "test2: full update"; + Text = "test2: d2d"; + _con = new D2DMedia { Size = Size }; + Controls.Add(_con); + SizeChanged += (s, e) => + { + _con.Size = Size; + }; + _con.KeyDown += CefKeyDown; + _con.MouseDown += (s, e) => MouseKey(e, false); + _con.MouseUp += (s, e) => MouseKey(e, true); + _con.MouseMove += (s, e) => controller?.SendMouseMove(Cursor.Position.X, Cursor.Position.Y - (Height - ClientRectangle.Height)); + } protected override void CefPaint(int bufferSize, Rectangle dirtyRect) { - lock (_adapter) + try { - var size = _adapter.Size; - var draw = new Bitmap(size.Width, size.Height, size.Width * 4, PixelFormat.Format32bppArgb, - _adapter.PtrBuffer); - _graphics.DrawImage(draw, Point.Empty); - draw.Dispose(); + + lock (_adapter) + { + var size = _adapter.Size; + _con.UpdateAndPaint(size.Width, size.Height, size.Width * 4, _adapter.PtrBuffer, new SharpDX.Direct2D1.PixelFormat(Format.B8G8R8A8_UNorm, AlphaMode.Premultiplied)); + } } + catch (Exception ex) { Console.WriteLine(ex); } } } @@ -54,23 +82,24 @@ namespace CefTest public Test(CefAdapter adapter, CefController controller) { Text = "test1: partial update"; - AutoScaleMode = AutoScaleMode.None; - Application.EnableVisualStyles(); Size = adapter.Size; _adapter = adapter; _controller = controller; _adapter.OnPaint += CefPaint; - controller.LoadUrl("https://www.youtube.com/watch?v=w3rQ3328Tok"); - KeyDown += TestForm_KeyDown; - MouseClick += TestForm_MouseClick; + controller.LoadUrl("https://www.youtube.com/watch?v=LXb3EKWsInQ"); + KeyDown += CefKeyDown; + MouseDown += (s, e) => MouseKey(e, false); + MouseUp += (s, e) => MouseKey(e, true); + MouseMove += (s, e) => controller?.SendMouseMove(Cursor.Position.X, Cursor.Position.Y - (Height - ClientRectangle.Height)); BackColor = Color.AliceBlue; _graphics = CreateGraphics(); + AutoScaleMode = AutoScaleMode.None; + SizeChanged += (s, e) => _controller.Resize(ClientRectangle.Size); } - private void TestForm_MouseClick(object sender, MouseEventArgs e) + public void MouseKey(MouseEventArgs e, bool up) { - _controller?.SendMouseClick(e.X, e.Y, 0, GetFrom(e.Button), false, 1); - _controller?.SendMouseClick(e.X, e.Y, 0, GetFrom(e.Button), true, 1); + _controller?.SendMouseClick(e.X, e.Y, 0, GetFrom(e.Button), up, 1); } public static MouseButton GetFrom(MouseButtons b) @@ -85,9 +114,23 @@ namespace CefTest } } - private void TestForm_KeyDown(object sender, KeyEventArgs e) + public void CefKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.R) _controller.LoadUrl("https://www.youtube.com/watch?v=x53lfkuP044/"); + else if (e.KeyCode == Keys.F11) + { + if (WindowState != FormWindowState.Maximized) + { + FormBorderStyle = FormBorderStyle.None; + WindowState = FormWindowState.Maximized; + } + else + { + FormBorderStyle = FormBorderStyle.Sizable; + WindowState = FormWindowState.Normal; + } + + } } protected virtual void CefPaint(int bufferSize, Rectangle dirtyRect) diff --git a/Tools/CefTest/packages.config b/Tools/CefTest/packages.config index 3f85828..5bb1c82 100644 --- a/Tools/CefTest/packages.config +++ b/Tools/CefTest/packages.config @@ -1,5 +1,18 @@  - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libs/DXHook/DXHook.dll b/libs/DXHook/DXHook.dll index 209763f7a20bb2bc8c6340600fb18adea08fd333..67751d22c0e0747f7b13d18e28d10c1d3384d8ce 100644 GIT binary patch delta 31203 zcmeHvd3aPs)_2wIyY!yi?xZ^jSvo+VAqxo*AdpCcVF`pK$P#1`6a_@y7NQ6?O{YUd zP#D3hMqEZw89{NufPjL6;x?lryrT||$bh4cIEvs4DlYi_PTlS#IL^H9^L@|rJ>MT6 zn%_O=)TyddRi{oZ_a=?2w8mB1x>fSk%DbDkt$9-6V~j!Sy}Y*d&*~<1U?FE}B$+We z|1wDm>mV9@ZKB$QD636WmJoF{o^=gyO+*5d!c;)0zV!!JiH{F73cLO-V>%M@ETN5z zsiDhB3CzR9%x>+O7vS9oh>XF{Au4c5;u*ROvV88ds|C)uWJc@4ZmkNhG4cwk`N-C* z3w%7Mx3ugustZ5Hn7wC$d7PMRDSV0s;ANs#`?Qx^(+k*9@#EIOY$RuprZMVai6Y->yK zN1kb;QGRP1vury^e`Lpn0$=3WHi18~vyIM<>}sQZk=-5W=Ro&l%v-Fm?u;=d%9zfi zBp!So33%)=AA9kzgkJy#b#%2opQ$}rr(!Gn2ARr49=p$>dU)_E=%DAMWz<(eFJt+{ zP>%&u1oMktq~=>9G$LYfqOu&J5%EZFIr5?)l*m5u^hNfQmLvt;FhL4aPXF5R=(s$e z^$~hDyaa_{DylI@Doi${oaZiEf#UPZN5`~h79$y^A#8Y=GWjSItjv(5Fd2(nUPV{T ze16Fv`HC5Z*Y_$MDB2qS3M#(y9R4P!IP$woVR9R%&t>&k5PnNSM6nTa{fKgqbwyrWgl{QVXVV zxN*Z;%6ci0i;}d2O2a`&9Zd6u4uSAB{HLM!@{ST2tf4iW$48n6%%4Ynz_@beHIFGBr1GBucE?Xnd zN=#-R#pknyj-!O|M}Ro_H;}=P0a8$d!J)TNj@Ra~1wSz^E$QMA>Yq}c9mcAX?C9S? zdK~9dr<0#Je38!tA1~_!m zzpxe3Pe|HkC!!IV^xqr$&vr((V-R#z*s7~OkMn%$4C+KDD#75{BbW+y!NHI1k+TU7 z0nHxyHqI3Vza#dXV11GA#nT`80Z-l8@FP9sFjeHkztB%cU7sBFJfy*&jm3S+CB}_y zgT^M2dw7$X6vXJMp)w<>yi@ctvc;Q|9N`>hco#*i?AnMVXrDRzEhZC@#nT^A;!ia$ zhx;I7M#LKDZQ>c&BQX}SgVw!XkDhF{-_ziL#GAq-J*6{a4_1~6Y;Z!lXf>)%*anwe zgWlo6C1}NR7iCKIq*B1OHzaZ6Xt|$XW}NHWX&~i{ue7s}=|WW$-Z(g(dL>e)1e2)% ztQ_`WrZJ|pUw;qCkQcCMHNuka52a8V;)dM}QS2yFWhI3DguR=Xjovg*TJW#N^QG&$ z`5~Mqhtufc^EISXCd37MfN{p$au9*U9?CQp_8T0n`sdJh0Pz9A-L94)RAHeq;~z=m zrfbA8yRcBuEy?U(xRHSh$)3d8S&_Nr3iCn@$i@p?SB~_MSZ^-9x0_QJa$Gu zHl&EimxJOWuacQkm~`61V=gJB38erjy+%r5QcZ+Jk|by|7>d*j!lTeZc+3D z6g`&b6X`ToUQ`u53xOFsv68jLPLjrB=Ql)34HWN!X|$vMkpvxrsXr$mg-O`HQIwW_ zPfE*v00t4juuYS~BnqaZgl=F&N(N(5a3ZC^VG2{uTX5)eXa!?_5sHOLrmnf|%l@VMgT0jwW`YJt@rQh%k$=jO_w7z*K6F#X(Z)B9!0| z_Q-dn6eiU~{3S_(He<0!y&x6~9UxTw58u z>SBt(@uYvHh+K>v?c+d0tI$v_bm4le^Ui7j>V6XsX7UumjvBO{qjWV2Q5+!s)3E{_)Ey)t> z4!RNtXG)7w@gngtGZ9^Gue?JfTFHvlZKSD2WyqqWJ`1HVskCP|Zw2~HiOYZ0>dqG? z2C)Sa{@C8If{c#kwu<^%nK5RFFDj$DU?;d2orkIJU}l{88GaDViZj$_Z7DxdNsz*AX`X98PlzfpM=mL7eMeWvxd|-qsmVB0oA{n0!$&J!Y1I{Mm7Qmy( zVKP!&ED%FIWS+mFu@ejlsdvQ*-J_WI5qQS8uTPgfsLP|kc3e&TFHmau6jz?bqOHqHkOMf+;?Ca>JQ51BcpW;enmnc8ss0kncm0l*}g&Ppj&<|w?yOWDhJFvt( z3-1jENkDCp!h~wWQbDar=G2;bA>T_dq_c+|ZqN#JFUVA}=C0 z({W*db3of5BxveoamtCjKvi|PH_$v9?hVEc&ly6e)?cR3DfgE$I?n!5M(5v#bmQsa zop^8K&EeTmG2%4z)T422;SO|9(UwTV(QXz_mZo#Xt=5%ryR|-Zvg=ApWG|YKXcz^L zFx_DKi+vrcG4Dfq8=(;a7_@FgUNjL0T)K-~omk)1fuDc=IT{)OE4sz24wZq?WuG}I z;t#Vw$*n>Ik&GFWD9x?A3*08_zdAHXB$}Pu)>xWF-Xw>fR0hAHHRqf$xF$79bB*GX zNB1PAp1-3#raMSs3MZkb$Q=?A@}AJPjuJ5|TiYd}%_g0w!>fDAN@9I+D~&(Zq=?BS zdXwcBqIimUWKxQrQji3f5(1H)?;@5$r>V{c+-bHY(GRJ5>i?uyJ-+j)KHP)pqGNGS zEjIP#7xt-N_y1F$w%L}Zr~Nm!;ciz$^Fz1*R3jQpmQsRN>JJ^$Buu_zHtal4iQu9` z)|K;W5VNQue(7>NIAB}IIyqS6?UKVuRK{c#KRS`;$ zi&uizLKS8cNv?)&g{Yfk7962EBwrBMVwmt|9vXuzJqtV1xFAG@gf1dS%Ffq4+0o!& zqI2||&?iV?p6p;H1cjd-P4Z-)_u;OnQ(}QKZM%)M@b73pZvgwX2XI@X2Y#_((*yr* z$0l}_Rj33jZ^*c__J-&%aY_&4A{9=;h%18 z7)=rf(;cBPpzy@bVJxWdI6#7~105PK(q*qxcX*tkO9bcC<=_M!MG=TUWgDnWv#y4T zNcXy#?$%}98JYwxIGIFAdQw3j5^Kxr!TVCMLoxsPLsKAt1#P7}ba&`dlCk_E4DW7i z$IZU*CVP^XQCFV#EkVZ{ACAfQn2Kn}R8fjGG|k8uJCIK|CXT(84{tp__9Gshfh6aE zzoEY6mkIJPkuwGP7LmBGgThNhUM@)N^OzVW=YXw5ULmBo=1NHKB67Bn-r6p0Y$NlR zEWeUc^RHb#JSvE}%dZm8nak&hXMLO>XV#NHV)t?_hR%_mN)xPGT&sDd7gbTVEYUlbi7yu9O!5A(9G6KQrhls1G= zro()T;lw+S3~}bosr0YK{WD%JdGLOYC=XuET?z3TwVp4X4n(wPVrKOZqt=EgZ{N4xah`praf*+ z!}VlDAb`DfWU(OYC6G6OY*<1yVf(yjWm`?TQdpRWneZnRl5;~&QV{py@s~Sz_myp2 zK4DNa8{LL`S!}OKJEv#jG>lz>+R#HBbg}=jN8F?*g-P9O)vX2H+p;W8WWlJ(Ao}Ejgiv?Yr7gDAblwVM)-E!eqsThif5;AFipS z3sZ$8o+?bY>9zs{+%VZjs=a6xze2oG5+b1s5mk3#Q9|;8@%xF3qBua~b!wP=^TPL| zzK9nxoCMSH2l&%!;a!EL{o$F zF^cR6Lb;K1r)In~DZLx%U}+NX$HT;g;J|25$SxjcBO(T$><^9*nn zq%Jx`-hwS3b%JPq)To>s2#&fyxiPM6b+jvsevKKcCTCt#OUjm@sTHR3@d_0dyHI|h zLl!YmO(@F}>WN_$FW@@i1@&=UTHx%44mG#aFopV~AWaJU>4_ztIt%YnL%odT`c45# zwZUJhk8R8L0fX4ctC9Vn;MQrzsQR*KGb*A9(P8UHrybh*6->pHxCulUi}(dQVbXwm z+PzMXQ*4uq3lpk0|2tLMG@qC9xgYmdUb}8D`w63jCjF19F$$+-rd?1g=2txD&Bm-L zDRmblUXw^8b*u^Sm~ef5ktwwk;zW=(V-wq*BfE05y~n+e)Q&wwG#!|7Bm$ zjt;hoGBH{-4h3V(XM4Zu);|3^%BW!7)~8ECrh^Y-Yep-z7>w1%)tBZ(Y5vefAQg&D z4Ej{8yEwdCbgSOh1j-ofPmaqhx+aBbZuvsDK#J*NUJ10_2!v_=d6V_zf|~fG_3A$C z@^z1=?XA90!KQq=xPPO{X-|lAg*kggp&r~b=|{w0qKxKFHXS?Jbg_|jdo%Qm_)a!G zSZS=EmZl2jknz;CO;Kc~_(yFNue#}_`e{TbUrBt@wn;xBDNPOfh-WGpdqE~~z`al; z&bJqesF02sqw(s*IW@Kb>od#GqmzrJ-TmSud0huJi@cE3#f!z9srSWQG z;AI)nJIUs|0GMzGaeLW`9L*kVfn*c0kvl+9raY8H&u;N2t~~^ggPYv5GrqAB1Qf7` zFa?6RD_$>sg+)c+D=aEOQX*7xIBkHYP@)PFk>?k8p%?Ty)mCCAuBNW6~2L6kSwAB_XvZLmvB=fE*aEyxcp zhI>=|B7G@L8KwlEBsz!#lj`(H!Kc6_LKv+GW^rQX6hU1$yCC4~y%K_`pddk|rivhh zGh7TKCbS!Yfh=PG(vJBT8Zv*XE8mJpz?dta*=Pb{D{WRF2nhO9i5m@gl9SaqueN%w0%<)_+kJx{2Lw@~4TXz2|ek z;Gh2mzvmbHUhoYs0D><9Li>zib8@5mLE=tB3B50#B=+=eLoq;Z}3{A;I+o4xq}x_ zOGAI4?DQ?G#4bnalZ9)cJemZdH<4)1PsQlI1&SvBAMp&mO?e+_ra;! zFYc&h^bs!BaKk97Ib_t$>l4M!L1!uUMbmKF$yke*fw*0;guX%}sipRZ^89h`PvFFd zSP$i;#YOLsXg#t#l$UM^okgBCSsYxjf#Q;Bu!j4(ccBNTa$3dcU{4@sm&bBG^)~Fr zxX03=!U#s*-X@_M(k@HGynPi#M*bX6qpAumzI>h$IedY-QFnD}^!<*azkrz+`2c8Z zI06jz#dJonq|VgT(1#Eqlz8QQd?P4g2Hj0fF+0T)Lg{UD0&8X!MuFmw1&un2oT5<$ z!9$k?^ZZFjGU zqKq5n7xQ_>=J^8xmx@Rb9srxfB9quLO*Q3Zw_lUuqD09e-b6&ojNEJdQQAgEs!43_ zqi8=fkXSh~h#tO3IXzM$Rpz6T9sxv178zouUu-^xnvY?4BsL3JpA#XMa+|v!xEwK| z00xmslfzV?xs^c*G4YfOYfLeXN)bk3Y!sG+;5E%`8d=yD&#}QxYxtYtUXUIA7#-+h z_;?jheCw;rX`xR+g3v;LCju{NWx7K^=nRY2gsCwBd!QR@pv<`QLRb;manq&xL!XK4 zsxNo~MDTM!=pQ7af^51PjEb_5Cj!EFe8D(;QT^kB5z*;nsKtj{;Pz@7K1L7tMP;Ec zP>9{bJPf{_uxGK zave{45AMP10)%^e{Bw4*>WoVx`$SsetM)MYg!U`nvzvY)h7`wK`oNezN>}o)p(zaq zz>LnB91_2J;IWv$cHpse_?3e=6aRGsNz`L{h)sO@9uW=~_Y!Vi(o^{^iyAsfUGE2j zQ8Il_Vf*28GmLGak|^Sq-6CSL8JJIj4`PY3hrR|lB!o*WV0KCzTt6>DjtkKlh|E5i zKXsnJ-YH?xqohl5!l7{xCAe&P6yodwhKq%np>IGkdC_8oO$$Cc{uZo5qQe~(mMEX* zhiRl0*OZK1MlKQj4jQ<6^Wo$C0nbAUNB*U6$vL^U`a@oNn|cn~7WEfx3VjbLlayc# zKIg>=gs!kuFTIn}Sq z*K^Lxj3*aosQu80V0Yt>i!bL(jglMuZ9BJ>=sIM zcT~HL#Y^X!Qn45(q+cx^1OxJKjBg>9oTn{>aruo+)-sf!;a4?`FK+B#`oFb&8};F$ zzBj^xU>U7nYKN7%!#<$H`fslLp=HK%;W@>K&uU}|`oOYm8BqLoj_*%FoU;&C@vAE- z%n}yKVM-1q8+FUN@+4#NvM2amtz9D{BtF$x5Z&Y!i#^WZc8?36o*RM2PW)A)yzwtl z+GP5QH8C6V-APRBI%yLYy?81(+SFZ;OoI00J-OYsMgqn<`71h0(k+~j0Z@F&Eu_NRfHEVl73PLOSmRtDmjeBn?e|Dce{DQ)Tg}khQGpb`9#;P9ebRMEpiwdJ zlP*-nb<$#LUGR3Ja9yXG_{9;4L?E!I^qeFK*A%}@hT|!nGcKLiCfx&1ZI|Nr@#1c5 ztY0^Ye_?#KF5sbcGl)|demN|Wn6bVmKWPkIKU{i&8NXTIpC=oyuK$kjHD0_uD~nuK z66X;7I+gIyc5aVx?)DYD&WIRu1okpg?x>7Y&3E*o;&$9orO~xP1oTgLT-oOZSZLlX z(5%9*k$G90Auwz!RB-?jrkUT#BHx{NZq1~qW5*pS3vLI6-=i{bNGUAsFs9%2EI(nS zv~=SqS_ienIDSWQ@7;K%#*Kmvos6@0W3x=;^n~Ph8^%NB+=e!ll6&GR`G#>1PRC}( z-y!o)_vBn^NB?8HXI`Y@mX*FO5}%L!;u94i$9gAYZPai`y$UU)(;R(eVSXk?0nX&b zE6|0;;(O;sIg&em`LPE)y?JS?#;jXJAbhLSCQf|35*JZ19cvMKG6{bpCb-CmUwVNA z*F7*xC~ztDSF;%n_jQS4h_ICtdKwkF@5PBWO;iDzfyo`lRv<4XBMhM^gsnoGJgeUA!tx_Rw_(vQeV~^s z{u1;hlo|FI3m?cD9wg6NwhsdFL9euIKcx*5{wCDKdlf`l^Tkgv1ziHQM$muv5uIO3cu~Jzyfb^RpH^&VB@;i@y0K9;!z?}7>C)SkBKCJ* zXB_?)Nw+J#S#?QSbx)Su`*v(~8f&)0sc^<;C0kmdrpGph@LES;_XT{yXz7% zarWe1{37c?RI{_O(7A|R-G7vP z5&O9;N{@@v3D1^~!VY*;4cUHOUux^@$-^w&*r_puYkh=&7x)L6=wZVMyG|gSC-BzM z!z@0wq_9_!%9=X0Uet}LU58oF0O<#7H&zrFX31c$j!D8Nvegwy`TbbWiJxY`qBWTZ z`rFwz(t-Y+q}dhZTX$0i`0J`f=3CA)R~iA?$QF z!nZR>;;bWlZD21xj6Gd@cF+)3IFcl)=#_^stV7s?!$|UVEzxO^_hTvObvt(N2m1G8 zO$v>}IgCbjS2n1OR2v5nF6cryqX!k8H011{Y_^NM#JFtJD^WXpv-eKiZFbnbG;~eYcDdTU(QZB8)i{s zUP>XnRWvL*HHVl_(g;F`~c2h}v2A zi3j?t?A{W&q#JvloZ9&Nqgh7s=Ct%|Rs+LTcB-#j(i1JBVVgjHWK?bLf_KtYeJHim zB9~;daUvwl?MqF33G!_AnCOQeDQpGOS7YPvEV|lhRc+XiYWdJ=JBF z!zyTXQe%Gp2kDaPa}R;saDL#l6Xn1;+bl6KZ)d9MA2?hXzxBGi3-WrLUYYl!z!#C&B5y68KHw4A2i3&dq3dx<$~xB1m{;fNaKN?TCL}+StMDG9{oz%E)ATgzO!jS^65K6~H=HE{u`4&;MTNK*64@sgz z^0m-hGn^z9oeAF-xK&7!`jh0|E`(i15cU)D#l4As*$<4u>4;f>31L9s;cB8k67n&k zf{CKC*M&jv3CTNxE)(=O<4FG@K}SVnx(a%a&}kJ7xLTC(v5*mGqQy3WAB%RRmXYd2feXbrO%v_N6lOgr@J3NVslXYNN&j2n2XB`Xt%!1D(Tm50 zxgQGo@hVE4D*E-U?nFP|JxY&yiLjr*Exi`O4UY&neE$MB#A{f%VXT82-ilmT1PQMU z5Oy6%I9Vo~Bk)myr^b_{-z9`M3bYCQc-*bz|EXn^Fi~J_9nsSU5Z*0ti@*T_FHa|V zW@o|&1>V?&=u&|*CKLUwFy-xXqL+z^r}~Lj#u3WZgva|4eh3}-|LL*BOtlhTE%3!u zqPO%SJYGe(Mr1f3ihC!GBrgN&8ebCq^vVVOv`+NXJy%C_KQZh0jItD3Qdp9SV(FA&uq zb>^}w^ph-?<+-h$a@oxus(ys-f_?>-c`sX8>FMNU`^IH-(phMn2RdbA4d_ftp^`uM zwr>tjdF(KSR%0yFb9+*bh6B*i>3Ue=x}pce;BQ- zYb+WttW#ZMH-SG^*C5v>(d&<4(a&XC0X4u=OS^{j;k8ITnop9mqX>l&gM<|cBRW*D+2$pIJiNinO|gD0{DEF>trQjx|3tE)4nS`E#*1dVkbh zW6+*1?mOI^ttz2S*4#8~sjk`6H=hb(DOB5FFV(zFr*0WoL%sHk@i6|dCu=~eYQeGk z85I4HcPCY#?*TrMMAh6S@IVsf{c`wz$j#Dd42;0uOx$Nx?7c+nsj@xP7Y%~mpr;xS z?>)o^7}vkh1$#M_y=TLgi1n()E{=^akMG}%Z7+;=%|&WWCgHA(xvh>DH@c%Mt$Xsn z#ddlvzDj0nrS;`e#N89;Hv4AT&ag*JE-h4%l5>V_#V5(oWD5e>Ip45jZCqXsa*j6B zexnuU{J?7Q?wql^Sf7GE;8w-CA4Uw!`H>wqxhVTb>BTueu{vCYqEJ*3&OXoP3hsdQ z;;bV6GiwywtE^8EXFs#P_-=}^SJ|ol#7z@ijBP6%ne#JS6X)cjOL90*#&-#f#n{oh zX*n_@KE1xE~1J)>2VdK{c)~v$Di}7|nQH71y3(l;<##hBTs=~pYcwd&N!p$!d zoLPm3&lH^52rpkEII{*XPo5R8A&ORb`82_rRe1RqaV{|U>YP-*W{z0}RhYpK;`I}C z{%?zK%*o=9Tuamt#*djS#-0*Sn4EQU(J5ZW&$Olav@$-d zQ50icUHCaG=VRiW&-PJHIma#w|5jRq<*O{^d`6tRs_-+UT_w1f^}527;6m}VVE31K zw1VFdPb}@8$|`uHnFwQi+C_Y`;0`cXkh3a&L~zY)Y9VoHF@}H5tVwXw1hKNkIIM;b;nU*Wac~#&&2i4^=qXk6GjZ;& z%Ck8``Q{arkDQIOp?sU*)~8)x@gveG1>@^_IJG{ro!gcg&Ti+P2`1$X!*6KCRrdxr zXAW!2SUxV4J-m$@G489(Hcp{wI3kgz&@>#u-x1ZnYW=|VG9SUeX){ehnzfm#IKZCj z^fIsELBW}3*YNtN$qL7);hRm)I&~tcJ{{-gOiX1pe0Q9CuC9oW#P! zJJjbl$|(MyaqeiJ=d(ufBXQ2x^Q60$=ifxeth9zlY|gIbeQt_7+o}<*V9Vo)n|&-W znpX=hW^MH?b&cku%{0;7WB5`tjcsvoHioY<(-0BWz!+{_NmayHY9(i5`H?s`sW)+_ z1hgb}ZjRe|iCvWa%j4M%+SNjQw2e3XJ8~+-h=vsr3cM@tJFg zJHW_=>i9Cj#n_%ePGCIWAULywFX4}vob^rw@=N%hI9EBoll>C@4mi|Lst+b#!q2p2 zOv#zRr>&(bOrM>^cL{DK`@Va(z$9+HjnZN)5GW2@%CB2za$i;V4@~9N_}YrnYWr6O zrt{+4P0nep3(Vq=#5o4;a=d~zTb?9Hla(;<%=Lh}yNaL*!W`XW?gy=a(h<-!R{6ln`G4aFx z{B~n4@CoA;;JvLsedtn+#!q{;+CN?_wLbRgNjd2N3$Qx;o@O0dRmb`pkN#t))Wc%T z{36I>t*gHnWQi`79N66~m3-LU#H3L*X~3hsvw*lMS2w8NUz`eD-k)@cUMijHPDq+d zrFEs<)s5;RZ16U!FHR=;1L+086*Z$;{9>27RG-{(&W zdN1hHQWARcv{Z+IUW3N;lD0^Tdmq=P;CG^<&+u8=*TvsyT(b22Svx1JJ|_imL3d92 zhjp`hPPFEnFzB4rI?@gKp59*Ii<8rU+T<)?Zf$2Pw}dLXTXkTG)n+NN_XmC{m0R(Z zW5p2bM(u-&8bOb->bxpvoOE27o>gRQIqir}vhJ5|9X$hieb%|aOyE4^x?h`T8CE+V zxrWtVhw_isMXY6z|JGUs<)1ZI1|gYaD64K7{_BWt)YOnPZ!0q3)Y! zq0v}qSvO>^xCLnQwb){og>Z?5(p3M$HuA{FY~}1f zyS>cI+3Vd4VyVod5#!eh4mD!D<8<;ondeWCOeLfRCJTdp0FKr!gWy)UxQX5@0S z*{q5W`5sn3`V==#e(j9T5-pk{o%OG?ueZ#Hb8fKE)YxFT2a{q7pIE=izL6@i*GT>Q z7TdWsRPmhMCQui+4XFq0+brLA=PcdY*!>UoTr17(Tr17(ZI-`we*$Q$Ib@&0|1|jy z%WmkuZ{KbCbnG$vp(tk87xo_31?nbokWizR>GTHo9w4W zf1I;?i`JjBaJ1l@?tXnSG(NER(~m?ba&iAq($53X=cGoCeJ6Jr|fdYANKQiZ#v+*8H(Aa+(NtIX@OB z;p2*<tDx4cQ}`-50pRWOqV^m2Y|FOOPAg1+s-Z40`*;BCh&}iLTA|0?q7hO zUHyggN3@JH8-JuS*Jb0+X9iu{tUYjmDC0fri(LDyZqPr9TtBjLlLE>ap`R=F%{CfgJ)pYOmBPt)GdcNgCcnS# zW!^)c)O)vUn=-mybyvyXYu~aeInDYltC5$f4tI^bMj_m9A#4R6!oVc~ht>Ms?_*jA z+|fEY+gj+ZlRxS~=$qUZIIOnP-9xS^sd3jSp^D3a!)oWb3t&nwsfUdFO6XMA-vJ%k zt;jIzDR*C(^@_WkzuxTw6nz{oTKdLKBznC}{jpwd?0(X{UOt@pwOi(Y?e?8}X;h|= zw^XK(w^V*{GEZ76=hmu8>*a5UpL8#kX$rlMQFJ89{6ukTl2c?WlOM}008Nq_>CXk_ zNoBH8T#a0zitCcn5iuH*Hp-Fo)xaxjZwHPXvjNzU_Fz(td}G0*z&~1_fFv3iuoD?} z4?mc+MfUQ~S-SMn@V_Q)L%Yu;^{`P)-7PoQeh<}Qc)7hzetFbM_cnP?{z><4x#y7N z2RHBDq=&XbnnE zW_7kd*CE>Nmr4d2NT$744JzIa99H`RB;6}sOP*rO8}SzC^8?>Yo@IM-_>tsVF%VOv zb>s5%DNiK(it(2hV?Xh)zcv?I_J+7akVbsFY0I;x9jsX8s# z$CE3+jbOV}9X+|)L-Ns{bj8zYvzo5_kU{w2$a>F4o9@_by!~B&v69^8Nw*m8bD87P zE#GxH=&8k^pW@pTf5EqGoAOEZ*PeM6TL0!*Xhoc7p*3=zg;ve|wu2Qdwh25i0O7;t z8{zfVD2{@;)*8iEJJ&izGHyKAH=knhV()%sZ~02^1Wx;bDN>8;A5xt{t5lsrt5luR zjnH`i++c04HKsJC&NXtr&#AImc6X!oZ&>Zjlqu5sOXdM<2Q;Mgu-nR)ro`l<4on*R zCVwpD8op;_FA1Tw?DmxF;`B%3pD?1|r$@KQv{TxGQT~?gSH{=AoKj^UKKYH5)zaDS zp8-GWm5QBJXEc}G=)Y2GgV|{ne}a3h3(LJk0SFN_tR$;Y;whG%_2o+@7J1GlO(I;Jh_zQo$_2(bjS`2>6-h9pD$1KLbx${sKH>`4IS>(IQpauFog z$R)sQ<-Wk{`Va&#ab%j61Rqg)AWmM;dbl7|7;$Th%qaxL%#wC;9OWio6*3ro1$Y$3b}+ z@Ew`x!*Ubwh?JNX{qkMjLMraTCgm4|^= z<##}*vIUr|Yz3w$PXW`EXMmZ?4q!mp<%?n@l;^<&l^1{o%6?$6asb#@c?~!~`8}{) zc?(#n90XP?e*%tB-UHSu?*qpvM}QNQzXI!(kATyZPkdH3Q<;L!U!st2EmO$18Wr-b zW`%rfl>*<2vNZ}h*E)rq>kfsS>u!ad>pq2?>p_K_>k);VYqLVmwN)YKdRigp+OCju z?NZ3O_9*0B`|w9`(8&rp*Xs)T)|(3X)m7xB>##z;bwnZGiXKzQxjx1p`a&lw z6|DUG*^k1)qH4LRdO_^N{*JS zlB1=l);?u953iYUFy=8oAyGja;u*Bi9?Jk?T#+$o1+qa=mF9x!z2T zTyM5Ut~XaB*Skg|*Sl6D*Sk(5*IS~I>n+pB^%^yDy=IMEZ2KMcF!yT<;Ez zT<>m;T<<=OT<<}RT<;OBGjOv;ac!$caqVf19BsQsjJJ zXm4tj=!t{c6@L7ID(hU}b=C!b3p-=Queh=Atb_eF#(&(oL*_dqPfRx0W2rIuUiNI4 z6|w{L&Se@ODLe5M4j7(I2`#TWc-QE@T$0S}OiGOcXLcvag97&nJSLC@NgfbbDR8F1 zWBDX!1tL{orNEg28wKtYcuXKG6q*9}?VRW20q&_LQLLKG+9>FaEq`$F(gFL2Qo{bB zlyF?o#|6!Yk(>`Bd9I*y1$|u5$A|4qaq}nn#7gx#HKN|E8tNa_pf*hVjdicJziqH> zpKS(yXQi{_R>x+?vyKCfHyz`h_c}jte(n6pS>vjAt#s{kZEzoRXC;kGnv^sx>4l_E zlk$_NCpRQ7O^&wsllh5WUGSUa-B};jgZ0Hc^sZ~fF zij?6yd+E5Q9O@{bUm5n*68_zHEpT|&soY<~twoEGy0$P3%&md8E3 zH2qeH){K}6{JZZq;094#_4qqm9A17254T+A%upe&S4XUEx~bderr_Yn*$E`+4`Fmh02`2fSCyhZ($k%eV}_M4H1} zzRuu7YVueOMt3BBM&YLxKcg|yWAHN;KjZLIhfyDopG)vF0i!<=Ka=n?89(*-nF9Z~ zl=W|kbmDn@TFb+o_^9Y`Hd-CdE>VZ#ITX+Rd_6u!J#Wos>9%Z^V+*ha_!+GRkQQJK zkd0QSO7v{7O_%P+MaXD1TcmA=-gA&|$Io-NkdWVE53qHP0J{r6_u=Ouhh|B4X5*O+ zIX(wX1vI*{k(kZ;C2=|3W|2p$Elruc2nDn}lgYdB^*i6sKy0s5Q$3AqBt2GxzdftixhGa4 zu+$Z>fGN{s6<|SD&p6Qh}DLCc$m(V=+B;ljLb! zO{LnBxs=UNh*fmpLM6bEO%rXkTEU@F)W-V>HWF+i*dp2%n+RQZKtX%%w9*f{hKBPv zN4>s)Rmc-OrQ;u#L@s$&JmJ8vw>O^FV^HOi>ZU?>5bP${OR%5dm9~l^Gz?BBgt42* z$`x;+n=wdl$qZr*iJ+Yt{$wHjLpExj9$O%(PAdkpsZfvYAR^kdQID-n4k)nrT{p>B zystNHY#YP-J+Y1G58*pv@bncQCWfPLf*8=&^W~z$EB_}wZ+3h%-t(frH>NNJb|2SQ zd;)JshU?;ImPjfSI4eg(sFPk&x+2on?6)%ddV#G`7H7h8AE4JxXLT0tDvc->%2lr z^bh|K4fKHC#}A2J9&q)rg_ZA%HjO={rlB{XHv z>MPEnU*ABB8=puDsPN05AQuJ2XX#I#SRVNk%B22k*3Eg=_=FIy_{jl(S}~8ZKm-p4 z%1dRlbH34vdV zK|82w5^5CTq)AC5E_T)oE@#u=THsn9c$jzMr(2$Xn3qRS(*WwtC75L{7frs=W>h`x ziJjJ)OHIchM$E?MG6XCNJ{ThEG7J|cSTk;}6sS;582!E?+ok3GWcwJ8)5o2R$fHt{|=>5|(M`_hr>X-dcJ zIOS=|GKcdlwYn*_W$GqgCSN&J^R~>`#IvK&mGq`uy(tfm9{3*_;!~%o(DcJ5YP00F z1eikcP{BWnAI%H&=6OyEA5E!lG^cq1%s>H7ifE!Jpio>0!t9lWao29b_z546HkGJ| z^-iZ5n@aSiEx8m&o3c<|y!tjX+RRZ=V5(+G)tgF1YeAF=Lc-!Mq+WavVrxq`rDak= zYAVYC=8bZfh7tMF4U;SIL?fLv&P_wD0SWraUXHPDUP=&23`|o6`85^h#`=r?g4@Q> z;aT|IEFebLEjl|3YIeKc97B(oa!f7-&KxTfSm@WHHcwNH-Za|kiMc#YbtXz^hRoeg zSfMxHL~9{=3w63sNjLlQCh=&(o(R#ud9}h|bsj7LTJdA1=INT|X~ObUp~q^l_`_6p zz(NwZX7gG-8dFFS0+*&{S@fnU7|!VyNr5oSf-=D+1!TzGWN7o9;Ke-HU{<@q)s{#Z z-I&@`xr0kwKh}3-X|fZ?u)IZ4yUEv zDq&Hv(3TGB7hgDmD~pHhPL( zaT^sRg$LW%zHQV1O4!`SR<}_jqEy8!f{g^&`C#8d)E0s#h&@Kswze$e+NcR_RDByY zjg(IiVE=>_4A6Lx0Hft;LNF1=TZKM$MX|xNNuFwl919aIQBIRI*C-^$&Pu99Qf-O~ zZ^IVY)A(_lcH@zjMXkJ~;&l=qrjp3wrfmeYTW-Q`850*&Y$&mL1i5XM1`PZKql%0UmoZFd%L=M7Tob}{CS+iCr6eA8s! zY}xfJza|>@Pz)@@aG0T($`TwZjdWwBSRHB2C-;nDPLHP5GFF#{b;g=T2N}e9ga>TY zDPDSLkG$HAX`MvNp*YFGM9(sWZ%Qqsxs4rP9ukfnzPezLt{zTYh&N4h0!|FEMf?szQZ8}R0 zC4HIzQ5?CfL}3NQSJq-xsj{I9#6m_v8mcbQNwgN!A)G*$D09_=00Ew<|$%QG1Xj4kj`L1q90|32RW}b3A37%M!$%hXiK@7K(g_1zjp|i@*|r zq^*EL#|q4CD?i3ap{Zu)=g;xqaC!8~rypxswukpk=9QB!-BF%3;-0&n`rR!_EAn^l J+rulh{{_veQTzY^ delta 31260 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 G`o934ibH(> diff --git a/libs/DXHook/DXHook.pdb b/libs/DXHook/DXHook.pdb index 315e54c232c785dbb945838a3c3a2a72aea55606..9a521903e05bf489a73c934a7b3ce5f832cb1239 100644 GIT binary patch delta 34040 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