From c1234ff7a213e38ff4b545ec3b4c1132a4891193 Mon Sep 17 00:00:00 2001 From: Austin Lai Date: Mon, 8 Sep 2025 18:37:10 -0700 Subject: [PATCH 1/6] FMEPRD-280 --- .../80-integrations/amplitude.md | 39 ++++++++++++++---- .../static/amplitude-impression-1.png | Bin 0 -> 57815 bytes .../static/amplitude-impression-2.png | Bin 0 -> 109865 bytes 3 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 docs/feature-management-experimentation/80-integrations/static/amplitude-impression-1.png create mode 100644 docs/feature-management-experimentation/80-integrations/static/amplitude-impression-2.png diff --git a/docs/feature-management-experimentation/80-integrations/amplitude.md b/docs/feature-management-experimentation/80-integrations/amplitude.md index c8076dc4abd..1a950ff2779 100644 --- a/docs/feature-management-experimentation/80-integrations/amplitude.md +++ b/docs/feature-management-experimentation/80-integrations/amplitude.md @@ -10,11 +10,32 @@ Amplitude is a product intelligence platform that helps teams convert, engage, a This integration will send impressions to Amplitude as events, mapped according to the configuration settings. It gives you the ability to connect Harness FME to Amplitude and easily run deeper analysis on A/B and beta tests. -Each call to **getTreatment** in an FME SDK is passed to Amplitude as a separate event. +Each call to `getTreatment` in an FME SDK is passed to Amplitude as a separate event. Harness FME also sends impression properties to Amplitude along with each `getTreatment` event. If you define a custom property with the same name as one of the [built-in properties](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions#impression-fields) that Harness FME adds by default, your custom value will overwrite the built-in value in Amplitude. + +In this example, the following impression in Amplitude includes the `key` property: + +```json +{ + "key": "value" +} +``` +![](./static/amplitude-impression-1.png) + +In this example, the following impression includes three custom properties: + +```json +{ + "customProperty1": "value1", + "customProperty2": "value2", + "customProperty3": "value3", +} +``` + +![](./static/amplitude-impression-2.png) ### In Amplitude -Within your Amplitude account, set up Harness FME as a data source. Copy your Amplitude project's API Key to be used in FME. +Within your Amplitude account, set up Harness FME as a data source. Copy your Amplitude project's API Key to be used in Harness FME. ### In Harness FME @@ -25,9 +46,9 @@ Within your Amplitude account, set up Harness FME as a data source. Copy your Am ![Amplitude](./static/amplitude-for-default.png) 4. Select the environment from where you want data sent and then select how you want to map Harness FME traffic types to Amplitude identities. You can select either: - * user_id - * device_id -5. FME impressions are shown as ‘get_treatment’ events in Amplitude by default. You can customize this event name, with a maximum of 1,024 characters. + * `user_id` + * `device_id` +5. FME impressions are shown as `get_treatment` events in Amplitude by default. You can customize this event name, with a maximum of 1,024 characters. 6. Paste the API key and secret from your Amplitude account, copied above, and click **Save**. 7. Select your Amplitude region. The default region is Standard. 8. Once you save the configuration, send a test event from Harness FME into Amplitude. @@ -38,9 +59,11 @@ You can repeat this process depending on how many environments and traffic types There are some situations where the recommended approach to send FME impressions to Amplitude is not preferred. One example is when the same impression is expected to be sent frequently. Amplitude bills by event volume so each impression counts against your organization's event quota. -Using Amplitude’s Identify API, you can leverage a **User Property** in Amplitude to store which FME feature flag treatments a user receives. If you have already instrumented your application with Amplitude, this approach should be seamless to configure, and the user properties can then be used in Amplitude for further analysis. This integration does not send events to Amplitude. This use case is discussed further in [Amplitude's documentation](https://help.amplitude.com/hc/en-us/articles/115001580108-Analyze-A-B-test-results-in-Amplitude) under **2) Identify API**. As Amplitude notes, be cautious that: +Using Amplitude’s Identify API, you can leverage a **User Property** in Amplitude to store which FME feature flag treatments a user receives. If you have already instrumented your application with Amplitude, this approach should be seamless to configure, and the user properties can then be used in Amplitude for further analysis. This integration does not send events to Amplitude. This use case is discussed further in [Amplitude's documentation](https://help.amplitude.com/hc/en-us/articles/115001580108-Analyze-A-B-test-results-in-Amplitude) under **2) Identify API**. + +As Amplitude notes, be cautious that: -*The user property will not take effect until the user takes an action.* +> *The user property will not take effect until the user takes an action.* ### How to implement @@ -48,7 +71,7 @@ If you have an existing Amplitude integration with Harness FME, you will need to ![Integrations Amplitude for Harness FME](./static/amplitude-for-default.png) -#### Step 1: Rationalize the Harness FME traffic type with the Amplitude id +#### Step 1: Rationalize the Harness FME traffic type with the Amplitude ID If you are using an id in Amplitude other than that of a known user, you should not call the identity API to set a user_id with that id. The device_id may be an appropriate alternative in that scenario. If using the SDK, this may be already handled, but it is important to keep in mind which Amplitude id you are using and to which traffic type it maps to in Harness FME. diff --git a/docs/feature-management-experimentation/80-integrations/static/amplitude-impression-1.png b/docs/feature-management-experimentation/80-integrations/static/amplitude-impression-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8e5b298e2831c702223384c30ab3aaf0ce470b1e GIT binary patch literal 57815 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

&vUlkzg@ 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 MyJ~VpG7n$;4^;me-v9sr literal 0 HcmV?d00001 diff --git a/docs/feature-management-experimentation/80-integrations/static/amplitude-impression-2.png b/docs/feature-management-experimentation/80-integrations/static/amplitude-impression-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c40bc5ff2b8c370690c4a006ee04cb2f21e1a9f GIT binary patch literal 109865 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%0Dhv~*UmYUYQ$DyJHllm};oif-)BG=M- zZO3tM6QtH@fVCf-gm(6EnB)b+;2-eV$PtJ<%-X!@s z>@RdnpX5vJEUv)RaHjzh=Zz$GU%bQivvOfs>!8MYC|Ld>#jN;Sh zO{)}YSI1Z8wXW}ptFgMQYjYi=D7G4=yuys9*rRBN^FhcC-$(i70q&LE{=E;``UD^F zRsx|RvyV*cMq(Y3;`rYw-JL`-?s`SC^`|v-eIP7CgNpJybB%IxXU@`BM`SsU7ja@vtdrYrf+LW~`R`@vT2iji#WdkH1sH?7m} zeoQSf))W815%J;2%?`~H$r~wb(iIrDp048_=*9%J`*Xh)NG$k#T)$Yix({<)6>;ow zgbXX&F2ikuZ(rH4kL5*nn=A~cGU`oZ=H9P1R}3Z(@6q0Kf9Adqi|jm-yb{u2RkAnC z9`|fnIYu~%_SLvg;90PhE?F$~imrJHa-NYhlxV0%-yt`BXXp79*Zo8plwqpgfkG0I z><^@Qz*g$s-6}zEuj4^gO*o1>dMH(b3Mv;XcCxE0d}@pJO2p*-)oZ01%OI!nj$4mU z9qcWa@sA~Crd%~b5{v#{u8TbhrFwUSzqc;vw?bT3nhf|JC52t z_4GEszLUN8+;OkrW)azoVi|wj6{riM?vU4&XQa-epH3?$l%cTIoS*U1tDD)b-u#Cr zpBPfZ6yhKM&Wag>G{hZD#QoGE&PK{l=e}%$rXO$X+{Glu)G0nB)HN@Xk=ya&^|)*p zZu`y3RjURw2JP#mp(diB^}?h%qO8tz_{E;ytU78D{JpeZ>J}PkJ4NH6-ZoPd`6J|> zq(|Y&-eyDa2E1V^3!zc1?@n-ge@@7LC1FJWqwn^7x1}jQq(abcGr9CuhFW*ld^o#S zrNE~U-Ac?sn3mc%(8~Ipq1+z2ZjD;1)~n?5Fz6h%wuu<&E#M}Q_u{rqC_V9II&?$S zxy4%yV$t6vnd|nOw;`!dmPYKmG7@jv26a18--Tzt!h-&g_*5SZOj~3Zx(Eq$g^$d{ z1=(16d)vN}d?y*_XA z9}8;)-Trv_C6sTd*NspfhXp~81aKBX*~bF7>Gg7q1Kl1Y^0NEgv#}mhPcMCBaRtgj z!u@{O@j9JgT7=fM`eMlP$UudTWRCXyld)ohGyZSFDG0-Af(z~hqq;HL7dS!H_Z86x3kU- z#4aGV8-AP6!fSiSdfkRhQ3s@Q84g1$C7Y!Z^1D2q1zK4Z!u9o{cy)q(!fFZQ#I>Dl zbR=q*G&Z^n8S@X4gi$hK`xdkN2BmxE8w{9_1d15}x1KItW#7@=pYM$7-WW2pRVj+ z;qis?bn`<!uzJDTfb0zJf$@B0Uiy?E)|y0CEqlV; zgI)O??VM1!QHC6xXkfp954mQ|q>vD58(9>b2t(NM?z#!PZKXq?dpKHI7Xv{XUkY^; z6itJJ(@oMcSmM4*Ng-?!Z#@!oaN>W}eH)gqwV$xm<;|>=Q3msfH(+k|CyI0r;x20{ zrR1^fjI-UlE*!aD>v3e?lU(T`**Myqod6_s;L{ zTd8jKE{nZP0JI$5SyE>gcHb#+$u1SG7o@wJOukf+H{z=9zPoa#HQ*+XI7u_xF2y>2 zQhCW@9%pAkC1PgXz4mZMa1(|Gc-o}#ZftpG+u-a#vsD;o{bVakI=`VqX!Y7XNw`5^ z&7k%2HxpGyVv;~V<&g}B%3;&hIXH`zNpaoscdAKVojwg*p32AtwK#6K0BctD;x~X^ z4|vh05>QiilzU9+NSKU~lvJz8Hs~6N)RxNj-}QUOl-EZiXVm7oHuy+pTQ5QQIA~JdV-9Y$( z<3d%ZM`339ZidXwFl%_Td(Ix!W=fg$WS586T*xC+bmRuFhb^N(^y2zPL+~Ax^+4US z5tscIle5|EHs@X_Z$a!RraoTCO{RXTtaUC)Ypy4C3ANT|gxczSa=5&xgZ6hC;o01s zSL>W`(y5x=`<&X$#C)cOMDOJDjI3_JKc^|LJB}}IuF-N$Vba||JhzTm(-Aw6>XFPq z41J?K*ku{SJg^T_s<0}r&Z{F7n2qb<9{q{k!R`708Ah?! zRvTD4ks-@u+V5Flr`JMWMWo>Dyy~((y1>XaoTz5h_BmXV*47Z~o`TcLip`=<-y5wA z88Vp4M;i?&srg1O8VgZ+G5>jx$hA$Hwm3RO!X5W&9^2uTozDl~alc)nPB!UY8OW5& zlaeERp|6;+koHqqpz3GJhcDK7gc}Ssx8{1Rp@GX#`{`ujiRKq^T+$tp zuo0aR96|?P3w1pN)vd3SMuC(^R4EB$B^*8iQDa zFr>HGa>jImhZ_eY;vz<`iFTh59B0Vr55>Kp^&hblhAG3SL?ZEa=5in z0jq{gwK9^Vi^@^)g;EaXjql~EtVj8Mx*124?>$O4+V?BXlPHN*jR+X11uMMis%`Qe zV(I+V+|W70(7E>TXgBB}VcTXT#Z#6FvOR2WXZgLW8o`n@Z)Bo=)FM6TvEs1sLw>VE z^44hJr)%2nG1Xu@aoK zMj}c5G5v6xaVkpl~s;Xl4y>8pT0mLQ78se_)2%=gj@di-j#tGW#)T^ z$?ajSYwYvUnOv}*LS+Hrp;zv(VevAT2ybQ^hj-o4A}Uv65^Ymtj&_!fPe%JwH}Ej2 zKFJq1>Zl(~eX%+28q}GakJ7z-fF97*Pm}bdCl*of#uVE;P^40H?Ye7i#g!4vO5G!w~j?Mqf zQG$zw<5qINaf(|O&TAFic?nH(=JvU_!RC#aqCjaQQQtci)9vPZ@sJv01(uTbBEEG= zZhOyuVYqGgqJ^|qpCoMyAjjb=?L-9(KT-Vf=kq*cDjp`1^9NREnml4puSuCWe9)G^ zPfiuKDg-$wzAXY#=g_IA*WfaZ>{?iqk?>amRx?^XC#cE^^Lo4aE{aIvRheUcWLpqz zRDy{&@)rm$m47tHz_v7BriaYiJL!M79o3a4Yg^xFT)SFm)}8NKz8J)LoFwY43wfMP zH2HIkVOPVrJ(OW-9tD`Up-g(}n+m>h3ND1J%g!BF35OO7U_6lfIhB&SeZDcc!ikBP z=or+?20BZUSN&CGB;X1es1F}eAo(?XLd`Y|JL`we?R zanD3IFfc4$z)5p2u2)ewh)B98lIOrwGI@J>vA3v!CX&<}ZH%Qs!8Nf!%1uy4>~!Yo zLr3E213M;?N+s5nNb(cDo+nm3tzuX;C1;Xtl~7|K{@R}q^^zu6<5r>4u&;kZX*r$${lmVW2j5`=k@@k9WEQ>D3zJWj5xf59?;X zz$Hk_C5@lHedjf${Wn62*uZr<1L%M|V&X3d!@nC2!TQ)zqlx-7WaQ_VfYQrdG@*JC z+naE<;rEBlbNwBl7hwO6u9EsEFM-bd)UEXYe)0bYHz&PLwbJu&%eWe{9C}#IR`cTT z8qw4F@WJ~Mcrt{|weK=jFFAOyjsS(>?-_||*WZdBwQ7a`bR7bLb_!yG)H-$9qEYk` z0dosXep5H?YbjToaeMWu#HLwnl9)};p`RGigOu(-WJ}idye3wpz0=rL()6>Pvp-xG z`WF`ik!GKn>ciCubp4zj8fEKyxD{*TorT!`{XG(;i%1_bJ%{Kv%}trG(sL65ultL6 zeB5m@+zj~j_Ty|pyUsa3c{gfC+9DhLT5D9{>$>W*_3ob)Q>aT<-{Nk_?&`ElfBP@{ z@&Eqyzq9l5&tmj{E~(`ncozI#GO#@#Q&l_J6L($MrM=kw*9`$Nx)s;yEn73zvRN z0sfni`z`G&|C}3d-V|MEV$~x)$D$ng5Qd0#xI)!VJ6 z8GL*jYA#kDc)_%3&zzn;gII4~Rj9(VMV$sO-@1c=&L@B<-4PzjGM^XaMzZz@?}zBb{06S%~#;GmCI(>=J1 zDo#$eZTP)r-a#ATkBm>7b280GPIKR>lxla`&Q60jmz(k)dy$_Utrl&~bQX>0-QtB5 zr^5~x9@nQXC83kN(II+7x35;u0)xW2&Q`rK>!TenaT;jZD}e0WaNEl1aah?gcgwUS z2VJ~p`JwS5j?WW4_uLNM$F`)}Q08sDsiMHXIb=EMMTn5w*0b^VSHN?ozOhM9*y>K{w>2!Hd76T$ZIaU^dvzTgW4RUcRJ-#;4epA3Qq^y${{;ZO!g6Ml!C>=y}pAI)q92;=w)2}11%W}T-3WtPh{8S4Gt z7=u-G6IT&~3k@K(91R%bO_T3&&YVSPiCC!As28A9^`}^4RH{7=OHRz)J5P>nNAuNE zdTLGg6JK^efkQ^y+w-If3l6{hWKagdZ))R=KhbDw<4y#taYuN?5EZW%r#s=-S38tI zFI=;j7umyR+z-nfecXWI-^Xly@>a<&;KbkP&%pDT&mi{%8onq%W?3FDFXb37F=)m$ z4N=2JJNgi0W`!<%9OxZ7PzTw9*3cI^%j3hImHjrM6DM9gUUdfP-Gk}X(knvR%>|g> zSqbZ01ZSRFrxhxE+oClff(se83=aF8-}$7*YqYC9b z*qr^o%w}l7bZO`lCm?D$BO}3pJ&x;8N)V9k*ra(Ntmi4Q71J_?NIm=tlA-95yaeDx z%LBaKpMX%G!SO^j6=rtw3HO6$1yOC%(eBD=Ak19($P~n%W#LDN4k%2XB)XnFJhkqf z^aMa9*XvQcejydjp9Su_c=LYbg(9c%qb@az2FwX3(a@=Sl%&Sd z?nsF>+?h(5QrO}h?B-%pAmag#$=YMSph(ArBM;EJUNJ(h&Dy@oQDmUtw+Ls`tAFZ@ zL|F56hTN+??Lkrg^lrhmkM~6BjT9XBBziB8bWSijxtF~XHy<$CzO`5CVYJ<~EMiHi;ME2c?32z_NzleU^zP@kPjJx2b#=8;0;m}^U z2!Y8bjH9z0MgX0K6_`0!tcr_x=-I$_Ro#{W29E}`G8Pc{?J6N`aAgMzAwDS&ncum{wNp_Izu+=(*-a-VIy! z#Ab1sj2J2aRtZIiRve3krDv)SF~yrwkS12bmmUYdNGL?^t`UUn|FR&lY{~B50?LW@ zdgui%gBbV$NZ;(&h`Rlndo5V zi^%H?0fKUSy8{`WHpSV=_%@#04&hYc1BBdS8KS`JHq=~6G!k~a*Y3z!x8!)$DUQo2 zHYUU-uq#1WRxzu-DN9%Y#L1HXX4rdAbvLpyrt!;y#sH_Yd!a64{M%<*kc)Hr`!@|-JMT{R4IMKhDG z?Qpt#c}}sTEk1UE>V6=)P8Z>@^;3G^<7iE9xqlFMG2R-$v|?Tlg$sW+X+g9WVGeqS z4trISL1=?jG?(znQ=B61#;o=c07}2cQtPqj!G~r)TSFuUP`=5aBcZ-Xh`5bLy3}?a z5sFG3Iv8JCFTBWMTDvyZECS`!siF5p&@zgmcO27CK@K6(pGWS8GRv5~)hE7&AT$WV%?HC%xFB;bGdFvKzf zB-aQ9Q!hh>{hvzI*0s1S@hxKt&Sso^2uPZBuSXm8o(iVlz`S6*%n?fsSaLsT-st$@ zw7`kdsWP1jFl)k}L$IEVB?S?kL{i|0GYhAn%9vo%Jm9kZ-QYL0eS-Qo(Xz#~Jn3Vs8y z@^nlt`ea`=BW9td$!c%s5hG)BEq55AgjVIdn1nzu$4NRg!p@;oRUI++YQcW(g~RKH z&K;Q(ag$!1`)xr<4;pNRfkN=gxwFrN}B@ zbmI^s)EXtXQIKfzU5xrIRYHjqTw#3yh^t(p&f*qyIRw~flLRpp$m1Wi8$@MlN%th3 zV??Y2;P7-nBppbXHd;o{$Z`P^MZbX`cxyTMUQ%=H{3L?;HVGTC6z(D~FHWJM{Mkpb z%c7cpKa9zn4Qq;O+D7g8m;c(%xSm&-sG3xI%hR3L*yYWjr+ku z`0+X`=kCgINNl+U{DQI|Y2(q%cJEtUIS?E;fSVDI$`e(Wqsi47q0#f@pk#{`GJmU3 zR3@`Gb7}H9G^X4fj#w|c zn8aUddUUlHnrxwxqgs$#W;HZS)aHQ-L~O}7)H@%GVGguZ3p6EGV(+-_(wHydZmW78 z2U1-ayrA+a(t2WBA@*?-ZbH0~WwI=m0_DNLn{?a(O>Wx-Zb^5~!;E$3s!Z=Ua!Ex3 z%V%Z0bfCRBu;8x4-+#-vV%L%H$eeSC|d|oLsvWMlK8Gc9R83 zv-2VDPF4|n^#duMO&xIChI`{!UB`oU60FR+sby4F{hmn=VGVC1Lhgx{R2SFzuuiIC zeG%YR=(H??t&mogL@dw}-X8X*&yVWQA9J({x}Vj3e3VR)O8#T3uy#FkeKM&sZY4?u zIW%{JP|7?Zvfg%g4_})f4q2XPU${Kz)cuJpAHpmAotrq;dzxi*554OWo#XfKT?pdS*1a}jInlsT%VDI**#H2*>vuXL0uQ*BRNr%kGgI?^ zN-DHK7m6|T^>I!12zqQ3UJyTo#MQ2M6mnK96({IR_^+7riRJXtSlfP)3s+&2sSoCFo%KN4OMx;xJ{GebjbDpZiPC#GF zzE1$|!~_MIZ@kt%t4^+R@?@IIzLaaQJXU0^c()d0G)aVjoig~dMGXJ8QXF~D7#cM6 z6C`x6eTW2}_J@;VJpp9(Nz#-TTui1qP2DvQ@wzrToK5>2-5iM$QN*SpD71g~I?r;; z^`?MF6AIp(X__LpxfHz~d1v>5jufnv==ts~EC2sa^fzLLH>H%DarcpM)1-)nnwr@3 znSRgd*mpX;Ik2~o>`1hkPRL!q7b2Op84e7{!|QI3^_6>OvFRZ2e8x7#;#62#yu(tT zf$2k;qF4BHZl=989*2s3vleu{4f`4aH`c7}7i;i`3>R>)tC+PaI!A$u=DdV6WS9f9Ph zc8s&(nehD^OH~gGwsDdELAR)O9zgfjO0CD^R+ebn=*5rVZ*B4jXBl5SJly-{pkuDk zway6%bS}&fW=g(xh9~okE;#$G8Xoa`&zz6#H&)cP*=!%Q*DrP_Fz6($FA!A@w9Lsn zI0#n|kq*)?p@pv&LJ*`(cis7y-QJSf8cu`!S{yjr_g%F3!CPu6Xt@MagJSV4b}nW% zNYu(HyD`Eh_~`uydZccHSld?{%u#dueAC5)$7t?xG;=7$P^n zS`DT$Z=_l{Aku%)c_4i~c4AVCdw&o+?6c?KLIGmsv7U(WmNS1VJ}>`jldhAxQSo#{ zPwqkg4|`tD=ylrrL8`^Gif440Vv3|v%1wE|YrLv74>dx}1sL>PP93ig4;K?mSawxX zn=2}8r)(TwE|*`W5SX~iBy^k0$2Hk<57&Z2`*NaXN3Cr!GXe&uZ<*Kn<{0hf_!*}r zXq&vJc8D)adX}T@brY4V3@HLG8`f%Rh|UfN*5uEPOK;hx;Vi-VNB@cuc)bO; zRjY3129k8oRwJ;fc!gMj_fFbuwftW1ldKHI!8W7|W^$2_8$kjqy9Lx?0->%>m0c6k zT)E8d$#0BN^BWgYZV>2QX$o{Y+={8LufjMtZ}xkrX_k!)D+qd3bYkX31@0~DF&1Y& z$-LQ36Eu(m$O%e~NbW|VP2XRsrQ{a# z-9z$}^b@I)t4t)IWeDkY;ekhS>h;+T4X4SZRmo^UL#+`GF zM@z)}h`{T09As(rz}|@78|{IPEBPY!8E2hU@A*yd@-8COV4@Ttg}aa@sZ|x__u7|F z;%k$EN>ON}AWWfF=ixmYBg#4%gZEq(sr%mF{OO*HxNgQ`P#dZ)2dPBwCRro>8@a3&vK1jg!liY)e)lgp@*tK_~N3pXPx>7nd#iX>H+d(|hR3@!>8g zGqBWv;d~Uuqs(hnB@QQ~ahDJmhQ>E|f5dLa;O)Y+vZp6Svc}gACkqs--zvnFI;hhT&D~U(#9>Ds6LzZ!HE%4b($>MQp=*x4go_R;Qa9leWEMrg{^L z_MN~FIlhkK(}jjKMg-BF?WsKjZ-J&f${||FhTU}XzJzJn7AM%VMtxCmip0ws2@Rxb zaEWuA?=px2WJR0z$Ec-YK>|byz?rsd4)PcjtIX`fvW!EO=C^_Qkb$^<8JBEimx#5R zW_uK0(OgeNrw#Axr3a*tPbV3&Sl2doXs2m%68>$JA6H{9Izs>xq>{8X@#`}Nds zE-Z&uc399?;qtWi)!}O&avKvC9x0gi0Y*-@dlP@DYTo zRy}_2>ik-|HPFR5VJ<7ysb6zDY&CtmN9VLROZLB&e-ZncM*}~--8DjGh}p<6!jFj7 zYN)2bj5Ag#OTK;B8vc4NyMLgtIjlm*6mtqX=?r_z*O8qk&VWRJAqE~_J-aG!AZrHfYs%9lReiBSY|$9E(KfhVugU;tZ= zC|2dQ8ohtS(9P_N*RVlEn5UDKNEop6wLB`&W@@v)ZPI`{P15Ve^6eh`>qmJDWK`S_ z*ow=VuxWr-Bgg89ZE^4ZhZq&RM0}~C9MWL|Y5zvp_MX-q+rwYuyH@r030=(<>gGEe zLTZA3k~2vkcXB%MRXf`_1*JR^*z;brt}T3YMWnwfhVTs<08ETYV|RdEMul5%d1V3M*^8FOVyZoy`iJc8Mn6*c{HgDZ@jRl~KHOI?on)V3REKH`e=g*~n z5ub8UeYOL?x`HH1+#~#>}QSl?7aO-oRLv_L{+6%Ex24TK+|xoIh7~pxH50J z!#wQ1j^i_P+bmt%ol^1l2`KQKON3p6-B-%|aEqm|iPL&SNJXCcRcdzW{SBDti{U~z zT`V0sIA+KW{kB(bTJV7Ft$>o@Y#Y@$%E@e&RoERqp>w3+J@@04M&0X}o#o>~s5iPA zZ;Fq<5TtwClJ8<3yH=Op!N_c=(OcFZ>@))H>H+(v|Sm`KGVYzz5&Oh4w=@?lU3%C^ z%gl_zN_(RZbCwj62bSA^TrA$2@2rh;UO6eNt+VcA4Eynz?M;es(Q^;(7qQ%y23Yq5 z@(hx<7N}q^NI2~GY8=+pOh*Pa7|Q)aaElYo2D;3*+^B`!-!0Eawr2Iz4y6AkWz;Wy zS|fa1S2?aTtm^?pi*_Rkev&Ig5me&>8KMT5 z#p=`G_(We0=Tv*X&~@B3sX`iV3C1!NzehHL%>;d66NbFV^L@u|ixa>(?Dw846e9;s zyS|nlf;qYBTndsI0&w4R7e$cXaG&{#tBCZGsen1O9?uaBI?6(ym?P@0rG1CHFD8NN zu(Qa-kkFby8PGNR=U_)VkzTNGG_$ZL;#k&<)|z}_fWmW7=H`EIWmhhScQ8x1uS0I3 zK}9W0kG1b%&Y8|5-5pS>B&r=<0GujTK+X!ys&%e_MV!#ee4J^04Xors+%wEB=&wbG zC}Kj~(X}7;qTTZpY^(3=5>|8zmPxR3j|^u$%95RBqS;^Wp1&>SZ_FMo+QvBOyb`ZA zspc!+(qfJ*-lTFV-J zj+UH7S4{TAY^4qAqw!cMe{M&vFdjUALRWv;tSEymX2Xs%OIu^=LOxvore>uDi%OpI z&cB&MpKw#Tt9F(B0sL=TPQQIs_-F4zg^4$y4%H|5w0EUba7v{-4H2ca;S**Rbg^K{ z`6k+{=!f~;nAozdF!()4rkj#@lrAP~oCDz?t7$$};TO)SHQw;i>CD!Fr0R;#YZF(^ zmV>gq$H5EzAA{xrVc%i&DtCFNP zu?C{#oI2ckUmnFRQVC^6*Gm%IU@_#>@Qq6l6gG}>QeR#dhQ6>3l;u5GLWYp9pm$u4 z_cuymzqqp@(99R1Lqeab?jNB!04k91uoNH=K-FHr&ea?mlyC7r zm;_#ze&2B=+qQr0#n;So>2ga#qv@xc)l5ao54VC@D?`rq)Be@8z8)?1tRxlN`Ik1w zC25`MotQ_!CLGqiWqNYraB2#&&BSHM9DjZxRw# zX4U_quwmW39Rg*1B(61oUrvfdZ^M7}=^x_4e-26)d;uShmGkmUVg26{n~vUUQSN`x z(wTpWT?Qngt3KkSXWFuV8ggP2puriS<=yk;zX$r?H%Xp?>%4qB_V1T;O2(Q|1)ohE zIXa&i#y@}OLjo@O>2%*;gg}2N4V9-{h~cEta|~@RzXQ$*WS9II&pT!n8ThOc9Z&t| z#-5>s(Va4(NFH;a%i1UapH=NHuKl^>vln^?@GJZpQ_c-Wu)zUDkq9=8k}4SK`M1aN z(r<=gQp={ixpt5aH(u+Db$V`aA8{&Uxnn{B(oV74miboEc<8 z?gGG65c|B#{DRH>J#6VcVXiTV(4?nm#+zNTZZ$vCv-r8%ZlPk1 zVrDv?s)t+6x$GOli%9#7uL%drh3!LT5cxI<@SJTw(T?nl;%v);E@=K4)U)UF4F}?y z%xF5IF7H9XvgG*~u#Ga9E_eDweB1f9mH5T@obkJeoytK1$VF*h78TF_Hm(2lU%E0d zPJJR}XW-HQ&cv3}aPh}2i$Bl1cPXb9QF|$W+1~zHFGS$8);l6uXY4Zm``ee<0b!+# zxZu2F+MkAt6aD7rId93B0UA(>r`b79UnC#I!Dsd#dUO6cCcxSVnDbmginE?~%-g5S zP~1cQ+;H*Jm<%&o&GU{qa~dvwd&be?oLlbGce)IZ`_ADN(vkR|E<=(erE{0zsm<58 zzv_9%d<^p8$@~xE&&`Mb|IQHlgr~%r|9b@K3@&Q}KPpfP)WJqq3uPJF!?yQh-u<4d zk~wn&o)T<&@12f1o%H3C!$rLk=swMMD`tw`zG33^%#G19x41IoW*Mq~{y>{UubvHb zKJWMwVHp2P*Ylaav{QG*MqKs=4q!~^g3cGTuRtkN>WBMme3RW{dH&@VqxoQF;4EtZdKrjB zX%FY4u^5*@a?`DBs)v|D3e$n<QsJlUC(wFMH*@OnE!u1!W{H zK2lxi)uYSmjSrEFtNih3GBJu`FiUryVhp@gGJB(EaSOT0M}%D#!%`&(#_sr9j#vll z)b6RLgTLFs`Cl4tSZ;|A!rf z`f+Wa4TV_0ryxZ0n?WOKvXc`=H)JWq2Dk!p5UK2i=9=AMtqD(c5SOz=aALn!RjU-F zmKav&=1{#VplsLnMQ5OPqqf2Z^_~`39SNLefzgH1U$4OIj_9R|!_j%E?Jf%O2ajah zi(HTh>au1#BQ)x^xgMbfkAsdPh2hBBFv)mEHwJkQRCi0RaUe z5FqptI-vwY@9nOf^PczkRqh>kj9bRIcl`cCH|*@Jz1H4qKJ%HM2~BO;UUAqsA3OC=nAUmBv~IxD0EC(>$Oh037ikG>-m% z*#2IV-X2WWM8xWOklY&M^tCJNaKs5YauNTS$G_FyycFXqS>OUe{dpgeK$NLD;XA zG02o7&Bid=NvA2q`SVaP<^VE7|*T2Z`|&jO4E;X|!OzMYVHbS5+pH!w*Fy62R) zCW~qUSI!Jg=*)~&Cb66%)rBdh@BeMR5* zvw{ARY9$um)P1hYd~hS|Ex8LsnUY0Kd7VkC@{X;v606yRvtOjW@A-k$tf>!FV{kOp zKomyOHo6WHj)-qt0YeQUgIURuY)`v6uuJp99ziB6A59&1*QvL7ExSh8)LBREJ#95& zu=y}#Uf6s+7QTlVH9zD}@qaVD(lk#pytwE#QVx(mTFbak@D!i^5_PjSgE5~+^L}_I z*H%=m=Dhf7!9M2`r5~VJhumE;lUsqNeTJ3if)LxUiC6~U^l%xUcu37VOF+%di+2D~ zTVIg#rvy#HGuS}r%XFdGahiqpLKQaOW<=jBTEOSXUqL?khLmTDr+ysojhShMLUi_YuG+aI~^4c-~(S=2hch`O>O=WM#FPiN^%fYFT8z>A1FA)PA=Ap0!{#}UB82m<&?Vi$yO+k;<$kt?-ax_>y z=dN`yStzriLdPlb*)yJf)0U~drn5_%kXG|gn^Wib)m(qH^l(2{)4DeROW7RW_Z&Dg zP_RNm-LXWrHX1_GW;+6`Hp>`bw?K5`dJ{NBM*FLPt1*(cfj}y**u)ho7m&ec zJ<>v^S8ChUvU!L~Cef8wS$x*;xPP+TW&pg*67C2(z1{faNDhjHC3)F7MfwzQl{0p* z_WNDwf1`d-r3u&gyUMMXvd%9K%J$~E#m^0sH$#@-_U(CoNu(4^M2m4(eB#47JvrD1 zjTiE5J`lX2`G%s;w6HG{7QHe^fgshJ8C! zVbhJY1SErR;~A2pquUZ>-hKRGE1?*6a7f~B3$MAts`GvQdyYk4k}vPGBSC5m6hWR(i96nvS=40)3fYMHhIcSvk%H&6Nl0j z0Y#lBcU$1MXJ zX^dH^Jo9q})$b^n5F|_F&gD6(Obdv2=SiFZ^e2%kiBxYp#yka!+l-FqTccopcFI_> za&-OsSNpdFV#^X_v@cQLkbQDBk&(;<;)7A6Ubg-!$U{DBwHT0$DQeOrC%dAMvRMd> zKrB(La&bjl1NtQa8U@dykX!`t`Ho^Pv!Ch2fhE8_Rqs=zeh8$%KQmNJi@+fc5&fjux=`RYmZeb*CiWe%iL=2`9-pi# zeGL6CLCA&E6i*se;V*-P)Vub?DHq!LUk`jwBR(r4!drZJ=UqgMxq{G0-8dxtRGD4f- z8St;w4{J@VLhoksW*r3rJ`mQvRy3k{Ql;IlsA>H#yO1nk_GOsn@QaB9Ze0W@Dy*!# zg5Ih$hY<ZLMqWBgCr0ZGCWaVX6wXWyrva-hp&c*uAFKxo@?uMZ4g5 zN)x)_r9MKxZqSjcD#;OKMX2W|ONoFXM&pelL4%ro-STXkfdaZWI!~Jki*~DbvgZz{ zS1PA$vLw^@TA~VbcIm{Qnbq$@TdJ1$t4=bKWqSY*D<8gMw9PvMt6O$3i@&)r4VUW7$7z@}GT0QiFS%uK9cP@%2aj{zzIV`$F@!RSgH4JXpw}vZax-S9n zr9r7cylTzbIZ5aF^^If*ZY6)0O|!c86)Yd#nONj#`aNcGV!RTO$Umb_V7KLIrsh0< zV3;)Sd$`f5ZQsGb_9XKpLc#2Qdbx#i3#qha+M&@jQn)xU9vgPv-?=3LKKce?RvGaSNP7JzP7igzR<>Q{0*t^ zCZ{!p5m{RmnmQvDToY~!V6hPm>-iqJWTjtO^rp<6`uQRzN$tTJlhC88MHoSVZ0#Za z)szAQt-8(3Ur5V-pBXQ>+i0Is@3;0Ovh38;)QnIYrn^mZWO2z=G!xV^r|Rsc*M)!z z2f33Jx4-I?I({2}`Bd=D`DsVl-V^Yu#4=FWFBs(bbL#7R#dop{OTD`FZw=>PxJ1K@ z9ujzr7{%IU!cRL+w=l=w)^`$m;m=CWDJ(=_m3{oin2P#rmJE&weAYZ_b{(v z*b9QJ)CbO)pVP34eU`pEd6|sZqJCe@dvCx?TS#>}curNyQ+RLn{Yy=W(aCA~uP1S@Iip&=BgtDI+UB=cOBn=NC&z}CO z3o^(vJSBpjzjk_0u6&Dg;OK{culAbrm6}W;w~OYD5(@IT+f04d9nYR$A1n{yy}cyc z=LQOI-6Cl1Dn`JpeFCgsx-PAR3eRENu_oLYpf-n|USANV9U1o8}n1O@D6mCxG zTG+A^E3{y&bhwylAt(zsk!TphXRo8yQYaoubnX`i(yR!Np6g)A-0CWVbC7UlH$yw% zk`-VcjEC1fIC8QuD%6MZuL4)4?2#ME;ECw-eci*hmkHBYl~)c|!AoN=Z`(CQM5R1h z^flv)zO@%S4^l1y6l!f1VOo&TZ|O@Y(b+$9qW-dZ`PJx zdFE6Uowv;=C4a5QZRU^Pu3v<=?r%N&MYi_)d>ik(q2@7jHrL#P(mw~`sA(gUs%cZZ zIHH_Yvw1g!))aJ=Nt3E7@me0gFm#JW?bM1y--3dp*Z6~FJ=GEKuEvS*Crd9TJ$HI_ z8$5k29T?RrjXp96Ps{oN+q@CfZTMoRb&Fv1=I43z-i8ruyBiWPvBUcv)pBcNesC-b zGob^@8D_&}uJg}NVY1B!jaBC3O%`dYQAIun#IH2DBu(gfax~PmgenRmM zY&u3z$pl#G-xE|<@$|f2A}X7q}9l&XcUuf1I(IS)`0)mU@&a^b~IOQaK1n?Vt_p z!6oWhVz^)vDj|`(lO3RvUEG@OlQUJh&Ck;+W-W0lyrSzFu|OX7O_aVO)tKv$@LobD z2#gX#G4Y!0z^SBOBps}XRama^hAe;Y;u5+qe23ZZ{Z>pwd#%<@p`GvVD174yr}xm` zXGT8b-lzSBDq>KQ_tzZEQHe-TA)|kFHHqZKzn~%ycAulJIH&ujDa~=yGPN^mYrn|3 z5+5(0PByxG($Qq?HtlGQ=ypNq4?}jYt_b>-%7&qaqX#wiM?NW@=F_j{*d2x=*1msr zGw{E29tq4cNq0I1aNp|ukrC`ARkPCVb@=272`Sf=+ z34cvR?P5Fs+%qX2%A>G1XDJ=x7qFnbDCGsYTHe)r5|duJphH4>9^ABW;iNeS~a z)x?>nDD6LPq5=43@O!Ui$6O4-2c|{5B-^UH?9p*hBI)EWINhsj|Kf_rFJdS|^I2f% z1>``!VUk@O%zq(R!|vgBJu1UcZpig|hGP_oX~WwPJ14scWj%xj#dgQI&*4M!c&E3| zcR)e*^z&w4rDxQ_cCUOR^xe$7yP|SIy3--SC<>S?B0$!E2tzJ*_4%a}j}O5aD|X`v zhZMg8q)~BfmO&04X_WGRH`3@e`9{}!p;G!#XM?0S1%v*jQw=v7rgo?d&RMvF`ti-Gb|X$JRX&#u3sd65z`s+F&2S#C9zMS9ZLjaPDy7QUA-tPVFF zSdGGM(v;9Fj~K;?8Hcte(QiAAPkmM8b~BJ3LhsxZgA5ZC{x`RS?^-|!A|X~XHIacr zxOb$GSAq6gwAtpDHpdn(=KdnnoO4GOpG&MLdXsTw&L3}?pWiCf%vWpHx9ckNw+P2> zuS}Maw0wUTk?}C6%ns%@4!m!u#Q`dtC}Lg%uQ^I>7*4p8A&@xU`EK7V*Q5;$`F%#* zq$6R;G-<$oW1epny}OZSh)U%4nl*B>&Su9s>d@y|}uCLOGxPhLC;m)J6ZH#RUDcAx5e z8MFBvV09|HJ+nfodrR8wM%H>_ehlr6yRQ9k8-pC!4q5S}8>K%A8#*x?S9^5jdiH%| zOeRLOujRaTcZi)F6@PI&`bPZG=PHgUSW}o;qm(ytH+^Q6QwT67b*(?fF)QPnTiym( zyu*a|G;gPI7l)*BQY!;e8^nsX3a$I>It|{D(R=IF=oEG1aze@G#V^g>SHl-wnY({N zUY?!G?J~g~-gz8q18OFrnm^x1<+LqrS;E?p`VgB3PWJ70+kB@NiK4hozkjDpD7Pt= z89f4}%8*v@R;)xE5PRLt>C2^3xNwAp2ACqN+f9}`p4!2VUNI`!kF0a)=1I|}_!h<_ zQ7w_CLSG*6SoFVxEF#CKx z!B%?qn@5Mch7{Oe(sZ{e{UYBjKH_sP^;k2DxaJ;m@Ku-7=1J6+7~kWL3a<3qNiwGv zE+<9V)_<3AeJimjI!RcWxJjY_r6+so0eNbffZYDVL&neN$E|=A`wMS0(7rba>Q9%l z_4EIWHyZjCZ^T;{&&YpoRV_0g=Q{GH2C&Wn`+i;HPL=7R!sog#c)k&jFu&*eyO&${ zM+jGN=Qt7b%)bkuGOWvA?)Bwr>w`i8%C8Cpg1bObH!ARkcH3XwH0||mczWw? zGyKbpro3G8aHTDj%e$8B+PWVk)>4&GW}s-R3S0H5(v5~Mmvf0MxF1*eh|Ig}g$B1d zl1;UZE56*qb`)_~{9I^gE{FJAV<;W7Vw$HtE#kEFV?6Ds?Of8?VSPXOU#w5TeaF#5@DufJ_|y3H2iWNDBC-Y3O> z5|6~$_MZiioWCwMII~Q{E9Abc+>z=}u93qQKz_s#6vI~BG}|XW;f92KI=`qZ3&>f+ zEM#C^q2(WiC7ED-_~A9{Ov=nE6`w$a*Ce6P{Y&0F+=S?odONH4`|{YhO-99Qob9fV z!A*@--=aGTVp*X4?D2e5T7xE|;#F(^6Nh^iVPD;L;ihJ7RdxLOz6Tp(3IAe`K-266 zG21G@`?&$C!io6f%6!vtIg(6d${sYOBm4NoLsS9Pu!KXsCGe`nstFfFPVmcDm50}W?s;ULnJFX-?eh%WJhRIA zLm{*Pq?2S*9}pcRc=dK=DsfIWgI8Uu7tGMM_QtD`8zm!)&f074-tcv~ zxxt;UFSkA|{ov2jZCO|P(x0qzxK|u1;Y?K02Pl(qXf#XY7TLEdGP6|gAq?JdHo^h} zkOQmE-_b}#zoU^bJc6q;{+qcAy`|~*QzS>)MIdR*zVQMOdAj_KPwgH_u8W|veL(M} z*~5~p0SJMo+~K}QQk%Cyspixz7qGobS)5vnn=iijtLgXl(|;^a(t!@M%g+S8W()MH zykv@E4VVVkrT{8wa_$1l^)#2vo%$$H=gPV`(Uspo<`#cY8UV@<1<}uR#Ax+@ya$M+ zXLi3Kk|;AnHDUA1>7WTj(65LjKG6R9FGSKS3o<(~G+%CJ!g<#J142?Kbq$qOt##*@ z+D4+Yl*Jwc&Wzu=(jQCj@Cp&SfNFURUA-A%oqmvJnxOE;slvOT8djX$N9cX8MSzT% z%$MMcJkZ8QOXvF&K5N?9Go9a_mgUxo3!h3-68Ckk7$@afP$sbW2bmP6nwi2^8<&a{ zf~64;uOC+X5;~OqPkV0bYwN!;N-Li(IuO1hf+lXh-mhvt7nP?fU=z4dkV@YoRcggJ zH8ei>yDOmJ6ixN}fvcP+E=n*M{0&hO{XYd!isLZ{{Dr>h`ZsH4uC4!XLX-xOXR=6B zmMSJ)JEa$&#)UJajtcbsQp$lBO~Xs@n52?q0k>a}o&Tt*x38YORK^th_{W=L+#@oo zF9(PtFitc1zYi72w-Vj}Mh{65Mvi~e(El}vJc$P$iI4y55C4BKILy!v1!WX8)M4(B)S7Syd#aa^c)KV;rAaLlB;N@{UJ&RBTm>vyYVS%{uKe*@vMNFh>H z31eZJ$#a&Grjzo;r@|^1$^2{1}n8a$8o30p$gn9-tvuSN&HwA=mD)PqwMJXWg+fl3S2$ zW9%neE?f7*AAPTIyEtKcV%s1~sjQg`EkfNssrh%hxuh1|*ash=rLwTWb9)PO=7#4z zY3a{-30vsO(^iQdS#{`>!1pvd%9J_sbVM#X*S?_mLTr1s2Y-Un*MpqhI}b_^`ex3$ zuphY$MI@z=d$x>AjgSpqNujAZdgj!DVAd#c=qNkdt>iQ)Vw){(joZ@(CtKQy_2D2A zr6vQ-!pwoa>OGI=C`G{Tt1;LeYZ;j_5OqlVf;Ai)X_o-`CHntszJ3Fy(rK0NZS|wR zN9=soJ<*UeS3ZPgeqZ2pdf_ykxS?~_W_TNZnL}sz&}RQ|&)Qok^tboYONr{sM*T+D z#G?UV1>Z(xQJrmf|13bSyO*!suTfK^e_(`ZRWjXveCw6n$~OY_X@I^wH%ON?4yg8i z*}uB>|GFXu89cdbvMEWxo=(Q8OTiJ4#VgC@=kC|gDALOt0n&@fLd6Q6eB_a7IQk?Z zNyJ6gN6_J(3S4!iiQf1A|EMqjJII#c1uoZz1Xvv#kXkQq8RW~EO7TU?f@lQ#gZaK0 z+i83Q_uhPcrb?&jGwvk-VlGo#-te(HluopFQDLSVFee4aeANDUwMzVLgglJs#k=Nq zrDQ5j?W|5y9&{FgCP_d>6`cp1n%mo)nD zhiPkiZc8H+>vYf4CCw>BOyAO3DT$mp^-hMNTRsj@CjvY33@RLMJlZ=bF*ffwSe-#o zl-O<#zmXgQgrZv(x&ff}Xz)t*vxTfW$%H0_*h?ksYEoIoigElrv-x|zq+-{0r*Z9s zXwENWsb6^MxonJr&+nmk$0!UUS+v<^xug`}bk0m&4xlC4r#3Elz$cRGM`WqE8{N!j zhap0pK|W6UpRQaj2LWJ#$bmBz47wJERL4`07fN>NEmc^AQf&8dz+J_0r>nZ@;?Cru+@vuH6ryN^?U?*I~QwWn_J(eqMy( z7If3xxhj`xRx$f+xARC}9{~3Ww`Z#sIB8Hymw;#JcN$Z^}&Q{4N;sxE$244RP3i~S^ z^07oB?VJHSe;p&4&~}V*Qy60T;w{q^O*xas^{*cp6=+fvK+L>Ad{K-?sx}!ivc*Xs z9}f9hFkZAeqz;OcZ_8M|QrAIcDlOs4pHH9hDA3_cnG|9@d&LK1Col^ysGR^#)q%V< zrGA_((41d8`>x!H6J?sIp$(uz7FVig zn5|AdrvT89p)%VoyXVlA54#~I-yb)81|=P0c#gR9(lfN%XtS>O-cE`Ay_0+g+7%8T zyoA;$JnY99;_lBGr`Yn||9r9_#dY80Qd;d|7bbVVuU*~WGk&I}mN0v5l#vAsQU!O| zb>9$iBrR@ex81Aj$dIdzrZR9xe#QLm&-S~`8b13<^KU}TplY^d1f$C5C(nd$ThH|w zA|k)0^m|FSJ3|!3XvDh7Bz9^EcpcO?N4QnW?XEY+-tb@GC54fY(^)~z0EbmXYrJUF z<^<}XC5}!F8SJ+ z-=aV(>GjXU-flj^Ue7?syw#P+ua4X0qo1Xk6uCW6+n=O%czJQDC) z7wzKF0-D6@@(;RiE54VqKiyRDRDJ)3MMEuoL|7Jzg1ygT_>|@>`Bd6c<#MFKV!MIz z$&+VKqbSwhqaY)P0ysyvO8D)Vvwc2mVlhKWaY;!BiXBa(aoX0zLxC5S5c-X+xghsA zu;nV+@hzL97p&2e`xc)*Oa`kprL-SpyUA-6dz;-cmcWA_PK+y-2q=Aq@p{oQ4dt$aK0wVA0f@lClDv4cf9U0!>u zLpp$mds=2QV1<;0EYxayy52eeYkCj=VhViV7kI{CE?E*lfVcvf-HDys;FcM@PT5|0)v?sZIRe~^WCSxys9*wca3{6+r14jxh z&SQ5N5zXPKdqo?r!v~tJ#|t9NyD)9s6JO1P2Nc>XOUFG|J4u#gfC96aJ6LMfa?78N z&&)25pTKC;dkdZwQ2tpm6X0p8h?<<6je4y3+UA7_a!M~I(s1p|3~4lFNUuz|cD(rU zUfr%P$0#HRnTvf+IL>Q3T+w{3R^+XH7>=~p%r8a!?Ky9h0k`1J51F(^4b%#EjEC!j z%@I<|)a!RQ{RP`og&)?x(S)NULch!;dpEK>n2MT@iox5w->mCxDLH~>mLv8gnz=%E zl-W(smJH8Pt zmI(_Wqn)@?ff7-us@3RXB=r+W;`?&)hW%H&q(M7B*1U9xvI{Qq!uQTKQAm=&Ya6>( zhE+YJR)NIH^08o?Fs2f!zA@jk@B%;p!bTbu>#k|SC{BuWOb1r2tEnD%x}a@xhb+Q# z6|fq;%%i_==%w={q=}$4+?yAQR4N^D2xP7oS^O+!GQKxY*WQ$AmqV}ONt#Go1+EI) z>P7bPI`AmutEPH+2yYiTM(rhh1??2OPhYh}jfL01IWy(}H^#YI+Fw(n>Y(hkc`;JI z)`d7SDlr-EzJkqTu^WAJma3?IYf0RQ9zs{q>%`6qh*I7<9aJ9k|;SV-CZQv_o=0;J=po0u62VgI$-W)A$cUyQO2%{ zQI{V!|09TM(b#($#<77CO?TD^sd>@vSv)#uUt4Pah>v&EW0mPgqfis|7ASN zi>Oi0|B)}vft-vZdRR>C5aq;F9%7?u=;&1SXsdQL`jue*$Zo`-2wJ>NHsAR9^h$`t zZPHnB+N6(AO*LWt2(`mx(Y}Vkp$VUwOsAu`(-I&-kwcGFDNc;Dy(Zf>uA8)Pj6^2g?rS95O}00 z+h9i^ILC!vC2{)~Y;r-T3@68yQb>HEpcmb<-Wp)IySHL$KVUY}KmZYr&Uh&4x4&~O zVM86`{^9A^QZ0cOdTH)rnD9u^=(nb8h){YZt)y|S8{decaL$M1Ej4x+3h@4i5z#ZEq+^LI{)j%}< zq=4Dg5EJe~)TK%Vs9vsKMZHc^Z;DknwRO+8Z?x|EQmXw0av#i(kJtq!9-b58xig!T z6{sN-r1PAi9=?U-wKc5yfjDtN$J_WhMY3x_Sx%i8!{MSzSLMZ-& zTXshsMbIT)+Xbo3G-0oN4mEA;Lq?suLNE!Nn+s^BoZf0;jzV zBm0;yEKBo8X8uW{kY01)8DvT^0@@niBX)kn-zd!bleeQ`!jK)enAnII=HF2GpPw$B zl~!A3F&ue4?YkF}@vtXSBa%++cJLP+WZ`_H=#$QYwVJQ{3_o) zX6?fuO)<0FKY=KEpZMqD_9Xe9tT*;~#b@QKeG)pAIMWO{G5eaGFB1Gpx_>Or$d_x6 zWS?!v0z-BI1nz=`ZWhkeZGxsr*M;3Y%}A!I6_a#ag?FQ?$qylGMxfnp#`7P#3q=xi z!;XjySKu$5?_Uo~@GSx!pptUd*Bz2~gRL0^^#q`Xwc{jBUql7+-EyD&YLWfx3NEr; zcv_b;-;+Hc#kX4dG|hfzO}$0BS#$T3o2>f+pD7ESNl$xgn z>R4C2*#X#yKhJ)w1SKo7064lRa3lyvbCgbwmdF?vlO}m&$nEgXnc*y>*7M#{q|n>* z*CO3V_-%(05Ld#k3!Bw!H~^9^@a1olzeM*_isHulPEq%S%V4GvsMjsB^NFV^5avIFJXwKSQS)DQ~ zR-x$IzY8#F`V48C)u=ifRK*8s!q|P(<(+4fk32r9(?X3!rl*_Jc*0RPd$P4vlc{$S z(awNdx-g*SYW9+RzAuLrY#`Jrl2c5GMRiIoXEx4vW!AFntj%ocTxp4`qw53AWCV>d zV-ha2H{Y8nLN>+^>1&+tv5$i+A+kE(8QR+P*!F))mcJ^FWXxAitv&~F3=}zNEyg5U zD4p{_aTK2?USG0aNWtvyy5-P~o_?M45~?{6faR&&6!!LaQfdac{>4&i z`vlXj5|NWHEavnVva#<@xEJ%XJP9&i-b%S)xgHo(Iw0$Y_R(INS!zQ)A3j(_d|w&g zpkF`mR?L@TP$9f&g^A+3>%F%gEg2?q8}vIbELyPF&*yV#kyAsDV;Z0zTN?8jSn+|EBI(~5IMRKYH*O#;y-aA)M2 zNXFKRjj+`2Yi*hM6b|H(dlnyznS&p>b_L^cuc=g{jRw`V>{6=G%&lziGE`~{yso?q zolBN@v}_b}M8*S;nOZ`3qMH=I)>(p0nBVEkf$s!V7?QCI15SPxjGt^RQe2ltOgYe9 zW0J|%(5P2LXNlM8Qu||ZF(r_8V6|U*TIsOzYN|a(X_Y$ViOdK7e0;?gsQZbNBbJL| zxkIym`;Q0XnN!r<_n~(yt{n_jT0^Csm**WB9Lay5eHSDcREQqjaF1HoDS6T}b1Y*0 zfdME;{7HWC`Y}bGX+RiMUk?>k`dtqIg68XLpznp#-xLb`Q{9vX5b&JY>yYGYzYPxf z=V=d6&~`&y+WEqt#{vz&u}AuTA~_Fa{=vpZMy}of~QX#~fS77ru=Y&NLq*7Kc*-X>V0Zn&g;c zv-p~5xN&>L@B2>hy1T&%G8b{+a$;j+!+o`m zyBQ4OB7Vy6HVE0=DQV@FSv;ha*pC^Bb)pBLH2T|^`nUKq2c78w$9(D6XTLYTeU!^& z1n>B2^5VrwYmWMWl%`+H>;7{`A81M#i(D+XQLdbvn7I9R+COzK;c@%#0SZ_uw+VU6 z(z%kAWlpBBM2YDOnHjxlnMEBpjfqYPP0AVzr$(Ya3($bZq#vj_4S2;?F45D|%eKoK z{(0_`gohLz(|%QgutvuRre8l{$3Dv}%i4z*kZ2@wokeW8UOVO%fUK35-%Czf`NO=g z@BW+e)`gYI<7&bGpSgj4&XUyv{}~sCDIx&x zne1-@f`Cx;8#&3lqN5;KyFS2e@^eh<(ZBmI36rz;)>w*~Vlt0eLiP9(axHTDq+=HR zO)zHafx%0aPBRZaGdUCdIX6yU$4@D`APS(@Zp6Dx?OqaS8LqS^tP~jj#c%!3-<@Xv z>$k(`1&;0ltw{h<=-DPLi6bjl3i(!I$upJQqTbd%)|C9D=xay<|G-9Ho^FbXH_N}t ztiOM{5Q3kNBJ*Hl7MZJE6br9dLkhndrnOtTy*&Q-C?Yy<5XASy!s;J<4-Yhf_-gHQ zrMgsEY;XT;Q4OQ=KD~rK1>ZgINLcV{cZ4PQx@f&_ zSzKS46nRsTM{%Z5bm>wzqHtm2M^LC~&7gDj-FL4H%MUPG>C!9MYX~pVz2#J7ZFB_HS>vrPK?b$ihbCWi;K5@CusOdoRMBAsw=gwjp_>~D{+C| zWSwsPAf;1QZ7Ae6&mb6V++O0)`CPl&{cD`4Jq}xhNpdsAoAGcE`dE)QXDB1V#!D6m zCBxCL;0K#GwTqnNKFh@@et~bkHvtt7#g=Pcqcz@*$uePaP2R!$xP0dr3yD-)Sg4sn zv6;f>hihh-!oy{a&DtYxw$ZEYWu^!XX5F%2k^PPnuo}AA#!;w3g58$(+IppKi3MYl zkZZU#v@K8Du6a!?D%htjjz?((vgF-4AQg|Ro^+*N{cfyMwcduQ#D=B#>}un;*Kr$D z9ZXa0;zzvgdDfsVgJEmLDeT43relw~X7gNE=5$Zr7ld`=OvS}&lv=LEMNnj4D#%}0 zh~(-)2m-wsJCa_$Bhp(ui`lK(ii*P23Ti$Fn@`m}$j?dt4E2Of%+Ajb=_W0}!fwhe zxNVBK631!0sz7pXmPsIz#dJoOBzaOBs4CRl&assXPqA4W-dpM)fH$bw zrH_(_Q@6^dvU+<$ZqpqrI^X^E4p9EGOm^&*_>0q;!t`Noi1j%h&@^j$Q)}K48qa6_ zWD7?w%WSM9aOwAl{nv|uKgXho^{c2QN!p#4J8pQ)O>0iUx5UFu<*tCzLTz;R{z{Y2 z9_MzBM&5@*0(w{0zP1X(#Qh?#l^-!h4&$d}sHn`NK~sT-8eEr>c*J0-b)~*}lEsM! zTM8)NogeQo-2yk0}W=F~0F-Ioax#%sa=Id#DcyH?MtTd$z&s)%A1#E8ee5qyW$x(MK_tzx@vtQs@gM)$>5!WkF zaVns~B4YKC1g5{xc(pEozPVZe6NF5j>ngA1GM?fSJ~2(2;g)mv(l{yswz%sGN+ zZ8V%Ue_2de-d``Cj;4RK;_%UAh`Tw+?wM|$D+3}>f@G|G+%SQ;#$#TG3>=zn;knP! z-hrFP;SN>niTJAWrH?o*Vi26%65fwYoT}wnp|`m09z1X;vmFXGTSg28i$kw7{vHdSB*$y;mM^p0 zeC0}4G0nH^+ftZ7%C(rjQZ}julY8qR=%^{h%ZwwW>(1*DmB+Vc`MkE33!@9v^Sz+M z-b#1As>5ou584E%`s-NH4se->M;Q4iw-Jx_VV<8(1e>)tGmQUK)Ow-x@`sE}aVzkHF~XZUIphu3EFV-=8T zg;fLbxv@1dpiLr}_?z=wvZuQoW$>pi+BHlCUU?q_3~zIdK58wHABfIOp|Km9uK);u z`tw5b=eYXD)C(HbWBgnf_@9n7l8A(4Lp4qbh(f-$AUO#bx2MbtYd4BZ`)`GSwpYQLh8t(7VK3X0_)yv zYq2om%Pzk82yISaD?{;oUeOL&vTeWS3@2018YxzPU<2=8ajC5~#i+qKST_z6Ls6R3o=5)V)8(VCS_2q2f8vd{v8ZH=O6-Vwe5M>G zcdBv$*|N2f2e}qPom2pgG>3zB((iXg;*)(mD|E+NvUB#VOD#s!u5jo)_jyZB%c5!E zk)dwm+XvO`V|U0P5`tyrZ~;B%n`P0fE0}jpiCv|6 zn}fWEn(2p|mq*$9kT~g~g(jNb;lj!s#-FcMCVSfj&n~?qz8WE0CD5NZz%v~_K5nZK z6&g|MJJ@UJ>td7t%-<8Aa>y#Kbv`O)3J^Cn=mQY7@^4XQm}aLue9BaBH`A~DEEPu} zG8^@ow!?Z^QEQ{dH; zGf9OF%NJcZSy<=JG1$uxaJgMg2(w0MODKMQ@}b@!D8E*0oRgB~wy@8Bg?{D)J7w!w zkQv(%=TBqGWP!s8ds{-NB#FJ`t(^R>Ep!x%AZ0V4=Geu|HO?!_5S-CKW$2H5Qi-K{ej+dw;=vyXz~H(gMQtToW>Tvgm5j zN*RH}Es*xXmdeN6vvNET<>k@y(ew3w^;Is~V^*j*KM=tt+~@h@J!PR1IlY(-z3O>14>KgZNXN<6{#*V?`yov}o8 zzjJm9B>O+8Hx9850qhHC31nUr-+55xx-iTP7$p&Cm@C2%Sazypsu``LpB2%pW=&P* z_N4cVw7G6%jBW%`QQ*E3k(}4tMaNk$WPGuwS&#NXm$e~#O^X%%6kwM~evb*yxUC90JL(qE8)+)Sya9M9OxUa@rw|KY6l+?Gf@2`Y}p>4+JR!=)a zfV$v}Kn#(FT@(BGQJ1hZf5U6=ol&s06}^G^UdUB3d8?~?@|HCG6PAx20S3Amc ziCE?u`v#M7q!|!B%jJ1sCfYPm62i)kUZI)=?dR*yQNv@P&WFPuu>PVVo(J3C=B*1F z`7ZEQT`PXPmCwD=V~I&%1>Egt3lFFFVVMaNfEa|RafxUQ`3(9Pr12a*H@>8?cb*2! zZ685$J@avV@96wyABB(Q<bc+|9cy^(q3nV=J z0S)P+eTZm=b7MzuUhNVRm6=tFGlhe%v3CxH9-8i5JmOTb*-O|?dK;qxl^ zEXUP3%wkY5*_umYG7rDKuTQ;Jli4VbnZEWM+)eXc4cj-K5YYO|Aaq_kI(i0#utf>A zb6;p5ivJ;2==nBXm;I2<92_LZ9#-y$Jw7<&z)TIfLFOJ$cZ0rt9l$A zyf#(eWrXY6=UK!Mt&a7+j~P6ej$sc~us>X3g5_2>yxnwtb3y3zn-^q+0Z1(xF|VwF zNa6ysRxfnn0J+%yPqwaddC#+Yb8;s@@V@Bot#c)kRkPR52Q4%cLk9@awW}L_qx~*| z|2}a3{^=XNUtqk4dio<5Y9X7~bIaXbw@gQ>2R2Xa&tk@8_%QhrFuWDf;d4B zy93e7)#B=$_7|t|OY5=j{fTKKJ$Vb=sxRQ86!f`WbgFsWtgBsQFR>av)+W7$BC9p@ z+@UNEt@&{8PC|F)!xUAN8OZ9$?qYNDku{LDHlo$i!goiR9QN8>ay=C*`M3ou9b7%)Jzg81-K)*;=&Sk{rbUTO?sz@ z-F$M_=v1j!#oxK^v_C{IU#ytVX1y*v^lzxVQ-xf)nQk;YNxsA4%C_cGtIcEJSk1wn zT(@E-bNRE}%)ajpJ;T+p0eQW|HD3W*{;7-Y^UXryZilEM_x7`>z1d82edNDV&jZzO zJ4cdl&3wH#S(K8k7c;bIu32=ZWz4pQ1Lfj9N1SejMPZ5cXtRM;RKxh9tC;=A;QA|V z3Gt<3hf_Rz232toojdyc_dy_Hwnnp1QEO`LG%x`gIkcA3aq#g6L-jLjwDWns0U}e9 zhQ3UMtJE_+9+RI&VnZvS*~5UeP`U*|V`jix@d5_3cq`eNrECqb&5h~Bc~-S|K={^K zE^-J+U8`SKF!h_)Vg1uW5z2c`AoLdI%p*7OxHHb#Mi`Mg7hJ{n03|VyUO3JweOk} zL-arhcQZ!=%C)6xJy4Y-TpA>=`{OXZVuo;L0E5+ z|05dxXCe5RkV<#AvSQzntS_;KiSs`xGHZTrIxq?XUFNP#g(wi8_Ivb7g2v)`4QjTV z`8;n}&@KV!XkvpzmE5q5*ZHP}gQ|?4%CN6+n={LojcKTRG?Gi+|XQo>d=j2&^>2BVT4zr_yWg zCbRCB62J)8E48AGyZ@}(8N2yO#KG5TZ%c%Oe>}{|s;R3g6`K;UPR(&JP|&gjpRtSM zI#6HPWRwIn4{?7b5wZSkq`>bXwGZj{@3hTO)`qb(pw6`9>%$(#@XQ&`x}-3XossrL z9lTwy45JfesVZ~>d3k^b+rPNh-^rU_rMCPn#kXZd6w>D1%DWv4`dx<8$Q?ZX30S^U z9d%NUBmHiS0T(M+^eVzDh-)8YH#jr05qd3>PA}Cc9U9D>ZPiSu$zR*>s@bewE%l9n z@^_`BfJd;a*Z046PkXjaicLj@>5uM5?+jvtMWNRQ{@ona8yL;x!!Nx+5bHmFXkH(A z_v!FYl+yZbG8*>;G79EX;Q9(1ZL+;Q*5Xr?uZyFba-NLWW0=(Tp49%PP}OTP+>9Z6 zyX4T}^gk!|-_t_VFVKL0cK6e<+WPC5mmIVv7K=0}8*l3Eaab$({XGnFP42)$dgB*qau1>U|G*8LLuJE&0OSaoYEM#dddmNfX8tQ>BkC6$d-YvNk5caJi>wS@ zP(M=PAPHPhSFPG*eg7HdU+0wwp);!U&Dq_`yDwf8HZmd8A2}!y)YvQ!@2nB#zY_j3 z{0lbXpTAp{lOWKd86wTN+yOe^RJ<36CjEHax$FO~9wCjo3^>~LmwBSkylwe*TsG{R z;mIUFN)|{g37dOHLUF`#C%Y-dp!Qt!&{1oRJb!&jW49D8Ywi$={ib zIs4D`{<6nm*f^DX2}`QA%(8L2K7HzQKFd`Pi1$`XJQ=BQgJT ziGkcJz8CguV*mXAe#$SuRRMBoj$32rjvJrX_yyl#)Is^@@SZs72CfE2m-u^hfFHfr z;ozxtf#zJ*|7hs&pAQ}50Le78KhH7e^t*sx)ern7HIEzcVUXFYgg6}Anf$@2xd&OC zC+AwgTVrbChx@ybkPpGsJj9AFFbjz&wt3reR z{5F0LAXn}Z_c&j|?-Z)mFh$x;6f~Z#-W}xSskP|5i7Jphkak&}X-~NucJ9xCV)zJ# zLLbw~u9p?QK8I%Q)CX^6D-tL!M`ge|Nt)`zF*RAz6%yZV`{{nJ2my!DHBnc#aD}%f zy5JM2$dY#=kjbJkNlP?(cM<9Q|cMQ=8mN9*`bEsuW3+!VXs^n=&+)Y8*RH4-b!4$MM?qf8$sa z(E`SMHoyRA^_lzM+I#D$DBCW4R1pwS!axZLML>~IkWLGvm6R3`knS!~2?;^ELrNru z9%7i07D=h0Lpp{UV1OacJ@5DF`@X_jXPtk}I_r17|3+_~=ecv=dtdw7dpAghv1{^n zfEwwC1vY6x$#;I_Vx~e_faNFSu?BMn+^hBO4#X2U%;n`$%nzfr3zG*jL7uN%J!b58 zR?`lfzenaw0hFdJxm0S>w<}H32}I_6R__=hBeAa*@bYHUD*tA2m=6dv+Q8X!Qza!83k;2DqI2J{2?)xF6gO`YX%qJ2wqMn%%|qFG&*ey_@w&m+GVwSxf+G7 zq|}COaViG~*c9_a6yFXe*~^^}V$_r3X%eD-L}r~xbt1_H zFXwzYC%F$ZQ78FwCU;=Q1Y@b4XTD=_=!xA`5Zzba-J*FBt$unpf!=-fBMh@_+MFl^ z&@ZoKK?jXW;ePFVp);}Y1Eah-H)ULwZ^R{R1 z9Tq6Q5pw=(QJ0v+YPQ|%Y1CJh-rznA_ zvc5u~IcbpsgY~f0O^8&I#|5^Zo%M5YOFt zW0R50>RX?^b8rp-kkq;Ay(rhKf@=KbP4(_zKD@0+p&&zR=!j#^#=^iuqqZl`7spfU z{0z7KvruM>J^6<82=sE*R^ehzoD;`%Ri9H{`0ylf55}pK(o-v=qoQbvi|$2oMNtT{ zv*&7Nm9c3TJr#6VV8GGR+ky>4ijCXuMD07=foMZL-@-)QKDe0gcTPvFz_3X!U#w)W za_)}JbN3k=4^tku%-V`%QZY>$PbR>BIoB8@NatCb zrA%4N0UH||t`sk?A54*PaO|=hbe(UugRjG3J`KvpJkt`bMn}6*pe|`_WifUTKeU-} z%r$h2!hdeOSJ!Kw2{0!MqwyAkzStVJFmn}ceeA+ZG?|XbHRHKc+|*CsA}tp*Z5M}Q z#>Vqnlohps5}lr*`=?1`n&hZi@DanT>8m&FW?Ci4*(W@6)DVnW3dxRUH4ahH?fJIS z0D(knL;z3m5AnpzU>d#whkG|OJF>F7w4DZbl1}rDxfds9$efY-$Nl)<&WfAjU$Baa zi0gYWH~7$xl!_+MsrZy+WkMdPm8;{noppYysEfv`9f(0SjV#MCgyoQBG7g?`o7XEf zRYC3XtiTL7(u%n@P`+{Y75d;J$y-te!9~w?qbQ4E_x!hZuIR?eU~&ns9AYHu+=5O- zKuM5!u5dWOr(a%P?0PhER(34tGfg)jk{f#2uNw4a4`IM%heFH6^Gb2^T0%wm|DoFa zhw1AbarTklu%B246 zibXx; zpVgKjc5B~~5OT1C(G^k{yElijcL~7Xudo0^qd#o*v1W@yszaWHw9lQKK zLuLiOw|?8LSs$c!8eYhnc{FyXKUe*ti^bqMyHlHKO&{J9cB(?8Vx}`J)N)*t$DsZQ zN-N#?7U%GkOg1$wz1dQ;p~l&+`#GQBv>*Ru<^x40U4lU$l!BDC0?2_P%-M!&bNER% zl0grVEqPju!%P)Ij(n}Me290C*kv-9k2;w~(Od&;rkO5r5}mwzyo$*2-tQ_ot&aAm zHUgl-VLy32w4XvOwYi-$97MT{0(pRt9HrF3)K}Ir^-tx{S{ZsR9oDs~)&b|g1zi>4 zCs0>|4Foe*m)@rXnq&%|8DjH5wI|)4%dmCs`SknL4*n?GZFCoxb(8cpoz;~eX&*#j zyI*pyw)|}#|HYEL?pU{_$QQwNN=?w3N%|7s=qDud>cbIXkKyezmXqpzh8Hm)rFVH` zMbcHCg9mGEgQfZETZJ5@-2+eKM!gPC{iwXH$_yiUiZ;;KU#j%x?>wOin4+zjqaGL$ zbt{4;4=v(xFiF8oNP47}P zsB^NCLPO2>d)Zi(DoeB0QYY!BQ0SChBcm9G{t~ zYk5hS{n&BW7`ZokCDL#fFqNnHY)x-;uiZz zFx7L2e7q$`A&rP@kT7QHNwI131*VsMK_*?^Tsg9cO`kE;h z|1JFr^UySV&|Wj8ekP&(sqqeW>vnaXJDu8`PrfZp3#9URim;B9W2{4)>VN;MZ$NwG8g*j zp6lFpZC>imiay`Ecnk2s__neHIY00IMdB_a}%Ze^Vyic&GKDnJ;5Y`CA|OBOHG zJm840#8xJ89X)3Z6?pKpOU)KcwF~p>h*}A9X|Y>!@qCA`Ec^43AfSOFvdb|{^DvN; z(?VDmYMD5tV}$HB?tKv5}CGvR>3<&>aS8<$qG+b086LL8r4R;%kl}k^5-?Gu5eQreptLoCWMU_@`FYuNe zgM#5dejTfJ@&%IVje^*IP=b(?j_A&mQgMT$#So>;e3#K!7V!5y&Xh~m<1iU6+Ehb( zk`0etKcVp8;xQNbE1dcL)p-xwAy#BRKn#tdTlzU>dmburRo*`2i%Jf%KO-YZZqTgf zvt_c~Kd^vbl-5T9z_>jT^fHP~J>9_1G3@R`i3;A1QpLOlk1$T%(Gw+0)$c(T*LX}z z98=CzN3y~Kl@)(bU?5s&fC=ipV>{yzM?pg~saSjMC^$eKhj+Iz{^!qAKS}`rOYn(m z@IQAtLpnYO#us&MbJd>kx1r9kK*06#3BB^$#HuY~nzGXlMCHdEmDjI1Pa5g$bfq3+ z;rr`@rpIgJ=((fwbOKN6Y=QY56GqcxLo?5&vB8igy_n5X|IEF{gWB@EFkM z4HG$QVbTdg2wtCZLE}5@al_tYA*Z3CE=+p8`5-H-p@AS*!1G_}Y=1>xNQaYJ~mb>7Aq5b@k3Uz=Fj(0KRF{%?i{*SJ{3qHXOsWtjMck`G7 z=7Gbvty*35kCBSzIJm3r>5pf}wC&>X?Xehi{XahR%QWaG0um)Y^;6n0Z5udz8-928 z{jahAJtXgf^8oGQefU`Nn6|l#pv}Xe{o*kbq{j%(iMemUhhuir4;Ik2+nB)ePuusu z->j7YhqnJ51?@50`I7=@+Xxm=_(x5EUlI>YXiZK56|3Me1pi0Lply!EE(vFq|6za- z(Ex~0k6YRP7=pjQC}{h^HzR!am__0Ri}e5Q0;ZphPhu`k1H8?T;0Q>Yo9Di4jkz1E z#-xn`2!ZX^l6tYe?>VX)92^|;fq2g+_jb^>%K%krXpQAQU0@i8(+=M-cH+FrG#&9G zy@jo6HJqBB4s7sL8k_bcT>iU!BH&Y> z=R}q8K)`t}R2|hWWEl6`AjRf5Zp}rIK70=0Ac&9|T3VI~SS(E&Y?AY9oBiEBd^)+c$ua=CYx& zi&lLBo}-|2)v_bei(qOV2~h59+A%R{Zr@K>K+Chg{8?i#E&JWOci%6B9*5<|iz~C! zxNlYba2)?)6uiJSN^~JltMHLd{BBVMd-$qu29N(eqb28L#OaW8uB~iduU>e?ZVle% z0$hTwu9&-qfXwRFOpnEAW^G|W*`1}Yk?md7VjL3(uKOZRYFvx#S|yKkJa;It)JHNe zfSva0vj3OyUUsPRou*1nB!^LFHb4s%Gwn^XRdO<6`+f0>pP$|@cAuzi5cOgKw2bTY z9@|M9D@e(EM18>1PX!Pzm(9rN)L?PBCa-~{wrZwpndmPKK zE+koCl1Jz@k7ezn0oaZtbWz|KEdSFphA(f_HW&Inl8t#uCONxXe=2N`xD}2g__ZR( zyHgLh3Z<2Qe4Fbjd^^=_XYuJ1;CV}dTmo%-A!0kN78fyqEYQEH>p4%*3}R$G@=v>p z+P-{XEz`l%|M(cA55&BJ?+Nx--mUERRNPsgDfOb4PvAEJSpZ(q$Y;B5esTN(_dpCa zt-!Hxm)w?%pr(Yh(AZ`QsG}FgBXgPCtd5LEJMdrFo` zEss>;)Op*5o?FFp(Yj^NRrU@zl<(-xr}7q9U>$D(ce=o-7FWgz0GzR(qNkqfhnJq& z!z}g*^rim3G5;3I{+GQ!6YJ25y7vzUc>tb7x4C8Pg@^K1ZWDXZ7X-a3mN6OeEZp$Tmt@+?02!yvV zl6wu#*si~D594NApG2pjJck}>Q%xYuP#CmA3;b{?4&wy!?=|Gi=XGgVDOaEF&d={-Bllk_+JPW-vCT!+p*m~IP~gzxOyq0c)&va=!b;qSwB?A>0Hm~So)X=>cF zGU6DavBH1PYdOdUJY}H`XUDh}^EIJ5an!|m_t>57@+&xdK|1i4Ab!dy>7etg5+rFP z!)YbSF=^JjeTy38b#HYufE#~Q&eM2ID7Nbll6`SKi#3ArT2!_sA4Yj}aEfA|6JKT< zFXf0mMhz`LyEI&?cAdjHGU2{}&3ZaW6DxTjyqYyfa}qt>5}nWj>l1iUQs^|MQ*j+l zp;+?jS;fzQR-Hu`BRU~RSrFmP2vRbIoogH-I(z9Gr-0qeMsDLV#wK|w-ZL6lz~K4W znxnde_nix!<0?2Oq{P8r+WX&<>AzO)8K4tNop^SP3d%q(4BBdnXWNes4p^!{0hh+} zKSrlN;XRHs_mf1Nj?st7pWrG=Ul6}^jE+r&k5hExqhls_%*+`_}BkK_%%l#H|TpTqv}>mXFDe z!7%<1z_Fs%4>IQdV;c(;3sG^UN0*nEUvgp>71b$8w4bM3zcgv{cR2VjC;?v%JbFJ( z;UE}+J#fR3Z+3o6MgZ3VZ%d-n2qSdVF>9~D#z2}g>!`BFKz{FJ<^+E5!TQKHniC%S z(2p#hZ*RQ?lCCvS6umMdx~yF6s9j-w05b@V<<63sc;Iuj<<_5<%n9#rxD*yU25c1H zqoK(~S{0pu(d>sSSBq&Gs@bt?_hz@+Y(9eJd4I#nXBUIGx%bO3H0eOWfzbQF;7DNq zv#^q>Hcnk(X$EBvUt;n{*1zXKVn<%}6nMY#;sK7{?!B3#*xO%8L~c@H0bAzXaCl$7 zO7~KCV{rV^Uv^a}D0=%&OLv|ek4Q_$yImVAIBGpp(hOp_iHWB=W^?#Iwd`#s@L=U6 zqd_vv!NS(DySCOdc1g z18S?RuSaCB1HV#pW?MXJEGmG)>LXzGfBb?`DMZ6)UnS#o)x8xj`goc`vt%4=JcNX9 z$sv0L4E%aWFr5MKX1&2%T%=?{{3e@_+p>AUU>WsbwQ)#m!cJxG^FqZBG%_c7Oc16$ zpP98Q?W4k&q@Szo@2a9dB+}o5SPYhbR0ic1bmDpCME5uB1`dX-j688kbM8;-2-@A| z;An51Ji6HLpg6tUlM9b$%nKn8_&D5*$&nc?s{M@VR>PV__7yu++zaa5PkMhIs5(~A zy&9jMR1oD6%TZ+u50fBoFZ2$W z;`h03E;G7qEz2lp?)Qak0d@H7aBQt!$-l>xY3P zYCM6iiWyl1jD(DG3k#W3YJd`9w-`QShUn218)Yk%x9x5ST-)M~;Nwly<$96gVOg5W z`_Pv({M2dECkVJlt~vaOg1`_&0MtywU>^!1)9%Vhz}c|~_Mj?zg*Jo*1UWJJ5MK_Jq@%kDoNr+ux<@k;&fDg0mrNL#l*}*197G>IS2^`^ zySt3TWy!qNzst>R0TA(rJ%=nVn3nXO!9_6v(=wpO&G3wispse7OyG!m z;zK;mWS1!msA^&@Q_-0*JG4YPV9P^c2eA1=nO)SFh7^~3zhdH4<)@x z=C-y%+B>UyI}0rx4;D}Xs=7x4#!q-poqe?Ai>gGZkQk^&7@LkPbaCBJ6j14psh*1K z%8)T`pDSGVJe(w3?A*&&s)~XY8)cmHv=0R|mRB!wpQZU4!P_4RnzJd{%Z0Nb%#%#T zB{2=_vXz`YC2G1K`DWUqK6cz7)iT+iX^UqjmYrX(=g<}$XxoRcIAQsjPT#W7G>-S! z9hjYAcXeEuxm;efoZ}Wae~w!Ykb!s`Xnty<$~}>}&qhG5%t#6jt><(e8|Tr=`(9WJ zKb86;ArwUKvc>D$VXPXtpOJD^=tHRT)25u5XHA-{%AZpbJ;uK#UpGW4p~d-(oTPzg zxinCo@?^x41i4%|oT5`hBP+hKslL8{Q;Y12a`uvI+*~&F8SDv+7Qtgray%lsgJ@?T~PAw=B;(KVu~p-J4Tt%E?hf@2{L} zI@_I+qU6{2A|syx0(z?#~lfOG5o_YN3mBQLDEoh8}FH_jB9U%Ad&CGGAG z^H_3S1!Y62ykn}3?ij7W|AS#Y=X;5X+Nx;vWgRa}t%UC0Y6B5T@gDD$l2OFBgsn}n z3Uyzlcefh;AW>y0pN1?o!mff!T21XEl@2)`tw%MBcYvTu014xf9c6hO8%-zb{-{yG zSqE7A3AvfM(jXkPb$pjILne7t@Z91GqvVJF{lowApGav1r*imv4S`q9k!E-6{*g=* zMDIX8o}5b`bP*>{1@oQqG}FmwIc?Va}JbRnO>S6bhOElCMn2w6C-B!o%3t9K3 z+dQP=c2)jVoujXBP)!H{nZk|7=E)4w&`+LJXph!91IE$!V7^iEjiz1f%3DWz=}0y` z`eQuS6Sv3ql)qdj!}`k=G!%bvKx6V7sR&5>mKc- z#ysom_aBj_;WaNHz38!Mv^kcm9e;CdEJ(Y`QAno}&`zszo!5SD-8~Yu%0Qlk8^Ik* zDy^+AyQ55@hCHb>84Agw-GUC-K5?}sQdBGK&|~ktbJYRx4|e4^(a-m0C2uT>b)t5k z3jg4vzRa#szcjdg=3;|GUwEv^9zUptxG_JZ3m~N%peR{sk@K?k*;d5u2#}JPLU}(0Fb5_7-K*1tyNRDVP0C0o;xA4X6*yAbCj?Y6#j=zIO5D zq4z1rKwYn5Rrw@gChDmlJ$YtoxU?PUa+P?;^$n%EjP+^^CDJ&|3b8MLnO*1lVjoNE zi!UJQpgL!dm#n8vSdUfb^A9xK?bP?o*%&3xg%4Tg-JAzG%&ibu`O6$yYzrxX^%L!Z z2(lXyVjJBavl{Z^ZrKEot5B=D#@!2yrlF%uFJ7r}k!~bC^b@^i*b)UQG;@FdOKJH) z&ECh1!sSURhco@y)BqkhwH4>YgW~pNBkI7$c%=4;gy=dQ5^AC#M_vX2Y4q= zoM4lYdURj;u<{{Vy$hyBaQ1QpxZ%DHyI954P$yoSj?F~yst}%Y?`NY2SzaQzqx#t0 z-Qeo%YWWH4we@GZ#%?0-nQtr2Kxaex^62gunUrE$Nt@9?m-?1V)t#;soo@>YFU=2G zy+(REF84gEbXr_c?JM(;gxZPx7*C=YcXMiEtyr$qf4@*-G9oQ{xMxST-O2d=`@J;B zytuAxgVPYhmq(nRAkGL7OztQ8q}{4cKI9pO^%<5a>~1WtRZE^0VcW-U-Cdd3O?z5{ z$7R%0tXQ#L{i*ol_XrM)%S{ax7eU%5NmYoJWpq{9M}X4L|ESIp7O?j>D|`7QxdtVi z!2-{BVwbrxdyv~)-2pV%FtsfC^B&kw#@|1RRGo93y5?fO%FyxYMu&mE0j#e%mfKI3 z`^`J3b8KQCNZsku?u<@_?tg>vN-+NtoWF6wUnA8mLkur4_zW*~$z^ z{Egfc_FB8qVV;XCNV$xQy#6a=kPr|i&;r{7X;^$GNGqHtK2;n>3F6{(KxU-$hNAnr z`!a!sZ^0F?0)AWUYR;Gqyl_0&S?0Wr{0-=5U-%Y!&EreH0;&NdhoU&l98BM8KX1KH z0f>~#hK4BP=?+Gdl!cji%k|l=P?&_V5Ct!u^=^gM{P)|Cd(lQZ`BlRHzX$K+EKXNbXLqdAu;iunr`BXaS!&vriPFGi+T*4lQU zHG|<9DE4dD@m?~U#@w;}&9))`0c6y5S7*lAiH*Dv5E2jpD7H`L<2hG!m##~GWcky_ z#IT3&JoI8am`dar^o=7>{3gsIR0P7&^3?9)F$f&U#sT`D*2r^2+Jmu0KYl&lYp6HF zd|cxJ05#VogUybpjzG+D1cD2xrM6Y>xW+v|E0_+UM*h>D|8-q!T?Q~}v`=jOagE!6 zSMZ&lC;!hGz{%BeHZW@(XSw-~Yh0BC!AD}IT5o@S<{xjjRtFQHeR<{(>O}uSQN?NU zbw|-_f;Gsi?Jj(tLYecyjs2Y+)ZM56d>VbJ9?IK|pBWe&8%VDQ5S%p)qTcU`>8DtF zu7BZDJt_5BRzr-~Y#fziRP4vZfq}#kmkxBU-HO0$(t45$e0_45Tkx9r>k}vO@QKJ7 ze*L&9A-?*BlBeVE|M}Ha;xArI05LT+)p+^!xCas98TGDl?9RQZZ^u=35WKFx9{l~P zlAyo-{qjL;%F?D=d5R!QSjnjzMO7sKKZg6C*U6Fl z3+3yZXN4)MOI%E|TdV$7Sy|bm>+u-^fusx2oIQz$dY)o8E01z^%#^^*82hz5R-=1S za}xA_eKSQL|L3Cjn)McCOLl}B0nN_{Kyebd#@F#A7-OT4X=}d*%N3%zxJPfAjX& z-mzy>s~fZs^#*zOeSzh~L;@f?fu6oT-ikG_xu2@((hFW*GY=O+A3206vG_|cQ|52B zyl4>KR464;6)7hQsx6f-{*vs2IMiOqhH^{;)597$LLTw58bSR=f{&6(D zx7f!^YqqN4%}cyXNKWn+Pm+A@*gWSo;Pv$d)nJ$zDS6Ew^>2AW&)kNBk-zfrK8c_Ub0WXUq7?@N;s zLN?~kE`w-2bdN(uW;wU{My#>g!fH_99~1M6;ABmXs<>4!$0TWnVYGH8Po)VTNg$D~`xs;2>JpGZr)Od=+@uea|y?5Q$-TAhj69{l>z) z%H23U=m>@wGjb?iV{D*z)hN(Ik`QA9hFXPDHBd%Bi(r2dc4rwIE70G6J#pJ!isq zk!3nh^K(jnsmapn*Hd0{eS8PsCj}QbNvoF1B>4~D+>K2czM|{?akxn!KYllG^Cw0R zRPsuF%D_!H%{=C+S+v#cWLYN{wj#c_TwgZ_0!4LSxqkomb{6kFQ&Kgqa_)if*7ilI z(3vT*q|25u_DV+2COMZ!+*|VW#=NmU@s@BVfo<#+#2|Zia{i?bZP#({({-x*P!dkW zy0oAWn#!rA{zQLv775v5(t#_pm=0`fP%L~e(Q7vlCS;=@FNE4FwjP)^sIvnkh|Rrl z1-Ub)uR2?EmF2!6VfcyYMX$nluuH7W-!Jt zdIQBBBFL#S1KqpUrRa7sGGzK2P8+uQOAvz;BR^WNux>7G&i#sxQ8(Z6Q@1lerb+k> z946{k?k$SSsK@(~hKQ}bWPL5bZ|0FD>mrz7x4bi@{^_(Q%T9CW#nTz&`cG#L z_}rU2mP>{cUr%kFy$vZ*RK#GKuF@xYT@xyZw4AC>W%0AT?QphEe&3*c_lwO$F1Msl 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 JAG~<;e*sYg?A!nV literal 0 HcmV?d00001 From d00465b17d46c8c6ff0b0dd9bb98b6c25777f529 Mon Sep 17 00:00:00 2001 From: Austin Lai Date: Wed, 10 Sep 2025 11:36:25 -0700 Subject: [PATCH 2/6] Add Impression Properties + Supported SDKs Section --- .../client-side-suites/ios-suite.md | 2 +- .../monitoring-analysis/impressions.md | 63 ++++++++++++++++++- .../80-integrations/amplitude.md | 4 +- .../80-integrations/mixpanel.md | 2 +- 4 files changed, 66 insertions(+), 5 deletions(-) diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/ios-suite.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/ios-suite.md index 9171b44faae..55dea34a1f1 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/ios-suite.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/ios-suite.md @@ -19,7 +19,7 @@ Set up FME in your code base with the following two steps: Add the Harness FME SDK, RUM agent, and Suite into your project using Swift Package Manager by adding the following package dependencies: -- [iOS SDK] (https://github.com/splitio/ios-client), latest version `3.3.3` +- [iOS SDK](https://github.com/splitio/ios-client), latest version `3.3.3` - [iOS RUM](https://github.com/splitio/ios-rum), latest version `0.4.0` - [iOS Suite](https://github.com/splitio/ios-suite), latest version `2.2.3` diff --git a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md index 3202132d02e..beacd1a6871 100644 --- a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md +++ b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md @@ -32,6 +32,62 @@ Each impression contains these fields. | Traffic type ID and name | Traffic type associated to the feature flag evaluated. | | Treatment | Treatment that was returned. | +## Impression properties + +Impression properties allow you to attach custom metadata to impressions generated by an FME SDK when calling `getTreatment`. These properties can be useful for debugging, Live Tail analysis, or downstream external analytics from third-party integrations such as Amplitude. + +An example impression payload: + +```json +{ + "environmentId": "prod", + "feature": "new_ui", + "treatment": "on", + "key": "user_12345", + "timestamp": 1725682200000, + "properties": { // Optional key-value pairs you can append to impressions + "planType": "premium", + "appVersion": "2.3.1", + "region": "us-west" + } +} +``` + +### Supported SDKs for impression properties + +The following SDKs support appending custom properties for each `getTreatment` call: + + + + + | **Client-side SDK** | **Version that supports impression properties** | + |----------------------|-----------------------------------------------| + | [Browser SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/browser-sdk#append-properties-to-impressions) | 1.2 and later | + | [iOS SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/ios-sdk#append-properties-to-impressions) | 3.2.0 and later | + | [JavaScript SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk#append-properties-to-impressions) | 11.2.0 and later | + | [React SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk#append-properties-to-impressions) | 2.1.0 and later | + | [Redux SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/redux-sdk#append-properties-to-impressions) | 2.1.0 and later | + + + + + | **Client-side SDK Suite** | **Version that supports impression properties** | + |----------------------|-----------------------------------------------| + | [Browser Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/browser-suite#append-properties-to-impressions) | 2.1.0 and later | + | [iOS Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) | 2.10 and later | + + + + + | **Server-side SDK** | **Version that supports impression properties** | + |----------------------|-----------------------------------------------| + | [Java SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/java-sdk#append-properties-to-impressions) | 4.15.0 and later | + | [Node.js SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/nodejs-sdk#append-properties-to-impressions) | 11.2.0 and later | + + + + + ## Tracking impressions Impressions are tracked by each Harness FME SDK and are periodically sent to Harness backend servers. @@ -166,7 +222,10 @@ Additionally, if you don’t want to send a customer UUID to Harness as the key, ## Integrations for impression data -Use our integrations to push FME feature flag impression data to your existing platforms or your data warehouse for a comprehensive view of user engagement and other key use metrics. Integration documentation is available for the following: +Use our integrations to push FME feature flag impression data to your existing platforms or your data warehouse for a comprehensive view of user engagement and other key user metrics. + +Integration documentation is available for the following: + - [Amazon S3](/docs/feature-management-experimentation/integrations/amazon-s3) - [Amplitude](/docs/feature-management-experimentation/integrations/amplitude) - [Full Story](/docs/feature-management-experimentation/integrations/fullstory) @@ -178,4 +237,4 @@ Use our integrations to push FME feature flag impression data to your existing p - [Quantum-Metric](/docs/feature-management-experimentation/integrations/quantummetric) - [SmartBear Bugsnag](/docs/feature-management-experimentation/integrations/bugsnag) - [Segment](/docs/feature-management-experimentation/integrations/segment) -- [Webhook (outgoing)](https://help.split.io/hc/en-us/articles/360020700232) +- [Webhook (outgoing)](/docs/feature-management-experimentation/api/webhook/impressions/) diff --git a/docs/feature-management-experimentation/80-integrations/amplitude.md b/docs/feature-management-experimentation/80-integrations/amplitude.md index 1a950ff2779..e396ee796b9 100644 --- a/docs/feature-management-experimentation/80-integrations/amplitude.md +++ b/docs/feature-management-experimentation/80-integrations/amplitude.md @@ -33,6 +33,8 @@ In this example, the following impression includes three custom properties: ![](./static/amplitude-impression-2.png) +For more information about impression properties, see the [Impressions documentation](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions#impression-properties). + ### In Amplitude Within your Amplitude account, set up Harness FME as a data source. Copy your Amplitude project's API Key to be used in Harness FME. @@ -112,7 +114,7 @@ function amplitudeIdentify(amplitudeApiKey, userId, splitName, treatment) { -2. Running as an impression listener should only be used for calling the identify API with additional properties that are available from the frontend that you need. The next option we will go over is a more robust approach. The code below outlines the creation of a service that can utilize Harness FME's [impressions webhook](https://help.split.io/hc/en-us/articles/360020700232-Webhook-impressions) using a Node.js script. +2. Running as an impression listener should only be used for calling the identify API with additional properties that are available from the frontend that you need. The next option we will go over is a more robust approach. The code below outlines the creation of a service that can utilize Harness FME's [impressions webhook](/docs/feature-management-experimentation/api/webhook/impressions/) using a Node.js script. The piece of Node.js code below requires the express and axios libraries. diff --git a/docs/feature-management-experimentation/80-integrations/mixpanel.md b/docs/feature-management-experimentation/80-integrations/mixpanel.md index 850c2fc92b5..bc28514d3d6 100644 --- a/docs/feature-management-experimentation/80-integrations/mixpanel.md +++ b/docs/feature-management-experimentation/80-integrations/mixpanel.md @@ -32,7 +32,7 @@ Both AWS and GCF versions cache the HTTP client used to POST to Mixpanel in thei #### Step 2: Configure Harness FME to use your webhook -Copy your function/lambdas URL endpoint and paste it into the [FME impressions webhook](https://help.split.io/hc/en-us/articles/360020700232-Webhook-impressions) configuration. +Copy your function/lambdas URL endpoint and paste it into the [FME impressions webhook](/docs/feature-management-experimentation/api/webhook/impressions/) configuration. Make sure you choose the environment from which you wish to receive impressions. If you are generating traffic in a testing environment, you will not see those impressions in production, and vice-versa. From 083540623276b8d0d41ac05dd72919341d7db36e Mon Sep 17 00:00:00 2001 From: Austin Lai Date: Wed, 10 Sep 2025 11:39:41 -0700 Subject: [PATCH 3/6] Add Doc Link to Release Note --- release-notes/feature-management-experimentation.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release-notes/feature-management-experimentation.md b/release-notes/feature-management-experimentation.md index e75436ddc14..af8fe098efb 100644 --- a/release-notes/feature-management-experimentation.md +++ b/release-notes/feature-management-experimentation.md @@ -173,7 +173,10 @@ const App = () => ( ---- #### 2025-04-10 The following SDKs now allow you to append properties to impressions for each `getTreatment` call: Browser, iOS, JavaScript, Node.js, React, and Redux. This provides additional context for in-product troubleshooting within Live tail or downstream external analysis. + #### Related documentation + +- [Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions#impression-properties) - [Browser SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/browser-sdk#append-properties-to-impressions) - [Browser SDK Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/browser-suite#append-properties-to-impressions) - [iOS SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/ios-sdk#append-properties-to-impressions) From a8dec9b38b10d035deddc1ca65c886473275f831 Mon Sep 17 00:00:00 2001 From: Austin Lai <76412946+alai97@users.noreply.github.com> Date: Wed, 10 Sep 2025 11:44:14 -0700 Subject: [PATCH 4/6] Update Version --- .../40-feature-management/monitoring-analysis/impressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md index beacd1a6871..ea758c3beb9 100644 --- a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md +++ b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md @@ -74,7 +74,7 @@ The following SDKs support appending custom properties for each `getTreatment` c | **Client-side SDK Suite** | **Version that supports impression properties** | |----------------------|-----------------------------------------------| | [Browser Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/browser-suite#append-properties-to-impressions) | 2.1.0 and later | - | [iOS Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) | 2.10 and later | + | [iOS Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) | 2.1.0 and later | From 2c76156775137a586b913a64289e652b949170bd Mon Sep 17 00:00:00 2001 From: Austin Lai Date: Wed, 17 Sep 2025 14:17:01 -0700 Subject: [PATCH 5/6] Update Release Note + SDK Table --- .../client-side-sdks/flutter-plugin.md | 29 ++++++++++ .../client-side-suites/android-suite.md | 48 ++++++++++++++++ .../server-side-sdks/python-sdk.md | 57 ++++++++++++++++++- .../server-side-sdks/ruby-sdk.md | 30 +++++++++- .../monitoring-analysis/impressions.md | 9 ++- .../feature-management-experimentation.md | 9 ++- 6 files changed, 176 insertions(+), 6 deletions(-) diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md index 63939220679..d98f60dc273 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md @@ -286,6 +286,35 @@ if (treatment == 'on') { +### Append properties to impressions + +[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. + +You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. + +Three types of properties are supported: strings, numbers, and booleans. + +```dart +_split.client(onReady: (client) async { + final treatment = await client.getTreatment( + 'FEATURE_FLAG_NAME', + properties: { + 'userType': 'premium', // string + 'loginCount': 42, // number + 'isAdmin': true // boolean + }, + ); + + if (treatment == 'on') { + print('Feature ON'); + } else if (treatment == 'off') { + print('Feature OFF'); + } else { + print('Control treatment'); + } +}); +``` + ### Shutdown Call the `client.destroy()` method once you've stopped using the client, as this method gracefully shuts down the SDK by stopping all background threads, clearing caches, closing connections, and flushing the remaining unpublished impressions. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md index f3d18a30046..cb83e8b07aa 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md @@ -469,6 +469,54 @@ val treatmentsByFlagSets = client.getTreatmentsByFlagSets(flagSets) +### Append properties to impressions + +[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. + +You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. + +Three types of properties are supported: strings, numbers, and booleans. + + + + +```java +SplitClient client = suite.client(); + +// Get treatment for a flag +String treatment = client.getTreatment("FEATURE_FLAG_NAME"); + +// Append properties with suite.track() +Map properties = new HashMap<>(); +properties.put("package", "premium"); +properties.put("admin", true); +properties.put("discount", 50L); + +suite.track("flag_evaluated", null, properties); +``` + + + + +```kotlin +val client = suite.client() + +// Get treatment for a flag +val treatment = client.getTreatment("FEATURE_FLAG_NAME") + +// Append properties with suite.track() +val properties = mapOf( + "package" to "premium", + "admin" to true, + "discount" to 50L +) + +suite.track("flag_evaluated", null, properties) +``` + + + + ### Track Tracking events is the first step to getting experimentation data into Harness FME and allows you to measure the impact of your feature flags on your users' actions and metrics. See the [Events](/docs/feature-management-experimentation/release-monitoring/events/) documentation for more information. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md index dc4a48a1450..33a4953f522 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md @@ -661,7 +661,7 @@ print(treatments) -### Get Treatments with Configurations +### Get treatments with configurations To [leverage dynamic configurations with your treatments](/docs/feature-management-experimentation/feature-management/setup/dynamic-configurations), you should use the `get_treatment_with_config` method. @@ -795,6 +795,61 @@ for feature_flag, treatment_with_config in result.items(): +### Append properties to impressions + +[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. + +You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. + +Three types of properties are supported: strings, numbers, and booleans. + + + + +```python +# Define impression properties +properties = { + "userType": "premium", # string + "loginCount": 42, # number + "isAdmin": True # boolean +} + +# Get treatment with properties +treatment = split.get_treatment('key', 'FEATURE_FLAG_NAME', properties=properties) + +if treatment == "on": + # Show ON treatment +elif treatment == "off": + # Show OFF treatment +else: + # Control treatment +``` + + + + +```python +# Define impression properties +properties = { + "userType": "premium", # string + "loginCount": 42, # number + "isAdmin": True # boolean +} + +# Get treatment with properties +treatment = await split.get_treatment('key', 'FEATURE_FLAG_NAME', properties=properties) + +if treatment == "on": + # Show ON treatment +elif treatment == "off": + # Show OFF treatment +else: + # Control treatment +``` + + + + ### Shutdown The in-memory implementation of Python uses threads in Multi-threaded mode and tasks in asyncio mode to synchronize feature flags, segments, and impressions. If at any point in the application the SDK factory client is not longer needed, you can disable it by calling the `destroy()` method on the factory object. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md index c7b57fdfade..f97c3328129 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md @@ -235,7 +235,7 @@ treatments = split.get_treatments_by_flag_sets('key', ['backend', 'server_side'] You can also use the [Split Manager](#manager) if you want to get all of your treatments at once. -### Get Treatments with Configurations +### Get treatments with configurations To [leverage dynamic configurations with your treatments](/docs/feature-management-experimentation/feature-management/setup/dynamic-configurations), you should use the `get_treatment_with_config` method. @@ -299,6 +299,34 @@ end +### Append properties to impressions + +[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. + +You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. + +Three types of properties are supported: strings, numbers, and booleans. + +```ruby +# Define impression properties +properties = { + userType: 'premium', # string + loginCount: 42, # number + isAdmin: true # boolean +} + +# Get treatment with properties +treatment = split_client.get_treatment('KEY', 'FEATURE_FLAG_NAME', properties: properties) + +if treatment == 'on' + # Show ON treatment +elsif treatment == 'off' + # Show OFF treatment +else + # Control treatment +end +``` + ### Shutdown Call the `.destroy` method before letting a process using the SDK exit, as this method gracefully shuts down the SDK by stopping all background threads, clearing caches, closing connections, and flushing the remaining unpublished impressions. diff --git a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md index ea758c3beb9..fdccfe95d6d 100644 --- a/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md +++ b/docs/feature-management-experimentation/40-feature-management/monitoring-analysis/impressions.md @@ -62,7 +62,9 @@ The following SDKs support appending custom properties for each `getTreatment` c | **Client-side SDK** | **Version that supports impression properties** | |----------------------|-----------------------------------------------| + | [Android SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/android-sdk#append-properties-to-impressions) | 5.2.0 and later | | [Browser SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/browser-sdk#append-properties-to-impressions) | 1.2 and later | + | [Flutter Plugin](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/flutter-plugin#append-properties-to-impressions) | 1.0.0 and later | | [iOS SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/ios-sdk#append-properties-to-impressions) | 3.2.0 and later | | [JavaScript SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/javascript-sdk#append-properties-to-impressions) | 11.2.0 and later | | [React SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk#append-properties-to-impressions) | 2.1.0 and later | @@ -73,16 +75,19 @@ The following SDKs support appending custom properties for each `getTreatment` c | **Client-side SDK Suite** | **Version that supports impression properties** | |----------------------|-----------------------------------------------| + | [Android Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/android-suite#append-properties-to-impressions) | 2.1.0 and later | | [Browser Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/browser-suite#append-properties-to-impressions) | 2.1.0 and later | - | [iOS Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) | 2.1.0 and later | + | [iOS Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) | 2.1.0 and later | | **Server-side SDK** | **Version that supports impression properties** | |----------------------|-----------------------------------------------| - | [Java SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/java-sdk#append-properties-to-impressions) | 4.15.0 and later | + | [Java SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/java-sdk#append-properties-to-impressions) | 4.15.0 and later | | [Node.js SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/nodejs-sdk#append-properties-to-impressions) | 11.2.0 and later | + | [Ruby SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/ruby-sdk#append-properties-to-impressions) | 8.7.0 and later | + | [Python SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/python-sdk#append-properties-to-impressions) | 10.4.0 and later | diff --git a/release-notes/feature-management-experimentation.md b/release-notes/feature-management-experimentation.md index af8fe098efb..0e6e01b0f86 100644 --- a/release-notes/feature-management-experimentation.md +++ b/release-notes/feature-management-experimentation.md @@ -1,7 +1,7 @@ --- title: Feature Management & Experimentation release notes sidebar_label: Feature Management & Experimentation -date: 2025-07-25T10:00:00 +date: 2025-09-17T10:00:00 tags: ["fme", "feature management experimentation"] sidebar_position: 11 --- @@ -12,7 +12,7 @@ import HarnessApiData from '../src/components/HarnessApiData/index.tsx'; These release notes describe recent changes to Harness Feature Management & Experimentation (FME). -#### Last updated: July 25, 2025 +#### Last updated: September 18, 2025 ## July 2025 @@ -177,8 +177,11 @@ The following SDKs now allow you to append properties to impressions for each `g #### Related documentation - [Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions#impression-properties) +- [Android SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/android-sdk/#append-properties-to-impressions) +- [Android Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/android-suite#append-properties-to-impressions) - [Browser SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/browser-sdk#append-properties-to-impressions) - [Browser SDK Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/browser-suite#append-properties-to-impressions) +- [Flutter Plugin](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/flutter-plugin#append-properties-to-impressions) - [iOS SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/ios-sdk#append-properties-to-impressions) - [iOS SDK Suite](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-suites/ios-suite#append-properties-to-impressions) - [Java SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/java-sdk#append-properties-to-impressions) @@ -186,6 +189,8 @@ The following SDKs now allow you to append properties to impressions for each `g - [Node.js SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/nodejs-sdk#append-properties-to-impressions) - [React SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/react-sdk#append-properties-to-impressions) - [Redux SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/client-side-sdks/redux-sdk#append-properties-to-impressions) +- [Ruby SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/ruby-sdk#append-properties-to-impressions) +- [Python SDK](/docs/feature-management-experimentation/sdks-and-infrastructure/server-side-sdks/python-sdk#append-properties-to-impressions) ## March 2025 ### [New Feature] Feature flag impression toggle From 7abd311478c80d0f019372ed727bcd9f2809a64e Mon Sep 17 00:00:00 2001 From: Austin Lai Date: Wed, 17 Sep 2025 14:32:37 -0700 Subject: [PATCH 6/6] Fix Links --- .../client-side-sdks/flutter-plugin.md | 2 +- .../client-side-suites/android-suite.md | 2 +- .../20-sdks-and-infrastructure/server-side-sdks/python-sdk.md | 2 +- .../20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md index d98f60dc273..48687812916 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-sdks/flutter-plugin.md @@ -288,7 +288,7 @@ if (treatment == 'on') { ### Append properties to impressions -[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. +[Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md index cb83e8b07aa..4126c2a69bc 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/client-side-suites/android-suite.md @@ -471,7 +471,7 @@ val treatmentsByFlagSets = client.getTreatmentsByFlagSets(flagSets) ### Append properties to impressions -[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. +[Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md index 33a4953f522..b1a3cb8ccdb 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/python-sdk.md @@ -797,7 +797,7 @@ for feature_flag, treatment_with_config in result.items(): ### Append properties to impressions -[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. +[Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data. diff --git a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md index f97c3328129..463b8d81df2 100644 --- a/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md +++ b/docs/feature-management-experimentation/20-sdks-and-infrastructure/server-side-sdks/ruby-sdk.md @@ -301,7 +301,7 @@ end ### Append properties to impressions -[Impressions](/docs/feature-management-experimentation/feature-management/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. +[Impressions](/docs/feature-management-experimentation/feature-management/monitoring-analysis/impressions) are generated by the SDK each time a `getTreatment` method is called. These impressions are periodically sent back to Harness servers for feature monitoring and experimentation. You can append properties to an impression by passing an object of key-value pairs to the `getTreatment` method. These properties are then included in the impression sent by the SDK and can provide useful context to the impression data.