From 6b5bd6daaf471706799f454b0b8f14c1fc3e7c29 Mon Sep 17 00:00:00 2001 From: Toyas Date: Tue, 8 Apr 2025 01:16:42 +0800 Subject: [PATCH] feat(content): Implement content module foundation --- .idea/.cache/.Apifox_Helper/.toolWindow.db | Bin 155648 -> 237568 bytes .idea/ApifoxUploaderProjectSetting.xml | 5 +- .../nuaa/video/common/utils/MinioUtils.java | 20 + video-content/pom.xml | 108 ++- .../video/content/ContentApplication.java | 9 + .../video/content/config/FFmpegConfig.java | 68 ++ .../video/content/config/MinioConfig.java | 52 ++ .../video/content/config/RocketConfig.java | 29 + .../video/content/config/SecurityConfig.java | 43 ++ .../controller/CategoryController.java | 80 ++ .../content/controller/DanmakuController.java | 67 ++ .../controller/FavoriteController.java | 107 +++ .../content/controller/TagController.java | 93 +++ .../content/controller/VideoController.java | 230 ++++++ .../controller/VideoStatController.java | 57 ++ .../nuaa/video/content/dto/DanmakuDTO.java | 48 ++ .../nuaa/video/content/dto/FavoriteDTO.java | 26 + .../nuaa/video/content/dto/PlayRecordDTO.java | 31 + .../nuaa/video/content/dto/VideoQueryDTO.java | 69 ++ .../video/content/dto/VideoUpdateDTO.java | 47 ++ .../video/content/dto/VideoUploadDTO.java | 76 ++ .../video/content/entity/ContentCategory.java | 79 ++ .../video/content/entity/ContentDanmaku.java | 64 ++ .../nuaa/video/content/entity/ContentTag.java | 49 ++ .../content/entity/ContentUserFavorite.java | 69 ++ .../video/content/entity/ContentVideo.java | 204 +++++ .../content/entity/ContentVideoCoin.java | 44 ++ .../content/entity/ContentVideoFavorite.java | 44 ++ .../content/entity/ContentVideoLike.java | 39 + .../entity/ContentVideoPlayRecord.java | 54 ++ .../content/entity/ContentVideoReview.java | 54 ++ .../content/entity/ContentVideoStatDaily.java | 75 ++ .../video/content/entity/ContentVideoTag.java | 44 ++ .../content/enums/DanmakuPositionEnum.java | 31 + .../video/content/enums/VideoStatusEnum.java | 32 + .../video/content/feign/UserFeignClient.java | 60 ++ .../feign/UserFeignClientFallbackFactory.java | 44 ++ .../filter/JwtAuthenticationFilter.java | 102 +++ .../content/mapper/ContentCategoryMapper.java | 12 + .../content/mapper/ContentDanmakuMapper.java | 28 + .../content/mapper/ContentTagMapper.java | 23 + .../mapper/ContentUserFavoriteMapper.java | 22 + .../mapper/ContentVideoCoinMapper.java | 22 + .../mapper/ContentVideoFavoriteMapper.java | 22 + .../mapper/ContentVideoLikeMapper.java | 22 + .../content/mapper/ContentVideoMapper.java | 88 +++ .../mapper/ContentVideoPlayRecordMapper.java | 38 + .../mapper/ContentVideoReviewMapper.java | 32 + .../mapper/ContentVideoStatDailyMapper.java | 38 + .../content/mapper/ContentVideoTagMapper.java | 25 + .../mq/consumer/VideoMessageConsumer.java | 235 ++++++ .../mq/producer/VideoMessageProducer.java | 75 ++ .../content/service/CategoryService.java | 52 ++ .../video/content/service/DanmakuService.java | 42 + .../content/service/FavoriteService.java | 62 ++ .../video/content/service/TagService.java | 63 ++ .../video/content/service/VideoService.java | 158 ++++ .../content/service/VideoStatService.java | 41 + .../service/impl/CategoryServiceImpl.java | 192 +++++ .../service/impl/DanmakuServiceImpl.java | 122 +++ .../service/impl/FavoriteServiceImpl.java | 195 +++++ .../content/service/impl/TagServiceImpl.java | 174 +++++ .../service/impl/VideoServiceImpl.java | 729 ++++++++++++++++++ .../service/impl/VideoStatServiceImpl.java | 127 +++ .../content/task/VideoStatsSyncTask.java | 63 ++ .../video/content/utils/VideoProcessor.java | 116 +++ .../com/nuaa/video/content/vo/CategoryVO.java | 54 ++ .../com/nuaa/video/content/vo/DanmakuVO.java | 54 ++ .../com/nuaa/video/content/vo/FavoriteVO.java | 54 ++ .../java/com/nuaa/video/content/vo/TagVO.java | 23 + .../nuaa/video/content/vo/UploadResultVO.java | 53 ++ .../nuaa/video/content/vo/VideoInfoVO.java | 145 ++++ .../nuaa/video/content/vo/VideoListVO.java | 85 ++ .../src/main/resources/application-dev.yml | 42 + .../src/main/resources/application.yml | 130 +++- .../resources/mapper/ContentDanmakuMapper.xml | 16 + .../resources/mapper/ContentTagMapper.xml | 18 + .../mapper/ContentUserFavoriteMapper.xml | 11 + .../mapper/ContentVideoCoinMapper.xml | 15 + .../mapper/ContentVideoFavoriteMapper.xml | 15 + .../mapper/ContentVideoLikeMapper.xml | 15 + .../resources/mapper/ContentVideoMapper.xml | 109 +++ .../mapper/ContentVideoPlayRecordMapper.xml | 29 + .../mapper/ContentVideoReviewMapper.xml | 24 + .../mapper/ContentVideoStatDailyMapper.xml | 29 + .../mapper/ContentVideoTagMapper.xml | 13 + .../video/user/config/SecurityConfig.java | 1 + .../controller/UserProfileController.java | 53 ++ .../video/user/service/UserInfoService.java | 27 + .../service/impl/UserInfoServiceImpl.java | 119 +++ 90 files changed, 6284 insertions(+), 21 deletions(-) create mode 100644 video-content/src/main/java/com/nuaa/video/content/config/FFmpegConfig.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/config/MinioConfig.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/config/RocketConfig.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/config/SecurityConfig.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/CategoryController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/DanmakuController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/FavoriteController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/TagController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/VideoController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/controller/VideoStatController.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/DanmakuDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/FavoriteDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/PlayRecordDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/VideoQueryDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/VideoUpdateDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/dto/VideoUploadDTO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentCategory.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentDanmaku.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentTag.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentUserFavorite.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideo.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoCoin.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoFavorite.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoLike.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoPlayRecord.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoReview.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoStatDaily.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/entity/ContentVideoTag.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/enums/DanmakuPositionEnum.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/enums/VideoStatusEnum.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/feign/UserFeignClient.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/feign/UserFeignClientFallbackFactory.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/filter/JwtAuthenticationFilter.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentCategoryMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentDanmakuMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentTagMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentUserFavoriteMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoCoinMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoFavoriteMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoLikeMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoPlayRecordMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoReviewMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoStatDailyMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mapper/ContentVideoTagMapper.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mq/consumer/VideoMessageConsumer.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/mq/producer/VideoMessageProducer.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/CategoryService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/DanmakuService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/FavoriteService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/TagService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/VideoService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/VideoStatService.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/CategoryServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/DanmakuServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/FavoriteServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/TagServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/VideoServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/service/impl/VideoStatServiceImpl.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/task/VideoStatsSyncTask.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/utils/VideoProcessor.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/CategoryVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/DanmakuVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/FavoriteVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/TagVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/UploadResultVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/VideoInfoVO.java create mode 100644 video-content/src/main/java/com/nuaa/video/content/vo/VideoListVO.java create mode 100644 video-content/src/main/resources/application-dev.yml create mode 100644 video-content/src/main/resources/mapper/ContentDanmakuMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentTagMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentUserFavoriteMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoCoinMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoFavoriteMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoLikeMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoPlayRecordMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoReviewMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoStatDailyMapper.xml create mode 100644 video-content/src/main/resources/mapper/ContentVideoTagMapper.xml diff --git a/.idea/.cache/.Apifox_Helper/.toolWindow.db b/.idea/.cache/.Apifox_Helper/.toolWindow.db index 7d3a96629c8d7dbcfed62b5ff6284ecaa0d5a71b..1bfb44bd52fa71d6ef9768aa917d5ef0c8bf24a1 100644 GIT binary patch literal 237568 zcmeFa3v6UpnjY4Aj5L~=9z9yER;wj-k7jpgds}Lr$9;~}GuwO=n`~CGS*!lM8oN0b$*_~A5V8);J;7w{Jr0w-#m5o=3h8{@n4<#+L=E& z^~T@7`1=?B%^Tl;?dpX;c=c=Ne{%M{bANp1PtHEO-+KUYll(nwj$=1u$q9M9} zeQhc|b3HS2DRX^tVdhfz{YyXpmFFrorOPQ%(U&qaE165FMf}SyEL^&ko=aX&uU@)2 zv-CCNPWP^6Ua`JcyziCO_sWi5UFKhV=G^Qzo;X#iDt&kBb{RI&_sxSuuix*I>rNp{@S8 zwP(Ce<|7_A5TO( zWUX8aMERCMmW-}!ma(x%y!A}q4jD1vkUQjyfk!8@n$H}xnj zVeZaqj(F?ozSSHtAYM(QDS?xtmF67@5xp9zd(1q2&}xpLa361Wmg-C251)v%k^9>b zZ#L>$ry!v+wOTn3HKw*b{LYhoYdQS+A(yg+?o+iYbiS67w+He@9B!00+e$_6+tneR z5@Vre?8)Ox(=&x7ysqO|MTKMyZDof|J%iXa`7Ku{6`o6;l=;v;@`XYUtIjp zT0_jRFU-#;m!5qk`7ur2J9p+==kMFekLSMeeDrXEul>S*q)wmu0cFW%j}~S*u*FHifu)r=)c4D$WnZtFl&Y)NAFku3x>5*I*L! z@}re!&nEAEaQfc!r%%6e?@aRa>C@4jwI%!@aFp$7tyQR4;A_hf0hOADmhD9sey6#m z>u*N~vv+aJw>O2{5NrBfbL+hq(a615(KkBdx>MTw{3n0$hd=)HKm5_hzyIUk|KX4S z{O|tg*ZN8igfs&u zK4`s~Qy=z@G$40vb|&-orRewtkh-=mHblK4uHp)J%DQp2*l28Cy@6lLtvAxGtEv>hj<;HuH5D;2azhf@lC|>I>(Zp6=PE6N^Fq4_-Ta<%|ovW2pKczeOIFQ(#LFT_LG@0mon20m>BXk#$+LzgvCYLpsDGa%? zh}41f9VS98xt5kI0~$L1C?J?#%+J*pD}~KPu~xjI8+X7&A!4>z*xWXAF^G8!{D{$s zZ%@pF0dLi7>smG@Zd_l?-D)x6JLbq`tS9Z4oo({)d+DtY!FU!UOo6D}wp~01pw_ks zWt>{R3_o~lkF7Ds0W=@C(eQxX<-ynY_zxd+;SnDU?V7#;1{E==wZZU72OIHTKkDJL z&RXHKHtEk4mTy`=(_*c=JnVllT4P_L-kGpm~3(4Vpf2 zJt_kzCpzS|2*ZFA=>(DqmpNhRJPOckTe1!S&0aK(B-pKNuLRqN7C`M%W9RBr3w#YI zA6C>2$+pip+y+v604qCiLzfZPaik2jEjjUhV6WqjhFcLd7Daw*Kez>rd%0!^X2)%n zHb+F5c66Bam`|A`w#^(*6Ic0;@@&n0n}^INf$nf=%MuNS0BTx7vLFZyC_~j19`%Ti z;lh=UaC%txs4yESHzbNsVYv!SUXgvFl1 z+dc4l(yWWCe<1*xKe+HT0NPG&pKSqjvJKD{^b8qVmge9EZ4<3LO1KCEoa!8+@24((-MoU6+SK`5iX@H1IieF%8cb0W@&m zp|EzioUnjvJEYW>F6Q!h;d6^&@z_TLXY8oXvcWL0zmj=u#R^ydLZCBy@XAv#4qY%N zzsTrtpSR)JA>abSsnAehIJTvL_RJ{PZeSD|{wUyiO*a6~w_v*KMdE&|!{)%JBke#P zlfxXW6>BgJcF#V;?<_a!rBPNOGmZB!o!sJgKEw72VGh^hNQ)k~VIqb+HcAJI zbJwMoYx^)i2ZAeQVHZMI2m{*k3mdpyEBU2`PZJ@Vftnhq~Ge`-W!P zGt6y5xZDpd;xp;M$Pe?qu}BK)W5XWSYCp~()n^TEE${-uu=WS$^1!DffO*)|ZZ7%R z2U!v_3YE+aJ!yx&tKcO8I`~ou4x6YPX#}2W9ur&*9f!bm+@iNP_c2vqCV+dKaOJs5 zD`U>YlS#)81J@>yEgkOMQ-OiK%9G0XLIUG4v9#|Im}oo=caz0jW7Fs`V>BfXCp@N@ z$IKoLaT5oIIiR+sDIl6jjPHOe^b8>a?%2wA854o4ywJy=+>$i3$>R#HhEYJJ{lV32 zo4x`2fosp&Krv3YTwc9=hyli{fDijDtp_{5I#y!y-+lctW_~Aa04Av?UV7g6$-b`f z>p}s)UQ6TG`33xXbr!$QUB|Ci-o>x81ixOtj9)LCRQ?xCF8_g!c;WwkdE>?Z{?-5TwGYoNzWUC^-+1N87k=%`n-`oH{*!b6`^$gf!e4&r z!r8z5%EIga?fLA*zj5Kkm;ddX|LVoy^_QRjKi)WZ;m@A^cQ1VJ<^TEIm(KmxOTYKV zdvA!B{)h8_@6|7#`@3)4Kl?Lp{6DY%%Eh(UzW)0E_2LiC{LL5MfBpL}{?*s``LCXt zI#1qI7ykZ>*IxY(Ui)Wn{`J@X_@z%?`AZikUwrlaZ$JMJ-hA!V?bm*{?ibEh&-_m>f8({^c}c(WtylgC4;uf(6o@GhQy`{5 zOo5mJF$H1@#1x1r5K|zgKum$pKLvi~spJz9#;gD?UV>OkVN(`_LBL$cW>hmvD|Oop zg8Q1g)Rnd)Jr{O-ieLocDW#Z8nPzg+3?f7Y2(i>eSQcz!#9^N2%fMC$g7=j#Yi5uN zCA6ovWBwtcEX2Vv?6YxF$Zlbl!0Ac1&EB0X4Z5rkvo3vg~&R>)w~Rh)8BF@r2i zhEfs@w+^#y6FN!Z1QD1Ybwc>y%h4c#CoA0YtBA)Az4Ks)mM63n~ z@?jtbg^4%}B|;Z{SHj;M3chXzvCy$JL&&J-ffN*>N-!xiZRrrtp?qF4gCv1Z1h<19 z5Joyh0~SciVLA+`2ZNqfG=mVpVZoUKl32cH!BPk^)4&9Ia1UM>)yk7XDZ z%%A|_!5n@Gtc{JRGauX6(w_E}3lF8Q!&Ng#F@X(kAvGEy$Z)y&l1fTB?9mLd%%NH_ zgU01IK`@FepBKNnpIL3BiE+<@2tEcgy^0GSV9A$&0) zI%@_Ycf$6-woIxJ?nW%Bay7{1D&>QNWG1?jqz+@u;S|pC0NWU>Z80RtV8;bkpqI@c z&{qoI@;EpD)f_=h#6l3Ci30>j&~!8iybPMarx``%*@*sdu$?S!-0oPwB{K+7#ugDw zI9PSA5!VVP$EKjji9skI^KO|z%0Zx@i?7%ga0AhkA?^x8vjvtO zd)e6kkxhd5O%i&xzhDMQX@f7B5Fx?#MxZz`i{eT|r6U|NAUDk*?fL;o9NGxgbpt>F zCS`d(_6-r51pd4k2LsUDchZujRXU!nXtSa$wLyK!-`*5;zOaP!~ zfth`oFoQzh4iMQ1z9lZV!EeL{JW|G71mfccGtrz7#LkexglIQp4+My3$CeDS?ZCjy z7WT9mgwSLUTumVZfc1_E$>-Q#p>jY;V9b;m6v&XdM947kse{-n7hWL%jdrmT;6Hyd znv+zFLI~N!H}UrfBn8$ZuHT3%kX2ldZbzl(NNigLB0#FyK9U&_%Vh;{>41X2Xa>26 zHD#fJ1_tD14w4EG93_ZH5WSD*`>q)@Et+qoFFveYr+!=&!oPXxNbZuq?^Fhw0zeL!aN}%5jce{2MCAAQX%Aqj}Swk z4QJmrgKSPgM>v{*@)S}dgzw8{0^CZ$e*yKQE71@tf?(Jy*bklzAU?475Po1I5iYbn zGl+)}Q&MVVE_eu~HE|H&dIIkj*aF&zYX)JDaclylTZA5H286>7U<4u_vem(Nqd^w) zAfhD}1^FAenM7~_5M5gU7C{}`3jlbUWfWmZOmSAVC8q zz>}CgV8qv8VxV<22+l*t_Po#w1hy84$&nriS0DyLlG?-!vJqbg9f9Lw*l!3aQUo#G z$m#&+auisAs!r@2NrdVlNa=2p729< z#SHR&N`T88UQSF2ngg7k*#D4x60790UoeA&!b$?}prsJVekhnmM^qFt5ZgFdgVcfA;$as+aBAqgKVt?tmW#CyGy-%3sD;?OwgFh_3h0Zr9emRavK(wbJhy`A zv9PRwIQWObd(1YfwDXo31OevwE<%%BDHP+dJYL(ICJm(b$g!yam*^ zfcls?!fb4A*yoZNWLr?Z2tz0khvwjL#7?>z>LCI5A(2sBG=o4%=;KIV1{z{FK$n5~ zuegLxN3ne5O*2So=z73hh2)+vV1^4ZM{Ik@($MGX4Kv8W-S9Zf5+)eaOox)t#Wes~ zKvVL%8ANQTRVJboDxb+-G8sb9+YI@TR_XH#W)S2aBnQqSgiDT-00fmekGR;vK6ZKd zni&MqO(E~0Ujf^}$oK*gpfm-0V#U;XGe`ohZ2{RXq4s%D`!E|Q(?}Ck5GR7aY6cl) z7*hv6fZ7gR^Z*{DaN*$vgKlJ>GlP7{F@-N;Eg+bozQd^>;xBXhaS)XKiW%f+4|9Qb z1ii!Y9jvX*p#y-e5m@Co;;b3u3h22O)Lq}A0Uu!g zVISuo=V^h5w~$_m zRRsGuP=7uBycr~sHD^nKgAn4$Lduau0RaU?L^4E<`Oep)+aWy1ftbd*i-O${SAp~} zoE=?;A=GzIn?X=?%xTSm)Pm+=`$XVCge?e>ZWLhtH8TijOJK1LMF!}G;CKXASOiD~ zyaWY3^3~`{kb>C#J{|^oEhM7v0vc_paNvS8vcF;m8EJ|T3Ja-y630QKY-$9oL2-km z1zDamgT|$}ec22G(}kL03k6sX3GD!M#m>UBU=1k`o{i=-CUx-{GiY4m&6mueanavT zn?d7(51%rF#s$$l`SerIKSxa7`IB#?PrdnH;aB_WK$+O9`mr>ID z^x4y=e=Xms?Tt9U1O3*wdJBU^x#*_l&8Uht+bdf)=ccZg)NGjqv)R&O>3V6dv>m-y zn9c33^7&19BfW{(j=s-US%MVu>W-|I=L=JF&fN6%t*O%WwYh4#SRmyMxr6r-(Y4p` z8Ll^}7OvOU=BDP?170Z0a&9Lu-4&rjdX2p zy|$K|YRy;7<~9qgNP6EZRQ#PFpNQU@E6ug%nA+5p=vlX?s-(ZX_($FoAh~Nue)0Q@ z=0B}+>f@pShDkor+$`4+$%2}?@1ReQ7)Ac|a>Jdgly}p4ySQ4pTQ;OrH|A+!dAk%; z5{<$#9vStJ&C)DP%@e&cS;pg)3YGE}KHHkB7K*`*9Nyb>L3&$8OE^yoDe?-f%Zra(-Am;x~cVhY3*h$#?LAf`Y}ftUg@1!4-s6o@GhQy`{5 zOo5mJF$H1@#1x1r5K|zgKum#{0x<<14F%%-|3^dD_^L4lVhY3*h$#?LAf`Y}ftUg@ z1!4-s6o@GhQy`{5Oo5mJF$H1@#1x1r5K|zgKum#{0x<<*3d9tMDG*cO)1-jO|9|4e z`BV6R{1a0kra(-Am;x~cVhY3*h$#?LAf`Y}ftUg@1!4-s6o@HsAO-$I{>0B_lc&wk znWa2_&gS#x#Sh;&`(QDD=ImL{qwj0q=a!}AJHF@8cPuIFcLcZPJ5Ihg8S6-JvZXQOi<=tCHNoxwoeG15Y0w$LW<3XEQ2hH;nb=II8E+?F$!*S+wo9ulv8`rPwbg97v6@%rex<@}f~;mXH-mhlT3GhC zgNk%lD~a7gW|b_=mh(#+{<7MgTu3u@XDOSQT*}&+T)vpdXLc0L<+J6~WU%btPED)aVj_JzHdE{(U0g}5q?pY>i}eLkxK)^5 zrE<5>EKH|1f^0FhKXKdH zlQ~J%UAeM)SF!ZQ^32_2h9y?g>*@IU=r9o?tgg zb~{s5(*>%Q3i)zH+$e72nKStc#w60WbYgyebwk}rWy;yi^b$``7fb0%c{-gb)bd$B zE!VSmgIsDu?9MMQu{o|vTX%ESR3Tg4WU1Y>kn1TYTb?hacITa3X5P+k% z%4(%t4JxTp0kfBMa;t#3<@lO?b2qh>t0uPd>#0?hnB&Xqh2#?MDRztYP1eXQuN0>W zS*yN0UA9Cfxt-0XW^d9WS;`lf&Q0Ex%YH7Xs>|8CH`ByUEzgt}Q@e9_BuQJ8eX_DtDI_x`e`S?zZ712<&T=I+pJQp3 z$z8XyGwI#bN?K$#>_R4AUd_*z>EaB%oy^|dNM=$ZSMrw&yYqHxrI^p+;a7R05o8P7 zi}|}$5%3KuZY`CIt4q5ZyLu*gT#C}H#0v~SV>F=)2U=KGs%MLoRwcMG}Mg0S;!(}*c zdPB_=?&fxLx0b5~XPKv_vWfB{?v+TDQ!C4fNuJJcuI6%ubSjquAF5)ZoNE*|Qb}D= zQ#W_E?q(~AOd(&aFKr}%2Z`lOzR^%*etI!e$R#((-6Tup^2?1}k`~fIWz`Zy&8YI` zl(3(1_C0zcV{ zH|F#CmDJ7D^vw3sPDALK^ipo7JO%pB7ODxFuFOy6XP0(>S2r@WcuQqc3rRlT)a&UP zxxUI%l}0|9ukm07|JGBstR&bHNzG+<6SpMY7>f33cg>_(?yY9FOubrjk}p_)>_O>Iw>~4yG#o=Z!$Uy zK%H6Ob9Q03T+A>#v$UHl=U1@T){FDYB)uTkH@Lh}PGJp~GTFO38D1#oXQd@7b~VT> z-3g{A9jpy-zEDpka3~m8fw$91(xCage|v!?cd|UYBXebuBlD9B3{s7x8aX<-v^bNh z0cY12XB#E(Oex7zI}3cXwm4m!$*jw}LB-F@e7T{gCv8Pnw-?xEB0J;lE>9O%ax}%V zH&Qp2$laZEUfo*FfG@LKWVy1LF5Cd0ZWOc2)uo+ub!{h^ZQRZ0m+DE9TG5GOJ;EF%+g{l zLvnX-vQ#F$URYU7Y}^69P6q469kJm~vu_yW=N<8;Q-uY3$dP$=kp}7Za1Y zOr_jNu1t!2-X_a5eIvI)lL4K(gZ((Q44p|%&)1e%>JD_Ptz@M*Em^7p9JUsCqM6Op zJ962Byo>au$t?6B&|)E#O%;~28~$9C`t!?+sS#S`)O4-^JDv2%C8ruwbswwh?%3PIfLCCwn{-I(I_m>IddDS;wmdbL5uFc6R>Tg zi?UV7#_02kePwN z*Ay(bG4zbk*Fo#Pb;|Nwb7AWGZgOfewYoC5mR!HSlUlxhH?>>aPE7;DrzUS;?+?;< zp^(pQFJwXgl|p&o{-6mhL*FL1GOOEzb68@26FS<+J%c%yOP{gH$J2=^5K|zgKum#{0x<<*3d9tMDG*a2ra(-Am;x~cVhY3* zh$#?LAf`Y}ftUg@1!4-s6o@GhQy`{5Oo5mJF$Io90h9k9`~QzbvUqSzftUg@1!4-s z6o@GhQy`{5Oo5mJF$H1@#1x1r5K|zgKum#{0x<<*3d9tMDG*a2ra(-Am;x~cVhY3* z_{>qjLR`I5Qo454bo#q0Yt=@*Rxa!M z)$4dYwfFMvOO@y{(KpMrwOX_B_9fY@*LAg#t(UL08U+r2klESP*KRE?XWqWFDe9uq z(DiHUVnfs$;_8;J-zn?HRnvL!>J9u_ZoQG#x0`wk*RSiX&02L!UrXz)X1VcRu2xdt zF&AnSuSJu7Cu&c)RhJVLQL0X?i#uWhk2PT)Ya$xaZeY0g925PIb=7FiUEgBS)v=%&D;j;l^+@O`g>8t&Yxs+CJiD+t8i;rn zvjcpgv!2m-r6n#Mawk-NKrAbeG6*%-feyovDKoxVFGoWIDlJVd?NCsZaZk~Zy2K5+ z#XaHsW-ei=tZ(6IL6^k0C+4xLx9YWZEgKUzt}o_pwKl^$n`O}mYxPR|<%#T`w?33a zGRq4*M!67y!afKjMdwWtP%p4t>w~xU_7|piB(}qob=L)7ZZR0%?Xn);?cFAQpBe7M z=VmM6{SE`-okOx9zSLPWe5scUqsv9)K0!t_b06SD-1cY$`>;D7>yt|ghyrge#}fCrCl8VBCeytb z*w!jXd=jA}npXE{mBV0|6r1mLfO0V~%D{I%i({4fJWNzpeh=L$Ek*k=r}?n6T)Qfcet$8Bqe5 zWK-=?*M{;)n5!Mfi>}@ai^`(Plgjr(g0B)w`yL^_?`auAgLDmcbyzN%68E+3hEh5n zAe1^nQ_h*ET;fA(wVYlJ(spoRbfyh_XqU=|-pGlzeb0m12As5T>Bj^X+suRq9)XCX zK5Qc*HdAN8pz#CLdRC(gfTLJ0`r2n42iYff036IhRlFRjij_7FO38d2?wIWg<>-Jw zJJg{J2_&$OEyhnC2kUyRv;`860K!opjnWfGY0RooyP9ra8p`1?TDFk#vj~u(LmYEf zbToB1bSGDfP`O}s>G>8>V~*Ei_x56b_CTevMereb9JluEjeSgb^p&=R@8W3e0D6Nz6?6+LR>C@Xd7dCX|Aj|n_>SPV}*0v|_y zy06N32sZ3lvo46XIT4?I=JiMV$=d?Bxd`0+W`vt-ZQR6OWj1V0K64!xR!Q`V<+di4 z9R`k&)+4}8m_|yY&elWk9|bWN%tc4SWuL158MH~Nz{BZMyMCa(zy;&u)JPnr1zzKj zX^qq>`)!hbc~GP5vq_e!Lx?$U)!SS8n24!tCvcz-LUnUtS+%(b6N2l@fGTD)C8DeM zDwNXoxe@?V-`CJ984;n!oRC_f3u`7DGD#lcob6~F_HD=Fj>JivNM*GQmw1l|H!w%| z#{@AW{=(yqfXm^Jj*OKZ2E+|Ix_=ia`*<)~{m;0XN$x%UXI@H9oUWZdeeN62pFSNG z%RWV^_Jz+KpZT7UK|qOzLy0Y^?Ypq~=$84Q33tic6&U}^?~dZ#scK=fFq^xxu#(#? ztjzVd`i{QVy$rcG`Tm*Y?CE>Yo<4oyabsb zpgj)=xVJZj+z@Mep8O(^Qr6Mj`Jt)k>-? z2OT#fA13m&jU({A@BQ*i$q&u$xbWS*C&B|*I6nJ0=b{TcHU$frhFWHE>HFNJU80Rx zmA)s6MjrTldz@?fBx2UzlRs`PfUTB0x<<1DFr@Z&)_IJliWT(asK{ylOO-`w_5Qr zFk^UJYl6@O&!vuQ!5TtcrbFsL;w*wd7h_E>3NsRo2TBlLOlSrRXOCTnNz*wPdY!zj}31d;gjI*M3eG>o`eFG6F zzJ{|#!B?TAZE*;7*yTck17>JN=Cvr`V$XgD-QI?uI|yt9(J;<5j3V%ZGuLu_oNH;% z5huFA5dvgvTTu({WL(%$Hax=8Rd(nI75c>HwlVb`>onRS@x$+>w>|{pS&T5a#Vu~z zE{@9_I=Kbihf^Fm!ULmZ#%;8|<-q}QkN@yN|G~8LNF5gJ8_+(Uwl)|(>5G`@Wkh^7 zd>oB2P6CfcTWvuIWETP)*G3{~IgEzl)HhJGqZl6I=;dhhwm)fA|6W60S zi&~+E6Hz=?DM$%G3FN_g0y!g15-3oC4HDseDq4&mjkY_AJ=z~I`sIZ(UQ*tt5@ z!V3e+hYWujc9ML?;Wm&6xnrIkxS@-H566KuU)vH60w37xxTE1#1dT-#Ub7F}g2ugA zI|Q@iwo02LjtR3K^C{vgZJRlsMhuJZD9_d$Q92>>Nno79{V>kJB$@hiXzRx-a z!0doG`J`F5XO+A5!p|W<^9L8620+`bsBZvtvJKF%8^8~3SsLbN$bF)fM+p}pA{jl0 zDETO~TA`Fd&%U_tHpm(+toMURn;nSzKIt|7+`%&7aKy0hXQh z?Bwd0X}pK&BH;TCVLYrUSthf-M<`u7F^CHylQ3oX`D`;42|~lG=9=iVAlm3?9r;lCmK! z+P9RgT`yGBb{vWTe`O;n25|<6Q4+p3(Ax<%g6o4bNC}%G)?HJdS_pinwujkhBv2VU z$m505UB1Pm?~ByYw&@$t)}@CcGY?|dVU}(&FfQET;I6*h%flGZ7md`}&=1eX=9vcg z7*p6sZcY?HcrxpL_C^D7P zBaOf_&0~VAq2my^j$8Eh=02v0f(hUrCtM+J5+Rl_XX42uvVsEFCXg-B)q7RoqXxPo zsYf%#kX4F38sa7n40AwjBt-(EqwvfQxI)iB4kC9Dd4~u*fygf}^zkRRBn@ryxPq%; z6oWH+3Clp3KACK`P2Yh1z!igrfwGqmqt*W07=TIYiI<*#{`u|Gr_Y`?Kaq!y5Hd>f znbu-)Q|E8hu87>$bZsrQyV@USRIk+<<_gcA`u9(r|Nmb7D=+=Y=_j8pJo6>I{4D%@ zvi1fXgf-+k`RDJ?CGS7m770ottRHS11?NNuOt7~}Rto694Kf%sEx;>@sR z;BwTVKu)?1SDytv8^Nk3F12<2J>Ma`b42?{IVRi!Omi6QkvC7Rz=ucLR>MZ^qe=|O zBIe*8TKcwyFn$=q5#a9{pP+*bGm~78O0+|JkTuYnaIUpwxK8Gke-z21&w1Q7n z9UtBg(cXINL(8EEO2qjCng5p7NP~bio~TeTlr&JxIjRG3_(pvT1qlJYtux5*Cq5o6 zK>D^)->9QYk`BEq1&%AD(6ZWFve)OOJoge+3 zfA7bC{&#=$>woJ?u>y43^7S)Q_Xin|TG1}p%8R0^4vz-um-QYnY5G(-}Mm~|Iv*aEL;OOIx zYCZ0RD3>Qbh-fu8BJ^cHBh=`)mq_Dk-}S`A+R)=3U#bmV>M~M!VdZBQYOXNYRve2; z>U&5ZAU@}_h*@pz(xXshXph(cUF!DGk zl7V6ZOi0Ksls7R&WL(FyTt6ywFd*nGCQ#^rA-+|iDgw1UF1g1%q+tZUEtCmN>G$3q zHAn{0I>3GuI0#^^!IMe(ju>&$=wHqr4?&__6OEzQL#4bvhxiTeA_`ymu%e?53-olP zl!%bo8ugwuR&^A9&ky5wvUnxmtTe?+qgh!&+)cBgwJ0tg0ng3q48i!gy#VPf>~Auj!?o>zwO;HM4aJ!}qI9E{^; zFZB&N9DEP)cNY#K{_j~{$d`1hdfy<+W6+75ZuVJ#M+EQm!R&biB!zRK;UOya+4y6xaMH+g*J}rDpSJh!qeF)GG7oB73Mzk+)@}Q3$ zIccPRe{qTS!RX+UNS#6EzwJQvA#$9gmQH|F0TT$vAs*pCcIgMu5{1oR7eNu5Q7Dgq z^;;Xda(!(-tvpJb?mUTVorZ=GeBAzNv&%6Rab%TJrVw}J2+wmY%X32J1V}rzeW<>{ zup*A^LW`mz1^f+&-G?rX0*utRP^bbqY?f_cwhzHM0vkLONP*uNfv2_%C5m(q=;8ss zk3%TNcNB3R_(hak%23wp+$t_IM(A4=aNP2O@Xh=WWn7+YImb z1g-C5iZ~um=TW3qqbOHOF7XRc7SPWKvH&kdi z(CPRxbKpXkQ6~WPF9Jo7-;5k62pJ!L3al-XxM6`AEipU$Hs7pivDO?6nd+06qgQE2 zfR5W^ZIp@xD3SqDZP-E)SfqD(1gS2l?&WYe&pn0uG{$A$y8fQa1|bW`tblnblsNJr zCd#4k5>i(oeI3!f!`18%bqa?IO05J)cY@2_vmj`Zv4B4jryV5=bl^0a(h<_VD5558 zR2oKjEnzrV`KVkQQg}jO`BK9E)CK6kmS`V<#^LBu?N|eM>02TQq#kBB5@V#NfAmi3 z8@{hB?Xvj^b3Ja~*$7>^dZMWc1C(p6&oQOyz_kWsDz%LN|4UE)=Bd{%zr6bOKl|ms zjX&d`m;ygN3jD^;yz&YZ5#u(SiF6X))=7M1l_{uo1d*yhXSn1ojYE;gG~xo0NRvEV z74ReKB=9L`QA{IZqpgFq5>s+x;sf*h$lkIpR1Iq+-FJ@JgdqwFjizr5Iw$6P8^D#5 z(@zjk;d=q1pOG&G4^)8AL)dYh5P2d>i_tleUB6qWNyDDLGCsunj`4|3^ex|zt}<@# zK_={(Ymct0n0Rd@urq&&~8xHNhz4BqpSCtYjNr}ofJ@v9A}>ZZVHsr zMYTQ$jYVK7pvFYl5mAw@g5pZPhv*Ba9R$@CkaUW&oYF^y1;JEEdJB?69|=&oh%3ip z47JFi@_QVWcsbM;s72<|pXyRZsF@`Eo*i4P=?*l!4Z`p zFP;XdD;^?z45geQ;T;Na3|-hB5q&rMh$@!rT4e7uOUi>g8FeA zsLd?LJeHb}K2Gsa0*6b)#32|0UI>oLpQd89I~;qCrV+^Cfg2APjM#BRhC8Tog8U~` zp-0V!p~Rje981vzLz+wZIG=h#p$8ILX_(krSbCA!bL=)f9U>n!)np`meA-aI$H{%r z4fNa#Kkx3Hz9IV_L{FNfao3J;?}Ga0_58^mT1HR z5fEZKCOZP{22dl?5rOYM8XVs$in<;PIgZ>fFI}wNAB6$$G zi%>y5lul<+l@n)l-a?eHx$NA&($?Y!qvl3f8wZwT2-U}Jr-wszbX!AF5dp0oap(?| zQw2$&&G0SOoF%+T}wE{1H$cvEzugb~wWC z;iW?fW)cw3rXH-0$gYp-Ts?jYe3!5LFnbu*2li3l=zS5sdww4%LjIgirrS!q#Z8_m+n z`u0FexPcOZEfs5cA%fZTzQf^1^&vSp(IUf*qjEk@wOVQ%h2Y0> z5Z(c}kK#2RKUg2&>OQm{#`fX;)c1upypJy?cv$yv&uV}E6?O6;^Ahk}Kv91;!t(qi3sTIi)b=^(7ZpE_YK=uK|jC*a}4J0S@+L9 zuKSVy|EciQYwx}M+h70Z&vE=2|HKrCDR80`crgDWl&96?+S%DidFmt~P?V@u9PRs< zfPkU4Mgop06@!ws#w_#@Wt#^Oz3(tAYo+Q~#mNjh;0S#57|TO>EQf0*eGZJA3SlTH zVTsaffu%jgkX#EVJX9u}*7!cfStgs}W?AR0p)SB9jGO&SF{Cz)+eDC851}?W%BX=1 zHTL05MXCVGz(Zq#NfD(p5J_OXL<1?o=xA;slK{0J(CyPg(w)hWMaTg1^-$i|c_f?$swQQb5 zAj0R=XXQQcUI3V1gJrV?=Gpd17-mf$P7XqSK~UfU-3A@>1xL&Qw>|XL^pcMxK&@FV zqt3usI5&e1fb+-MqUoYF2vS89`nCCJB!Ut=3LeJ5q|XZO%Kdy)rjRHsntH0KOSC$s z>B*fa$gF=6hJk#{28y8e*w#$fMSDUtA?7an>S1>xH^!8|Ly=LcQB7+&BK{FtGu^%1MjP+1)_>A^qN9(o)DRj==bM6M9-;%^zf4a?s0nf7gy^> z9UH_0!_|VW=Mv@Y;T*9M;fl9HRP7JkckZ9vVglt_gQUwE3e7-feX^ z8;8!rfdGf;NoY!NL|4v6O%K25p#ZR_8ig87aO@BrR?VXMKoe9_b5LkUj_k8C)9f@R z>?GeUPoP-9WPLE$tG7Yn9b*?60&GO89=LxZNIf=SOPHcj0$K&=A%OyaFxw;c)(((X zff!y98j$R_Xa^xjRvtiJD3lvOVN6*2gV2RE3!$9Lhp}h}=nB9C7qvAsa+I`EQbMQk z6&l-U2ibX;%i{;wJ&fFk#zR_l-=`fT_90sp9-pIe*Ds8M9p(Q&^Tgjg_1a%LKXWF1 z`Y%5F6TFCjKEo9F4fZu8$iHi(ZgeL4!E#&b2Ao-vz~7)z76pQqn3Orxazx24RL}Ju zqONo#`MOrMK4&s=W228vc6qOC9jw|@9{Aj_>$UxgNO#>!gPE@fgz`kwSZeC}&O?dk z;rv+B-@Q@17Rjo2PBOa<^ctv?b%>5=1B-DPg?msP2R%ipkEmc+(tYlt;}>Eu8QKtd zBg6K(?Rq-0`VhU)qUWD5>o_E^$89}8=0mukEy!CR-Pj==Lzg4A6uUXlB191g#9BMU zao7~;ln#`Z0B21^)A^Q#&}n=F)vcktDC1t}Aox-9<6US%=ml>g-_hF#>BZc!Op_#z z-WQs>pL)Zdf!*-aiQMbOfIgW#B(bCI(>J6owt)oECK+M;`t-n{XJ2$pXTx|9P4oon z=Z##uN0KkkAN;~saa4=?tF;Vio&IV{2qbhMofugJA^H(p=)Hx)V2~aXxfLEsJ`$&O zXT!`@!`eYYW27Z*KcUf1zB-hVbVQtyIfC&LhM1rjRV|tw4p4~(vf`_YYVz$j^9J(p`qM=GHq3E`b$Q!hJL`?$}X+}3P2R&NC(J40h zxyqHi+dRC_dRRXnvvb-^a!k0!Hbl}FoN#DBW_n`)v<2#QB6kvHt}1RUu(3Oxc4F51J?E&crP#j4R17U{$YEP}P!k{nIi1ZZnokrCTR z85vyq@iVCPurQwg0JQG=v|~^k@=KpMFZZl>7sMlW#wX_Bh^ z9?l&5+l`C|)b@cGBl=+TIiUBi0=>~r1~rw>wb7eMfgT*F${t!$a*Ysw7wKgv1gi<+ zR>ULHw3`vGMpN#E=t1jDYgq4yQ6OHcuU*~Rte2{5p<(CkT7Bc{whpdVn&n0b8d>9N zvh!C0-P#VDC_Ai-x1>QjYDDpw*T=Dxh!ca)f}#Pb4jnXdBghYw2!2OWtUJ;GGrhQM zm72?5ZE+v(_J}lq)*20A`?!78W}#zZyVji8$X!QB6)`xC7>ke+hI%RtrPZ7f0Z1WQ z$cMmvhIk>L!a@T#i?raFM)@_IPkMMgni7&Fbchav7Md2A?vTEPj;;bB9Pk|aXz76Q z9aY>y&VfQ$9@KU8sE4#b!9xTRSc+&w@N#1Zdi=1xhr#ju2Vna|Yh>S`eIfo4aXM~3 ztgR0)JH~v@AfJ4c`f|53!HavH2~eifLhC(5Us$Lq4tF8+bl0|s>E8;!Vb~|qPP{Y0 zkN=||{N%6w-9vXK5NpLNx^buZ2>NGc#9G&R5Lqb4^(FXZ?b%n7AD4`e14V$po4o%- zTZl4_Vy6tf2m$~F3d1s(1<;}ZZVyzEq5L6=0QXIDq=y3|_Nf5e5Ni|BVjhrTaiG;| zbiXy+@Wkr%_B~#-1`zfG+Rq`J4}F)p3>&zQ{?6Q|2=MSES~&`vBgcRv_z49d+)>Aw zVb?=@=M831^je}u5O_!qj@ue-T#1B^kKS<7Cpa9SlNnOmP<6PZ&X}GlGN4cyO;9)%P*B4OOeUyr zY1DainTbm1$U%gap(8NCXZ-W%oO(as zmd>VyHFD=P8m7Sd!%&{eMz2l8RS6d{R`x?k=T4c9t{yQcqO+*H-x;-!nC=u9iJXu_ zXWc;oeM~=6gaw_6oS69TT(JB6$Cu&5*Sd@(7A=|UGh(?MQaq42XZgx9Wmf~#iXSD& zXRmZzN}Zznol-#g4YXn(UwFT7IflgfxV_ZI*+`rVBsQY_CX#P8v_d~X9YG(Njp%i4 zDa1jKXb*(4X$nCyVSpmxa5h;=AkhZVfQ|!C51I!?SMN1hx*ke&D%5O7YCFSUkiaOT zZ_@kW4MOx_k6ehRgh)ckQP(--&=OD>)PqPzO>*>`ME(wnb7Fi)oTD>pfYSN|y=gsP zpxW`+Tx%bB-QizqnPt(Pp&`u_4_~h8-H}@lWTsi z*wlBMS02I1bqb!ZwOV~=U_HhjU#s6ZoBVhiSxYVX_^ zb@*DBT^1n!90pEP>kXw#;DaIv9m9DrFkuyAl9Sq-Z!pGvAUUazwnL(B+_nJw??ulA zh+MbeE_7i^MFo~nKuFj&5-|h8J=Ax`*e-%bk_br`aL9#-<#%Byg%K9L>``YIk#HgE zHhRP1?ngbj9-)AX3?Se*O1mS+A3b%DHDwc!9nB>vgiF+w?^6|Z!`q=P>c#=!QAOSG zjrtY}Xx`7F2JuI>#OvEheWTifuC?>oC?I5W4>3QF3~*a144sJ|47k0Y znnk>Z1Q`>7)(VB(&nTy>jZ$OhssTm(xp$|}KpJUhE{_PWVc>#a4c;~QfzY=Ud6x`| zwL}$aG*Ur8!Kky!^kOGBX&=1q%}J7NK{$-lV|G)-bnUdHqvN#YAYQ?=01&1rJ)DOm za3rc*NhJtQ9>%IS5cGx!Z-RC*O5q@)kfdd!jW;qtHKLt;B;NJ#c_avqfYToQX%>-i zP$OnqqaTmwm~2w8Q0O4!$aDvPTyeUevq6Z1ak_6n8=|q<@OFp6_t)efj>U0{FBr`8 z2jU`N{x(7@S}^}y8|G~U6LG{(!Rt(w?;u7F-ZmqYTlrMmai z7RDp0CIP$}<=sn{3g$8DyFb&rkmFdGSIym&g-4Wux>OvevRK`yw39dFq1gbwzP3gt~* zM${X10`%x{O^Y?t?_E-cx{3(g`}9MbhxfrxO&jlF>^=ksSnq|$cXm+UfDXhTHfS!! z_z(MxN$ivIn{fTtjO)K;JbAVa@~BF0`$z-R$c{!|b_=EK0%r2Aa1Ms8^&#TthWA~c z@dVz*&In`N?}hSVpg)XnVL09`avF4Qa$-({&IP-;8u1ezV8EET-x))8gC2*kbva;8 zAW=9Ch{oXLL3o($QP0y7ZSGO|a%7vvuJ^xVwL65PKz1xs<nnTISNeP4|226#Q;&xXaIvSXPkfniV^~z4vi1uan;HP zc(f0aM`8Bi^AK^VVKsV)Uoq-Ly#B*%_Gm39)cF6OJ@rSYUVG-{cV7DA7ys(l($D-F zUVa{a9wZ3d&^9{7pMC%QeIL!n_9O-2j*SppFEDXPH1xO^8aJIlCII{zN3{Bcy0lik z8u_8jUsL50gm#~VC{;~_{gz%pk=?0U(|p=J6<%xg7T>Jb40A$zz~|V0rW|jx)h&MF zgXqlHzFbe78@frTG!tTFr)Bbqj05%3hAh^C_sQfLo^_z zhNA(Q98qW8g%#aM1Xzb4h%7W;f_aSI!-M-gnI+Y%9e&mwvaN4G6;@1lzD#SM(kS{ zNRA=a#(*ww8_{yu{nYoxeUAxU7H(%jj^lA$wzJHbO*%@Mc<=0~O9tz4cUpU4|+i%ME9vzkw)N-?I0rL)uZdxc4!=V-- z)5e2zLIZd+m&XmuyWEY39}DKAcU0duV>H*bPHHCoB!3kKoMoW-85CLflOJ!i(VS9K zZNW#mUME1SBg$Nbj?{=>M;M;zl6vB3jzghQRd2O4?_TYCKqud92IZ36)5m*9Mtb;Q zXlO?!M1L$hz09F}B4iKIUC7>pF+ zVKeAC5r(D%BU}m5)q6udj~f5t3gmSO4ISLq$aZ9$Bg+>+4;g5M4(ZKc6aiX_NaQSW zAI&6z!;Xap%CMq&K1alnsU-QhfN?)__QC0pRz0wR`UbbL7n`oLkcWRdim zN!79Vx-72iiU3+gL*lFl@M7=I{zOyOhhFH^mv%0zuRl4?Pl%6%#*8rWa(UBH` z+MzEfa*W}zg1brwAIZ1RCO>-i^u6a#pMK-s8+*h-iwFv50UCu7oET9G8x~j;j$_Ed zM-r9&h*L2C^mp(7)8F~cpZw8p|LI@pp6#eWo|SNUl}63v4fBqg1P!2iqqDWD6fnln^o19(rQ= znn|(wUdQIvhLwj<0J_gV5k1_9r8>MO(7o6wVqUf>`raUc0+CcGbBqdb8kQt#qmUSK zArU<>iov@oL1(irI~y>>-Ck^O+JmZ!?Y{=Yiouv|)kf~fyoHn%Sjk}gA?OKVA&mk; zA8}N^4XZCKW5#CHy8fQU%@y27Q7;sUff_2bk9Y$DbqJLWpqx^7xFPgW6$9>T1TaYH z7!x!_T~;`6n5R&|i3l`@>s1VpQ(~hk2!Ra{ZY3PcfOBXb83N?+G~Q3A%Gii)_tuBw z5cN=|w}ba&-%>$l?#JUs!j24*-G7VqedQrkhf(~FYoCY@Xg`)Wb3e2~F^0l}7P#$S z0I;tn?@gRpih#Y-pw{=%#RAGHyqGw$xdD8c0jgIil!ixgllv(E`>nFr$<%dK^`6SQ ze)njpH!)_SVFn!+&?B>JJulz3C8N&=TP7pE!6g39NVHBC}eZK@_N9Y!T z4sDP{gFIuhuhNnFBD(vC!73GLY5)f@NmXi+$xK{H&D5mERj$GhQyJGh|kbJjInf<@5XP`}ytDd!N&%C1hH5*;1d~`|SO@to2)Keb@IpTuT3W~72xmFtU2z9sR!+?HxklBOP65R<3jFB<)q?t!@%N4j$7 zGjO}u`L@m9_>F#M9n9m5@`oS|CF;+zE_`)Oa9Ur{6@x)i;ogvhM3iE$~hik@; z;#P%izmZ*ZHdfJhEiLc8C?m3yq+9{*1wyqoUOv%h%Af;1gKE!84VQYYL7bS{He_ce z0gx?XqBetma(U&utE0deF6V}PJYSu6#kY^YV!OK*PQF8CwB57-C$Oe_tV1Yy9Z(Xw zpMau{G{{?%Sd`+L;UMgzPGZw(N#B9+ap*DAT#V_`Gza@E+(WUcfPu&GCP5Vmvy5RSGs||)aar8~+g;zl4DMvRUG3qZ-}2|C)Z}UGTW_C zyLk@$ei&>0*4KQDwN58xW~|TV#@a?rIRt9w7?Dl&n!L3elR>vU`iUu2>-%M__h_oe z#0L5{!B@xdyVy_zA3!+(=&z0Zmm6R?pyTI+=y{Ig`T7Jyou9PxlXq*UWKT2QwPe^e z;vh4tnf3)YG`3LJQWP@jiJ?*giAe;m8ZuqcPIKGLG~XLw?CI4ELm#a#P{BAYd248ar=+h)z)oTUo2#X0?IyL+TBQt4O~oRf#3Lin`mw40q?4i8uw^{ zpR_&QX#pTPZ;#@Y)0fY!=TDk}O4KKv1Sshms-26@;lZVaoqIsj_~q+F$Q~1*qGFN? zf*6zrVX>ro0xh3!qR89zIwA-2&HRy`X?wR*YqtK{%BfMjwtDsAiZ^=A@JI2PS4Q#p zVR_PfEsC$`8ugvj1}gL=v3edmRlS^rjFoO752{hmVC_V@uR}MSz}4vn`d(<=+Ftc! zvB;*KI{Au=a;UrJW9PcXi++9K5-)n8e9s-C_Ws?{G&cf@wcu>ALokj#FwCR{43r9SmLkvwU7o*ic5vmEhYT1pA z<-7ZfOUT;p!?1F3HCTy9jnd#0L$D~nqH8YS`GJu^zaAFQulvfO=;{%g;~HoV#ixJx zlTUv1^G|;K2Ood%r@*-`t$+N{pYelFfBLg;7J#i*%W!5?3ljz!};b zL(_If*Be7w+^z8@ldyF185b{*`jF3*bur2maMzl-bx|jCe@e9HT$1fMzgzTKA~p$BcrQ>nxdG^8JkwR08U&SI7EVNW=-w4EEs>MY|@!HBT5b^>{w#;;9`1cI3mdw zoV%W$fC#72QU?ha=n!$iC?;gIixX+WkyOSn``D+G(9<6n09@((j}w4v$d>_72Tl;g zAqX;_Wv2XnzPpxo%`O%fNh8tP-+L!|E*smN_ixDnHT!rcuB*l`=Xs&FkfYJqQDq0z zM1F?#~!DK{nm|DpeW=+P%0dilX$F8KFY{Nq>Z&xgy$ zzdCr|9qhQG@Qfhaa-QqrNN?zAM6DS{naBy~hNB2Ak|t3|&s<;DFcH0v*GC7*))pZ5 z6B8@X`2{DF?O?dtQk_`KZm<-~3zlwd2b-WE+o}{4MQc1_GiJVaTk6H)pIo8NUq<1r znJurOjNKmU)XKe%(rQLOzDWn9Ve5Jn6AMA0f}SejF3CqxPo_LU=^g4x7$ac` zP7UhQsbr4K?q5QmDKU`7LYYbjvz8jD*;AJepw6Qd9U7jhW&=RY7UWx;s5K<_JAXL0nPKUj)9 z!z+}MS#!M*)FPM8f`kuTAm?4F#Eq2n#G0^)1sSSZLxdD=`234V{E7!`>$;Tt2yUJxh|UR^Tj*gJMAVdet?SCGPyi+NksAI&FR2rTD^5 z`(3zAak25?7ymv1(G7u?)}==|oO=`&y5P!yOI&cc0`BlboyM4y<|X8!{JsHEuP15* zM%7xGfMhC`iD1yGyBo1Ep53bpnYaj42zA>E5bkUH^0QeKJJ0FoMaS^+<3wk@M*1jp z6H%n0x=qXCM`no9jnUd7Q^BVT-;jfvPDt4F)$7l1Zfx4->hNs1KC)g? z;nQ*;>eHsUh_2Pf7Tkl2paBNr7t;k-gz5<|ZnCnGbdDi~vD22=2qT!V*eQwA-pc4e zO^htG!xkVPY)OT*!XixTBG^1Atx(>=1qHAc_@J^hFiy}BTOr+myy@rMMTl+Ru=r*9 zrM`q3SIo~ROx*u`UoquXeAH$FxKJ!rE}Fj;5HCGu2Kb(_j?-R-pzZ|pThDxl3i<^q z=uZhB@ZMVP16+9fC{ZHXXBYzBFZ&H#4rFwk8???0W`{fFUUNcJu|@k!ens8F=Tryz zGN^wdZU2mw^S0rOw>M<=E`NxV-&yVj$m{| ztC(ORY)g&_@YB^~?f9i6H~8a0fEeklBAU;IV$i#mPQFW|^_>394~__6YJ>qdA1fjW}b z8okW{{8m0Nq}020?pdOv7X~|D5&Sld4owzv;P}@V;Hqps)+n9rW z0|G~vlj!Q%t<&;llCeHgxvO%BioCD}R8gGeUIV3el-Y9|8>>mM{#kGFpy!b|7PyHG zSG^I#YDN<~jp{(LK(BhOx+|xX;L4@tAib6ZuWcS%dFk3{#oQWAKnIVvcZ^Sm;xD@v z6t<%bfM#g!fC|7x8PaEE3oQv6@=b#b8Jd^@c`ubWXj*_U#|!AMT+S45)It>vw;`Oh zXub%?9HgSZw8)X^xLi7;5L+Y`O;FsXP9?}Wkzz~}_8^zu#sDbWN!2k_p1tk>KzM9p z3s<3f%n5tDaq;{@A+f``b#X4L9A&Y|`EU-APWueZ>MFVX0dr2yI)&wQ4}s431C8gpvd@#v3CXThTKc@hBiY=qh`l$#Sl-PxB9?yX^R-df*H^SAD1v+1eNi(=Wk z)>giYWY{siWrzGJ2~!$PQG|o1%|$N=%MSB2s~2rV(aF(_g!Zv*j~Wc;p_ry9$OTB8 zQTnh#bjE!6L*cy^&+<96?BuiSdz?X-Y}wW2)VO@IZSP&|&+}W{R<-M8HY;n><(j+7 zyl3_QFZ}Y*quN7n96qw}NB8_U{&Dc zI%+~|q9#g&HUnrp>&=XOYY|CI){rKY$hoOFXIapa6&uEqb+qGQVVvMI# zaqC@+E4QA~t8yQECAkaW#AV-v@Q-d0mFKWyZ(GZTk zwv+g@#jj6TO^u6td-Yx!P;OmJbQQ7Ho|7HVC3A4>%J^gxF>Bza+^!zE8Mpk?*!X9J zjd!JuKcCxpN=@@P}Y}Xo%hm()-s%BHXQSC6eceq?lpoL^QZGJ;>f5G)2Wm(}eJo zEhmS@Wh3)4{(p%a?bkWie>Iv zB73vU$Wta9eqj>TJdrT7(onO&PFpwx7fUVg-r&5#Nx>wI8Fo_2MsUj5Hi@?c*gdN@ z6kYShd`rtb1&n}(omflJFxC*UAms5)s9eZK(}$Kq<}$OK!rgw#uJ6@`tyK)NxUz9Y zZjIZ(1iNn9+ALN_=sBVT6yvmyCui-Q*G|^Z0Y^%7Ko9G!{Ez*01d4-R zfj^x)I-nh}(FqUu)(JeD5PLg(Tt+1YPZ$s@52K*dj$qrgzM-Crpa8vzj)#zd?G5$| zI45G#b*POC^xP!fw;Z;$G?Eu*LY|7Nn++nMgeG~)c^-+T_G#k5$6z(HVWVja@q<{v zW-OFd2`iy16oik4;p;K5kd8!C^u}m-eRQl`qwTt#WumEV3Kaj>wU97XB`jci7+oX? z9-)R7)p#gqbUUTv-X^mJ=YZLO!yy>IN*8t zf+EXAEQsI%66iGBSO}$(pCuCo@rCV2bmiRU$fSLt-3b_7>yBpJS|XFS71g+MKf;q@ zcgwYMSHYgGTZ88?-vzph!a;%VqGbzEKGkGe(ZJnE;b!ELVhRd*9dug-3q zMqsiQY+lWm-pd&Ax_QX$JU$zW8Sh$9`R0)^ z!}MkxieDt8&}R-^5h@6ap6aHC;tl$6v430XA4A|=K4N^}FDT7KXuw1e^pNnO}%s|NpfwJ}>J3ryls{ z_pb5RgFgo&FvAFZ__cHJEG!V%9eG^@cJF^9Pg#1L00I|aAoB5W!X?P3K(L$Ac7l36 zvE3d5J0&a7I2jalLFbT>o)pv-nY3sFDxsxSt}M}lOE=^XTh0k|@-#RXCS*pczPMhQ z?EUMOQie$;Pi6}Nm3tkv{4gdIGQll_5H}N!572d{F4cODgU$r*|CQl7ig6puMVdm0 z%no(<$J#?cHTSv8j45Y{t|eGMOH2;NZ!?}y zSuA&~Sf$v4#sQ%`P4qAajbAKI7A^Fp^DzpwrEu5hRoxH2@d7U5ZwVI>NEdOmK%GUl zA@C=3J)jamc>y4~Yr8ZnLIUrF+P=GpSA^hHKOZ5Jya!Gq2y(v4wuoKX_eUMnHZ^!* zA%k&HQ8TsBM;8JaI%?{=ks59BrOG!~O3_W{B-*D;@e%~QyRJg^VwpIc-b?r){W=bf zu4aI9q1El0;pnt za5DTODQ)?NV7H=GLbqWaB|W}>k;GOKY(|#_B5+JtT2_jSLqm2|Jpn1EU7^=04hA{e zL7`4+p;uCpieqgDpLuMA4^KI;EzP9Y#lo#)XS5K0Fa*P47qG21^M7(Vcxin((KZTP z#CS@vEDJR!K(Xsx%VuwOJ#;k32xCf@nDm%NO#s4ZeuB9sFbWejlbDe1gL}>p`l1=l zClGri#vmPc>?p8!oW|*Y3K1|cyXe@U%^T5-8bbMuRE^2QpzlqiX(C{ApG&)5+rJI7 ztQhp{!p1eZ>1MI_FNQF4D3GQCG1<5&tk7{z=b32 z_4@@MnhO#NsE-eWh#MkPV5Lq7^z!KU* z3|pYlY)VT+tqz<4qFi5WdHG1hL8wZ{38-e28BGdLiHLQf#Lz`3Q1ANp#8v?U189ym z4LgP~$MI3yK#m=ffY9OApG#|A-`$KsOI5!(5M)cJam_9#@qO9mwfV11e!kQB>@I66 zq5l65sQBzT>*HWM z5oh!Ky2%E={z+!(XR7$`#+Q^o!@iQADdRC$>rN&cV?@a&_C*dZ2{aSVFg=b0IRN$O zwxjx~Q4ns^A_x-T!W+xMS&_;q`Z4UF;Tqr1EwiNGgdr%~J0G?ygIJMm^A888kG7x^y6*jFU^!h{e z57jYT)MgyJCf}2OZgViBYh(MFF`jJV8y^<7ebzdEzl~j+^U9*%rBLUr|Nqy1=g=en zCyR&#E1t^0BwzcRiNy(od_z!fCRQK+W)fq zm$V#ioRYGzTxhm*#3otxu4B^CfXEI^@s{ZSYocQUG(vRnDjc$*AmgA-r#sT~x(T#K z@RQZfU-HaNL#z{$bpfgjl?S5fCY;-0Ol6tsW}MWuMrasJ5$z2j5uxVHU0vX|enNsA zxh=5j-1;_VRN9wCmZ-f+#Y8hR2|dvlXy$gykC+lIQu6klrXP&87!ZZq9L>E$@qDtqO*(#TUOGDz2j88L;<7Z0PUFBqc-*9C0JB4X zqEHV^7;IxN9g516PDpX(*VPkQc}-(0d)N9W`;_9!pJ889T*`Rt!TT!rI%>EMdG`np zq=QX%XjcTE9EGA{Yl7fxr7~_wab?T)(z8wF>@vlb&xqn~?T%%H-6-9yX+qCq0Gu)% z*Q0C!{Xc+LB*OR&S3VA zbLEK|_B>}n%P*>%><(kjd8*NP(C;v%1W%$^l7IO;s?EyF&ed2W%?abYsIMk5NcIF~ zC(l7`Izo_7oZWYilFE8SyRj~#q^-<-D#p5Njj&VpV65HH2yFy^VL|~JDp&+5xR^-{ z;bG#%-ri}h9Mb?SmspmCi?ad>4Jq;}M3{8x0<;#vSJ6xk-xduU;H_iZr}D!HBVt5@ zg6$(jp9Z&?W4?V&J$du?8|&s~Z5ZP|mU`9@sMQ45H*UW2c!ugwzq`t_IQBzZQAm79 zYRC!Wyf2oRsO81hsHKaCvUl>TH?Vc@o zX@2!VhsBf~76$cbSepU6#zdvKM$IF;24|uvcv!5~4t}-6BDk?Ee69^tVaRTHS z+<_?cqi}{`h9^>`w=w!r_G%veblKjiqaWpqc+YGVh?Fqys?{!VQA-4Lt>BH6-MJGN zS>u!q^VFFyM7 zU;J$6lOO-V#~=LZY4OR&AN|=UKl=HnKmFM^#a25PY;8Z&7B8F`4M*3Ohu1G9L3Aad zE&0O5)nFwa*?}{(H-@I|jIMucDST@?c{q8z4q0?yAKN$H3&eT9=yAhyYmo^ zCldrHqEvPacL_NxEMDT1_0^G*nhI0h`gjc=o*#bK*}2cXb+(0EM|@Jc>UtzAlaJ%^ zYJr#^6GAI^KSd-poes2ogQd0s=2^y)@2v!9twV4$HezJW{Lr9(Taa&oTBnDa22~)A zspGUNKA%1oTpA_8i9PluDQnUmBA-5 zBuM+jLa!l#C0eL;(tN_x26W^jWZJO8S=~&dvc^GykP10Y*!DsBSq_D!1g?hE6{^Z( zz7pbl)c(SdhQR=GKH_mt*Xb;Q3m;^%_=+NHB)`C*;73=lqalbc3J?q&3!Fw5!;Ec| zqPe~ZK7-JLhu?5x0HbUPAw3G)H5&p!&;VsAF5ORGIe8g9d9%xmbvww`HO3n?yyDnS z<73qyHdagHirne71e^6O$FCF%y?UhUY)}u;BrS!?ar^Q{d|c2AZYIB7T7v#2VB89x zsCet^R_@uQe3t4z+|~3Iwyv0ng5!8OyplxQGo|Au&&8gMppG@Lsp?0-V__e}>rfgX zIi&FcXxRw?MFCG3=bJyjw2=hQZH~8n2t$|;p<@2xj!Dj!uCz7Nn?Ft^K88^=C)tti zgGERzpaBt784+~~HB_*S2qJk|a8f{td zKu0vzB6STgy`gz#=Ucx%tG}i`T>Tm){DF-`l$Q>e*%?^jZ*I4K5|s^Ryn3t8XInjSx7v zAj?8N#{~@qFp2DVlpwmQYwkNgc%_y-{H=08x{xx}1I%|oGR@}y^^gAK(|_}Cr_LT0 z=&iYD58J^bGUn)7Ik$fA0)?`x!rQ(e@rqx{y=~%C#Rc63v5+0Y`0Kb1U?fL3s3<$3 zwii*b_QxIfz8ODr^IG`2>P|PWoUPYki+34QbMyU*H2ofmY3(;W>KYFGYf%Ea&L=r0 z=GIH-@j=ZM(J(J=+v$~%OptRnmn*oPi=~KgmL|@K;_thbS#GSQzn>n52pqzRs2}=x zcba-Un&XYsObwlC7Z8vmVOE@HX)|(H@mj>d~(cc7E&d?@H7EL~iO!}JRV*!qY}Ab4&}entda|IyvY^<01F6J^16{+>WLB9F<0xEtwt zpG+4D#IX$_R0!OdI!dc2AkUStJ{K~Pg(v94{#>7zoC3Q3Bc@7m3tdZ)eNkq?rgsZo zOnT3AoRnzJ(m+0dutsshpb^yuC80tvU{*mVk{~dETtyE}6JQ>#p#W4gha9&6*cC=X zda7yga?nq^j_d0l=nL?7PJ%c$g<4ur9kS=Q885fXB7E{r!PDCeg0PEucBUpdR$o=^ z3$5{cxn}^pDVGxf$%5sjmuIMPHi_JJZ4Fc*=N$2KyG_mhc?sjzch3_bEQ_LqY-oD# zQV}3Tx&u)KB80%q5tno#M6V17ZFOL^R=Cdrf>;#CS6AzU($`VcBM6zcV*$(qVK*<* z|N1-ary~f7wF3i96R^NB#U@yn%OxW5COdpfqxNMIWo_iH;{a47O>!SYu1yi6gow3^5#)rE?}{^ zMX|kF&!FFXy8_@p=UE;}r257&~#a~n~xdJ_Jc)}JZBZPAYRE%EfcS@Ti9-K-py&$<~ctp&sNCDA^| z8>}tCupTVQ$1Yz;T)erlx(Yh9ys7w->}Nfrj{F-t#``Gp^JG3KotROe0m=%Bfj=^OKzole*&+h*s&@rkP(oU@jMs1WfJo|uxGiA3P; z;`IGiBhy+<6;@p_01XGi1?84$vjL5ZCuf>wu>{;&bw0Zp1Ad`V)t~$H^ocThPC}lC z%CFYm`TlPo8NBm_g`ImqlkGfKmU&`NhfR`>H0sfbW!iA_(Z}b7A;e7}U-H)0{4Uc~ zdWv7lD^|~le`m(8tbTp+hkx~pKl-O1|M_3{tn|<>m?LRdu7V0$zIJTo?DlBo;v3_A z`b{KR{v_j-vg*ghgDsveQPt&-gpH4o?lK(|c2lfVYI{NoH=%Wgws#`4$o=s3r*OMx zM51ryk@wCH-hVxJyJnP7)uvOJ#0PrvVE3@DD1XHk?faOaK|e%AuO}V%y2ZOl?=!}* zoZoP%0)G~N!|i5{tnnK%itF~itHJuE#Y&*1*p$^z`i1?9hnDT;@;$`%R0t`Gx7nJ~ zOco<_qFkA?yJhuWM@5q0d25qy=*!Ew zr{2vo7xTDuqxf4jql$;_TAsPVll~UAV-#87cuNxK>=9$(AQ^*>OL5n6Mj%m{efb-7 zM;PE*LW@;za3y_DfvApwYlHXGR#`tC+6FyzUf|6~^CpB;PRAl?4n%Pll()j;76v;z z0tkqwo1()ajx-pP1(K@S;Ig@R@M6HmEQc6`&SFx(Nox9U>(+CB2Quh0gSQ{?g@bvoa4@2MGlrT) z2S~v3=6tJ1CTVl16`}NX`}QIAdZvbhiIdf2J1NGYJ*KPH%dkZl^yH~?r@nV;w|H(w zZ=t3Miv|1{a}ZI=tR)chBwJisLAAn~&1uGDel@p;+GfcB#N%dWD%Yhri zvj8JDBLu(zARoGR+Fr;(Bd8jP)cBuRXh4H8L=hC60N(>|x;t}baL&u?PB?+)b{2N5 zQT!?1u(6UFSLG%@TY1H#7S*2OASgQ&t^~dIHTO_0dTX_(c(^(3Zt+_CV#Li`*S>)f zzd3mO@RE!Yj^t57h+I&tq45mb8bp9ebRcSzB+pZ}irZI#B_D^~y??`qXOtQJjCkF| z%W$As)EPre6wg9RZMgl`;t5XJ{8e;Xm*3WN9rO`!obw9cRmT>EQfFw_8b6=dJLrw;$!Gs2cCMkC+2Y=Fo%c_F@OMKJ0UOx8+J%s;Nui( z`(3)4DJnkH)PS4&u|}^8OgNqqBh^A!0MZrcfcbg0>&+c5Oxvz@y>UTq(v|A{zHRl| z5~vRGceTkkZf*T-O#a)0w~u5d|KY;qJ7^V&ZZBx7ywIY+Pp<_Mesq8sq?-57QZ9v~OY=OXYV$TdL{q@*s54S{LthL8sH zDP_Q~qtD#kQw;IEPLp>aqto2u4V#W#RZb3#3ksvJH2Uw`X6NhGgTCDFd~#Q2Yh?ZZ z{(B!f^yp8I{O}>`@HZa#+Wr6MzW;mQ-~0{Z*Z<+Y|B4R|{v3?J!3Z3Tz`+O{jKIMN zd@e>{=Wo36;9yC#9Y6fUR~8loMDWld(YqePEhfsBFhf!W2&q(3AJ!AYg1Yj$0M|Vo zKy{O2FWPFxC)O`syLjf6>*rQZ>+zXO&3@sv4N|++ZM2=|t{onnkvNdYj+QVGG%^qp za6#?Ty5ez`PGTGk_nfLFmGot2Qa z+P1ILF-CAhn~X<+h-QHPZzQkWb;8O;)O(WTdo9X4cMbhcx<=3a!wau7VQ0(N3jhLW zk!M(;1E@wQF_2NTQp5B?%acT$_4VX3El@{obNSqvz6-JTj*H^9T{E)t!&P3?lrMUr zd{GN&Jh+g7Ct5TEONR6i>MnMg?jSAT&E-WU-Ndd_{M<^$zt!MOn!IGQsg@NWh>bkK;FX#4Q;qRf!7g6&RFc4GCF zA6|U*`IF(9)zxtQrKaI*LdXisG`=9Rk&!L9H6F6A3IE`WSB?zceF|x3Xvn@kc=tO+ zU#Lc7Na(oqfa*eLMRbdpXxX?BnP{*D5BkBy*C63?cytP`%^pjBA0f`Fiw3^Z?3C@WI}3(YqR^8&}c-XO(O))8q0M-rAcH55Tw%`X%wnrUk@f~8PPg?@7YA%HCeQ}i^9 zLjj?Lj(g@b-CkA<{5u^+X;+k0>vC$$0$H}^4&&2i;bkOPqYENVu|yhIOiaRcY_-}v zbrewcG<cO*(A&*?<`G|6 zddI44TmGo+oY0?$N51V?hBW_KQ4Q|&o+mED_qibswU6)IQ@YQHq9zq01VkvAhUnN) zFs1vz1jA3=$hGF;K3m2kC;j{ko+^d$WvIn!rfOm>eElN6sP%5u6i z_Fc>4gT+g5+xdAjtvz`6rQEfK78+*oti`_N3sXmX41-C733OthFRW=?Yc*VBkJ#|B zW88yHCo5iGa%?o%2kX~JPrEDRx`Ig;j#gyLpRHCz506^Cisbto8*QGa0|+s;$j8Rx zs0oV20Tuw-mQ9T(fTUTcS;^B=T(8wCdp$MfXZu(xKDTQHU_8sxm~Ycwq?t(U&?1CL zw{Gi!VApjZlucnP<=QcyYk!7#KRs|2CfpOI1p<^dsmMeA(xgWh8)|B%aOX3Do#jC9 zS{IX7?7pU+yxC>ax}9(J4Py(gF)z5lu|3GgO*h=WbQ+iCzL=fJkL9tc4b{eH#R-Y8 zEh+LE<*WG&UvK9-d5~&e*!ke)6oVNFda|b;c@KkmBR80EsSECV&Cx8hdyvQq>2{%& z-GGL`cB8)R1LCFYh_vJUyRtG3gIP=sN29tSe0E6=T>feOlU5Vi3tXrI48(JZz@iB< zkl(!56~AXI8i-DI!HXieLLK52H--5(g6KLV4HVjKXP1gvYzofM`amo8vui=f?UCcj zrnjF_96KhbJs6>Fuw|V21Uff%VDkbAW@^Re19ZMAV~}YX1nfk>i6c^k;B1Jhv4|G3 zskk8q*EIwXxquds3x)eT2vc-T!4we9M}BH*f#wCV1KPUFHwk3J#;$ImdOntF5 cKAdbZd+kl`RWqe8XUwAI_T+t=7b9TT`vAM!_b%JGMXiqiNFl@#W0- zopa_pGw05(^SWK+B7T`q!yQ(;@aY21MLP*%1sZnK;f4VR`fx$wM(H_eAF?#G*o5&VhiFm9X|>M=r02ARmuzJs*d%|Mh^-+}3ML8IqNF93QXgg|94MhqIq3z>HA#u9M3^Eu zSBW@55l81xFEnozO;nQq)UVfmS$oPEL=r*Kk=@l0Ot&+sZBga8Vb1h$$ z;cIX6XVm&Ox7GT6Ev+pZyF3u*j!O<@(t>XO?+S@86$~ZCWq(yPwbnPZG;VEekz-$g zv9l~|>&k+>B@K0zMNPHM+5Vb})eXfBOBxCqwkdqA%ekXAtFEKA+4B$H>u_$Xa}~9E z%L?WcAo#neA{0M z?YlBBVfh;`2VN7UtPz`x+~Fa|-9!6^K&20Z4u&7)w8jm(PR$T|1v-L(4S>2U!^p%} zY!#fkn)Ctuzwj^{647}R-T)cc_3 zF#81d2LrpQcdvoaj$T0h>3Z_64vk>d?0$bN$v2{VSe4c9jv-kb`Vy-g{k~{2@jd;Y zs51L=b>zEy>}edQY>S$C%5WXVBZd`G55p|X(?H-38b~&gh*c;>4O57{3SFk|Dig^1 z6jY^#_?JUmnu+KTaU?z+UBX}_KRD1HoD{OEg$ahkQ-%}X(aW)UG0x~}U8nYV)cq)5 zm;)w)fo}lyWltraj6x2E6!Q3En1w-<6VE^oB+Ez7zy(N>o6o`(NR$_ygPS18)-kvb zysZ8dCQ!G>MqG=L2T<=DR&vmZ{!oF199W5T0A_Nc5N!b9NOTc;hWFiORa~U%8pAz{ z`#R?R$f5|1=DCImi&Z;twdz_ha9V}BRGD(ZUbI_NYB#uD+OAZ2crRL)n%`X1QB#)P zURUAt7q(Pwu5y)k6gE3E>s&Dsou+o$bH zko~=Aljv&B&h%C+Z?9`^+Ei6Bx7}M=ZujM7H`X|^?X}IhTWeh9+vVUGaG?%bS>H!H zG|e)&cWS$$<#~N*yV+U!-;bWH=}0%YyArgWvZ){S7?wHy-KIg#I1E_+wjT+oJ1UJ# slR~d;CdqjlEd#c6208H_D#fTTV>+om2$>kBk++UO5{6Xr(J{dIPr7UTMgRZ+ diff --git a/.idea/ApifoxUploaderProjectSetting.xml b/.idea/ApifoxUploaderProjectSetting.xml index 517f9ea..f7f3101 100644 --- a/.idea/ApifoxUploaderProjectSetting.xml +++ b/.idea/ApifoxUploaderProjectSetting.xml @@ -6,9 +6,10 @@ -