From 49d00d3d745c4268c2787e2b4847d63c846dfae5 Mon Sep 17 00:00:00 2001 From: Wei Wan Date: Mon, 18 Apr 2022 16:12:28 +0800 Subject: [PATCH 01/10] .NET 6.0 support --- .gitignore | 2 + websocket-sharp/AssemblyInfo.cs | 2 +- websocket-sharp/WebSocket.cs | 167 +++++++++++++++----- websocket-sharp/websocket-sharp.NET6.csproj | 11 ++ 4 files changed, 142 insertions(+), 40 deletions(-) create mode 100644 websocket-sharp/websocket-sharp.NET6.csproj diff --git a/.gitignore b/.gitignore index 376bdfd86..4d92b5156 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ obj *.user *.userprefs UpgradeLog*.* + +.DS_Store diff --git a/websocket-sharp/AssemblyInfo.cs b/websocket-sharp/AssemblyInfo.cs index c85deaa45..f9aa9c853 100644 --- a/websocket-sharp/AssemblyInfo.cs +++ b/websocket-sharp/AssemblyInfo.cs @@ -17,7 +17,7 @@ // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. -[assembly: AssemblyVersion("1.0.2.*")] +[assembly: AssemblyVersion("1.0.3.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 011dee00d..0436a08a7 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -1171,9 +1171,20 @@ private void closeAsync ( ) { Action closer = close; - closer.BeginInvoke ( - payloadData, send, receive, received, ar => closer.EndInvoke (ar), null - ); + if (isWindows()) + { + closer.BeginInvoke ( + payloadData, send, receive, received, ar => closer.EndInvoke (ar), null + ); + } + else + { + var workTask = Task.Run(() => closer.Invoke ( + payloadData, send, receive, received + )); + } + + } private bool closeHandshake (byte[] frameAsBytes, bool receive, bool received) @@ -1529,6 +1540,11 @@ private void messages (MessageEventArgs e) ThreadPool.QueueUserWorkItem (state => messages (e)); } + + private static bool isWindows() + { + return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows); + } private void open () { _inMessage = true; @@ -1551,7 +1567,20 @@ private void open () e = _messageEventQueue.Dequeue (); } + + if (isWindows()) + { _message.BeginInvoke (e, ar => _message.EndInvoke (ar), null); + + } + else + { + var workTask = Task.Run(() => _message.Invoke(e)); + } + + + + } private bool ping (byte[] data) @@ -1692,9 +1721,11 @@ private bool processReceivedFrame (WebSocketFrame frame) { string msg; if (!checkReceivedFrame (frame, out msg)) - throw new WebSocketException (CloseStatusCode.ProtocolError, msg); - - frame.Unmask (); + { + throw new WebSocketException (CloseStatusCode.ProtocolError, msg); + } + + frame.Unmask(); return frame.IsFragment ? processFragmentFrame (frame) : frame.IsData @@ -1952,25 +1983,51 @@ private bool send (Fin fin, Opcode opcode, byte[] data, bool compressed) private void sendAsync (Opcode opcode, Stream stream, Action completed) { Func sender = send; - sender.BeginInvoke ( - opcode, - stream, - ar => { - try { - var sent = sender.EndInvoke (ar); - if (completed != null) - completed (sent); - } - catch (Exception ex) { - _logger.Error (ex.ToString ()); - error ( - "An error has occurred during the callback for an async send.", - ex - ); - } - }, - null - ); + if (isWindows()) + { + sender.BeginInvoke ( + opcode, + stream, + ar => { + try { + var sent = sender.EndInvoke (ar); + if (completed != null) + completed (sent); + } + catch (Exception ex) { + _logger.Error (ex.ToString ()); + error ( + "An error has occurred during the callback for an async send.", + ex + ); + } + }, + null + ); + } + else { + + System.Threading.Tasks.Task.Run( () => { + return sender.Invoke ( + opcode, + stream + ); + }).ContinueWith( (sent) => { + try { + if (completed != null) + completed (sent.Result); + } + catch (Exception ex) { + _logger.Error (ex.ToString ()); + error ( + "An error has occurred during the callback for an async send.", + ex + ); + } + }); + + } + } private bool sendBytes (byte[] bytes) @@ -2549,13 +2606,29 @@ public void AcceptAsync () } Func acceptor = accept; - acceptor.BeginInvoke ( - ar => { - if (acceptor.EndInvoke (ar)) - open (); - }, - null - ); + + if (isWindows()) + { + acceptor.BeginInvoke ( + ar => { + if (acceptor.EndInvoke (ar)) + open (); + }, + null + ); + } + else + { + System.Threading.Tasks.Task.Run(() => { + return acceptor.Invoke(); + }).ContinueWith((x) => { + if (x.Result) + { + open(); + } + }); + } + } /// @@ -3282,13 +3355,29 @@ public void ConnectAsync () } Func connector = connect; - connector.BeginInvoke ( - ar => { - if (connector.EndInvoke (ar)) - open (); - }, - null - ); + + if (isWindows()) + { + connector.BeginInvoke ( + ar => { + if (connector.EndInvoke (ar)) + open (); + }, + null + ); + } + else + { + System.Threading.Tasks.Task.Run(() => { + return connector.Invoke(); + }).ContinueWith( (task) => { + if (task.Result) + { + open(); + } + }); + } + } /// diff --git a/websocket-sharp/websocket-sharp.NET6.csproj b/websocket-sharp/websocket-sharp.NET6.csproj new file mode 100644 index 000000000..eda642af4 --- /dev/null +++ b/websocket-sharp/websocket-sharp.NET6.csproj @@ -0,0 +1,11 @@ + + + + net6.0 + enable + enable + false + websocket-sharp + + + From 62681a5d6c19d42fea36f02432f6de3ff57e0de3 Mon Sep 17 00:00:00 2001 From: Wei Wan Date: Fri, 14 Oct 2022 21:04:13 +0800 Subject: [PATCH 02/10] fix build errors --- websocket-sharp/WebSocket.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index f5daad278..ea5118232 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -1242,7 +1242,7 @@ private void closeAsync (PayloadData payloadData, bool send, bool received) else { var workTask = Task.Run(() => closer.Invoke( - payloadData, send, receive + payloadData, send, received )); } } From 2b40a3abe503f51735189f77f7474fb8656cf47d Mon Sep 17 00:00:00 2001 From: Wei Wan Date: Fri, 14 Oct 2022 21:41:58 +0800 Subject: [PATCH 03/10] nuget package --- websocket-sharp/websocket-sharp.NET6.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/websocket-sharp/websocket-sharp.NET6.csproj b/websocket-sharp/websocket-sharp.NET6.csproj index eda642af4..62828be18 100644 --- a/websocket-sharp/websocket-sharp.NET6.csproj +++ b/websocket-sharp/websocket-sharp.NET6.csproj @@ -8,4 +8,10 @@ websocket-sharp + + websocket-sharp.net + 1.0.3.0 + sta + websocket-sharp + From 60d8f4aa9fa2473b4107ca525e4eac39383cce0a Mon Sep 17 00:00:00 2001 From: weiwan Date: Mon, 31 Oct 2022 16:30:30 +0800 Subject: [PATCH 04/10] use Stream.ReadAsync() under .net 6 --- .gitignore | 1 + .../websocket-sharp.net.metadata.v5.1 | Bin 0 -> 147667 bytes .../websocket-sharp.net.projects.v5.1 | Bin 0 -> 86959 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 82258 bytes ...1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx | Bin 0 -> 417248 bytes .../FileContentIndex/read.lock | 0 .vs/websocket-sharp.NET/v17/.futdcache.v2 | Bin 0 -> 133 bytes websocket-sharp.NET.sln | 25 +++++++++ .../websocket-sharp.net.metadata.v5.1 | Bin 0 -> 147596 bytes .../websocket-sharp.net.projects.v5.1 | Bin 0 -> 87023 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 82259 bytes .../websocket-sharp.NET6/v17/.futdcache.v2 | Bin 0 -> 263 bytes websocket-sharp/Ext.cs | 51 +++++++++++++++++- ...NET6.csproj => websocket-sharp.NET.csproj} | 2 +- 14 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 .vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 create mode 100644 .vs/ProjectEvaluation/websocket-sharp.net.projects.v5.1 create mode 100644 .vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx create mode 100644 .vs/websocket-sharp.NET/FileContentIndex/read.lock create mode 100644 .vs/websocket-sharp.NET/v17/.futdcache.v2 create mode 100644 websocket-sharp.NET.sln create mode 100644 websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 create mode 100644 websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.projects.v5.1 create mode 100644 websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 create mode 100644 websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 rename websocket-sharp/{websocket-sharp.NET6.csproj => websocket-sharp.NET.csproj} (93%) diff --git a/.gitignore b/.gitignore index 4d92b5156..a59302a23 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ obj UpgradeLog*.* .DS_Store +/websocket-sharp/.vs/websocket-sharp.NET6/FileContentIndex diff --git a/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 b/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 new file mode 100644 index 0000000000000000000000000000000000000000..c55088cf5cabeee4e0e47a23c1931dab22f55989 GIT binary patch literal 147667 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

1W)UOo zV?o#vM(9pYrM>$ z(^TJevbn3ip`p8>`DELP-jiM34?Z5$jm$~qX6Q7rhq{%ok2M~M!jDQPJ69XL42peGUk&Jw za*3X-JUasHAQTkpJ?W|3K)QHwW?IuwlXxgi2M4L9ILYM=7V^E9IpKkenUJOEWQ$;q zlPt<5T<#IG9#bRS+nDr9nw|dZA^4eq|CPxtM@K5lBBserLirqnpt013S`f-t_3NVC zKoOTUnt1OkBb4iE&J1xL+FSM1DH4RH&kH~*Z9R_gqKDqFmZ5Jf3T41(4Z_;C{VaSF zhmKaJYJx{awh-jw6(8B5W}=gpMu*Gjzdsoj

