From c83331d6d2cb330113e5e4426af6f03689f8bf46 Mon Sep 17 00:00:00 2001 From: David Newell Date: Thu, 25 Jan 2024 18:02:02 +0000 Subject: [PATCH 1/2] chore: make PropertySelect component generic --- .../PropertySelect.stories.tsx} | 16 +++++++++------- .../PropertySelect.tsx} | 10 ++++++---- .../Funnels/FunnelPropertyCorrelationTable.tsx | 6 ++++-- .../settings/project/CorrelationConfig.tsx | 6 ++++-- .../project/PersonDisplayNameProperties.tsx | 6 ++++-- 5 files changed, 27 insertions(+), 17 deletions(-) rename frontend/src/lib/components/{PersonPropertySelect/PersonPropertySelect.stories.tsx => PropertySelect/PropertySelect.stories.tsx} (79%) rename frontend/src/lib/components/{PersonPropertySelect/PersonPropertySelect.tsx => PropertySelect/PropertySelect.tsx} (93%) diff --git a/frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.stories.tsx b/frontend/src/lib/components/PropertySelect/PropertySelect.stories.tsx similarity index 79% rename from frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.stories.tsx rename to frontend/src/lib/components/PropertySelect/PropertySelect.stories.tsx index 868c62de41edd..35021b789889b 100644 --- a/frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.stories.tsx +++ b/frontend/src/lib/components/PropertySelect/PropertySelect.stories.tsx @@ -3,12 +3,13 @@ import { useState } from 'react' import { mswDecorator } from '~/mocks/browser' -import { PersonPropertySelect, PersonPropertySelectProps } from './PersonPropertySelect' +import { TaxonomicFilterGroupType } from '../TaxonomicFilter/types' +import { PropertySelect, PropertySelectProps } from './PropertySelect' -type Story = StoryObj -const meta: Meta = { - title: 'Filters/Person Property Select', - component: PersonPropertySelect, +type Story = StoryObj +const meta: Meta = { + title: 'Filters/Property Select', + component: PropertySelect, decorators: [ mswDecorator({ get: { @@ -31,7 +32,7 @@ const meta: Meta = { } export default meta -const Template: StoryFn = (props: Partial) => { +const Template: StoryFn = (props: Partial) => { const [selectedProperties, setSelectProperties] = useState([ '$initial_geoip_postal_code', '$initial_geoip_latitude', @@ -54,9 +55,10 @@ const Template: StoryFn = (props: Partial diff --git a/frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.tsx b/frontend/src/lib/components/PropertySelect/PropertySelect.tsx similarity index 93% rename from frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.tsx rename to frontend/src/lib/components/PropertySelect/PropertySelect.tsx index 55afbbc8fc898..93f3cc4cc22f9 100644 --- a/frontend/src/lib/components/PersonPropertySelect/PersonPropertySelect.tsx +++ b/frontend/src/lib/components/PropertySelect/PropertySelect.tsx @@ -11,11 +11,12 @@ import { LemonSnack } from 'lib/lemon-ui/LemonSnack/LemonSnack' import { Popover } from 'lib/lemon-ui/Popover/Popover' import { useState } from 'react' -export interface PersonPropertySelectProps { +export interface PropertySelectProps { addText: string onChange: (names: string[]) => void selectedProperties: string[] sortable?: boolean + taxonomicFilterGroup: TaxonomicFilterGroupType.PersonProperties | TaxonomicFilterGroupType.EventProperties } const SortableProperty = ({ @@ -46,12 +47,13 @@ const SortableProperty = ({ ) } -export const PersonPropertySelect = ({ +export const PropertySelect = ({ onChange, selectedProperties, addText, sortable = false, -}: PersonPropertySelectProps): JSX.Element => { + taxonomicFilterGroup, +}: PropertySelectProps): JSX.Element => { const [open, setOpen] = useState(false) const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 1 } })) @@ -114,7 +116,7 @@ export const PersonPropertySelect = ({ handleChange(value as string) setOpen(false) }} - taxonomicGroupTypes={[TaxonomicFilterGroupType.PersonProperties]} + taxonomicGroupTypes={[taxonomicFilterGroup]} /> } > diff --git a/frontend/src/scenes/insights/views/Funnels/FunnelPropertyCorrelationTable.tsx b/frontend/src/scenes/insights/views/Funnels/FunnelPropertyCorrelationTable.tsx index 1294cac810b66..8b0eadf36c0d3 100644 --- a/frontend/src/scenes/insights/views/Funnels/FunnelPropertyCorrelationTable.tsx +++ b/frontend/src/scenes/insights/views/Funnels/FunnelPropertyCorrelationTable.tsx @@ -5,8 +5,9 @@ import { LemonButton, LemonCheckbox } from '@posthog/lemon-ui' import { ConfigProvider, Empty, Table } from 'antd' import Column from 'antd/lib/table/Column' import { useActions, useValues } from 'kea' -import { PersonPropertySelect } from 'lib/components/PersonPropertySelect/PersonPropertySelect' import { PropertyKeyInfo } from 'lib/components/PropertyKeyInfo' +import { PropertySelect } from 'lib/components/PropertySelect/PropertySelect' +import { TaxonomicFilterGroupType } from 'lib/components/TaxonomicFilter/types' import { VisibilitySensor } from 'lib/components/VisibilitySensor/VisibilitySensor' import { IconSelectProperties, IconTrendingDown, IconTrendingUp } from 'lib/lemon-ui/icons' import { Link } from 'lib/lemon-ui/Link' @@ -148,7 +149,8 @@ export function FunnelPropertyCorrelationTable(): JSX.Element | null { onClickOutside={() => setIsPropertiesOpen(false)} overlay={
- Excluded person properties - handleChange(properties)} selectedProperties={funnelCorrelationConfig.excluded_person_property_names || []} addText="Add exclusion" diff --git a/frontend/src/scenes/settings/project/PersonDisplayNameProperties.tsx b/frontend/src/scenes/settings/project/PersonDisplayNameProperties.tsx index 14a070b3e66d9..365fd58b875fe 100644 --- a/frontend/src/scenes/settings/project/PersonDisplayNameProperties.tsx +++ b/frontend/src/scenes/settings/project/PersonDisplayNameProperties.tsx @@ -1,6 +1,7 @@ import { LemonButton } from '@posthog/lemon-ui' import { useActions, useValues } from 'kea' -import { PersonPropertySelect } from 'lib/components/PersonPropertySelect/PersonPropertySelect' +import { PropertySelect } from 'lib/components/PropertySelect/PropertySelect' +import { TaxonomicFilterGroupType } from 'lib/components/TaxonomicFilter/types' import { PERSON_DEFAULT_DISPLAY_NAME_PROPERTIES } from 'lib/constants' import { LemonSkeleton } from 'lib/lemon-ui/LemonSkeleton' import { useEffect, useState } from 'react' @@ -27,7 +28,8 @@ export function PersonDisplayNameProperties(): JSX.Element { property to be found on the Person will be used. Drag the items to re-order the priority.

- setValue(properties)} selectedProperties={value || []} addText="Add" From 2ddfbb11819d84d99a300d714471eb702daad0e4 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 18:12:51 +0000 Subject: [PATCH 2/2] Update UI snapshots for `chromium` (2) --- .../filters-property-select--default--dark.png | Bin 0 -> 10146 bytes .../filters-property-select--default--light.png | Bin 0 -> 10120 bytes .../filters-property-select--sortable--dark.png | Bin 0 -> 10146 bytes ...filters-property-select--sortable--light.png | Bin 0 -> 10120 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 frontend/__snapshots__/filters-property-select--default--dark.png create mode 100644 frontend/__snapshots__/filters-property-select--default--light.png create mode 100644 frontend/__snapshots__/filters-property-select--sortable--dark.png create mode 100644 frontend/__snapshots__/filters-property-select--sortable--light.png diff --git a/frontend/__snapshots__/filters-property-select--default--dark.png b/frontend/__snapshots__/filters-property-select--default--dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df658fcc6f082ed05c53a2622948c74f26967947 GIT binary patch literal 10146 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 LK%-3k$G`n2EnzA( literal 0 HcmV?d00001 diff --git a/frontend/__snapshots__/filters-property-select--default--light.png b/frontend/__snapshots__/filters-property-select--default--light.png new file mode 100644 index 0000000000000000000000000000000000000000..9efcbf327f836452cee6fd69ce3211a57f21a180 GIT binary patch literal 10120 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 ecTLYc` literal 0 HcmV?d00001 diff --git a/frontend/__snapshots__/filters-property-select--sortable--dark.png b/frontend/__snapshots__/filters-property-select--sortable--dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df658fcc6f082ed05c53a2622948c74f26967947 GIT binary patch literal 10146 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 LK%-3k$G`n2EnzA( literal 0 HcmV?d00001 diff --git a/frontend/__snapshots__/filters-property-select--sortable--light.png b/frontend/__snapshots__/filters-property-select--sortable--light.png new file mode 100644 index 0000000000000000000000000000000000000000..9efcbf327f836452cee6fd69ce3211a57f21a180 GIT binary patch literal 10120 zcmbt)2Ut_t*0wW#qjzL1hze2_5p-xG(whnx83Y6iAVNk$FToIMAY>dzIz&N=RHaBK zh89}LD1?AC=_L@90HG#^00Gke!`!*|e%$+i&;LL3o##n%vd`K3?6dZJ)_UKyPRwmf z(BVVkhxYB;ci8NviOs%!NBV(%(BBRK-(Bz+9PslE+y-=gUuCc4;=X-n_L-SnyBm_V zIu#o7&~@DCtDad}O`&O9)%UI6$L95kmlYi|R`xF~ zOkRp!`_5Cy?!tvL9rAfTc`M4ww>`}>Q{}gL!pEz6y3HV1>b z93Az=&bvL}OE|R*<;pm_2cp>Z{OHJ?eg4IjF$<$cd0^kR-zVs+#*~};YmYQ^9wZjz zT+q|tSH<`>j6@x~Hn zKGC}N>(kkz&$VoRsxXGGT~jMj_{rjMl7^S~p=6PpmQH7;T*RubrCtOrCH<5?|0cZS z-1Fa@zL_(Yej>MiXhEv#yOg3pdKsjX1ipAUz<~-fmrWfyNx4nAsqiS>YEEmE@qUDZ~y9iBGGxe;^IFU{Lm38XP=~1b@i{> z>CM^FWFK4zGbw~QXNw5azS<#?V*J+zTTEJzoe(r{-dL$&Z&9R$j;-C8yS@B8GyL|g zr5Kw#PhAo+B0tRjS5mU*O|8?BKF?i0zGy5MC=R_Kv-UT+H?~)|pM%bPkN*}C<#VlZ z79Sn-K1!y&AsG{m4U;-{`0!yYHD@{&JPmX2;>mPp%21CVX!%s}TXe64#(kFN6r;hXDVmbOj#D!s>lmw(lk^v)-1x>uqNyI#a4q!~c5P&kHtf(~ zyX=LxZx})ZcYxR@KZ3wNritIRnkvePH9i~!KIQ!`D`n^54GVTf&1k>`Y1+|$05{;| z?kR(6FoQUS8xF{=+TY}CHFaeuwDt_-JgGqwCJWTMkR@8n7Rt1@Dy%ztg|y~UzZByh z_H1}%ApQg^yrztNa+cIEgglW2+?K{p^(W zcs>-%Ur@t-xlf&$?6hr5I&Z$SvbEZoU)%J`$vSH_))eDmV~NjG?S#PU%1k`FQv>VG zbcSjti|+W%88S?3K)JeVIXh%Htha=u!Q(vNPyMwE6APZAoS?f#9ZqP1HfZ)gneZdG z9BZn=_$Rkx(;VO{-c|;jhx$9CMa~oJ2jNh4-<_w-G=-eRq8wzURlA&D=S#1ZXY=nK zsuzw7BQE}FxB0oj1cMrWQFvW}9f%}7Vk8^T}w>r%t{0CTSE@tAa z8P*GVPl+&{Zse(IrPjrd*S!Dyr#`8aU{5zEmgD@3=W1@JZM#+kRZT*YZCKl`CG%na zh7aPAr&{Bq1jnhH(lSpE4sVXDacsm{3rNf4D`>m{K95_7wOv0Sszfo2`%r4|1`+Z%RmZq zN2Q(8G?0OAxvPSKG{m2i*|=*b?nHVxa4AT`4%h=3zIiKT9%fO5Hb1lp%hbe_@x+ogK7q|@@J z#@($fc+~iMkC_r|yH^>JheFi!C6a9iGC&M?25=9niznxlEB=5Nb8}pTfj82k3kLJm zsFh&SgEDkfA4BLoeo^tg!Q)#%I2-wiV(gIC}QcwQqJwIsF;f2DTR^o0P@!SSrCa_ zO<8=mI>n~QK-juxWMyyoXzN;Pvzj&8Ad_YzHUYL1DoW~D4USXwX+cT`44E<89n?jP zux>`YZH)7Jy#ZwPg#(Flkmsk*pH=rw6cJ{Yks0x;LDQ;+gz+FOPnr|Flc`bJv^}!* zQ6-G1n+cWBW2hVQw?4Njvukss4&%f{t@K&!F({ii1J8ttKnSp_w=xaS^@lXAZG}T( zqeHf^3eL-p?3g~kI>(jZ1vRzhY#rhLZ7%49UoWQd%lw#gkpU#z0+)b1YWSlQinXee zpeH*M=>UzZ2pZQLk!}bK_Z1k=Ok?nrN11XM2SaMmnEVLmgYGVlpzuJ%@}=6N5By%> z>UMtgtC-7tdL5p=%-Ui`(@EeNFj?lZzPsQH&^=n^)06z@bm|u?J9Lza@eQ`UNI6$GBKPt_C@wz8N!!@fh0 zdqHNL0(`wPDU`MPO3k^opZT#&st*>s!OhUYcqKi{=-U|g8_2!LU2UL2qA;kkx%xZw zu-C0>Ys2Qt$oaBmTQI7+mB~uL^R(moN$_p{X@&NBsXB`q->|i@Knks<(Dq8d;(F|6 z`IHozTt2|6?|yz(Z9@R{X}F*QJj8^oY39%q{h;jHCS`nHjME$28uwLt$fR3J4#)_+ zaC-T%ga5P%eeeY*OSE4_usG+OYY-I21Z9aOqqu_}z{dJE*o~QV9!6Eh5nXAyCkaj4 zMOY7O$E-kpp;R3imWgRo#Wd*4%I2g;xM#tam{N5*^msV65XDod#LwiVZ)WC_KEHoD zQv+9B8Axv0X$Q9tYw<7l>de)r!)O&)#wbBtAsZQy=^FuCmV&)^HHx`|*3qX6c*?ML zCa8T@MsNkn9rk-r*RT|sNiCItCYlvx9~(pko5xT4VYJs~t7pEDau(L>g+!HOt9uD@ z@;UxK`d>L<()($OR-zuYIi2|xd^|y~lPZ+p3AixWCu;>#a7%;xEly7#Bqim3w0guP z9a;ZAl-fM^<1$LvNHDw#`!ZhCjtriZT*fq6uITW;Zax0;p$#57d{~Q=GRl+fHJlsU zoj>doZZk1P)M;d1+sp|kHxX5OBF^Kt=9J5RX7jHkP)@}Im8&v7}D z(FyW5W4+iEAM)eeC>%=88F?YTo>Os*G2W=qrQsN#(J|_syxw~quiKfm5%2>sM?~jE zayd<|GyPD7LtL6t3@Il>7b@5u#*Vj3v~QiWihm{~N|cE}B7K^_?7-+mqosjAQ0&=5 zJ7?iC4#e`yO0A9($s5|Z@*IME#av6sR4%YsUAdsQQ_^LaopJ5Q1bpKa1!9Ne@ukaB z$mZwt^)b`HKsDc;_^oZL2r>8E@LTcYbVcTusJI!7m7v0v5IoJk>Qhf?#BPe8)0M7? z?&}M^7vyC)?M^Vuj-Z&rM$AAsN%n8*1erk@L_rVy;$79Ab{}?%UHvkWxw|hhNk3@p6ox^wzC}3(&LMpOtzZyRouC!3j(TinViGT24U*K1 z5NOZ-g3K>1Ep6T0*w|3}@>{-hcI{|!{<_i%^INnX6SMKaA+vU{d4y;wnIX(!#=Jl~w)^!+RHDd;sD5*<{6~;%b3lcC#l(a~e<;oK|QF?XY%4M3@zxS6$r>FNjfcV7b^uy4F)C?a)oC zasTkmBZ2x~ILVMtuP4$Uf3Q}DTxfR>0{|UpUvB7hGk7N)0)d31KA17bQ*6D)`^Hx5 zVw)JqGdB`^cC4E3Fv89RO}qMF42@{_#!I)ub9wTCGcTfowCTfIlahKq2D;Yx8qJVT zuf?iY?=z#q=zb;37ukl#0Pggb3{kxy!#KP)rcR*&;C$xv;luQeE4g0zE*_8O$@89qsJI3fX5i27J3}GXPOMRA>2W8H* zp>wx;S3(%P2JG;uOk4wUz4(Rl`-rd+JvG`Co7zOmlH_?AzKV^EjP&sF;f7?6tFZ|( zZS$EvLvBW7pY6H&FR5gIX+c+J9k1d-J}4o+%#Z6j!=#0UC#h95e*CEBMy_xk^^4F7 zl4?S(G*dN|zjPNC!72KcBLv~Mz@t|9`*eu6+k04Fc#)@!L!$V&Tc)xmxnLM}hyeAJ z^DFFfFzKVcE*olmplVtXJXhZ^uiq)T{xW>F7c}90={jN6+#aJ~P{DP@AHcic8MH56 zbRIIP&dI5!A;N8!O2ilvvjy(6ass=mq~rpQc@?yxY9LlvSnV}RP+VD=`2OhuBzNo^ zY%vs;mJ80<3O7k58&NXSQ~+Gb!{Iaxr)E)oMl0Cz5BYH5h~!shOBjDV zr}37RnKdFR`S=xEHUzPzOoJ1;$8f~m&J9%pvL`$!sTPS07)-ZF%IoW^u^ zUj*5kH-R&PCLuii*pBUOCCMuBa4Vy;l$;GqeNLa~%!HzDgt6HGRx}^YJ`lQcngIt~ z-gV5)4-->5q1-kjr;v-5nE}=hwV6Y9@HVedT*|*;#%>E6(egYu(2hQ5nBCA9ChY4y zJUq|-LCZV@QCIe)zdV5Sbu4AEU-w-z-v%U`!y=O$$a|V z;CkSghQ_cj6jNDAf43?FZ7@7Aa>N7faPLHf^md)6;KRtMmfVE9mCQ6E(;HKNNjhxp zRXYE3E3D1Tov0NgAu3|2Uph!S3F*xwJzOa3U?ntddj@ZE$;NsQS6$zdgWr#5ANIG=_fMM2k{bv6WpQjDIO$RW_4RkAMvpCb z)9&P#lN^&%Sfi9r$)mg;oO^qxJNTG;PRQMGKHU2};+Cy?zKYR!9p1mB%XyO-6dcrC z@;8H^%>GQ$3^9(10iL2hK6M)iHx|ysll~~zhsYV;sp1RWp zKN{|Mc{_gg^L;?}WLx zG%x&(c6qB*CvtZ8}zTS0li>T(Ru|Mc``jY`D3TqaiSeAw)0L08dHeQkz)qVms{jmaw`8jCSs7N!Q571{Hv?3n7nW znhf}?Gp3D#PB$TMH87r}`%mxxPGF2-mD0PsdT5*#El=g(pvifGTxx;S#PTQxyrLNt zwbhDelU{P@=&4|ObEOaxI#q5*0~6)ZQ#53vlkgjW0zI>D%Itv9PN_N_kCG04;8WFq z0QOU&5NINqM6U*-j4%*}tkY|oVgUA^t2*m0mCE^BLtjxAJeMUqp$zgBXY^!CMCD#O zn-fZx>HqZU7;aia!%~-X5cWADEO7hkD$;G+3Uu$@y-6)bTn{Ed?Oud!u~H3B}5L%POcNV#We=}2#}@|p8wb!w$2Djv+AW<01XDJhA` zKPn|tbgTIcy@kyW0R$1V2qc4kny7!VQn0n0=uvlTrN(;$nn}R9wPR3W zwh!S{W!TW!>CRBDkP6{4AlXS|AaBN9c?%}JI4JWxgu5-B>vBt#w`|0$mIP!o8?WKbQQ&MKC z6)`8=!6EkCWg`p`&o(-d#+`Ndoi_$ZQcL9qT^d&g|CAFhmn zV`0;^Yn$!iQQ~@(G*pLfh2ocOQLasUu^s|K)O~Zz_0}Y8v}TJWq)OwaMqbZ#z)3^Y zdI_->(oKCFNqpWbKv>Q~R#QpgmO8Xw(*<8XX!Gg?2|A1x(P~<=1e}6YWk6=JoboAz zsX7quI!F`B=&3oH&^Ex_TV72DS7yO?b5mVMB*X~~%+mVLRf^P?a20@{D`E&biAFP@ z#RNTm0gGp{?fHXU#G~?ACjca0^T8A6VQtr@p$&c=pWnj<@1+qJX^tn-90MK833Of9 z`Wq^B>w8+@q8LdA_V@?MOJ{%pK9kO(gkhO!Bj}hSX^Dd}aIY@SgQ&1+F@2BQ4}&%W znG?%?#E*)V$HG>0>nvU%8Nd6P3L<#UGtbi6^{S^6`YLJ>TtF6J=ZY=h(j2b3RpOw$ zqnKZB)=6&+7QrRN$rJB8_~eAFJd*}{+>-G9N=$z|V-0HuvN>UJT6;%A%L${#g{)K( zE?1zal5Y1>$7tyj)B4UGks`~+OBAGlH|FtlV@6BM>7?<2qn7$mwZL$@5z=w zAR8U&nz56F>_aFQrI<8O0ATjr`Q}f!AH+E#{+{_xQ zFL4zoJ_XnXAYp@m5`1GE)wZy4W4?TO7rFQ24Ji_T%FT>LKuH>oKtsFd=4|;Q1Ux4P z5Lx~-E3Y?=jk-?A`MyvYMf4P8bwu%>r>>|NfjjzimDoMAhB*HoZVY z-8>Ec`d@`7Mx<(ui*SUmW9tC7jxRJ%y8-w|2PkTmsX+Zo?TaQDgVMG<`1P4HwN>X(K)< z8G-d{E}ndZB3p+LQ&(F%Dk+T0N#ZKPIRisvXm{xJZbf9*C0QD5M%#rFzc81U{eUtF z>V%#zAy6jqU4A&k@@Wm)NH(u7=;u7eo-hvXcEAlvtfJ7ygoqbDYzPrCr+d&bWhDIN zGItrbRFb}4Q+ekpF=aC+b(0AKG(*>QixUo~=1nYtJ{s0O|8EnVvYl9dGp>kfksjo0 zpGzGX#cj*~s-$nE0e)y-9AmT8$#s21AIu=xunddV7EUg%oLoz{SWEBKPtB-p`e%cE z2BF5SY^c07MZugk>d;`dZc*d80fbT5_`Ojg5MfSKyY&2 zkXLw~)dzBU1=KuG%S&VtY!ZiDOOc@~qma+P@YS{_zsGLNOQayQ7heOl#gN>5+pEV% zpciCDp!jc--US&m-W};OIH@ow+J8N_?DMmihw}egF);Ry)bMbj^#1>4N%4-O)Ufpw zVW{;NpPNbNL(d5f>CVc_oJdCG4Go>K&wu;olFpOa+3yA{BF{>=yz(zlDY@b${V_`a zTeF3e|ER@M&N|!yTb;)DgQcSDdT0n1>Cd;7hF zpz?kNIS-;HXP-LTSiQ^;m-GH}Et;=3c3yIMs&prD=zPkJ9^*d?fq%~Nlb(yvkA0*D z3{XUQZ)~nFeiH*|<><4mNk%_^{S;liRLi`IDJe}9D<64tXX@j@fXXo1soVO!ew~su z?Co@x{mt%%;{{o8&kA>!LEN%z>WHZl??T?2mb=uaYqpLe z{TP%9VIum;Gn9~N(QLw%|F6oX=sKu(-@b#IyYB-0XO(lV^983)wEtV+)q#I)R}b7x zL;UOSAA7fbRPw&t({={_&_rlY%hmb%=u>-Ie(8n@EAMI9_lhd}U~kK1l4;G}78gsx zh#*}9ZrPnnI3o@enKg0@?>OF(+6|G4l~s>k34Zgkf=)VmH?B13e-j#$d9iMm4O0{>pIW(&E5+Szt ztP^H|CMLeCzwe&&BX4{Eo}(@nfh7m`wCvkQoc|A#7m-B!4Ic~QLq79Q6UFu}LNu)r?2IZh2h3H8wuDB9=B=4H=0`<=%Et4(bH0hKs*etu7z*31 zX~H(!zE}JC_g~UAYpJ+?{>ZwA_bBCGCc@)-rh>+&&Nfdw0)>{15J^Ad+U`rNIKA@i$~y0 zF(4m)tA;S}1Yt<~ir63nbq3nFIIqdMS#@~tl~Uex0foddy44%9P$)G)i`qcr|ItTy z_xl)1z=1Q{CH(4q;JiSs_OzCoYuv8`ooY~8w)5Jo5M;G>)T=sI?%$?=`*b4^da{w# zD-|-R{i`h;`c%a?w_aV=01A%KMzdxCg`?&__yS0r1uoTSue>vsm7O7qf|uS2614ca zTb$`!@9p3u-@P*}{=u;^x=ssNAS-~x=|gcxa9Us!31Mq6czT}SZrQ@n?9|-b#RY5z zAVI_XzW(;?9qjmgW;=`|HR#WoOA}n+?`(+xSTDEpEKHeU<$@J*5KD`iXyi_b`vh0- z-$%L|ndD@m=R1K1=IlApHum$=4F@O~+A!ywmQ4_6Pr||RGN`MP>r?xw^$@FQDq2r1 zXu{Kn%R~=C=DY2EH&a|B_Rj4`<3Ow6cOSlf!2+Kt#LCO2qV^xl$_M6m^L~dl?Tqf* zyQZZ3vxfk72=6nPX=Yf(f@F|NiH1A%#Xu5+AqBI`B*~5MzCHD??U#?YH-NnCm54`E zwdMwiNny-qwjcEWb$oZv#TZS9+3V=`eN2e+*!w(mWGzKU12i%fA$k7ZVxP>OG0u3G zo|8Q_s(f)n`=`>%54lErj$R$P3o_}>B)lG?UMSgS{mA*xhup%#;)>>#wybeR3PS0; zTG(dOZp8zTg#YQJ2K;_r{YA`1@4}MdgX7h1y@{@X8?CL~p9dyH6iPc_?16m9(6DmM zHftUP4EsY#MM7lcj?K}%Uf~znMchi2F{J-P;{y1eh>+^rD}h?HC5{V(xbgbxh=CVFKWcfh ecTLYc` literal 0 HcmV?d00001