From 82f8a96065194913a6f452bd8fe0ac2ad26a4be0 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 27 Jan 2022 10:55:58 +0100 Subject: [PATCH] Add LibreOffice Crash extension This extension crashes LibreOffice. It is to be used to test the crashreporter setup. Change-Id: I494cdcd746dd49a4f566507712c601494a0bbfac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128906 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt --- Repository.mk | 1 + desktop/Extension_test-crashextension.mk | 24 +++ desktop/Library_crashextension.mk | 28 ++++ desktop/Module_desktop.mk | 8 + desktop/README.md | 15 ++ desktop/Rdb_crashextension.mk | 12 ++ .../test/deployment/crashextension/Addons.xcu | 62 +++++++ .../crashextension/META-INF/manifest.xml | 21 +++ .../crashextension/ProtocolHandler.xcu | 20 +++ .../test/deployment/crashextension/crash.png | Bin 0 -> 83469 bytes .../crashextension/crashextension.component | 16 ++ .../crashextension/crashextension.cxx | 152 ++++++++++++++++++ .../deployment/crashextension/description.xml | 21 +++ 13 files changed, 380 insertions(+) create mode 100644 desktop/Extension_test-crashextension.mk create mode 100644 desktop/Library_crashextension.mk create mode 100644 desktop/Rdb_crashextension.mk create mode 100644 desktop/test/deployment/crashextension/Addons.xcu create mode 100644 desktop/test/deployment/crashextension/META-INF/manifest.xml create mode 100644 desktop/test/deployment/crashextension/ProtocolHandler.xcu create mode 100644 desktop/test/deployment/crashextension/crash.png create mode 100644 desktop/test/deployment/crashextension/crashextension.component create mode 100644 desktop/test/deployment/crashextension/crashextension.cxx create mode 100644 desktop/test/deployment/crashextension/description.xml diff --git a/Repository.mk b/Repository.mk index 0573cb2e51e1..aa654ce9c80d 100644 --- a/Repository.mk +++ b/Repository.mk @@ -774,6 +774,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,UNOVERLIBS,ure, \ $(eval $(call gb_Helper_register_libraries,EXTENSIONLIBS, \ active_native \ passive_native \ + crashextension \ )) ifneq ($(ENABLE_JAVA),) diff --git a/desktop/Extension_test-crashextension.mk b/desktop/Extension_test-crashextension.mk new file mode 100644 index 000000000000..aa525f72b8b2 --- /dev/null +++ b/desktop/Extension_test-crashextension.mk @@ -0,0 +1,24 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Extension_Extension,test-crashextension,desktop/test/deployment/crashextension,nodeliver)) + +$(eval $(call gb_Extension_add_file,test-crashextension,platform.components,$(call gb_Rdb_get_target,crashextension))) + +$(eval $(call gb_Extension_add_files,test-crashextension,, \ + $(SRCDIR)/desktop/test/deployment/crashextension/Addons.xcu \ + $(SRCDIR)/desktop/test/deployment/crashextension/ProtocolHandler.xcu \ + $(SRCDIR)/desktop/test/deployment/crashextension/crash.png \ +)) + +$(eval $(call gb_Extension_add_libraries,test-crashextension, \ + crashextension \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/desktop/Library_crashextension.mk b/desktop/Library_crashextension.mk new file mode 100644 index 000000000000..ae18412688a6 --- /dev/null +++ b/desktop/Library_crashextension.mk @@ -0,0 +1,28 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Library_Library,crashextension)) + +$(eval $(call gb_Library_add_exception_objects,crashextension, \ + desktop/test/deployment/crashextension/crashextension \ +)) + +$(eval $(call gb_Library_set_componentfile,crashextension,desktop/test/deployment/crashextension/crashextension,crashextension)) + +$(eval $(call gb_Library_set_external_code,crashextension)) + +$(eval $(call gb_Library_use_libraries,crashextension, \ + cppu \ + cppuhelper \ + sal \ +)) + +$(eval $(call gb_Library_use_sdk_api,crashextension)) + +# vim: set noet sw=4 ts=4: diff --git a/desktop/Module_desktop.mk b/desktop/Module_desktop.mk index d160bc6128dc..fff879c83b0c 100644 --- a/desktop/Module_desktop.mk +++ b/desktop/Module_desktop.mk @@ -124,6 +124,14 @@ $(eval $(call gb_Module_add_targets,desktop, \ )) endif +ifneq (,$(filter Extension_test-crashextension,$(MAKECMDGOALS))) +$(eval $(call gb_Module_add_targets,desktop, \ + Extension_test-crashextension \ + Library_crashextension \ + Rdb_crashextension \ +)) +endif + $(eval $(call gb_Module_add_check_targets,desktop, \ CppunitTest_desktop_app \ CppunitTest_desktop_version \ diff --git a/desktop/README.md b/desktop/README.md index 1474f11e2718..88bed9658369 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -39,3 +39,18 @@ separated from each other by two-byte `NUL` code units. ### oosplash Splash screen for the LibreOffice `soffice` binary. + + +## Extensions + +The directory `test/deployment` contains some extensions to be used for testing: + +* `test/deployment/crashextension`: C++ extension to make LibreOffice crash. Useful for testing Crashreporter. + * Build with `Extension_test-crashextension`. + * Extension can be found in `workdir/Extension/test-crashextension.oxt` +* `test/deployment/passive`: C++, Java and Python extension samples with passive registration. + * Build with `make Extension_test-passive`. + * Extension can be found in `workdir/Extension/test-passive.oxt` +* `test/deployment/active`: C++, Java and Python extension samples with active registration. + * Build with `make Extension_test-active`. + * Extension can be found in `workdir/Extension/test-active.oxt` diff --git a/desktop/Rdb_crashextension.mk b/desktop/Rdb_crashextension.mk new file mode 100644 index 000000000000..9229fe4b904d --- /dev/null +++ b/desktop/Rdb_crashextension.mk @@ -0,0 +1,12 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Rdb_Rdb,crashextension)) + +# vim: set noet sw=4 ts=4: diff --git a/desktop/test/deployment/crashextension/Addons.xcu b/desktop/test/deployment/crashextension/Addons.xcu new file mode 100644 index 000000000000..114518a4c414 --- /dev/null +++ b/desktop/test/deployment/crashextension/Addons.xcu @@ -0,0 +1,62 @@ + + + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension: + + + + %origin%/crash.png + + + %origin%/crash.png + + + + + + + + + standardbar + + + .uno:HelpIndex + + + AddAfter + + + AddLast + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension: + + + Crash LibreOffice + + + + + + + + + diff --git a/desktop/test/deployment/crashextension/META-INF/manifest.xml b/desktop/test/deployment/crashextension/META-INF/manifest.xml new file mode 100644 index 000000000000..cbb801947363 --- /dev/null +++ b/desktop/test/deployment/crashextension/META-INF/manifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/desktop/test/deployment/crashextension/ProtocolHandler.xcu b/desktop/test/deployment/crashextension/ProtocolHandler.xcu new file mode 100644 index 000000000000..f4011743bf5e --- /dev/null +++ b/desktop/test/deployment/crashextension/ProtocolHandler.xcu @@ -0,0 +1,20 @@ + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension:* + + + + diff --git a/desktop/test/deployment/crashextension/crash.png b/desktop/test/deployment/crashextension/crash.png new file mode 100644 index 0000000000000000000000000000000000000000..693df038c355902340d445f647671da2d2716bd0 GIT binary patch literal 83469 zcmY&<18^iv*Y3o&ZD*5>ZQC|Bb~d(c+Z)>(+cq|t*x1;)`|7*(*VNS1bXW5^r~BaP z2t|1b1Xx^H004j>B`K;50DxTm`QAZ8{wYCEFG>0H18y!PCj&m&}=j)o;40(pEIy5->xy-7m(jWnZ((h9L7uvSH?*6(U*tXi*GU_to{BG(pXy|d$ zEc!xlXe}wqMgbi+jU}$ft2pP14s+(DN!iq~XqN+(@>AcRmGWx$i!PTJKSK}+xW6Ae zteapRGlX{lcY0X@)`1cbgT4Ch6;P`?h#>+?V8^osB4LPb(7cKuJrKO$oEFzfpi||9 znqfSIo)u7kR}x$*s``VR0zv#~M#~9R!+01wzd%`Yk5UT9<2^P9fRVU$fzCL^f~fi55L2aLY3~9_{!uHo-Lg zqU@L_odXOq`W=V-{V4b5|F4-$d<;$B+k$*KQQ>Pqbi?Mpx%_KREO7Ue54_jF`=;uH zazd>z9{B&J6ta9{SAF#g5f5nDQ;n+{AP9}^)LVDTK@_J6eiB~rAi{&#~ z$c^lu8bNEznc+^5X%Gge_?oTPXd#KMzc9wnw8~T6PYV9q2vYFJ**dcnQbR*#uUM~me(GO6{;#t4$62QA)_Xbq=@7^z z&cgP=xC-AYVk_Ri)5r10ndq2e9|=M?ggk=VWO;;K>MJL-3EPPIcVPHlSyF8|QX6p7 z_|0S5wHri39ff;Co=v;&`@jAI(j2fKuFOQn2h>?<@9V;=&QV-7tnbV%cua5u!)Wc(w+d7*G10j6;v? z8_btP<83bLkFWL)e5*o0z0wzO?(DDs&TRod4%`*aTR*`$*xwL39GVoA_D+;q4ID(N zrmU9{aOHA+k573szr*^UP-X79^e*tShT5zNk_Eyqb2(`^C~RRwou0I|h{~5WjG%Fyh|zX2bMHL6f1#2$@wV6Z8)2u9*VGcl z1vs^MWVKP!PMV`i?C09R;^uB z1@y;DnQ>l;^lgqBqMvBHJvAdR9&Ufyf&H%?;LQiZKvT;^qUS(g3Sq#sqJffTB0B(< zzw1)1neR=5Jq^B)hW9`xQSci^_T!%n+{&+Cs_Q4q4Irf}lM`z=}}mEH9&u;io5 zudho+27oQM3Wc%($AbT0CF#W!tO>zek8f5iC3dBKz(ff~zg4H2jEIahtTXbd_U$zx z6loMM0chl$qMbVE{%^QR5Ce#0-*qkcA}P8*NU@n`%TzqNM$B^5s6F&zb@_(nK)uYD z5Y80KX!8*Kr|H9*Q2ZdOkX>*3R``&V<;ObTGhG;H-7!vRC~3PO3Ex2NfXJhpon%|n zzt1zZu0Zp!GTwEi#d1PSU_V`pVF5~=9xJF7rx}jH&Bz_Xd7_CLxg=l}5-hu_gP{I)9eEsyj z8TR5uu|~YC#Q>^hXPmH2@CS*tWK1ka>rXl?rNTp{Z+we%-Q%rCBg~0&TO~W`t@jhiQ@PGO!N|B&zxUe34 zk(}_ba-o9TjGEVA3P$ML=O_Bitwa{91+YKL?;pd|l4qU4 zgy#Q?-&8$QEtH3?WDo_1>$0U(s++tnnwqK@By9}9*tPcO@P#J)gYw}4odnn31$Z41 zHq{Om#3cl8N;!%C8>Auf*@S5m zaGb?{UJ)+lebei9*(pG$a(L70MIIf*56Gjy+4{X$w;5k4A1hw-?tY(uc1QRS1akkk9SQBl@f$pGNZ=P!SR)U^%h znZBqIJ&XVEAO!6st^I^{rx}g9J;TZy?A8{?H~WZA#7z=Sg7Jz3WPVfD)AqtR;fjDZ z9~$M`dV2``m5&8#z&&kpMOxny@MuXbU{^O6U<)2`a&^FbH*(^fv+;)b-=eWhRwiF) zNA=oDUFK(?d_Tb-TC-Oi3uCQZbbfzX*4~bseYjs70&PlNVxde)qR5RHNWaAQ|c@zDladfTKm<;clZ{ar&2#b4auNZ8L zOC}xEEC+UHro88U?0*;UN>Rzs6vdk!gofBthD$!^7eRapHF_S}?(`M9=Low5Ra&z^ zIo4&=kkYDKRp!H-uZkE-eRW=pD-E|Py&mdgESfvdBZlh_7mOf$vqs8FJa|vyV69T& zK0=+c{TF;=r_}@}n@qebWeo&R+J=2VDzEEg{$NO5Ax}Xf1^72%K)}$l zi2NxndxV=pEUm>dxBW&CrhF3>DoQ)KF%SRC@LfG#0GRU#|6$%8@LmvsTVDL5HT;?w z!$#(k|Fq$2G&G+w5{5D1v_|eJk3;6amrmQ65g~FL;#0?)zR~qK>IYn%4;vR$#_D+_?FaA*4C<2NrPFT$+ndOYAS2}Iu79!L0| zFUPJ5oJ8!E*HhtjS`>FV;bprykrlw?4?$&|m&hR0ry~^~D0%09jUqRub?|1nI!N!} zJ5P9BtLrmZXEJ5x)#gpt>?fCJmb{pgB$Uc}%kp$43>%W97U^+L#_U-QHC2nj%g+Fg z7|d>G(PKwR{YNi}tE+cc!`sGJYRPY_ich#GgeS>uQcE6cizV7OrasmNU6UY_8BPXX zR6WiW_WhQzf9sFKdSMJq545R<6<_&RO9_uwF&Nf-BKgZhg+%uyJaC{CLZ>mfl28xs zQ^>~ZHp}fx-sXOF1aE~ASIifob#V#?t?dw4J}EiruMD4encM70qNF#@3PYPaBieZ~ zr*u8<=425NbB0OO3M>guL00L`q|-E~=(T|gBPSRkSx~FUMx$!HD~_eRVjl0tzz|}_ z(OS1(?O|OL|D5FVGJlR|Ytp`9;!DsK{xUyIceZQ1QqMXGU^6-6L)XH@ng2UvcUu3P zTrklV;1epGXrg((gOmNY4N3dTRf3eZP6(UK#Nc<0AJsxWq?&TzH6fC$Nw1nkI{bA5 z&PcLAo!iiGPOVqxhV9pGDbML)JHZ^5B@x3 zYXmLs9B|RPgTzA>iivG|W@V@fET*0U3a}vU@ z)d5>WzeY}9Zde^AFz@9+^P-9IdJhvJ>>zvKc^iMU@y-6^?V7X*1O~$uS zfZSHqq$;oF1pXv<*RPOPpdf}HCegP!`8g*4k=27O8+Qu|!n7lnuFHr@QHL#-YeXAF zfpM4<$vyPi#F@sto+CZO>|u|5H~#w`zMKDRH(0Humwj0As~ydteI+tkcB8nmcZ_+s zr0n0;FQ*yqeQIjHIfJ~SAXOc45Jq08bM{tPK}>W=cwb1+@6rF7 z9Pv8E_E`&;uE#mIKKeRcPE&J7AEbM#oE)LLM7cs5$xx*heHYPv zvh}8u2dLc*|CDhup_?JTk@oEs@~H@#$nkm)p!TobE=`g#H%*nILsNct`dsNy(u;Io zfN|fj$tuFJ&*6*dzE_UR8KLVM5QmKLA>;3&9PS}8&KlSI?!Wy-@b$!N*FVj90%nxt z2h!bYWYa8jNpx{# z;vsCBdOGfxAD{rXjgT#qx#{zaJNWfN*K_?JM>M-89JEG?Y3~TIa`cF>YI&ViWID%> z$4Mu!y7!^$ySa}-K=}sKJ~qCSqWJ-va-H zu^DGCNvqP%WSK5;$)XEyEe74|OJPQ_IpIO6MV2ERT|L}JIUZBc6rhBxI)%WG)mPbDS>Le=44-|FE6W!v*umVpXM%xRT#gNA#8@L z8nB;zb_vjIWhFFCvH9Rk4PMaO@+2-@fEz&X797PZQ~2BBvfs-$j{L?qlnd@5%c$}D z3DPZNR6VF}{Vb$9?on!U7rC$5I<5JuA`p!Uyl|*{Z3E_P{NS^hXwrS3C~uX`i$=xz zRXUy@J+a}2%ps$%65@lcmrT+*OOW&~4&Y}<+`e>TSv$Y}w*w`wV*}<|4Alhnf%3%U zR11$}1FB+y`@|fy0@FD*&?33O=0l@;R$l>1?|;RLcj;c`IW#s2mUIfQ3)(<@7LCB|E%yV=}G!SwlXa# zX_eXzN?7*|-^W64f97wAULrbg-;QhHn4A2_#sG6}l*61+-D&+l(%2>9oYP9nDfOd= zn9rS=3EO24B_O6F_S5s7zmCIxgf(F9d#(-R&ItGx&Q2IEG@RkV-Fl6*^hbw$Uv(~s zI>*1*p?649D1WBvw}5|W&j+n9Awv=K^x4ZIo&OA=^A~{p2vm)1hF&~7A-TFtdwfsX zd={D;YHCozeZ+q1j7P1I1%wD2h3&owf89|I*tRsheYH9l7P1px_54uXDM7eCN_V5P zjx|gVEGyuTD5ctMStMMfs!#2w$hoB)AE;@!>VEX0;KkYr^FPu9?eQ%+@kZjoegZ*b zPocGO1l4!2Qzi_xo|r{OAN%m50iju1^M)OBzWx~Ts|8`Fm}mzG=kQW*8(%{L*$}dI z1bx`sY-Oc4Fx<~bJ29?(EO-~h8A@6Hc5w$Rqw+v66WDdI${)u%UNj)>++2kW06)