Rv+cFhpM(DX@FZaxW_Yf6034Z?l?S6Z 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 literal 0 HcmV?d00001 diff --git a/.vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 b/.vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..b5c0fb4ea6f985acf781ae31b66feac2eeb5d1de GIT binary patch literal 82258 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 W3Ll5ou<7tIqlV3dkJ_3u&-@?V^!_*i literal 0 HcmV?d00001 diff --git a/.vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx b/.vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..963615fd9ad42371405cb236f603091b88a4f12d GIT binary patch literal 417248 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 literal 0 HcmV?d00001 diff --git a/websocket-sharp.NET.sln b/websocket-sharp.NET.sln new file mode 100644 index 000000000..d26d598ad --- /dev/null +++ b/websocket-sharp.NET.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "websocket-sharp.NET", "websocket-sharp\websocket-sharp.NET.csproj", "{DAAA6D7A-454B-453C-836E-5AB5892189A0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DAAA6D7A-454B-453C-836E-5AB5892189A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DAAA6D7A-454B-453C-836E-5AB5892189A0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DAAA6D7A-454B-453C-836E-5AB5892189A0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DAAA6D7A-454B-453C-836E-5AB5892189A0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {386D1E9F-5E7F-45C6-8CFD-CE2A50B9EF3A} + EndGlobalSection +EndGlobal diff --git a/websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 b/websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 new file mode 100644 index 0000000000000000000000000000000000000000..9c97164a859007d3b9540fddbd20cf184c637e28 GIT binary patch literal 147596 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 $n9G3X+!(t5KZ8GQ|ddKKZItFmZtTL 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%0A% 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Ͳk)~O`(2oI-tR%B&<+}3p)x&Xy?zW%tg9LH#XS%r15iL;bfXP zQVgORE1w5%O1Rq_@E0VXOa@|I{-Tn`NFqY9b;*}xzU6tKa>ela5?C`jiCXKKU;_3~ zP8IaaKo=TQpIc>xrE;(FxqJmYu6~5e~~7$QsV=J7CbE)wH?UIAgGe9keRdcY$*> zr{GE$s;pS(4p!RTpiDE&Rn-NQ-tP%}rWn%=0xhBI;~wDt1}t!4!(hg5-iv*(*Sc&( z)k#oNW&H?5vFhsj77qU2;>W<4!pPK2P$H+F_kEIwspoJDNg}1F$eO_!!~Gy)dpGNx zeTY=|Onub-6JbRklWD*ldCH----lJ-!Atq4AkOO4A?`&mSwF~0^cVKpRqtoO7iYlz z@%M8u=Nilq3m@edpq#01BL0$}BV`%XpTFWW(5-di10*^%+>9uztF@QK$@kY_w4zgL zEzKHBwDKj{>H>AT-DU7TO7Pm@gYenf06tpveF$#58o|v(w^qmSziALtT~+3dn%}~- ztpSpnw-508(@`vc2jATd;48YYJP&Tz{vNiCXeJyYnI!)Jw;c@-(kR_|{KWp)AeOre zI2-7y{1Ys%Xn>S90RNxicUc4YsmpkOff**Sz%8$KF%y_WDY>l03vcSU^RHkoK@*kp z%{_fw+3!YS@ne81cML=JH&7=tGnmoq&yRlxU<~tSPLmzKOzm4SzE#Ye>iq*Web^u| z2JpPpYmu@Jm`UNEps1ra4bo;3_(+!j0;Wy}BGzbghW2koDu^3AwQ?(mPmTK@U^sAz zDa8n{mdpQ=%z~dUbtz{!y+zeID=i3KLq>^y96ah12B(oa)-EMG`aM>ihmo{0usP7F z{y9frH*J3+qr2CW?}35KQ`+B+tUGS~|3u z_uzHe83oQ3ISjZQefbwfJi8UHVAw2(_oj}vf^fq@R!4!3+|Kb%9B+im5Qb4pj`G0Y z-!l@pGPSht?@=$#?Jst*3UE83>MsMMKvIn!^q(;dMgyBIw}^~y54sIC707K22+F(_ zY}m0Rwl?7I_c-{RzI^$)@nTYjNml$`;&4T>r2hr*SGz&Cqk`k@)7W>)5(! z^MN5J6&^VymVq(xn}K6BOLtsk!xap9)dR!+bo;U44UXzE$82H|njeiX}q__qq2+9XH-hQ6JxcTsbs3p|E}* z{mva978xEJli_6J(;$&)V6$gtz246@&Nj5|k&UQxj&#+H!HwUYjcr`%;J>Z6X@S*h^791P?l14T@z6b0df`iZWIF|N4 zFC1^yt$=14(6nX(RQRv``!#A#IJI%7hdlFfGp>JCW9GZeu_tl=`fQ8eb;Hxu*vrSd zm#deWnt`2VZLW?|!V@vu>xRDm&IeRZkBQ}Uvct#BWwuCm#56RL<(+SP?<4;FxVwkP z!+M^q^z2}j3%fhcWot(G2CM|p0>#_tWb>BwAoy&It-5Ngja-`^cW>Cp8lM(oJ2b!E z*7FS2K^h;H&7K(f8^vhV4pL+;TfhGgL-96!pdQ)KQsNt? z9tKjXpe;{a4RAfBAq!+1C-udyLMW>E-dmrg*2l|FqIfL$>K(JHj_hcQ^VCKRU90}d zg1@`$l?HkfhO3wwat6~{k8S&PU*4u>%Ek{|f8T5Sjte7ft04ZiQ)64ys9E8n+mipd zLu=tDv0etARE=)Dg6A&bD5|y_-0{Z?zjDhx!~e%GQ(Um}Ce^{aPNIXG5(Rpm9lznI zxVG6FZ)35W`KaTcZEKtJDerK4@0Hx)#=b_ITwc(~f$s*4-S^qX&|B)5$wgV+0x(-c zZ2Ows5f#q#z8n6qNvUinZ5pi}E_>;Uee?FhHLpH4yz!PHv!e@me%O-P0rTjF z4^d-X3GdebH;>vq@lI`WYwW(zYFr`PMDmh#GJRGrOzJ?oL;rTc7Xp@lbK(~`;u|vj z2mN9nICbYZSq6gtCol9`6ItUQIG0)3x#&2Ht8(g1G!0}ex;0G$M@-=QdfwU`^3tZQ z*U;{bfArd%YMD9F&KwOr(ehXMus)W0mSuyACLZWtF#Q5`px^ij)w*q@w|Cb0PtErB z=v>@PtCWk~>8r(quRi-;tiQK3VsGQ>J+hRi|vvlJ0yVQjoE8{H^` zN)?|XUAJtAwNVyqmEr#TwLXwIO=j~GKW=(>k3Mc1oVWL^a?$t^YOj?>J6KjPu4_sy zW=*JOXSbJLY&u!E%hx(}7JGiid&?u&+^!Cy8}HSrHWW!up4%3R+jr}>1)T7}+`DT_ zcyKm;kAp4{uyux&QCswz8moCFoVy2)Gy)wam~8v;J16uh@2$A5>&AXV7SW*p!^*w- zBqPf#a$=@tv+jk|gZL)8?w*!1=i9r&(%8xGFxsX*HHxf>HKI>2A`9Majp$tVtkQLX zI*%++l+slDzrOEgrP{yfe<@#N*BA1y+WjT%zZy4Ex>`7)fe^D3TGtG9)@xetNiWuC zyQgt=KwOOKe6BnFscvC3THVmOZbR=t>#jX~tN)GTzu!7?-^xjM9vl8Jevi@DJk7g3 zLlwzztFfJ_X@`T?5UEbtOXOG8UuSYJB)#5p_K9;fg-r3;9w?RfWzT_VL~~_xF9@|L5nu%h_wMwV!>SGu(5}9jcaVSgl&MTmgT%T%mfd zP$O5UnJd)F6>8@Sb#jHexk9~Mp?T- z*2AAh>*op^;7_9sbA^rghxNgD8|Mm}@Gpus%@x|>PnDbH3Y+6kqb+iUcKFk%y{tx4 zjXLBCTjEcnt#XBq_|s_XTwxphY1AoK=!`#&w#^l`<6ks-mt0|c{zcIaiQJC4!lIqz z5oH&3MX<9xl<0G@=)SP1V_n3iK7u5BM&8x^@-y^94`-53`a0R z9!i{m;6!;SaT0=)<)OqW2u_uU5~m?JT^>q|L@-JoN}Pe}fWUqQJG7+$EL+(is8R#5H|hLZ1?8?}c$I>369c+QTYCslY(+LGrUDX zxmy|Drl8#I2zkoV-8Fv);^zF*{GF6fRZ#9OggE!sDc9W1^fU$4+{19Xf^st$&QwtD zUWVR$-v@4O{;B4EY93Hf?m>nRDJb_a!$%a9dz9g03d%js@CgOwo@Drxf^ttYd`3aJ zXBj@HpxpBeUrZPM#v|g@^yWM=~oq0Gl$`83d+6C@C^m!-emZe zf^u&MxOd3SRZ!hLhVLpU_g=N!Qv9dUd?w#lP;Nm&v5?6R6jbpc!q`(y{v)P8R#43+ z3>PUVmuI+GLAg&Eex{(@=M2A4Q0_~HUnwZ}HN$Tdl>3(95`~CEfa{DLuL-aiU2oLT zsHR+Z)Y2%r{-~o-bRAMpqv(31fkx4FNkfgI>yvV2be&QjMb|4$R2f~jtg2CT{nAt; zxsE9`*C_uTn#FYxpLBBQpE2H0%KJ>bF~mj2Tj{&ItWvkiY&%a!4n0iYor0i0zh%U4IPVwaKF7S~{5 zsa{j7m*v6PhFUb#R*-he^58($$#JJ_-=b@mzE9|`QZyXyOdu5ZjHd;yf^FW8gA9t1`Wsf_lJZdYUrbOhG;1GCj?i zZb4}2dIN{Jl}x~`okw34J4Va$t(jY$u!b{$vp40M)UHKX+Zn*whIPC>3$ZP3!@}z- z=sJV54eL?6zJeOS*@g|Mm0fW|*FQMhun`R#6E<-MaJFGnLf?L9r>O#Kd?9&x6AM^BG9 zQ@@j^M~uCyYxoqrGjrV(^aucF8+Ji;+{bBBe(ptVi+5#iHwCQ@&Nl4MTz3UEfU^yI zFt?|I8o=3x9?bPr;DseZaJW^&r^4P7mp#*?{Hc(K`CiC0#sBwqhdUU=#&quE%{^jU z+{+Uq4vWk3y_xAl*jGW<6_>h6B8n zMr?}@^u&m5@j=Y3rl7rpvkeC`H$XuR;B3Po&M?qTCpg={FF4z9tk(`=TYQ`+Mr@0ZXKpxQgxfd4*@hFCJCSgbGk`;Ua{8&F zEPo0!rxH#hobEi}5RZ&JZ!~P#wc_P%S$-6AXAsVG25`3FEapZl=q3PX8^#0-;B3R$ z%#Bsh5y07obC?^apayWZ;auj2jnY)@W#kB+uap3x(EPo9%*Lp`a;!OQ@(7XHkq6GuT^`WEm24-#~+@zqZ0S@HN zX%8pr7Upgx+~!sToNc(BxjP7VIs-VwQ^Ok+Aqt<{nef`3Gkk9%t?e z1vP-P4No%nl!9Kwg0n7SpQiE|1(k!d!&XT`K zQTeih%E4Lk*;MvaP&qhD{z~-P|5dlsfIxvc;r-w>)QR7UKn(HgX>nQp z4QAfdKFacMxdFf-^LE<9bN_%v{AjDpGJDKTS8rsr`((&lPml z!P$l{nER6Om1_x{ZTOnGZwTKy131LNxmv=^cZBZ=KR6G#Oiv-&XUm)cgk|`VnWc#f zengq-pP2S$7M$hznVDY#9&nkSWlaA{_|2^eIK;n)x8QQ`=tFD`@CP%0dV0iRJ$H}4 znDf>e9LT`oO~c>JjV4s9UViHY9O7Jc-gwyL==+=1nGt&utX>_tu@nGw2Ly+>h8U_f z9y4(9jWI(_yg?Q}+aQLxRwRzU?Svb!tX;>`BewK1KXpAlV(9Co>vMJMdt$_319MZB zZ@^|&^7M$qdKPc!i4oi4MxGdPSd6zL*hyngk2q7`gr-##bUT5|^sGv`xA%a{^sGit zQw1FdT-d`|YDR5yLJPOYfwK)Qscl7Q?F`@$uO8mWYf!r;VJ&9>XB*b0)?06IAOm{_ z*I^wR+7Q-tBY+DV%JS<`xjtb71)V5xmS;mMH*%hh-8kSfJ)6+8DWR?NfXno3M)~H1 zEu05jrl%d{?Fk*62VACSOUk{824{J;qP$~uysyCz7|2-(k)__6>TSHk1aVl;&DhBk zBeunzJuzZiysaljY>T&J<6Q{byO{)sc!%^3UY6gH%AE*Z2|GIvIK*AV^TrEzC+~rE z^EyH-6?l?gbe$*O#SPT0e(Bskl!C$&8YJ)HrZZP<(2 zy%ls917{odp|+QT8o=3x-qiL{Py;yIu&*~mh;8wHEbJXn;6Uy#yTJy_=TA($v)DIa z0B0Ne1q|S9Lw_0$P|y_y2ePZQl-k)2q}IEn1!o%$N}Lf8+0ui($wX|62e6St2m{^T z0}k;Z>Ae2Q&kyS~YJOduhnOvDfy2g*sF7_lur*%KqS#iy|4Qx$Y7!P$n> zyy}Q;@#!o)QbDVOvkjwAJ@&y#d6oqiHsGc?OP@(Ni!ju!l$FdDMD`0635%WH;S*x_3T2p9b%I4$d}QK*NO!+7dY1a1pf^E2sgS zZMcNmOBK`r&Nhsv_A&)EfU^yk2MpkB!xc14P|y*;*@i2ry-Gn1;B3Q0Y9}eE0i11^ zOs%)2!P$nZX_yiL2EZR~d^0?prfc0k2@dgfvb!wV!n-iK-a8Z#O9fsb7|NpOg7la=h=eqfK*6`#;7%iqqY1>8q>Y7mI;6m^&W zo_Z=P-$l6F8Nk_wY1H0BnC=YV5F2mb&Y*TC;a+C|XB+OL_I|99JETEq~3M9mKZy^;B&zw)_pRHey@+Ca1(ZYk{*3Z_yxkuJi788#vqWHrn9_ zgWhp71ICumWqo<0q2k^?INLA}_1hu+uB#8mmcIx2mPpTcaxk|1eYUfJu+SO6*@h3I z-SR`H24Sl|V&#tspEv_J+pvh*JYlgjfU^ysQu`UpP0M0ginYd_2WJ|xo z3aQ~QI08o=3x0<~p?AKmPO zvkgnB{fY3iGk~)Vzfil3@T)U`vkkvth8iIKyOV>l<;x-Oi1Z&$4#t-M$xi+v{Ot_j zY(upg$ayCqaJC_bFVn`iFk)L=Jy0E-ZK&Z@M{J902C9Rz4YdLWaJHc~4Rr{0Yn0z{ z1ZNxS)sR~Ox^E(~rS)01fr1*qg$;P;fy##7^dJuF`JCGb;^b2(n6O;SugozTD`-pL zEKd_ES0Q*i5V%aws`RX;pyPnc^faZsnSy%2g*{yT=H6T(w#6+xF=AWXl3jSK49+&R zqM@~d_72WAtWND3gf-oM2hKLEMeW*zb({g5ZD>R7x`g$d0i11EpV|!w8#)6x+prO} z8!PBagR>2rP`jyu8o=3xw%BO=&U^WhiP#oz#=_o417{mHr{N|Fws0#9&Nj58;Z_RT zI|De|(19lle3`_q754B!wOBkb%(z%aTF;Or5)1q|S9!!7{>INPvm z;`soPE!~Z^y&V*sZP=ZL?u0$u{D89!ds5p&LFWgYZRknuUJ7aeXB+mWb{_>bfU^y~ zsO_zw25`2a54GMpfU^zz(y*U`jsVU!>`!f91vP-P4gC_^7?CaQpO7N5r3WOWh-~SB zZ1y0+!EQ$Yhj>5@-iWH(W}V)NcM%Tp&J2j{>H}GLkb=$!INNY2JIDI~t``ut`Y>M& z!d4GqABPi$y7J%<50h0*+?Zh(M^JmDf_4uMq;b|cirS+I$G8!|*@k1OJx)PK0B0MH z$L!;`Xlj+8q7d8S;Vj&MFv7J1&NiIjZCk{)_(T>yNkMxDXB$qY_7nv*fU^y!QhS<$ z8o=3x)2SUv80A(NoNYLR+A|e&1aP+DENZx3fdAl zkj73oE^)9UvZd!Hq=;0M0gC zO|3UQ;B3Pb8m>{$tp(0DTNgT@al@;IU$NMH!-WM1I95Tj~-XAc4vkec>@SuXuDmdHl5Va2z z9&xJy&Ne(s?PCf$0yx|7c;cLb$d*3AvQH{#ZE&{XDQcf4Jmb0thuGMupG`D_$gcey z%RaB5&49BFFHrlUf*QcthFR3Uq@V_Hw&7)JXDg@yoNag|vAT$C>8lATB3n9#9lWNX zZGf{4uT%Smf*QcthBpHSaJJ#CME8hn>D#RRj)FD=&Nj@Yb{^qfx08Xh4ewDqpYXmj zfU^w?oME9efU^xBIKzj|0M0gi13268i8Cy625`0^?+lBb0i134l!ng;pF0CM z#9xG8SbRzCOu|>r01mNn_WYXKZwTKy131KiQ#7B!mQed0;d^HQXB&R-o?;N&;({ke zY>Ug-h4*{}&Nlog)$tt-*Etwl{!>a0#+LsaXa}5a_{ABPxrV^mhF@v;jqtlOfU^zD z-3XW_J&wWIhCc!ZaJJ!3Z-XJW#eaEX#J2cvPmI_WSHmxw#ozxyY>RU>k@NN&aJHd3 z4K)ZgYnD$VINMN*+S-IV&H&Cf)TOo_p}sSKvkeWX_0|ELZCEK_0B0K-1`ObALn9hi zCNy^I0M0fvp>`Do-8;eAhE=_-jMx^h#==br&0IU+Y(sNuy(tA}8(PrNQbGF%XB%1t zMgV6US_cf^Y{Tl_3?a6~YXqu;vkhy~uohu$H>Kdh2ECqNhjKY~+Bgrmu!m1D>w2qz z7_9O1wI0N+kzU``27`Emn!Lr>Zt{%ehnqHJGaC^$b_Q^WHxa|^UFRl0JH08jZ3&w> z1325TIkj6T=sp3?HngL*y@DFR*@h0(Zb{h6wFJ&KbfnhXuff@dt!eN+Z3E6WY(qmQ z1ziVlwxP3bwr$-SfU)JI~p)!*0~>PU!9o;B3Pl)OtG$IFQCi`S+y3+gZTbh8{HZB<$r{0%sfcrgk4fFJ}N} z8+udQhp?|RfU^zzQM*5(uQPzN4gIL?PdLCCz}bcasU5&8nS-1G9Ae`vaINNX(4M!{J%7U{E$4EP6`D5M8gR$ku)s**rj(2JhwtBd?u83{%2v3aI z7N5XXJW)Z{6P#^0iQ1D1r?}q1AwE@ho2Q!2o1OU5)M?b7uAn1;vkfDu9Yr|9jR4Lz zoJnntZLS?y2cYDw#C)T@|q{ zelpNMINR`)R~@k}e%kf^jO!g-*ie>#R^;9Q&)NFtsegg+qJnN_aN#ldB5js80AjF# z-x9%RgqeBC(<9E*zwGG|XXLfSGcaP66Ux`1sC>kg3qd({!! z;sq?cknn-44$d}wNUb;h;KBy{AQI&t6Fwmid$^7B)Gj7`>I~p)!)MffPWZwZ zz}bc`sr`!ZwKIUT4c~aPir5x^%fhSiNfV$)F*w9aLi^}Q_vB>*@j=8;Wsw|INR_$4a*gD1aP+D z4{HBZPy;yI@Ru|E?OFn78>;cUWjO^M0i129?hG~D=e)q#hMF|gBGh&UaJHciwRH*g zoB^C|s84MJ!b;8n4zY0-Yv>G(oB^C|SQ(#ci@!C1*cLbT#E5NilUnl9auwGH2wT0X zR~oS`UX7*Q&&eQyv}rBg(@Z?k@Zf5ekRr0B%@a~YwzP%UEn-{TlG~&ep|zU}aEOh! zDOaa<4Z@nv0M0h7MeW*zb({g5ZD>R7x`g$d0i11EpV|!w8#)6x#2ba@ePe1jA#Cal z;1IVB8#beMbHWzR01k1xu%W%T4G=@zAuY!JV3ysA;5|u#%k*^g#z35@-x~V0qkqs! zeuDvVrhXgt)QQm9tu(l>hr9E()NV)U;tb#rZy#Fm9jM&VTM5KqcS`FyKvz$U*cR{X zi4oi4ZtP_j1w9{wvkkjayBlG5x31u9Lw9QTAnfT3;A}$=uYbh0xThyZY>W3|7v9bW z&Nl2#!#;#wu6J;@p*OXCWEf`v2XepgmffG)z6v`3;A}%bYUPcN{%!#}Bx$haH_x!$<|~2pq^!(IkDl zZrzoyToC>46K?5Jc_!g31@(XndpO8wYR4$30UXG)qd^MIdb&Yq7#r;z=eW%P0(9Ww z4fl0f_gunxg!7#T9O4VY+xkLkFH+E!z}be2sl9}7sT%T5Z|fn>)L%~1 z6$;uEIFJ*fwK%KOI}c6JpUA=owW+*{FpHXrt}k$559fB0*A!w~Jek$6CQNbF!G#U@ zgf^Ae60TFwwE!3Pu%qj}ju6}88$2;$TYMwC@Lp4bvkf=VaI=E;4$d~*LhY@D+uQ_! zvkkXXdxwIK0M0htNv(HCgR>1&X}C*4M*wFV?xuDc;U2dR;B3QmYG)8;Is-V{a4)sq zI)Jkc_t7A~T8@{hx(?uM!~HZoKzPu#1kN@*MD4>7U;zA`7<~lb5xB4gIr;r}n;@iHE>@puJ~S6OAQR^gZ77so2% z2d3*wl{rwphR5r8yn)A?c)W$j+jzW#$6P$-u@Zjwy0$pp1@jGv_wfJuc)X9t0xI^Y zuIsuGOt0#=?S}t<$jnEv{y&Z_e-c|>6kE>6mKVpCKaDMa7F+&2TE;6uj`n3N^Hps5 z>)7%)vE^4{^YU$sUlLpXF1GxAZ25=Sav`={7F+%?w!Ad9{8McC=h*TuvE^m4<=*%) z3)upFcy0J=E!~5D!z};K_2y6WAdfcWABn0Z+U3apfybYC^h4q=X8(>=tya5YKhDLL ztH+jW#FlHumTSe9YsZ%B#Fpzu%eYrl8za}RovSN-HK-jO6D#5W<;O)sEH}bqWhxuh z$kj zj~cSV>>TrSi!JXGE$dd=HI~^ew!C|6xqEDRkJvIV^Q05m@Aiykdc>Cbq%W$TwdDkl zX7`HHSlXMt!_Fr#??*bd!M$tq^J@DzM=v^hBgFr_45mVG zvD}jw<1*|&SRBl_aU}Nsjb4}J1&)Xhqj*Tv%Sbsis+IryVEE*iCV3n|CjYX<;f5Bx zD1bw`ILy$27X|PLE*@#A{FjUHtb2A^p3XhR1+(daRT4*ZHWdaO|xe4^3g3?2AH zqsJRM@GI8nxM-hB?Iz$8jh<)dz$Y3VZZryh#Tp%96b7GY^aMi(KGEojh7NqX(UT0Z z985^Y52nh_=*dP+@QFr?n$c5?qS7dm|7#j8W=8)cDJloKL7e)CKm(1x{LtLKZD|*<9nsBQo_>xZeImWtxuhN8%GwOj) zO!&Em4tzA>xZ_)!@4^RmFL}*|Y+|FFZxob`f+TN{p!9zmC3Z{_CvF$-ztCXv*<<2xF!FjZ)dyS()R;Hp)0- zT=0nti~rHrS(QCf{@W-w;d4Lupi{+>^3N9xrGB0D-^PnJN=c3=-FW}%>#X>FzRGUA z%D&FZJS|n>bXeKfS()R;PKT9!oprr&+5{gxM^*Lp(+x&p@QI58>(U;4;-Vn)bxdr+ zGj$`;)PJv^D&7K>3kS?}{Dtq0#)bo5r45()IwrQ^GIdqhaGCX@Bjx|E7rr+c8xDMx zHeBZGnAnEP)Ky`_W!C$@vf=QWCU^@Z^!n*$Lkm8!;jEhA6Q{~sjC$Y`ub*x;bl|J> z`YChVXu}ot`sp^KKk%i0{Z!eFQrS!O%*lxzO_kj!m3{q`Ic{vDj58)1eB$-f?S>9~ z`9}HYOZE6gMKSMF{kKuVm*D@(Mk)2{r~fuy={H`tbWxBw zZtVG|vL8&rlYj8S3ViwVPq&iYRIThrsq95T=H$eVg34}`%3c&?jvL!3c=8WUHu(QN z7X|-ql+r)1TxjeF;M1Rfz~@tfdySmtkc{7L_;2Hte&dzwqM))Hud){fnWv>HoDM5{ zQ83NeVZoRFqTn85a5-9#)DJ4l=k%r8W zn@QggqiA`O-&BLFvL7hCmo@J*YJ$gaCL)QSLgZrR$7P{_0d8|PJ$&=JQWz+*Nit=NqyyxKNEKkN)s1nCeQ7e>r48>OHX=8=JCsybg z#@5-eJjrj9)5f)~#1=X&t0u-Ozrl<9>Hn~WqC4(#qxD&1g}^5+-=8yd;LBfAJ|p<6J|*2N#;eyvkY;0l0PH>*-O;EY-quY0yvwC`bEUlt}Z_^14W{NSB#?40Fvos@lMt zSq&f=Z(xF<1z+_|P|QyFmeBzCL<4UdI`DFwB#we&cEWdz!r-gkKruVvT%!T-Rd1k} zop7Gf0QjmmP|QyFuF(MasyFbSQB=+Y@8R3n@$>flEb;sb@xJWn{YZSW97yhGHSwi= zCKo`=(pc=pxOXJZ`o6yS7M7yu2c;m!jw=r6{_n6h-r;D7v^5ML#V? z(a%az^z%{_{h|~_zbr-3uS!w$>rxc`rW8fLEk)5Kr6~GcDT;nyilRT1qG+KMMaxQ2 z^v6;ZU0RBwKb4~B&!s5(ODT#jD@D;?OHuTQ|KDT>xBMbY}DDB7SDMOP|C z(T1fc+NcyoS1v`-#-%9Qq!dM0DMis$OHp*SQWR}kilWU*QM7p}inb_4(Uzqs+Nu;q zTbH8f>ZK^UMk$J}S&E`-m7?g{r6{^iDT=l!MbULjQFOgh6kWd*MK}1Di|)fWZZyGKgkIY^}F`eCmPVt z!=)MkpKbvELU(X`Ndrj68`#}w0DPhW{rp<00r`Ys>^#t&zCDbh<;i#hdm38si3WNY zI`D}ZkTH51;__s?fxQeZ_(TJH8#?gm2KF(;(g2e226`D<@QDU`8#?gm2KpFcX#mN1 z1N$0U@QDWYGj!n74eW1-r2!=44fHj%;1dn>Gj!n74fHp}(g2e21`aT^;1dlTXz0MF z8#u@iO9M#88#vg|f=@Isz|etDH*km{mIjcFH!#r9f=@Is$k2gLH*lySmIjcFH!#@H zf=@IsJ-QN0oru6E8aRx;Ax6>iWW0gH4K4UY149iR_;drq46!tTWW0eR3@!LX14kM< z@aYDQGQ`pVlJN$PHniXq4IE?Wz^5BH)(}erNX8pD&d`ESG;qA31D|eSxFMDXkc>Al z!q9?GG;o5U1D|f-L_;hMAQ^AqBtr{6(ZI=u4t%{$`ib?}W#v8cU(1K4iaEYMHM-k^{%b~TEI8raRyf=@J1*&7rxhINA?)WGgW z1K<-4RQ3jijIoDNG}OSJh8BFHfgXkqeEKNpX^2A&>}6=dCmPt>(1A}ku#X`QHPFk@ zf=@Jn8xg^s6@0n@>jp)rfqjj_;1dm0_6CKFvA0fr8Ix`9Isai{^@hzK?SKGDD+LkB+H z0PaBqi-sB)Y-qtJ8mR0I3K?UFQ8d&5ZbSr|1)peOsG$R&o`GS8IMl$ueS<>AII4&S zjyAO56ElDt5y6=PpPqqZ4RL4&jx)626Aj=-M6dzy=>~=y;!p#)5fLm5KG8sBZ&1h> zCmKaV4gA|TC}a%Wg9xrwsDV=rE%?L?;6_BSCiwIwz&(hdIMl#MLkm990B%GCYl2TV zfO`-@aj1ba4K4UY1Go_ptO-8d0PaBq#i0hq7+Ua&1}b}lLdFxr++5?@y#zMfO3zv^^Dv<2JF>bzF;<7zI6*?_DAwKqnEQ(ExRE~GOj-nXL- zcvDn(#PAbuxLN*v5|@k>e%;W5PZxeC65kvZe(jFA`^GwEGFJE&oeEzIK3(|MNPL?w zmX4W>71n(@r3IfZJU8n2_TW@787usjp#`5Vd`HxA>K~(*j+u-V)&nY~1)nH<-0f=TSlJ`dEGy~ zXwscAB)&V^CS7If7F~DuxK@*8zt?0^JS`IMFX9cB&z~3BmiPfr{9u;&K~MZpmiS>${75n4 zM~e|ZR*d-ZV#H4rBYv_N@l(Z!pDsrHOflkTixEFpjQIIt#4lutU+{LM7qi4Kdg57G z;#r>fr7ZDFp7`SE#5h7uU)xSkp1xl8#C?hp&yL!tT;*4a5x-iDcupjq8a(sQ@m7!@ zL&mekgj({Xc~+-)9-2^b<{w$zo%vtmbIR*ct6(i0UBVJsL_|syH8(Q$`jknwo%f|a7S-7aF_%o~U zUn@}f@2tYr>L!l7qUJaUFJ>rwNLNo5F6xl3kyW_n3KXuDRk-#F6t0t1xb6xRu9sD~ z{t6UskX3l46)4;=t8k+gD7$z-!H893;+GXdT;UHFRb?=|NX*x&+^|d+&9{f!-f0BcQ^dFNZ_@<{NxCBM&8VG zyITKJ6g{96MGyR!iyl-rS7;ELr?Na!W%+|E&Zq+z>l+%W>6hdop7>4UwoX8-Z)jAe zuD+r1kJ5qc_kFAz{+Iff6(l*h;sZv5C_Xfr+>}_7gDY0wTeZUHvGDmuVM$()ESxtwzR>IVBE}aRg(Z1O-SU5y z@lu>wqBF2J!*T|`6dSHAKc4k|G6uhl$?>8qYI|Ky-xWralAKVt{7aqEz?FvfDzAZw zhHesdvF$pU@zs%dW(~egJhS(eSLtVdH0iEWC7zNco>H-oi};#Iyh%+~p1tebVVy?J z=ZKngm9Hgvol#km*H=`Q_=YU;jTPdXSo!8iJV@T!u7C3L3)beIYod zy@iE(kf+VjJi#U zT{4=ksW@ty%2QTKc^At}^~&CzRhCIt7F)sS_btw@UwB$pVJ2N+eLhb0drzp}=~-o& zbY%@xeFCS@tmn#CE+DT-*M-DS zN0r0kr@hM0WQm{g#Ls4lpY_BYqsa)j(XnEhrRV3eDnI8{9vyv@I9z#j#TBkp-Yc5A z>-|%fCX-Y5TlB;n7XMapf%H5l|AnaMlvt84A{lM%w(h4OJ*8X~AWI#e55zYstLRHb z7Oj>$lBKy%zRZp;YKfgyn?`OavK^W0J#pDHJ)T$y7Yn^At}=0r zUEc6qd6I{UYk(YGUd_li2fi|VMurvJx9HlXFDjO=IdbAlR*ihGiLaITZtXlex~S0c zkTZR+i?4)XuLPX*EZT+x>t)n<*ef&XO8!#__{{EMGc#6!w>JP z4>|EA=QveaML~SvB&#Bfh!GQet45j%!n~D?|sDKTx!3J{I5I(JtiqkdqdYRU_Xg;=3=n>me6vT@K|% z;>!nD89CFpSbPr!$3xEaeJZ}sqVdk^@xdCgLj*a~_qq7KhFTS^fjUy+%WYx&`gZSnJeaM-Z zeiYx*XoGs^X5>OX*)Tuh!UGfjvmV#KNEz>2VmiIZNtxsz(Q|LGjQ9Pqs+RG-EmqYs z-uJz#T4q@^#jjky;jGv(TJ+p_Unr|;H@`;REbQ6uhDjA?;G(;!5gmn%#|&J2<3E;> z9p*RLQEDZRUR?|1Li?Neeixtj-7WPYXZn_lZ}s4K$eF%B#Mec9Z@i%2=+g0!6JO|j z@u&FylIcBb`Lx6}5^~~8R*lXVe~Zui2APhBoaw8EyJ}_m!P4hB9gc{;QlLKM#FwlZ zjh7Rj_mu(lAt%0M)yP*}d_!ftAs6Xa7}STH_>xs4Uk&kjZz8G>IkV52;`46rs}DKx zC96i`)e_%z(&v&blG_hCbG+K(^KMe=c*uz_Sv4B3j`(hq@w&Gk*rPSS0jNIY#FwlZ z_uVPJF8wR-t1II@A-C^wk&N26CIR-Q*dG@sKlp4aDc& zp49P>6JN4wG%qWOuVFntv3D7s91l5jyhh^l?iuQM$cZmmH5zYa@ePn0v~}C8(_6lp zqdw%!@fwToFqxO}o7GCp3v#BfiTGBL^?T&|xwGT16_GQ2tBUVb8Skm4^AbMf#FwlZ ztzR_WXz?xk`Mzd#W>oB-S>vrH$^F#20!#T0?x^ zT|*rYIq`*_|JD@WoZxjRa^g!?jrv?meBRw%9S^yH50{}!<0P2DXZqF`-xt9? zku!Z8h;O6dc*vQ)4aL_s=tIu*Z6v;SK_7CaZ)5RoB8P;(9gs79n~JYPa6IHpUt95Q zAM_z-`Zg2a=24$-G;G;5cKwf>_>xtl{cH>I?GzjjIdi;r;@dCiL(cTI7hi|qd?IK1 zwiMst!SRqYeOrmIV{km=OyAbx^WGiM;}$vbC96jBxsCX|@Aaw=Idi;D;yXULe#n`= z&f@d#Z0mT)nZ9ksH!2$M+jZ;88yf0EPJGF#(fVyCKJV7Q`j9hyUBtJ2a62F;zR;XF@l^E`(hPyAgILbSLaV z*ptwM(37wiVQ<1dgkFT+gg%6Q3HuTDC-f!sBlIU6KsbBV13ofp8yiZs_SV;JQ@FC$N!pDS92#W}hal-OkT1@zq@EPHA!WV=u311PuCVWGO>VbUxwIOgDWMsmIiUri zC7~6eHDPta8iY>#+4?oPv=(7)!a9UDgmnq)5!NScK-iG55n*G(CWK81Z3&wZHYaRB zXh&#I=s?(#uoa;rVQa!RgieIcgl!4i5xNkzC+tAjk+2h?D`96sH^MH2T?xApb|-Wv z>_OO*(1XyEuoq!(!ajsvgx-WcgnbG75%wqaCG;coCmcXHkZ=&;V8Q^xA%ua1L4-pI zg9(Qbh7b-X3?&RB96>mea1`Na!ZCzn3C9tRCk!WyAe=xrk#G{>WWp(gQwgULPA7~c zj3S&tIFoP|VKiY3;cUWK!a0O-gmVe!5zZ%EK)8@_5#eIOC4@@};|Z4$E+mn+dlNZYA7CxSenZ;ZDL-!d-;B z3DXGo5T+Am5M~nYCEQ22pYQ3H#C7|POTQDA6aFClN%)KKH$nb&%xVp=lp|Cp)F9L()FRX- z)FIR*)Fad>4z=!5gg&lO;B{l{NrR;dimZ)?yTlT-PBcYZ59 lYgp504@=F~etc%$08=R&V8ifit^VI^@fLz!e=ex~{{R5-aB~0v literal 0 HcmV?d00001 diff --git a/websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 b/websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..d7114ab1cb67d5d55ec3d6fda87a68bba4fd92f9 GIT binary patch literal 82259 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 XqwsNP4Vw-hGiumO_^7Qp^UVJNZB_j~ literal 0 HcmV?d00001 diff --git a/websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 b/websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..25021e34317b69766d3d1c53607d3a152fda5601 GIT binary patch literal 263 zcmZQ#U|?`{wu(v5EXgQMiYZS`D$Y;NPA$XMpNn$8iBlUS0LUzE${m{;i>5IX5IcP&sU3UHyw1tdBE*=8U4 LBj+V|-{JrO8?IF2 literal 0 HcmV?d00001 diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 6d39410a0..ed7baa7f2 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -730,6 +730,54 @@ internal static byte[] ReadBytes ( } } +#if NET + internal static void ReadBytesAsync(this Stream stream, int length, Action completed, Action error) + { + byte[] buff = new byte[length]; + stream.ReadAsync(buff, 0, length).ContinueWith((x) => + { + if (x.Exception?.InnerException != null) + { + error(x.Exception.InnerException); + } + else + { + completed(buff); + } + }, TaskContinuationOptions.NotOnCanceled); + } + + internal static void ReadBytesAsync(this Stream stream, long length, int bufferLength, Action completed, Action error) + { + DoReadAsync(stream, length, bufferLength, completed, error).ContinueWith(x => System.Diagnostics.Debug.WriteLine(x.Result)); + } + + private static async Task DoReadAsync(Stream stream, long length, int bufferLength, Action complected, Action error) + { + var dest = new MemoryStream(); + var buff = new byte[bufferLength]; + long nRead = 0; + try + { + while (nRead < length) + { + var actualLength = await stream.ReadAsync(buff, 0, bufferLength); + if (actualLength == 0) + break; + nRead += actualLength; + dest.Write(buff, 0, actualLength); + } + complected(dest.ToArray()); + } + catch (Exception ex) + { + error(ex); + } + return nRead; + } + +#else + internal static void ReadBytesAsync ( this Stream stream, int length, @@ -880,8 +928,9 @@ Action error error (ex); } } +#endif - internal static T[] Reverse (this T[] array) + internal static T[] Reverse (this T[] array) { var len = array.LongLength; var ret = new T[len]; diff --git a/websocket-sharp/websocket-sharp.NET6.csproj b/websocket-sharp/websocket-sharp.NET.csproj similarity index 93% rename from websocket-sharp/websocket-sharp.NET6.csproj rename to websocket-sharp/websocket-sharp.NET.csproj index 62828be18..92b3ac9c7 100644 --- a/websocket-sharp/websocket-sharp.NET6.csproj +++ b/websocket-sharp/websocket-sharp.NET.csproj @@ -10,7 +10,7 @@ websocket-sharp.net - 1.0.3.0 + 1.0.3.1 sta websocket-sharp From 029b0a5a8ff2030a95d277b7f69d622b5d354da3 Mon Sep 17 00:00:00 2001 From: weiwan Date: Mon, 31 Oct 2022 16:33:28 +0800 Subject: [PATCH 05/10] git ignore .vs --- .gitignore | 2 ++ .../1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx | Bin 417248 -> 0 bytes .../websocket-sharp.net.metadata.v5.1 | Bin 147596 -> 0 bytes .../websocket-sharp.net.projects.v5.1 | Bin 87023 -> 0 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 82259 -> 0 bytes .../.vs/websocket-sharp.NET6/v17/.futdcache.v2 | Bin 263 -> 0 bytes 6 files changed, 2 insertions(+) delete mode 100644 .vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx delete mode 100644 websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 delete mode 100644 websocket-sharp/.vs/ProjectEvaluation/websocket-sharp.net.projects.v5.1 delete mode 100644 websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 delete mode 100644 websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 diff --git a/.gitignore b/.gitignore index a59302a23..1b90c5e0c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ UpgradeLog*.* .DS_Store /websocket-sharp/.vs/websocket-sharp.NET6/FileContentIndex +.vs/ + diff --git a/.vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx b/.vs/websocket-sharp.NET/FileContentIndex/1116ad99-be42-4ff9-a062-0002c2d1fb91.vsidx deleted file mode 100644 index 963615fd9ad42371405cb236f603091b88a4f12d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417248 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 $n9G3X+!(t5KZ8GQ|ddKKZItFmZtTL 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%0A% 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Ͳk)~O`(2oI-tR%B&<+}3p)x&Xy?zW%tg9LH#XS%r15iL;bfXP zQVgORE1w5%O1Rq_@E0VXOa@|I{-Tn`NFqY9b;*}xzU6tKa>ela5?C`jiCXKKU;_3~ zP8IaaKo=TQpIc>xrE;(FxqJmYu6~5e~~7$QsV=J7CbE)wH?UIAgGe9keRdcY$*> zr{GE$s;pS(4p!RTpiDE&Rn-NQ-tP%}rWn%=0xhBI;~wDt1}t!4!(hg5-iv*(*Sc&( z)k#oNW&H?5vFhsj77qU2;>W<4!pPK2P$H+F_kEIwspoJDNg}1F$eO_!!~Gy)dpGNx zeTY=|Onub-6JbRklWD*ldCH----lJ-!Atq4AkOO4A?`&mSwF~0^cVKpRqtoO7iYlz z@%M8u=Nilq3m@edpq#01BL0$}BV`%XpTFWW(5-di10*^%+>9uztF@QK$@kY_w4zgL zEzKHBwDKj{>H>AT-DU7TO7Pm@gYenf06tpveF$#58o|v(w^qmSziALtT~+3dn%}~- ztpSpnw-508(@`vc2jATd;48YYJP&Tz{vNiCXeJyYnI!)Jw;c@-(kR_|{KWp)AeOre zI2-7y{1Ys%Xn>S90RNxicUc4YsmpkOff**Sz%8$KF%y_WDY>l03vcSU^RHkoK@*kp z%{_fw+3!YS@ne81cML=JH&7=tGnmoq&yRlxU<~tSPLmzKOzm4SzE#Ye>iq*Web^u| z2JpPpYmu@Jm`UNEps1ra4bo;3_(+!j0;Wy}BGzbghW2koDu^3AwQ?(mPmTK@U^sAz zDa8n{mdpQ=%z~dUbtz{!y+zeID=i3KLq>^y96ah12B(oa)-EMG`aM>ihmo{0usP7F z{y9frH*J3+qr2CW?}35KQ`+B+tUGS~|3u z_uzHe83oQ3ISjZQefbwfJi8UHVAw2(_oj}vf^fq@R!4!3+|Kb%9B+im5Qb4pj`G0Y z-!l@pGPSht?@=$#?Jst*3UE83>MsMMKvIn!^q(;dMgyBIw}^~y54sIC707K22+F(_ zY}m0Rwl?7I_c-{RzI^$)@nTYjNml$`;&4T>r2hr*SGz&Cqk`k@)7W>)5(! z^MN5J6&^VymVq(xn}K6BOLtsk!xap9)dR!+bo;U44UXzE$82H|njeiX}q__qq2+9XH-hQ6JxcTsbs3p|E}* z{mva978xEJli_6J(;$&)V6$gtz246@&Nj5|k&UQxj&#+H!HwUYjcr`%;J>Z6X@S*h^791P?l14T@z6b0df`iZWIF|N4 zFC1^yt$=14(6nX(RQRv``!#A#IJI%7hdlFfGp>JCW9GZeu_tl=`fQ8eb;Hxu*vrSd zm#deWnt`2VZLW?|!V@vu>xRDm&IeRZkBQ}Uvct#BWwuCm#56RL<(+SP?<4;FxVwkP z!+M^q^z2}j3%fhcWot(G2CM|p0>#_tWb>BwAoy&It-5Ngja-`^cW>Cp8lM(oJ2b!E z*7FS2K^h;H&7K(f8^vhV4pL+;TfhGgL-96!pdQ)KQsNt? z9tKjXpe;{a4RAfBAq!+1C-udyLMW>E-dmrg*2l|FqIfL$>K(JHj_hcQ^VCKRU90}d zg1@`$l?HkfhO3wwat6~{k8S&PU*4u>%Ek{|f8T5Sjte7ft04ZiQ)64ys9E8n+mipd zLu=tDv0etARE=)Dg6A&bD5|y_-0{Z?zjDhx!~e%GQ(Um}Ce^{aPNIXG5(Rpm9lznI zxVG6FZ)35W`KaTcZEKtJDerK4@0Hx)#=b_ITwc(~f$s*4-S^qX&|B)5$wgV+0x(-c zZ2Ows5f#q#z8n6qNvUinZ5pi}E_>;Uee?FhHLpH4yz!PHv!e@me%O-P0rTjF z4^d-X3GdebH;>vq@lI`WYwW(zYFr`PMDmh#GJRGrOzJ?oL;rTc7Xp@lbK(~`;u|vj z2mN9nICbYZSq6gtCol9`6ItUQIG0)3x#&2Ht8(g1G!0}ex;0G$M@-=QdfwU`^3tZQ z*U;{bfArd%YMD9F&KwOr(ehXMus)W0mSuyACLZWtF#Q5`px^ij)w*q@w|Cb0PtErB z=v>@PtCWk~>8r(quRi-;tiQK3VsGQ>J+hRi|vvlJ0yVQjoE8{H^` zN)?|XUAJtAwNVyqmEr#TwLXwIO=j~GKW=(>k3Mc1oVWL^a?$t^YOj?>J6KjPu4_sy zW=*JOXSbJLY&u!E%hx(}7JGiid&?u&+^!Cy8}HSrHWW!up4%3R+jr}>1)T7}+`DT_ zcyKm;kAp4{uyux&QCswz8moCFoVy2)Gy)wam~8v;J16uh@2$A5>&AXV7SW*p!^*w- zBqPf#a$=@tv+jk|gZL)8?w*!1=i9r&(%8xGFxsX*HHxf>HKI>2A`9Majp$tVtkQLX zI*%++l+slDzrOEgrP{yfe<@#N*BA1y+WjT%zZy4Ex>`7)fe^D3TGtG9)@xetNiWuC zyQgt=KwOOKe6BnFscvC3THVmOZbR=t>#jX~tN)GTzu!7?-^xjM9vl8Jevi@DJk7g3 zLlwzztFfJ_X@`T?5UEbtOXOG8UuSYJB)#5p_K9;fg-r3;9w?RfWzT_VL~~_xF9@|L5nu%h_wMwV!>SGu(5}9jcaVSgl&MTmgT%T%mfd zP$O5UnJd)F6>8@Sb#jHexk9~Mp?T- z*2AAh>*op^;7_9sbA^rghxNgD8|Mm}@Gpus%@x|>PnDbH3Y+6kqb+iUcKFk%y{tx4 zjXLBCTjEcnt#XBq_|s_XTwxphY1AoK=!`#&w#^l`<6ks-mt0|c{zcIaiQJC4!lIqz z5oH&3MX<9xl<0G@=)SP1V_n3iK7u5BM&8x^@-y^94`-53`a0R z9!i{m;6!;SaT0=)<)OqW2u_uU5~m?JT^>q|L@-JoN}Pe}fWUqQJG7+$EL+(is8R#5H|hLZ1?8?}c$I>369c+QTYCslY(+LGrUDX zxmy|Drl8#I2zkoV-8Fv);^zF*{GF6fRZ#9OggE!sDc9W1^fU$4+{19Xf^st$&QwtD zUWVR$-v@4O{;B4EY93Hf?m>nRDJb_a!$%a9dz9g03d%js@CgOwo@Drxf^ttYd`3aJ zXBj@HpxpBeUrZPM#v|g@^yWM=~oq0Gl$`83d+6C@C^m!-emZe zf^u&MxOd3SRZ!hLhVLpU_g=N!Qv9dUd?w#lP;Nm&v5?6R6jbpc!q`(y{v)P8R#43+ z3>PUVmuI+GLAg&Eex{(@=M2A4Q0_~HUnwZ}HN$Tdl>3(95`~CEfa{DLuL-aiU2oLT zsHR+Z)Y2%r{-~o-bRAMpqv(31fkx4FNkfgI>yvV2be&QjMb|4$R2f~jtg2CT{nAt; zxsE9`*C_uTn#FYxpLBBQpE2H0%KJ>bF~mj2Tj{&ItWvkiY&%a!4n0iYor0i0zh%U4IPVwaKF7S~{5 zsa{j7m*v6PhFUb#R*-he^58($$#JJ_-=b@mzE9|`QZyXyOdu5ZjHd;yf^FW8gA9t1`Wsf_lJZdYUrbOhG;1GCj?i zZb4}2dIN{Jl}x~`okw34J4Va$t(jY$u!b{$vp40M)UHKX+Zn*whIPC>3$ZP3!@}z- z=sJV54eL?6zJeOS*@g|Mm0fW|*FQMhun`R#6E<-MaJFGnLf?L9r>O#Kd?9&x6AM^BG9 zQ@@j^M~uCyYxoqrGjrV(^aucF8+Ji;+{bBBe(ptVi+5#iHwCQ@&Nl4MTz3UEfU^yI zFt?|I8o=3x9?bPr;DseZaJW^&r^4P7mp#*?{Hc(K`CiC0#sBwqhdUU=#&quE%{^jU z+{+Uq4vWk3y_xAl*jGW<6_>h6B8n zMr?}@^u&m5@j=Y3rl7rpvkeC`H$XuR;B3Po&M?qTCpg={FF4z9tk(`=TYQ`+Mr@0ZXKpxQgxfd4*@hFCJCSgbGk`;Ua{8&F zEPo0!rxH#hobEi}5RZ&JZ!~P#wc_P%S$-6AXAsVG25`3FEapZl=q3PX8^#0-;B3R$ z%#Bsh5y07obC?^apayWZ;auj2jnY)@W#kB+uap3x(EPo9%*Lp`a;!OQ@(7XHkq6GuT^`WEm24-#~+@zqZ0S@HN zX%8pr7Upgx+~!sToNc(BxjP7VIs-VwQ^Ok+Aqt<{nef`3Gkk9%t?e z1vP-P4No%nl!9Kwg0n7SpQiE|1(k!d!&XT`K zQTeih%E4Lk*;MvaP&qhD{z~-P|5dlsfIxvc;r-w>)QR7UKn(HgX>nQp z4QAfdKFacMxdFf-^LE<9bN_%v{AjDpGJDKTS8rsr`((&lPml z!P$l{nER6Om1_x{ZTOnGZwTKy131LNxmv=^cZBZ=KR6G#Oiv-&XUm)cgk|`VnWc#f zengq-pP2S$7M$hznVDY#9&nkSWlaA{_|2^eIK;n)x8QQ`=tFD`@CP%0dV0iRJ$H}4 znDf>e9LT`oO~c>JjV4s9UViHY9O7Jc-gwyL==+=1nGt&utX>_tu@nGw2Ly+>h8U_f z9y4(9jWI(_yg?Q}+aQLxRwRzU?Svb!tX;>`BewK1KXpAlV(9Co>vMJMdt$_319MZB zZ@^|&^7M$qdKPc!i4oi4MxGdPSd6zL*hyngk2q7`gr-##bUT5|^sGv`xA%a{^sGit zQw1FdT-d`|YDR5yLJPOYfwK)Qscl7Q?F`@$uO8mWYf!r;VJ&9>XB*b0)?06IAOm{_ z*I^wR+7Q-tBY+DV%JS<`xjtb71)V5xmS;mMH*%hh-8kSfJ)6+8DWR?NfXno3M)~H1 zEu05jrl%d{?Fk*62VACSOUk{824{J;qP$~uysyCz7|2-(k)__6>TSHk1aVl;&DhBk zBeunzJuzZiysaljY>T&J<6Q{byO{)sc!%^3UY6gH%AE*Z2|GIvIK*AV^TrEzC+~rE z^EyH-6?l?gbe$*O#SPT0e(Bskl!C$&8YJ)HrZZP<(2 zy%ls917{odp|+QT8o=3x-qiL{Py;yIu&*~mh;8wHEbJXn;6Uy#yTJy_=TA($v)DIa z0B0Ne1q|S9Lw_0$P|y_y2ePZQl-k)2q}IEn1!o%$N}Lf8+0ui($wX|62e6St2m{^T z0}k;Z>Ae2Q&kyS~YJOduhnOvDfy2g*sF7_lur*%KqS#iy|4Qx$Y7!P$n> zyy}Q;@#!o)QbDVOvkjwAJ@&y#d6oqiHsGc?OP@(Ni!ju!l$FdDMD`0635%WH;S*x_3T2p9b%I4$d}QK*NO!+7dY1a1pf^E2sgS zZMcNmOBK`r&Nhsv_A&)EfU^yk2MpkB!xc14P|y*;*@i2ry-Gn1;B3Q0Y9}eE0i11^ zOs%)2!P$nZX_yiL2EZR~d^0?prfc0k2@dgfvb!wV!n-iK-a8Z#O9fsb7|NpOg7la=h=eqfK*6`#;7%iqqY1>8q>Y7mI;6m^&W zo_Z=P-$l6F8Nk_wY1H0BnC=YV5F2mb&Y*TC;a+C|XB+OL_I|99JETEq~3M9mKZy^;B&zw)_pRHey@+Ca1(ZYk{*3Z_yxkuJi788#vqWHrn9_ zgWhp71ICumWqo<0q2k^?INLA}_1hu+uB#8mmcIx2mPpTcaxk|1eYUfJu+SO6*@h3I z-SR`H24Sl|V&#tspEv_J+pvh*JYlgjfU^ysQu`UpP0M0ginYd_2WJ|xo z3aQ~QI08o=3x0<~p?AKmPO zvkgnB{fY3iGk~)Vzfil3@T)U`vkkvth8iIKyOV>l<;x-Oi1Z&$4#t-M$xi+v{Ot_j zY(upg$ayCqaJC_bFVn`iFk)L=Jy0E-ZK&Z@M{J902C9Rz4YdLWaJHc~4Rr{0Yn0z{ z1ZNxS)sR~Ox^E(~rS)01fr1*qg$;P;fy##7^dJuF`JCGb;^b2(n6O;SugozTD`-pL zEKd_ES0Q*i5V%aws`RX;pyPnc^faZsnSy%2g*{yT=H6T(w#6+xF=AWXl3jSK49+&R zqM@~d_72WAtWND3gf-oM2hKLEMeW*zb({g5ZD>R7x`g$d0i11EpV|!w8#)6x+prO} z8!PBagR>2rP`jyu8o=3xw%BO=&U^WhiP#oz#=_o417{mHr{N|Fws0#9&Nj58;Z_RT zI|De|(19lle3`_q754B!wOBkb%(z%aTF;Or5)1q|S9!!7{>INPvm z;`soPE!~Z^y&V*sZP=ZL?u0$u{D89!ds5p&LFWgYZRknuUJ7aeXB+mWb{_>bfU^y~ zsO_zw25`2a54GMpfU^zz(y*U`jsVU!>`!f91vP-P4gC_^7?CaQpO7N5r3WOWh-~SB zZ1y0+!EQ$Yhj>5@-iWH(W}V)NcM%Tp&J2j{>H}GLkb=$!INNY2JIDI~t``ut`Y>M& z!d4GqABPi$y7J%<50h0*+?Zh(M^JmDf_4uMq;b|cirS+I$G8!|*@k1OJx)PK0B0MH z$L!;`Xlj+8q7d8S;Vj&MFv7J1&NiIjZCk{)_(T>yNkMxDXB$qY_7nv*fU^y!QhS<$ z8o=3x)2SUv80A(NoNYLR+A|e&1aP+DENZx3fdAl zkj73oE^)9UvZd!Hq=;0M0gC zO|3UQ;B3Pb8m>{$tp(0DTNgT@al@;IU$NMH!-WM1I95Tj~-XAc4vkec>@SuXuDmdHl5Va2z z9&xJy&Ne(s?PCf$0yx|7c;cLb$d*3AvQH{#ZE&{XDQcf4Jmb0thuGMupG`D_$gcey z%RaB5&49BFFHrlUf*QcthFR3Uq@V_Hw&7)JXDg@yoNag|vAT$C>8lATB3n9#9lWNX zZGf{4uT%Smf*QcthBpHSaJJ#CME8hn>D#RRj)FD=&Nj@Yb{^qfx08Xh4ewDqpYXmj zfU^w?oME9efU^xBIKzj|0M0gi13268i8Cy625`0^?+lBb0i134l!ng;pF0CM z#9xG8SbRzCOu|>r01mNn_WYXKZwTKy131KiQ#7B!mQed0;d^HQXB&R-o?;N&;({ke zY>Ug-h4*{}&Nlog)$tt-*Etwl{!>a0#+LsaXa}5a_{ABPxrV^mhF@v;jqtlOfU^zD z-3XW_J&wWIhCc!ZaJJ!3Z-XJW#eaEX#J2cvPmI_WSHmxw#ozxyY>RU>k@NN&aJHd3 z4K)ZgYnD$VINMN*+S-IV&H&Cf)TOo_p}sSKvkeWX_0|ELZCEK_0B0K-1`ObALn9hi zCNy^I0M0fvp>`Do-8;eAhE=_-jMx^h#==br&0IU+Y(sNuy(tA}8(PrNQbGF%XB%1t zMgV6US_cf^Y{Tl_3?a6~YXqu;vkhy~uohu$H>Kdh2ECqNhjKY~+Bgrmu!m1D>w2qz z7_9O1wI0N+kzU``27`Emn!Lr>Zt{%ehnqHJGaC^$b_Q^WHxa|^UFRl0JH08jZ3&w> z1325TIkj6T=sp3?HngL*y@DFR*@h0(Zb{h6wFJ&KbfnhXuff@dt!eN+Z3E6WY(qmQ z1ziVlwxP3bwr$-SfU)JI~p)!*0~>PU!9o;B3Pl)OtG$IFQCi`S+y3+gZTbh8{HZB<$r{0%sfcrgk4fFJ}N} z8+udQhp?|RfU^zzQM*5(uQPzN4gIL?PdLCCz}bcasU5&8nS-1G9Ae`vaINNX(4M!{J%7U{E$4EP6`D5M8gR$ku)s**rj(2JhwtBd?u83{%2v3aI z7N5XXJW)Z{6P#^0iQ1D1r?}q1AwE@ho2Q!2o1OU5)M?b7uAn1;vkfDu9Yr|9jR4Lz zoJnntZLS?y2cYDw#C)T@|q{ zelpNMINR`)R~@k}e%kf^jO!g-*ie>#R^;9Q&)NFtsegg+qJnN_aN#ldB5js80AjF# z-x9%RgqeBC(<9E*zwGG|XXLfSGcaP66Ux`1sC>kg3qd({!! z;sq?cknn-44$d}wNUb;h;KBy{AQI&t6Fwmid$^7B)Gj7`>I~p)!)MffPWZwZ zz}bc`sr`!ZwKIUT4c~aPir5x^%fhSiNfV$)F*w9aLi^}Q_vB>*@j=8;Wsw|INR_$4a*gD1aP+D z4{HBZPy;yI@Ru|E?OFn78>;cUWjO^M0i129?hG~D=e)q#hMF|gBGh&UaJHciwRH*g zoB^C|s84MJ!b;8n4zY0-Yv>G(oB^C|SQ(#ci@!C1*cLbT#E5NilUnl9auwGH2wT0X zR~oS`UX7*Q&&eQyv}rBg(@Z?k@Zf5ekRr0B%@a~YwzP%UEn-{TlG~&ep|zU}aEOh! zDOaa<4Z@nv0M0h7MeW*zb({g5ZD>R7x`g$d0i11EpV|!w8#)6x#2ba@ePe1jA#Cal z;1IVB8#beMbHWzR01k1xu%W%T4G=@zAuY!JV3ysA;5|u#%k*^g#z35@-x~V0qkqs! zeuDvVrhXgt)QQm9tu(l>hr9E()NV)U;tb#rZy#Fm9jM&VTM5KqcS`FyKvz$U*cR{X zi4oi4ZtP_j1w9{wvkkjayBlG5x31u9Lw9QTAnfT3;A}$=uYbh0xThyZY>W3|7v9bW z&Nl2#!#;#wu6J;@p*OXCWEf`v2XepgmffG)z6v`3;A}%bYUPcN{%!#}Bx$haH_x!$<|~2pq^!(IkDl zZrzoyToC>46K?5Jc_!g31@(XndpO8wYR4$30UXG)qd^MIdb&Yq7#r;z=eW%P0(9Ww z4fl0f_gunxg!7#T9O4VY+xkLkFH+E!z}be2sl9}7sT%T5Z|fn>)L%~1 z6$;uEIFJ*fwK%KOI}c6JpUA=owW+*{FpHXrt}k$559fB0*A!w~Jek$6CQNbF!G#U@ zgf^Ae60TFwwE!3Pu%qj}ju6}88$2;$TYMwC@Lp4bvkf=VaI=E;4$d~*LhY@D+uQ_! zvkkXXdxwIK0M0htNv(HCgR>1&X}C*4M*wFV?xuDc;U2dR;B3QmYG)8;Is-V{a4)sq zI)Jkc_t7A~T8@{hx(?uM!~HZoKzPu#1kN@*MD4>7U;zA`7<~lb5xB4gIr;r}n;@iHE>@puJ~S6OAQR^gZ77so2% z2d3*wl{rwphR5r8yn)A?c)W$j+jzW#$6P$-u@Zjwy0$pp1@jGv_wfJuc)X9t0xI^Y zuIsuGOt0#=?S}t<$jnEv{y&Z_e-c|>6kE>6mKVpCKaDMa7F+&2TE;6uj`n3N^Hps5 z>)7%)vE^4{^YU$sUlLpXF1GxAZ25=Sav`={7F+%?w!Ad9{8McC=h*TuvE^m4<=*%) z3)upFcy0J=E!~5D!z};K_2y6WAdfcWABn0Z+U3apfybYC^h4q=X8(>=tya5YKhDLL ztH+jW#FlHumTSe9YsZ%B#Fpzu%eYrl8za}RovSN-HK-jO6D#5W<;O)sEH}bqWhxuh z$kj zj~cSV>>TrSi!JXGE$dd=HI~^ew!C|6xqEDRkJvIV^Q05m@Aiykdc>Cbq%W$TwdDkl zX7`HHSlXMt!_Fr#??*bd!M$tq^J@DzM=v^hBgFr_45mVG zvD}jw<1*|&SRBl_aU}Nsjb4}J1&)Xhqj*Tv%Sbsis+IryVEE*iCV3n|CjYX<;f5Bx zD1bw`ILy$27X|PLE*@#A{FjUHtb2A^p3XhR1+(daRT4*ZHWdaO|xe4^3g3?2AH zqsJRM@GI8nxM-hB?Iz$8jh<)dz$Y3VZZryh#Tp%96b7GY^aMi(KGEojh7NqX(UT0Z z985^Y52nh_=*dP+@QFr?n$c5?qS7dm|7#j8W=8)cDJloKL7e)CKm(1x{LtLKZD|*<9nsBQo_>xZeImWtxuhN8%GwOj) zO!&Em4tzA>xZ_)!@4^RmFL}*|Y+|FFZxob`f+TN{p!9zmC3Z{_CvF$-ztCXv*<<2xF!FjZ)dyS()R;Hp)0- zT=0nti~rHrS(QCf{@W-w;d4Lupi{+>^3N9xrGB0D-^PnJN=c3=-FW}%>#X>FzRGUA z%D&FZJS|n>bXeKfS()R;PKT9!oprr&+5{gxM^*Lp(+x&p@QI58>(U;4;-Vn)bxdr+ zGj$`;)PJv^D&7K>3kS?}{Dtq0#)bo5r45()IwrQ^GIdqhaGCX@Bjx|E7rr+c8xDMx zHeBZGnAnEP)Ky`_W!C$@vf=QWCU^@Z^!n*$Lkm8!;jEhA6Q{~sjC$Y`ub*x;bl|J> z`YChVXu}ot`sp^KKk%i0{Z!eFQrS!O%*lxzO_kj!m3{q`Ic{vDj58)1eB$-f?S>9~ z`9}HYOZE6gMKSMF{kKuVm*D@(Mk)2{r~fuy={H`tbWxBw zZtVG|vL8&rlYj8S3ViwVPq&iYRIThrsq95T=H$eVg34}`%3c&?jvL!3c=8WUHu(QN z7X|-ql+r)1TxjeF;M1Rfz~@tfdySmtkc{7L_;2Hte&dzwqM))Hud){fnWv>HoDM5{ zQ83NeVZoRFqTn85a5-9#)DJ4l=k%r8W zn@QggqiA`O-&BLFvL7hCmo@J*YJ$gaCL)QSLgZrR$7P{_0d8|PJ$&=JQWz+*Nit=NqyyxKNEKkN)s1nCeQ7e>r48>OHX=8=JCsybg z#@5-eJjrj9)5f)~#1=X&t0u-Ozrl<9>Hn~WqC4(#qxD&1g}^5+-=8yd;LBfAJ|p<6J|*2N#;eyvkY;0l0PH>*-O;EY-quY0yvwC`bEUlt}Z_^14W{NSB#?40Fvos@lMt zSq&f=Z(xF<1z+_|P|QyFmeBzCL<4UdI`DFwB#we&cEWdz!r-gkKruVvT%!T-Rd1k} zop7Gf0QjmmP|QyFuF(MasyFbSQB=+Y@8R3n@$>flEb;sb@xJWn{YZSW97yhGHSwi= zCKo`=(pc=pxOXJZ`o6yS7M7yu2c;m!jw=r6{_n6h-r;D7v^5ML#V? z(a%az^z%{_{h|~_zbr-3uS!w$>rxc`rW8fLEk)5Kr6~GcDT;nyilRT1qG+KMMaxQ2 z^v6;ZU0RBwKb4~B&!s5(ODT#jD@D;?OHuTQ|KDT>xBMbY}DDB7SDMOP|C z(T1fc+NcyoS1v`-#-%9Qq!dM0DMis$OHp*SQWR}kilWU*QM7p}inb_4(Uzqs+Nu;q zTbH8f>ZK^UMk$J}S&E`-m7?g{r6{^iDT=l!MbULjQFOgh6kWd*MK}1Di|)fWZZyGKgkIY^}F`eCmPVt z!=)MkpKbvELU(X`Ndrj68`#}w0DPhW{rp<00r`Ys>^#t&zCDbh<;i#hdm38si3WNY zI`D}ZkTH51;__s?fxQeZ_(TJH8#?gm2KF(;(g2e226`D<@QDU`8#?gm2KpFcX#mN1 z1N$0U@QDWYGj!n74eW1-r2!=44fHj%;1dn>Gj!n74fHp}(g2e21`aT^;1dlTXz0MF z8#u@iO9M#88#vg|f=@Isz|etDH*km{mIjcFH!#r9f=@Is$k2gLH*lySmIjcFH!#@H zf=@IsJ-QN0oru6E8aRx;Ax6>iWW0gH4K4UY149iR_;drq46!tTWW0eR3@!LX14kM< z@aYDQGQ`pVlJN$PHniXq4IE?Wz^5BH)(}erNX8pD&d`ESG;qA31D|eSxFMDXkc>Al z!q9?GG;o5U1D|f-L_;hMAQ^AqBtr{6(ZI=u4t%{$`ib?}W#v8cU(1K4iaEYMHM-k^{%b~TEI8raRyf=@J1*&7rxhINA?)WGgW z1K<-4RQ3jijIoDNG}OSJh8BFHfgXkqeEKNpX^2A&>}6=dCmPt>(1A}ku#X`QHPFk@ zf=@Jn8xg^s6@0n@>jp)rfqjj_;1dm0_6CKFvA0fr8Ix`9Isai{^@hzK?SKGDD+LkB+H z0PaBqi-sB)Y-qtJ8mR0I3K?UFQ8d&5ZbSr|1)peOsG$R&o`GS8IMl$ueS<>AII4&S zjyAO56ElDt5y6=PpPqqZ4RL4&jx)626Aj=-M6dzy=>~=y;!p#)5fLm5KG8sBZ&1h> zCmKaV4gA|TC}a%Wg9xrwsDV=rE%?L?;6_BSCiwIwz&(hdIMl#MLkm990B%GCYl2TV zfO`-@aj1ba4K4UY1Go_ptO-8d0PaBq#i0hq7+Ua&1}b}lLdFxr++5?@y#zMfO3zv^^Dv<2JF>bzF;<7zI6*?_DAwKqnEQ(ExRE~GOj-nXL- zcvDn(#PAbuxLN*v5|@k>e%;W5PZxeC65kvZe(jFA`^GwEGFJE&oeEzIK3(|MNPL?w zmX4W>71n(@r3IfZJU8n2_TW@787usjp#`5Vd`HxA>K~(*j+u-V)&nY~1)nH<-0f=TSlJ`dEGy~ zXwscAB)&V^CS7If7F~DuxK@*8zt?0^JS`IMFX9cB&z~3BmiPfr{9u;&K~MZpmiS>${75n4 zM~e|ZR*d-ZV#H4rBYv_N@l(Z!pDsrHOflkTixEFpjQIIt#4lutU+{LM7qi4Kdg57G z;#r>fr7ZDFp7`SE#5h7uU)xSkp1xl8#C?hp&yL!tT;*4a5x-iDcupjq8a(sQ@m7!@ zL&mekgj({Xc~+-)9-2^b<{w$zo%vtmbIR*ct6(i0UBVJsL_|syH8(Q$`jknwo%f|a7S-7aF_%o~U zUn@}f@2tYr>L!l7qUJaUFJ>rwNLNo5F6xl3kyW_n3KXuDRk-#F6t0t1xb6xRu9sD~ z{t6UskX3l46)4;=t8k+gD7$z-!H893;+GXdT;UHFRb?=|NX*x&+^|d+&9{f!-f0BcQ^dFNZ_@<{NxCBM&8VG zyITKJ6g{96MGyR!iyl-rS7;ELr?Na!W%+|E&Zq+z>l+%W>6hdop7>4UwoX8-Z)jAe zuD+r1kJ5qc_kFAz{+Iff6(l*h;sZv5C_Xfr+>}_7gDY0wTeZUHvGDmuVM$()ESxtwzR>IVBE}aRg(Z1O-SU5y z@lu>wqBF2J!*T|`6dSHAKc4k|G6uhl$?>8qYI|Ky-xWralAKVt{7aqEz?FvfDzAZw zhHesdvF$pU@zs%dW(~egJhS(eSLtVdH0iEWC7zNco>H-oi};#Iyh%+~p1tebVVy?J z=ZKngm9Hgvol#km*H=`Q_=YU;jTPdXSo!8iJV@T!u7C3L3)beIYod zy@iE(kf+VjJi#U zT{4=ksW@ty%2QTKc^At}^~&CzRhCIt7F)sS_btw@UwB$pVJ2N+eLhb0drzp}=~-o& zbY%@xeFCS@tmn#CE+DT-*M-DS zN0r0kr@hM0WQm{g#Ls4lpY_BYqsa)j(XnEhrRV3eDnI8{9vyv@I9z#j#TBkp-Yc5A z>-|%fCX-Y5TlB;n7XMapf%H5l|AnaMlvt84A{lM%w(h4OJ*8X~AWI#e55zYstLRHb z7Oj>$lBKy%zRZp;YKfgyn?`OavK^W0J#pDHJ)T$y7Yn^At}=0r zUEc6qd6I{UYk(YGUd_li2fi|VMurvJx9HlXFDjO=IdbAlR*ihGiLaITZtXlex~S0c zkTZR+i?4)XuLPX*EZT+x>t)n<*ef&XO8!#__{{EMGc#6!w>JP z4>|EA=QveaML~SvB&#Bfh!GQet45j%!n~D?|sDKTx!3J{I5I(JtiqkdqdYRU_Xg;=3=n>me6vT@K|% z;>!nD89CFpSbPr!$3xEaeJZ}sqVdk^@xdCgLj*a~_qq7KhFTS^fjUy+%WYx&`gZSnJeaM-Z zeiYx*XoGs^X5>OX*)Tuh!UGfjvmV#KNEz>2VmiIZNtxsz(Q|LGjQ9Pqs+RG-EmqYs z-uJz#T4q@^#jjky;jGv(TJ+p_Unr|;H@`;REbQ6uhDjA?;G(;!5gmn%#|&J2<3E;> z9p*RLQEDZRUR?|1Li?Neeixtj-7WPYXZn_lZ}s4K$eF%B#Mec9Z@i%2=+g0!6JO|j z@u&FylIcBb`Lx6}5^~~8R*lXVe~Zui2APhBoaw8EyJ}_m!P4hB9gc{;QlLKM#FwlZ zjh7Rj_mu(lAt%0M)yP*}d_!ftAs6Xa7}STH_>xs4Uk&kjZz8G>IkV52;`46rs}DKx zC96i`)e_%z(&v&blG_hCbG+K(^KMe=c*uz_Sv4B3j`(hq@w&Gk*rPSS0jNIY#FwlZ z_uVPJF8wR-t1II@A-C^wk&N26CIR-Q*dG@sKlp4aDc& zp49P>6JN4wG%qWOuVFntv3D7s91l5jyhh^l?iuQM$cZmmH5zYa@ePn0v~}C8(_6lp zqdw%!@fwToFqxO}o7GCp3v#BfiTGBL^?T&|xwGT16_GQ2tBUVb8Skm4^AbMf#FwlZ ztzR_WXz?xk`Mzd#W>oB-S>vrH$^F#20!#T0?x^ zT|*rYIq`*_|JD@WoZxjRa^g!?jrv?meBRw%9S^yH50{}!<0P2DXZqF`-xt9? zku!Z8h;O6dc*vQ)4aL_s=tIu*Z6v;SK_7CaZ)5RoB8P;(9gs79n~JYPa6IHpUt95Q zAM_z-`Zg2a=24$-G;G;5cKwf>_>xtl{cH>I?GzjjIdi;r;@dCiL(cTI7hi|qd?IK1 zwiMst!SRqYeOrmIV{km=OyAbx^WGiM;}$vbC96jBxsCX|@Aaw=Idi;D;yXULe#n`= z&f@d#Z0mT)nZ9ksH!2$M+jZ;88yf0EPJGF#(fVyCKJV7Q`j9hyUBtJ2a62F;zR;XF@l^E`(hPyAgILbSLaV z*ptwM(37wiVQ<1dgkFT+gg%6Q3HuTDC-f!sBlIU6KsbBV13ofp8yiZs_SV;JQ@FC$N!pDS92#W}hal-OkT1@zq@EPHA!WV=u311PuCVWGO>VbUxwIOgDWMsmIiUri zC7~6eHDPta8iY>#+4?oPv=(7)!a9UDgmnq)5!NScK-iG55n*G(CWK81Z3&wZHYaRB zXh&#I=s?(#uoa;rVQa!RgieIcgl!4i5xNkzC+tAjk+2h?D`96sH^MH2T?xApb|-Wv z>_OO*(1XyEuoq!(!ajsvgx-WcgnbG75%wqaCG;coCmcXHkZ=&;V8Q^xA%ua1L4-pI zg9(Qbh7b-X3?&RB96>mea1`Na!ZCzn3C9tRCk!WyAe=xrk#G{>WWp(gQwgULPA7~c zj3S&tIFoP|VKiY3;cUWK!a0O-gmVe!5zZ%EK)8@_5#eIOC4@@};|Z4$E+mn+dlNZYA7CxSenZ;ZDL-!d-;B z3DXGo5T+Am5M~nYCEQ22pYQ3H#C7|POTQDA6aFClN%)KKH$nb&%xVp=lp|Cp)F9L()FRX- z)FIR*)Fad>4z=!5gg&lO;B{l{NrR;dimZ)?yTlT-PBcYZ59 lYgp504@=F~etc%$08=R&V8ifit^VI^@fLz!e=ex~{{R5-aB~0v diff --git a/websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 b/websocket-sharp/.vs/websocket-sharp.NET6/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index d7114ab1cb67d5d55ec3d6fda87a68bba4fd92f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82259 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 XqwsNP4Vw-hGiumO_^7Qp^UVJNZB_j~ diff --git a/websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 b/websocket-sharp/.vs/websocket-sharp.NET6/v17/.futdcache.v2 deleted file mode 100644 index 25021e34317b69766d3d1c53607d3a152fda5601..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmZQ#U|?`{wu(v5EXgQMiYZS`D$Y;NPA$XMpNn$8iBlUS0LUzE${m{;i>5IX5IcP&sU3UHyw1tdBE*=8U4 LBj+V|-{JrO8?IF2 From 13d33e5ec957bf3d4962fe4bb4cc726dfbd01808 Mon Sep 17 00:00:00 2001 From: weiwan Date: Mon, 31 Oct 2022 16:34:45 +0800 Subject: [PATCH 06/10] gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1b90c5e0c..8e9c30e53 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,5 @@ UpgradeLog*.* .DS_Store /websocket-sharp/.vs/websocket-sharp.NET6/FileContentIndex -.vs/ +/.vs From b46c4d127ba48e4b454b8e0d8b15dda4b44e8b0c Mon Sep 17 00:00:00 2001 From: weiwan Date: Mon, 31 Oct 2022 16:37:15 +0800 Subject: [PATCH 07/10] remove temp files --- .../websocket-sharp.net.metadata.v5.1 | Bin 147667 -> 0 bytes .../websocket-sharp.net.projects.v5.1 | Bin 86959 -> 0 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 82258 -> 0 bytes .../FileContentIndex/read.lock | 0 .vs/websocket-sharp.NET/v17/.futdcache.v2 | Bin 133 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 delete mode 100644 .vs/ProjectEvaluation/websocket-sharp.net.projects.v5.1 delete mode 100644 .vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 delete mode 100644 .vs/websocket-sharp.NET/FileContentIndex/read.lock delete mode 100644 .vs/websocket-sharp.NET/v17/.futdcache.v2 diff --git a/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 b/.vs/ProjectEvaluation/websocket-sharp.net.metadata.v5.1 deleted file mode 100644 index c55088cf5cabeee4e0e47a23c1931dab22f55989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147667 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

1W)UOo zV?o#vM(9pYrM>$ z(^TJevbn3ip`p8>`DELP-jiM34?Z5$jm$~qX6Q7rhq{%ok2M~M!jDQPJ69XL42peGUk&Jw za*3X-JUasHAQTkpJ?W|3K)QHwW?IuwlXxgi2M4L9ILYM=7V^E9IpKkenUJOEWQ$;q zlPt<5T<#IG9#bRS+nDr9nw|dZA^4eq|CPxtM@K5lBBserLirqnpt013S`f-t_3NVC zKoOTUnt1OkBb4iE&J1xL+FSM1DH4RH&kH~*Z9R_gqKDqFmZ5Jf3T41(4Z_;C{VaSF zhmKaJYJx{awh-jw6(8B5W}=gpMu*Gjzdsoj

Rv+cFhpM(DX@FZaxW_Yf6034Z?l?S6Z zP#B!h#P|eI4pu>l&Ph)MZ;PvE-3Dad@gD@R3AdCE1~BCgC=j^2CyOTH10I||e=qN9GymTq5x2tEuhW=2~ z-R@byZzEre5!sf-vq`fzl%O(m&jDkxM4t<;tg`1NXjwlGC?>!lI_Ui1>|>_`b}G ziM{0sttXm$dQNn;a_MbrOMP>9OILkoPkT#!duvlmYwwBf_V%9c2VVl}2GKt_jOkfI zFC}t??(HulxCLvZbR&!Aivsp?#UrYKWvVG)uMi&HQ<*b;Dxa52lKz$9^o>@5tD62* zpl&h)Gp=M-1$;HpyPQ%tlUKb;m7sDceGOndkg~I6?6rhZBxQraE1nhq97>t;!$9#m zKsR(#l)2XvLRZyDr?VN3nuw-k7~>N81`s$dJCWn0zq-ZjjYL>2TrEFBgUy?SnrYmw z4Jb|4jNxwv;RdD5yoJz4CLji_(D?pVVi#I;YfrKAnb{7?ZzKIfZd@sIReL)e7hL9t zv-u7ZEVRrInF0jXbOJ$6>pK_OmkD zpMZ9C`&l^Sp9JfF#C}#L+o#~VboR3{(w~O(4t@WH9E{bvj2%Kh1MrngG4Qx9S+0C? z`7h&d1@};&sDRm~@L5EA&~=Hx01??gi14d%+gt^g#YpfuB-rE(Pu7LR|2)yVdA+rc z=Ub2Sl;?5Iksj|H8E8t#-`3_Y2%JTPwOF}?F%ADB@Kki#s&;^u1x3^^M7B5VQ0|Ic z`3i+LJ-!5kC!t5{G0g4#1v`62hn93Q_n{synIqm2d6+a7`!XWbMfh`_w#*5^!sja> zZ9H_8_|SFUv9A()p`v(PW*5C2vQuHTO)4_3kBxi{W@}ILa$0Ym>-wkX&USvCn4euI z%aDlpRg2FRZe(AXp4Oc!CLEX&cl(2OKRrU<*ftENTy=dUR_3(nh*g!uRb*8M*{Vsb z*U*t~NJUsnj6B$?>`C7wcE_W$UM|x!QzS!DdHRe9y7{*NMm=l?3i<3sulQ|A7iwF_ zP0sERuiNhce8hZZ>#!@3YytfOB<@iz+ijybmai;#=>ywaDX1bzv~Q?3*5 zROcI~J@U?!WW|HQoQ>#0&R()C&%k&^ePgig^R#UX#z{cexP^u48SAbqu_g(%z{hB2Wk-b`Be-%MCjtv#F=eZ^(quYeNk=|NTp68EEOi3J$@ zT}f=HF|qv~pPUsAls{qbCcN11172qa3q$(HL{*#&!#C~^h~H_OlE~nET_G3y3D8Z( zyFeD?MuI;in(jo=@u2CP+@Dp6V>X3ie+2IF5T+K3352@})EXVzjdCoth49BD*l(2H z$n9G3DTDhbA)LVYro?wRe+teX%}vW0W%Oqt?2dB4IBo^|bAd;xhu}X2eoH84Rq~`e zY-#Q@vc;%56_kj<5y%qYJ&sCL=OWLD!u8NO+-!$r;J(d8=^`)?T9L6M4h*fRaj@FGk1 zI?(SZ6StZ-XlIS}Ui`J^B znX!Rcq4*xuY3FI_IJAkDF;Sb`XfS3_S3`ZlG67*X6_ihm=Z^$H}1&)I3ndAXa2 z+dF2qp&cr{Twjik2D3`|kI`kiFK{V>Au89PS^sy}C&bq3uNMB|X?;mQjHo?%EE;n{;ClO4X_!3ji0UOl<5Bgw55 z?KN7!v{my8<$CZNYqq_LCTCJ@Al16i$akig+ep+_%0eChC=@%nnvl#+$mq5S$nq&a zo7+s_US`dzSay%XYWify&&r*#<_5-2xiGDgxJjmVkG4Sn$Rg8i1$Tc{iZC)Pw+W6O zSKKKGPF|Te1XPsF#nW!B^^^r~Em8&+}gp*vPAr2bRoR$-modbg*Bl3}*P;0Of zXQ@P6-ndSb4Zhf>94&9j(Z?q*Qk#-nz3_qC_d0U#Ug zuA_nUUOp)JuC_+J^NbzEIhm0U0omuCqIAm>4Bc);e;Ab8s-U=TU~g3nEkkZ0%`ROp zw!p(&j{rVUg{0$O$8yI{9R=-MgN>Ai~TH4Y$IH zqZN_!n`Jf(eM5Qm$&__|1UVQ&x-yGi*4kv->T?*=O>Co1%;(gWn4DCT=iPmt4i# z_}XrU*8o@FHroztbCt`cP7uE=%iF$->5_)e)A-K90+gf>ya#>YTI$b9ua3V8kj&c{#-&$@-kEtVs9IH?X zxK#t$jo?+Q>;npFx(iCF!_)qv zNqTV(gPXk!I*ef{S#v;;7M<2iWhnEGVo-i)I4;)7Yo@z$X*sJ{^u#Wb&M95rB^yQq z3QAp9o&#FR6oON^=gP{d49BQkdOV%cE)Rn3Yr@^MrPnzB)`i=W_6!Yir=`apGUB2-E-MzJI<&mT zRB^bJsu!1&)5K20*%t7KfHeWU}xCBE0AK4*B5v%dZ>eiQ-ikV77=!iJ(hz#}# zieYFxMix8OS;Vf9{G%Yh&WYFDz?yS}r~`K%jh;DFFckShaZc8wv1D1wrWR6;R!^y5 zp_FIJQwqfDf7KEykuw2-fu ze;jxm@DHxHUDy8FF09< zQ;k{%YEOU2y#z+RG%k;RDYP|jqpVMWhamgJ1<9OIF~*JlLV-gXcO2X9ZJ zr&j3cW3?aMG326Db6lSFygk z)(cz2NyXKk6HpcZj4ak{KQF+2N4UtX8A^`4Oar`mLHpAEVC@W(U~1H}pU@}*l}!`I zlA_P{NA^-WpTh9WL4tHjcI;vE*p0AU;tUUqDhEUdA zQ>i*knM^*BM0=|AR!8+g5Dr+X)rwZbo&?%KM<;4j3M@%a2JdD|u8NsTgPsCb+>Cj_ zNuHpSGBK;BAD9FEr;_9)ZWyik7LsM{28=3?BUzkz9!YX2wvXLjrEi4{%gRo8+-ATT zs~-%+2*0}IV(CAN+{&xi{?!sbjZ%5%;!8!wLvvS~Oaj5sw^XHc=xAsp3rzF#7(p?Q zMv6^a|JhiK#P{O$&IXw}^blL9WUbMa0nRKxpH5L74;q_k>XwHq7vJ@aXOQ4t+Yqj0 zhBd4L7MkcYp}#Y%>1sbR3_9XK^(=v!xmgIvnczUSX9N9?t9Qd-X{Oq`I-6&%h&K0d zyZ-H3E<-_49~{^Y^k`2NQo#bvI9~MtT5cC zu_N#>*X5AO$Yf7b)_E73H}=fZt&wS2jj_&hLP7*Wj4ps%bJ zR&=F~J3d`=#``2FklH8BBRKj-1#3UFBvol^X3s~YU34C~Eluf5N~v@bzX0$tZK#}w zltX_Z=isp}aW&IgT$O{*X+? zuBRHlT4!~!{!2kzi8WUrFRUmf0$` zzosAp8C-=KNTqEWGdYInri87i64y+5_z+CK@+@*(4?bLJ) zIQ5~P6fG+Td81z4kml$}b=9V=DmMzQ66wf|>9&bFDjW9EXegCOiz0d7C5a2KonA#v zWo-qCWm#3TtH@w>T@r4uhTC!7*W4UymZY|Obe2lR>^OHXsQZLoLxM+Ec#4FT7PAql ze30XnL~zl0Ei|4hPG-qDZgQB4_YK9R1n@N@x5{6P{iv{?O5mKzUBJMq3mmJ$&E4T@ z4}j|4<)$9FG5K|fb8~H~#(DYmVAa`n6%oJ{(HlToGnNFcCzq3f?Tthni2BjoGnKR3 zG4l2gTb^$c;x=Dut1VuM^k$IOTjIK@W!^&EF%@S;vy>wnJ$fDTR?wGmS>W6F-6&!* z-q3?D&nX9sw-dYC#NO?B)9>JWk9_NuN0ftCd?yG8v?Nt_j$E647igb$GmUNAuIERS zazI!fZFc=fx&X~D+#sS!s_j!%!O^Tkgp2kJtXC8J-3WiLm6`siX1glbF1JAsmEpw| zTIJ4~Ci))e-?q3cIu`FGjhW}`>a;|5JeGmm-Snb4ybtWHy|{*P?l)65c)uSAF5zWy zu@4Z5wOS9LmTaITeh_fMmd7Gy151ff(K-lQqOKw=4jD9l(H2EB`Vc&C3xKAy@GF|Q zIK-Q%7FqV9T^W6tGy_&nwKZjYt@S#}@ecW;SusY7Gd^qlNtaDc<|9yi@)A*$amnU& zQQ0xo{ZVAtCT{?X9p+`xXSe>mF{z-J7hNHe4cE>$gRrQ7&ro*?eicy+a&WX%Co^Kvpoe3eo^*yUEN=R z_ATfswcS)*fBPb+KX-$?mLsIZJNCAvEwQAIel^Q}WV)`RvyKfHrf0;5N%tOf%aVA0 z%$s$clP{6)uPq|q9Q)8>%v+hkScf&bg2 z-(Kzo;|lLPz&4nSxX529lZ|LIvz|e@QrC0K9-fx%7eU=((u?)j(fB0*A9MyGCVM+W z+8H+}Op{#MZCpNeJsOaUtxZH4S@qe+CFUYHhhqpYJfU~74}n8(T5hs+lxi+Bv zfqS&Lj@)s4s)Or-w< za{V519Tz?|yMf-Lc3tB4N$`A^5tnV9%m3Lj)jWTUK<-Ilc}08ic?n8-{tD5I{s2Zz zi|P2068j11F52>u)zkRQ`QY$z)eat^aAk7-A^e&bHI78s{1FLrfuL7I;>slbW07=G z!(&9!KPi{=YDip}q<;#-SnYugiy?#g8PbGY2m-J<(A7E6U_cZpf7pL{`eU{>^YuWJ+E{TwK`( z)%ZW3hrcEdl^3>LtE-SL33D%~wT=7?W^8B$MiaAq{Tt$W7Tq|RJ4?FS9Z)y5S?8L? z-4_(*uzW}y0K;zU>b^+XN$v#z227jfLCRE`+?Z(`YZ z4GL4{kcTb5wi{;`tj?48uS}<|gH8LDH%OiMdJ?1V2ZD>Ko@wyB46^t5xn;o1n(aw0 zh#$%iWa%#)ET=j7%R$*5Cc(;Q!n{d*1F-#Jm|J|#OvuS>;j$u%(|0}}+C0ff@|ECl znROth#xV}&W^lR@q+2VIjI4cl`iN_yo3;I$z-KExL{#>kSeS5>J~y`t=%ETHspxhd z`**8Blsaogl4{b4#<{E`o={th9fl zt|QwRl;6W{Fv}WyQhK1ruAub6JwP9^sK&@$6Qv1iAZ=zv-;&u2iPrLbN19~Kr29x( z)ea0tXQDRFifFZkYJ;&;e=5R$_!_HO}rBVI$wk>dy-2ld=h4L4@- zj)J!}LQ(IF$AIjauaJ*{uu)$tD~@nxWV}^k2x#PmdDRWBak?7XuSUr%+ zm+Tj>L>c`s6+R9heZfk^vFc_VemnYk2vzy^h~J;O^;Tb|dmBJ^PTegLs=E1EFTe(p z^x37)Asof4Qx4Smd8su*tp~?ia|kz3$i(wyq4zz)*-SuacZD#tLvuo<3HW*|w#jKT zarHK?N>+l@Ha9J#SS@vIoN-$DUdcU&@^2gAH3GxAYqW6D%eND;p{a3vvZ=kLHJxc{ zZT6a4P7t|M1b5BF4kgklZU;JC20dP9{eBFa<8{VS@Q%E`j{kU_GK)`Gws%BXc0lxO z4Wcroy4=JTrmgWUtJuRKy+=roc=yks0{FT&Djykf9ZlR}vpdR#@r5D-PdK}e0Ll=n zIbOo~_9$9p83l1WrR87gJkk&^U#0o++z$hb+PeEO6!C@G^CJe`C{ zaIL&4DnX1bF8wLeZ!?_qV?<8A(^n#&kfciKoHtGOq`zRY)?_?In3@r0L7?qPYxF!sFLQhhzWJhUR=pe+RDq@SVth+nrdxI_52=K9Ma4 zY^$o!xSI26VE#qrpFbrK9!~O{T_K;*qfH(N*XgMGcg}MKBI`_~oan({mxn7o^KhkU zw$mWpVg@h!>`osqGnM4#ZG1|nrdgh-_d@6H2X&jFCr%@wi_MCF){9iUm1aSH2wi0) zxTdrOXp`RG=V}gnd1-8h=nX38O2tbn!_q8~fo&iJh+P7*!yXJQT*~LDRI!p^nDR20 z0ruh|=!~p`9@l6wm}!qfd-aNxtx02^$Z+>BaHZ;$$E_T5P-<|yY$pGwaO1jQwANm( zAk(J>h%gK22S{{t@8yZyOh!&=Nxw9bYLke6hur%41jzwA-dv*Z7PuUt)@I))0$dU| zWe(wopOw)3;>4!L#r-QqM=Qx4he6Aa8=OEWIUe#L0(H9)uJVeu#nO2abe?bx-OjG} z7RpzkE5g@ZY1OsxKv;0>UaaXRE4tDxcdlzHzCuCf&KG0ooK`rlz%1^Mb37G*Tz+M1s$LMFl>{UxS zcewnq8z7T~Wt7srK{+rkQnqI!+fhfaT6r;A+CKCgkl(fx8F363kTPYu5_fGkwvnw1%uq*190DATR zZsyE02UW85QiQWlUJRO6^fKZev*=c|_(#l4OL{rvQ&-TEu9(3qV6cyoS`I9wdHz6_ zI^7qz)FgJ~<~xq4i@9G3${MAVm^{CVh(a{aK~G;$YqZmsYj{RWRxf9{$hg)3O+maG zp0%GzbBPS48gF7bv~t?7f%eP)HyhmyYMObdPfY~2AH5dA_UeXcH7$D;gQ<$wfw5a- zxGCA_EXDKqmb@M~55cJ2c5V<1gGAGQ1K{lrY9>ol;%@|&q-D%QJ$!w;z4_fy3-eNQ z^pUzd?x;I*`%z8l6nD&=9xG~@a20k}aoMt5-Ce=m^-U1zfzidx0F z$`N0!_kq`6F_2ujADz>?-w(kSRleh9MQxQ3K*x0?SrOdnZG za#y;sd1-tC8uCDLnjXYR#ZhGLEacianz8>$VCAXha9SM0QU^t8`*z$YC!YeFMNx^u z=ctj)gOO(aX%N-|oq$MsdO8tLe1@1KYME0zm3=Sbv*2>_SDk^8QZM;xzLjz4bAaxp z@E5s>SYb=8w(FEuEaDR~r+*&$I2eX5^}mvbZK})6<3L}4EFMC}Q=1|2q8gL+;vEm7 zF9JUxwh)FmIm}}p0MR3@tKTnyw!I=xYVuEg85kESS6`&YG|pGR*%VSw2K1YJUnSZ- z4CaO=1B`tQ=+@q;ta33c`M7e~JLtbI=>(!ZAazwq#^m;0{~JJWw&s$Nf}fjX1C>pe zJb5%aEZZ~R6dGfLGt9uc4H>rBhDQ2&z9qa59jz2O_H7`CWXh_Q)HbH?fEbg#QPb3& zjfZugtaXcc1m)&1yU6`InO^|A8M2E`VA=d43319-RIHgP^pcJ}R^>cwehK^^I^S-S z&^C-fM&~#Z!BD=Q;z(Kx!8JCij|wcjbi{*P1l6?`keQK9P>>(0eYHCjv? zcNf#<1Ch1Y$1jt=O}%+Jv1x}KX%xRg^v<$qqd%x7^If0^%AocR2+6+O5uwn26|`+- zXkw~Vpzi_NXBZlb8XnI^Mt$n?*Fd?cT_~cI?;riaS?8p;04Q%q95^l9>Av z`|NB(bwmC<)z8-IMr3&~R!U>+=oAp<-zIiv0+1tTT6sC+$o- z7O5PazPzbPnm&(E{w~-XS?t;K7CQF#i0xhU40Kyjw~Yx!F;4TEmLvP|`}{)w_o0OA zVJ(e(zN9}UDgMpsk{Odzr2y;sLUs8+03~FJ)?(-^nCAoN6=Hxkch{&X_9rBg*K?L~ zdOh#u%L_qGw0{VvtA9Z*u&^&KUrfP&1j9XctGTS6d%RgGu|EbuG?e*pY)ASNa5tM# z#U2Ba1<9WhzcZ?1WH=|JD*Vp`8eHe7Rxoh~{qrg`Wrg=s;zt)>Ckwm7T5D$?+VkvWmr5?H&m2?I-=T_4el~N%i!*Y&?El{ z>3ub_YWVyUC|ky~?a(YJ#4eD%{LcWE<+9`d!teHS1h*^kuYwcz3;)LNPM+;84SFTH zk51n}ssH{m_=C4SfqEZ@bzvUvJ*$9crP4uVaFT#^Yor#urEmil_qt&>AA zIZ8a|iSWyaiWySODMG_kixg!v+snaTIZ>FBls6Ezl~9>-1<+G2&z0~fWyx?kR!}=D zLo%8h2qu|wK)9Z~Tnw>X4|J_zIeEDVzYWB2(4!_lu%gg_ z*+vq}%fU)b6xE24N}7@B*-5>1UAnLdyuA!$g5qvakLzBTQXAZx!C>E~_I-*7u`nMo zTN<*w8+$}i#!|Tj;=AV&Z!7Ry7RO*4sIlmH25D-Dys7u8%mr4#dG+vPA-@Ck&6J%uKGG%KI)5keI}RO1(d7-T2rRY>V8a+h-4%}F)m`qX zAVyQFMyYqwiT&Lq+8uo_$MVAfu?KkNHoL7bcK><)FW%gcNJaM18T*xU0FsIgJ=ob$ zMy!PucDsVv3;*CXOPS{FVXJ*W%xcTcGFI@p{Qz$qEF?=@Y&KpeG-x#XkhGn9CHpr6 zsnAd|1~JgU4hUMMex~UKXa_-)7q-g|V{6UYssx8XxizX1IfliuHG$|xhXubT=Suur zz^}}z6x$IXO%*1hnxbT^GI*49^F5F2@*6JKSd3Kj6om+M43vj2UZBdn-U7xR0VauvJq(OqDm^9GJc-2N|5w%S6Ei% zL>4TqriZk&%7ihc)eOhr$!h0H#%L~XTV}jsk5g@wno_o&fyN$Yw8gWmq8>rYrg+1V z4!G>9$SrE_bb;f7-opXkRsp6kOgj<_?a(wW%Iu2D6Et^_=5R%tVXrtjm7Ycy;AvAM z&m+LR#aR-?P-KeOY&eIUpB@S7QnUrxHWU}sl-Zbb+?7Hgc1$aScnRJK*FLunt-cAl zcxs(c+b6kX^$Mr1nS3VaWy}thTvs;jcY!jy1Wk)<>i^2}XBgugP{uhvEv&m?Jve_} zuasmDBr6ZRUaQtNG%knMOSqz%CsKUdWqRQkqsz=+#@0x7670i9hnMY$(Sm8TPJOd4 zNS*@o@k>xEWt9;(+^q1YVR9>m!&3JJ99d}%;s8-yF13}=2mabV-%t@_!Cl1c87sRX z(!9~DhXem^5Wep=b+kpc+B>~Gh3d%?zz7i(v^?vrk}>NBTQYiADZp|N$jE!YcKM++ zeFu~=<_hj0H|Tcp!lWguPnlHg?omIv+sq0b?_}+{YH~e5{3UzV*NDV0WRRlrVE&gv z7v+nq0SuCB5f0l042G%_J<+La^9+0t-od-KOU0bGN^}mXpi*I?Act6IaiurQEZ?44 zuG8m({R=gu8$!B+V}_P#DxEpC=O|_Ifm?Lh|Ns~3ezL?+-0EW z;Q9(Tpt)`lZSGFWpkqALlHG%3+s4#sGcJabgPv-YBIDJg0qs(1w(?LB9E&1{;T{9H ziSr~l(A7|)G18*FMAO|%x~11jMZptJc9u$s@MAXC^b=jaTpBp{Sin2%h@u*2Xgqlw z!1Y3m8l6H@mHA+dxV3gwpq8PJCuW^s^~zC{;X*cFN)yHHP)4b>ONVh{H;*MRWT(_E z9?l16g80WVTQB7%p%0g=++(EOa5AtMx@tF^Dl)SH=s|Ob0_iJ)Gf8IPY~E7`-zNde z&dXBgX+pidk%{|;*LnDiUR%bhNKfuAKzP428*xgMI@4p4xDL9>H4Dy7?#ie8_~KaE zq%j3x1l0Z!(nu}>TVC`g{Tu;*={2*W7*A*A=6W84Qde5ALN0liOST(K!B^e_i=qW1 zU0yKMqhe7ULn>APLmYmUqnloVo1JfzQYwBL_zgY1U1v_+Pl$V|=E03~hfyv);T=6v zCx+%RjLbz6B~XSVjto^8`Dnz>lfft1=J3EHPb*MGCE|Bf7zc6yy-aEbAdl^YlZ6)j z25AYZT`s^(3NSbRBh7J(Z~* z<(gur*t+WflyzOR%08v~c##J$@>=~phyOK(78tcpW&m{gQ z>$*D|8yXrq)K8=SN$8&@{nMg<+SN~^#%$Cmjmrrys1H@YidyG zni^EPCS9z}4T^hnqvFuqs4$xw6=rjz!feqfEe%S*7EQCIK_zI>q+2xU7EQWM%hIM{ zZ5r05`L#7Fer>uo+ZvU)ZH-FKHZ4S3LglDUS7V#5#n7E% zn^e1QQti4)wd*F;-lT+Y*Db5PNfmN?lPcu)CQU^*w|3p!+MBg3y4AJoR@bguUAt~| z?ai7>v!>E4RA>ZJbo@wieguUdLE%TEs0v6ls8Zrba?6jj7k)%eek8a2=;W#~BReAEINvl2$b4^9{ zX}&ZS)wTK3R8-gIOH)xjJkg{Jq)8V@ldcurDG^!~R+BE5CS4s(xlWKfKDgm2R<0H?Sn3l6i%h{ymY|?TzX*rv;oK0%bNi?ZJ2Qejo{7AFmNAkyy zv&G?g~VA77eEo2H@!BvMmR z0`jG)v}r2slE0Rwc1@*SQ)$;!+BKDSElazm(ynD`*Hqdyl@prE2~FjMrgB14IiabX z&{R%nDkn6R6Pn5iMWtCasTMtK^P{LVs~Y1=QE6^yc^1>`wlTLoWA88!qrkHP?Y#47 z1q`j__>tIifL@F7{Av`9l6EY3F06Msv4)aXXrl~04=@fBdI1}O#hwrFFv?%;s|z&x>mC`yV#4Nv-G>b zvhH#>bwrLbzXXoTOg?`OU5UID{KJ(w#r~@oqd_6Q49s0hA5==NI@=^j#*F-Oz)z_> zTDo{WmMtH%DWjN}BbxdMmGCj@ZFQhs;JgAUf>Xp*ccj>*sZL{23|gBFFUU+1G=%&bC69H(Uq(2BKDR;#q&i-pJ<` zcM?FIzLFbeCN91Sz;^2^F*xH-dlRm~zZux1YQY_2ax1FfD+8IbigwgVUoe(5yFKjd z#X7Ka>Do=C-%j*q6D^l2+W2=6zlyyvvMw8A@08T09F-6{ zzwaV?d+6JgN+HKi%DaJWQI?v#EiD!AzefNQ`Y2q7`Bla7UI1%_qpOMc5p$Sw3)>R} zp~F3TtgEi0?)_kPVe|D^ZmUyIu|*}rycFga`v7D%YYV>0`gyrfmF@NqifF!iD$|eW zXQnTn{}3_z<&GmZcOZdznj=ao4aH?hSFxFXSCIIi2mdO;W&D1R z-}M|TkfD#WBpwD<@7IW1i5ItA^8D)(h8XV!`M)7yHhPMMZ00u!FUt-ke~aJM1L=uw zJcW1wru5r<-!PS)7)t&Qq2;C7q2%`!YQg`3paSBh5{3FhjZpA^BnW3ZhksWP&g6Z2 zPulPCy+#~)>=C@*Ct|HcxM}Ri7G)TnMdpS-5E{uWyOhOT_WXs?PxxNeee11%$nW)M zyZ%UiP9FSYe&mpm96Xf=`JD1;t)71ZLfu$MmdF&VuABH%kXGP4b#D0NpAp=tyceB0 zQ{>KE97#V=DE>Lnl^_nJXR<#fyxN4N%Kw6IIrb;8UTm&x5}{K4C9!KwtjJXI|4Q(T zn^w@!|C-n}<3%dRE7o61`%^z7Vtbd45MOS&c+QwgGk*i@a5W*jaw6q9Z`@}8Zw<4~ zA-tR1rpezCD}L_ga*PULehz#UaGW{hXu#j|xj~j^~Z?`x&&0M7JpX zPhrrV7Dq&j^It^Sdk6-JoMdNI7hmST0j<)xkYiI1Tfxqnh@yJzb$o5)KDU`E8jp*; zp4jDi4k|Aru#%~#Ks#S9k&`pI+zkY7iJgKrn}|2;QUN?Ocbh=V9u?pTfW0QrvX20B#klN->?gd|G?Mm4wqg7_ zVz!tVGY)IO%>Z_m1BNea~5YY0@nNr~p0o+c4he7mvLDHP5 zbJ-=qk-KMJvEY$pN zT1-*e@NJ;%F?x*}_|R~s)D=9sX#EBdcJL;+(tMKUSh#c#urrMS_Xnw&#dwQN-OkxN z%N0GUJtl+zIO11hM_(kIWEZ*QHvyEnLHR-`PYb#KtC`p}eZC^3hMpE8R!J5*@wqAF zTKU|n%a|?g*{pZzB=5b<6g|HU$QBLhnaiiAvJ21t3g^9g1JKDb}-i_z1*ZN;7kWG(ZSudLf8NOhl93F9;xDdQ@*5~-;MwA z9e`F-ZpD(^Hebj;g71|yB{{D8NWyD5dXL6qPFLP3F@5S@Xw%#}iCG_UuInQ1CcJd< zbf(32^R?2fWqSx8j7$tt7f$yylS40f>kQS=Vs>hZ=YfdYBb|{__9ag3UGg5Dy$<)3 z@Bu2-ahmXEi=Z}=sV5Gk_7T6)&<*^x?jm+Ixe`XA;oQx4S+A}7oKHVkJ9JeCr0j<3 z06?>E?PO&~c97`x)V1j=ve@*8h%?uinP_8~F&$tS_;zWcVH=<6PLBe%0?BEUBLtgV zkGIO2Q6x-zqt2#%=G-pN%WGQ_t|dakS8Lo+f@`h6s9K_*A!em|8H)$92rrj=InEK- zDqeD^`O1-wDTS?ju2{PV$PI(+?iU{|38k6R&mW`1>gAGq32(40q*KZrASsD7?a4LT z$4V+w1dk)kRX9-;)in)DYz&-rS{_j*WDa-P0R{`HMZVQ5DJY&jouhf_!>xDQ%QhK zQFG9aP+^o&vz$P7{TjVt6Vjdv(Foz<3%M8+8pbQAqU& z>8BGL+|m}Vk2rEY1L&5rG=|+X0m##m_BJ3PMH3enW&c^g4hO|#CL<}MxJeN|c8p7! zjvae8n6htTshD8U@crk2@#E`qXzG{i(b_s(h}}9Jo|^G<0xFMSm2Th?D)^V{<+pgj z%f(w&u#|m(BR%Q?CrRz)I&=&(WxT<}T*~GZQ}YV}2?-(f%eGv(2#SvuCA2zL3BuoD zVg05P4VRxwCiesdc1|zS&G0Pc_B;^k=0lLWdOk?U=SR{dZAr z*a#zQ>lZC31?%S*gCrBXta)BSco}goxU+eyw} z0YY#&A15xu{W99-UJ3GxuDcYeNckq)uBC)3HfTx}O)UUP+S+YXwHICO(iC+_qpJq+ zDr7nw>IY__l&S0wuLg5(MJ2~sUr5)L!gviByKqCs#jBoNiMgkdCLM2VYinis@>;-a zLlKF#*GYm9b3GNvTp>%X-0J}^OXug_P>U`OD2$SC4CtzeMBAHcB{vy51XL@oFu_H0t430Uilvu&{RMlGt|iHE_4MSRrIu($@j(c7V#Z^bO!oGbOEN?O>*M z>KkgDo3VqCi?x$|q~d`GQ@GVDWpEG;!2AXZ;y00_PIIX(#Df1Ai-)r-ks z#aTQSY)O3w^q*h9nEaGyu)JJsenNV3jjRP(jFiv+*W7u)NnKnIoWugsdk5)oC@Xg~ z4K_GHP@3E!CSGz`?iN_t+r8{>4>)6*CZ=~|dQ9)d^kRCirpIVZGu>!*B*{LcyGgnF0b|4idzoh%eCY_Ap1}b9;V&q2zs$)YGMV zzQm7Z`?MCu8Im#b7J9>003+0226?nn&G1NVV*&jN3Df=DLZ2gjgM9};t;lKYwsl`6 zWx|ePnP%!^SQ)&p1*qc5n_KzyKt@SuTlWngW#y{X=jT>_(??MWZR@_}P+IlE|7|}( zD+=H76SSszr%wbQUdmbfT~ba%4Y|vQX!2|Cb}5>C+uHB>DO#Ugdyk)@3TRvVeNs+? z-5-H8%{wc|m#daokLkyf;Q9o4a1@JSWqJ!E8sQjGN zGdXzy;TQ6AOR>z)U-EO*)>^G!PSN@P72jj!Th3iDO_OvVN#k^q$BBqS`!#7JIlz`6 z51`!7=UIFnRJC}3uTgv{^CZyU@I8D7XWab$Ex#w3sLa7S{*Lq+I}5cg4j1qZz}T&i z$23>J2Rb(n)zd%$cNw!Tzg0a^E`GyS-;A_16>%UuA!m68Ii<=KX%RntRyJNML;G;0(Tu@vgxLShfx3>hc=Ugjt1(w zDKs&R0phBzr83-fV?j`ID_rfZ6-!0c@#BKYW-f<~@gytp(|2oSY)Em^eG>ppkXBM4 zn>vxy@she7rx2Ssi9}UX07r2y;BKgTjxS$=&SZd!<0}Vvm=2cZ+%Y%=rhuS$kT5(O z2e?ruuXrdPrUIHQrA0^QGytlBY}2^`Ivt1_pdE6xvzjnKXMmxEi&J9V;vsfs0?tX9 zfIH+dHR8zyd)OuW@;HkuD*Ez+#nYEIFQCv-oW%B*@+xxkL-E_y@3yNJ*%~!0t(Qazv|gG@0F&j0Fac6Fh6#|;oQ&0dRx}&pbYMx)1EgyZBfbls<-tdb26g z=exn1Arve;B!5=|ouKGjuyp?(QiBF7k~*@;w00(uY26zm(|T1FnYMjNWZJHdk!gEq z7MWEKOCq!Cni!c?U0GySKRk)d>PN)LtnSVtv*wXWWY*+kWY+A@BD1z9iOkyG7@4(& zbTW*c1938>9*mG7=};D#)?yNw)@w;!6qHFf%|?XsFo-in>>PqGm6TlqJW)xdgU=(m zkK{9$i`rI}Gx9S6D+&2Y?l<{Yt$b8w{x#La{A)a$e@!hTKgX8?3HeDrV)CzEc{DTs znq!Ii*9_YHYp&zh?3DIfom-P@eKZJ@BQ2-^*8@;be64AHOdTR^k4+)c_BcnR?eY9f z>&ex*wNC&X?MaevAX$2H_1YWxm0pvzxz;Cw5U&Y}VKXaD?M>kB}Lvk%}F0E+$dTVKe}>23mu4Eh%VtOf3)rfN(r z>%&-fX^PN`qPe*uiuYm)p5VB$UUn}b^$hl31IJ#qPZ`<`szDAiZD)6XR@jcFbvm46E zKI_$_jW=nXhp@(oBjRgFoElBkZxO#1(4ur}sPFypIuNtMJFXyDRq+6J56^@dU)j}X zAM(pF$3K_mZ--UPszq>Mer=bF|LZ=q?MheKf>ex^L z0XuqXL2sg<(L3@z^XzqwH;_$6VuaMBR(%X!KJFYs7Mqda6(^Q{yiPpzC( z5n`QBt>4=yVK`?K;@K>ZwVoxOfAY6&JB%-9vmW{6Y)wCvl?T zQ2SJ>mvv18s2 ze1bV@a64A-!=z5MrgcC0BP8E^Mpo>jcpeu(Fey@!VazWf6PvSPTZm>6Kh?&fZ1Tlcsg}sA_a%MK;plxm`=sa+W z6%b2Nb{`S68kg)EE^-)VI*FSuM<2BKt^-DZ)_+uqu^!RBgnW$DaS^HcIBBDUz4Zwa zrX)(iCxOhb+uNT4YjRSrej31}gx>oM>Ef;(?4{3=X4RWmZ+s3QfkE}XrFg4<9`M}k z*8Kt~^Xsa-&|v``6E*%v-0NNB4^R-zbdT|D*9`rOiL-^ z>jFz5^$lQFcl5Sa2o)lB<8P8Wxf^k`?(Y<>9_9WPfYVrHzs=usF6C~m@_b)$F<}J6 z+1%T8AR*JTmX_~;e-`<4$jUqUTH(IBB1X*EH%shy$#MR1

z&?;`Wc#xrXR@!e#a zxw|4x{#>cl?XK5OSv9@y0Ui&{TtW2+YaFZUJtS_wbXiivt+;sU;$>U7J15Q5vUJ78 z3>DVhp4zgO6&KTtyo5)*#t=2)?tLGE(|pcD;2!{6>cgUq7{dJ_xa-n!GxPq4yz3j! zOJ{`}<;UdTa(wys`DZGjYTOH{iyJ4UJ2K48ParWv-x9L-SpvQKQ=qC>528rrOS)Ho zM&il!YLFVe`f~^ddo>9D1+c7M4dVV1+~euhVBTMm_jr3XnEyWVpG2<)N&Om9C(x@w z68A$w6jh~I?&gR_9qH#EAbAjZ0TS4CxDD<+y{gXBN>o?d%CGnphNKhJ6*EI6UE-^n*5 zO|Od#wvyueAC!MVi0?$HNy+_BavweQ(jL9Dr#Sx?WnUQLJiWye3H%!ZPmG5MYr5FS z3XgTdf8d0GLIL4P=!E)Y{tKCSc(9MP_!DHtSs!eJ2a_6q zc&6!m%k@#k^=XtxfbIa->5}6zold5KQ!naacTUCb8I&BJ9n;xO$bKf-kDYqPRYL`P zRq;NY!sS)+%q2EC>j<*O<3l!GDy)UUSjH6BXHhg!qyk*0w|G+ik>r2usc&+8Ik@Mp zoG{TooNA@2FbWpJvtz=Pl0{%N1cpFt)V<;u_hTr$uGl1J9ZS~7o%*&9Mzx5sKMo!) z3dv7G<7ZMBKUB2{IK7$?AlkVSp$YJ?DO8K}QJ}YICWcp(&_oCgfhehw80(8k6kb=9 zlCw@G>k#N>_Bojt>r*Jdu5Ol^dn&oFKlKB_Np_6=X)q98w;Zm&y>dyh?9<79-Kpo_ zteCOlXHYyZTL;zv$EweLTIQK#zF{a-OBWm^S%PQ5$EEcu;YV0WCNdi$LolP#1F|7Z z=3x#z)SXc?Da?h!5QvkR`(ldF*%V(_oYFGSBlA$~R80AHGB5PTsxco<Qh?)HR6xxH7H!#LO?^H{RKrv{D#FWw1}b`)&7$5FDC!fhhXqG;w+&mv;>BBH`r+n z6I}|?r~FTAX|F#>pDlx%9VcDIAjK9a4#k*rUOEv61?Bv#x^Fq0G&<($Q#%K0PaTSW zvo7GNURJ7d=faM>W827t;wqO-as?!xHpDed@eos0%)t-O&mDIavuK_N%^{g%0=<~# z-li(K5{4R{V;Uve3eh3hIK;eBRE^pwyza&!IqNF2PBu$J$kMeMK*Fm8O*d+Ys!GJc z-emUHz{SNOflN?svq`Ll#8Okkj)DCyl)LfM2vvF=xbav2nqKFiM}q3W^C`ErUNvL6 zE+E$sZ2D~T#>#&P<=5TxrRH8w?jbl(b5nuy0Z}b}A*I(nP)o^s5qY051hcknx)e4p zhK)<=2~8aumq23(PDRY{3wOb#l)a`N|A{#_kaGyOdA98mdDsXKb+>t$6xyLM1d|PF za=6_$QEuJICYEb6xy~~!vEKZxH=S-F&k#;fF`h4@{Dvo}SnjRl9*VJ{qhf^nXd7kM z9~((IFDK_vj*TQ9u7HQe$3_x`?NAsBb;`T|8gBd@6kcDQO3b>GtV60bC33L~E*jUG z5=rbHqKcTABXc%dqvHQzg3^`nZ)aSbSQE?t)H%-Yfg#&|5H;_cc|D0>h)Qg}FtV>uzwj&|y) zrbm!;Ar7vNl;k0(JYM&gDUZp^dC!USi-1dOAUCd$-4K`}G>J+*us=xpkw6yvkf=*) zfJ`3Dsoj2g7&7pUE+3@a{eZ^uc%liVPfAM(XP7m=R`Z=%2CFaic@FrW~5ZSS8 zWj=jm{1?q+D~>TOStN^)oFUH<$mSk@IJd$oey;_(S@=~)C|z82xZGV zHT<%=-*hd^wH)SM&JI@U_XFGb(@Id9tC1sMhj?Ttt!(p zLENsED%mDVklelfofWP;@a#|ZFt<`j-k&~nBJ$N$m%)GlN@3y|St`^DHHx`D^rrky zc~GuIP-~I-WjyN_?m60!{v&pN%TnHCO|7m5hO_EU50=j4F#rS8g6)ogS`*X}VCTeY zR^?%YaxEsL^uST@*=7W(1!U0Vvuz*ih-2g)NBknXz*TaPw2ddx3#QELAhY_?5MzOA zs%r!i_Fm+3@iJF<%hHxdlW}rV3tSI?K>z7geGCY5y4A2YFVO{YrEeb#Mt#BNnV`pk zNYuMv{y?*a+EbpTdpzjVLM8jyPmnU}j$Me{0OBU*?yL&XZf;m}4}$?+mI1wZnR|$c z7Q7Kc(hl~eAWZ7&*6wEBa~V{z)t)H)hC9a!V9S$$O$sQ2Hup`WuZ;D}PIbRC7a5y5 z77JD6lgX4dMFzOkb45bIQcESdPl4EZJmlcltbU%Sl4nMDB31StPm?;u`le2uo=zst zsNLjxT>LzP%skK_U1J;enIxSXYuIRu=6x@=XK4oN2xqtu*ND$1Gw*chmP^5T4mj!w z)S6jxwKS{ypH~zH_1AMj+IbT5M6`lTX3vAqwGc{=I{`yt|ks@ysKF7LK7X-fAI^$6GRa?MeBBNP@dS|-6C4)9X0%I1J}y-Q(97oiTFrhb-SHEb)3wy0^!rO#E6-5I$Q%SYj&wB3zcSfY5YLB97 z`+gzYUh;~)JT~|NK3eK75PTi~Z5BS15P>Bmr2Nt(E)sN5Nduai}s->fKl{ zZ{5o&uJ59Us;R>Tehk#<#{W>dL0*)z58rwp2N<^k^&&}J{`7d+o}FQC^~$y`?DL*~ zdrs|aN$RTQs|O`urZ4%jjoCCrN(8JU=9XPn#RztJ-pe zIP6nq4e$EZIiha_?rNKeG0cY4v{pD)OT!36u4w>;KsV){fhy4#8zGq6*4HR*F51FrpsiRFhS2I=Y#~cCciW8pFz|sG(wkK!ym++hDHxJ>jNQ z#Y|2nYub`Ht!%l|3sF%Z(!eTAHFWzbm7wY zOh_!{{XCROH8UDLx4YP%33v8XO;m@2PAgkNk7dD-0~>fhl_#N*Qz5M-uuU2@VkW4d zW?67iIg}A}Ks44Y%=+`IlxG4zr*bYh9lVXo6fu}pnhAcLg|aUmK|2k7m%6o`xdxe7 z#W|VL?KF*Fm{P`-(Kn4Yx{ZmbUmqj48D*hCwA{As{#K&VJlo}Y`J)B-ZzEaUbJ-0b z*YAJ7CDhtle?Akzlh;f=#76%@$(2ahsqE-i|LTAnm`UxsGg}F%mofG&no^!C{l-r) zRk%~o?b0F>BbM!~fo3Vl6UcR&A-9v))vM?g_1YsO$2obKP(5#XocZJs?)XZoFEVy2 zU_UJSh#Ghm(GwF@RfkQCqGDev`#xHAu)iiTI{FU{<~EcLR+x1T9dEvNuRpEU$pvjL z_wd|&y26p1>p0q~Jy@-)*Q~stU7|Q0kW01c%T#iySNGL#Y&a|T6#Mh3>boQDFzq9l zX&otAVy<30g^(H;(+Z#cG7l?N8(2eKc+a%nbqG1x7M7HzP#;&!K&g`HlT>JpRLTY+ z)$vAiyYun}eEL=@P=dJjuqMTVH$)|x$*G3c@ zN|*Po%(m?_l2HY>b@l~J7uYn=aXt&oKJ~5aivz`8?{kvD(lPET){69bU?VmdSFSJc z5x>-b{5F+bu8XC)G{}qWK?6(B5}Y$GL8y4PbT5aM^^34@m9yY=9x5v9p?}7B5~RNb z>9}9!si|GGT3@DYxgevx3QnwAQJPHEr+Eq`nR*iP#YGt%y*Jf@Qnal3T6` zd;rL&RL2LgWn^^l9U{FA~UG>fVwt}s>5%3 zRNq~v3(ut{>-WhTze&>g07`C#Moa$zrHhk!ngoUGBzKCuTSgmhfXrxa6J{1qhnGf3oe=kfn=MWv_AIK$KKaIMmR zo*9gF5p~<#N1-QidK4)cW3b;j8LZ$QB_Ra5G=sPrd}t;f5zHOVTu1<6N7j z4zTh7tSmBTRtBm}1zyhA=F~j(8xZ3`4o;foMvDF|MTcJ!Rx4syZgTr}Z_&N-JJ937 zWKNpX`u%Jf_&p5B^^wNLl5KU>%6}m1C=oX^3jWCV_6$-?V9AS@(9o)o(c28#pCFhu zBZg~fPEqY1Lrhtgvp+*fT+SP-q#@+{xOkS%U!Wrq0~(_v)zYeo3E0gnbO6QDQv2(1 zQR`Gk$4+OVdiuQDQu`a!TEZ>jGvKRYrfL5UcB$#pbVh;ypunuy}mFmC9G(C!98}Hu$v(%G@xa-Rg6jPtj_zxu<%4qPqB^<@6 zMk18w3Vr%kc%htH*ncVPiiYLXSakiDU}Ca0?5yJ%h`bFF5mq;V9t0r?$l2HcQv0D@ z2XMhC7nGNa?XCwyX5yk{_HAj?(JiNuECG8Bb=e#0{h}``+Irt>rW;G|bTT$024%Z; zdg#I{sVm>tyLNRzS4%GW3`)jxNh{f=9*XBP0Zg|5|D6?Gq2U1M#w#Ugwn`&F$)%te zHtklfErJ1ckT>%~iJHaNk+-TZe_ou;3ePvMXPQ)D%cfp&h+W?z5=Y zvmG)O2z{mI1xcy zRu}6dVL#@si%}&M&}NtcXIDCji&mP|IA{npWJrzeBMqpgz0+nw6)#T507E70fa%%( zm<8r@|A#Gu?K!DgX2X`hKSb-2yy@>B()FW8kEQ;U+ zZ?lyL@cPRgwB0rr;y4dy%`4^{SG$23p3Wv)GeR&}F-%&elFFS&xe~Xnk$EjC|9tXq zr!CFqA+RPQSzT_b=sLoQYHroaRjn5UP?88PfS^CoCeE*RWeN?Kh2)b9+G*NH<_5)d z!XjwQb3?-#uOkC_F-TluNiE3FZ=5)}R)HTDuT>BFo-S5emOw0OmSksPb}8CqYnWRK zYSiW#Mb%H`SmMjb5iw+n67M?2xy8o$Y9VVvON8k!2dSf>mXHP6yrN_SbOpG;X-c{O zSiaAJt_0vr>q@_c6tS>|iV0Osq!z6|W$kX-2^+!JgRT| zvW?u0Z}E5Wc)Z-~bmHyWe-(6+&OO>oMLp4|!E8PDS=EIlW1d6u(e-H=EmF3SyPRatRr{hgGq9mMN?YDvT!~`vNpIUCMYR|T|i-t zZ*aK);_=R%Tv6!fp*`_#5;vX#9v-Fz9s<3_rH9PwT0neGTo0Z2iwg~#^HS_%>E&HW zd22#4X4eI?u-L5b27|5fMdb7s^?HW{vL={=Ak$(OlfUsZ0&_@V@?Jt-Uq5T4Y~Q|X zNL&gDf2SBH5jwGt9-9RBdb!X6cfXA84bXmQ#z;It+J^IuP|up+QvJB-IyU^BBB^f_j)rnV32bWKe?dYjR*1&oE= z?S~3IhcWW+Eqf`)vzLK)ZaSVln)U5hTQy<*+Hz;uZc0g=g;Jrfz|H1u;4MfZOdH5t zZ44xrgSI#ct-ZfLjClo^OOh}_vr3I2x*gQ>lTai4@>cQ|Zrcx3W%lB_rkcHWka?ra z>=yrB9kwk@AzSgX<(k8xd|6YCfOkUX>~0s!AQ5L5IDX}~m5*?nrZ*9DH<-&cQ#$5L zRrdK}vfNoH^b&=7ptiG8b5}U81bu4v=4!Q4HELh4#oq&H3a$_x0|yVX%P%;9*8ya@ ztN4y0@0FDg+H9SYt($z};Y|bvKigg)^IW!oq;d0UD;Hn(dbspnm4+l36r+&#fi&Au zf&u(gdkz7$O?x#6D;$EgP$u@G>9>c5NE(4+Y;MEHqHv^GIQlRUF5A$1?SMSNdLTbg zs@cMftW>H@Voq7+PTM}5NOxBBt#k<`AtvyW+9_NUDlEZL+Xcd6t5$~lnZm^o%cHZk ze7WX59Lz-)Q?ae*Cy7H6LVN^>Ef&$TZl{hIb~o5FxzxwW30LomQsrQ&j|4nR2cTe& zr$PqEGAusY>b_=Pva5wz)_dQkw`YKRB8A$1z+=VuM%xMt9LMyKbXmutq964|jCJ0= zLj|-1nbCABc$+E(4*}lGKCLP((Cd^(vm@Z9Y%jE?cI&gOt2VZG$Sh)tDFB+%Egu85 zLdW4^zgyD|0GZd_SsCa#v_0?D)MP0=7(zM-(%H5VjglA*l5_~1Wp!}$B}ldjMUWTP zK^FF}m4f|Czxq;>T#wZkQ&d|W2B)>V4$_utrBCNZglbi0XL8N#rc;Cl)O-XX@AUzm zB+~2O@DwABS0;UlmH^YVRa*^xO~yaCtAIKx&Vaxy(hXCeW(_b8pR3?QMzQvRK2L1};92ey$oQB?K%8#4 zH`VkB9tAkVRxLKc9ur>l^ko{?C(Dqj%FIfTtim98GYu6d$Uf?IfYBmw1MXoqRyE_b zYNvhs-1u1@EhU>QHp-9E4b;tNAMbkb7A4{7Zub!%lSWVmSl}`1$AUK@R@ujqx*#gi zMsNeSBpweM&))X-`a;)P(ffM3(!5>VS=qx?t|NsfC}gYfn6*?i^x{Et)thy~PLMZ% zJW9_bYDTz`?~%%!r9Pj?=UF1!>g!2-jnT+^2(W;c&`qR_R_G?-$s|lx$ab{o!RS2& z!0aRdml%&Q)fJv9q!fZ_rKdSkCc$Dp9l%)%Q#`+(!Pf-$WpSQKDjvxFgUmsj%SVdU zN?ClU)zE$xu+vC?w#&JzTpF}5@jORTS>B!OtGVa7q|Q)_zBv%L_8A3zo`IT`vdUeu zqi7{ND&-R%5SIySgi1nL5 zm4TuaK&vLbnbc{9Hx2PC^%h_=49t!nANp3H)9tLmsX;IL?j8cbNsu$|Z2(>PiYRbz zKZBs4;|nm$y+3*l*mD>Q!O#=80`c6=0Z-Fy2sm6Nk zT_7x=NnE888_s(-Xp<5;<~=4|yqYPca@5U)_#q(}NmP3B?Eog|@o$`MI+13Qy+R=Q zBP35#lYt|=aj>0@$UwF5QDF0pI>rvgj{;&*RdF8!>r7IRqL1@)w41O<_yh@~>@3Ci zC;1*JOPj|36rY6XRJ!{1V$U(PQhZtxr33;t64FU8WuGCD_?U%qfoPLf?^f!A_gO$r zN_EZLGGa!}hFYy!+>dhpIdGYUH5Fg^G|T1Zftsb(F!cpe^ipdQzDUBf?oMtZvFY#Y z*L5|pF9BQXcyv45=)h6#E?)-sY=>(IIE8gk;d}+0seW0i84czgD!Y78DdJ|B8Cxy2 zX0jXns^HkVa@OWwCN|>C()KlQX6PR7pj}I>2?Zbeb)fSclTn00-TdDGX_hM{PUM@w zml#fiVPK-<;O1MP&O{|(9Ik4!bDKYRe;e>Z*;L4RZ#B z3TxJX?|VWcfMW~Uo*yVn)PZ||FABhI*JCp}Lc~nHTNdT@`yeijBf0{ExIX}Qb^zBF z+F50^3$Y)9Fw>^S8|FuVMFWz>loc86?#GfrG(a_yJ1a(Uw=pyC1w4a|vVp5epKKnC z72_vB=PRflkIJeMqw!O)RulWSpPQCyCSV)SSgZ*LOm9LhmPb+g85u94yE9N^n~E}P zVg<)mnx8{K={V_yC<>g#nY_Os$6QyWIoYwQ<)C8gm!M!4EXGx7Gj3AwlOF`y z)D0zUXsQ);=c-tb-h%;66K<@E9{`>PY;G|AUp)Wmpqy>*%PLcM9On$daSOwy5>B2m zKF$PZjvgUOTH_eQ!5FCqol-1D@QJ}k#Q{&raTX|(MW_`#P_K~yP><0qwV@-VypGa@ zjU~ivQG4}GKmC@3HyRXYa&^Z1h?26QRLpy0z?_8iM>!Zv`eapXFPpLeYvTYcNbV`R zQ@fn7rj7?~VM?zB@g{(`Ji7;j=o3Ldr%q1=@h1s>o!$@PPX>QpQjY|Yrhv4-jeMCx zl{H*h2LdfM6}0oTGF^~Gs)qI^CTKk$$&qnfhNh86tO715eAFQ8O$TFs)Z=scA5TXy+1be?1$dC9(W+t3HG$fw$&? zIyHu>ikc5-K@5aCu7uxFS^(PI7@8C&RNA(b@&^}!a<-sII8TBuRR@jsI%ufSxrV3?Zqt7F8l8hWR1!7LnBhgz)`f$jI2U07)oz=ml zT_%B2gzGkdbBq4P#87a{TITh!kSejb3Q@ z-w2j$M=dKBi$&1&wAT)jY^Ud~fy}2ImJ!5Hc(+&`V9g8`r7d+9+zB{1O19)nrTt8kT8sBA+TI9S zWXM^xt3XrrN`ZU(6gT2)VC>v#?sZz|)qp4K>jAW!SlgJzCC1A`0W8!2ZR8bA0_V}I zJS%g0p?;V!5F!xa|P6Sj$z9JohmKGd56K6wizF;YQea$ASm!FdUOfcJaZJ__2a98 z=3!6b9G`t4O(9Qd(0YE@mAnk3#aa?9(DZ=IZUx?}fIZb>Zz9%{3Oc3+c|RcEH^*-a zW70=ImP`G?Df&_5m?n!Hy^EFwtzylxRR!j|0&U6D3i>n$2~oc49tiWgCAavJC^v7K zW-SJct2&ekqqEYwt_IR-XGbx|7h#69T(Sg)PUr^6=sRZZEtd1UkR(zgjvu!uJ~ozEQJ6Y* zZ1Q%M1Fn;uTXuLa1Y@?@FX9kD&|DSA-POr^k&v(m)VPlmZ`>nn$T_O=VlZaVaa!W7 z0fteewx}-wD#}n88WLBj#!Ep%!K2R$RZD_1sz8$zn?5c!F?q_Icv3P zrtnvhJlPTt-Vl1V5VHWMpqaLK4ZwxnYA?@-(36GoA+$c#2Jf}tjTX^k=%{->uOnfc z`Xz3(h3XC-HGDm36GCZX9DW0-V^pe{-K%dTWoiHqb^ic?V}#I~0F6~3PUTeq{_2}a znx)PcO#a?o{b&a~qNX*)w+J==peV@XTLH}x5ah`$n*ye$AjaDyb28}dfN(5Rive?; zlZeiW;?EtlyaPNOLiLUa0yY z-%|pS?15mv_aPt?ghhpVkQXQ<^>$LH%7N=ZKPPMlRmaHPEZ`poG+q>4=`fq= zBZ9AokXY$BhokUqedP2$3TR%pF9JSX>TYiCd<-P3Uqlg@v_7uNH1yl{Xu_W$ae`Sx z_O$IW&kuc))MajIw^zb2rJ$ikO)1`|q}Xn=uZbuO7S@k2eVXR? zr$L!^)hfU$`WfNHucM*(S;?O$qz1u>>F294Q7-jg_x} zHzh3g27HHT|2CkW}t9K9z5P$JLK;om`o=`l{$}Dv}0OP~1tK>tv-leG5F~QW|pg31`)7|>c;&*{qA0z6n z6YnC?UziZ_lF}_S@NR&dk>~~7@ER`ddte~YYTDdvoH1C#4q27z9^f3!DY#;WCMyW&c9TFzp=fAxWebRarAQWB4VA*xt=LXCETflBtin zeMcFV2AbV)jBKUo+GD-doYCD_2q*1!__=)|!NhJ3aa5m6Q`4325 z(F87S0RDeMZ)+3ismpl(f*2;Sz%8#%F%y_WDY>l03vcSU^WR`DK@*kp&At6x+3!VR z@ne81cMOy5KcG%#W-z1IpCA7Vz!>JuoF+SdncBBue5;x{)f+ZS?M0z3F$VCw)N7Hl z4wy;dL7=FkHx1He66i>g4+f@A2O`#JbB1=B$|{H(JhgHwhfj@rIxrl##FS!~SIgxY zB(vb>OFhaNPH$0l$w~`?)|sG8KxagqH4l3Wf#IZ%wM)s)0gqK@1W79cn**KdpK}Cu z(`Kn-SvZSKlhkplP*vrtDvu;xolTggb8CgQu#N&@q9~~b!K9BSc@}on(&5d#2e0eS zC~&sOF~H^M%fBe%*{yID!)8IeH=XOtSdi6Gpv!LOc*l-6P8A5js3k{v;2-E44_ujA zIuG=z7v~NXdsqdy9Z~a_fe9d~P7nIe7y=W4&6Zn4#V)t-t4Xwk zyV=k>b9runz0n+g4qu*I-jDfoF2B!Mp7ToOv-ve*dG3hkc|ASz_&AFm$Spr_`SPy$ ze32JfJ+^?Kr!UX-cnkS4TnK}(h~H!UMkZx3DI;wDC47wH!xCR=fU4MKe2i2;#ZL>L zQn2Q9IbUP^wuSIHqzsp$_8(1j@2yPagmLOG3=H14gb@vcaLatRF`4Tx^LuvAUlMC?`=(P9m2qD+KL~H zB0;<}b%jG)l}(g3jb@vC>+jcJ^xa$T9+4G?w(+p2ND=XV+0pbILS;)0jXLaWU02>p zhxDC<%$n=hes#N)0@2mFF1ON8 zcvOsslZ{UUN2Y_#o|*Of0NXg*(N-dx(dNbrB{9URo=a@0_y6{$BU0a&58*ga+E`Eo z5{H4pvTQ#5HF^}p8|P%Z#j0+>Lj+r@?ULSxg+WWR(n;JyPdzr2WHQhdcJY)?SD$y{ zlc0$nq@QQlFSnb6O-#I+Ac7un!#?o9`V9;29`WL4c0Rrb>>q-I&qy3gd%qWsH|thF zGY#mxW&%|Bulf5mYEC${ai@np^|~21ys|m-UFO)6xPSe&$M3lD$!hH7W8&r7rLJaR zXIWdS%PHZBnC*2(-*EeVs-#E8N;=u$W9BkjB|Bo88p-nZx4!40f4=U{5%I8|C(AuM zSmna*j&s?X5xxN{L9{~gK04X5WjzQ!8)KWU7V9I|r^hV~8(HJiLTrcT*IW9Yq6DP* zVcG17k-t%lHti5a=CbYk|1cD9%ZG1yf-J(D=z8OS6rQ{5#eWrtdE2a?KjStvTK-2* zdkkB7$=!FLI^NifHN{DO7q9RQxj}JI}7 z-6Iah##A##uh}#yGmTkL&HkwQAs(H>hIUo36|_Qq(R}qD1oO#Cg&3 zv*h;oJXs_;Yq!#eUu!E z{%e~hOM9)mbM#oH`tm(I4#K06j5QlZ4iQjc#atgedid4o>QeJ%vzI@qITxO|6fYpG5Uo@YOqJH67W}R_BS$7`j&dlLdcI#VZY# z6Namp8gd5HT90l2^YUcqyha1>Q52Dkn3qAx%1t`Yy^mnkk>`E(`VJtraHrbYqDv*R}$71wrq^KC44 zGaq&Qvwdw#KIH+-)qpS!>aW=>=?a`#F3MzRYNQ`P9gAICTH1Eh}uRvt?~Pi7{#yq0ovNH@Kdx zdffOM1-4SnSD8gc+O56u#fQgAxGk`F60K+lmp|&%OlRGQ?d=HjIHWDH`SV?8IBavO z^`iM(Y+2Q%z zn@8;)d%HHdHFsZVHLj3tB6-O=8JX1!lRA*@(!X8sg@EPXocINf_=b)6{(#sAPTe_9 zmVw~^$qT*KMArNV&Sh41E;`QQs+@WgO#@krZe7#BQ4_enk+(L7y`*K^HS~M)AH6oG zT4qkPGe=WTwER^*tdFIhW!a#ji3j=@PQOqc=r?~twQd{f{hf9GQ@6i8go~SL)k?89 zeYLp%Rp;D;_4j$r*xR^vkL)P*@oLh9qb!9{uw7M_pY!YypMKljBTj+hN6UmJ+=w)u z%mQ-)Gp#B8Sr7bJ&9%)RbD~)*l{&PG$Xcx%5-#kFS&E3UFg9P8jcyb|wTe%XPAr>Z zZIlID6?ouYtqiiqWvCsr`r6a?6ta1 zux?Tv(@c?BN7mLz10Fl^LUN`;9HB@!g^V)8h(>e0c-dF(W|}<(x})90>ehA2L}V+Q zph+G7uy8rTr+e}9CbRj8A2&UuPaii8&D(ocxoG|fwbx3c0+uDk4Na-VtO?cZ?DiqW zM##bge?D-k*EstDtt2&5ozE`K(P$WHhZhI(h-)-0yaKZy~-|j8p!P)#h4!S_V z))`htZPlONT+J)t+&y@t5fGSQvX$d^Oz2nMTX9|2js2!9qCx+MmHYHbMwVIR#7xa* z-3zG)@lABYl9n>(+q=Tj*~#xP+O9q|imZt>qE9d)3*Ifw5H5RG=|rHxBMTIzG}ZpE z?|qh1?O*u6=`J(n;jTkT#Oog zt~>pyZXq;U-O#yyLwT@$_g=o$|A?MEZ2rxgr_H?m?hy~>_ZWT6)4bbrhRQO+YHVlf zyu-n33RkD>CGx8pZ!@_UlHP7P`^34LLZTM-j9`wKBPLWp z5F=~O?iDkJzpAJ2xie=@k9RNb_ul(IKiP7+x~fmlnXt37;a1BvtX8dBu7H2JT%mfd zP$O5UnJd)F6>8@Sb#jHexk9~Mp?t?^HDZE}US_@`03T%kSwY1AQC zSPTC&T02)*2mdr$H&#`Y{h?3v~?oaD_2;$ zjXa|4(%uNRm4_1BA=q9XO6-7OM|mjG2SHzXD6tcQe)3RaX9WG_p~Nmeu`7t(hO)JrudaBo8G{MsSKelsFZ^7{c@#`iP}TVX?gDZbDyZ%vh8HU+cL~Ew z6_mS-;baBnE@ya!f^t(BPE}CuN`_Y{D0el&#D0~(hJtGqRCOK0X$s0sXL!AWayKx% zQ9-#G3~y3U?q-Hwy<5oLs-U{t7~Za++#L*ODkyhnfSW~bwu0*JVtBWLa`!O2S3$Y^ z7~Zd-+ye-CO4VZ{{~+S#{HOVcD1TT%xknJ40F7YfRK$?z)$<-TV4je>IDGW^!8N(kGA`StrQF0E-hcBEwLY$K03Yt1HML!i7C7UBek_>L9||hFUb# zCe(2TaJB*aLu{8R%X9xQHf&kGo~vHpRR?Dq8qlzkg03()kPUO(DLb#;yXTNOy6cqX zS7xRWp|OH`z-4-xFue+4Ro56e#H-0T-p*f^Z^~RVLUU&ThuCgxb?1Rm8v~c=X~A?$ z1@(Z-^t57n4F&ap%k-?tbZbHz*Bdy*ZDj&x^cZ(}>=-S}w_~n7p@TDkvp3~h)UHif z#~HxchINsvI2o1Y5!>SRSa^K}U1xB%VFPM6R8Rvr+prO}vMY9U{e!a&8`H1}p_4O! zvkje*i?1+Zn7c$fVBcyJ67%1cxlI+ce{f+#S$;ESHs`6kEZ@zw10vJV-RlT(xc#zx z4_4a3(<9E*Z|Ug~XX<-;dc>Lftvo&AO#RlL9&x6=m#0UZso%!aBhJ+K_VkD|_1k)S z#F_f-JU!w}{q~+7ai)F;PmefLzoVx|jJ>K)_!Qiixt$dB2mogr`k^}R0W~Q<_ae5% zJ2Tf`L92ta4ZAS6tAZN9*@oSi+g(8o;B3PH<_0R@$&X9maGQrugP;J%O_gBfXVIY>W5x#E5P2e$2I0(B8q>hW(j4KtT=QY{MvLIM7We zINNX#bKdNLvkeCa4B%|TAprw8+i+;W0M0fX7QIx_`9TEfXgQgz{L$^nr_;j&wZYl7 zj|dpR*@hzn25`3FC~pr!Y>SU(?idAKVQ{wLSmwO#3(hti=e2{_79a145!>Pum^+bh zlG``I*@lyuJB4tnGk`-pCjC@VmOqV|(+Oh<D_-7~<0uJP@X%DCBHs)?8+~HOPoNbuN+?|A3&HxVa?C=P8d8>^W z;=3d9uZ{anXz%V_mF4eY?q0%ut~xl|a6fYo5FT^}aEKoYxAQP_j}RVp25^Yygbj~* z{Ue6>@v!&_=AKm0`3Gkko?`B41vP-P4bL$5tb$&~g0n7TpQG}51(k!dbP* zg1L%)RHWcQewl8JQ~MQjUn}UUgR>3aF!wFtJJ%98+weVe1wxrKfI}Rds~?zIM);BN zlksyQ#aH#jh;8v|o)~dhj5j3MNi$E6I8)!8 zrqva6JAupew4mJEd%$ISTGG=>LB|0X_HdTgpmt3{Yq!UNvkh&iZA)n94B!yA4{ziS z)UHKX+Zn*whIOd*)*Bqiz@EW%SeJ(N2Yh|@AptpmPHbHs7WX8K4oU?;^_#lf5Z?UDdKT&d*Y*5*xMPv*@mMN6N$){9>dzl zDro26KprB^oYm!!Waq~@!|`rzz}bcq0tRrl;Y1ovBAo0-0EgI^{ZqWjL=3TUpq%Q7 z5!>Q1o*1z$K8-D(uAoy1&Nhtosw1|=<5+mSf>sA-8_q!W*vA^>Sr%N_fZOIQeHLK? zVWOLQaF*w6D$jAAbDamAGCz=1qTcGE3pdFR6mY4FbH z;B3Q1G+eBpErGKQmr#4Df*QcthRdj(te^&Pw&8MWuTW3}INLBKU;t+urqXbwf{p;r zHe5yR)e33=XB)1e_F4rsfU^zPQR{7KaJFF@4bvmQ0QiSn-wa37bc5R`!6Cj;c9(B9 z@h*&Jc!wflslcnK)EkdCd1A!2_-0Rx*cRX7i4oi4Te*_A5pH)Y2@dfcvXXr}kKDOc z#b-3j@-z9gfcxl94Fd5jQTH6?sb{nDU4*-x0i12PhuV7y_c;SN#Ks%A_fz`-;X!8r zXB!@(_F=*!&H&CfJWA~x!eh<=4)No%(uvOqmgS$I@=0t1e%QGz|CIB9L;SRO4r+gA z@(TPJZ=)d&i*XB`13c&H5rZ}6=y^|!*cQLQ@-GtRy4Jyk4Y(;z<;&4d@rpBm2phQX zyh_V!gn7;Y&NjS`{*!lr!PxRQAg_h=o31(-TRz{L9mKYHL8>+wTfWe%jo22y#VPU5 zTHtKMA{yk*b;TWJaJFGF+Tllo-gYws#+EN(eR-py;@&9`m312t^INR_gwO-igSTHeuOS6x0ANY{1(IRIcVt58|+% z&$>+^PCki(3Cp#7Gmg<*L0bZ6c~+;g1;N{az-4+`($h*o#{rk=S%dO571RSR?BVLS z_T~z)EpFq95!>Rn?7~}RaJHcx4eb@QcW}0$1GQ@r)^__HINPuewd)era|Up>VSQ>h zAZ+Li;B3Q2)OI9n>rQqYwKXB#?G+eJYQ;A}%zY&3pnzWhXr*cNZf!rn#$ zXB#%7;T8%ucPk9eHguywKA+Ux8Nk_w9z0p#yA)0h!d7p|@;wP#IRiM`u(h{OBeuo8 zSa=%+oqTY%p*OYL61H>gfI}R3k;K*9p4#br{@cMBz#%qX#Oz2zA3|Se0EgHZVJ9~N zhS7BZXOGY?U;t+ub`BW8*@pg!=L1BxbQjk4c2ID(VOJVQVa@u(WS6;-!=y8(&!5f1du42bRO2eI(M z3OXO)Y{Mb!9B+cSUO?FD!+bReTRob698NgGl?R9TNLkgytr>Q46tzbyX!qbi8fTqj zs6Cc&oErh0Z8)CV6BKj=aJJz@%szh0rdIhW3b8FdiG^1oob1{GXB$rOwk={?d@2i% zQPAGO*@n}oJzYT!;B3QKYR4(40i10ZPwg3mGu;Y)!P$nh zX*h>)u4@S#V&gl*=TSRJL0bX`(%9+FPaN!sZ0Q9FDI!~XAv?H8LE8Xl8!o2y5(PDY zvkjMeI~!tKd>IRS^A657OirvSB3pVnYhOW_;x-XD#KyJ4RBEpzT;&Yl5C=99-n^jl z8gFe8hxI)1TuaAwglTR7aJFGOwchlAvklkNaD#$wEpWEsMz4Rwws=OM9dNecCa*eT zTYNLC-$J<6%?>!k#`e06+S?U$Wx;_AY%k9L9ntg3OjjO+t-h0$XDMiTaJFGKwRaKj zb|ZkZ4flA{gV+||%fjBi0M0htN5lPu2V6Vg5I-o-i+2r}T=A`beBpq~hXaFvL&liW zM*;?Lw&774<|yc_g0l^eQTsUI3AY;HY{Qe(KBb@|fU^xxC(bE|Z0R#B`>cZ224@?d zqxN~i3$A-`h>e~4#Y8iR?Ami#_9X>v2Apkpnc7zr)Bw&lyh`nB3Tgmn8|G2_x`G&76lC8Y{TM2_lRui+pN7rL7M?* z8{VPzUBY{ACj)02-lz5h!iUZP&NeJ{hP*R?vkf0P!^h45&Nh7F44*m!INR`(eO3l8)pEA_}lOci|?p?knp`TfJ1DYJqy&95q@w6aEJq^Xg-52 zqxMI_PtE|&HvH^8#UQrDzj$KAw)j_e;XNOLvkkvVb-bD4ItOFRm#5@lZ22F7cEH(& zKb_$(*AO_{@HY+BY65aK%U`E~vkld$^=1g1ZKx42fU^xX@pEGFH(n6i;#!^8L=&H#lmY4)^zQFvkk4O z^`;b@ZD>P7TLtYOoNZ_q7y+DZXdf_uvke`*8A5D}*9uezXB*b0VI9J{Zc4$04SGGl z9_4cEtnWPF!X7@sY~ZZ|Vz9>3*M<p6)_zSHh;w0M0gSM(ySbx=(LDvDCZP-RPTW_}pU~KueEWMoqwkto-wmrig2s^qW;1C;| zvJbU=2|GChINQ*V+MNmgodKL}*oE3%3A;H1INPv0wcgGG4y5s6{sA<2I}145Fp!2p zggsnK;B3QSYKIVpIs-V{FpSzg3B#QMoNd^P+Pw)QoB^C|*oWGYgngX>oNd^T+EKh# z+TR(#AvVq;2Z(`ipfiB84F^$sFyRnq0B0Kx^-gMtAwEn_Iu~`Ul{`z0X5qsX^l$=a z8;+pXJHo-)h9kXp5ZmITJTYQhd~~1{aJJzX8je-al?7)Tj+1uE^2fWG2V=`ms44IJ zoaodbZ1qXrx+1p4CwpSVw)hmT;;9O{p5Sc57-~-=obGxDhj^^)Hjg)5I5+XNsd3bf zSI`l_*@iQyJ(F;j8v&ecm_ThEzF9ue8NeYvTUz?%r+boL#6E|Ha|!1;131LSH@7EI zdp_X;X8?!zLK$Ji$NMBd2Yyksc`tTq5Kvzt>VfsW&w*dc%9jx)I|I0|p)7wnl~)j^ z5T-g0IK)@VAh+%7{WR%S-fn>yV&lX5S9@Z_w)h%$ajk-GVQ^ss?(kK5JPW#UFil-jMx_6=!p^A;u#S06n>Ly9E>f$nd|xt1pu8IaENb_tu$rU%;ZV- zRvK*cLw<=pUSIc+RVi*cLzUdVj(74lZoKT2emO8vwDTe~J2+ z39l&VW(F7b@I~6I-T;Wf27XNhzZcGFf6db)&eYHI^oTR{uX}pLnff=lu5S|NyGaEX z_Hcz4Q0wiZ;6N^v^Go6*9=MTD`690=#F_fVo*uEKf1CA}h#tS&<5mF-c;kJYcfIn6 zZSi{?;C;det~xl|@S#^7u`OQ8!g<0+t~xl|@G-UC^n(i<@bwAGKP7xd_}mQwF6`kp z{({;s312w_INR_wwcilFbp~*@;X7)-Cls6koNXxcW)-n5{(*&C@ktY)M=?0W%R>9; zkCgvJXig76J>W7uKhyJzf_lJ(J)GEIsr^ks4d86U@6;|Q{Nd&aoNf4%+P@TZ1aP+D zZ)d3HKJo<4HsttKuIdUp0yx`HgW8%3Y5->&YB@t~*Ah6}P=|)P3OWKf+fdIL>bnuZ z*@gx*tVC$&4B%|T%G5R@GROJTYQh+>gENtf1#(aJHd8wYv~@b?XYwHta_2?t}r(0M0fH z^!i6^iwAjP#I|@3cH!-8;B3QS8io*ty57OrhG8-SVYoAZL%dgb%kE9>2nC&gaJFF| zYUPcNk!}QVwqaiyKI99U{hR@uZP=fN0|=v>0i10(klKR?2Rj2e+i(cA^5yG8odKL} zIE;qT3OY;RKpq~R)+3^)xg%Y95Vra#Rz8|=j5B~k9Qb)--1(*QIKuIS6PyPe;uFIy zokZ=)gj1XWoNYLj+A#{c(%?V_ehQjriPNZ^NC7|%;B3R`-ob-7EXMs?)*eUjjvsJg z4?7x9!x;+N5jc=%Mw9e)hq{d>FNuEn3Ac2qoIseUpdN5x4+lA$+H(}t01o82(IACp z{oNomoEPmJliX$i0XlH;hWom#dja7>!bQ#l4)Mj|ZG8!~mnvvW;B3QX)J`T`?nVHI zIQUa_S5P^{+j@vI^;2oOQbC&n2lA?DEyi}A|G;JXBU$*MHkH>9|)l+wc&z-a3G@4G+^$n}Yi8Lop;6RzvSxU(l3{*Clz0Y@)bP#L;NcK{~8|i@OT}M zH}H6qRhDQKei{CYSjC@nx%yINK9mdaScu14cr3zWF&=N@u>_BI@OYP%@XOb=#ql1P z0*LqV{}1r^5Rau)46d&0ng=taI&Qn+{~t5+Nv!`*W6Ph#mOqaze-T^$GPe9xZ29Zh z@;A{kUI}uv?_!znW6Ooua#?Ko_1L`p5aXA{mVb;b{}fyPIkx;uZ28yN@^7)_-($oszLs7LvTOHXNc+|vW z1QNBVtc^p7O76RLV#{@7%k^T*^<&EoV#_PVmK(;FSB@<=ik5M&h9ftrovSN-t%81d zOstCkmme3aVYw+D&8TczBUdM(Y>rI1dUY&6$MwW-t4HhE0!&LhTH&z<9&573wDK8i z&8SUzCvxU#8|$%MY`J}GnO`ZA9y-v^AJi$IwY6fZwPVZc#FqIf;d1@DF@C*hSKvE@#&<<7C?F0tjVvE@x;%bUfPH;*lMi!Jj< zvSenuv%4O#%oefbEn~|)W6N7b%lO@4x_iYk+r*Z8m#em=YP(ow``GdhvE?0O%ee67 zITg24u{Vstp4Nv|`qtK?hO96<#XS9D%R5KQx|RCJGP}f^s=|uLs z0kO=$*fO8=MK!3loZ!*y9#I-ggV{Umd;;@+rc)anT$`U)8{!;8=@^C(|MNbOBs^Xq zi(}8C9m9)u>{Ya5@7l8Q(EEtmxI-CSiG8?+BV;8;8X{gzjuged6r*ae5_o*}n4`tje5_^BA*Cpj|VN-k<#iOHMyuT4vk>qg% znfz^w!woHXQ2>wN;*o|9yeNQ2aq(zF2VN9BCaTovF-BqViAIk#bl?+>9%tyluUMnU z8->9q8a=_#floAgqM-x7VvSCU_Nmlv0zT2`1%?iMqS2F#M!~OGqbD1M!6zC$#n6FI zGO=ZFJ?ynry3p0 zUB)`$mnV6N4q5zZCw0{0=|~j7aalDnmMDPZxrm#Kbf)UbO-Cpwp$>mkC#VB23gDU4 zon`FC;6(wP@Q?MNfNmmnXB+jvivoC#)H8JFG6_Zb6PL{Cd4{+=$yfBS6*b{jP4Fe1 z@JYtHfUnYopKsIypP29q3?2Ar!g0s9Hs6I0>^AaB7um!{xyUFe8wE+;AVKN>HcGYf zKO2j?>!sKzxGT@Hml)dvyeJYI?@~i78xP6VZ$34zDnD;LA^kQ@FUmc)kUXccf4RXE~ncWbUULMaz@% zqv}dS3qEmSVATYl*f3Wa^}x%e15hpuGIdZuCl>~p<3a(QTo`25i!KbV&U{`$7PaK! zA#+S9pp%P-Yp{sr)I|{Z@{L#AbD1@8Xv1A=3=Y0Z8}2%z9{9wD%hXk2!)4a{|8c`j zGbS2*l{VaTqaOIghRf7dVZ&wC`@gc`MjMkSM;wyz=dkMyE%?NSvuc7*oGNcH>VZ#e zxEl=}_$s}I${aV^a7Dd_nql+@zWg-UFZ0xkY~uOLdQBu71<9&x6sxBHIxBN>VlQkf zyHP6pIxBPB*hV?um~8Ng3yc5J*IAW4QvTa0*W+_P_@Gn8k@C+M45faZ_20&eHcCm3 zDBXDf>g%ldeZIzLSv%hXk2!)4a{zp~-*nkIM)B=q{}HbV!<%VUgp{ z^;70)sS2mV%D#S@Wt_gi%Nr)q$qrw8GIaj?RI?2o`1I?i(S|s5QE-=`1z)9$g1e1+ z;1d@G_ZT|xRk|q195?p-Q`rxu;K@IDVFkYY`KMpWZmL#xqg3{yAainJM?qybN@Xt! zGRKW=6g>F{Cma0#o{NJ2HcIKAS1vJj1n}w4Kj8Bz!M#RKb4bSTHvG5oO26?+c2Q8- zjaS)=g3QxW6;6khy(qZX*kQq!{-WSMV{kcIkkk(<%jfj&H?-i(FADI{4}4qI(1A~U zYA5rv?0g>37itgEH`*v#p5!;xqBh*OIZ~ehiG8g0A=Z4@s0kjwnTRBQ3XzMMAD4v! zl1HhVW7GpL3gBa0%>3986h*B#zXFSzvW2cU8USCug^F77%(qixEB?4KF8FB0i`kO# z6{^IAe^D!xd4D6eLb#p_K8b)|u@$PsNvo(8%DgtK!U{dX6@1cI`|@Ob3+XqfvW~T< zSo3M4CU|_u8%gY-T+BSypn&9A>Yg*|ffq&jF;w1jaC4R?<118&W2mSV$~=Z*EA+gv zLf{iC^a5k+Y*?P;x5*(Z>f_Z`P4MM6cyT}dAGT0*$6ao;zG$ov_{8P=Ttf%G{591} zTzuKkfybXPLsCyNuP}bq5SJ(ULjsV!M(sR93tkk!*SRjH1#2 zlJN%KG_>HW-oSjLs5F3NynzLV7JStkSZEZL29S(5kom3)Hc~XfMQ(z(vKl}#-azL2 zbyaO(QC0&;#v8cG(1Ne}CMaenTx>J|KGDG2h7NrCC@5wpTw)XkU-brx*$Lk<8USDQ z28!7U-!&QlU-brx*$Lk>8USDQ2HrP{%6Z^@d>cD{-u@s<{6U3yI6L|<5|5Ds$^EP* zei(+yr4X|;7Kbt(7KyXIuP?rQDT;nnilQHvqUa~3DEetBihfp#qMw(d=oh6Z`eiAK zepQO1UzeijH>D{0Z7GU=SBj$Fm!fE)6h+HQQS^sW6kS$|qCb|R=uf36`g19Y{!)sf zzm}rtZ>1>udnt-8FGbNmN>TLBQWX8G6h;3oMbTQ|VDT=OMilQw_QM6?#inc06(KSj@bj?x}ZC#3@ZAwwJZ7GVj zD@D=vr6}5=6h+r6MbWiOQFNVB6kWFzMb|4u(e+DFbc0e9-LMozH!4NZj{kDeA$;Rz zW22}fH>p$fyFB9SREnaV|K*}x>R|Op8+Rtklllq0u64?Pp3l48AV1HCEJ}^%Z`Z&QIx-Jw>jf(k+^#uzNH;|C$2oH?{xQ|b_+ub9=~=jjc&=s zo`w!Q{!$u}`o5uzv6Ue%PsSVA+R%beG|kc>Cb+t7kfG_b9q1D|eS zJ3}lDAQ^99dqWF8(ZCLd4t%Al!q9?GG_a4M1D|eSq#>3Dkc>C5ub~B>Xkb4> z2R_}v{)Si@Kr-II0frWQqJdF{4t%fMmRZgA6VBL<0vKI`HWR4l%^i0FvAl$`WRa9i3TcrgF?pWYZMJN zu#=$$pJ<@6Hz;I`en!zy1Go_pd?^n;(LiNyP{~0hdH88-?f=@Is(9nTT9|eO9aj1bk3@!LX1A`46_;dq93~{J| zp@tTGq5<592=1)l(+yZRC_)VkHwuGKG*H9nD+NA11Gonf6o(qP(9nWUG=Lis!J6RH4OllQLJj=eHz;Hb+=B>q8*1P(Lkm7J z1Go_ptO-6n1Gonf6o(qP!q9?GG=Lis!J6O`4P3?e>PUQz{|O3Bx^GEKyeRs+V`1^4 zT1oNzEb;sb@wIH@x~Pp?<&I43gB+T4l_j2*C7y;)=IAFhL_9r9JlzvtpC!KD6W@>} zzQGgUm?gf^6VJ#J&!`aJ#HrI?b-Fp)f*U>GqfPYVYA%V{fUF0#w?u_gTJX^>q%$Yp zx1$YsYgG7{qmP?*gZzCGmy8u&XlTKw3onVpw?&0ty=B3mSjSAp3f~@eoYI0%7rrAB z&kPo3GFDjk<&+kDy6`(u$9D#&g2`Cn#fBDqy6~*1U&l3+TM*MozM&&BMQH=P_V#MuiZlQC>h8?HfX^ulqsm9h)Qx-l#NDUN6tN`Vs;DgSqRNX4 zt)+>|)Gc(Yw6rY0xbiKO<=-wwyrh!icQ|eD8e&PlS21l8zh8{_gJQ%V79(C-j5uG6 z_@hdSKjzeZVu&UAX~on@{8=&L&x;X%QH=P@V#Hq+BmTOQ;%_*0-$vrpWtt?vLo&L~ z{+`-`p#@)-|Gr|H#am{GCHX_L@G?USK3(`nLo9`VN*4av(1K4F{>2bW;a`)5i|Y8d ztir!13m4V#@~pytBnubS@t;|R|4J4vs^h=23RkO}*xhmnv6)i4CiwKmt8R#8|kS-7Y}x_(yS1}ji_rL4jYSD^69S%n*|K;gz& zg`2EE;Z?EhC+GwBXC~Q1A{5--i~j-q%Zs zSGcg=1N`?3>;1xizp&n0{Pzp%eaL^mu->!$_Y04R_TzBjed4gEa!LaS7kN2)Bpf5pk~0LJ>>Lu#fZIm#0+GHyl%#QNUDKh`~vO?-fc z@xRnxHjw0@6(8_9h~k5z8B2*Jc}PXahf;i)A(rIm3i06-A7O|kd1Qt7D2k6Z#F9Lw zLVPU6#~ETt9$z6of#MSlu_RBb5T8u(DTY{*r+VTsS>n?w#HX|JSVJtyaTVh66rW*; zC3$9r_$-R8sgvXcREo~;zwyU@K8)T-OKt7__)(SLD&9z&$iinET}bkrWZ_SY!soJ3 ztnhh^CmDq$d4AOjU%9bdxuQlqdWFRNSrXAvjkbP=5ay&0A> z;ACt#{4HnJ``sA)3MMZXT~XU>3Vl7ZTg&xNc&5CK@+7;1YyeNcgQ73wrnI-Q(109ugZV=d zdVQAC$@SUbiob9pW89wA0FtF_;0`vvO7z^an*X-FBxhDk*PRs4in>jST{4=k**I#N z%2QTKc^Avf_R8L!RhCItwk$u;=ywq}kze?ptinvX!uke(s^5D<{oa>VmPuFEouE^N z28PKhP? zNQL-Oisu+&Nj_E~ew^YhqK_!1Dr?f6ASCXUCGJ&m$cgv~qYX{E%1^Ql{DoZZSWngE zff)OAr%Og#O8;zKmqFwY$2XV)T@9Re&sYd_EB0D_KQfEwX5}+@UPZ zeeyMSJXsd!)s4n`9n}i?AFCyHR&5%&Wyo&ET-P_h>@Z@^J8-ek8{+y!TxTwCI8mPD zq2d}KN0(PK^1TUPS-zochR&<^?l}Y%%hwz^@g=K9zWL&7E4~>$#zhwuIv#SSZ-Mw) zi|@TQ;}bsQ;48}~t48B36knHUcj;R#`joMbhnzXyTjJ{z`Ia_p){P&YS08fXOU`vP z-XigNzrU$I4M9G@pp??r0bCe8@=)$*Pg>Q}I0%-1U$PwJwM9XX5)j z(MkC(i=65ELVRRx*{*0#hrR&yxK6Z>2JvZJLx~kgEUr{&j^dCBHO2rwt=x*voM`7dfBR`t{k7ZWc4h8E@1i{R)BlkP~0BYUHaYKJQID^&w~WSzmnK?S1tjC%$CW zXuJmEyHWc5W|QRhL(Uv;CGmMTDRn&L#FwlZjn`0ocgT2sJCEGC6~BR}KIFugtQz;t z5?{|@mG`YI<2^0DgWBJj*w2tN$7>`$??$BdiJa+cEWVC%o3Yc>*@^LxGks0O=iQ#v z@sJZ=vT8IhtB7w^IgWZBog5E2bG+5W=iM{Z@sJZ=vT8J5Q}K{AsxqIc~2A35FXxG?!oy)&h+&V z-{HaWkTZQ-h;Pf_c*vQ)p5pV~9nj+)Iq@Z{M)SFq_`L7cst-AHysgD|VsQPCGkv|p z=iS-X@sKlp+lcSXXuPjG)Ri|h)Q6n-l2xPi>n%R-*1!6YGkx2NZ@b`jKu&z2Q~mbh zyEr&6$cZmmHR^K*@p)fa);^I7jhA~L*V1_Xw_`m(A3|TkPK17hoeBL3yAXCI>_*s~ zFn}`RVK89`VJKl3VNb$v!d`^E2_p#m5JnRACG1DopKt(S6yZR^L4<<|hY$`W z97Y&TIGk_<;Yh+!grf<^5RN4rM>w8v0^vl$NraOLrw~phj3JyxIGr$-Fpe;ua0X#I z-@!bSOJ@-#5L)wn^@&_Mn{W={T*7&TNrdwW7Z5HaTtv8-@OllvC0x3ca2a7T;c~(i zgeiongewVG5w0d&L%5c39bp<_I^lZ44TKvBGYB^kZYJD9xRr1l;da6ugqeg(*wCF^ znnjpRxQlQ%;U2=hg!>5h6CNNuNO*|wFyRrxql7tx#|V!To*+C)c#7~e;TgiSgy#su zIi1gQ=>@`zgt>&52rm;}A-qa>jWCb!I^hk%n}qp<1%!o!w+M>}iwSQNmJr?{yi0hG z@IK)K!iR*VggoIR!pDS92%i!@BRs_k`M{H z5S9^sB>Y79neYn%KM+xt|CLL>5q>8uC;UP9lkgYeZ$h>DfE=MZp$4HQp%$Swp$?%g zp&p?=p#fnfLPNsJghqtMgeHVl2&)oSBQzy6BQz(hPFS1Utp%4_5?T?~AgoDfO=v@C zOK3-EPv}7C#h;B|i%V-0)*-A*SdXwiVFSX3gpCLt2^$kOA#@^iCUhZmC2UIAjIcSO z8=*U)2Vo1smV};!tq5BadJ(oE^d@Xe*p9G0VF$vFgg%76gq;Ze2s;z{6Lul&O4yCC zJ7EA}AYl+;55i!=5W-NxFv6aM;e@>idlN`T~>us`7d!YIOlgo6kN6AmF9 zN;r%#ns7Mb2*QzsqXigo_9l6D}cKO1O+LnQ%Gb3c?h^RKk^ns|Z&U zt|7e0o1E8j={mwR!gRv*gc}Gq5@rx?BHT>4g>Wn3Hp1@Dbr-!Y71J37-)@CwxKplJFJbYr;2#ZwcQKz9$q2WrQCH%LqRbej@x#_=WH* z;WxtXgyn=k2!9g(B3#OK`Vz7EnuJ;e`RkOmxm1Txmr##TpU{A?5}_es zWkMrDV?q)Bq(dNLUu8sJQi$J%(T zgU7mftcS>vyVm0X diff --git a/.vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 b/.vs/websocket-sharp.NET/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index b5c0fb4ea6f985acf781ae31b66feac2eeb5d1de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82258 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 W3Ll5ou<7tIqlV3dkJ_3u&-@?V^!_*i diff --git a/.vs/websocket-sharp.NET/FileContentIndex/read.lock b/.vs/websocket-sharp.NET/FileContentIndex/read.lock deleted file mode 100644 index e69de29bb..000000000 diff --git a/.vs/websocket-sharp.NET/v17/.futdcache.v2 b/.vs/websocket-sharp.NET/v17/.futdcache.v2 deleted file mode 100644 index a3c14672cb93f4964dab28352aba1ce9b168f57c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmZQ%U|?`@wu(v5EXgQMiYZS`D$Y;NPA$60004;DT4q2 From d426a641eb57be80fb74f6e18b7c12511d352c26 Mon Sep 17 00:00:00 2001 From: weiwan Date: Mon, 31 Oct 2022 17:32:17 +0800 Subject: [PATCH 08/10] Use task --- websocket-sharp/Ext.cs | 22 +++- websocket-sharp/WebSocket.cs | 118 +++++++++++---------- websocket-sharp/websocket-sharp.NET.csproj | 2 +- 3 files changed, 85 insertions(+), 57 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index ed7baa7f2..494bc08e2 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -733,18 +733,28 @@ internal static byte[] ReadBytes ( #if NET internal static void ReadBytesAsync(this Stream stream, int length, Action completed, Action error) { + byte[] buff = new byte[length]; + stream.ReadAsync(buff, 0, length).ContinueWith((x) => { if (x.Exception?.InnerException != null) { - error(x.Exception.InnerException); + if (x.Exception.InnerException is ObjectDisposedException || x.Exception.InnerException is NotSupportedException) + { + completed(new byte[0]); + } + else + { + error(x.Exception.InnerException); + } } else { completed(buff); } }, TaskContinuationOptions.NotOnCanceled); + } internal static void ReadBytesAsync(this Stream stream, long length, int bufferLength, Action completed, Action error) @@ -771,7 +781,15 @@ private static async Task DoReadAsync(Stream stream, long length, int buff } catch (Exception ex) { - error(ex); + if (ex is ObjectDisposedException || ex is NotSupportedException) + { + complected(new byte[0]); + } + else + { + error(ex); + } + } return nRead; } diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 265c930d3..bc560e37c 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -1240,18 +1240,18 @@ private void closeAsync (PayloadData payloadData, bool send, bool received) { Action closer = close; - if (isWindows()) - { - closer.BeginInvoke ( - payloadData, send, received, ar => closer.EndInvoke(ar), null - ); - } - else + if (isNET()) { var workTask = Task.Run(() => closer.Invoke( payloadData, send, received )); } + else + { + closer.BeginInvoke ( + payloadData, send, received, ar => closer.EndInvoke(ar), null + ); + } } private bool closeHandshake ( @@ -1634,10 +1634,20 @@ private void messages (MessageEventArgs e) } - private static bool isWindows() + private static bool isNET() { - return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows); +#if NET + return true; +#else + return false; +#endif + } + + public static bool isWindows() + { + return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows); } + private void open () { _inMessage = true; @@ -1673,14 +1683,14 @@ private void open () } - if (isWindows()) + if (isNET()) { - _message.BeginInvoke (e, ar => _message.EndInvoke (ar), null); - + var workTask = Task.Run(() => _message.Invoke(e)); } else { - var workTask = Task.Run(() => _message.Invoke(e)); + _message.BeginInvoke (e, ar => _message.EndInvoke (ar), null); + } @@ -2117,7 +2127,28 @@ private void sendAsync ( { Func sender = send; - if (isWindows()) + if (isNET()) + { + System.Threading.Tasks.Task.Run( () => { + return sender.Invoke ( + opcode, + stream + ); + }).ContinueWith( (sent) => { + try { + if (completed != null) + completed (sent.Result); + } + catch (Exception ex) { + _logger.Error (ex.ToString ()); + error ( + "An error has occurred during the callback for an async send.", + ex + ); + } + }); + } + else { sender.BeginInvoke ( opcode, @@ -2142,27 +2173,6 @@ private void sendAsync ( null ); } - else - { - System.Threading.Tasks.Task.Run( () => { - return sender.Invoke ( - opcode, - stream - ); - }).ContinueWith( (sent) => { - try { - if (completed != null) - completed (sent.Result); - } - catch (Exception ex) { - _logger.Error (ex.ToString ()); - error ( - "An error has occurred during the callback for an async send.", - ex - ); - } - }); - } } @@ -2493,9 +2503,9 @@ private bool validateSecWebSocketExtensionsServerHeader (string value) return true; } - #endregion +#endregion - #region Internal Methods +#region Internal Methods // As server internal void Accept () @@ -2685,9 +2695,9 @@ internal void Send ( } } - #endregion +#endregion - #region Public Methods +#region Public Methods ///

/// Closes the connection. @@ -3401,7 +3411,18 @@ public void ConnectAsync () Func connector = connect; - if (isWindows()) + if (isNET()) + { + System.Threading.Tasks.Task.Run(() => { + return connector.Invoke(); + }).ContinueWith( (task) => { + if (task.Result) + { + open(); + } + }); + } + else { connector.BeginInvoke ( ar => { @@ -3415,17 +3436,6 @@ public void ConnectAsync () null ); } - else - { - System.Threading.Tasks.Task.Run(() => { - return connector.Invoke(); - }).ContinueWith( (task) => { - if (task.Result) - { - open(); - } - }); - } } @@ -4205,9 +4215,9 @@ public void SetProxy (string url, string username, string password) } } - #endregion +#endregion - #region Explicit Interface Implementations +#region Explicit Interface Implementations /// /// Closes the connection and releases all associated resources. @@ -4226,6 +4236,6 @@ void IDisposable.Dispose () close (1001, String.Empty); } - #endregion +#endregion } } diff --git a/websocket-sharp/websocket-sharp.NET.csproj b/websocket-sharp/websocket-sharp.NET.csproj index 92b3ac9c7..faafb5f3a 100644 --- a/websocket-sharp/websocket-sharp.NET.csproj +++ b/websocket-sharp/websocket-sharp.NET.csproj @@ -10,7 +10,7 @@ websocket-sharp.net - 1.0.3.1 + 1.0.3.2 sta websocket-sharp From b98a5bbc76aaac4f62bc874b11b99f4acad69bf0 Mon Sep 17 00:00:00 2001 From: weiwan Date: Tue, 21 Mar 2023 16:18:38 +0800 Subject: [PATCH 09/10] indentation 2 --- websocket-sharp/WebSocket.cs | 4370 +++++++++++--------- websocket-sharp/websocket-sharp.NET.csproj | 2 +- 2 files changed, 2341 insertions(+), 2031 deletions(-) diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 62a032d05..33662892c 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -55,2151 +55,2340 @@ namespace WebSocketSharp { + /// + /// Implements the WebSocket interface. + /// + /// + /// + /// This class provides a set of methods and properties for two-way + /// communication using the WebSocket protocol. + /// + /// + /// The WebSocket protocol is defined in + /// RFC 6455. + /// + /// + public class WebSocket : IDisposable + { + #region Private Fields + + private AuthenticationChallenge _authChallenge; + private string _base64Key; + private bool _client; + private Action _closeContext; + private CompressionMethod _compression; + private WebSocketContext _context; + private CookieCollection _cookies; + private NetworkCredential _credentials; + private bool _emitOnPing; + private bool _enableRedirection; + private string _extensions; + private bool _extensionsRequested; + private object _forMessageEventQueue; + private object _forPing; + private object _forSend; + private object _forState; + private MemoryStream _fragmentsBuffer; + private bool _fragmentsCompressed; + private Opcode _fragmentsOpcode; + private const string _guid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + private Func _handshakeRequestChecker; + private bool _ignoreExtensions; + private bool _inContinuation; + private volatile bool _inMessage; + private volatile Logger _log; + private static readonly int _maxRetryCountForConnect; + private Action _message; + private Queue _messageEventQueue; + private uint _nonceCount; + private string _origin; + private ManualResetEvent _pongReceived; + private bool _preAuth; + private string _protocol; + private string[] _protocols; + private bool _protocolsRequested; + private NetworkCredential _proxyCredentials; + private Uri _proxyUri; + private volatile WebSocketState _readyState; + private ManualResetEvent _receivingExited; + private int _retryCountForConnect; + private bool _secure; + private ClientSslConfiguration _sslConfig; + private Stream _stream; + private TcpClient _tcpClient; + private Uri _uri; + private const string _version = "13"; + private TimeSpan _waitTime; + + #endregion + + #region Internal Fields + + /// + /// Represents the empty array of used internally. + /// + internal static readonly byte[] EmptyBytes; + /// - /// Implements the WebSocket interface. + /// Represents the length used to determine whether the data should + /// be fragmented in sending. /// /// /// - /// This class provides a set of methods and properties for two-way - /// communication using the WebSocket protocol. + /// The data will be fragmented if its length is greater than + /// the value of this field. /// /// - /// The WebSocket protocol is defined in - /// RFC 6455. + /// If you would like to change the value, you must set it to + /// a value between 125 and Int32.MaxValue - 14 inclusive. /// /// - public class WebSocket : IDisposable + internal static readonly int FragmentLength; + + /// + /// Represents the random number generator used internally. + /// + internal static readonly RandomNumberGenerator RandomNumber; + + #endregion + + #region Static Constructor + + static WebSocket() { - #region Private Fields - - private AuthenticationChallenge _authChallenge; - private string _base64Key; - private bool _client; - private Action _closeContext; - private CompressionMethod _compression; - private WebSocketContext _context; - private CookieCollection _cookies; - private NetworkCredential _credentials; - private bool _emitOnPing; - private bool _enableRedirection; - private string _extensions; - private bool _extensionsRequested; - private object _forMessageEventQueue; - private object _forPing; - private object _forSend; - private object _forState; - private MemoryStream _fragmentsBuffer; - private bool _fragmentsCompressed; - private Opcode _fragmentsOpcode; - private const string _guid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - private Func _handshakeRequestChecker; - private bool _ignoreExtensions; - private bool _inContinuation; - private volatile bool _inMessage; - private volatile Logger _log; - private static readonly int _maxRetryCountForConnect; - private Action _message; - private Queue _messageEventQueue; - private uint _nonceCount; - private string _origin; - private ManualResetEvent _pongReceived; - private bool _preAuth; - private string _protocol; - private string[] _protocols; - private bool _protocolsRequested; - private NetworkCredential _proxyCredentials; - private Uri _proxyUri; - private volatile WebSocketState _readyState; - private ManualResetEvent _receivingExited; - private int _retryCountForConnect; - private bool _secure; - private ClientSslConfiguration _sslConfig; - private Stream _stream; - private TcpClient _tcpClient; - private Uri _uri; - private const string _version = "13"; - private TimeSpan _waitTime; - - #endregion - - #region Internal Fields - - /// - /// Represents the empty array of used internally. - /// - internal static readonly byte[] EmptyBytes; - - /// - /// Represents the length used to determine whether the data should - /// be fragmented in sending. - /// - /// - /// - /// The data will be fragmented if its length is greater than - /// the value of this field. - /// - /// - /// If you would like to change the value, you must set it to - /// a value between 125 and Int32.MaxValue - 14 inclusive. - /// - /// - internal static readonly int FragmentLength; - - /// - /// Represents the random number generator used internally. - /// - internal static readonly RandomNumberGenerator RandomNumber; - - #endregion - - #region Static Constructor - - static WebSocket() - { - _maxRetryCountForConnect = 10; - EmptyBytes = new byte[0]; - FragmentLength = 1016; - RandomNumber = new RNGCryptoServiceProvider(); - } + _maxRetryCountForConnect = 10; + EmptyBytes = new byte[0]; + FragmentLength = 1016; + RandomNumber = new RNGCryptoServiceProvider(); + } - #endregion + #endregion - #region Internal Constructors + #region Internal Constructors - // As server - internal WebSocket(HttpListenerWebSocketContext context, string protocol) - { - _context = context; - _protocol = protocol; + // As server + internal WebSocket(HttpListenerWebSocketContext context, string protocol) + { + _context = context; + _protocol = protocol; - _closeContext = context.Close; - _log = context.Log; - _message = messages; - _secure = context.IsSecureConnection; - _stream = context.Stream; - _waitTime = TimeSpan.FromSeconds(1); + _closeContext = context.Close; + _log = context.Log; + _message = messages; + _secure = context.IsSecureConnection; + _stream = context.Stream; + _waitTime = TimeSpan.FromSeconds(1); - init(); - } + init(); + } - // As server - internal WebSocket(TcpListenerWebSocketContext context, string protocol) - { - _context = context; - _protocol = protocol; + // As server + internal WebSocket(TcpListenerWebSocketContext context, string protocol) + { + _context = context; + _protocol = protocol; - _closeContext = context.Close; - _log = context.Log; - _message = messages; - _secure = context.IsSecureConnection; - _stream = context.Stream; - _waitTime = TimeSpan.FromSeconds(1); + _closeContext = context.Close; + _log = context.Log; + _message = messages; + _secure = context.IsSecureConnection; + _stream = context.Stream; + _waitTime = TimeSpan.FromSeconds(1); - init(); - } + init(); + } - #endregion - - #region Public Constructors - - /// - /// Initializes a new instance of the class with - /// the specified URL and optionally subprotocols. - /// - /// - /// - /// A that specifies the URL to which to connect. - /// - /// - /// The scheme of the URL must be ws or wss. - /// - /// - /// The new instance uses a secure connection if the scheme is wss. - /// - /// - /// - /// - /// An array of that specifies the names of - /// the subprotocols if necessary. - /// - /// - /// Each value of the array must be a token defined in - /// - /// RFC 2616. - /// - /// - /// - /// is . - /// - /// - /// - /// is an empty string. - /// - /// - /// -or- - /// - /// - /// is an invalid WebSocket URL string. - /// - /// - /// -or- - /// - /// - /// contains a value that is not a token. - /// - /// - /// -or- - /// - /// - /// contains a value twice. - /// - /// - public WebSocket(string url, params string[] protocols) - { - if (url == null) - throw new ArgumentNullException("url"); + #endregion - if (url.Length == 0) - throw new ArgumentException("An empty string.", "url"); + #region Public Constructors - string msg; + /// + /// Initializes a new instance of the class with + /// the specified URL and optionally subprotocols. + /// + /// + /// + /// A that specifies the URL to which to connect. + /// + /// + /// The scheme of the URL must be ws or wss. + /// + /// + /// The new instance uses a secure connection if the scheme is wss. + /// + /// + /// + /// + /// An array of that specifies the names of + /// the subprotocols if necessary. + /// + /// + /// Each value of the array must be a token defined in + /// + /// RFC 2616. + /// + /// + /// + /// is . + /// + /// + /// + /// is an empty string. + /// + /// + /// -or- + /// + /// + /// is an invalid WebSocket URL string. + /// + /// + /// -or- + /// + /// + /// contains a value that is not a token. + /// + /// + /// -or- + /// + /// + /// contains a value twice. + /// + /// + public WebSocket(string url, params string[] protocols) + { + if (url == null) + throw new ArgumentNullException("url"); - if (!url.TryCreateWebSocketUri(out _uri, out msg)) - throw new ArgumentException(msg, "url"); + if (url.Length == 0) + throw new ArgumentException("An empty string.", "url"); - if (protocols != null && protocols.Length > 0) { - if (!checkProtocols(protocols, out msg)) - throw new ArgumentException(msg, "protocols"); + string msg; - _protocols = protocols; - } + if (!url.TryCreateWebSocketUri(out _uri, out msg)) + throw new ArgumentException(msg, "url"); - _base64Key = CreateBase64Key(); - _client = true; - _log = new Logger(); - _message = messagec; - _retryCountForConnect = -1; - _secure = _uri.Scheme == "wss"; - _waitTime = TimeSpan.FromSeconds(5); + if (protocols != null && protocols.Length > 0) + { + if (!checkProtocols(protocols, out msg)) + throw new ArgumentException(msg, "protocols"); - init(); - } + _protocols = protocols; + } - #endregion + _base64Key = CreateBase64Key(); + _client = true; + _log = new Logger(); + _message = messagec; + _retryCountForConnect = -1; + _secure = _uri.Scheme == "wss"; + _waitTime = TimeSpan.FromSeconds(5); - #region Internal Properties + init(); + } - internal CookieCollection CookieCollection { - get { - return _cookies; - } - } + #endregion - // As server - internal Func CustomHandshakeRequestChecker { - get { - return _handshakeRequestChecker; - } + #region Internal Properties - set { - _handshakeRequestChecker = value; - } - } + internal CookieCollection CookieCollection + { + get + { + return _cookies; + } + } - // As server - internal bool IgnoreExtensions { - get { - return _ignoreExtensions; - } + // As server + internal Func CustomHandshakeRequestChecker + { + get + { + return _handshakeRequestChecker; + } - set { - _ignoreExtensions = value; - } - } + set + { + _handshakeRequestChecker = value; + } + } - #endregion - - #region Public Properties - - /// - /// Gets or sets the compression method used to compress a message. - /// - /// - /// The set operation works if the current state of the interface is - /// New or Closed. - /// - /// - /// - /// One of the enum values. - /// - /// - /// It indicates the compression method used to compress a message. - /// - /// - /// The default value is . - /// - /// - /// - /// The set operation is not available if the interface is not for - /// the client. - /// - public CompressionMethod Compression { - get { - return _compression; - } + // As server + internal bool IgnoreExtensions + { + get + { + return _ignoreExtensions; + } - set { - if (!_client) { - var msg = "The interface is not for the client."; + set + { + _ignoreExtensions = value; + } + } - throw new InvalidOperationException(msg); - } + #endregion - lock (_forState) { - if (!canSet()) - return; + #region Public Properties - _compression = value; - } - } - } + /// + /// Gets or sets the compression method used to compress a message. + /// + /// + /// The set operation works if the current state of the interface is + /// New or Closed. + /// + /// + /// + /// One of the enum values. + /// + /// + /// It indicates the compression method used to compress a message. + /// + /// + /// The default value is . + /// + /// + /// + /// The set operation is not available if the interface is not for + /// the client. + /// + public CompressionMethod Compression + { + get + { + return _compression; + } - /// - /// Gets the HTTP cookies included in the handshake request/response. - /// - /// - /// - /// An - /// instance. - /// - /// - /// It provides an enumerator which supports the iteration over - /// the collection of the cookies. - /// - /// - public IEnumerable Cookies { - get { - lock (_cookies.SyncRoot) { - foreach (var cookie in _cookies) - yield return cookie; - } - } - } + set + { + if (!_client) + { + var msg = "The interface is not for the client."; - /// - /// Gets the credentials for the HTTP authentication (Basic/Digest). - /// - /// - /// - /// A that represents the credentials - /// used to authenticate the client. - /// - /// - /// The default value is . - /// - /// - public NetworkCredential Credentials { - get { - return _credentials; - } + throw new InvalidOperationException(msg); } - /// - /// Gets or sets a value indicating whether the message event is - /// emitted when the interface receives a ping. - /// - /// - /// - /// true if the interface emits the message event when - /// receives a ping; otherwise, false. - /// - /// - /// The default value is false. - /// - /// - public bool EmitOnPing { - get { - return _emitOnPing; - } + lock (_forState) + { + if (!canSet()) + return; - set { - _emitOnPing = value; - } + _compression = value; } + } + } - /// - /// Gets or sets a value indicating whether the URL redirection for - /// the handshake request is allowed. - /// - /// - /// The set operation works if the current state of the interface is - /// New or Closed. - /// - /// - /// - /// true if the interface allows the URL redirection for - /// the handshake request; otherwise, false. - /// - /// - /// The default value is false. - /// - /// - /// - /// The set operation is not available if the interface is not for - /// the client. - /// - public bool EnableRedirection { - get { - return _enableRedirection; - } + /// + /// Gets the HTTP cookies included in the handshake request/response. + /// + /// + /// + /// An + /// instance. + /// + /// + /// It provides an enumerator which supports the iteration over + /// the collection of the cookies. + /// + /// + public IEnumerable Cookies + { + get + { + lock (_cookies.SyncRoot) + { + foreach (var cookie in _cookies) + yield return cookie; + } + } + } - set { - if (!_client) { - var msg = "The interface is not for the client."; + /// + /// Gets the credentials for the HTTP authentication (Basic/Digest). + /// + /// + /// + /// A that represents the credentials + /// used to authenticate the client. + /// + /// + /// The default value is . + /// + /// + public NetworkCredential Credentials + { + get + { + return _credentials; + } + } - throw new InvalidOperationException(msg); - } + /// + /// Gets or sets a value indicating whether the message event is + /// emitted when the interface receives a ping. + /// + /// + /// + /// true if the interface emits the message event when + /// receives a ping; otherwise, false. + /// + /// + /// The default value is false. + /// + /// + public bool EmitOnPing + { + get + { + return _emitOnPing; + } - lock (_forState) { - if (!canSet()) - return; + set + { + _emitOnPing = value; + } + } - _enableRedirection = value; - } - } - } + /// + /// Gets or sets a value indicating whether the URL redirection for + /// the handshake request is allowed. + /// + /// + /// The set operation works if the current state of the interface is + /// New or Closed. + /// + /// + /// + /// true if the interface allows the URL redirection for + /// the handshake request; otherwise, false. + /// + /// + /// The default value is false. + /// + /// + /// + /// The set operation is not available if the interface is not for + /// the client. + /// + public bool EnableRedirection + { + get + { + return _enableRedirection; + } - /// - /// Gets the extensions selected by the server. - /// - /// - /// - /// A that represents a list of the extensions - /// negotiated between the client and server. - /// - /// - /// An empty string if not specified or selected. - /// - /// - public string Extensions { - get { - return _extensions ?? String.Empty; - } - } + set + { + if (!_client) + { + var msg = "The interface is not for the client."; - /// - /// Gets a value indicating whether the communication is possible. - /// - /// - /// true if the communication is possible; otherwise, false. - /// - public bool IsAlive { - get { - return ping(EmptyBytes); - } + throw new InvalidOperationException(msg); } - /// - /// Gets a value indicating whether the connection is secure. - /// - /// - /// true if the connection is secure; otherwise, false. - /// - public bool IsSecure { - get { - return _secure; - } + lock (_forState) + { + if (!canSet()) + return; + + _enableRedirection = value; } + } + } - /// - /// Gets the logging function. - /// - /// - /// The default logging level is . - /// - /// - /// A that provides the logging function. - /// - public Logger Log { - get { - return _log; - } + /// + /// Gets the extensions selected by the server. + /// + /// + /// + /// A that represents a list of the extensions + /// negotiated between the client and server. + /// + /// + /// An empty string if not specified or selected. + /// + /// + public string Extensions + { + get + { + return _extensions ?? String.Empty; + } + } - internal set { - _log = value; - } - } + /// + /// Gets a value indicating whether the communication is possible. + /// + /// + /// true if the communication is possible; otherwise, false. + /// + public bool IsAlive + { + get + { + return ping(EmptyBytes); + } + } - /// - /// Gets or sets the value of the HTTP Origin header to send with - /// the handshake request. - /// - /// - /// - /// The HTTP Origin header is defined in - /// - /// Section 7 of RFC 6454. - /// - /// - /// The interface sends the Origin header if this property has any. - /// - /// - /// The set operation works if the current state of the interface is - /// New or Closed. - /// - /// - /// - /// - /// A that represents the value of the Origin - /// header to send. - /// - /// - /// The syntax is <scheme>://<host>[:<port>]. - /// - /// - /// The default value is . - /// - /// - /// - /// The set operation is not available if the interface is not for - /// the client. - /// - /// - /// - /// The value specified for a set operation is not an absolute URI string. - /// - /// - /// -or- - /// - /// - /// The value specified for a set operation includes the path segments. - /// - /// - public string Origin { - get { - return _origin; - } + /// + /// Gets a value indicating whether the connection is secure. + /// + /// + /// true if the connection is secure; otherwise, false. + /// + public bool IsSecure + { + get + { + return _secure; + } + } - set { - if (!_client) { - var msg = "The interface is not for the client."; + /// + /// Gets the logging function. + /// + /// + /// The default logging level is . + /// + /// + /// A that provides the logging function. + /// + public Logger Log + { + get + { + return _log; + } - throw new InvalidOperationException(msg); - } + internal set + { + _log = value; + } + } - if (!value.IsNullOrEmpty()) { - Uri uri; + /// + /// Gets or sets the value of the HTTP Origin header to send with + /// the handshake request. + /// + /// + /// + /// The HTTP Origin header is defined in + /// + /// Section 7 of RFC 6454. + /// + /// + /// The interface sends the Origin header if this property has any. + /// + /// + /// The set operation works if the current state of the interface is + /// New or Closed. + /// + /// + /// + /// + /// A that represents the value of the Origin + /// header to send. + /// + /// + /// The syntax is <scheme>://<host>[:<port>]. + /// + /// + /// The default value is . + /// + /// + /// + /// The set operation is not available if the interface is not for + /// the client. + /// + /// + /// + /// The value specified for a set operation is not an absolute URI string. + /// + /// + /// -or- + /// + /// + /// The value specified for a set operation includes the path segments. + /// + /// + public string Origin + { + get + { + return _origin; + } - if (!Uri.TryCreate(value, UriKind.Absolute, out uri)) { - var msg = "Not an absolute URI string."; + set + { + if (!_client) + { + var msg = "The interface is not for the client."; - throw new ArgumentException(msg, "value"); - } + throw new InvalidOperationException(msg); + } - if (uri.Segments.Length > 1) { - var msg = "It includes the path segments."; + if (!value.IsNullOrEmpty()) + { + Uri uri; - throw new ArgumentException(msg, "value"); - } - } + if (!Uri.TryCreate(value, UriKind.Absolute, out uri)) + { + var msg = "Not an absolute URI string."; - lock (_forState) { - if (!canSet()) - return; + throw new ArgumentException(msg, "value"); + } - _origin = !value.IsNullOrEmpty() ? value.TrimEnd('/') : value; - } - } + if (uri.Segments.Length > 1) + { + var msg = "It includes the path segments."; + + throw new ArgumentException(msg, "value"); + } } - /// - /// Gets the name of subprotocol selected by the server. - /// - /// - /// - /// A that will be one of the names of - /// subprotocols specified by client. - /// - /// - /// An empty string if not specified or selected. - /// - /// - public string Protocol { - get { - return _protocol ?? String.Empty; - } + lock (_forState) + { + if (!canSet()) + return; - internal set { - _protocol = value; - } + _origin = !value.IsNullOrEmpty() ? value.TrimEnd('/') : value; } + } + } - /// - /// Gets the current state of the interface. - /// - /// - /// - /// One of the enum values. - /// - /// - /// It indicates the current state of the interface. - /// - /// - /// The default value is . - /// - /// - public WebSocketState ReadyState { - get { - return _readyState; - } - } + /// + /// Gets the name of subprotocol selected by the server. + /// + /// + /// + /// A that will be one of the names of + /// subprotocols specified by client. + /// + /// + /// An empty string if not specified or selected. + /// + /// + public string Protocol + { + get + { + return _protocol ?? String.Empty; + } - /// - /// Gets the configuration for secure connection. - /// - /// - /// The configuration is used when the interface attempts to connect, - /// so it must be configured before any connect method is called. - /// - /// - /// A that represents the - /// configuration used to establish a secure connection. - /// - /// - /// - /// The interface is not for the client. - /// - /// - /// -or- - /// - /// - /// The interface does not use a secure connection. - /// - /// - public ClientSslConfiguration SslConfiguration { - get { - if (!_client) { - var msg = "The interface is not for the client."; - - throw new InvalidOperationException(msg); - } - - if (!_secure) { - var msg = "The interface does not use a secure connection."; - - throw new InvalidOperationException(msg); - } - - return getSslConfiguration(); - } + internal set + { + _protocol = value; + } + } + + /// + /// Gets the current state of the interface. + /// + /// + /// + /// One of the enum values. + /// + /// + /// It indicates the current state of the interface. + /// + /// + /// The default value is . + /// + /// + public WebSocketState ReadyState + { + get + { + return _readyState; + } + } + + /// + /// Gets the configuration for secure connection. + /// + /// + /// The configuration is used when the interface attempts to connect, + /// so it must be configured before any connect method is called. + /// + /// + /// A that represents the + /// configuration used to establish a secure connection. + /// + /// + /// + /// The interface is not for the client. + /// + /// + /// -or- + /// + /// + /// The interface does not use a secure connection. + /// + /// + public ClientSslConfiguration SslConfiguration + { + get + { + if (!_client) + { + var msg = "The interface is not for the client."; + + throw new InvalidOperationException(msg); } - /// - /// Gets the URL to which to connect. - /// - /// - /// - /// A that represents the URL to which to connect. - /// - /// - /// Also it represents the URL requested by the client if the interface - /// is for the server. - /// - /// - public Uri Url { - get { - return _client ? _uri : _context.RequestUri; - } + if (!_secure) + { + var msg = "The interface does not use a secure connection."; + + throw new InvalidOperationException(msg); } - /// - /// Gets or sets the time to wait for the response to the ping or close. - /// - /// - /// The set operation works if the current state of the interface is - /// New or Closed. - /// - /// - /// - /// A that represents the time to wait for - /// the response. - /// - /// - /// The default value is the same as 5 seconds if the interface is - /// for the client. - /// - /// - /// - /// The value specified for a set operation is zero or less. - /// - public TimeSpan WaitTime { - get { - return _waitTime; - } + return getSslConfiguration(); + } + } + + /// + /// Gets the URL to which to connect. + /// + /// + /// + /// A that represents the URL to which to connect. + /// + /// + /// Also it represents the URL requested by the client if the interface + /// is for the server. + /// + /// + public Uri Url + { + get + { + return _client ? _uri : _context.RequestUri; + } + } + + /// + /// Gets or sets the time to wait for the response to the ping or close. + /// + /// + /// The set operation works if the current state of the interface is + /// New or Closed. + /// + /// + /// + /// A that represents the time to wait for + /// the response. + /// + /// + /// The default value is the same as 5 seconds if the interface is + /// for the client. + /// + /// + /// + /// The value specified for a set operation is zero or less. + /// + public TimeSpan WaitTime + { + get + { + return _waitTime; + } - set { - if (value <= TimeSpan.Zero) { - var msg = "Zero or less."; + set + { + if (value <= TimeSpan.Zero) + { + var msg = "Zero or less."; - throw new ArgumentOutOfRangeException("value", msg); - } + throw new ArgumentOutOfRangeException("value", msg); + } - lock (_forState) { - if (!canSet()) - return; + lock (_forState) + { + if (!canSet()) + return; - _waitTime = value; - } - } + _waitTime = value; } + } + } + + #endregion + + #region Public Events + + /// + /// Occurs when the connection has been closed. + /// + public event EventHandler OnClose; + + /// + /// Occurs when the interface gets an error. + /// + public event EventHandler OnError; - #endregion + /// + /// Occurs when the interface receives a message. + /// + public event EventHandler OnMessage; - #region Public Events + /// + /// Occurs when the connection has been established. + /// + public event EventHandler OnOpen; - /// - /// Occurs when the connection has been closed. - /// - public event EventHandler OnClose; + #endregion - /// - /// Occurs when the interface gets an error. - /// - public event EventHandler OnError; + #region Private Methods - /// - /// Occurs when the interface receives a message. - /// - public event EventHandler OnMessage; + private void abort(string reason, Exception exception) + { + var code = exception is WebSocketException + ? ((WebSocketException)exception).Code + : (ushort)1006; - /// - /// Occurs when the connection has been established. - /// - public event EventHandler OnOpen; + abort(code, reason); + } - #endregion + private void abort(ushort code, string reason) + { + var data = new PayloadData(code, reason); - #region Private Methods + close(data, false, false); + } - private void abort(string reason, Exception exception) + // As server + private bool accept() + { + lock (_forState) + { + if (_readyState == WebSocketState.Open) { - var code = exception is WebSocketException - ? ((WebSocketException)exception).Code - : (ushort)1006; + _log.Trace("The connection has already been established."); - abort(code, reason); + return false; } - private void abort(ushort code, string reason) + if (_readyState == WebSocketState.Closing) { - var data = new PayloadData(code, reason); + _log.Error("The close process is in progress."); + + error("An error has occurred before accepting.", null); - close(data, false, false); + return false; } - // As server - private bool accept() + if (_readyState == WebSocketState.Closed) { - lock (_forState) { - if (_readyState == WebSocketState.Open) { - _log.Trace("The connection has already been established."); + _log.Error("The connection has been closed."); - return false; - } + error("An error has occurred before accepting.", null); - if (_readyState == WebSocketState.Closing) { - _log.Error("The close process is in progress."); + return false; + } - error("An error has occurred before accepting.", null); + _readyState = WebSocketState.Connecting; - return false; - } + var accepted = false; - if (_readyState == WebSocketState.Closed) { - _log.Error("The connection has been closed."); + try + { + accepted = acceptHandshake(); + } + catch (Exception ex) + { + _log.Fatal(ex.Message); + _log.Debug(ex.ToString()); - error("An error has occurred before accepting.", null); + abort(1011, "An exception has occurred while accepting."); + } - return false; - } + if (!accepted) + return false; - _readyState = WebSocketState.Connecting; + _readyState = WebSocketState.Open; - var accepted = false; + return true; + } + } - try { - accepted = acceptHandshake(); - } - catch (Exception ex) { - _log.Fatal(ex.Message); - _log.Debug(ex.ToString()); + // As server + private bool acceptHandshake() + { + string msg; - abort(1011, "An exception has occurred while accepting."); - } + if (!checkHandshakeRequest(_context, out msg)) + { + _log.Error(msg); + _log.Debug(_context.ToString()); - if (!accepted) - return false; + refuseHandshake(1002, "A handshake error has occurred."); - _readyState = WebSocketState.Open; + return false; + } - return true; - } - } + if (!customCheckHandshakeRequest(_context, out msg)) + { + _log.Error(msg); + _log.Debug(_context.ToString()); - // As server - private bool acceptHandshake() - { - string msg; + refuseHandshake(1002, "A handshake error has occurred."); - if (!checkHandshakeRequest(_context, out msg)) { - _log.Error(msg); - _log.Debug(_context.ToString()); + return false; + } - refuseHandshake(1002, "A handshake error has occurred."); + _base64Key = _context.Headers["Sec-WebSocket-Key"]; - return false; - } + if (_protocol != null) + { + var vals = _context.SecWebSocketProtocols; - if (!customCheckHandshakeRequest(_context, out msg)) { - _log.Error(msg); - _log.Debug(_context.ToString()); + processSecWebSocketProtocolClientHeader(vals); + } - refuseHandshake(1002, "A handshake error has occurred."); + if (!_ignoreExtensions) + { + var val = _context.Headers["Sec-WebSocket-Extensions"]; - return false; - } + processSecWebSocketExtensionsClientHeader(val); + } - _base64Key = _context.Headers["Sec-WebSocket-Key"]; + var res = createHandshakeResponse(); - if (_protocol != null) { - var vals = _context.SecWebSocketProtocols; + sendHttpResponse(res); - processSecWebSocketProtocolClientHeader(vals); - } + return true; + } - if (!_ignoreExtensions) { - var val = _context.Headers["Sec-WebSocket-Extensions"]; + private bool canSet() + { + return _readyState == WebSocketState.New + || _readyState == WebSocketState.Closed; + } - processSecWebSocketExtensionsClientHeader(val); - } + // As server + private bool checkHandshakeRequest( + WebSocketContext context, out string message + ) + { + message = null; - var res = createHandshakeResponse(); + if (!context.IsWebSocketRequest) + { + message = "Not a WebSocket handshake request."; - sendHttpResponse(res); + return false; + } - return true; - } + if (context.RequestUri == null) + { + message = "The Request-URI is invalid."; - private bool canSet() - { - return _readyState == WebSocketState.New - || _readyState == WebSocketState.Closed; - } + return false; + } - // As server - private bool checkHandshakeRequest( - WebSocketContext context, out string message - ) - { - message = null; + var headers = context.Headers; - if (!context.IsWebSocketRequest) { - message = "Not a WebSocket handshake request."; + var key = headers["Sec-WebSocket-Key"]; - return false; - } + if (key == null) + { + message = "The Sec-WebSocket-Key header is non-existent."; + + return false; + } - if (context.RequestUri == null) { - message = "The Request-URI is invalid."; + if (key.Length == 0) + { + message = "The Sec-WebSocket-Key header is invalid."; - return false; - } + return false; + } + + var ver = headers["Sec-WebSocket-Version"]; + + if (ver == null) + { + message = "The Sec-WebSocket-Version header is non-existent."; + + return false; + } + + if (ver != _version) + { + message = "The Sec-WebSocket-Version header is invalid."; + + return false; + } + + var subps = headers["Sec-WebSocket-Protocol"]; + + if (subps != null && subps.Length == 0) + { + message = "The Sec-WebSocket-Protocol header is invalid."; - var headers = context.Headers; + return false; + } - var key = headers["Sec-WebSocket-Key"]; + if (!_ignoreExtensions) + { + var exts = headers["Sec-WebSocket-Extensions"]; - if (key == null) { - message = "The Sec-WebSocket-Key header is non-existent."; + if (exts != null && exts.Length == 0) + { + message = "The Sec-WebSocket-Extensions header is invalid."; - return false; - } + return false; + } + } - if (key.Length == 0) { - message = "The Sec-WebSocket-Key header is invalid."; + return true; + } - return false; - } + // As client + private bool checkHandshakeResponse( + HttpResponse response, out string message + ) + { + message = null; - var ver = headers["Sec-WebSocket-Version"]; + if (response.IsRedirect) + { + message = "The redirection is indicated."; - if (ver == null) { - message = "The Sec-WebSocket-Version header is non-existent."; + return false; + } - return false; - } + if (response.IsUnauthorized) + { + message = "The authentication is required."; - if (ver != _version) { - message = "The Sec-WebSocket-Version header is invalid."; + return false; + } - return false; - } + if (!response.IsWebSocketResponse) + { + message = "Not a WebSocket handshake response."; - var subps = headers["Sec-WebSocket-Protocol"]; + return false; + } - if (subps != null && subps.Length == 0) { - message = "The Sec-WebSocket-Protocol header is invalid."; + var headers = response.Headers; - return false; - } + var key = headers["Sec-WebSocket-Accept"]; - if (!_ignoreExtensions) { - var exts = headers["Sec-WebSocket-Extensions"]; + if (key == null) + { + message = "The Sec-WebSocket-Accept header is non-existent."; - if (exts != null && exts.Length == 0) { - message = "The Sec-WebSocket-Extensions header is invalid."; + return false; + } - return false; - } - } + if (key != CreateResponseKey(_base64Key)) + { + message = "The Sec-WebSocket-Accept header is invalid."; - return true; - } + return false; + } - // As client - private bool checkHandshakeResponse( - HttpResponse response, out string message - ) - { - message = null; + var ver = headers["Sec-WebSocket-Version"]; - if (response.IsRedirect) { - message = "The redirection is indicated."; + if (ver != null && ver != _version) + { + message = "The Sec-WebSocket-Version header is invalid."; - return false; - } + return false; + } - if (response.IsUnauthorized) { - message = "The authentication is required."; + var subp = headers["Sec-WebSocket-Protocol"]; - return false; - } + if (subp == null) + { + if (_protocolsRequested) + { + message = "The Sec-WebSocket-Protocol header is non-existent."; - if (!response.IsWebSocketResponse) { - message = "Not a WebSocket handshake response."; + return false; + } + } + else + { + var valid = subp.Length > 0 + && _protocolsRequested + && _protocols.Contains(p => p == subp); - return false; - } + if (!valid) + { + message = "The Sec-WebSocket-Protocol header is invalid."; - var headers = response.Headers; + return false; + } + } - var key = headers["Sec-WebSocket-Accept"]; + var exts = headers["Sec-WebSocket-Extensions"]; - if (key == null) { - message = "The Sec-WebSocket-Accept header is non-existent."; + if (!validateSecWebSocketExtensionsServerHeader(exts)) + { + message = "The Sec-WebSocket-Extensions header is invalid."; - return false; - } + return false; + } - if (key != CreateResponseKey(_base64Key)) { - message = "The Sec-WebSocket-Accept header is invalid."; + return true; + } - return false; - } + private static bool checkProtocols(string[] protocols, out string message) + { + message = null; - var ver = headers["Sec-WebSocket-Version"]; + Func cond = protocol => protocol.IsNullOrEmpty() + || !protocol.IsToken(); - if (ver != null && ver != _version) { - message = "The Sec-WebSocket-Version header is invalid."; + if (protocols.Contains(cond)) + { + message = "It contains a value that is not a token."; + return false; + } - return false; - } + if (protocols.ContainsTwice()) + { + message = "It contains a value twice."; + return false; + } - var subp = headers["Sec-WebSocket-Protocol"]; + return true; + } - if (subp == null) { - if (_protocolsRequested) { - message = "The Sec-WebSocket-Protocol header is non-existent."; + private bool checkReceivedFrame(WebSocketFrame frame, out string message) + { + message = null; - return false; - } - } - else { - var valid = subp.Length > 0 - && _protocolsRequested - && _protocols.Contains(p => p == subp); + if (frame.IsMasked) + { + if (_client) + { + message = "A frame from the server is masked."; - if (!valid) { - message = "The Sec-WebSocket-Protocol header is invalid."; + return false; + } + } + else + { + if (!_client) + { + message = "A frame from a client is not masked."; - return false; - } - } + return false; + } + } - var exts = headers["Sec-WebSocket-Extensions"]; + if (frame.IsCompressed) + { + if (_compression == CompressionMethod.None) + { + message = "A frame is compressed without any agreement for it."; - if (!validateSecWebSocketExtensionsServerHeader(exts)) { - message = "The Sec-WebSocket-Extensions header is invalid."; + return false; + } - return false; - } + if (!frame.IsData) + { + message = "A non data frame is compressed."; - return true; + return false; } + } - private static bool checkProtocols(string[] protocols, out string message) + if (frame.IsData) + { + if (_inContinuation) { - message = null; + message = "A data frame was received while receiving continuation frames."; - Func cond = protocol => protocol.IsNullOrEmpty() - || !protocol.IsToken(); - - if (protocols.Contains(cond)) { - message = "It contains a value that is not a token."; - return false; - } + return false; + } + } - if (protocols.ContainsTwice()) { - message = "It contains a value twice."; - return false; - } + if (frame.IsControl) + { + if (frame.Fin == Fin.More) + { + message = "A control frame is fragmented."; - return true; + return false; } - private bool checkReceivedFrame(WebSocketFrame frame, out string message) + if (frame.PayloadLength > 125) { - message = null; + message = "The payload length of a control frame is greater than 125."; - if (frame.IsMasked) { - if (_client) { - message = "A frame from the server is masked."; + return false; + } + } - return false; - } - } - else { - if (!_client) { - message = "A frame from a client is not masked."; + if (frame.Rsv2 == Rsv.On) + { + message = "The RSV2 of a frame is non-zero without any negotiation for it."; - return false; - } - } + return false; + } - if (frame.IsCompressed) { - if (_compression == CompressionMethod.None) { - message = "A frame is compressed without any agreement for it."; + if (frame.Rsv3 == Rsv.On) + { + message = "The RSV3 of a frame is non-zero without any negotiation for it."; - return false; - } + return false; + } - if (!frame.IsData) { - message = "A non data frame is compressed."; + return true; + } - return false; - } - } + private void close(ushort code, string reason) + { + if (_readyState == WebSocketState.Closing) + { + _log.Trace("The close process is already in progress."); - if (frame.IsData) { - if (_inContinuation) { - message = "A data frame was received while receiving continuation frames."; + return; + } - return false; - } - } + if (_readyState == WebSocketState.Closed) + { + _log.Trace("The connection has already been closed."); - if (frame.IsControl) { - if (frame.Fin == Fin.More) { - message = "A control frame is fragmented."; + return; + } - return false; - } + if (code == 1005) + { + close(PayloadData.Empty, true, false); - if (frame.PayloadLength > 125) { - message = "The payload length of a control frame is greater than 125."; + return; + } - return false; - } - } + var data = new PayloadData(code, reason); + var send = !code.IsReservedStatusCode(); - if (frame.Rsv2 == Rsv.On) { - message = "The RSV2 of a frame is non-zero without any negotiation for it."; + close(data, send, false); + } - return false; - } + private void close(PayloadData payloadData, bool send, bool received) + { + lock (_forState) + { + if (_readyState == WebSocketState.Closing) + { + _log.Trace("The close process is already in progress."); - if (frame.Rsv3 == Rsv.On) { - message = "The RSV3 of a frame is non-zero without any negotiation for it."; + return; + } - return false; - } + if (_readyState == WebSocketState.Closed) + { + _log.Trace("The connection has already been closed."); - return true; + return; } - private void close(ushort code, string reason) - { - if (_readyState == WebSocketState.Closing) { - _log.Trace("The close process is already in progress."); + send = send && _readyState == WebSocketState.Open; - return; - } + _readyState = WebSocketState.Closing; + } - if (_readyState == WebSocketState.Closed) { - _log.Trace("The connection has already been closed."); + _log.Trace("Begin closing the connection."); - return; - } + var res = closeHandshake(payloadData, send, received); - if (code == 1005) { - close(PayloadData.Empty, true, false); + releaseResources(); - return; - } + _log.Trace("End closing the connection."); - var data = new PayloadData(code, reason); - var send = !code.IsReservedStatusCode(); + _readyState = WebSocketState.Closed; - close(data, send, false); - } + var e = new CloseEventArgs(payloadData, res); - private void close(PayloadData payloadData, bool send, bool received) - { - lock (_forState) { - if (_readyState == WebSocketState.Closing) { - _log.Trace("The close process is already in progress."); + try + { + OnClose.Emit(this, e); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); + } + } - return; - } + private void closeAsync(ushort code, string reason) + { + if (_readyState == WebSocketState.Closing) + { + _log.Trace("The close process is already in progress."); - if (_readyState == WebSocketState.Closed) { - _log.Trace("The connection has already been closed."); + return; + } - return; - } + if (_readyState == WebSocketState.Closed) + { + _log.Trace("The connection has already been closed."); - send = send && _readyState == WebSocketState.Open; + return; + } - _readyState = WebSocketState.Closing; - } + if (code == 1005) + { + closeAsync(PayloadData.Empty, true, false); - _log.Trace("Begin closing the connection."); + return; + } - var res = closeHandshake(payloadData, send, received); + var data = new PayloadData(code, reason); + var send = !code.IsReservedStatusCode(); - releaseResources(); + closeAsync(data, send, false); + } - _log.Trace("End closing the connection."); + private void closeAsync(PayloadData payloadData, bool send, bool received) + { + Action closer = close; - _readyState = WebSocketState.Closed; + if (isNET()) + { + var workTask = Task.Run(() => closer.Invoke( + payloadData, send, received + )); + } + else + { + closer.BeginInvoke( + payloadData, send, received, ar => closer.EndInvoke(ar), null + ); + } + } - var e = new CloseEventArgs(payloadData, res); + private bool closeHandshake( + PayloadData payloadData, bool send, bool received + ) + { + var sent = false; - try { - OnClose.Emit(this, e); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); - } - } + if (send) + { + var frame = WebSocketFrame.CreateCloseFrame(payloadData, _client); + var bytes = frame.ToArray(); - private void closeAsync(ushort code, string reason) - { - if (_readyState == WebSocketState.Closing) { - _log.Trace("The close process is already in progress."); + sent = sendBytes(bytes); - return; - } + if (_client) + frame.Unmask(); + } - if (_readyState == WebSocketState.Closed) { - _log.Trace("The connection has already been closed."); + var wait = !received && sent && _receivingExited != null; - return; - } + if (wait) + received = _receivingExited.WaitOne(_waitTime); - if (code == 1005) { - closeAsync(PayloadData.Empty, true, false); + var ret = sent && received; - return; - } + var msg = String.Format( + "The closing was clean? {0} (sent: {1} received: {2})", + ret, + sent, + received + ); - var data = new PayloadData(code, reason); - var send = !code.IsReservedStatusCode(); + _log.Debug(msg); - closeAsync(data, send, false); - } + return ret; + } + + // As client + private bool connect() + { + if (_readyState == WebSocketState.Connecting) + { + _log.Trace("The connect process is in progress."); + + return false; + } - private void closeAsync(PayloadData payloadData, bool send, bool received) + lock (_forState) + { + if (_readyState == WebSocketState.Open) { - Action closer = close; + _log.Trace("The connection has already been established."); - if (isNET()) - { - var workTask = Task.Run(() => closer.Invoke( - payloadData, send, received - )); - } - else - { - closer.BeginInvoke( - payloadData, send, received, ar => closer.EndInvoke(ar), null - ); - } + return false; } - private bool closeHandshake( - PayloadData payloadData, bool send, bool received - ) + if (_readyState == WebSocketState.Closing) { - var sent = false; + _log.Error("The close process is in progress."); - if (send) { - var frame = WebSocketFrame.CreateCloseFrame(payloadData, _client); - var bytes = frame.ToArray(); + error("An error has occurred before connecting.", null); - sent = sendBytes(bytes); + return false; + } - if (_client) - frame.Unmask(); - } + if (_retryCountForConnect >= _maxRetryCountForConnect) + { + _log.Error("An opportunity for reconnecting has been lost."); - var wait = !received && sent && _receivingExited != null; + error("An error has occurred before connecting.", null); - if (wait) - received = _receivingExited.WaitOne(_waitTime); + return false; + } - var ret = sent && received; + _retryCountForConnect++; - var msg = String.Format( - "The closing was clean? {0} (sent: {1} received: {2})", - ret, - sent, - received - ); + _readyState = WebSocketState.Connecting; - _log.Debug(msg); + var done = false; - return ret; + try + { + done = doHandshake(); } - - // As client - private bool connect() + catch (Exception ex) { - if (_readyState == WebSocketState.Connecting) { - _log.Trace("The connect process is in progress."); + _log.Fatal(ex.Message); + _log.Debug(ex.ToString()); - return false; - } + abort("An exception has occurred while connecting.", ex); + } - lock (_forState) { - if (_readyState == WebSocketState.Open) { - _log.Trace("The connection has already been established."); + if (!done) + return false; - return false; - } + _retryCountForConnect = -1; - if (_readyState == WebSocketState.Closing) { - _log.Error("The close process is in progress."); + _readyState = WebSocketState.Open; - error("An error has occurred before connecting.", null); + return true; + } + } - return false; - } + // As client + private AuthenticationResponse createAuthenticationResponse() + { + if (_credentials == null) + return null; - if (_retryCountForConnect >= _maxRetryCountForConnect) { - _log.Error("An opportunity for reconnecting has been lost."); + if (_authChallenge != null) + { + var ret = new AuthenticationResponse( + _authChallenge, _credentials, _nonceCount + ); - error("An error has occurred before connecting.", null); + _nonceCount = ret.NonceCount; - return false; - } + return ret; + } - _retryCountForConnect++; + return _preAuth ? new AuthenticationResponse(_credentials) : null; + } - _readyState = WebSocketState.Connecting; + // As client + private string createExtensions() + { + var buff = new StringBuilder(80); - var done = false; + if (_compression != CompressionMethod.None) + { + var str = _compression.ToExtensionString( + "server_no_context_takeover", "client_no_context_takeover" + ); - try { - done = doHandshake(); - } - catch (Exception ex) { - _log.Fatal(ex.Message); - _log.Debug(ex.ToString()); + buff.AppendFormat("{0}, ", str); + } - abort("An exception has occurred while connecting.", ex); - } + var len = buff.Length; - if (!done) - return false; + if (len <= 2) + return null; - _retryCountForConnect = -1; + buff.Length = len - 2; - _readyState = WebSocketState.Open; + return buff.ToString(); + } - return true; - } - } + // As server + private HttpResponse createHandshakeFailureResponse() + { + var ret = HttpResponse.CreateCloseResponse(HttpStatusCode.BadRequest); - // As client - private AuthenticationResponse createAuthenticationResponse() - { - if (_credentials == null) - return null; + ret.Headers["Sec-WebSocket-Version"] = _version; - if (_authChallenge != null) { - var ret = new AuthenticationResponse( - _authChallenge, _credentials, _nonceCount - ); + return ret; + } - _nonceCount = ret.NonceCount; + // As client + private HttpRequest createHandshakeRequest() + { + var ret = HttpRequest.CreateWebSocketHandshakeRequest(_uri); - return ret; - } + var headers = ret.Headers; - return _preAuth ? new AuthenticationResponse(_credentials) : null; - } + headers["Sec-WebSocket-Key"] = _base64Key; + headers["Sec-WebSocket-Version"] = _version; - // As client - private string createExtensions() - { - var buff = new StringBuilder(80); + if (!_origin.IsNullOrEmpty()) + headers["Origin"] = _origin; - if (_compression != CompressionMethod.None) { - var str = _compression.ToExtensionString( - "server_no_context_takeover", "client_no_context_takeover" - ); + if (_protocols != null) + { + headers["Sec-WebSocket-Protocol"] = _protocols.ToString(", "); - buff.AppendFormat("{0}, ", str); - } + _protocolsRequested = true; + } - var len = buff.Length; + var exts = createExtensions(); - if (len <= 2) - return null; + if (exts != null) + { + headers["Sec-WebSocket-Extensions"] = exts; - buff.Length = len - 2; + _extensionsRequested = true; + } - return buff.ToString(); - } + var ares = createAuthenticationResponse(); - // As server - private HttpResponse createHandshakeFailureResponse() - { - var ret = HttpResponse.CreateCloseResponse(HttpStatusCode.BadRequest); + if (ares != null) + headers["Authorization"] = ares.ToString(); - ret.Headers["Sec-WebSocket-Version"] = _version; + if (_cookies.Count > 0) + ret.SetCookies(_cookies); - return ret; - } + return ret; + } - // As client - private HttpRequest createHandshakeRequest() - { - var ret = HttpRequest.CreateWebSocketHandshakeRequest(_uri); + // As server + private HttpResponse createHandshakeResponse() + { + var ret = HttpResponse.CreateWebSocketHandshakeResponse(); - var headers = ret.Headers; + var headers = ret.Headers; - headers["Sec-WebSocket-Key"] = _base64Key; - headers["Sec-WebSocket-Version"] = _version; + headers["Sec-WebSocket-Accept"] = CreateResponseKey(_base64Key); - if (!_origin.IsNullOrEmpty()) - headers["Origin"] = _origin; + if (_protocol != null) + headers["Sec-WebSocket-Protocol"] = _protocol; - if (_protocols != null) { - headers["Sec-WebSocket-Protocol"] = _protocols.ToString(", "); + if (_extensions != null) + headers["Sec-WebSocket-Extensions"] = _extensions; - _protocolsRequested = true; - } + if (_cookies.Count > 0) + ret.SetCookies(_cookies); - var exts = createExtensions(); + return ret; + } - if (exts != null) { - headers["Sec-WebSocket-Extensions"] = exts; + // As server + private bool customCheckHandshakeRequest( + WebSocketContext context, out string message + ) + { + message = null; - _extensionsRequested = true; - } + if (_handshakeRequestChecker == null) + return true; - var ares = createAuthenticationResponse(); + message = _handshakeRequestChecker(context); - if (ares != null) - headers["Authorization"] = ares.ToString(); + return message == null; + } - if (_cookies.Count > 0) - ret.SetCookies(_cookies); + private MessageEventArgs dequeueFromMessageEventQueue() + { + lock (_forMessageEventQueue) + { + return _messageEventQueue.Count > 0 + ? _messageEventQueue.Dequeue() + : null; + } + } - return ret; - } + // As client + private bool doHandshake() + { + setClientStream(); - // As server - private HttpResponse createHandshakeResponse() - { - var ret = HttpResponse.CreateWebSocketHandshakeResponse(); + var res = sendHandshakeRequest(); - var headers = ret.Headers; + string msg; - headers["Sec-WebSocket-Accept"] = CreateResponseKey(_base64Key); + if (!checkHandshakeResponse(res, out msg)) + { + _log.Error(msg); + _log.Debug(res.ToString()); - if (_protocol != null) - headers["Sec-WebSocket-Protocol"] = _protocol; + abort(1002, "A handshake error has occurred."); - if (_extensions != null) - headers["Sec-WebSocket-Extensions"] = _extensions; + return false; + } - if (_cookies.Count > 0) - ret.SetCookies(_cookies); + if (_protocolsRequested) + _protocol = res.Headers["Sec-WebSocket-Protocol"]; - return ret; - } + if (_extensionsRequested) + { + var val = res.Headers["Sec-WebSocket-Extensions"]; - // As server - private bool customCheckHandshakeRequest( - WebSocketContext context, out string message - ) - { - message = null; + processSecWebSocketExtensionsServerHeader(val); + } - if (_handshakeRequestChecker == null) - return true; + processCookies(res.Cookies); - message = _handshakeRequestChecker(context); + return true; + } - return message == null; - } + private void enqueueToMessageEventQueue(MessageEventArgs e) + { + lock (_forMessageEventQueue) + _messageEventQueue.Enqueue(e); + } - private MessageEventArgs dequeueFromMessageEventQueue() - { - lock (_forMessageEventQueue) { - return _messageEventQueue.Count > 0 - ? _messageEventQueue.Dequeue() - : null; - } - } + private void error(string message, Exception exception) + { + var e = new ErrorEventArgs(message, exception); - // As client - private bool doHandshake() - { - setClientStream(); + try + { + OnError.Emit(this, e); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); + } + } - var res = sendHandshakeRequest(); + private ClientSslConfiguration getSslConfiguration() + { + if (_sslConfig == null) + _sslConfig = new ClientSslConfiguration(_uri.DnsSafeHost); - string msg; + return _sslConfig; + } - if (!checkHandshakeResponse(res, out msg)) { - _log.Error(msg); - _log.Debug(res.ToString()); + private void init() + { + _compression = CompressionMethod.None; + _cookies = new CookieCollection(); + _forPing = new object(); + _forSend = new object(); + _forState = new object(); + _messageEventQueue = new Queue(); + _forMessageEventQueue = ((ICollection)_messageEventQueue).SyncRoot; + _readyState = WebSocketState.New; + } - abort(1002, "A handshake error has occurred."); + private void message() + { + MessageEventArgs e = null; - return false; - } + lock (_forMessageEventQueue) + { + if (_inMessage) + return; - if (_protocolsRequested) - _protocol = res.Headers["Sec-WebSocket-Protocol"]; + if (_messageEventQueue.Count == 0) + return; - if (_extensionsRequested) { - var val = res.Headers["Sec-WebSocket-Extensions"]; + if (_readyState != WebSocketState.Open) + return; - processSecWebSocketExtensionsServerHeader(val); - } + e = _messageEventQueue.Dequeue(); - processCookies(res.Cookies); + _inMessage = true; + } - return true; - } + _message(e); + } - private void enqueueToMessageEventQueue(MessageEventArgs e) + private void messagec(MessageEventArgs e) + { + do + { + try { - lock (_forMessageEventQueue) - _messageEventQueue.Enqueue(e); + OnMessage.Emit(this, e); } - - private void error(string message, Exception exception) + catch (Exception ex) { - var e = new ErrorEventArgs(message, exception); + _log.Error(ex.Message); + _log.Debug(ex.ToString()); - try { - OnError.Emit(this, e); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); - } + error("An exception has occurred during an OnMessage event.", ex); } - private ClientSslConfiguration getSslConfiguration() + lock (_forMessageEventQueue) { - if (_sslConfig == null) - _sslConfig = new ClientSslConfiguration(_uri.DnsSafeHost); - - return _sslConfig; - } + if (_messageEventQueue.Count == 0) + { + _inMessage = false; - private void init() - { - _compression = CompressionMethod.None; - _cookies = new CookieCollection(); - _forPing = new object(); - _forSend = new object(); - _forState = new object(); - _messageEventQueue = new Queue(); - _forMessageEventQueue = ((ICollection)_messageEventQueue).SyncRoot; - _readyState = WebSocketState.New; - } + break; + } - private void message() - { - MessageEventArgs e = null; + if (_readyState != WebSocketState.Open) + { + _inMessage = false; - lock (_forMessageEventQueue) { - if (_inMessage) - return; + break; + } - if (_messageEventQueue.Count == 0) - return; + e = _messageEventQueue.Dequeue(); + } + } + while (true); + } - if (_readyState != WebSocketState.Open) - return; + private void messages(MessageEventArgs e) + { + try + { + OnMessage.Emit(this, e); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); - e = _messageEventQueue.Dequeue(); + error("An exception has occurred during an OnMessage event.", ex); + } - _inMessage = true; - } + lock (_forMessageEventQueue) + { + if (_messageEventQueue.Count == 0) + { + _inMessage = false; - _message(e); + return; } - private void messagec(MessageEventArgs e) + if (_readyState != WebSocketState.Open) { - do { - try { - OnMessage.Emit(this, e); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); - - error("An exception has occurred during an OnMessage event.", ex); - } + _inMessage = false; - lock (_forMessageEventQueue) { - if (_messageEventQueue.Count == 0) { - _inMessage = false; + return; + } - break; - } + e = _messageEventQueue.Dequeue(); + } - if (_readyState != WebSocketState.Open) { - _inMessage = false; + ThreadPool.QueueUserWorkItem(state => messages(e)); + } - break; - } - e = _messageEventQueue.Dequeue(); - } - } - while (true); - } + private static bool isNET() + { +#if NET + return true; +#else + return false; +#endif + } - private void messages(MessageEventArgs e) - { - try { - OnMessage.Emit(this, e); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); + public static bool isWindows() + { + return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows); + } - error("An exception has occurred during an OnMessage event.", ex); - } + private void open() + { + _inMessage = true; - lock (_forMessageEventQueue) { - if (_messageEventQueue.Count == 0) { - _inMessage = false; + startReceiving(); - return; - } + try + { + OnOpen.Emit(this, EventArgs.Empty); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); - if (_readyState != WebSocketState.Open) { - _inMessage = false; + error("An exception has occurred during the OnOpen event.", ex); + } - return; - } + MessageEventArgs e = null; - e = _messageEventQueue.Dequeue(); - } + lock (_forMessageEventQueue) + { + if (_messageEventQueue.Count == 0) + { + _inMessage = false; - ThreadPool.QueueUserWorkItem(state => messages(e)); + return; } - - private static bool isNET() + if (_readyState != WebSocketState.Open) { -#if NET - return true; -#else - return false; -#endif - } + _inMessage = false; - public static bool isWindows() - { - return System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows); + return; } - private void open() - { - _inMessage = true; + e = _messageEventQueue.Dequeue(); + } - startReceiving(); - try { - OnOpen.Emit(this, EventArgs.Empty); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); + if (isNET()) + { + var workTask = Task.Run(() => _message.Invoke(e)); + } + else + { + _message.BeginInvoke(e, ar => _message.EndInvoke(ar), null); - error("An exception has occurred during the OnOpen event.", ex); - } + } - MessageEventArgs e = null; - lock (_forMessageEventQueue) { - if (_messageEventQueue.Count == 0) { - _inMessage = false; - return; - } - if (_readyState != WebSocketState.Open) { - _inMessage = false; + } - return; - } + private bool ping(byte[] data) + { + if (_readyState != WebSocketState.Open) + return false; - e = _messageEventQueue.Dequeue(); - } + var received = _pongReceived; + if (received == null) + return false; - if (isNET()) - { - var workTask = Task.Run(() => _message.Invoke(e)); - } - else - { - _message.BeginInvoke(e, ar => _message.EndInvoke(ar), null); + lock (_forPing) + { + try + { + received.Reset(); - } + var sent = send(Fin.Final, Opcode.Ping, data, false); + if (!sent) + return false; + return received.WaitOne(_waitTime); + } + catch (ObjectDisposedException) + { + return false; + } + } + } + private bool processCloseFrame(WebSocketFrame frame) + { + var data = frame.PayloadData; + var send = !data.HasReservedCode; - } + close(data, send, true); - private bool ping(byte[] data) - { - if (_readyState != WebSocketState.Open) - return false; + return false; + } + + // As client + private void processCookies(CookieCollection cookies) + { + if (cookies.Count == 0) + return; + + _cookies.SetOrRemove(cookies); + } - var received = _pongReceived; + private bool processDataFrame(WebSocketFrame frame) + { + var e = frame.IsCompressed + ? new MessageEventArgs( + frame.Opcode, + frame.PayloadData.ApplicationData.Decompress(_compression) + ) + : new MessageEventArgs(frame); - if (received == null) - return false; + enqueueToMessageEventQueue(e); - lock (_forPing) { - try { - received.Reset(); + return true; + } - var sent = send(Fin.Final, Opcode.Ping, data, false); + private bool processFragmentFrame(WebSocketFrame frame) + { + if (!_inContinuation) + { + if (frame.IsContinuation) + return true; - if (!sent) - return false; + _fragmentsOpcode = frame.Opcode; + _fragmentsCompressed = frame.IsCompressed; + _fragmentsBuffer = new MemoryStream(); + _inContinuation = true; + } - return received.WaitOne(_waitTime); - } - catch (ObjectDisposedException) { - return false; - } - } - } + _fragmentsBuffer.WriteBytes(frame.PayloadData.ApplicationData, 1024); - private bool processCloseFrame(WebSocketFrame frame) + if (frame.IsFinal) + { + using (_fragmentsBuffer) { - var data = frame.PayloadData; - var send = !data.HasReservedCode; + var data = _fragmentsCompressed + ? _fragmentsBuffer.DecompressToArray(_compression) + : _fragmentsBuffer.ToArray(); - close(data, send, true); + var e = new MessageEventArgs(_fragmentsOpcode, data); - return false; + enqueueToMessageEventQueue(e); } - // As client - private void processCookies(CookieCollection cookies) + _fragmentsBuffer = null; + _inContinuation = false; + } + + return true; + } + + private bool processPingFrame(WebSocketFrame frame) + { + _log.Trace("A ping was received."); + + var pong = WebSocketFrame.CreatePongFrame(frame.PayloadData, _client); + + lock (_forState) + { + if (_readyState != WebSocketState.Open) { - if (cookies.Count == 0) - return; + _log.Trace("A pong to this ping cannot be sent."); - _cookies.SetOrRemove(cookies); + return true; } - private bool processDataFrame(WebSocketFrame frame) - { - var e = frame.IsCompressed - ? new MessageEventArgs( - frame.Opcode, - frame.PayloadData.ApplicationData.Decompress(_compression) - ) - : new MessageEventArgs(frame); + var bytes = pong.ToArray(); + var sent = sendBytes(bytes); - enqueueToMessageEventQueue(e); + if (!sent) + return false; + } - return true; - } + _log.Trace("A pong to this ping has been sent."); - private bool processFragmentFrame(WebSocketFrame frame) - { - if (!_inContinuation) { - if (frame.IsContinuation) - return true; - - _fragmentsOpcode = frame.Opcode; - _fragmentsCompressed = frame.IsCompressed; - _fragmentsBuffer = new MemoryStream(); - _inContinuation = true; - } + if (_emitOnPing) + { + if (_client) + pong.Unmask(); - _fragmentsBuffer.WriteBytes(frame.PayloadData.ApplicationData, 1024); + var e = new MessageEventArgs(frame); - if (frame.IsFinal) { - using (_fragmentsBuffer) { - var data = _fragmentsCompressed - ? _fragmentsBuffer.DecompressToArray(_compression) - : _fragmentsBuffer.ToArray(); + enqueueToMessageEventQueue(e); + } - var e = new MessageEventArgs(_fragmentsOpcode, data); + return true; + } - enqueueToMessageEventQueue(e); - } + private bool processPongFrame(WebSocketFrame frame) + { + _log.Trace("A pong was received."); - _fragmentsBuffer = null; - _inContinuation = false; - } + try + { + _pongReceived.Set(); + } + catch (NullReferenceException) + { + return false; + } + catch (ObjectDisposedException) + { + return false; + } - return true; - } + _log.Trace("It has been signaled."); - private bool processPingFrame(WebSocketFrame frame) - { - _log.Trace("A ping was received."); + return true; + } - var pong = WebSocketFrame.CreatePongFrame(frame.PayloadData, _client); + private bool processReceivedFrame(WebSocketFrame frame) + { + string msg; - lock (_forState) { - if (_readyState != WebSocketState.Open) { - _log.Trace("A pong to this ping cannot be sent."); + if (!checkReceivedFrame(frame, out msg)) + { + _log.Error(msg); + _log.Debug(frame.ToString(false)); - return true; - } + abort(1002, "An error has occurred while receiving."); - var bytes = pong.ToArray(); - var sent = sendBytes(bytes); + return false; + } - if (!sent) - return false; - } + frame.Unmask(); + + return frame.IsFragment + ? processFragmentFrame(frame) + : frame.IsData + ? processDataFrame(frame) + : frame.IsPing + ? processPingFrame(frame) + : frame.IsPong + ? processPongFrame(frame) + : frame.IsClose + ? processCloseFrame(frame) + : processUnsupportedFrame(frame); + } - _log.Trace("A pong to this ping has been sent."); + // As server + private void processSecWebSocketExtensionsClientHeader(string value) + { + if (value == null) + return; - if (_emitOnPing) { - if (_client) - pong.Unmask(); + var buff = new StringBuilder(80); - var e = new MessageEventArgs(frame); + var comp = false; - enqueueToMessageEventQueue(e); - } + foreach (var elm in value.SplitHeaderValue(',')) + { + var ext = elm.Trim(); - return true; - } + if (ext.Length == 0) + continue; - private bool processPongFrame(WebSocketFrame frame) + if (!comp) { - _log.Trace("A pong was received."); + if (ext.IsCompressionExtension(CompressionMethod.Deflate)) + { + _compression = CompressionMethod.Deflate; - try { - _pongReceived.Set(); - } - catch (NullReferenceException) { - return false; - } - catch (ObjectDisposedException) { - return false; - } + var str = _compression.ToExtensionString( + "client_no_context_takeover", + "server_no_context_takeover" + ); - _log.Trace("It has been signaled."); + buff.AppendFormat("{0}, ", str); - return true; + comp = true; + } } + } - private bool processReceivedFrame(WebSocketFrame frame) - { - string msg; - - if (!checkReceivedFrame(frame, out msg)) { - _log.Error(msg); - _log.Debug(frame.ToString(false)); + var len = buff.Length; - abort(1002, "An error has occurred while receiving."); + if (len <= 2) + return; - return false; - } + buff.Length = len - 2; - frame.Unmask(); - - return frame.IsFragment - ? processFragmentFrame(frame) - : frame.IsData - ? processDataFrame(frame) - : frame.IsPing - ? processPingFrame(frame) - : frame.IsPong - ? processPongFrame(frame) - : frame.IsClose - ? processCloseFrame(frame) - : processUnsupportedFrame(frame); - } + _extensions = buff.ToString(); + } - // As server - private void processSecWebSocketExtensionsClientHeader(string value) - { - if (value == null) - return; + // As client + private void processSecWebSocketExtensionsServerHeader(string value) + { + if (value == null) + { + _compression = CompressionMethod.None; - var buff = new StringBuilder(80); + return; + } - var comp = false; + _extensions = value; + } - foreach (var elm in value.SplitHeaderValue(',')) { - var ext = elm.Trim(); + // As server + private void processSecWebSocketProtocolClientHeader( + IEnumerable values + ) + { + if (values.Contains(val => val == _protocol)) + return; - if (ext.Length == 0) - continue; + _protocol = null; + } - if (!comp) { - if (ext.IsCompressionExtension(CompressionMethod.Deflate)) { - _compression = CompressionMethod.Deflate; + private bool processUnsupportedFrame(WebSocketFrame frame) + { + _log.Fatal("An unsupported frame was received."); + _log.Debug(frame.ToString(false)); - var str = _compression.ToExtensionString( - "client_no_context_takeover", - "server_no_context_takeover" - ); + abort(1003, "There is no way to handle it."); - buff.AppendFormat("{0}, ", str); + return false; + } - comp = true; - } - } - } + // As server + private void refuseHandshake(ushort code, string reason) + { + var res = createHandshakeFailureResponse(); - var len = buff.Length; + sendHttpResponse(res); - if (len <= 2) - return; + abort(code, reason); + } - buff.Length = len - 2; + // As client + private void releaseClientResources() + { + if (_stream != null) + { + _stream.Dispose(); - _extensions = buff.ToString(); - } + _stream = null; + } - // As client - private void processSecWebSocketExtensionsServerHeader(string value) - { - if (value == null) { - _compression = CompressionMethod.None; + if (_tcpClient != null) + { + _tcpClient.Close(); - return; - } + _tcpClient = null; + } + } - _extensions = value; - } + private void releaseCommonResources() + { + if (_fragmentsBuffer != null) + { + _fragmentsBuffer.Dispose(); - // As server - private void processSecWebSocketProtocolClientHeader( - IEnumerable values - ) - { - if (values.Contains(val => val == _protocol)) - return; + _fragmentsBuffer = null; + _inContinuation = false; + } - _protocol = null; - } + if (_pongReceived != null) + { + _pongReceived.Close(); - private bool processUnsupportedFrame(WebSocketFrame frame) - { - _log.Fatal("An unsupported frame was received."); - _log.Debug(frame.ToString(false)); + _pongReceived = null; + } - abort(1003, "There is no way to handle it."); + if (_receivingExited != null) + { + _receivingExited.Close(); - return false; - } + _receivingExited = null; + } + } - // As server - private void refuseHandshake(ushort code, string reason) - { - var res = createHandshakeFailureResponse(); + private void releaseResources() + { + if (_client) + releaseClientResources(); + else + releaseServerResources(); - sendHttpResponse(res); + releaseCommonResources(); + } - abort(code, reason); - } + // As server + private void releaseServerResources() + { + if (_closeContext != null) + { + _closeContext(); - // As client - private void releaseClientResources() - { - if (_stream != null) { - _stream.Dispose(); + _closeContext = null; + } - _stream = null; - } + _stream = null; + _context = null; + } - if (_tcpClient != null) { - _tcpClient.Close(); + private bool send(byte[] rawFrame) + { + lock (_forState) + { + if (_readyState != WebSocketState.Open) + { + _log.Error("The current state of the interface is not Open."); - _tcpClient = null; - } + return false; } - private void releaseCommonResources() - { - if (_fragmentsBuffer != null) { - _fragmentsBuffer.Dispose(); - - _fragmentsBuffer = null; - _inContinuation = false; - } + return sendBytes(rawFrame); + } + } - if (_pongReceived != null) { - _pongReceived.Close(); + private bool send(Opcode opcode, Stream sourceStream) + { + lock (_forSend) + { + var dataStream = sourceStream; + var compressed = false; + var sent = false; - _pongReceived = null; - } + try + { + if (_compression != CompressionMethod.None) + { + dataStream = sourceStream.Compress(_compression); + compressed = true; + } - if (_receivingExited != null) { - _receivingExited.Close(); + sent = send(opcode, dataStream, compressed); - _receivingExited = null; - } + if (!sent) + error("A send has failed.", null); } - - private void releaseResources() + catch (Exception ex) { - if (_client) - releaseClientResources(); - else - releaseServerResources(); + _log.Error(ex.Message); + _log.Debug(ex.ToString()); - releaseCommonResources(); + error("An exception has occurred during a send.", ex); } - - // As server - private void releaseServerResources() + finally { - if (_closeContext != null) { - _closeContext(); + if (compressed) + dataStream.Dispose(); - _closeContext = null; - } - - _stream = null; - _context = null; + sourceStream.Dispose(); } - private bool send(byte[] rawFrame) - { - lock (_forState) { - if (_readyState != WebSocketState.Open) { - _log.Error("The current state of the interface is not Open."); + return sent; + } + } - return false; - } + private bool send(Opcode opcode, Stream dataStream, bool compressed) + { + var len = dataStream.Length; - return sendBytes(rawFrame); - } - } + if (len == 0) + return send(Fin.Final, opcode, EmptyBytes, false); - private bool send(Opcode opcode, Stream sourceStream) - { - lock (_forSend) { - var dataStream = sourceStream; - var compressed = false; - var sent = false; - - try { - if (_compression != CompressionMethod.None) { - dataStream = sourceStream.Compress(_compression); - compressed = true; - } - - sent = send(opcode, dataStream, compressed); - - if (!sent) - error("A send has failed.", null); - } - catch (Exception ex) { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); - - error("An exception has occurred during a send.", ex); - } - finally { - if (compressed) - dataStream.Dispose(); - - sourceStream.Dispose(); - } - - return sent; - } - } + var quo = len / FragmentLength; + var rem = (int)(len % FragmentLength); - private bool send(Opcode opcode, Stream dataStream, bool compressed) - { - var len = dataStream.Length; + byte[] buff = null; - if (len == 0) - return send(Fin.Final, opcode, EmptyBytes, false); + if (quo == 0) + { + buff = new byte[rem]; - var quo = len / FragmentLength; - var rem = (int)(len % FragmentLength); + return dataStream.Read(buff, 0, rem) == rem + && send(Fin.Final, opcode, buff, compressed); + } - byte[] buff = null; + if (quo == 1 && rem == 0) + { + buff = new byte[FragmentLength]; - if (quo == 0) { - buff = new byte[rem]; + return dataStream.Read(buff, 0, FragmentLength) == FragmentLength + && send(Fin.Final, opcode, buff, compressed); + } - return dataStream.Read(buff, 0, rem) == rem - && send(Fin.Final, opcode, buff, compressed); - } + /* Send fragments */ - if (quo == 1 && rem == 0) { - buff = new byte[FragmentLength]; + // Begin - return dataStream.Read(buff, 0, FragmentLength) == FragmentLength - && send(Fin.Final, opcode, buff, compressed); - } + buff = new byte[FragmentLength]; - /* Send fragments */ + var sent = dataStream.Read(buff, 0, FragmentLength) == FragmentLength + && send(Fin.More, opcode, buff, compressed); - // Begin + if (!sent) + return false; - buff = new byte[FragmentLength]; + // Continue - var sent = dataStream.Read(buff, 0, FragmentLength) == FragmentLength - && send(Fin.More, opcode, buff, compressed); + var n = rem == 0 ? quo - 2 : quo - 1; - if (!sent) - return false; + for (long i = 0; i < n; i++) + { + sent = dataStream.Read(buff, 0, FragmentLength) == FragmentLength + && send(Fin.More, Opcode.Cont, buff, false); - // Continue + if (!sent) + return false; + } - var n = rem == 0 ? quo - 2 : quo - 1; + // End - for (long i = 0; i < n; i++) { - sent = dataStream.Read(buff, 0, FragmentLength) == FragmentLength - && send(Fin.More, Opcode.Cont, buff, false); + if (rem == 0) + rem = FragmentLength; + else + buff = new byte[rem]; - if (!sent) - return false; - } + return dataStream.Read(buff, 0, rem) == rem + && send(Fin.Final, Opcode.Cont, buff, false); + } - // End + private bool send(Fin fin, Opcode opcode, byte[] data, bool compressed) + { + var frame = new WebSocketFrame(fin, opcode, data, compressed, _client); + var rawFrame = frame.ToArray(); - if (rem == 0) - rem = FragmentLength; - else - buff = new byte[rem]; + return send(rawFrame); + } - return dataStream.Read(buff, 0, rem) == rem - && send(Fin.Final, Opcode.Cont, buff, false); - } + private void sendAsync(Opcode opcode, Stream sourceStream, Action completed) + { + Func sender = send; - private bool send(Fin fin, Opcode opcode, byte[] data, bool compressed) + if (isNET()) + { + System.Threading.Tasks.Task.Run(() => { - var frame = new WebSocketFrame(fin, opcode, data, compressed, _client); - var rawFrame = frame.ToArray(); - - return send(rawFrame); - } - - private void sendAsync(Opcode opcode, Stream sourceStream, Action completed) + return sender.Invoke( + opcode, + sourceStream + ); + }).ContinueWith((sent) => { - Func sender = send; - - if (isNET()) - { - System.Threading.Tasks.Task.Run(() => { - return sender.Invoke( - opcode, - sourceStream - ); - }).ContinueWith((sent) => { - try - { - if (completed != null) - completed(sent.Result); - } - catch (Exception ex) - { - _log.Error(ex.ToString()); - error( - "An error has occurred during the callback for an async send.", - ex - ); - } - }); - } - else + try + { + if (completed != null) + completed(sent.Result); + } + catch (Exception ex) + { + _log.Error(ex.ToString()); + error( + "An error has occurred during the callback for an async send.", + ex + ); + } + }); + } + else + { + sender.BeginInvoke( + opcode, + sourceStream, + ar => { - sender.BeginInvoke( - opcode, - sourceStream, - ar => { - try - { - var sent = sender.EndInvoke(ar); - - if (completed != null) - completed(sent); - } - catch (Exception ex) - { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); - - error( - "An exception has occurred during the callback for an async send.", - ex - ); - } - }, - null - ); - } + try + { + var sent = sender.EndInvoke(ar); - } + if (completed != null) + completed(sent); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); + + error( + "An exception has occurred during the callback for an async send.", + ex + ); + } + }, + null + ); + } + + } - private bool sendBytes (byte[] bytes) + private bool sendBytes(byte[] bytes) { - try { - _stream.Write (bytes, 0, bytes.Length); + try + { + _stream.Write(bytes, 0, bytes.Length); } - catch (Exception ex) { - _log.Error (ex.Message); - _log.Debug (ex.ToString ()); + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); return false; } @@ -2208,30 +2397,34 @@ private bool sendBytes (byte[] bytes) } // As client - private HttpResponse sendHandshakeRequest () + private HttpResponse sendHandshakeRequest() { - var req = createHandshakeRequest (); - var res = sendHttpRequest (req, 90000); + var req = createHandshakeRequest(); + var res = sendHttpRequest(req, 90000); - if (res.IsUnauthorized) { - if (_credentials == null) { - _log.Error ("No credential is specified."); + if (res.IsUnauthorized) + { + if (_credentials == null) + { + _log.Error("No credential is specified."); return res; } var val = res.Headers["WWW-Authenticate"]; - if (val.IsNullOrEmpty ()) { - _log.Error ("No authentication challenge is specified."); + if (val.IsNullOrEmpty()) + { + _log.Error("No authentication challenge is specified."); return res; } - var achal = AuthenticationChallenge.Parse (val); + var achal = AuthenticationChallenge.Parse(val); - if (achal == null) { - _log.Error ("An invalid authentication challenge is specified."); + if (achal == null) + { + _log.Error("An invalid authentication challenge is specified."); return res; } @@ -2241,36 +2434,40 @@ private HttpResponse sendHandshakeRequest () var failed = _preAuth && _authChallenge.Scheme == AuthenticationSchemes.Basic; - if (failed) { - _log.Error ("The authentication has failed."); + if (failed) + { + _log.Error("The authentication has failed."); return res; } - var ares = new AuthenticationResponse ( + var ares = new AuthenticationResponse( _authChallenge, _credentials, _nonceCount ); _nonceCount = ares.NonceCount; - req.Headers["Authorization"] = ares.ToString (); + req.Headers["Authorization"] = ares.ToString(); - if (res.CloseConnection) { - releaseClientResources (); - setClientStream (); + if (res.CloseConnection) + { + releaseClientResources(); + setClientStream(); } - res = sendHttpRequest (req, 15000); + res = sendHttpRequest(req, 15000); } - if (res.IsRedirect) { + if (res.IsRedirect) + { if (!_enableRedirection) return res; var val = res.Headers["Location"]; - if (val.IsNullOrEmpty ()) { - _log.Error ("No url to redirect is located."); + if (val.IsNullOrEmpty()) + { + _log.Error("No url to redirect is located."); return res; } @@ -2278,130 +2475,143 @@ private HttpResponse sendHandshakeRequest () Uri uri; string msg; - if (!val.TryCreateWebSocketUri (out uri, out msg)) { - _log.Error ("An invalid url to redirect is located."); + if (!val.TryCreateWebSocketUri(out uri, out msg)) + { + _log.Error("An invalid url to redirect is located."); return res; } - releaseClientResources (); + releaseClientResources(); _uri = uri; _secure = uri.Scheme == "wss"; - setClientStream (); + setClientStream(); - return sendHandshakeRequest (); + return sendHandshakeRequest(); } return res; } // As client - private HttpResponse sendHttpRequest ( + private HttpResponse sendHttpRequest( HttpRequest request, int millisecondsTimeout ) { - return request.GetResponse (_stream, millisecondsTimeout); + return request.GetResponse(_stream, millisecondsTimeout); } // As server - private void sendHttpResponse (HttpResponse response) + private void sendHttpResponse(HttpResponse response) { - response.WriteTo (_stream); + response.WriteTo(_stream); } // As client - private void sendProxyConnectRequest () + private void sendProxyConnectRequest() { - var req = HttpRequest.CreateConnectRequest (_uri); - var res = sendHttpRequest (req, 90000); + var req = HttpRequest.CreateConnectRequest(_uri); + var res = sendHttpRequest(req, 90000); - if (res.IsProxyAuthenticationRequired) { - if (_proxyCredentials == null) { + if (res.IsProxyAuthenticationRequired) + { + if (_proxyCredentials == null) + { var msg = "No credential for the proxy is specified."; - throw new WebSocketException (msg); + throw new WebSocketException(msg); } var val = res.Headers["Proxy-Authenticate"]; - if (val.IsNullOrEmpty ()) { + if (val.IsNullOrEmpty()) + { var msg = "No proxy authentication challenge is specified."; - throw new WebSocketException (msg); + throw new WebSocketException(msg); } - var achal = AuthenticationChallenge.Parse (val); + var achal = AuthenticationChallenge.Parse(val); - if (achal == null) { + if (achal == null) + { var msg = "An invalid proxy authentication challenge is specified."; - throw new WebSocketException (msg); + throw new WebSocketException(msg); } - var ares = new AuthenticationResponse (achal, _proxyCredentials, 0); + var ares = new AuthenticationResponse(achal, _proxyCredentials, 0); - req.Headers["Proxy-Authorization"] = ares.ToString (); + req.Headers["Proxy-Authorization"] = ares.ToString(); - if (res.CloseConnection) { - releaseClientResources (); + if (res.CloseConnection) + { + releaseClientResources(); - _tcpClient = new TcpClient (_proxyUri.DnsSafeHost, _proxyUri.Port); - _stream = _tcpClient.GetStream (); + _tcpClient = new TcpClient(_proxyUri.DnsSafeHost, _proxyUri.Port); + _stream = _tcpClient.GetStream(); } - res = sendHttpRequest (req, 15000); + res = sendHttpRequest(req, 15000); - if (res.IsProxyAuthenticationRequired) { + if (res.IsProxyAuthenticationRequired) + { var msg = "The proxy authentication has failed."; - throw new WebSocketException (msg); + throw new WebSocketException(msg); } } - if (!res.IsSuccess) { + if (!res.IsSuccess) + { var msg = "The proxy has failed a connection to the requested URL."; - throw new WebSocketException (msg); + throw new WebSocketException(msg); } } // As client - private void setClientStream () + private void setClientStream() { - if (_proxyUri != null) { - _tcpClient = new TcpClient (_proxyUri.DnsSafeHost, _proxyUri.Port); - _stream = _tcpClient.GetStream (); + if (_proxyUri != null) + { + _tcpClient = new TcpClient(_proxyUri.DnsSafeHost, _proxyUri.Port); + _stream = _tcpClient.GetStream(); - sendProxyConnectRequest (); + sendProxyConnectRequest(); } - else { - _tcpClient = new TcpClient (_uri.DnsSafeHost, _uri.Port); - _stream = _tcpClient.GetStream (); + else + { + _tcpClient = new TcpClient(_uri.DnsSafeHost, _uri.Port); + _stream = _tcpClient.GetStream(); } - if (_secure) { - var conf = getSslConfiguration (); + if (_secure) + { + var conf = getSslConfiguration(); var host = conf.TargetHost; - if (host != _uri.DnsSafeHost) { + if (host != _uri.DnsSafeHost) + { var msg = "An invalid host name is specified."; - throw new WebSocketException ( + throw new WebSocketException( CloseStatusCode.TlsHandshakeFailure, msg ); } - try { - var sslStream = new SslStream ( + try + { + var sslStream = new SslStream( _stream, false, conf.ServerCertificateValidationCallback, conf.ClientCertificateSelectionCallback ); - sslStream.AuthenticateAsClient ( + sslStream.AuthenticateAsClient( host, conf.ClientCertificates, conf.EnabledSslProtocols, @@ -2410,61 +2620,65 @@ private void setClientStream () _stream = sslStream; } - catch (Exception ex) { - throw new WebSocketException ( + catch (Exception ex) + { + throw new WebSocketException( CloseStatusCode.TlsHandshakeFailure, ex ); } } } - private void startReceiving () + private void startReceiving() { if (_messageEventQueue.Count > 0) - _messageEventQueue.Clear (); + _messageEventQueue.Clear(); - _pongReceived = new ManualResetEvent (false); - _receivingExited = new ManualResetEvent (false); + _pongReceived = new ManualResetEvent(false); + _receivingExited = new ManualResetEvent(false); Action receive = null; receive = () => - WebSocketFrame.ReadFrameAsync ( + WebSocketFrame.ReadFrameAsync( _stream, false, - frame => { - var cont = processReceivedFrame (frame) + frame => + { + var cont = processReceivedFrame(frame) && _readyState != WebSocketState.Closed; - if (!cont) { + if (!cont) + { var exited = _receivingExited; if (exited != null) - exited.Set (); + exited.Set(); return; } - receive (); + receive(); if (_inMessage) return; - message (); + message(); }, - ex => { - _log.Fatal (ex.Message); - _log.Debug (ex.ToString ()); + ex => + { + _log.Fatal(ex.Message); + _log.Debug(ex.ToString()); - abort ("An exception has occurred while receiving.", ex); + abort("An exception has occurred while receiving.", ex); } ); - receive (); + receive(); } // As client - private bool validateSecWebSocketExtensionsServerHeader (string value) + private bool validateSecWebSocketExtensionsServerHeader(string value) { if (value == null) return true; @@ -2477,26 +2691,30 @@ private bool validateSecWebSocketExtensionsServerHeader (string value) var comp = _compression != CompressionMethod.None; - foreach (var elm in value.SplitHeaderValue (',')) { - var ext = elm.Trim (); + foreach (var elm in value.SplitHeaderValue(',')) + { + var ext = elm.Trim(); - if (comp && ext.IsCompressionExtension (_compression)) { + if (comp && ext.IsCompressionExtension(_compression)) + { var param1 = "server_no_context_takeover"; var param2 = "client_no_context_takeover"; - if (!ext.Contains (param1)) { + if (!ext.Contains(param1)) + { var fmt = "The server did not send back '{0}'."; - var msg = String.Format (fmt, param1); + var msg = String.Format(fmt, param1); - _log.Error (msg); + _log.Error(msg); return false; } - var name = _compression.ToExtensionString (); - var invalid = ext.SplitHeaderValue (';').Contains ( - t => { - t = t.Trim (); + var name = _compression.ToExtensionString(); + var invalid = ext.SplitHeaderValue(';').Contains( + t => + { + t = t.Trim(); var valid = t == name || t == param1 @@ -2511,7 +2729,8 @@ private bool validateSecWebSocketExtensionsServerHeader (string value) comp = false; } - else { + else + { return false; } } @@ -2519,51 +2738,55 @@ private bool validateSecWebSocketExtensionsServerHeader (string value) return true; } -#endregion + #endregion -#region Internal Methods + #region Internal Methods // As server - internal void Accept () + internal void Accept() { - var accepted = accept (); + var accepted = accept(); if (!accepted) return; - open (); + open(); } // As server - internal void AcceptAsync () + internal void AcceptAsync() { Func acceptor = accept; - acceptor.BeginInvoke ( - ar => { - var accepted = acceptor.EndInvoke (ar); + acceptor.BeginInvoke( + ar => + { + var accepted = acceptor.EndInvoke(ar); if (!accepted) return; - open (); + open(); }, null ); } // As server - internal void Close (PayloadData payloadData, byte[] rawFrame) + internal void Close(PayloadData payloadData, byte[] rawFrame) { - lock (_forState) { - if (_readyState == WebSocketState.Closing) { - _log.Trace ("The close process is already in progress."); + lock (_forState) + { + if (_readyState == WebSocketState.Closing) + { + _log.Trace("The close process is already in progress."); return; } - if (_readyState == WebSocketState.Closed) { - _log.Trace ("The connection has already been closed."); + if (_readyState == WebSocketState.Closed) + { + _log.Trace("The connection has already been closed."); return; } @@ -2571,65 +2794,67 @@ internal void Close (PayloadData payloadData, byte[] rawFrame) _readyState = WebSocketState.Closing; } - _log.Trace ("Begin closing the connection."); + _log.Trace("Begin closing the connection."); - var sent = rawFrame != null && sendBytes (rawFrame); + var sent = rawFrame != null && sendBytes(rawFrame); var received = sent && _receivingExited != null - ? _receivingExited.WaitOne (_waitTime) + ? _receivingExited.WaitOne(_waitTime) : false; var res = sent && received; - var msg = String.Format ( + var msg = String.Format( "The closing was clean? {0} (sent: {1} received: {2})", res, sent, received ); - _log.Debug (msg); + _log.Debug(msg); - releaseServerResources (); - releaseCommonResources (); + releaseServerResources(); + releaseCommonResources(); - _log.Trace ("End closing the connection."); + _log.Trace("End closing the connection."); _readyState = WebSocketState.Closed; - var e = new CloseEventArgs (payloadData, res); + var e = new CloseEventArgs(payloadData, res); - try { - OnClose.Emit (this, e); + try + { + OnClose.Emit(this, e); } - catch (Exception ex) { - _log.Error (ex.Message); - _log.Debug (ex.ToString ()); + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); } } // As client - internal static string CreateBase64Key () + internal static string CreateBase64Key() { var key = new byte[16]; - RandomNumber.GetBytes (key); + RandomNumber.GetBytes(key); - return Convert.ToBase64String (key); + return Convert.ToBase64String(key); } - internal static string CreateResponseKey (string base64Key) + internal static string CreateResponseKey(string base64Key) { - SHA1 sha1 = new SHA1CryptoServiceProvider (); + SHA1 sha1 = new SHA1CryptoServiceProvider(); var src = base64Key + _guid; - var bytes = src.GetUTF8EncodedBytes (); - var key = sha1.ComputeHash (bytes); + var bytes = src.GetUTF8EncodedBytes(); + var key = sha1.ComputeHash(bytes); - return Convert.ToBase64String (key); + return Convert.ToBase64String(key); } // As server - internal bool Ping (byte[] rawFrame) + internal bool Ping(byte[] rawFrame) { if (_readyState != WebSocketState.Open) return false; @@ -2639,74 +2864,82 @@ internal bool Ping (byte[] rawFrame) if (received == null) return false; - lock (_forPing) { - try { - received.Reset (); + lock (_forPing) + { + try + { + received.Reset(); - var sent = send (rawFrame); + var sent = send(rawFrame); if (!sent) return false; - return received.WaitOne (_waitTime); + return received.WaitOne(_waitTime); } - catch (ObjectDisposedException) { + catch (ObjectDisposedException) + { return false; } } } // As server - internal void Send ( + internal void Send( Opcode opcode, byte[] data, Dictionary cache ) { - lock (_forSend) { + lock (_forSend) + { byte[] found; - if (!cache.TryGetValue (_compression, out found)) { - found = new WebSocketFrame ( + if (!cache.TryGetValue(_compression, out found)) + { + found = new WebSocketFrame( Fin.Final, opcode, - data.Compress (_compression), + data.Compress(_compression), _compression != CompressionMethod.None, false ) - .ToArray (); + .ToArray(); - cache.Add (_compression, found); + cache.Add(_compression, found); } - send (found); + send(found); } } // As server - internal void Send ( + internal void Send( Opcode opcode, Stream sourceStream, Dictionary cache ) { - lock (_forSend) { + lock (_forSend) + { Stream found; - if (!cache.TryGetValue (_compression, out found)) { - found = sourceStream.Compress (_compression); + if (!cache.TryGetValue(_compression, out found)) + { + found = sourceStream.Compress(_compression); - cache.Add (_compression, found); + cache.Add(_compression, found); } - else { + else + { found.Position = 0; } - send (opcode, found, _compression != CompressionMethod.None); + send(opcode, found, _compression != CompressionMethod.None); } } -#endregion + #endregion -#region Public Methods + #region Public Methods /// /// Closes the connection. @@ -2715,9 +2948,9 @@ Dictionary cache /// This method does nothing if the current state of the interface is /// Closing or Closed. /// - public void Close () + public void Close() { - close (1005, String.Empty); + close(1005, String.Empty); } /// @@ -2754,9 +2987,9 @@ public void Close () /// It cannot be used by a server. /// /// - public void Close (ushort code) + public void Close(ushort code) { - Close (code, String.Empty); + Close(code, String.Empty); } /// @@ -2787,9 +3020,9 @@ public void Close (ushort code) /// It cannot be used by a server. /// /// - public void Close (CloseStatusCode code) + public void Close(CloseStatusCode code) { - Close (code, String.Empty); + Close(code, String.Empty); } /// @@ -2855,53 +3088,60 @@ public void Close (CloseStatusCode code) /// could not be UTF-8-encoded. /// /// - public void Close (ushort code, string reason) + public void Close(ushort code, string reason) { - if (!code.IsCloseStatusCode ()) { + if (!code.IsCloseStatusCode()) + { var msg = "Less than 1000 or greater than 4999."; - throw new ArgumentOutOfRangeException ("code", msg); + throw new ArgumentOutOfRangeException("code", msg); } - if (_client && code == 1011) { + if (_client && code == 1011) + { var msg = "1011 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (!_client && code == 1010) { + if (!_client && code == 1010) + { var msg = "1010 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (reason.IsNullOrEmpty ()) { - close (code, String.Empty); + if (reason.IsNullOrEmpty()) + { + close(code, String.Empty); return; } - if (code == 1005) { + if (code == 1005) + { var msg = "1005 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } byte[] bytes; - if (!reason.TryGetUTF8EncodedBytes (out bytes)) { + if (!reason.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "reason"); + throw new ArgumentException(msg, "reason"); } - if (bytes.Length > 123) { + if (bytes.Length > 123) + { var msg = "Its size is greater than 123 bytes."; - throw new ArgumentOutOfRangeException ("reason", msg); + throw new ArgumentOutOfRangeException("reason", msg); } - close (code, reason); + close(code, reason); } /// @@ -2956,47 +3196,53 @@ public void Close (ushort code, string reason) /// /// The size of is greater than 123 bytes. /// - public void Close (CloseStatusCode code, string reason) + public void Close(CloseStatusCode code, string reason) { - if (_client && code == CloseStatusCode.ServerError) { + if (_client && code == CloseStatusCode.ServerError) + { var msg = "ServerError cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (!_client && code == CloseStatusCode.MandatoryExtension) { + if (!_client && code == CloseStatusCode.MandatoryExtension) + { var msg = "MandatoryExtension cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (reason.IsNullOrEmpty ()) { - close ((ushort) code, String.Empty); + if (reason.IsNullOrEmpty()) + { + close((ushort)code, String.Empty); return; } - if (code == CloseStatusCode.NoStatus) { + if (code == CloseStatusCode.NoStatus) + { var msg = "NoStatus cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } byte[] bytes; - if (!reason.TryGetUTF8EncodedBytes (out bytes)) { + if (!reason.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "reason"); + throw new ArgumentException(msg, "reason"); } - if (bytes.Length > 123) { + if (bytes.Length > 123) + { var msg = "Its size is greater than 123 bytes."; - throw new ArgumentOutOfRangeException ("reason", msg); + throw new ArgumentOutOfRangeException("reason", msg); } - close ((ushort) code, reason); + close((ushort)code, reason); } /// @@ -3011,9 +3257,9 @@ public void Close (CloseStatusCode code, string reason) /// Closing or Closed. /// /// - public void CloseAsync () + public void CloseAsync() { - closeAsync (1005, String.Empty); + closeAsync(1005, String.Empty); } /// @@ -3055,9 +3301,9 @@ public void CloseAsync () /// It cannot be used by a server. /// /// - public void CloseAsync (ushort code) + public void CloseAsync(ushort code) { - CloseAsync (code, String.Empty); + CloseAsync(code, String.Empty); } /// @@ -3093,9 +3339,9 @@ public void CloseAsync (ushort code) /// It cannot be used by a server. /// /// - public void CloseAsync (CloseStatusCode code) + public void CloseAsync(CloseStatusCode code) { - CloseAsync (code, String.Empty); + CloseAsync(code, String.Empty); } /// @@ -3166,53 +3412,60 @@ public void CloseAsync (CloseStatusCode code) /// could not be UTF-8-encoded. /// /// - public void CloseAsync (ushort code, string reason) + public void CloseAsync(ushort code, string reason) { - if (!code.IsCloseStatusCode ()) { + if (!code.IsCloseStatusCode()) + { var msg = "Less than 1000 or greater than 4999."; - throw new ArgumentOutOfRangeException ("code", msg); + throw new ArgumentOutOfRangeException("code", msg); } - if (_client && code == 1011) { + if (_client && code == 1011) + { var msg = "1011 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (!_client && code == 1010) { + if (!_client && code == 1010) + { var msg = "1010 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (reason.IsNullOrEmpty ()) { - closeAsync (code, String.Empty); + if (reason.IsNullOrEmpty()) + { + closeAsync(code, String.Empty); return; } - if (code == 1005) { + if (code == 1005) + { var msg = "1005 cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } byte[] bytes; - if (!reason.TryGetUTF8EncodedBytes (out bytes)) { + if (!reason.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "reason"); + throw new ArgumentException(msg, "reason"); } - if (bytes.Length > 123) { + if (bytes.Length > 123) + { var msg = "Its size is greater than 123 bytes."; - throw new ArgumentOutOfRangeException ("reason", msg); + throw new ArgumentOutOfRangeException("reason", msg); } - closeAsync (code, reason); + closeAsync(code, reason); } /// @@ -3272,47 +3525,53 @@ public void CloseAsync (ushort code, string reason) /// /// The size of is greater than 123 bytes. /// - public void CloseAsync (CloseStatusCode code, string reason) + public void CloseAsync(CloseStatusCode code, string reason) { - if (_client && code == CloseStatusCode.ServerError) { + if (_client && code == CloseStatusCode.ServerError) + { var msg = "ServerError cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (!_client && code == CloseStatusCode.MandatoryExtension) { + if (!_client && code == CloseStatusCode.MandatoryExtension) + { var msg = "MandatoryExtension cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } - if (reason.IsNullOrEmpty ()) { - closeAsync ((ushort) code, String.Empty); + if (reason.IsNullOrEmpty()) + { + closeAsync((ushort)code, String.Empty); return; } - if (code == CloseStatusCode.NoStatus) { + if (code == CloseStatusCode.NoStatus) + { var msg = "NoStatus cannot be used."; - throw new ArgumentException (msg, "code"); + throw new ArgumentException(msg, "code"); } byte[] bytes; - if (!reason.TryGetUTF8EncodedBytes (out bytes)) { + if (!reason.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "reason"); + throw new ArgumentException(msg, "reason"); } - if (bytes.Length > 123) { + if (bytes.Length > 123) + { var msg = "Its size is greater than 123 bytes."; - throw new ArgumentOutOfRangeException ("reason", msg); + throw new ArgumentOutOfRangeException("reason", msg); } - closeAsync ((ushort) code, reason); + closeAsync((ushort)code, reason); } /// @@ -3333,26 +3592,28 @@ public void CloseAsync (CloseStatusCode code, string reason) /// A series of reconnecting has failed. /// /// - public void Connect () + public void Connect() { - if (!_client) { + if (!_client) + { var msg = "The interface is not for the client."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } - if (_retryCountForConnect >= _maxRetryCountForConnect) { + if (_retryCountForConnect >= _maxRetryCountForConnect) + { var msg = "A series of reconnecting has failed."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } - var connected = connect (); + var connected = connect(); if (!connected) return; - open (); + open(); } /// @@ -3378,27 +3639,31 @@ public void Connect () /// A series of reconnecting has failed. /// /// - public void ConnectAsync () + public void ConnectAsync() { - if (!_client) { + if (!_client) + { var msg = "The interface is not for the client."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } - if (_retryCountForConnect >= _maxRetryCountForConnect) { + if (_retryCountForConnect >= _maxRetryCountForConnect) + { var msg = "A series of reconnecting has failed."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } Func connector = connect; if (isNET()) { - System.Threading.Tasks.Task.Run(() => { + System.Threading.Tasks.Task.Run(() => + { return connector.Invoke(); - }).ContinueWith( (task) => { + }).ContinueWith((task) => + { if (task.Result) { open(); @@ -3407,14 +3672,15 @@ public void ConnectAsync () } else { - connector.BeginInvoke ( - ar => { - var connected = connector.EndInvoke (ar); + connector.BeginInvoke( + ar => + { + var connected = connector.EndInvoke(ar); if (!connected) return; - open (); + open(); }, null ); @@ -3429,9 +3695,9 @@ public void ConnectAsync () /// true if the send has successfully done and a pong has been /// received within a time; otherwise, false. /// - public bool Ping () + public bool Ping() { - return ping (EmptyBytes); + return ping(EmptyBytes); } /// @@ -3455,26 +3721,28 @@ public bool Ping () /// /// The size of is greater than 125 bytes. /// - public bool Ping (string message) + public bool Ping(string message) { - if (message.IsNullOrEmpty ()) - return ping (EmptyBytes); + if (message.IsNullOrEmpty()) + return ping(EmptyBytes); byte[] bytes; - if (!message.TryGetUTF8EncodedBytes (out bytes)) { + if (!message.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "message"); + throw new ArgumentException(msg, "message"); } - if (bytes.Length > 125) { + if (bytes.Length > 125) + { var msg = "Its size is greater than 125 bytes."; - throw new ArgumentOutOfRangeException ("message", msg); + throw new ArgumentOutOfRangeException("message", msg); } - return ping (bytes); + return ping(bytes); } /// @@ -3489,18 +3757,19 @@ public bool Ping (string message) /// /// is . /// - public void Send (byte[] data) + public void Send(byte[] data) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (data == null) - throw new ArgumentNullException ("data"); + throw new ArgumentNullException("data"); - send (Opcode.Binary, new MemoryStream (data)); + send(Opcode.Binary, new MemoryStream(data)); } /// @@ -3531,32 +3800,35 @@ public void Send (byte[] data) /// The file could not be opened. /// /// - public void Send (FileInfo fileInfo) + public void Send(FileInfo fileInfo) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (fileInfo == null) - throw new ArgumentNullException ("fileInfo"); + throw new ArgumentNullException("fileInfo"); - if (!fileInfo.Exists) { + if (!fileInfo.Exists) + { var msg = "The file does not exist."; - throw new ArgumentException (msg, "fileInfo"); + throw new ArgumentException(msg, "fileInfo"); } FileStream stream; - if (!fileInfo.TryOpenRead (out stream)) { + if (!fileInfo.TryOpenRead(out stream)) + { var msg = "The file could not be opened."; - throw new ArgumentException (msg, "fileInfo"); + throw new ArgumentException(msg, "fileInfo"); } - send (Opcode.Binary, stream); + send(Opcode.Binary, stream); } /// @@ -3574,26 +3846,28 @@ public void Send (FileInfo fileInfo) /// /// could not be UTF-8-encoded. /// - public void Send (string data) + public void Send(string data) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (data == null) - throw new ArgumentNullException ("data"); + throw new ArgumentNullException("data"); byte[] bytes; - if (!data.TryGetUTF8EncodedBytes (out bytes)) { + if (!data.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "data"); + throw new ArgumentException(msg, "data"); } - send (Opcode.Text, new MemoryStream (bytes)); + send(Opcode.Text, new MemoryStream(bytes)); } /// @@ -3633,46 +3907,51 @@ public void Send (string data) /// No data could be read from . /// /// - public void Send (Stream stream, int length) + public void Send(Stream stream, int length) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (stream == null) - throw new ArgumentNullException ("stream"); + throw new ArgumentNullException("stream"); - if (!stream.CanRead) { + if (!stream.CanRead) + { var msg = "It cannot be read."; - throw new ArgumentException (msg, "stream"); + throw new ArgumentException(msg, "stream"); } - if (length < 1) { + if (length < 1) + { var msg = "Less than 1."; - throw new ArgumentException (msg, "length"); + throw new ArgumentException(msg, "length"); } - var bytes = stream.ReadBytes (length); + var bytes = stream.ReadBytes(length); var len = bytes.Length; - if (len == 0) { + if (len == 0) + { var msg = "No data could be read from it."; - throw new ArgumentException (msg, "stream"); + throw new ArgumentException(msg, "stream"); } - if (len < length) { + if (len < length) + { var fmt = "Only {0} byte(s) of data could be read from the stream."; - var msg = String.Format (fmt, len); + var msg = String.Format(fmt, len); - _log.Warn (msg); + _log.Warn(msg); } - send (Opcode.Binary, new MemoryStream (bytes)); + send(Opcode.Binary, new MemoryStream(bytes)); } /// @@ -3705,18 +3984,19 @@ public void Send (Stream stream, int length) /// /// is . /// - public void SendAsync (byte[] data, Action completed) + public void SendAsync(byte[] data, Action completed) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (data == null) - throw new ArgumentNullException ("data"); + throw new ArgumentNullException("data"); - sendAsync (Opcode.Binary, new MemoryStream (data), completed); + sendAsync(Opcode.Binary, new MemoryStream(data), completed); } /// @@ -3765,32 +4045,35 @@ public void SendAsync (byte[] data, Action completed) /// The file could not be opened. /// /// - public void SendAsync (FileInfo fileInfo, Action completed) + public void SendAsync(FileInfo fileInfo, Action completed) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (fileInfo == null) - throw new ArgumentNullException ("fileInfo"); + throw new ArgumentNullException("fileInfo"); - if (!fileInfo.Exists) { + if (!fileInfo.Exists) + { var msg = "The file does not exist."; - throw new ArgumentException (msg, "fileInfo"); + throw new ArgumentException(msg, "fileInfo"); } FileStream stream; - if (!fileInfo.TryOpenRead (out stream)) { + if (!fileInfo.TryOpenRead(out stream)) + { var msg = "The file could not be opened."; - throw new ArgumentException (msg, "fileInfo"); + throw new ArgumentException(msg, "fileInfo"); } - sendAsync (Opcode.Binary, stream, completed); + sendAsync(Opcode.Binary, stream, completed); } /// @@ -3826,26 +4109,28 @@ public void SendAsync (FileInfo fileInfo, Action completed) /// /// could not be UTF-8-encoded. /// - public void SendAsync (string data, Action completed) + public void SendAsync(string data, Action completed) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (data == null) - throw new ArgumentNullException ("data"); + throw new ArgumentNullException("data"); byte[] bytes; - if (!data.TryGetUTF8EncodedBytes (out bytes)) { + if (!data.TryGetUTF8EncodedBytes(out bytes)) + { var msg = "It could not be UTF-8-encoded."; - throw new ArgumentException (msg, "data"); + throw new ArgumentException(msg, "data"); } - sendAsync (Opcode.Text, new MemoryStream (bytes), completed); + sendAsync(Opcode.Text, new MemoryStream(bytes), completed); } /// @@ -3904,46 +4189,51 @@ public void SendAsync (string data, Action completed) /// No data could be read from . /// /// - public void SendAsync (Stream stream, int length, Action completed) + public void SendAsync(Stream stream, int length, Action completed) { - if (_readyState != WebSocketState.Open) { + if (_readyState != WebSocketState.Open) + { var msg = "The current state of the interface is not Open."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (stream == null) - throw new ArgumentNullException ("stream"); + throw new ArgumentNullException("stream"); - if (!stream.CanRead) { + if (!stream.CanRead) + { var msg = "It cannot be read."; - throw new ArgumentException (msg, "stream"); + throw new ArgumentException(msg, "stream"); } - if (length < 1) { + if (length < 1) + { var msg = "Less than 1."; - throw new ArgumentException (msg, "length"); + throw new ArgumentException(msg, "length"); } - var bytes = stream.ReadBytes (length); + var bytes = stream.ReadBytes(length); var len = bytes.Length; - if (len == 0) { + if (len == 0) + { var msg = "No data could be read from it."; - throw new ArgumentException (msg, "stream"); + throw new ArgumentException(msg, "stream"); } - if (len < length) { + if (len < length) + { var fmt = "Only {0} byte(s) of data could be read from the stream."; - var msg = String.Format (fmt, len); + var msg = String.Format(fmt, len); - _log.Warn (msg); + _log.Warn(msg); } - sendAsync (Opcode.Binary, new MemoryStream (bytes), completed); + sendAsync(Opcode.Binary, new MemoryStream(bytes), completed); } /// @@ -3962,23 +4252,25 @@ public void SendAsync (Stream stream, int length, Action completed) /// /// is . /// - public void SetCookie (Cookie cookie) + public void SetCookie(Cookie cookie) { - if (!_client) { + if (!_client) + { var msg = "The interface is not for the client."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } if (cookie == null) - throw new ArgumentNullException ("cookie"); + throw new ArgumentNullException("cookie"); - lock (_forState) { - if (!canSet ()) + lock (_forState) + { + if (!canSet()) return; lock (_cookies.SyncRoot) - _cookies.SetOrRemove (cookie); + _cookies.SetOrRemove(cookie); } } @@ -4027,42 +4319,49 @@ public void SetCookie (Cookie cookie) /// contains an invalid character. /// /// - public void SetCredentials (string username, string password, bool preAuth) + public void SetCredentials(string username, string password, bool preAuth) { - if (!_client) { + if (!_client) + { var msg = "The interface is not for the client."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } - if (!username.IsNullOrEmpty ()) { - if (username.Contains (':') || !username.IsText ()) { + if (!username.IsNullOrEmpty()) + { + if (username.Contains(':') || !username.IsText()) + { var msg = "It contains an invalid character."; - throw new ArgumentException (msg, "username"); + throw new ArgumentException(msg, "username"); } } - if (!password.IsNullOrEmpty ()) { - if (!password.IsText ()) { + if (!password.IsNullOrEmpty()) + { + if (!password.IsText()) + { var msg = "It contains an invalid character."; - throw new ArgumentException (msg, "password"); + throw new ArgumentException(msg, "password"); } } - lock (_forState) { - if (!canSet ()) + lock (_forState) + { + if (!canSet()) return; - if (username.IsNullOrEmpty ()) { + if (username.IsNullOrEmpty()) + { _credentials = null; _preAuth = false; return; } - _credentials = new NetworkCredential ( + _credentials = new NetworkCredential( username, password, _uri.PathAndQuery ); @@ -4142,57 +4441,68 @@ public void SetCredentials (string username, string password, bool preAuth) /// contains an invalid character. /// /// - public void SetProxy (string url, string username, string password) + public void SetProxy(string url, string username, string password) { - if (!_client) { + if (!_client) + { var msg = "The interface is not for the client."; - throw new InvalidOperationException (msg); + throw new InvalidOperationException(msg); } Uri uri = null; - if (!url.IsNullOrEmpty ()) { - if (!Uri.TryCreate (url, UriKind.Absolute, out uri)) { + if (!url.IsNullOrEmpty()) + { + if (!Uri.TryCreate(url, UriKind.Absolute, out uri)) + { var msg = "Not an absolute URI string."; - throw new ArgumentException (msg, "url"); + throw new ArgumentException(msg, "url"); } - if (uri.Scheme != "http") { + if (uri.Scheme != "http") + { var msg = "The scheme part is not http."; - throw new ArgumentException (msg, "url"); + throw new ArgumentException(msg, "url"); } - if (uri.Segments.Length > 1) { + if (uri.Segments.Length > 1) + { var msg = "It includes the path segments."; - throw new ArgumentException (msg, "url"); + throw new ArgumentException(msg, "url"); } } - if (!username.IsNullOrEmpty ()) { - if (username.Contains (':') || !username.IsText ()) { + if (!username.IsNullOrEmpty()) + { + if (username.Contains(':') || !username.IsText()) + { var msg = "It contains an invalid character."; - throw new ArgumentException (msg, "username"); + throw new ArgumentException(msg, "username"); } } - if (!password.IsNullOrEmpty ()) { - if (!password.IsText ()) { + if (!password.IsNullOrEmpty()) + { + if (!password.IsText()) + { var msg = "It contains an invalid character."; - throw new ArgumentException (msg, "password"); + throw new ArgumentException(msg, "password"); } } - lock (_forState) { - if (!canSet ()) + lock (_forState) + { + if (!canSet()) return; - if (url.IsNullOrEmpty ()) { + if (url.IsNullOrEmpty()) + { _proxyUri = null; _proxyCredentials = null; @@ -4200,11 +4510,11 @@ public void SetProxy (string url, string username, string password) } _proxyUri = uri; - _proxyCredentials = !username.IsNullOrEmpty () - ? new NetworkCredential ( + _proxyCredentials = !username.IsNullOrEmpty() + ? new NetworkCredential( username, password, - String.Format ( + String.Format( "{0}:{1}", _uri.DnsSafeHost, _uri.Port ) ) @@ -4212,9 +4522,9 @@ public void SetProxy (string url, string username, string password) } } -#endregion + #endregion -#region Explicit Interface Implementations + #region Explicit Interface Implementations /// /// Closes the connection and releases all associated resources. @@ -4228,11 +4538,11 @@ public void SetProxy (string url, string username, string password) /// Closing or Closed. /// /// - void IDisposable.Dispose () + void IDisposable.Dispose() { - close (1001, String.Empty); + close(1001, String.Empty); } -#endregion + #endregion } } diff --git a/websocket-sharp/websocket-sharp.NET.csproj b/websocket-sharp/websocket-sharp.NET.csproj index faafb5f3a..51d7fff35 100644 --- a/websocket-sharp/websocket-sharp.NET.csproj +++ b/websocket-sharp/websocket-sharp.NET.csproj @@ -10,7 +10,7 @@ websocket-sharp.net - 1.0.3.2 + 1.0.3.3 sta websocket-sharp From 281ebccd3c48240b5f5566ae7538dc071a93cbf6 Mon Sep 17 00:00:00 2001 From: weiwan Date: Tue, 21 Mar 2023 16:49:00 +0800 Subject: [PATCH 10/10] Re-merge from master --- websocket-sharp/Ext.cs | 112 +++++++++---------- websocket-sharp/Net/HttpStreamAsyncResult.cs | 2 +- websocket-sharp/WebSocket.cs | 109 ++++++++---------- 3 files changed, 105 insertions(+), 118 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 78cdc4cfc..908ceeaaa 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -723,68 +723,68 @@ internal static byte[] ReadBytes ( } #if NET - internal static void ReadBytesAsync(this Stream stream, int length, Action completed, Action error) - { - - byte[] buff = new byte[length]; - - stream.ReadAsync(buff, 0, length).ContinueWith((x) => - { - if (x.Exception?.InnerException != null) - { - if (x.Exception.InnerException is ObjectDisposedException || x.Exception.InnerException is NotSupportedException) - { - completed(new byte[0]); - } - else - { - error(x.Exception.InnerException); - } - } - else - { - completed(buff); - } - }, TaskContinuationOptions.NotOnCanceled); + internal static void ReadBytesAsync(this Stream stream, int length, Action completed, Action error) + { - } + byte[] buff = new byte[length]; - internal static void ReadBytesAsync(this Stream stream, long length, int bufferLength, Action completed, Action error) + stream.ReadAsync(buff, 0, length).ContinueWith((x) => + { + if (x.Exception?.InnerException != null) + { + if (x.Exception.InnerException is ObjectDisposedException || x.Exception.InnerException is NotSupportedException) + { + completed(new byte[0]); + } + else + { + error(x.Exception.InnerException); + } + } + else { - DoReadAsync(stream, length, bufferLength, completed, error).ContinueWith(x => System.Diagnostics.Debug.WriteLine(x.Result)); + completed(buff); } + }, TaskContinuationOptions.NotOnCanceled); + + } + + internal static void ReadBytesAsync(this Stream stream, long length, int bufferLength, Action completed, Action error) + { + DoReadAsync(stream, length, bufferLength, completed, error).ContinueWith(x => System.Diagnostics.Debug.WriteLine(x.Result)); + } - private static async Task DoReadAsync(Stream stream, long length, int bufferLength, Action complected, Action error) + private static async Task DoReadAsync(Stream stream, long length, int bufferLength, Action complected, Action error) + { + var dest = new MemoryStream(); + var buff = new byte[bufferLength]; + long nRead = 0; + try + { + while (nRead < length) { - var dest = new MemoryStream(); - var buff = new byte[bufferLength]; - long nRead = 0; - try - { - while (nRead < length) - { - var actualLength = await stream.ReadAsync(buff, 0, bufferLength); - if (actualLength == 0) - break; - nRead += actualLength; - dest.Write(buff, 0, actualLength); - } - complected(dest.ToArray()); - } - catch (Exception ex) - { - if (ex is ObjectDisposedException || ex is NotSupportedException) - { - complected(new byte[0]); - } - else - { - error(ex); - } - - } - return nRead; + var actualLength = await stream.ReadAsync(buff, 0, bufferLength); + if (actualLength == 0) + break; + nRead += actualLength; + dest.Write(buff, 0, actualLength); } + complected(dest.ToArray()); + } + catch (Exception ex) + { + if (ex is ObjectDisposedException || ex is NotSupportedException) + { + complected(new byte[0]); + } + else + { + error(ex); + } + + } + return nRead; + } #else @@ -940,7 +940,7 @@ Action error } #endif - internal static T[] Reverse (this T[] array) + internal static T[] Reverse (this T[] array) { var len = array.LongLength; var ret = new T[len]; diff --git a/websocket-sharp/Net/HttpStreamAsyncResult.cs b/websocket-sharp/Net/HttpStreamAsyncResult.cs index 9673923c1..90af7d644 100644 --- a/websocket-sharp/Net/HttpStreamAsyncResult.cs +++ b/websocket-sharp/Net/HttpStreamAsyncResult.cs @@ -177,7 +177,7 @@ internal void Complete () if (_callback != null) { #if NET - var workTask = Task.Run(() => _callback.Invoke(this)); + var workTask = Task.Run(() => _callback.Invoke(this)); #else _callback.BeginInvoke(this, ar => _callback.EndInvoke(ar), null); #endif diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 33662892c..be23364a7 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -1363,6 +1363,7 @@ private void closeAsync(PayloadData payloadData, bool send, bool received) payloadData, send, received, ar => closer.EndInvoke(ar), null ); } + } private bool closeHandshake( @@ -1779,13 +1780,12 @@ private void messages(MessageEventArgs e) ThreadPool.QueueUserWorkItem(state => messages(e)); } - private static bool isNET() { #if NET return true; #else - return false; + return false; #endif } @@ -1833,7 +1833,6 @@ private void open() e = _messageEventQueue.Dequeue(); } - if (isNET()) { var workTask = Task.Run(() => _message.Invoke(e)); @@ -1841,12 +1840,7 @@ private void open() else { _message.BeginInvoke(e, ar => _message.EndInvoke(ar), null); - } - - - - } private bool ping(byte[] data) @@ -2318,7 +2312,9 @@ private bool send(Fin fin, Opcode opcode, byte[] data, bool compressed) return send(rawFrame); } - private void sendAsync(Opcode opcode, Stream sourceStream, Action completed) + private void sendAsync( + Opcode opcode, Stream sourceStream, Action completed + ) { Func sender = send; @@ -2346,38 +2342,36 @@ private void sendAsync(Opcode opcode, Stream sourceStream, Action complete ); } }); - } - else - { - sender.BeginInvoke( - opcode, - sourceStream, - ar => - { - try - { - var sent = sender.EndInvoke(ar); - if (completed != null) - completed(sent); - } - catch (Exception ex) - { - _log.Error(ex.Message); - _log.Debug(ex.ToString()); + return; - error( - "An exception has occurred during the callback for an async send.", - ex - ); - } - }, - null - ); } - } + sender.BeginInvoke( + opcode, + sourceStream, + ar => { + try + { + var sent = sender.EndInvoke(ar); + if (completed != null) + completed(sent); + } + catch (Exception ex) + { + _log.Error(ex.Message); + _log.Debug(ex.ToString()); + + error( + "An exception has occurred during the callback for an async send.", + ex + ); + } + }, + null + ); + } private bool sendBytes(byte[] bytes) { @@ -2643,8 +2637,7 @@ private void startReceiving() WebSocketFrame.ReadFrameAsync( _stream, false, - frame => - { + frame => { var cont = processReceivedFrame(frame) && _readyState != WebSocketState.Closed; @@ -2665,8 +2658,7 @@ private void startReceiving() message(); }, - ex => - { + ex => { _log.Fatal(ex.Message); _log.Debug(ex.ToString()); @@ -2712,8 +2704,7 @@ private bool validateSecWebSocketExtensionsServerHeader(string value) var name = _compression.ToExtensionString(); var invalid = ext.SplitHeaderValue(';').Contains( - t => - { + t => { t = t.Trim(); var valid = t == name @@ -2753,14 +2744,14 @@ internal void Accept() open(); } + // TODO: Task.Run for .NET 6 // As server internal void AcceptAsync() { Func acceptor = accept; acceptor.BeginInvoke( - ar => - { + ar => { var accepted = acceptor.EndInvoke(ar); if (!accepted) @@ -3659,33 +3650,29 @@ public void ConnectAsync() if (isNET()) { - System.Threading.Tasks.Task.Run(() => - { - return connector.Invoke(); - }).ContinueWith((task) => + System.Threading.Tasks.Task.Run(() => connector.Invoke()).ContinueWith((task) => { if (task.Result) { open(); } }); + + return; } - else - { - connector.BeginInvoke( - ar => - { - var connected = connector.EndInvoke(ar); - if (!connected) - return; - open(); - }, - null - ); - } + connector.BeginInvoke( + ar => { + var connected = connector.EndInvoke(ar); + if (!connected) + return; + + open(); + }, + null + ); } ///