0R+@8?e(gHr5x7KRGt|mu3;Z!*835;@T_g%zL-!Y$vpo;3l zMTS%{R5LUVY)ZFEmviFuG(4VXHbxIwD58?}4HQPwP?zCll?UW8L>3X93p#|U zQd`}|1=TvCv5_=RI-KcjIO-U#&(8|%HEmW=#kv>D*9%qfIKwar4Y(tXr8h|<%krhr zLM-I8K}y7b|lky%_+@$qUzWaP#98ZUeyFgL==c zry(DLVis2H0KO+ca*3}V*3;nsVvXDJBMTBd1mzkG^wWr#qgdO39qh=z19>x46liwM z3FNR3_Jhd1mx4yw^$~0d(p?FnI?OTfb!6UdMR${}p6fZf4@B<4kf8BaPhrd;P6?ON z3A;#^lV3euEMFJ~dI>xU>~w7J*Lgq;*YRA@jqeLDHlo3^D5Ip1)faLMQa!fQWej$` zB6h+;9=#uR9}xT=8s!}=fm4jTo~!$@n^Bm3l{1P-RT#1hH-r&MhmmG-Lan8sx6ZJ~ z=kxBDDmKV4-p?2Y8D@|~Nb>*^QD6_~7FOxGhOU>r%}xXH1M~Ls{{Upd<#R%PM_CoA zP@38KNCR1EdJ9u6*Un^*3!;MK;SpXk0P zhEbJq;oAKBHLm~ z%eT{vXMy@V#IO@B_-dGHYGIXQJi5J;uMM?^P;Znu)D*wB zgGH&hK+V!VN~nm3d4+ijCJlD57bau68d&Cg5@>6wxsdu5b(hwJXvfp z)l{h|vmRbT(J?v10g8@|?$}R=4^62LJru+5C!Tbrh)_EZzpIXX=|Pn_Ft*das=oLsS)$*yi9j#z^;BZ+lj-JhM+hQ% zjN{z_-37sD)ED*Ct$atJwN(Q23Vcu&?`VN>Y8t1Rj~n>8s_NMRko@r9Ux9qG@yDWN zz-15DM4Ep7u=X%g<+tizi44!uIQI^@MZfsQC?flq71ZmL8643o1I|xiZZ}b*@;=ZR z^p7JwjeTy68}~ro?aBYv-bcqqnaRtzP1xAR*NnVpFlN8ZQt{p z|90Xm^ZL>gGc~MMcEyHx!`YH9#( zm0$^ma^(;r(q)pQF)huu^n+Bv4z#2DA)CU^in@g>q0-+|+-Pc4%DO4ljnv^jlv`wi zetB1A(`y<=9wR>L)AdND)qXXQ4r;mVw;bt>;n7lyr`oogg#pdsx|oBH14SFYh{Bo` zTG#wmff4o7kEq=Np^w6=XNk1$YX-D!TvYO8eK1in3HC_+9f9MwV$B>^!58vvtK~Mc z$Wj74LU~wI63V&1Csk*LVTCy*b{kUvQdH;BSy^%xOT)*lfC^xNn=y^zR!_x2@ z2|+%@>GUQ9$!$HrG--$MWv$(IW#5Fd<$rX3lDqvdNgQY~=~IPB*#r)hrZa~$R68^b zajBG|xL<}nRQsNl#-CPETE@4@Zh>mrpe@hy*gB(T6WflZV`ahoD~_`K7q99>x8E6o}R2H;vbp4-y_R>9P?bTJZ}o% zC)i4B;qDYAC_=}@U9XqjKstL~buZK{(P6odaLG&IJdLsVA4Xs~d_7|kZK=SwwujuY)(j;Gu#me2E&u+ zu0ovB=c!&;g@A`ep1tQy=F(NL=j~Z7gTc(t#=OcpsQ$`Fu3cG?IFlU#fakUO-FYM3 zQ;N@$9h%)&me69T?-khAFq=x~gc_XF4613JEJ|87q_ys%GlbsL%bH)j=AfH1w8+Pb zP#b5h@E#vRU(&~TsA|5UUU8K;1VVR>yAO8NL`->3nIJsFItG8y*Ud;;jO6N@f%BFB z?c?Ax%RJN}cl*Rd?{W3YpB|RCGuPX^2kgujDT;I$1FO@>7}rt!qpIsRG_1J>oUIEy zkXu4oOIy;lkw8&wm~*tiA1_w|5!d`O+(+jBWXjRpWjZ z)%K-hFRuD^{YseQ%l(e}C!5pr&vGU9oo*1c3ihOaHxqo1%T&o9)_Dj^pAw93N<9pI zyJ!`}i+oQ3o%UchuZuCic6mUa(cgYQ1-x0l~wyT4T$nwa8U%6aHONM2~-j zetOsiSJ>dpcAdpRxXWufi9bk=niZEuzx`dY9^KZ?x+{m|TV>M^cPKu&Oa?RFc%oms znWHMQYn{jB(_R?c3c-4la6^LE&iP;td;=J%XuD3z*^*}+mr#wn_eY*JsNS}izE=6{ z{zM40_9!VtBPYWl{Yys}(^vG_cC-XF-=F$-;PMh5nH?*kQC8s!*j0f&2>Jwu$wPLN zoGewBY5VswQa>*li~o*XzFi5D(ZGLb1(?HC#R}TV>K{m*>zG=dc%~UoYI{O{>r2f& z>dd|6kujGksm)oT!0?b3d0Wsxe{t(sC*u3?l2EOUoUTHBJWS zZbvu^7eE)#1L^v)1EyK4_jDJd@?NNv-dIuRLlD`Q7!+lXt$i& z?y#_44;9Ta->j(%qkkUD8}ZPL%0d!;t-^>+(bhYqW^D~=4Zg!JuJfiZ2pdD+ z=j)@A6MCYOL$Li5|A`Ah{s~vM$jk_840Hq#Ig&HQ{nAXlYEm@;x6Rg~hLup__MX}C z%oUnxY&IAT;WN;ky=_^&l~Zc_GJUcVHmYNwf4u#6nD0Isn?{So*tPb;?T7RNqFO_F z6M*ZRMtE3?w9N>b*H&(vCrQsBIFp(5*=xh5ZHkT%k=o9&J4 zE%X`cu78cAUFG0PaVl5De2L6c8PCSJJOWQMSui#PF@}))#%dB&KNhfVft$s$Cyc(K zU1mo>J=9s$Gq>XpFiJ$kK6v%$ z@`}Na%mL)uSGipm+(Xxi`dAkgFSECF>mCl42b_>O^z0uy94GD(5J!cRM=^$M8}Fyq z2LIGhFR9``9aSt^*+Q3^msmo_sud6dgcXDB^D^3svT>j-L1V#S!oZ4Q#AEx-Ww1H& zF!Jy#ZM7Kc)BB4$R><)Og5&mm|FgSFl{@*^`e$~Z5dIPFOQZ~|uhANz%{8$LY1S=g zr#;K`w?vW}hBRZGJ8+yVt#7+$p%P#^stGar8CNuR`N_A^_4(*v4qfDvfdOJer=maW znT-jwYE>vRK;Y!}t8$q+j;Pak-{oSr%nEb^ok+|xI=(Y6OH$fHlbP_cYuS;?)jcC$ z1cck1dl>2LoWFH13&xrqJ?ISZ1gsofyap!c$AM{3KuJ!fZ8$aTqB?)M51Onu@_CSZ$U8h77UnSRM4~XP)gv{w}#7a_F>%MLsn$0W9y;1H>oh* zZm>|)t5oBJwRaevv8B%?v_21)$(A3eK&*f?uusIFm2&+GM%klHVkh_xgbuk1yUuYC zgab;X0F=vZt-oj&PXp0_Y8V_4at^lsr$9e-Q5x#tFP#?qJ!mi zim*|967~7XQENB3Gxev;6vsw}F@`SEzgon@nOxjyavDlXCuewGWMV%cOIqjVHpr7@ zLi0Fu8L`x|kij%5f@z<9v*OoNQfX~yLK$eRe*E-AigHPRPxqJ2vW61bxOi*@r>I}iuL7^Rs+pHDaC z9&7B^ZD#YX9K90=Nkz(9BNPZUCZ$|Vr0b$8YbD=`K@LL3EvN}LD}FLEv_oI3BfM8c z;ZhtitB%FXq~))T^gg45dpzuJeg{qv92{dFmsM>)`ahwAC2D zS6QVM{zCeySAppqB8$G5Sjp#O04FqV(;uqZ zN^qEuO~W2K1mxTg)@N;TceoX9r%slUZU^@z**!$yNHY^!rZx+#L|@?;=OT#>5mIc4 zlu5!@kzH{2MtT$c-BtYSGMhZA14Wp^0yf1iOUVWE8ajL7d+_8nb9&i}-|o ztqtWzm>A6Sk5}r4;hI3`ophNYz7yiMJPfDXw1Q8X$|1Z-Qdk)1j8K5A3r$1zt0Xn8 z21=W@5Cx3{vcw|T481%|xRKB?sP|2A?Q8VMEa&QnaMluSF5c zW!B2m;?>J=*9q8Y6723X9D~14S;WKC0PxKg_a8AAhl#lR!o@$__R_! z$}kEf#Z#{G9maMN`48p52U2a>+9-&=6~$#xp$OP4uYO|OF3`75MLT3qynJ2ONU?z_ zvG4IO!8#(59xFhsV9ipgn1W=8;B})xa%h#nheU>-bZluUG{K^qqR{0~oFw4J;jD6| z_TkY%8Cso|Mb~f}q@Fp*d3Gu!w>)s-u)Lp^9|+Bv7qC_Sn{fLXDG(SO ziV;E-q6uFhkqDr=4}}wC?2lhRKNcJ}AARyU^yA)J>sT^*%N4(sBh$c1+1=*;aKFti z?DC!@)mj{Tksl%8?DHId6V%dG9H%I0B}d0A(2RWI8n{QGQ69qvH3m%$SItp;2<{W4 z#!TLVEa*WQk5RM%@4@~J$0P?jE()}$lq5qlR>>2A2P;U&8Xwb4c4F!}^31fFl+x0v zXFsJ?Mgm*%42l8ss_4z-9>$i_+Yb{^zv-4Cd&mTQjsUrpm3Iju^okWH;3Pjz<$BR> zwjV&iDAnL4QQw)6cmnLfeZP~GXnP}Fvj#!oo=4XKN$3SvVQpkOuC0N>%e`b$h@F{> zI2YBhub}AdVxI5bm->$Hf06FmWPS@LMyUGNK-;iJLVlng(1cXv9I3HmAqqI$LDKMV z7&zUf;tv%T%bvB9!&LBNM2#2*(|*(85Gm4PskoQyGGjeUu;NQmxF8y8t3`~iER*|c z+?3_tv&n2<`_ose)_~UisVf?IaUMoyM^&Sgk}~=@g?ti^DkQbXyOm#{OwY zvflJ5Ccu~`KS*?|Fce~FSX%RzbwXNGB~y(8KIE(2lEb=saVl;>8>>+`NeoGJu;&mq zBVLh6K=V6WQ4ky58QV&E6cn5w;zRO;4ZwFi+^DJ|sSAv$YS-Y%%H= za$BA0$1IDjczs52_ohBHsoSue)Wpe`3ttFq@_sWy@>1wg?m8qJ0&>~MXEUG}-%~A9 zFv%$X=n(R!0C1=n=O04JlR=CDaTb61It{1{;1DIMncuB1&Zr6u6dc zn4WHzt*-kY2ZvzOCvUO2Ca;|n`xiJizwbC`x)8>8CE($N%jgO0)2&+SMN@qNLxoCq ztmATjHm=Y)q7$SFb5|3_I+jy4lZ_(U2{kJK{p4-advFHo%~%kNw1z02)PyUqFcE?f4nDv0_g7NZJmo)o+NpQ)IuMqqiNeEB6nIyWb(4acbW?tTh z!~M?3gyaZ+wA4;mY*SB{uvn z^-J0l`AEg}+R2i)sBeocGTY53+*K(AUKG1S*F>+ld#MIV8_q6%!^X^osdNm>-nm)~ z-dB$Lkl;R3sg}m~i((bcyRyqIb)8$4YZ)wam8~<{F5F{P2$7roVG*>+yvo+PI2m~e zE3EQnJ0L31x_3qh8?Ii;1ewu-aTg1|$6{=WZ&W6usHTMSv7N)X+(H4ZAhb#*cV_CI zj2mnA8GR;=`NszkR#RD-1>`FFn4sR?foHh}#nMdV zw8Jb5Vj6YN2v#BdS~Te5!aTWL*HYk@)8WEZ`BFoc<{6oxz@X1_<+GCyH`2k(0@Ff) z^OV~rm<^PELfSvn-5o!+T*Nm>nh=d%RtP2mtY~wqrq-(dd6#rOVj)lYGTqbul5ZPg zGLB%g=a|dPI>1D$iQQE3Wx8yk@Z zbqHtayU*MGKow)5Z~OpcuwX;OH|*MEg=1!5evkA2R@XJl%H=AT zDbnc+s3rViMr*Zz-_jBTuOrE3D)CPa`K@*&ZvTElQehU?6s*&F>4~QB{gT;?L+U%v zu+Ue;8d9uJ40~~@TO~*!zH^hl&x5MaQ{=O8pfBefisdGNe)px zA!WUcf~Gt{Z7cC0Z*MrH;5|HRLX>uG=~wZ&qjf~jPZ5D zpNDxuhsaD|A#9ahZ=lp{8${EFYJGQWUTQ`o|isC zW;Vcn(97ZcG9gNYI8RDU$CRREeQ;8+mMbowo`q(Ytal`Uv6F{(mab=5yd_69P^nmw z?6R}L6;BmUSi)TpoS_Z+_)F=DmEj24?m-d(sVjsqhBd8zh%6?Y_Z{k8k8uO zO=Y$!fBO!>m!bhvG83TF=-POLVVHXPFoRW1j`h@-*9S|51M)gRZAL3E;Rd3|D_SXq)t z@F)eymWLsn$c{cjGAJ|_Oakeonz^kBc`Aj#Lyd2O438EQMmA?9RV1%vGEr9t zp~yLql=6yYC^!&*iyd+iC5f%G9G6zvtZ?)b7lI8{(@kX~FDLa%H9}5}&PDeIGAT$W z-ug&^(p1x*5P#tgm&EzOwoyNo7TV$*(PqQffurH}(b%k|W*mMnGqo%-Wu{kBlP$X* zCH(Pq|M1rd9YeGB5FU64G)jOVssm0bbAy?l%9|gXaxF#L^H#!IAGaj5BmH&eFSa}# zH+5ZQ89hVYJlBEo-o}=#y8hy6T%;W}rTv4|B6z~99VKWi&ZmN6n@=(~=v>&dQiQTG9<@;7lerG zv?zq^Y>Z!jdF|Qa?kMHMw_?xtik&}Y*4 zG*ds3mqW}(MTzhMX`)7vTmy_^kq9U~OuL78o8E$+By7+L%XbHLcC+(`{4?59jqtXO z>J$q^2~*xZ@6*YZNUxLNYpAWuptTT{_>RTFY6_YUs;>llKI7MB-f+8?tGN{}_Rd#%=Iy;2)As(>@(8zd|g2OWEKuo2S zuP{Zy8CMG>vCEDF!`;QQspVB}F-1{jWO74ID?9jb$U>m#4>Lb3RGAv6G6`UnPB#TZ zN6m-aeZlOB`lSV8Rxr5q>_f<(ZW>$nIM&}^FK2gH`|ZI5B**LCg@7RoBc+>=Mnuo< zIqy{j7d}!xh160ft=nR>jnBUFh!PHc;A;HCL`j4e3K_bWFL=7Hc|4Fh`K?RT9Ac3rsl6h!Q%=>^JXB6< z!uVXf)LQ#S>4Va{)KVeZNtfZ&l9o@tHLd!xgVldxr=l`;&Kbxpa*QvNaydVL#VMf0%c9$}NvbX0|k6y5Sl-kBPHAvE#vn|cx)V6#TxK*AG7 zTX|vNzl_R_dppE^v%q}!Z6@h~cjjBw>?4Ek?hmE{V3F)5;G-b-!N9BT214JG&TF7d ziB@NR(^9(~6sH7rq;2Q$;J0u5-c=|T9tu$uI~-u)Xb`O&M$JT7KoHk;_yPCUw?eQF zObVFF#|nIhUu7&_dD|tpem(!|(a{35fQYi+i>2~pW%lz%g!Tq^BVQ5bP#l19tPpjr zgPPmKeG30Fz4m}Q2_g-nVwgP59Hs@fv%x>=R29#Q>pIjAk{|I6omT{SPZ2S7%UKID zows&n2h8(_K<)G6sv{#BIGE{yb;rHtQpPJCVaXxxr0UrcmS)Zzs+5AU5eU1EN@pxk zdJ;l=mQypTL|a>XM0b|9XVL*?;Ro4D`&G_uCyFY)h5GA+NAyO~1Y{*JH)QE@v#IZL zwkKDQ7gCY5TZk!#w%;XYZ6XL)G+#nA5jitw5Xdh#K5Cq&+7n6vB{~` zD6isYY=6yFd1i{_dghg`?_pn{EZfIcUB*N|uAJ*xwz+m0X|h@DA0e_nM5gVzH?wDj z4pSmwty~{~#>F{6kVazDMk>HOCqsi_=%^aWi+R)8S0+|jmL8vb*={Vpk>zDaQp~f< z;^6kJ6lBWQ4$0LKUH+XH<2K6k2&ohqPf*}aP7<5QpPkP z6#bV6KhH>o=d7Y;HmSJQGYI#>C?v9<=Adz7ZBr(`eA=~tUC*TN`FRLK2XPOg&^*J` zy~flDv-}_$>V>zAxa95FTpv^BgNF78(o>(?3B6xUE{Hz*V!5ntaZ%NW%vYH6Sq zDi-A8t%rKGmt^+Bi07#L~>QqH(&RFyKxr zEor-Rs;U&TwFxBIL~9WL_eTOJt`bpup2@{+xDQ^r>J;vfxYR8#J=WqY-yUD?+|;;3 zYkdpV*R5@bfr3!H72L{7ap5L~5sMn84tVnNmIy^!IR!E4crHe6#c%n-JCddss9cq3 zszNMUl@_GtQp;|%=ZP6A@#nbqQaq?ZLeZ>!n%1CUg+m9(Cci`#qEo`(7IYO1Uimcq zmNs@-1oS#Tw`*KwIKqDOlXrqe(HS0%i*f+lWO`$<^jbW^5KB>Z@8&#MTFI|c1vgRy zWA|fn!_LQwF;dcnV>O+VdkFSilBfV*gos*fS*~DIq4HniB<~APzb4kg)1nNMp76k$ zOwYZ?v_5UJQfstmG_x}%_(+9;0Z&3Ms-Q4ow!F&^Ie}LoI4r_BC>KbWj`@ zr!ZO-=N?of1ZBL;-)IMi&ysAw>(_CXJ!Ku(o<0SS9qf%;IIqK8rQWO?H^Ib@|Mnsjn~EsmcQ->! zR9Gj_%3X=~X~|g^B0t7vYUp+cVps=zUoL#82CSL z=3dC1_!6VJ#@QRC+Em&jQ@w1=yl%9zumy~nsGx?_-$jU9LSzH6DMKYw@qaUgRK+>r zkaL`*PYorW_}|PSMS;v*lOuz}%vsE{_o)U7nTTu3v=}YW8YrWE*dR?YJ|Tk(i}quI zDTUk~f#ZO3NUY-c)3UAAttVD!(!p_)>*83+_+ivJ6j4fy(lBX*=j7 z&oruj^-`L~c^G-+8JGA7*vujF5aSr~fNV(8RIBMC6k&3+`B)M~js!3{LoU%}ydulM z%(bc8t*)0&+xJ$!XPp*w%puF3^LWy=OC zQ{o)X+PN}CZz>UDxvi$$9rb#$By{Bq702^7;Th2gLGZNg)}Or%BgwIa2I$~JNMLyd(egwVB#IDU0#t7r4)1Y{|sJ{Rj&P4NoM3+KImoS#Kp zhMXD&S99yJkR|RkG^puV^Po&}o&!``>Tq@~?nUT(kd@7}d17feHYT}NgO8n^nC9p` zd~CV3Mt|ZDzIkMIQwgD{o?r;Cx!D+ex7pl3wpTlx4*YnKY-dxpsrVhmX2&lmAYUww zq(aZ5ZS!mqywOt4y}oVksKa!!5meMZXU>Pu)otr?ik6$WEPV==`{J)mfL;+K+?Dzo z&w&yZY77L|D0YwYlmgvrr)gGgL zxB~3VrLIe^>7LSR3Ea5Jh3cl|w)NikpptR>`?vOTY@(MLp9WrD^eUnP39}xZ~)E`lS@;Y7vnpoTl{Of{Q0Ig@+<&3y#{iaZ}{rYmE}!gow;TD5&w^+ za|*AkYu9iZ8;xz-wr$&XW3)+Q+h}atw(XS_+l{sJ_1~xSY|e4bm(O#LLNWUFi?s&n z0=`NKO_hwAI2`jdg}pP5G1lhu>D;<9${UbOy}>YfHhH?o7>>+mCj!&?0kw#36$Yw< zua&Vjmfdeavs7JC-li61UrO5|9PUbr#~OX^@Q4g7FHZb+1~1-a2Iadl%jy)17u1xD zOHOS9+H!_yjJJB3W>9NNIiyLNo}Q9Qrb=!`PnhBkhP^0c!u^WqDW(H)lW?^9DGDHp zSfgyn3M>Ar{E&z*kEvXWe^-Z|AZ{;446-^Sxebty{Lt(^+hFu1z@z3+0a zCer)x+O_Oko(^^F7=CJ%8VBbewr^|rCqcEu@`re0yDsUSkhb2E#4<#c_4~GqvjC;| z?GAyDtzT3M#tAclrf#|k&%zd=TR`o7-(|DBct@Qyp|Hr{*xDUJy&N_exy;@Q;^)^cOBmC-{L(MXJ(V$)c7pvU~CM`52vrld8k5!)n`U1%ms9>g5v zT)#gsS}G~Q9~Gqhr<&w!Z?ummbTBuL*S0~j)_OQz?88dvg2*f)<#!0@{%*KzhUSUjMcjC?+#{zjY2>g zJ}ybAl75w7bx0MN`UD`ffzx$N7Rdzhg}*-J zl>$|OUoj>XW^)DT&y4aOG$~u^L&QI8U?WM-kMcsYcAstvL^W|3VvngE%~lxG<<8o- z)IVqF*!R-~%le+vNc5Nw={EKg=weClyoR5<@F~`7p<@7=xcWROl8bx}ztEibE!ErW zmEbsQ=ZN%6ihz+Q6!{mdI#>VDK7GaRc5U(_2D`!`{Ko1hZ!*`ir{#L2PC&!W+$pB-lJQN>`%3uSY9qB8 z;+mQ$lL93M1|HM%!02uFfjnA4_nkN3I9QXuUupRVf#X$|Z{ir`Bk1ra>J!giQtPlI zf=8nlfR@ao-Km$YlxI4aml2(Hy}>US}o_{Q1n-a zN?<`|)YUoSaVtUSR+(0w9n-mt!t{JaCEq)bEB)8B_rc$rx$gi=1 z^PW%m{jpAvonVuN>GF~n9fE+44bT4=IGmzq7N6!uY4on^*Dm9+nN>)d!So3>(=(i& zTnlEc(aedl3ur=*G-yJGLEI>rs`35`W|@QS=z8<*Vw4)5?j=VnRZTfEVc?vqn3V*2 zjxvDiQUCXp*{*{^s!XYra>a0m{id*k$cE$q0 z1zmJ*_HDL*ZS_C2m6}kak9A>KImnBcJ;Q2Z+~PZ+ksebeRH}Yn)mN|KS153tI=mx+ z>{1z4M@uJFwWU2N#C6PM*^axUeIJi>CP)D=yr#A$SF$0kMpk_F-;NKBINs~>D7*6V z1RTiZ#>Vxr`mlxGZ~!kU$3-{(qZpIivcU4J-K|W~WS2pDqMCLpqtG1x)Xi#{GOLNgy<0fGM@O|RXitt--sEOgD@e>rDBkAn~!1HQrb6()P z$4aiymts~y^~>XJWMc$bt1(~4KIuS$p4_uJAdADW4*A$7{ZtNiZI9TD@GC%wG1W9! zPf?%1BE5vmlep|o?fdm8^UY>s|8q(ugkarpB6JvSNlg)v_6fO_wRXzFEX)1;G9IfV zuXkBy(>#5AXC|?o>i*T~X6LSQ!`74ft^N=_pq!fDMfMUqZ5-t$NAcHrd)>VIr1>!@vzY7*_ks$X)# z_5F;X2B6*`5t&B5ia^&gybJ5zN4oxL{6dnu1_%z2NUtr)FiNASU5E&?^w)awze(9SVSIkWmJ@oieaT}(fZ?$sIgJ*K6#6H#Y+Lt4TU$5G^jh7> zjtg0&v&geYF?|Yk7XpY-ksLL@2EP^iQRrmM}6P+q{=g_n{7Hg`6PK!`@d++_n zznBG(u^A;#mxQ_qv>$EFGg-x;EIIoLe?M~j;2{*X}uIa%)o%MY0-7!C% zJ;dF55-v0$2);Ny@l@O0#4al5dKw{WrqP?*ZdiWGBv}4!i{jr;dI`&?7Q90(Q;ag%Y|~Cf z#ZR8XG07W0I*7=N54hS=QoiquQwN+CK5{6DErJOYGB-Lrq|7$B2~=^C+9?#W@?fBf+8YP-ek{RE3iy~Ja~)N2`Tg8n=vQH1sQEFB03%5nWiugEf(?PMd9 zzrTXY5vO7OZT80}J)&XCojTJ9#E!U0bpz5au@S%!evBK$Gcw>q@>lJc)|!6SLq^cD zL3XZvojoMSgn3;Y=_Sn&Cdr}GMx?$);QfkB6=+)=LzK4IiYlDk2wLwrTO@~futAYcD#%AYWR zp#dZNJxhgwm7pfMv_-N0EMs`9(h!k=8f=VJ5;V2rbX0sBpYbp)!J)fFGPgzA1}>4oP)tH@PYmYA+d zg?z{s|D1*DEkncanjyQe{^T)km8x=$Sh#3cRnqg!GBl#km|D?PWF1Vtdl_(M?GSC< z`uqzQoJ}mOEzMs9Sk^bL%s6`Tt6=FTAqH-)On$~%W09rCHrQBrL?C9KvT#29vgq5G zCdLbb%u|QU*vE&Zr1y1*^Wc0cmtdBC&mT@{Lc1f9T6jj#9Q|Ie`>mgsu6(IY{}~T1 z=_Uo*p~!Zcj}mUDiQL?+#0?c*K&sqN=p;*337m4_Jm1hC4Ebc!k*a{7X%kaR5KG(8nv2VhiwUt(lQ_Iaj8sBGYcui&pz>5P@$yik=%AH6 z9-JE%AP*awKMpFPjpd!Us#t^b>JX#|&3E%79UMPkVJGD)bME{dY`joW(SDUzX<=yv zb15db%oySFdzrqMWmv6CuJJoR;5&(bG@lp_R)f0?vf_4N0E#`oKE6?YJ^>U}%2gO@ zoM-BR^TK`Cr(02)p@Z$j%f>DwyMK=G;S{jBj1j5W*!6D=oYNPbt7!F0?)MVu+~vgp zs1X9K+<98RT*h2b6MtHK_D(+AO)AIvy~4+&(&I4FkdPsx7@RJ zj}7~_(rI%mNgoWwd1+}6arYsjuTJBGjdym#)N$Uj1NgpXNseBy4LL4kn%A&AO<#0=H$1 zCM04to13(rgQx_fdpUoRmsdtA^?g{O1bq0R1U%?NtJmZkIu*J&O#J*NVaEQQ+}-rnM;D4m+v{Gn*hOi!Nu@@HHz$CkaePDX3#w*%L@T2g1a*M%DOF zzH?b_NGvapEV{8ipT{%xmR&#FIvxVYc@%<+5$(1cNBO5WBuc+l#A!W7yt1iT6XHYY zTBusx-khP;?ePbU{^7}I4@~Pllb)Zj0|#!PPE?jnye069$B|4*1*sE@u=0`K!mvZh zGW=0VqM_`Fb=J=rXWU(H}@@oz^lwuOjt}p}< zo~yWh)!_3gE%k^1r5f6)RV#^jZ#-%m)3S(pw)lHw?ds^JKO8obA@Y1JHoLKDYq3%T zN2UXx8<)?T%mQ~&e{x^N8(!=J4rJc*Gu~9p`{JHdv1Y&wT+3^As{Y6M+Ek{J!rsG` zcD~3ZB`;*(jIorr8KD+qos8<|y>$L??|v)7i5aUqf;xGH z$bC9*3c|Wkz>cB0^oezCGdt3bDyLu72tG^=(jF%Zlgw7>3XupFqmrZ$gwi^wKq7uSUk#!@wrS0v{9{U4I5L;c5DQWMqajo6!9AhQQ4Ii4l3{m!cWUmHM{G zqFR71`l~ok8<&{mZ;L(fEqkNYe-HHPX~M%bMRj~9t*_O@xXZ+W&BB?>f~g$)+gYza z6oA@w`WVXmo3S)$B){;m2segFc2l=2U7FR{OC#3}OD+eD%}6&4D>jnqN?Tk%u0z}c z86Hptx(@-K6Kz-NS`^y!OOVXu5@bwrrNo^PKc|MGDfwb*YKm^o_PvD#u@WNktSK0s zwJcEI!6LOFgqV<5_o4vh2QUg+hf65 zaYm|^T#lI4U{CtkHG&wj2dmCK?71$mcj9J;(?8m3bw{Fm^jgUo(1dVzz67DiG+v&k zx%9UpV@P?(NUzS^EBd+ISU!pdXAhbf>vx<^J^9>sS?tw@Dc&ILWe3HOg`VXydZ-59 z42F|FQsR3%XX!?Y2Q+-%O(|5bSXIF*CIwkMm?V{$MDB$Y|>F$<(|jTGh@!Y6id2}d0E~dUA=?L!huQbW!Pt? zuC{XZmLXp}AsIskd+52n6AY{WM$LnbpTa%j{>-AUtd3RLzTV?@Rwt>gWdaI(g`l6l zr!+6-0k)t-i@~OwcX&x&h|B1yo3*L=Fk02r9yE4eB92h*?colDEV&|;JM@$v%nn}6 zikhIg^4dv1OvPN~wk47K!ij?iBEr1MA4oZncRL5v!w0Km#{BCth;QUhosX?TB=}h} z;w4`Zwe6kuq*xdL|P>sTGCwK`7HW3t_aXtWZ_8h+B}{n!eLg)C@=^hzrR1 z^+tXvRRgbR#fjBy%dT29BJLz=Y|LiEHfFI*!<+F;_@G&$I54Apa5hmr$63z7KG^$n z8T)(?`uibJOBMLSW#_}%(8;1i#&p^ajA>R|= zrnf}4f^_A7@cJ5tcpzRSS5$8dgbI40|DG>7r$C87UUPR!hwEv~4OR}8u@P-QPP!;! z(WDVKq(0*JpHpU_IS5pl3^+^liP&iD(2{ka2yH>;w^PdUCj&SvoTxaW_)#XD0{)7@!uE1 zW7L^Lhw{a}e(imm+*S+|C~jIGUY3XByO&1V(cXTt!Z`Ga8fKSA#a3tUcqHiOmW-09 zp<8XXW+qQwlE=mCk;jtQ`5NQ$4!)H3mwh)W)WlG|6^Pl%6t1Du(#E|p%3K}V z)56aSF3@DR)6w4R&wOZbb_@IR%#LT#SfY=sq{|HYDpDWe4`mg!l>Ws?HX(S^8$^Pq zH>Jr|NjS(p>ooUf8CixC#CK|Z`OERDN0+O@V|=6iz(7IHn{Om8*UuoFr(CJrh*9}{ zcNImV3_FT8aXiO{hLbez`!{)JkyE>616fvhQG|T)7YmnWV$1jh1f+nf-)cg?8h%|R ztHJsggmS`kP61i{T8$|*KlZ;1#GwAq@8vnW{6!7%4>42gm0tG+P|Hirw2lbutK{5O z#U2Siw#6MZ5f?b~OC#zMYMgV|_WvyR`~S6Rvi8q~rS_)xXcuD1+1UMbg;0 z^+R5{=qgJxD@6pTASRgzQ)4Ff>o6mA=i($ZR*6t{-x67y?6@92SKj-zj};QEZM

    vHo1kj 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ϊjoAKp&&<|&I0C_)WlT{)=^agNT}6;@Lt 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 + + + + + + + diff --git a/desktop/test/deployment/crashextension/crashextension.cxx b/desktop/test/deployment/crashextension/crashextension.cxx new file mode 100644 index 000000000000..2e64f3af024b --- /dev/null +++ b/desktop/test/deployment/crashextension/crashextension.cxx @@ -0,0 +1,152 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace +{ +class Provider : public cppu::WeakImplHelper3 +{ +public: + Provider(const Provider&) = delete; + const Provider& operator=(const Provider&) = delete; + + static css::uno::Reference + SAL_CALL static_create(css::uno::Reference const& xContext) + { + return static_cast(new Provider(xContext)); + } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence SAL_CALL static_getSupportedServiceNames(); + +private: + explicit Provider(css::uno::Reference const& context) + : context_(context) + { + assert(context.is()); + } + + virtual ~Provider() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { + return static_getImplementationName(); + } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const& ServiceName) override + { + return cppu::supportsService(this, ServiceName); + } + + virtual css::uno::Sequence SAL_CALL getSupportedServiceNames() override + { + return static_getSupportedServiceNames(); + } + + virtual css::uno::Reference + SAL_CALL queryDispatch(css::util::URL const&, rtl::OUString const&, sal_Int32) override; + + virtual css::uno::Sequence> SAL_CALL + queryDispatches(css::uno::Sequence const& Requests) override; + + virtual void SAL_CALL dispatch(css::util::URL const&, + css::uno::Sequence const&) override; + + virtual void SAL_CALL addStatusListener(css::uno::Reference const&, + css::util::URL const&) override + { + } + + virtual void SAL_CALL removeStatusListener( + css::uno::Reference const&, css::util::URL const&) override + { + } + + css::uno::Reference context_; +}; + +rtl::OUString Provider::static_getImplementationName() +{ + return rtl::OUString("org.libreoffice.test.desktop.deployment.crashextension.impl"); +} + +css::uno::Sequence Provider::static_getSupportedServiceNames() +{ + rtl::OUString name("org.libreoffice.test.desktop.deployment.crashextension"); + return css::uno::Sequence(&name, 1); +} + +css::uno::Reference Provider::queryDispatch(css::util::URL const&, + rtl::OUString const&, sal_Int32) +{ + return this; +} + +css::uno::Sequence> +Provider::queryDispatches(css::uno::Sequence const& Requests) +{ + css::uno::Sequence> s(Requests.getLength()); + for (sal_Int32 i = 0; i < s.getLength(); ++i) + { + s[i] + = queryDispatch(Requests[i].FeatureURL, Requests[i].FrameName, Requests[i].SearchFlags); + } + return s; +} + +void Provider::dispatch(css::util::URL const&, css::uno::Sequence const&) +{ + // Crash LibreOffice + *((char*)NULL) = 0; +} + +cppu::ImplementationEntry const services[] + = { { &Provider::static_create, &Provider::static_getImplementationName, + &Provider::static_getSupportedServiceNames, &cppu::createSingleComponentFactory, NULL, + 0 }, + { NULL, NULL, NULL, NULL, NULL, 0 } }; +} + +extern "C" SAL_DLLPUBLIC_EXPORT void* +component_getFactory(char const* pImplName, void* pServiceManager, void* pRegistryKey) +{ + return cppu::component_getFactoryHelper(pImplName, pServiceManager, pRegistryKey, services); +} + +extern "C" SAL_DLLPUBLIC_EXPORT void +component_getImplementationEnvironment(char const** ppEnvTypeName, uno_Environment**) +{ + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/desktop/test/deployment/crashextension/description.xml b/desktop/test/deployment/crashextension/description.xml new file mode 100644 index 000000000000..3084b17ae4a2 --- /dev/null +++ b/desktop/test/deployment/crashextension/description.xml @@ -0,0 +1,21 @@ + + + + + + + + Crash LibreOffice + + + + +