From e9c1465a9c268d271251b974cd4bfa4543b0da76 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 01:53:07 +0000 Subject: [PATCH 1/6] docs: Add Runnable Endpoint component documentation and changelog entry - Add comprehensive documentation for the Runnable Endpoint component - Include usage examples, features, properties, and best practices - Add navigation entry for the new component page - Create changelog entry for 2025-10-17 documenting the enhancement This documents the work from PR fern-api/fern-platform#4151 which improved the Runnable Endpoint component with a componentized architecture, multiple examples support, environment selector, and enhanced form persistence. Co-Authored-By: Deep Singhvi --- fern/products/docs/docs.yml | 3 + .../docs/pages/changelog/2025-10-17.mdx | 25 ++++ .../default-components/runnable-endpoint.mdx | 125 ++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100644 fern/products/docs/pages/changelog/2025-10-17.mdx create mode 100644 fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx diff --git a/fern/products/docs/docs.yml b/fern/products/docs/docs.yml index b885a805f..951106cff 100644 --- a/fern/products/docs/docs.yml +++ b/fern/products/docs/docs.yml @@ -86,6 +86,9 @@ navigation: - page: Parameter Fields path: ./pages/component-library/default-components/parameter-fields.mdx icon: fa-duotone fa-list + - page: Runnable Endpoint + path: ./pages/component-library/default-components/runnable-endpoint.mdx + icon: fa-duotone fa-play-circle - page: Steps path: ./pages/component-library/default-components/steps.mdx icon: fa-duotone fa-list-ol diff --git a/fern/products/docs/pages/changelog/2025-10-17.mdx b/fern/products/docs/pages/changelog/2025-10-17.mdx new file mode 100644 index 000000000..8efde8387 --- /dev/null +++ b/fern/products/docs/pages/changelog/2025-10-17.mdx @@ -0,0 +1,25 @@ +## Enhanced Runnable Endpoint Component + +We've improved the Runnable Endpoint component with a cleaner, more maintainable architecture and new features that make testing API endpoints even easier. + +### What's New + +**Componentized Architecture**: The Runnable Endpoint has been refactored into modular, reusable components for better maintainability and easier future enhancements. + +**Multiple Examples Support**: When your endpoint has multiple pre-configured examples, a dropdown selector now appears in the header, making it easy to switch between different scenarios. + +**Environment Selector**: If your API defines multiple environments, users can now select which environment to test against directly from the component interface. + +**Open in API Reference**: A new button links directly to the full API reference page for the endpoint, providing quick access to detailed documentation. + +**Improved Form Persistence**: Form state is now automatically saved to local storage, preserving your test data across page navigation and browser sessions. + +### Component Structure + +The refactored component includes: +- `RunnableEndpointHeader`: Endpoint URL display, example selector, and navigation controls +- `RunnableEndpointFormSection`: Input forms for headers, path parameters, query parameters, and body +- `RunnableEndpointActions`: Clear and send request buttons +- `RunnableEndpointResponseSection`: Response preview with syntax highlighting + +To learn more about using Runnable Endpoints in your documentation, visit the [Runnable Endpoint docs](/learn/docs/building-and-customizing-your-docs/component-library/runnable-endpoint). diff --git a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx new file mode 100644 index 000000000..ec485d80a --- /dev/null +++ b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx @@ -0,0 +1,125 @@ +--- +title: 'Runnable Endpoint' +description: 'Test API endpoints directly from your documentation with an interactive request builder.' +--- + +Runnable Endpoint is an interactive component that allows users to test API endpoints directly within your documentation. It provides a full-featured request builder with form inputs for headers, path parameters, query parameters, and request bodies, along with real-time response preview. + +## Basic Usage + +The Runnable Endpoint component automatically detects and loads endpoint definitions from your API specification. You can embed it in your documentation pages using the `` component. + + + +```jsx + +``` + + +````markdown + +```` + + + +## Features + +### Interactive Form Builder + +The component automatically generates input forms based on your endpoint definition, including: + +- **Headers**: Add and configure request headers +- **Path Parameters**: Fill in dynamic URL segments +- **Query Parameters**: Add URL query string parameters +- **Request Body**: Edit JSON request payloads + +All fields are collapsible for a cleaner interface when working with endpoints that have many parameters. + +### Multiple Examples Support + +When your endpoint has multiple pre-configured examples, the Runnable Endpoint component displays a dropdown selector in the header, allowing users to quickly switch between different example scenarios. + + +![Runnable endpoint with example selector](runnable-endpoint-examples.png) + + +### Environment Selection + +If your API defines multiple environments (production, staging, development), the component automatically displays an environment selector, making it easy for users to test against different base URLs. + +### Request Execution + +Users can send real HTTP requests to your API directly from the documentation. The component handles: + +- Request construction with proper headers and authentication +- Real-time request/response preview +- Error handling and display +- Response status codes and timing + +### Link to API Reference + +The component includes an "Open in API reference" button that navigates users to the full API reference page for the endpoint, providing quick access to detailed documentation. + +### Form State Persistence + +Form inputs are automatically persisted in the browser's local storage, so users' test data is preserved even when navigating between pages or refreshing the browser. + +## Properties + + + The endpoint locator in the format "METHOD /path". For example: `"POST /api/users"` or `"GET /api/users/{id}"`. + + + + Pre-fill the form with a specific example by name. If not specified, the first example is used by default. + + + + Optional CSS class name for custom styling of the component container. + + +## Architecture + +The Runnable Endpoint component is built with a modular architecture: + +- **RunnableEndpointHeader**: Displays the endpoint URL, method, example selector, and navigation controls +- **RunnableEndpointFormSection**: Renders input forms for different parameter types (headers, path, query, body) +- **RunnableEndpointActions**: Provides action buttons for clearing the form and sending requests +- **RunnableEndpointResponseSection**: Displays the API response with syntax highlighting and formatting + +This componentized structure makes the code easier to maintain and allows for future enhancements to individual sections without affecting others. + +## Example with Custom Configuration + + + +```jsx + +``` + + +````markdown + +```` + + + +## Best Practices + +1. **Use descriptive examples**: When defining multiple examples in your API specification, use clear, descriptive names that help users understand what each example demonstrates. + +2. **Include authentication details**: Make sure to document any required authentication headers or tokens that users need to provide to successfully test endpoints. + +3. **Provide meaningful example data**: Pre-populate examples with realistic data that demonstrates the full capabilities of your API. + +4. **Test in multiple environments**: If you offer staging and production environments, make sure both are properly configured so users can safely test without affecting production data. + +5. **Document expected responses**: While the component shows real responses, it's helpful to document what users should expect to see for successful requests. From 8dee23b34668049e170384d160a54553d9893257 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 01:55:44 +0000 Subject: [PATCH 2/6] fix: Remove reference to missing image in runnable-endpoint.mdx Co-Authored-By: Deep Singhvi --- .../default-components/runnable-endpoint.mdx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx index ec485d80a..dba0e4c09 100644 --- a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx +++ b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx @@ -39,10 +39,6 @@ All fields are collapsible for a cleaner interface when working with endpoints t When your endpoint has multiple pre-configured examples, the Runnable Endpoint component displays a dropdown selector in the header, allowing users to quickly switch between different example scenarios. - -![Runnable endpoint with example selector](runnable-endpoint-examples.png) - - ### Environment Selection If your API defines multiple environments (production, staging, development), the component automatically displays an environment selector, making it easy for users to test against different base URLs. From 1de60e168a11f344faecc519db1e057444f51317 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 13:12:12 +0000 Subject: [PATCH 3/6] fix: Rewrite changelog to introduce Runnable Endpoint as new feature Per feedback from Catherine, this rewrites the changelog to introduce the component as a brand new feature rather than framing it as improvements to an existing component. Co-Authored-By: Deep Singhvi --- .../docs/pages/changelog/2025-10-17.mdx | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/fern/products/docs/pages/changelog/2025-10-17.mdx b/fern/products/docs/pages/changelog/2025-10-17.mdx index 8efde8387..354797062 100644 --- a/fern/products/docs/pages/changelog/2025-10-17.mdx +++ b/fern/products/docs/pages/changelog/2025-10-17.mdx @@ -1,25 +1,17 @@ -## Enhanced Runnable Endpoint Component +## Introducing Runnable Endpoint -We've improved the Runnable Endpoint component with a cleaner, more maintainable architecture and new features that make testing API endpoints even easier. +Test API endpoints directly from your documentation with our new interactive component. Runnable Endpoint allows your users to send real HTTP requests to your API without leaving your docs, making it easier for developers to explore and understand your API. -### What's New +Embed the component anywhere in your MDX documentation to create an interactive request builder with form inputs for headers, path parameters, query parameters, and request bodies. Users can execute requests and see real-time responses, complete with status codes and syntax highlighting. -**Componentized Architecture**: The Runnable Endpoint has been refactored into modular, reusable components for better maintainability and easier future enhancements. +Key features include: -**Multiple Examples Support**: When your endpoint has multiple pre-configured examples, a dropdown selector now appears in the header, making it easy to switch between different scenarios. +- **Interactive form builder** that automatically generates inputs based on your endpoint definition +- **Multiple examples support** with a dropdown selector when you have multiple pre-configured scenarios +- **Environment selector** for testing against production, staging, or development +- **Form persistence** that saves user input in local storage across sessions +- **Direct navigation** to the full API reference with an "Open in API reference" button -**Environment Selector**: If your API defines multiple environments, users can now select which environment to test against directly from the component interface. - -**Open in API Reference**: A new button links directly to the full API reference page for the endpoint, providing quick access to detailed documentation. - -**Improved Form Persistence**: Form state is now automatically saved to local storage, preserving your test data across page navigation and browser sessions. - -### Component Structure - -The refactored component includes: -- `RunnableEndpointHeader`: Endpoint URL display, example selector, and navigation controls -- `RunnableEndpointFormSection`: Input forms for headers, path parameters, query parameters, and body -- `RunnableEndpointActions`: Clear and send request buttons -- `RunnableEndpointResponseSection`: Response preview with syntax highlighting +The component is built with a modular architecture, making it maintainable and extensible for future enhancements. To learn more about using Runnable Endpoints in your documentation, visit the [Runnable Endpoint docs](/learn/docs/building-and-customizing-your-docs/component-library/runnable-endpoint). From bd535fbf6d78603d4cab041859c843d5ff535fae Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 13:18:01 +0000 Subject: [PATCH 4/6] feat: Add screenshot to Runnable Endpoint docs and changelog Add screenshot provided by Catherine showing the Runnable Endpoint component in action with the example selector dropdown visible. Co-Authored-By: Deep Singhvi --- .../docs/pages/changelog/2025-10-17.mdx | 4 ++++ .../docs/pages/changelog/runnable-endpoint.png | Bin 0 -> 65006 bytes .../default-components/runnable-endpoint.mdx | 4 ++++ .../default-components/runnable-endpoint.png | Bin 0 -> 65006 bytes 4 files changed, 8 insertions(+) create mode 100644 fern/products/docs/pages/changelog/runnable-endpoint.png create mode 100644 fern/products/docs/pages/component-library/default-components/runnable-endpoint.png diff --git a/fern/products/docs/pages/changelog/2025-10-17.mdx b/fern/products/docs/pages/changelog/2025-10-17.mdx index 354797062..341fcc4b9 100644 --- a/fern/products/docs/pages/changelog/2025-10-17.mdx +++ b/fern/products/docs/pages/changelog/2025-10-17.mdx @@ -2,6 +2,10 @@ Test API endpoints directly from your documentation with our new interactive component. Runnable Endpoint allows your users to send real HTTP requests to your API without leaving your docs, making it easier for developers to explore and understand your API. + +![Runnable Endpoint component](runnable-endpoint.png) + + Embed the component anywhere in your MDX documentation to create an interactive request builder with form inputs for headers, path parameters, query parameters, and request bodies. Users can execute requests and see real-time responses, complete with status codes and syntax highlighting. Key features include: diff --git a/fern/products/docs/pages/changelog/runnable-endpoint.png b/fern/products/docs/pages/changelog/runnable-endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..034e0bff9d5195603c544ddcffb6e18fe457040a GIT binary patch literal 65006 zcmeFZRd8HOkR~i$||&1T0B z&4V$Y349PL4ZIjCbQMSB_}<&##BXx19_h# zo?f01b;R%rXV@n+?zu5}I4l`Yw#1JTfP>{%DMT`|xA&1%x$7gPQeedrjMFk?zS9Mx zlqU+Ox^8`7#@$6Q0{Pmb$^(wir-BTWIB>`&aN3n1q{dif=mq}P{bv6O8% zA8(UiJq*Kq<0^~Ag|+dV|h(N3u;uYm5_T{=2Cx}w&c zat1*n2Nkl&tWh6>7IFspB}Li9Vt*ch$m-Gyh9(dCRS5S8+)xkH>KC{j)Oi=~qc0H( zRE`jz8b}inq7f*w8bso+gg-FxzYz6Ui@@0Ru!_K;yY#2vWPjCekup}Pt@rn5sMROQ|q=+m;gZKU7BNn8B2>Z2@O-6-*CcBo`VWiEozo!xQUUGy#)qX`r%a= zOZ-bFr;w-CR)Y87NWr<=WA+S9LRx$b_>I_&NR9Z50lfae?z`=vE4Ma|jjtEJ$i0r2 z3ZAImwBCa6Z0}GVgdd@Q#F&VPn&?`}2LP^QkW4VX@zkK^aSx%-L`&AN4B1+;SK0ZDoUMt~%1~y)WN|^>f& z^fskTwt=K}DAWkYo!_1D3E@fL2|rMTIoC}QjY?qz@PmIJZy$C)jzxJ{C8c~!QKv$y zd@aXQ^r;^1XTMTlag9*EP`=21$OwCaYKfRKt8yZZxO0j{{R#7YYe}z#61zt|Q$1b1 zv&G9CLn*)NU};+MOYzMd{Jd*%mf}S&iIO2r_(*<5!FhqspL@$KwlVglug71>ze2OM zum`ctvzwX^m>rm_SZ2<}&!VK_M9PfjCCnhro=Rz^Sr*QMaV{ul;TD4kslX8>E@%pjl1IPo!gD5&GOdU*a%zDg5I{QR~QH0U6#Km$w zTFO$kQj1c{g{u16`Yu4L^CZG4!Xi!&PCe`SO0;z{M>7W^M|%U?D$1&ILwQ4`Y3i7C zalwjH=_>ScWsPm44^VHv%elyZ3#>EO{M@s94j48QiA z`)9@hSGoO(-Sffe4xNjQ6M+-6y`;nPfkRSuH;ieSp_W5`%X1ThEC2TM^7yjMiObTN zoGb1F!h_fOq-omZ!Q=*i>tyec|8DiH=(*&B^!4kq;<@or|5eEy;KcfL{AOd9zpKuu zfc1e@_hsoR#4FWHpk_@?O5M~GbrWRMVADp>xzntZrjzph`+M;_;=3rQEND3R1cU*& zKR74UhB2_Z`4n(3A1yUC^XH~}Z)<3)WUG)^g?K0Wp8GQW4|m!D9~?U(Mo>eLFO$ns zLDk^)!8Z5y;Ni|e&}4b$3tf+Zfuxuz8M}l2UdIsfPl2ELKaq3kbBw3)nQ53qneUhh z4ZRFU4fgF>cM}J+BNs!l`Wnf%&<)V;$q*)Q(i+`$d~y^Ge(q#E9o*a;=<58bC35T@ z4y1wShL0lCk28q7C->S9u(#mu9X{Q&9v0QYbcKH)pG;Goz}@q>9DM|*CZIN^o>b&l z;LJxVaL-rHYe%bsQ1;_I_C01lCS>hlxi^V088G26My-jh`3*ZCh|_bk{JiYG%uizZ zGe#nFH?fx6R05A~gVdMohTK{K(MjkeR(;4j`tAU5pmOM~@ul`iB2y!isgib+#>e_y z$k(TvF`PNPIh;2Un?b!f&z0Koc*1z9X3rRZG%^W`;X)U+D#wQ0+<0I_S9Q6ZM)S_w z`Sj#oq`e0t&`S{FbxJ-@i;SVAb-+tzJSv$GQqZN+S*z9g?7=|iDgmuEHY~Oh*aWP2 zHTqE8m&*kzF1RM~B%Lq)S|wVuGtFHbXkn?Z@vG^Oapb6vpB)V!-L%zddUEJ53rnTX zqpzXA9*G`lD5ucmw0hG>P;qWuDQq!MJ8!686|gz9?yTMFu<}=J+ClrHFR-(?|IDkj+)4f<=?!Adl&(doJ=gX&MjWduB)zqa1MQidZ0Y- z^zM2P(#)0FouJTA92T~dce(7(&J%S-f+jrY>fxGko4Y+~FtKp7ho6hxWSL7{ps@|N z1#)9LmF2Ftw?8$VUA0pp$SGyb@u>sCoJua|j*k6idriembuwi5R~M_RcDI|G92+Ml z`8U0YAA9n{-?1j0S$O4iubZ59YF76RRk2kyDtUCRj~z}d-sg`O4{Q$46D=7QS1MX{ zY%fyQ9Z!N5BWpRmY<1fDJDl%aj?OZ9r(Mt2W!h*v2U{Ory${|vksSyl__VHIUWy*8 zPjZN!2?1V0RXr+UiiOny$_3?mr2|J~fg9!EG{;Hm)8o}-Q{X2}E z8$4Y*XbU~|X271&Z*VH|F(-Adx3Bp+h}4*D&c zrd{eHJD4CgTBPG9-HyVQf;BG1h$5x=rtP(7&0(VX@O3hy`9a`;{~~lmm4Xe82=uQ5 zMidOAr)r{%1vVPwufq)N3zs{||1cqd9uzKJf7Q8+>#uu6gFwn=f|Ch>{cY$={Q@&x za>1vS{p%DmA>X*ezmpj)w1oDj3#UPQFf8uxv*fq-xc^QC8A<~Lm0ghaV)f472>pEj z2?x^ugX6yd`hRfzH-Ml6iLa zUQfs{<-g?ezdxXyLlD`t%+B@5+#KQT5EUu!za)1aU2pkVxlg|E#8 z!}ld{A{w15vMF>@u~2S!SdkK6kJv&*rh?`R3%*3te=+%gJb;qw)it40%5ja9#cF+v zrKJo<C30g{7IYObk`;4&K6w>a*r_a9Yv*MeIT$sK2Jn?+&Dk6G=j0Ly5^95?enB z;6$~Y1@UiEFI34u0V=2j{{@|25F}Au-M!HG%sizk#U+N0so5t7wQWW5rCrC8YY=1+ zXN56;cbx%HprxFqRH5k@Bk)nmYkgHtyUmjJwQYcaLGr&IF_REm(J*I7Q1r;DnaaC2 z>8wp2BQjfJwICp~Q)$U*UpW0&m+3P8O79QRE*b}sS^ox8v5A>@&D6Gi61$w~gGo0V zk^_q1{GIm#UB{n$laMr}egIZzP9?xxEbrpd5Y!DD$OiQ;{#VT; zmIKis5R*0Yn0hQr)m2yR7=x5$LqVJv9Yu$r2u!Jd0R(>hPhj!+mJCB)ab;f#16fH- z)m7W1A!TPJJPWcU7p;xg#%s=Bexda`?nsg^0HZ7k3_3X2 zw^&r(EFF&jZ&vi*6*l{Omz%voG7p;|sY9YM|ETm9TV$`PiAjMCX*=g=O{qKG-va_V z&{8Z)Ho;OT>?KlnhVn58StU@!IWSWd->&0kjWyA~;zfpn1QCH{S}^k(@vfS9$KdG8 zdZCqRc;F;WEl2uS^+1Es1-sk{(Esji<}(mpTc)8z0amEoJU%iqW8KSk{XYaRzL%7G zbpp9>>UUjwjTO=mva>L3bex>3l`3JCMjSW)gO4DJfWVf<_Fos~?fwL=FGa#cgBV+!vP5B0R0+D|ephTB9gfzlL&Fu~ytM9Cnsty69 zY_DI|UxlVe3AUg82C2POS5iL^j-Fv+qFSQ}T|@uZ1t_5q5eugCA6?xgh*05DQ;-ui z77|q;)mne$fC%&hHa@T^R3jm@>)7We#sBZb|AGjkMA7z)?aHH~?dM>suXm+xw#X?w zbzDAS6t7Cp@|kc!{2f+8G>t*?!zvK_4y!b2v^8ccJtl=(U0ppkBaXhgncLx9%iCQw ze30@#g-;2FK_e#VRM+A?(039o0-HbsTT%M2fPII^yG&Dt&R*oLxi3^j>P^#ukn~J6 zB~}HBjGyo|hicIxgQ2jpI?Oy(s~gA+vjCxbskKo~b`YUjh{?@TMSB|{}+wVG@CsHWq-|A#W8a6>%Op>uoT z+tBa7{b;&Vy97%4vOY$L?!crptH)+~eE;Tx7C(>D=ftMB&44e;8ISiPSvU*>ikpNlmgiF^3Q>!?K(Ge{qTo=EkksuHoFx zbZ0mib)4i1jZ7Gw%5DMsonq?W1N&6;*CfmR@u-9)?1d^x`CxcM66$U^OZ7Nr-Ko&Vk9d=s8|8-PV(4YdNOSy#0VPIfwx}j~XzF>tiFL)cFF-)2O^A==J zu;czvqP1ju%-$Jlo5TXsC2 zKyY5}=`|?;vIurtZ((nfP@hbm?VdVDgzif%LWRvz-`PR;e(v-n{QvLNb%(UbpWKYJ z(mrlQ_)kc&6!Yr|@vt@m-y_L-=k3Q{I(YiG^#U*aq3lJDZ+U4LFtSfihh%TkEewp@ z)XNi1OC0|xT|1IrKpg;}r30xzsg&a9Pfyo#h!EO;+!M;qKZ?79-**BTAk?&3S+-i= zLmF%i&G93=#X8?G&W2!CYy{~aV$HRR%szRBD2$M1Pl>B}Y;p??4ZU)kay*4>=ds!18$VJ ziivx?(>uyc-VIUw0uogCsGHV8EcS|dZ;HML42@6zM5iyQ0((-AP0PZ)zKfiL`!4=X zN?NInOiVTLi0Yj}{KQ=z^X&dky@2kd$1qx`3MK&f1{W~i8QDHbny83Fxi>WI5BP8- z-HfpWY@Rb)lbwF%n6T|*98d{DDk_N#oeKFsbfWx&J3|#a=FFkAc;p$5dN}EHd=qvj z@OfQ_iWMpA_0~JIp*t-d$j(AeSCdL^>dn_xc6N8)7)aAuPgmNdbiD6;T41Bz_b+Bz zl!10Ozv+P;fN`1>HshSthVAr9trX;0o9+0k0cYUikCkaQ{O3Hmiww>ewR94`SrRF&ta2MIxS48Vh8*7bT}!<6*s4#HcRa+ zdA5jgF`i<16Wy8|7&(ca_d~cxBK6PhF)=V=u`ZhjS`~Zrgurly+6_GZ8t&2p=26y_upBKD3e?|s2}!n~!*iDwdZcLH)gBn)dU%l@jluB40X zZ?tU2=vbKaTJLn?%ji<|+ybZLwfTzc$j4vIEgAj1zvA6N@4ndj?XuR7mEQ#o&Bw%8U09r@XeFInqg z(#Is@${caBm8lm7D8W$jC-?Ux6Oz9QS^yHeu z@0}>*Zx_)DE@FJV6HjTEx3ib4XR@!7@RGh@^=$%RW2|qQZTqYeu^WxjVvuQ=J4!WahGs>?+ zivDp2Vck>Vs4M}RU^%?_ydMeq-iVVAbw{0WC4|Sr>U0VemvR5%=WX(k`r73SUSqk) z&`sq#k-=MvN|MlCa43rgLjmgeJIzrbdGK1Pp;Z2uA){3-b-{Wz(TjSM{!M|VACs?3 zbWK{e=%k`3WL2dhOuBEoUe3Re?&askhkMOl#;BvkoIyQ@{xCvw?q-66X4WYFi^}=4 zvaPGtWsQ8J1!8d5Q-ACQ`L30)v=pN{UaN&tg~mD9VYA~?i+~$UejukW9=S@TmNrUP zvvrzFY`Rwe1r)vdefWgpxBYK8{}E?gCJB8;{z6*;cPGVb*pGGSh3Nt)Y z?bR)XfbSUBJLA=T$UYuMA8tIE?e{pdfu^(Z0tgNLeV5p0z8M>NvtLWN87Dj5I;v{} z7%T6w+c>B!&HpZa$5)@x*Bd{aRndOH{V8>;>qTN^=eq_&+oee5Jm4V3)adqT+F{e{VYu`CjgaC!^aZgNJNza6`K3>|qv? zmRs1qwd5+=8KZIPWEFA=373xQ4fZ(m`r-YMJ@#IINj#*T=}$SkW_`ec215%L;uv=JQc_v1g9!f9Gr0I522m2 zyTxR=15z76Oz6FPT5ncsd#hMW|B#N)P0?>mt13yv21As2i0`^aj82K!_f(-+_}l4p z>1TM#3%={sfIUpVC?b+2bNkrI({yv@vb8mDzHQr6Rtz zctln-p_b216)EnaDsMu^(<~XIrKKX5^yE*%0Fkfc^F1}%>CDb;k zgaPkpdqU8imbX%G0fbdIFx(AeJN$J$A|V)ezT~Zd$Q<0=?+t9A|9xfxN)S-5u-OKx7*vv_pM-%`?6Wlr*O%|=G)F*0eK z$9AAF2IeXv!lAV$d$XdG)3g+x+Glbsp%e%=ldov1%>O{bHZd8Q<~=`OsZn1d zK&idz0HROAVLfLLA5|*Q|D@Te<7F=2>C0xmCPvc&tLe)J!|3~Nk=H>R?ya8352aCO zmMwNgKvQ5t{^n8TF#m(!s!0aO@dLyG$@!P0DT)tP5Oy_&l4gU=DovX5Q0Qk}>Bw+5 zy-2n3vT?rt+*b?QV{E8H{Oz}~u}Sgfub@;_^-TDq%8XW*qT%-Y;STVZJ*^GyyBAd{ zjRv#gNh#a2ep?_?g6qXb`}3Nad}p?e=qP5n5+UZ@7_t~4pcFaiYW!8dK-O;))swP3 zNMOVL{TrOv@ZO#g@SJ4Say~q*ZB45#P9hqgpueq2*qZ5m!O)AvxPZj|Y7@=rJ2J z90hq_NLZCzHwG)janav*aY)GD9#29=8lZ!T>%Hb&;01o8^}RXkT6GPE|JI4MN!PXuLsYg6N7&aVu<0qE#u6{tSnkPr^#) zMQdxhEcii!d>Pfaa$i0&n zU=$tWaX*Qdy`Z6bQh@2}kvW8{hHr6lY)Pp-5N~TGw@{<%8x;R|E#mvwadbF+WVS?; zl#qzt6u9)@H<~jKHii^A#?94T)Fkk@g~gveYQ}oc?KhBOVb`DGbm(>F9H}DiEl*2G zZj}~z-V-H1`ho}>qd@bPMfpslFwkk{@7l_ z`RM0TuXD>@-FeYk61VBRL*hqGU4;N$Y0?>g<-d=Ms_Qzdkbnv3^xATLhKzL-A=waaMq9+E8e7VUypK_{P*|s~Y+7`3KgX@kZ-*Pl_rc>(D+j9JBjPhkRddsv3 zwd?YnvGY|y71)oZ8}D)6TquEYCGrr?*fFJ(5sZW%yQu4;`e(@nVA` z=-uW3W0og)m6Hx;dg-PaoG;qsM5%-6>Lj;gV*f;9F9<1{q?5(#TA>9v&IbS$<@m|v z1mEhU;4VrfqMGokxE&89KHlH%9Jt<-0H@JqYxUDVou#3SFgVA5Pef`+1w+w~(Fl4G z*{Q*jqC7G=a+|RJ4h>b_5N#!wasMNH`mBF1-TV}!neoG7?oajoIScMXDRdvYg+T~5 zc~_m%hDHUH?T^xVc|VQThBN%Mt#2V}+Eth%@KhWO6V=G@p+Agnj8Jqbq@T4W@(QIK z$@k_ev^7KF2XD#9Ka)YDop@M>Gv!4~MutU}t*eK)F#4p*sF*ecw2U%F8YG&q{Z{r<0>H29ZSCIeP%Ge=J!%>&sFJF0M(iPF zx}HzX8v%}0qAy4#$Urkji4apRXx+!nn;(B(%AK5N6Q?gC5;16#fUnL8gJgW&On5&2 zXsMVq)$m~7nGgwVD%+pJ%2b^LyKm|uub0Xc^1}oQRV#JKTOUqi3qRiCUw1F$EGlIc zv*24?(8na+cI5r7v2_1n@QpnF?y zc4&JH6RIAvJr7yf{`MACDemx_S0Y&bjNBGGhp`0^ZI|drTAzx2_=|y2SZEcPMFLI? zSUqn}?Zw}2Fm2l9uC8GZd9fLP8Wc6Y_j_Yc%0Cv(w2z##DPyDv|YMAC`-PV zGjpbu7QB<6i?Vxc{i30jFSCJ|d-eGT#cv!($S+b;{jU4Ea;WUT`bGM$=AbyXxkq?|| zl65Rr#@KXyXp3Q_Qr|LDfLdXVF{Tf89SR%R zaJHH!JL+jZTjfti$?|R`)KwE5O>{XU#dr)@0|3jfeLfz12!H{os)XK;*%8>xA{*W> z)@L$DU!%|;8g>UFXL~d)EJ`rNpb@|31!wMdj9R#vd^XS)5}^8@Rdzg=NT;$%QVKsc zLB;3OYt%_BdOTh4KMNp;-u`^RwYfaKtkv&@!e2xeeY{$Y;>sVIEmf@~$(3ZHxj^=L z^tZuUd3bx+1n$0lMh7dr_n&PL*DGte;!z`ai@J;#?GKrNP)+5*O))5+3T_?bt(v&! zAH>nJGA&pYk4<|tHUe%Njr9+?BXK!56Llo<-YsD6csF*v1eOQj9o%80}1S?Xxbwj;k0EhaQ5AM6#~PApFg$9FLwS6tc0=WPV)4^SQUWCm{FbR?!_2k}*I z%5U|r6&qp|=LO+lnVL?dqpr0zhlOCfd~_!1&h=pKY(MS9Jn!c*Dn0s=vYb?SAD*{cqspk(ee3rDjC;% zXVyp3y-iT#!3Du<`||$n(@XICpTPQUi{wkfk5}lsjFE-fh#a}ka#{WddC~}}&r9vQ zfG=+!uc|0+^vAO$ylv`s{&NmbaFuP)wFAE0F$n*5h~>sinNN0~Vo2I0TC2xi5y=h? zU%(($gC6ruFb<2z+XCbY6Ped@gn5fv0HoVxM{r&RKvtNkpH75XSwnz2Elx1N_?No}4N{Jq(WBF?muk8^5$7URIV5w~kL^rOF~< z0ID6kmZA60Y#uFf7@?CMc-ROeJ5x7%Fgc3|rK)!eVqI4Z#it$bq@!%l^Xnaruq1Cc z=EteG&c(&fgwjObdC*t!$hO5|gf{8ayIlmYaaa1r*k?rSii)!ZV1wmXV2dc13bV3T zGnD#G3&RCZlg#_mRTh4lEum8hbZ6QKEiiB3DDYClKfpD`(PC4yjU$n1!F} zk^o%+5F4if3ar744IB=9Xv0U?3h?PryuB8`R=sM{52QNSonoEi?%wamO6~$F#g?jB zH{#tbz3oO=$`a>o0Hr9 zyqT6nd?L~TU7^ECc2TD6eLVq7mfy*;+udbW2hbp z@`?ALloWEk914C=^8>!LcVH$lqP&o5>s}>g^V;7yu+wE6qzLKhN&y69mri{L$v41o zdXrED8TxT%k{Rh{aw6>RH^gv}GWf!fgW08vch&AqL2Gk9Zb}>1-(_?TJaZ4_nzz$2 zvHmd*p3hSmvKRbWON~kvpRY+UFKtQ3-MPD6id4-tIuh|f(WZquJE5yt9CUCyOx#N0potv4701{X5Z zE>LGKb40ia944}2hhoN%;-SL}ZnBinWKsd0+W08Prum73(jFamJJ7X1#1C5CE#82u zVxCB#i%4E*iDiePf%srg+jTA9)L;O>gwRt8I}GBB(Q8xg+{L_&y`$I^0wZ;IyF|YTk zIOdX6-?vJH^fd-|r-pa3>wFzxCZ~?K*J}QQ%?=$dyANXu=f?Q;aQDt1+*|JB_A)Cx zBuyeHCGVp35cF)_f`4Oi6SFVXPsn3Z`++AkO#<4!IsBR_;PZ%@x&jlk<@(V5^E{B}}*1*GGmA-;@iN=66ADP?!oWZ#44rs`e*^cPFYNj=r({qPG`A zEXT>$5KA}+fG&d0z8iChCCW}}P~4efW|FP6yGnSP46q?SyS*YNM%0H=^|o1Zh5fj! zu~&31!;8&bWK1%fmssj-=Y2( zsPuCq9;=~MjNzP5B6ZF@JIYJe9Ui)8Bl$WVlhe>}$5^Nl)nW9PN1i57;QB3=n#E)P zRtV3}I9jL~O|8KylMmVd<*c55Z)-p_G zzamZgmp&l`Th9BNNkQOQ2CwTv8WRM;@uh0H274UcQC70=tF6yVng9jGPrpL)bc94Y zbrP9Ww&`lg?F5VZJK&<_Hu@s;7+t3`P$k3kWUd$h^8`)kNrWP^j`Q7Y-ScLA#q#FU zFU(c?NISN(8C-o*{Wnq$}57PM?^xhU`gz@=HlrQ-lJ1mA7@3TG$eKq+;%Xq|eKeA$%> z84rB;*(6Vi*+~*UjhkDQYIsW7cZE%}GWFIKOFG#-e^Ww&94}@V5GDl4+cG}iEeLC*}0U*zR!i2-ripbenrN459W5ey8 zs3#XukkzE3dc?-kXmVPj9_7J(+mkV#{kk3;CLMG!q`M>K3WxG~0I_3SlJ zHj5l(pht07-*0`)k&1U+k>2ljQE}|AIuTk1We)}61J!?H?5LASmtNde3r^YLg=dCY zs0Tt4bk<@OKlhHJXR0PkkFc8_3T_26f6Z*70b`eeU+MB3y%@k4)JKZT~)rMR#v76LUbu2n}(vc6kmQ5+7${E zopFE5*nJkUkt-;Ll)mq|I?J1Cb^a*`_HE5QGL>bUJq(2v{24hKzJiD!F>|oduZm=kL|v9;PYd3AaJp^^m&8q<86n~k1fuJfU*!&l-M%7vbW4r~4c!&zIClkSoax1ewB0#h!Y z@i5{pmyLq_vmpQkSr*&CDsjN@I?c9Yx_2>+Q5#Y6_@V%g4otzomBOY{1kvloGVR>pdeRAk3D=u@T;M>>TF94>c?LCq;gDf36psb{0eBGHITr8PE~Cjzejb}VQf+E1Cbm^2`3jTg0V_`6`+fGXpx1X_EG&wGmZ@O36zl>dU-W9+Mye=e=`ba;ryq}W zC|tbG3ZjV#L>e1VsHlf=$*uuvd$Qs_IQh%U-|+A_0ecuKRYIbTpvi3Olw|)Js<B)_;HCcw!Rnzj_8J{J7YA`71`Sf0wjsq2!o zQNY^t8myMyzM@msH(siBUxej84t8UpcQE5u#gvieibZOZ>W>I?kG$SVrzvEWO_g~i z^Q|J&JNM9Nv^i^dM`0jVYpM0PXkTPD`r13GpKQJ!lD5F-^SVoDT!zM##6W*yWhkRc zFnZ9>WnjAlnQ-U*$8xdaB;P`{&|>=mH?ufI@MPkqMl=|S2a}QlL?i|KQ_;>T931{p z!SCYCEn!b=t1|p&WtGVsfS0_c<4D=77b-h|zEOwO!KkUgxJ#?glZ6t)ZICF_ts>5` z0(ti`a0p&tu)+<)>HWdq*11d*%fdaR*ht23(0I3ezrq^Z0IC+r*fFVsuTgl3sh4zp z9{kL|%UuK3sbWDFah>1o=+{?@jAE1MjiL`GOCE^XXA3ox(S!0l?>E2gmI`<9_KMwZ zYDPuupt}^#&JF@-TiGO9U(lfJGi-&^(*9ytwlR4lS9c~weh69JK5B&Whkl3oXo+}O z|B#b$6jBUyYqj9-z39`}ZKV9__QoC~hodfT>NuJwUx2e#^v|%MLvib#yW=$HXB_+b zO`4S5Q**-LP#!6_1?XT>wrt$UX3W-?EnAG`FBi?eYz zw0?%!*utiWlGFs#|E|>+KxM*GurtCBSaT%&lC-$)4RqfEKG}{`huxnCkjEiy3X@K0 z+$6vGo`}Xb`g{nGCsrbpEu^?9f!g{Q!QOPnv$ z(8OwYngzpIdUG&WDmAYT9vL5ewCJzp>68WYj9Q-HN%1_4k7T5@#Cvt`-;JIYYN;E}`l+W7>(P^^8 zHq-6>cBjfe9Bm136s)tDr{O0qX7_HeT&dCNJV>>?wYzq|Ie-n&k#2yHlXcVo%BX0W zF$JaN$~5;{J1J0m?m$^2t77_{}Ii>tkq!Qa!|>v zdl4C8<;>8;4@3<@0&QK6nqX(q<>U9+(cj+3|NET=~*9_(Vx0I z;)o7r>X1*?oJ$yV6(X(6syic#1)w>OWccVWfqwEm8~p$s&DYp(IjM|RsYq~kyxg&& z7{iqcNv?oGy{zCp|H(Xp2^VB!FyO?O-aU)pGpa&2dvzUzh_n4AcdkBNs4UIRE;%~8 zHWhD3_r-Y@iaWzw!}P}0A;*oA7_MxPGn2Q#6DY7~><02=fRYh;s9{f_{n_BxA`zlC zAbl!Z=8@LdGq=76zgLKAW{n1S zj`hW2zRVaC{M!5uN$%PaJ9VCyz+R0XCjh!_sJl0wJxY?WNI=Yec7E*m(T0Nh;#i8I zqYtkKNC}}5Vt#Y*QAVMv#?ZLw(Ao=roGXO_K0*b%19}9slhH?5e)s)R+O+* zS>{S3XnDC#Qn5Jq1iIRLCE_BU^BE66yiq3upmBP8Pcrve=foH7Re(1yJB}z%7N^Mf3)s*aWU8fkbuq*!oF*{C7bE3Xq z_Ri_ARE+hsF7-x$oo)#MzdF&QlBAPQ`8}Jjg8kW!HyR8%Sh)s9+h^^-FnHBs-RohU zMXw8_&-?~)VTUSbvQFKA#P`28|MtIt}$$!eTlS_~j%GonA1 z!-Ni=BrW*ZNBZFVrUYDrg3m#dkY;=?D^^|gvcd`*MF%;15#bFe{`nXIOLuNl`~H`e zzmNe%R=1eo2A{$@KFS?iZ6IgaW|c(5H&^$v)rq3uJwLP3p9|x^jmI_+Zj7l4EB&|) zYPY*Fm?6u-Vs`(0Mh*r{rEVJIXuET1mlh{B)C_vzAsL}d6_-sXWkDMv0W^_b+{aR0 z=f1=nIk|G0jTYs>6|J;b%(|anNDvo(Hl+P*%#7K1Y@%(N zW~eN*Mwv(H#PGdAl{*JxpY?Q4PWb~n7?f1YxQVVP2jq@yQq4r@DY*JleQ*`uk+;fh zv>|=qyqpidmMNDxG7yddll~}RyYyH}K#);M@vU3l0vkeJRZdaP7}B!!w_+KDtlA_& zyPq?*Hp7k~Ne~6a({fsiI8u>h;$<+FDGEBXZxm4e>h`9y9!7B|+_l)<_ppN4tyr(E zV*RYqruX6c0M{m=zmqOL(t-{A8D&x6m0pcaSBAye7fyL5CAJ) znyIDu&VM44!gryFQK--_qHI9+?ybYG*gyHIB*Wq4kI#Dt6Ns;V{!-Im$ds-xsZrUI7iN($TQg6`GC6<3aMhjE1}3` zvZy?KRB5fh-)@6 zDMGqmAMQYCM22=b%D?7u^$uE<&S}}^>^&P$1fO+SiR{< zC6a+CAE+XQ#~wcXqi@^|mFCR10*dX}MWxSU&NJM)qg4f>r<%44Rl=kghD|Z=ndhpE zlT5F;aX-2h9Yz-8jP`85a|fa`i}qi=EGdVEJ^*XZ0Ba&os_A=c;SGC8b6EgR%;lsYF!Ss=dY#;?oMx!NExqo*r${bc=%v)PB zXBP?k4z?`|!YIf*hF4qM>v&b(xN*HghVX6Bi>VDak}C{hz11}d5tri#c>YJ&zbz4U zC?k0qe=zWHpT2Qzr~U{M9`opJXm>c3-IC%`zMoKpkJyFEL_XL>4?^}+Up*pftV#=c zlJ4#$=2Y95JK7FquGeQ^MeJvB^LHMUsRUpZvB4hEcEpF1Gd^8wb!=FMyLD7ga5=v? z@=&dACvA#_#1}f(!2jvMKj(uChKJiVqrbU(~;+s~C0=4CXa@ zi+p*pJB0?IPc&y+e7|3{Y1a1G`Ty8^tEjq`C195j65K-w4#9$3aF+y^0Kq-DySoQ> zcXwM@U}1sa?(XjHa%Z-kv(L`C<38Po|35El0An$`XLWUTb#>L(t6&`NO`1Aaq@tO| z(226o*AZs5i9;7Sz54GW^KD?>4g(9Aot-OtKv8Z^LJ=mFJCLU}4DCpyy=uk5c=rv0 zXz&7;zVclYhF^~kp-9_nT3W~9#W8>4E6aC_C94mEdV$QajnSBH7Jd|nHoM+U3csH-rMv5686d^Z$ z7??fmv1}4dg)ieD;3lOSx$FlS=spa74r}?6KMIaRCr}kV8sbuYPmO4gDg79HAYxpVlPZh*H4Ofz>#6R-5%Fc^cv5+uQLvdX@Xno3NQ=IQyDOJ|9<$l^2bn>8N6T$~bQ%%Q&Yq_V8;s#axEDEsuOS)SiLWLLrO?OfJ^XNIGdXD-&x1{*PvcKuchj8J zxH;OAW;-=oQT&qy@EB*Iv5pb^mB?wm!|Ux1eb3O~^T90ZNFj5UWtZ6|yEX?d)h3cU zY=P)%Sq2Vm-tt7F1&pXZ$=%xF3vYv>V!f@j*qXWcM)OS$SYJ{vaoTS}W#CgWH}$=- z{BYpdy-xD*hsm-LCvi7w_W=%JWE=@9((Yt{hzV zQkAo9w2M95URlTM)L_Ye?a7NBNHm>CledGl#KK|GFngn^SN=azA&fQRqRBc{=< z*c`};=!G7>;o!&Zihjn!2q>tgGE0}+mvnR?gSLv3>}vbA zOz8O)Cd7@`BnjU=0Gd@(NNBw{5BvdbP}=r6^1BY^j!>T-%@mYxE=T4!C;0@ptSBNa z#us7_0jH|9@`B_O!#2g4_jOAy;$4^^q$eS4N9r;akgWTH{PIK~k$)RKy^0+VzM3j& ztBRk7X1D>E6?LjYvbeTcpDGH8fv?N$vanqa1Hs_wJp0~OLrciDox}Jvi4WTskE!1! zD~R`|FX~6pHRK2utIwE$1bQGXy(0^Y#pXWNd&gz14cO1i+848`o$`FvMg3KHLcE$e`ui|hPAozU2&7>4VuYT*&}exuP+@6g%i?$Rq??N);3#!lmR z(Ak#GNcM_~{=gTsRX;z}Ds^)9?}q;FZtxoOghDU4rqvNw z$-n2BRybZX_MJ3cljsikf_kcsa`R7f^nVIdFgYBBRy4OppMO3 zczG?Hck(SEnQr5XKTh>_AgukzFx*0e*X8Pswf(7_iuBK~g$dkp$~66km2z#R7ctG4f-A_9BY#CnR5f&9(1q?y&7+3`Qfh zK%Il**UU2%p7MrW%EH`_2g_&sGa!{#A#SyUa*v1NG@6G#x|VUBoq|u<>q8!op!2;c z=`_bxSUfVgJ%x7r9G{9=u#?TsY)$dJ``v-cbce4{S2#iZ&jWVkg}P19nsv@LmHmFB zjIo^UyU+f1u#%8wyUfue#OV==`mU5F_7PmqSv~%I??}W#oezvB0pZ2lKdvshAhTW&AdKL^tU$`H zEX}7o`TXXazB&+_=Q6(I&>eMlki2$SuB4B@?xY_x<`=#%VM2J`s+MP3EZbm919BTYsy`4tNprH z>-BWB$CMM11|M#lDiEeQEPqk;Ht~6Nrde{Wv2~cL?&-Lwx6Kpp(32{>x}EXV#Of=5 zGNR5xPQm@pf!!5Ez33ypLKS&UB~K8fx~9XcgB?AZl#z9Q#0bxH^0G8}?sUMHuI?XT z8vq!9O5kGowH~DvLbMwKKATXd`)y>+bOyDibB`Y5)>is@xW|o;bD$w1*6y9&cX&SC zrnOqm;0s?CjK&@R&|$NZr-AZ?a8`GR~kRDzI=#$AaZSsPm+$V=M1N zdHy+kVn>J2MMUK8@td}9{%1sQF3-T}7Y-;(shL|Z)}rvC>1dDL=;^`;9R)(@2AgFV z!msvc4p^`T-HI0+A0#!(DJH9xSge9pLYKLo(JEHrAM!khwWU0VW6KAame^Di31z1qLc4vQ&1sVeAn@Ey?Yo_1@3NezKT;{ zuvgv?qqt&(srSLGJC_>U<;tCz&!V4%QVfYr#Wj(zX9k%{E)W!D2^Dilw%J503%%L&s4{#|6F0Z>es^bin|wR8 z|K=>8u7e{}rU@G{*CU=trNT}9WM?!hz;mW{T(Zh+>7$WszMpF3R7{uj&q_EHxRq}= zmva_<@N{58prq*ao}~?!M=LxUegX>70+!H6iD4$^b3<<9(e*C)!k;PoF80_Kk|yqs z4g&97fqc7h?pajsY8<)(S7wP@A6Retxf`(4neN_X=`He&mB(D=7h&})@^shH0}DDZ zt75V8GJ*3pk#fCdrt9@e!0m87uXh01>>924&+33`$6%Ir6Lh`S)@P90lB^3kQ#U}- zD&Gl!ac{n`*u5ZN+eYmx+PmjEU#$GUzA6LX8{e4U z*4+|KIzB9WAuI|hhSZDA4^RhA8>@5JMXEPCP#i_0Q(hXx;mRO8b;_7`U8ZgbTvV8I zf%=>IT)*E(A+M3O)$Jh@tGSxFJYW&sPhg zG(M$4*T}3E?(>-wu-MjLT6=Dp8SiQckFeDd$Zy5(g^YwjnZJ&>+#!FWh|ZT7Um9tr zwDm)!P>=34#Onouscmrz+^z|f9R2R6CU#9n$o)V z8h;k0DU`oL$W+_`e}yf8{y7ztY=^ENX3>d|Upy^Xz8ri{S%=J!cOT{cz0r0v{Dq*& z$V(WDTn69XgwqLKVUI+j>s$&@wbMZV@q)aXsDnmeT5s1CjQ6eLlGMZ!o#V>e6qvyw zDtQlAM)Q*VlH1%Rd{W<4+=?{lk=-i@E1J8@=58~ORfnqv6LS<_4dn{MwA16o(x-ke zozEivEXLE0z%f{Vo~*~@XF7_LfW0mKjZ$M~R}VT_joiak&NT<5B~~>bj)EmVO==EG z73;I$mfAbnxcv9o{!jeB<-zPLq!5fE4GjugJcLWAaw!|wu)?DIj;!qn*A&2Nj~S;X zIm9Q^HHynpHnu2eP8{hQjTQKWq_V5n6U>)ANj$>sE>@eZ4O)xFx9Q7y@+>TT`8K!d zTHhG(BtfQhx?%%rX4F*qq^Zm|zP96#+km_mYo%*?0VTWiE$d4XF zhf9p4Uz{B-R-|hqKsX_{!ZVt#$Q(O1pSlbgb?{}1(DDx(~&f2kXSWVS}WD{%HAcYxI z1K?lB^F&=um8^4x%xb=NxjOi?<t-KWU!1P|c0;Nc0{*^zS%d(XcLV))hc} zx_k&Rf#1bF|Z)Nv*1Rc`LKYBovAR8Bt|0r z&M1;+qaEdoW7FHTSN;<$3LvA8=>*M3a?eO5piZV8l^zvS1yKYE6AolG(5|JJ&F4Fe z;yx|WS!zg18;`0SqS#+s-7 z`74IcL@|P`JoIADOT|g5wm8+iC3FFJ@xGwuLAv=0EU}+P{UgZ}-54|%|YKg>0 zLOPOh+z~v!+R&b?@qWj2u#L)%J3Qt7UavLyjYdRZOH$59TtbpyUb|Lt_r%}+6Tf@2eYabgp>S744wfB-qV_PLFw>RgYQYmgxb`~sgjm|sgZoP} zKB9d8`toYB4cyXsa^F()784*xwDLoEzZBv@@I#n<9L8JeMi1Ya&;{24Oo@n%~@C!aF-)OOF&{qmYGcE^MrB}VnVMdp+1z!ynqqVA6K zYIC|iJy&Q{PIM1FqsmIF+j+X48-i`;RiYVY4daaPl~S(2o;SC9=GWzQu3qy2$MB@w z1Pt>{Zk$6|vV?nI6Y7?R-Z_qpW;yj$V6wJ#`a;q}^6G%Tb5Mo5dH8-v-MROuPty@` z7DZ@pI#HDMVdZ%2{eH|T3sei<>OhanxCAEGzqI?5cG;{VV5`^DPYdtGB(|F~KIPFo zIgryX^g+MsEodNJIxvw2D8H4d+YVyLEhE1LP$*s`C_6)pUb;P10?D3x4`RyWlaz)6 zDIL!FWDDZ1hA?@ZC3?wbk&mKYOrt{(wJqaNC|gL7+`NR+*L9b4$8a=~SoZzmKk+HOEU^^NVAOYv4YB-L;%bC-5?S8& zBl~N6_`F1*u%cR)@=$*AA{`tG`H8ZCfJAvXtbdSFZEL+i*4Mb#%A!$OhKa1+(iv0ukONu7t7M9 z59#Xu6+yQGLE$RWv~WTGWWZB_oWxdDU3iUR?Kd1%NDw-!i#G>=K5 zO&Du9GH*FP;&mkGBOR=EL{=jbnKUTN1)mj; zH-Yi~8#8etY%D@mVmG2uk;P=%y+d%f`@4~?@0H9tOm`SQop>iCmv z=f?jAC9vV{2dQT{#6OsYuhzVw;QY}%FQsRNK4+DKkb#VUf$bK*t5?n`q0sKB?YT26 z8N3#?lypx0?}V^cTByMytX5=vj)G)4>4B)P%B@B}$BhqiMHm={l_`Ug%A=p070zP5 zTHm}bQ-SwPZL10dy0Al@;>G@r=f>yw^O=rU1SUsm0A^?2rgBdK zF2(*pd4iVvoTIlBky>(WJY?GIP12!?A2tQ0r-$D=_UK5WSM2ILmVbx<3Chx~-41Dr zQ|-#|_r6~e0&EzUb7Iv`e4bZSkq%@s%hgut?VJo093!1H)J|hjS?G|vO-9DvSmP#> z1sf>r$haJY|Kh}WS(1D1VU?KxB@aJwF~4`!lN;t(xfB24%}(huz==tFmf}9K>844+ zp>aCFE5#;1J(8dVqvoymlYNx0pf1W8mltrP4TN5ENJOQ?Hhr`zGC;qxsJt>zyL)<2 z`+1Vm(#pcUEUAxAGwZS5uTv-dX`z8o4 z_c3>?NO|JyELhxp>A|?3hfBqW!W`Stal2Txu?&~fNiACvn1DAQKuQ7dhP^(eI@E#9Aw0nh2k) zz{kK)Da)PPkON?Nu#SCudZYGJOnU|fB5k(bPG?WTeeL^QD~JRkqM<(s7w_daxc}(t z68FY-^4z2RotH#-3JfmU=`EL^+R7o*7jj5N}2IZz04W3z3hUVBYseSqb^ zf{s0DU}L5N&48z!+UjKg&LaE8Cm|z@%yLMGyFS%_1D1-k#sT4%*(%kUcmKUl2*Bhf z&Q6~Z`>$WAAO#T7wfhPzLI0IH_|^yF#bEcgL2cB3{feomCuBZNV{GW#zuTgJiOH** zkk5;W@iwvaKg`v?zVb{Jz(gDMnd|*eEPs>Y|HSf3?fsuv{wJ0{e7gTnwk5Duuh?|9 z;B&EJPgHKO-JbK+Ayq1;eXWuB%zwx39*6REz^A~!9*qAX{<^0Vh}>4%o6WID1_uX6 z#~4$L)=H}G%ohgBmne-Gc_^3Rvej$G(Q4))&r}A z+M>CAui>c0rXXE5kYdliYsk-F|56zmQMC}H;_-n1nO8y!N6nsygl*?+ z`0TE*hIPsXV+H-Z{zOjUr-!N>Eg0t=F$4+o_GjsOKi<+a*9lW(I%`b((5mwP3NWmN z3F)_+s;(j*WUpp3!Tb{*mMYc_u+k7)%HoH}UCE%4@MGGA!@8d|oIX9C^@C(Hz1=Rf zt1LMXfimJ>iv=YMYQK2+1&pJ-e2lH((x*qDCX|$iM%V>7>JIFpYc9VW$6|Uh!{#@p{XLEJYv+(EbFS?T;wVUiXi&18Arsa=a@2 zCE!%imGb~cRC0kT&>%71L8>S}M+B%*&JE~w(H?>??a>=q^>0YRQa%7`Q`Ll zE}VTb-SwX0YjCIyP!mGP<;H8%P@-O^V1GDIbhE3u_E9niz)@LGU?_@L>p3Y&BO75V9Yg?%BR zp^>i#RC^=%1#`XxNJ(`uP|-Er^0M3CCuq2xR_2oc2h8_uchEO>W94Eb+%&9e4n7Dt zjPoS%KE2U5jYlo9+(BJlKG0BZGTF|OM#C9i2-x&W=^kMnYX9a){M%gcB1F$<-GN?i z5VK{nSNkfe02IhiOv#aU{Rl?$CVf;W)gZl#v9vvyn1baZ(%vx`-2ga>lRDMYMhkHs zgCN$`918T<)|)1|#{QG>LuRlmQ?51JEPgLa?Pb++u1l8m7a?!4Z1hATyCAVO*9M)pPc#-$NH}6 zI6B=h2Q=9)RXPe^0|R3Ol}$z3eje5%Ny*Q3nMC)olZzZpeAEvU=v>@sy~!S1A}@D)U)K; z6|;<%nQ@BusQudE_F6`taU?kqvNc+?n>5Vk3nK3iBD<>J1RyqH zcytgyj1hZ`3r-U8;d9x_3_)3(s`4V^&eI`39fnJNU-E0B9gh}mb9wdMYNJ>5_Km{O zgt>ZSkBLQdUhww{yJG%xmyL_~&n1HhO*gg47V(eqYP%wg$5s4AL-{>96wyHO6zh_^ zdYbFKQPa}W*=lwrK{qWk0{&#N0o^x?@dvRtw8vSsIWsi&|Uyf_!(g?uak1u0_;He#S&;xKIjvPHzkEy}>WZN!?J1L;6y8-sA_ms>V( z0bqKBD-p?>&nXb=4U84BKtwk6+LZyY-~^ysg2Q8jP}#YrFKiG0PPV!#${BnlAYAo_IW zeP}Q7;o!04i=VOLhKQVj>UPM*>}O6jIE-;qchlnz-qLS-BwU%Y1n4MskSQx*=IuiM zkCGc07^7}ye$DTPLZWS9yey5bYun8{<*xSF5+h%-wJ@un*hLXY&LQEww%4J+>unXC ztzuR4v?+m=^%obEFj;$gJZiDOVjAM1F(L~rLC4I^$?@g%JAfhdgn<0p2VegS7|WNa zCag=Hw6**=$)&pqi7O2edk8ZeE1_XM-+FDomKBs#d_hx4%6-Y2o#=dJj*H1K&J2>I zpAhA+k`|UVP(7#KpDBZls`e|g=bchspU~*)A3x!*p|!2bz0A1>-?Je1!C>1kUoTs> zapMV&i%KVJEkE%*rk~aJ$Tqfc8m)CA4jMPcoA?}_jgS*0TQN=raMe}Y_MO#f3tr#( znrswdF6iZ}uk#)?ndnPtQtS=5nYZlOkIXDHqj2{_DcZS?HV=^5z$Id_y#3GjgMj?> zim-J?O2SOpVY@9LD9mV@%P8VNZ|p&l`~o&jukpre#B~WQZvVb~VX_A8ht7u)xNm!D zoTja%rCePu9!5q+%W<)Jq-K_cOcmKPK`#x6C8hR0ZGkW6^Gm2t@3t=*ZF{1{X&dD6 zJ$4z!if*V1i;J1ibw5wrxjlUsr|Zt}@>%aD4vRVHI$GBKO8R%{{~Qbyxo40m{NU_5 zoCO_O{M1ynM#rtq&6jvHwiozJp!5A9{khOtJh!`(xw)B9v#IkGHKsfJxI_xhd+J5W z^0+rgXbY?Pe!RT{PxYdd#YNQ9$7XfRAa`Wu=q+2O_Gh}uaenMspcD@sjnv30Z+(|^ zMyDXG7LY}^>3A~MM07Mxqa)_)*Zy32HK8+kB~qh@hj)_mOHOk-JM&b;#7#e%FU`AI zK^0Gj`)Bqd<0jNBYt4&JL#g`I!%N-xjYl(!eb%`De9K|& zpKoc4O*m_>w0-i%2g#(W!D{W}&Hh>Ea$XpYQ@fo9=!^MFf*cyI8mjVIdmC{v+u+2f zWGonSskHaXVLZDDud7XhrfgL_K_*i)pcoTNIdbfv52K#h(Y9Q}N()`z0zl)FDR&2r zEp9t3cvEK=teT*;z}F+t(%XsUuB4wMGOCCKIG$?FnjtLqmy$LlAIJ+QU`J z3gApbEJ^2WGC@t8qN+8<^i52o1(Dh7DWE|N#8VTMCTBaX)7-&sXvIP5xrE5(l8}F3zsNHqv3gKA=glp$pye!*-BW zedW%%HFv2&yW4e8-98wVwm6M(|FCn^r?})gv5Jo!0=`>pTrXKlHPTGlS{_f^5>Pcm z!hb)VR%<)M=yak<2c`M8;_;;38mO(j_P-#h>NyJV5_VP2HR;4--S=H%vzN=k;7C{+p^dK{-$ z^$j+P0VINhlEpFJdp_Hb)`-`>$)4}}LPlnC#mlg!Dy&Z98;=^r?U(EvDE2=YmSdRb z9hUYxk4uO9e{f-9);~{ZrQR9h;gz(VJY|>*jYMN&$$81OiO z?6Bz8m>80;amc(@eaNZJi^brY^XkXmQ(H#E_^hIyhMtZJn7hA;ITXZmY=>9znh(;0vCfm5RjnS#9?>i+>g1qFxfkZDB9I=fVTs#KMHi07$fn}B@Bbg>Zt4;IE7 z4d&I;b%o>6<)_`7IBiEl=N1*IEIMz|+!?1u@-(^hjoS=aG|x0!4B3oi3nPC!zQXK5 zWPSWlO?5|}p41cDU+gs6<42p~oS7JC)OVdR5N>qv;B`kpVk24i1VDB8ZC%Hp@f zSJpbiqNAnRNY{COWr9auX9PRH5<=!V)?(iavB|MmYOc-Av+3zdW9H#`Kr!j%G~;f;EAO15FDJ^+QUvxN~(OBT3@ba`}iX& zGHu25uzF+B<6TkR_g|`*<-pOAQDnkTCyf3N_8v9>Hh5P^mGF9iNyIEl+Dgt2H_Aj0&x-G4i=_ z83t9vuWxSF<~w?Q0kpNirP4@SSwX`*fPH(iR8<0UgM-@V>`K|^&fHz$d3VV_*YB@pE5)+$bAkA|aI--|vEjkS{g)?m z04qpYF(YHhUyc23u@8fICME3sPb2@ESn8!bA@cW%LJ)}m_CJ5N!du}dVxnKE1d5#(NhHZbbPP$4Xirp%#9c>i2&|<) z>Zq2!x?8HDWwh_Fw2)5?%5;untYfevPa>K#lB1G;FlPM~&UuJ9zM4HcWC{^wNm<$8 zOIE>sfM5Qn^8NdRtS~B?f+dN$5Uulaayl*+&FitA4Q8l}b~~D>mxe|_o9ScxV>JOh z2`?$kil)#3`k+FJ!s<~|GEn<} zwl(&L$d5F1r8iFG>UN_1<@6;f^Tf&r`D=80-4eALy{lH`V9JJ0gH`yuBlCMZXzHy{ z>}C>FBWG9v_cuJPh3Ifb@KR{Md}VXA;e@!(+WRzDyya?Ser{y1r6)8Q_kVV{wG@)$ zBw`8Y=!T=U5E%mYSAuxP3V+Srxv>Xf;KmJ-{B}b}=kyC#1qJ2AC8V$JnN*7+m&eVo zEFqY9c}pqY<9P~V_2T)UrnZ>(zmL-IBX_NuvDj5fyY!Onf#(;=%0NBZ0{Ced!5U~C{TXU1qjGTRKTpKH{|8~N-JR;f11y&q8P~kHT;{g z_@Ai%u0;P+uK$=e|C>&KUsV5ZG$4c%Hl$g6|E3tGetdRzH9%-ycCuWR4o8ed_Qyyn~G1a-0t`XL$LNg9cu=x6UJULKmdDIxSEGLw)gJ zFqf#b^wIhKEyHstwg;uX7_7e<$@tn@x8zO*k4aNKcOH*v78)6uMg+voYCn7wJB?Go z8l+>Dq+RxBP0p?Y(z5LZ&3lM{S`W`Is1y%g=u3k2-YBCzN%9F`2V`be3Tvq#`av&O zUS3{A)aa|5-M|s$ix)2jGpW}|_&k}UhUZ`Y)iB`+RQ1GWyrw$^jyTI~zY!)VWgk~m zTv8m|Z>|@XqDh^)p`Z~q_WSxCDAIa!)usH=)*2EQH^o9-TGD7gD{YEYv&f_<*H*4D zCN8emKUCi_xfc!yL5P?PvQ6SV8)Vb5q55l4_v%1Zsxwb@<=B%eEG&#XueRM8%?&oI znc)g(YZ-pOw3T-y#h#Lzd@7~!Tbo>j72hlxFdy+o8KLS*PEo*rvH-Tnhfo(9?dmk6 z%9biLii(PI4D}+<4=3g>;ZFDtNL^83EXiCkBKiN-vLU=-pCqFBWYV&}f_|Ls-fU?P zO^Rl7ie7Xot=n4659NmHH@Y}KCDWSw+h~sF{(#X{?L);~AIIa^kxAEZ(;b*)metT8 zqf#u5;c2=Xj$+Dq-G~91QVH7V{g;x$Qf4fSGS??!y_&amU$Kr$x>&y0{9t6JdG-Z; zr72o7^(OXr&zBGUA}SjD>A`BQMR33;A#?tGNr`(<`L#V=4D%)*qIDUC2JypfgTv;v z%!Xu#85A3Or9$_=oL;_usLlQx1+o5wWF!4Jx%`d1M}bu+h-A7iagl7A)5RM>OvH79 zKfTrM3{TZ3yiwNxcZ zv)jsdKbC~V^mvQloR$<{XQxc?UsI!2gK&Jy_tKP#e$9H(6)h+5>rk&=QB+yfmp@x6WLQ0C$Kzg%nP7{$5ozZLxqZuc-AU* zwF+q==LkImJ8zSF#Uzg+(RN0%1LBM8<@!Ft4@zxpZT?HrCuqYnqrd^6jzxTQ^jOw} zz9r9jJjNCVIMwdYap!xHG6XB-$>fLyrlX@9@{Tp9j09%pu?`6z{NS55Yvn(`2m$!= zO5dz=AM{9wiL*cK4J@Z{v}8b8j9pmHB@@IK9HriK_6ZG;-w6Da=y9Is*-<#i)`TK8 zF1hVyit&Xs<14jJK%aXUqp=m_6%s@PdP!MXS+C_Mvwt@Aj^7&V-;a~6E0ASEUS zeJF+>`1Z(%b`LLlT)R1k-k7tF^ivCgW^_oGT{R3JXEJUsm#;Y9hc%ZM6@`4Rb@fn( zOlkIjg7_=`a8D#7tD*y6L_;wvHb_TmhS&9{^M720cWd0l4w;_m8rXDf8#V6=%VLX|KTer*BRF3fBq%5Aui6 zm=ctWlH13UV0;BhE0&y~`%WxE?GLL&2m8~WJ1KvY|EwrxW~MHHNyE(ifpL_Hl#_f; z3O9NIj1U|%d1}CWI?w(!c0w_hcO%iQWff_rI(w@qrpLQm3&@N zQ=_+OAeXqlxh|%mq2axiuy2>-xsx_Xhn<=?6#BbOJg)IXbiY+0to0*r#ZuKQ3u{$? z->&05YQ8IL8m!Q6mmsw2R?q}BVg3XtyRv<0aAn*>FDx;1tF7xVk(e=yU(o%|gRaN- z^z5MNMHi7LpEqoYdW%94WwB}5X~TLV9iz2S7lPP$M#N)CNnv4Sn`A2A$LF9LyBgWy zQo=Uf9;qxil3h@0fyO%gA6hd@uJt@=6GTbD1H^*X*80`CD35oG%f&{5vg~8c&l5(f zrZik?_NJG8c6WDmPgkN3@}BNmo}zixPx6-+7?c4ei`vq3mCEyA<37KTgnyIl?XF+~ zAs;?9)d7pXF`ex}J1Ak5N%vg=3Pt4oGqZ1nK&L!&D_k;j^6R+AYz^Z1dD)D4E^^zZ znN6ld^z?EKl?{7lW@_3W{%xNa7!L7l@S4pAGaPQ-e$R~YOJ|6E>|qILXjjG)q>dTB z%73;w6fI2PArurG{9N&1p|NhizCDal=Ne{bs?LMZFyoo;236eGw6hz`^uFF$ssncH z^^~&(T=t7~%^4d=OdY_mpegXF@^dVVE}+euh86Nl4Y-UHy;Y4X*{AMYHx28!tAMOt zM-XpE`eSAW@_EK3qiTIPk%3J4)Uhu6hz>*vlh5~Om}HJ6lUYP>Hcu$d&d!pnwf0AI z#h2@a)NfY%=+@Kj4v}=FpC?C?OU9{7PMyh!stRvxn2~3HG$$99yh(I5Zm4Rx>@;B+ zE_^oHvSbZPaoc3CYQN<4H*-^sB3Ay zEiunHo3gqHH=Z$K2RdHIK@QJ;0$PRJd7g zSj2ee{=|KAJ8z@A(4Pn^*DVP^Ai;ZOk$TeHST$TbraMX1$#rwlaxe2G%;}JCgn_8S zSe|6G4>HembDAroGjI9)E`RfHW6hzs3>xB%j@NK+18cleCwCI}e4VmbBrWE{7XW43 zFA2PLj%a{n6%AwRRV1x6&&jKi*Toj#8-MQ4I%-0H+c#0HD1PE{BwC6^mh}Wn{*hFg1N|ErK$Sn}q41F-tBVh~7uNJV z+#X>?Y|gqgWIqC*{bXUnnl2io(`dTCWU2Z+lEH`j0vmhxxdXfgvT4W&Tso%?)ZBg* z6kD>_ajl)#XDY=Wz^^hwp0z3GHbW`C!I~Yg>I?{7lMTb+mAXCO8M}{Yy(93r|D@sZ zV5bZ=tSnJ!5`%+-%K;EhRb6Q=(y2#h5;S#qwiWSzzs6f%WuEK zOoHeQAaH*N;z=b{Z?unXk|fmo-T`a1Ls^6l$Nt6Kcu)Mm9G}uiykAk%<;P)Ci&ir( zgHsT~lD%WM70U&7Zf-8)mrVp0v!<@EUFolOtMC@%qN9m{6T|fT>f`)Cm84pGK|Id$ z6=8y?$A{a#8#y||1DT~GlY;X2B*eW^!Kj_r`~BRxIL0jI5tL_F1=l`TdN-gk-E&D+ z@yk~JviEyeXPVuo0H~?C3xBWoUN~t-=oUgjtxDx}X%d~?MQGd9r{|sG8un8x!7(Cw zhD;#bpI)&3P#O(+ilsNTQbp?*(rmUrR-I{(dWH{@aV4E&`&u|RZQZ;z;Lqlun}V-bgROge z@&l#nQB%sAZ;hR{Qh~dAnH^o;Pfo0)fQBLg^V_;%-mpWqw^!|rupf9DWS{P!FFwV< zT63XSV0*@Ej)rLblAL_H&})zwiTABzy!w<0&9$}{UbNg1gLe8?#*8P=*Ii}<{%amH z*IecU%-%z#rKOc1I*VR9#KnGR97q@NV;)Iv4pdkX>yUNg&8pUj+m+bYo70uKCFxi^ ze0TX#iQ`4H!mZ4JugxMS=#JZ|bL$>UE#y>FbSBngEosi_A$VY$XfrTBp{!R9nP!)e zGfP(hdI77Z^NvA0@6*lDCDXX)v*-KqKW^Enug@gw&t}4Yi=BB+y*OtQ@wpKU3Iz=P zbiMTi3lwe3{wZHwF2k43ZtVa(vIQ60_=#eLK4ji|Lf}arx&TWn%WK$j=XS3w-lV)q z0UH}T$K~qKx;rzVd)UmsH;Pnzy|ivAD)s}FBz!yZIzXwdEv0K$CwII9e>+uM=Oe;>&yl$ZZ}ph}3cm&h03vdHXA@2a$+5Vm?y#U&hiB5@%7dj76@tc8mJ&9% z9+Ew|4!Jo1+)rpmelW7U`3xGDkRwyNT%!pxpj5R^DvbBg@h947JxZK5QZzu?*oI8q z%;~sq&7H!}&+qi8?vVz7kmbfk)H1qlX9k#J-nL3+Rb(yPr1k{(BjHh6w4B*Tn;$#O zTLq}Oj{NZAG;+#L2VfNQlva2`P>TE5d? zQg#(&?|Bxhs2K+w|5{&bM?W9p`|!b!i~E3LuIVWUU8HpU0~Qk0W!TaSQef+?FL}hQ|-l(!6nW&9~pv#>y>t zXUxa#H<=rH?2=P-7pXO>lr~+jN?i>az5^$k!IO7H(0G&-c^7Nw(%j|&V%HNCnO!yG zhi6ZB+bvbI2wM>rDgwLv7uf?3)rU#s2enUa=T~|WJFlCUn(zAhp9Ukooo)8Qp&O3x zA>(u9+)yw$m3s{y>d)6~jHNL=8>AC>$<`++evlQf$wI^9LGL6IWzKm(qVBNx!CKPu zeGdX2D&<6sX-q6#6A6yw-mnVOD}lHhfvlmJY!ZukwmBO2Camb1R)o4?Zo}_X1A^bI zc5Kcoqd36~A_T4nh#-TWB!{I)@X4Gw9TQS%bkGu$X1(j}SKD;@PjHv>eKXX>i>`8F z5)YX8juGn!a|#MgCk>|er|^XgydIrTXI^AZMo~q6}6^M+AHgk_OMqh7k=0gES|7 z!s5XQ)Ir7yAB;bDErdaUJDDBWlRHbE@kN7!hAEu=G9iN8XxRw3IELtIrxTv8UgkYv z;X-;EBf7_SLTsC8*Xel1R>H^^33|hthYGie&x$VyMs?JE68hq3qmQ=SEqqeipbd|A zfV-)X7hlENnJrYyLCYv`GidxFC?m|2~IqzsPGJOQG(!Fm>>kSffdBSs;9-&pe zOSk_(z~CyhjB*giGXynIO`1QJ#8km#_@TU1{oq2wd5B1`7IwDLu2|FKES6fiVcg!s z!FwKC=;=B-eBk(HVpZ3nOE<6iL!(iws)=`i=;k-03Q&W`eUGs9iC=u+OETtC&6dHm zwe`G`60Tzn4{dlP%UzK5TxwlX73&~Uy6($#HRIEatN#A}7;(C9{b8hgYJJMPz9JlZ zjnPpO?zU=jc(*I}XM=TH`8gzW5IHs>pmDykmqE-s4*-i^5AocD<3KUL=dkfWdn)w_ z1GBtxs<@;iCY0<=0ly1*Y%+u;mz=SAS(ADVtPra-w*38Jm3VF&R?+uYW#@Aix;@$9 zBITk1eHFo~F9(=2ZZ6oj0&C%FdQ#-{RowS-IG;!Dw}c?r$N>i+nx zB>kfB)qagbH-v#7!^BzC=x7oYoA}mX%^cI+g$3F&HS;qAZXT0k6y?+DFDy%5r-|v( zn_eIbPT7xR@6|WeT|!GzPqde#^fr$M8^RySiw7`?+`^F_KungF2nzaxPKt{+t9tB? zUD>+fk#}NZ*84mH^R}}-QPDF$;#M1sFo8W8znirvR2EIf)62c<oy@;;0!BaTppd- zq<(T5dSF4p+)Y5$&od>jFKlaw=t{^aV2UePWJ-D_MIN3R_gNpeoAaZ)tKk9Bb$Zr21qaI`>@4Y8-d57v=G`o^Htr%<R>n_tZNQR zrcLbZPuh_J!~|Z8m@I6TC%8!{v}ZYJ@4&scp4s6}{8I0%>AZA#%41gZrALuF``Y}H zu$Q6UF)y}#(^02Az~zTtqxRa(amup5B*v-Cw5+k>z&P#u>sUv6M~fmcr0;^ z4{SR;AgwV9Z|6Ksonzd6VB3ybqh_+)s1dcpr&M?xDP}vfZCBCG*q`@knrc}>rwdT>?2rG*DMg6zgPrFt4bRg+a);yfm_ zq23stS5z;vnAnu4K$|7@kS1~18Avnx>fefx&l3Sp3xE#}Vt1!6&qr{+_VT;r&M$Jn z6oxcMLQh+F(wS*5O|-`9cgMTaQFF=r^Mi_}83Md$llG40YgV|%p;YX{SW=bIl-4JC z4yKV=3Z7XQW98*4$0%N9Bg*W9yicz;`R#-|J35|~H3(b!75<3%A{`Fofh4)M>xDRN z6>n*4gRA9Ju5T~%QInX}vBzH@^1v_G^fF=ja{h6+?I+ZydrgJ!>JLc?EWMmI$GGA~ z_GZLrP(fvRX7Jjr&#;ej>;-j_I+yBzQW-Xv;S`-%Csru;6;B?0nnFJ&AUwBO#~9W= z*1dmA5u=g>IQjKgc^@(&zLQ^R)+`nAV2 zU<$ft(*|fx<30thzUmR@YclTU?va+-7o(b``L3@ctMJr+6mnS1is+v!@FE%7j2LN{1&4rhPpJi(c*GAu`Mc{BG&zH|TP6dEg z<5Et#dV2|7KB9z7Ume9r6{L*%CR5lVhu5^Pz0O&WFm}BHF6j8Rs&u#1HlWq;l%;lke70tsS#YF0XrkOK(#mbcQQ5}s z%|`;DZ7u`Fr=N=JJ7c`9e{IwI3xO?*R^8KL&47nbnNc*rO}Fyz5)l~V1?St}ZpNP8 zubUpbqrsw8-hsdJijLws0T%aFk5)f&^DKhG)rxn@`ud?&Slnb&;Mkj~ z=_`CTA z!FnJc()E&TRMyDgP?s1Uu04o?^%)JGdwP*h2pa?MkNRV{M zLfW-0%nHcaEH)RXj9BZAl05tBB`pHFdqV^y95uKi_<_~*^;H0 z&g^%p9HRvo3RFex5t$g0^5Wv+&Jhn!X_vhzf`))%$ZeqYnKSZQ)@S1Nd!xdRhk}B- zpcsD{Aa_}s7^qfw-Axz;E#Tl>DS7PAZ3QKtbRVX^lW}SG>bXi6mmURv<7_V=74DO? z=jmUub~vtAjmxbQGele6q_s&97ABfunmEG_a8@LYb^My@io;V@i7N=PZ0{cBNmHm= zGp}~=CkXWL8Qh_M#q&}@a7LSV!N*~~_K9BCDeWllx1e54HO)swU_N+*g7ExXUi-tj zg}TRuVO^_jOM|?rPcU_fP4ir&B)cdlA7?#Ya=7_ROJ5LQH@CV~@imc@k7ndYYn!}k zHC+ah6S>i~4lpa)n7kTc`Kkv#i1su!zTq|2lX^YA7nw>O`%bJ}cpiQff<Q;|By z!q0M!lqrUl?cj(U+qfFp0hzAnRLoplMribggn#PYP?l9(9n?d1Ngs9^Jj!plhDOHN z&MO*zX#=}P-C|ZZYvtR8hYD9tYPP@PEsUAD*~&)jgLip#iuYCf*wB~7 zZ7a&Phm%!_h@F}t3x4{e6a*JHbH##5JURF7Qu~?qNxU7m*b^(a3LaE>|&;)OOk-VQ}9?`;A!}_f}>3p|m z&JEj1md2@|B-ZW62{yhXW#RKH)fdG zIxHnS?+}I%%Ej5e}rC{ptI%ONT+0gA6qNrz&EBKs1cjSbLV(YiQV5Ke zYouKG&c{hRj(aqQk$v8i*m!~3Yw|NZ;I|13>E%Vk_!H(Ij9_(fW+hy)R^MBY@KD}_ zO~@Rle{lBft$RjnyE2-Rrle&48Ktd$tERggM?NE-Ppj>ovV=UJzggALc!TZIO9Kxl zs|ruPOR@M1c%#wqyLcs#I&sx{u~5eR8}_`D1_Q##^`N$xalTuxJ?O|EHIaWY{80k@ zPc7@wosTxDlh@hXzki}5ntbs+*+nZPQ5^(gJVbfu<&oQ1^oUuV!|aU=0^8EQX@!)H z4E7{=j+CbtB!<6$h8&sdM{_>+ItJmdfV@c zyUEoi)$C>}+t_?|;F%)DGGhE_&%NMyX|P0OlHvX)vl)cbG8*^9A5SVKQLTW|xHqQj z3#)P|cW6D7S&XtL_8xo?;?|-5 z&>s#3+=K&n`c7y>Ld0;PI_S_u_;1(xXJZ4A0+6o%Za7MIXgI0b(TbNBlc|2u60iSgTaW&TJ zZworDjUNe^2aZ26PXFS26^E;HSAl>1>8012eE*mE?xG7>h@24HGekB{W@-vLs)vK! zJCyx^&wM_osk-s}V8#BMymz>f@$~>%mfBHR%!aj=JtFb2o=Fp?a+7c7f!jp6vt^3o zJ#wI8hS38EkF1vq!Yv&`nGSxmh3_`o*)E6It9?A7XYI&E*P?XQ6C5HSqb6{f#8k7T zOFs%Gl$Js5_9~=igoZyM6sDQhafSxfp5N?TM$v_B4Qw^WZn4z2I0F^4(Bpwj#kq#B z=jhmlUV+D1(_WA9wyGx(h)u`fBCRs5Mcrc)vu6fJ{xS;P9jZ2UEMUkz`jrof0jAIN za+$n0H67qKV#zSo2|gu>WD)va0bz=}DIN#WY;AIFF?DXPVeaho!)I$nfon7}H=AnY zEwbv&Bf)tF7Swg$UY8y&Ulp&-43Kq67G$0*ES_M@>s}aEhv9>Y-?YYzK~obh6gyK< zJk}A5-#_YjlcV|8|8w+zD1poCmdEmg!bXrx5WQ{l2eOV&bV;V5NGgw>5+&1jSbS9t zIJ1tPU$0SnHf`E$a8dLn@;T*#4>kuu{?_b6DMdQo$s8-&(!MbX2rd(-0i_TS4(=un zdKs9M4U;AVc~}@eJL;{IT<@{*@Pcc(aqVhXo?%-Mgn2MYU=@F-c?BpzMod`OGP_3V zG_Doa&gW!=ls0P}43XxJE1^Nemi?q9CMizFi3M*#+8pl)h|%$;SCia-V2Fo}eUw24 z4QE~5=$l~oL(aLF@~L`_q7|BY_4Mp1+75^qwyDqFNuw^~xVYz`jtgOscYNx!s+afF zvHcvJyJL;^75d`ZR{V~XVKlX&5kVakZuV?C)iEfx@F1(+~EZ{M}&(I6e` zFAkvDVrGulrmY?HvVxW;VhX~yrq zJVcKwSz%aUhF(?R8w;8q8%@^f9sDxikyjLB1Mf{sCrgRtyu7HK-zxS~At}0LRSz}r zMhhGfX`VZGla^q6tUs(a#@9=ZJ`Wu9Vs@Jdjg88;qz66IV~`hePh_=FOJIGI9uJ5b z!RTsLrd~1_LQvx+uyDPT+n{(AO#oT2{fui%$Tugad8SBw6l|~>5pB}eDWG}tIjZmU z@b0}b{*fVMLWv*$T;2vCVb&Hz{n$MixF=7f9J$n$9*thOm(kn}T(Yg_ z!{)&G9tAMuvtRnkLClxX(8H0no&X5EUE~e_2?BR>2hC-dwi3UEZQ8 zQc>W^I&*oqqk;m=tai-myu-sQ|8 z2U%Bc%*2X1VI@6&^_EGp#ljk+Z z)yd~VaICkdRNi$=UNc^rC!-m_*$jmmpDEE1a0*M7XD#__rhbNvI~r5>QnS6};2AZT zK2H+6+Fe&NXV`M7W2W_CiY}Tl=2}go#TAE+>c+_Eq7OHf%o#g2tgBv=PHvNp9UY96 zZZ=+4jPy`*NJ(5C*yz`GU9+BSjt+@>4llR7e-KMKpFLp{eLHf5Ao1#~PFqlT+S2(H zjz51~^37D(T%X`eJ(}O#3IJ-^;h9M8_(O9jDUFPMV-l z2aHnXn#t#7u2)n?^Rx1uB^gR>57fR}3k1UF%PI^G$P03wa$|I? ztNCqM$gMRS62~z;WA_Wdd$Cr*@nNFTaZITiePXfh-~oWVhO}TW16cdwC-Lw+;vPU< z8nOpAM@S%9**F5q@_{2x6ABFke!RkdCZjlOFry99@*9h0)^Sh8k)69^-+ z#nScOb2{CtDO&NJp;-cGJsn{lcADk6J6p%|(!t;GS~G%9J`{uqg5jJa9jSn;>pB_X z@w01(CZ}mOE6@^wLvVMJo;T@yjH&vxp?1B#mv?V64w1fjc0pFBU2Yg29N2oY=j^WK zo_)l}?IaX%_`Lq{!J%O?jh3)U>q%LRix;~yjb@v?NNondyFW$MkSa9!STeZ0=%$|G z-lr2XiQ0|TZa7qZOP9@UcfN{D)ccqRXcg(4wy7SQ0$q)C#_v|#OZuGLW;0@ zLUsFvo~~@?B6;U0Kp#TyZ)(ePQ_liz^=BJJ4k zJi4)qT+Tix#Y+K6O=2il2Oehf(`P`x3-5#@ykV)K){2Egq@r%soQk zX{LcS(BI;esHTW7m{{No@WN25I;LLn$&RDi_dS`_hXZF zXM_q5@CfCSNACFsP#24KQ^D82Q{=3VR5s2pER3B-MMZT0Bn0c3ynM&6Y~Lu?W?6It z35j4;Hv1N->LX8s)0PZc+cQ5fZ?qA`qwx|B#Y;Fjq}7za#+aY3^gm5vzk&hN$|j)K z#q6-;-ZBd?m(5&O`#=C|50seZjD#*{9el@-oVHNZaPo6bIGJuReb4m-baIue0939arxzo%;oF*ysM@w4ZSZrpP@#i!||4R zL`$ge)9q@DJNvT_zcw_ngB*dunhXEhMm4Q&$g+5mi=D zP!ss4)EJOO&$uu(O8drQ_{;|+>_ zk+g}3Ma{iJ>F$VxuEQ$pJh9!te;_s@l2}Lc)3-PgqCc@!O@5eeZf-!>$QT_RtyG>X z1vJ8q4JQHp(760NVLxTwywWjy!B|Z###B@4ItQ7QqHJu!IK^pFHe~yGRW;$(U(Fmazy>N_VWPrELe9 zD@ZOqjg5?D;1CKZJFz)XwrUi1`6ZxDMVJ+w!5D}kL!k559p}1jn@r5wFSO>25(WX0 zv5|@NulB|9F(h&IQ$A1)Fz30C=IS1|F~4K&kFkuYn1jxZ4GrJ(2mOanLPP~SH#cwn zU|?`C!(E33Chl`(i4<@6*HI98Q|5zn186;i^Mk{Qw*5s!MO`#uZ>v=jn!ts}#7X6+ zz#Roj+qA=fH`w`p1iCN8_f%eM>T?6`2G?}!=~LWiov)%EROA0gu0`JB?XM!cjbG7a z<`!73GsKMY(z^WBIy2*pL3IgguNuiTXpMXeU_05l3bp?M&OKu$nE&Yh-y;{3U?NO{1_qQoqFIddkLC@(+JZ#KSD_uSu5Swe*ko2*d}@If((Jmr z$&l8StkTz{e|;y#%>lN53FWznhWm=X2M zY(5*)C@tyqRgev&rF8TATdvBLzZ{!Q&q{FrR?X=pKrWN+Sr~Y`s;X{xCiw@)%Hs}Wti zM8A{=W-|1&`X4Bn4+yI~?<9nO^X_$f(jrD{Hrniq^xJ3MpFv&XLVwG%7baYobvZ6k zJnwT0t~Gjj%CB(6F83y8lHI#SuD|9BMDCxS^c8@(#{j1zOIDW*3M~u=8Z(Tw5d=yg z5M@WsULamG;tDQMSo;y>A89=pGPz2HHZC|WRq;!tm>=5V!t=N@zPZxS_SxXO@|-KH z^@qO~6SkOAcrL{Dqf=s7=%MrxNm1)3q{#|l!3mS+Cfz8Y7!xL>GRZ! zVh$*WWu>J*Sw*K6a7?Bo>9r(fO>~Q0{G80>lbN&AIVM!}DWqCnK_NzE@SB*4)W{Td ze0;p~i!_Mj4oeDPxaXko`rn?QE7A@Jh^kV-Pdtq~AN&$KmRrjsm8r7!GF+&qO*CTG z`JB7|AAoE%pDT2PnEw&he>MU5R0VvQZIKre^k+Oa0Od~kJ+1c7oQP}-fG z>jXk@%p`%U|H#tspJudxFAEF!*nahR{cAoyWC@GM4d=H9{TA3a{ixLHfSe5f0L=XH zXV-0a@&9V#{;yGeEP%MJ2DaM4^XGLSnwcm6?Lj{+$X`E3ZUE&5D`dFcKRW04PY;?p z*?*?F{^yTE5}-&pp8I(2_qYG&&qRD8O@4pSZ=-560%o;BRkH0L3I2UWfDP^auNVCL z*Z}8~VQ|^sfW;|I-PbnZ9BYVX+qUXVuxK()0_H9@)}fF}1(5MD+*7)n3fZK2UNww5HoH@K3TXZ#vzLS2+^)o&8pC)aCeMUXE z>*S++P4D3J>dZvr@gITmK0W}MfIxGYS{g9kjj)KXVqb3lJD2j8@^ir*ZS$aoEga6D zUda}^0#GMBlJ@ex^Yq_UgkO5o#{x@^sk^OQJM#OeQPh>}5~QgMg(zZF&`A3qAml$v z^?^GkZ56bHsnJE=MFiK@Iz~!HhKo>wg3y1@u=u|s#hTuT7MN~;DAqx^$(0)%`=ok*{vWvMe^&p;jy)oJ&_s?w8t`YL8vCl9#)e%#-7^4DaD ze1V?n>%}~G{&1v#!Eeg~Z}t{>t@=-A31IuU4lIm>Pixwr2M^N#-i$a;sN+v$6Tm!P zJ^&U5lj-K41Pd6v<@ST7c#Q*5>%SGjzvuV>6IhsAZ|t7_;fMl*16z)P_}?x6pNsQ< z^_Ke%T@MLfO#>p8kkx~#yZ`g;erU-fMWEh#k>?=u$9TZU1dFc#d+7^?pMal~=pSWk zyH>>HU=)I#J)J7h1wb1Ar+E7W{&1(Oc02g~@Z}XuFEYUKJ*4y5{bN)y^A?a?mO_Ej zKl=ZFS6IHB{m;h&Q>oGb0+v9=(EL9S?E(z#<&F7A+i?Yxg%p_AY}ezpKMsAQ0}MT# zdgcGISC(?Jo63kd@b`D8FUkq)>XLyLLSx3qDWF9*AG<25KUQKzL`KqZa>@@34*a~f zsjQTS{?pd=I@Ru|-;}Oz3u#V1b0qJYaVH^VL(D>!aOZeew9@NZ`Vw~eO~6XzVroLG z2L#J1_t#2;@z?kiB*@ku#Y1^t0|{`Jn4vdHOzZ`*BkEvq{ZQhYxBXp@JZgUwOm<;b zy0vXs?6NYlM#|)uMCG4aG4!$R9qgYJ$&yL4iz@!xrV%mvrk9HEe&1D}k4&#LaKbAD zQh+R^qXoUqY-!VXRwCJ}lx0g?SKfMD0^oY7QnNcTNlBIz0Z+!%nb;S*uPoINtYr>i zaVJN`htnITy}f?r3L8@TrKpM~gi}{S!aoy|3E+1>mjNu57``<%e9(ftXdsOQ?Ne)1 zjrIlW$c2@Cu@IdR{44G8mrWBX$I?CCd3gM0EU>@k-UwhW2=Ue@E=}Xv_RAF*^-ZvO zz)10W2t?xZ2#GAfJyEbcsXchY!rfcmAiGxnd8uvlR$o(P1AtGK%YzH_FF_5JKUt2K zcjEMLZjWVrxz-!$ksFotn~e+W!yGr?TdA(>DwP+eaTMwVs6J^ze7wlh#Wd~-@17~x zz{wR!rtu%-6l|y!vXnN%_xBxFPB`u$D@*~D53IP$v5!vn#Jod}o*X}Ff--Lm-zkDcURy9U zkp;L7EExqFRoE7S3VZ-cQWKd}=HxFjshr@&fBP~(rnY=x(QjI}dtQ{Pc@B7FF(%(} z+{L~AR5~xIhU>OKVwOO_>`JcW;S1p*Mx%8s3@|L|LAH>?zx~HAk1@xYljHmOAGPxW z{H;u1geCWvKHZO4x|+n77UoPf%+i9zeZDQ_VoiQP?ogArRwnrqcmE%M_|dJtAJ>zy z-+mqFI()N(GRL1iJFBmYK>Y8)fNm2Bz}{a9yhz$H-?j89t4sentZ6I(0oXv@DlVR? zzq_%_p52>5yQC@Cmml$0=j*QlrLOn_2mFZ$O9zlIa@B0=7B&%}oXOA6FYh%3^5n6p z@?9}an253^fk50O)l&c8Z9_8C_Ba0`e%@=7)EGd=;mkrRdkTTAnoY{&lgEA~-1Qe^ z9Iv~V1UwLBaXH5{dcUjSzGKX8S?|>|xv;AMD?+(XtT)1yt4R|CGPvJ06s4jloOFl9 z4m-)D*Nv2zJNs9=+}~axALxzMLKgyoc?cw;Lh)RWmx4^LCLJ6QpiAVWrFV|zq<3zs zHo2jbOrF2qlWzEZ;lAu)GniA-b#9y`{d{olUk_eE287%HURe9*HJeBQ0|R2x_}N1F zyA1qt&SG(&i5Mj@t^+9M>yviV;6sA^vOh4E{n++!JizCk%E)82Xs z*O;9e8z73Q*0J&mQ)d#r@jQ0v+D=H-H0LscfBSzw-~T}yW&pmB=uL9RclF(%z*KW> z7IW>kqhW0?M!-N@KY3F%$eH7IfK(3vFrcZ~?R@QeZVS;^e13Kse@NTSK9~VIxzw81 zPA-@+le@x-KV31w&y@hZHMcEuvj?zyN>>vS5-Qh+_V!6~IdcRbhFpSboeT1{Dr9cp z;r*yMM?^&pEuvU!*V)F3_5JR-&4=3qI6;`3z_q_5{qL1@Y!DGOW`!2!MaXkf@(HuQ z?r9b}hjfIUy+(iDVoISEHwsL5bz)g~;;XOI?$3177ZJvUTN!@EBq}e{%~shjew;x$ zwi$YSy0~Okd5AED^Excb9k&Z#Jp4hL0C33QlqRL7vPx1pMQPhMV*?$)M@{HO#!#V? z901!aeR*+?Ys=OCUGQJ-OV|Uzgz=VM`WP6!nX+AptqnHJb}r$a(5P37iN1J%$L0Bi zJ*J+4U@9o|^Up4!(>J`{#rHI$3ub3>gAjKGy7mY!*(U zae=!OtxVTgRCRQi8&8l$^DEh@H!bmW$ExfyOt*K(Oj4tNTokV$u+uVw`fq2b>g5-8 zw8$|$jxkeGZJLx9p}56zjH>Nk2D(Uc-s#NmY*|O`jxz`AX(i3{6G%tUe5>8)GhdN# zoOqq7H}`P5D3Lj|=Qwa^NWIeiCjVoyzL`^fF@;jP7-UpOBbgxivG}-~KMqUp%89y1 zISxPP@(K-I6LiZ-M-PjSDjA_i>*7UP7kM>%qB=&ZHqN4nZ6I^W^v#eo0!spMs=;Jo zZfYZ41?7C1^nrZgCL9s3wBKyWX^0L&*`FO{vVVs3BltM4_I7&Mjn<3Z~7h zBBBg3UtRmU5@{vk(A^*Gi}057ly|g$q_lLS?;X3u#rTPm9v{DZX2G-MrkueD{9_w#6ob!SfyA&Y&5Q z|K@JItu@n;))*ZW#gr&XU@RnfNZPMv*9^5m5b+xAXAQ9DrQR__bLi9^l5R|Gi~ud? zmltD0q^%=rDHOJ+W5w)pZ`jrS=Yu1p#T3HHNGAtpHMpuIn^qu&I!GsN#LSm$;&uEK zD;-&hKm?*l54d(B=Vm!)c0-bgNoFPPO;bK!gj7*~%3Lgy<|BXtB3aN80G-DyrFu6= z+p-@~fKSoUl~eAr0R4agw;s@6uLPPng6nSE{kIs>q=;B+HQ=wa351m_ElndIRYCdH zqnM+}{N6e8S7soSa8B(9Yh=vr-DggyG^M3wqI;s&Ly{;CV;~eqN%gCOZU`PeGmQ~D zg!$;guokp`m@fdXjm1A8r?bY6?2n2ZZWZ9PQZ%0IUvt?PFjwdTF1gOb&$z3#`#)yLVG>zN}8HxWiH*!l~U&BYoRZVjUmf& zE6Ujl(EznWH(jddBae*=^_Q)QK!5e5`&t1E@2u3Qd!1lFggDyB@XT5bfA zv68}<07y0SG|-cqnVsDYRNtQRuNV6zISp&3i;gZzx8o!2%|}iF&IFAqk1avBRcQ9Q zed}iuHV?FA|7qm!Cg}ARZ4%3x0Jl=gzWQIhW&pz8n z<9#beeDwL)^z=a>)4ML(_kv8gxEQ6P=uG~V%tM4=?@Ce^D0($BHW%O%nBGyYQ?;pI ztJED24ZU3z@K}%3(~vhT}a;ns!EcRkoe zVXm50ed6dciMr91bS%|Z815At9vdvm@ggq!zQr@+e{b7$?sEVa{9+UK#` zs*}6ghtZO%L!>R*E-z6i#&;{QJ+=mZtK|Ci@lhgo>9?PNqyi zb8t$Um?V|S;N)oGV_CW*i$a@RCt_jdiqO2NGLx9Iw$;S7x3#?#&Y4uz?b0!+vG+mh z{T{_STx+n=rM2mkkd?bo%l^;sXWw60v}dQ6amM!)O*lD))5z*yFO+tZlE4180#8XWc{@XMK%M>c-k&waRv$i1VABXWj|T zUJ+d?ZyQ=DtB!5D3@O~Bbyg-Exvc|xvOI(y4~e11z(nj< zLDq9}iBz3(bfMM>+RI3Fy@P;cA+UQQVbKon1gHY)*9h=+IHSi*PWN(h52BP6N&uFI zKJ~W@ra$-+)+L2c!sQb!#~r?r4knr}ndVc+alYeo-JkVwyaHsg9_RFMCCzs!{_^|&-^C2!cRY*4eP46euY0NlyPo887V0BN|t9zwI0;z z$W6mma2_e?RK4b1^}V1<_7xHJrvC9_s3&ssWL&i&LfN2>Axdq=Yalal9pb`raGJ}o z|4DHRJ(mb@5lxI&ja}58J-pPt{HU;h2NeH~yMJs5DG#;-*p>KJ3*RA@F|PAvP(a-j zo8l?j%c;ag-(2UeP??F(g#kPQ%5QRpQ+&!EFR6c6#HCAmb8v9rJoH-f*c{$R<+a!o z-;k@EmX*uF86RGgELpSyfDlTBz$c?sc5`y730HB-qrR?b8TZ6}7gKan)&uC;>W>!_ zh3e$$5W$q(<1L?vHwe9t{0Jz@Gb|)#ojoP~j%t3|1bfvPX>QO-CHf?7OF>s{Xd01x zVFRo7%BXL=P#uB0`g*{*u@!60AIr8+m?<}`albyC0WIn1Gd@B!r|O`6k~a`(A{I)m z_@`Y*>>K@|-r@UU2^~^%8s?=LresH<{=H?9umI;We`=#f9Y@*8!)(R#hOOCrze0PR zBpcULJ!eN%UH3-3Zixw(!}=-zYNMJ7eUBs}JS`)#jgx6j#$zhplgv?Off)vxB?(3g zVYbt@Ogu2z<*0<2YeunaXsPr?hfR^&)TYjM+342JN$%1*C-+d(v4`GVt{b)(>M3XNHKd zCmKOFY>u%&MOT=uh}yvK(?j1#;gLJvOV`hl})VfU7LL z9%T?&ODNi%Zd6VH27j$K&w{)j0gbq2f$B5PVd{eKnt z_OJVj7s~9CZCxf3KKK?Fe}j+ko>#s%u4vjIh^58d1dazQVQHXvJ>5&~EN58VRhiz1q;4Vxh(D!pB*9MOzv2ByOw2_XxNT>W!^Nl&8@TBWXn{RtX}B2M$F*zahFrWmxjmgoX_t-ZMsLgYzD&yE z+y4rVmoYF`Z+O8cZN`Pf8VmvXUa7$i4Xw2R56jN+Um)O+i`^x~7O*f}{`Q@5N#M@S zi7F!<<>16%@TXvhNF4e}B^M{`>`(HjXcF5eT-YfVu)>e>h8dkkFO2552THuOWj4wj z_g;WNk!Rjl8_E`+@Eh$u@!CymnX5e93%%LkU0K_sa}boczXYw?02VjhQG4ArH%e|e z0mfOw&>@`74DdqQ3Uia&rU)NoCoXQ?dF5|0;F3lkM}V;;LH60alpbDHXuX`v1GYZC zj2k|jhnOV90QW8+hBUQuYs2VtwQ}>s078h{{H;I~c;6#6gj+U-X(vE6dJUVbT-Tq9 zR?wVz#?soFE4UpxHX(dGPYlq4lmm&(#w2dmWA76G)Bbbw9tDcujsJtbL2Rzt5*E%= zm~KM3xaj;{brNU^5vTMkQ*Z8-)PiS?9T%l%`i(NkAdKQ{2cXpBb6eqBwDxgpJ&akO08$q$b0BDtZPsGIwc)#C)p$T6;QbT;=eyq?8Z3N#)5ua&GNrP;C zn=CTy`s&S#=96kKF7&dH&bjVfr$1zKk;*K0Nab+9CGGZ<=4pD7{btAWF}mt27$)|y zTt&hDAuDk!0#xnz+}w`KA>NwPfGbtZw;&t52Q7InHleD%R}4=V56p*l!Z(*_F>Y)u zCfdNdSsOjGHHW?(GW}O!be#1|*z2OcbIme|)a7?@qAt@(5$v>8_o?h+4z8(8L}sVw z_y9+wODXB%2Pw3U#aeoqX;Gfe*toIR`FKLF@@-q8s%1#ko*d<~ZZw6Xk6w0RkF?3n zt;}dzG@u@8cGr+vpju8h5(|roN|XAU9Lb6ITxW~m8{O%(Rptmu9Un~-$zY)|#g|#E zs>r+%(Z?6VDm!_7Tj8yj3)Afzli2t7w|v^BR0iLR?F}~!73TF_oE*~Ld%T`sc*d9V zLPyIS`#O*E3^Ys`ndqKX^T9yEZ%8FsED{Z1>zaiwjtqn&-Eu<`U6XX{-Q#PTY^LhQ z(9_=DwX>fYZ*zYFt9>xeDaDrsA8*)rPjK{yjRQndGwp)N_hPHgy02ehcA zK!VJQ&%`6)T|WQ~gKya{#+!@-JYCU_hqoR}#4!k){hkvAygPn8Q-Sur;3IZ2HET1| z`bV$W^H?Y9Iw1Sg?e|STQu4pX$ZqqPoNZIak8FF2k5XyWUy97KlXqn51)RF|UAbH$ zImto6#^TxjQT!!6szXIcA3I-)DMP+vQRHdwe&w?s)Y^dByV+%pWd7-`5K*itj$*+^CU#!;g+rE8tb<0lQE}-yV_z+o zYW%ZfCo3mp``>HygTLNXvBdeb&+3BzHvGb2VVyi()R4hMAe5TXJw)Y2isOLvh3zV- z?U+$)#Y&&Lu3MIl1DvxVUCGx7q;=hN+I5b=!iEehcw(%tZ$@#iehbXHvLbYO=I|As z$(H}`rVTADjU&by8=aP_8F;T`=638Wir!oly6*{P{Vg z<;6rX3llQBCi4N9c=f{U*oHZXIM;gb8on@X5+7_mU)9kPUXOzaq2fM~FaRsucNK9| zoji5o%zK-fF(=ceR>Qqu9W+#$e$lU5a@hYVlf$DP5t|DM(_!yzT>d)Smu^t$@1$Ry z=fh<=IF|Lbt8XaTQ(b;S_cE*9rfw;v{RSWZZ%BUI83=MX_}d>uv8N2 zU7Sx>p80CPEaUG>vge1gAO&?s*nmW6AWrbI|8<2>*vmKlZ7y#u z2yImzR<)Az>6`clf}`)|3L?eb#1CdiAvXCJ%Io#C4`oObpt1)>dUYr-_vNki1V1mU zR(gC2Bv>=@8gxa#M6Pxy7?0w z${CSUbUF=cbSqD=8!mplk$ZIuT@*>@&A-w>iYrgtP7&-JKEe+Deh~TIVC6{v9>TUzg_V$Zp6C==)qz1CoJcS7n+pwMAGoDT1`IolM z)P3U;{T9kI$H)CWa9t;)~GZvldbD<9gJ|LoT=z;YHVxxBc8hYASxC z?#!qBxm=ufilVw{gi@-nvpb#dB&>Mv9Xhb*E4rjArlP@=IeS$*Bzh-jxFg`xiqRd3 zsE~^KYgF^Xtf=xnp~)k)_1fh`u>U=CF`W_DijhhD1R!Kb?}?*QE$n4F zmyamu`4QmOXx!gu4^ydvvaI%hu19DUOw~-{9Fnj2iDQS`E4w(#i)7wF8nh>GGDu#w zsYjR#yyA4C_cmHkE?FzEizJ4VA3I$pk}Q&pP5BX)wk_fu*2a!yUa+qpeOfxQ-qy-q zda-d#Lf9^k&am}d4CB2JA_*e28_Bfjvk`(!8!A7U`|gpn?7ig=aj*6MPEc~rJzQ9l z(VjH>ZTYnkaejHuq*fbQfjxUEq4UV4(Pe$x*3gdEVL!9lhQH`_`4Oj%j-sPIGgRhh zaNXhtTc@(K&k1>Po*=zIn*6#~2iwD#?Z->TDq z?GlukX`H$gMh8oijb4a_ZXec9hkcVPGA!u);6w;^w9wWdg?Y>l)`ER_EJj}oJv*mV zuQ!FLdnQ(*jZXb0xRCM&ABBpyCHTRshv#X?WTEjaUB>&T^9q!ze9dU`-7J+hY|5!6@>4v#Rio}(&^o6KzB|0<93`pU)H;Rw6}0%==@B)i`yxFl7t2qNxk5lwysA4TkNPLlImS*J*mB=&F4 z-{2(~r5~Np8RQ!0!pa!eZC^DdS>8m%9-SZU%xwS(r;7U*+W`%wO4I79s$*Y2;DN6| zdkxw{4%olsr8^Ggyw*Z)LOMTjcx5v@LozTjf~(?FQ@5@T17@~$=s>VU2PlR$)F=~E zK<$-J=_iMrgpX$YoDsZBG@D<40U!QT|M$hhzzm%X7q3P+3S{B+1Hp1No#2n{MD z_g;)q4CHFqkSp9H78egq+ni}UUpD5(Sv2T$4g?*#9b`MN)iDAdUv7C2m(Cm`V`_P7 zomT_%Sa}8rJSrhE(&+YSh0mO_(jVysmCoZ3jco8X*$A|o{y^xhb;0j3`XST8T*!e~ zhw~W8JVNA6rGFa2LKmYLx{+%xr|Q7K6N1PsJa7~XeQpF#)GhR|HBa?_58BfiMA36J zq+jF|Xd`z6OnRsdZo}j@+OxW2Pp(2v1v(40Fy7?M2YD40v&q3S4#yRAU=?zfxsyX& zI{oGr7T_oIfL$?P8!ljXQlEC21~c=K8k-c!_WBtcj94`JU~pMa^5}(+#mt$j9bn^; z9))pWWm%0CF~U~5mWmlSV;z1!Y9j4e7bAOm8>1n~ld`B>&ca#Sk&Ws!C_;rC8ef|6 zaCB24t#FW})lbJ|PPAdIq{fI*3a&DE+zn{wdamKZ;5_P{AhA^#4 zBrkX6K5Tuf#$C^?iS^vbv~Fl^`b;4&Hq#(SsjMb#z$sf7m3Bo-HE9)6Ae}U{(U@yp zzok31DoxzbS2i$B@afANF0GA(V$Fe2HYWO~2RbvH%3y{>T72_@4=ii_53g%Ya3zjx ztx_x7p&ni%7qYCnPpK|$?yh?vWAb=LE~7A)ErTT9iZ?p<|CD#_|4i?HJaai1UsU)a zEZwl$DT^r6qEd%NG@6i-ZHXPn=3bdXM@y%ZTVv*OlIw;oqmlMdxs@q%4Y?$j$>q3p zBAid>eAVWmzu>!{_PM-YpZELqe!pJt*ZcK)zTYpCPKQ4`5Op1w*l4Iy3IdYgI&QQ|`gQLqerGl?~GCtzO`h zW|+cgdT{J2XWc(l3T5#GHskQe_-;EgnGL=Qw`_nRhvHXLAIKqZ?|Qv+z?-^hd9StE zBL+bq$?H%I-wRs<#4HO+2pIkF!;h((ELexrYvgvz;C@@Edvxxrpo+Ra{H-B4Nq$8| z;>b`+aBy2ggu7k`@Pk(hV zHx?C(n233Qn{5d(59`Ccyh-WT6XiJsDlMa?^rC*WKNCQH1xfjTny}@|(2hhMS&}Qr z&wr7+ZZJ$uw2nrGyIDS$k2coSDI?Q|Ga%XEsH+E**$tOW+FKL!91}dfgdB z0ZU@Opgt8Fg$y2?Q4nJ8i$g)m*XzTEFR^dvvhz`YeMz!0Ttr@~9G z^)R^HH$tHX1@5fd?^FIG;!@~fa~1raZ(HrGC=LQSC-+k0Q^|*NeI}4H#orRrwp=+t z;$eojYZ`Xy_!HX8Ht*0mM$lW3u3|sH*)>AMAs~1PZ?e*Jtmxzpj+Z0n3q<+N&h#hH z`GvbLc4bSRSoD)Ll=)&cwzRc%a%V3QKa~!=Wg(G`_vpq5V(1)RY*Zq{q$*ANb^^0& zF`~R^7r?MrdE_Pf@WfBdQks(KtmJ<*ch^o$g?1z|&d8Y&7h}e&797iRakh=gbhA}% zB$Wt3<)k*$08e$y+_Jz{0*FB*7PVjZ#L-`c9_C?ApT=MRK`|zZ26ZmHV9TdZl5oR1 z#)A*&xyl3~MgX@KN7wAvOK0B4O$2P)jI*9>{{a9Ok*iRP+I6$ck-njE6^U#Dr!1&g zQOn4@)$K})5Y4&zF7y%}FRQjw1)oHwYa^^e6D>gRc*#eRVPhcRB!k!*WGg9 zdTpibjJ-sFO$wQ<77B#<(S|?d|PZ64^*CO`&fb*et*FRJI_=bEph?vBzPw#%IKA2}%qT z>1xtrUi~hc4^fReC6AzKBlDC#K$}8FrLal|s|Rm=c1a36t|Wm2tUfJ6|DyLp?`x_W zXkgQQKJC3VPd?Pk^M@VF8qf&@v@zX=I_fsu(ca#hhZ49nYa$R6<-e1+D;etRKg_Js zJA0+82E91vzx=b5_^_>wNBX`~Tkv=~$|;+2Tkx6Q!Kn;PXxZyf7H1I7zm7DK#b0iS zc>dJqLPv1Q>EhBcGmk`7^_j6L8?Xd!BJ-_@2antZHr-YL6Xx}vYV$**oZ_8Nhdh~r z)eM0|mDIObN;(mQPRT1^x)Z9cRz$+#5e&6UL(kOGYs%g~{8!GsLyS3a61D)nzefYnO~dtTn)<30=Z0 zje5$>o1YPRKU;|N<131cTS(?+=Nn8r&Z+zJY`afZgHD87bqZ|6l7O#L7LD*NvxAYPg8 z2!;YjPSSq~(F(gA)ze-BCqTw4nU?M-2kDQy`FMGC*1X#~pkTY&)%okmj#7!0R3ci<$S79MRKX}86uGlC>jjPHx}*eyzpWK$aDi}#GQhq>QCR8 zA^Hz;2$%2OJhmS(pJx7=A_g7?LDXIhN&szT! zfwGHAgu|9QKw>gQlwze3eA7vI)+N*9y57-y_LbT}bSxW+6c#S{cL3^@uvgPRdR(}< zSD_^p;4`NLd+Fto(OKQ!guAs|pJ#K+)KyiVbNars(`T!CPGR9kPrMoz^9mi9W6n%k zdbb@c&#*hL3pFr^LFsJ-n{MfDD)A+y75%(D$xX*kh}~et$8W>Qnnk(x*iS4h++dDU zBl}&~l>PxOnVXsK!pn&Rv5v&J!d``%;h*gJv1{_31J=LSy!DXqF4ODKxd>e~heHo4DV3kOV=bxY z9*^5iurs_+JdNF!$26*Jdo&R1eWGXISa2CV2M^djWvscs4hcCR?ed^HCMte&fr13q z^_7O)z5w{SPM=4`1z=O@4cA^wT0|zlE`raezP+K=y|2J?mG5#z`RxM5NO;K_&-w=I zj@{JhwwSj#W6n0}RWN;BWE4r8=NAUGB=;=<{Z}mRFV~ zo{6O#YPVj#Bp<1wxcf|4nonoZ?e8Qpe<-^Z4E(aUhAG=|_w$W`a!&IL$t>2kDD99i%JZ_O7UFQ^78t`b+inNc& zR2Ln#Uz_2hT>B!L(yO_0W7SI$w`G<60uRStS^GHz3Pi`*{kUE+>t1By+yauKX`l4e zUAtkm@<2$k;4h6b*|nb!{|dz4ted~sY-@d=Wl1K(p;u+ZP5f_f?$-lWMJmQ~-`Rav qpbY7Kc{447vZl^m_y67W&*2h-?AnxR7ln1e@A#1uhnbch*Zv0bN?pzX literal 0 HcmV?d00001 diff --git a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx index dba0e4c09..bd013ee33 100644 --- a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx +++ b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx @@ -5,6 +5,10 @@ description: 'Test API endpoints directly from your documentation with an intera Runnable Endpoint is an interactive component that allows users to test API endpoints directly within your documentation. It provides a full-featured request builder with form inputs for headers, path parameters, query parameters, and request bodies, along with real-time response preview. + +![Runnable Endpoint component example](runnable-endpoint.png) + + ## Basic Usage The Runnable Endpoint component automatically detects and loads endpoint definitions from your API specification. You can embed it in your documentation pages using the `` component. diff --git a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.png b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..034e0bff9d5195603c544ddcffb6e18fe457040a GIT binary patch literal 65006 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 literal 0 HcmV?d00001 From b68e8b3531a5407c20b1f12e9ff2d7d39d0b9cda Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Fri, 17 Oct 2025 13:23:51 -0400 Subject: [PATCH 5/6] clean up runnable endpoint page, fix changelog link --- fern/products/docs/docs.yml | 6 +- .../docs/pages/changelog/2025-10-17.mdx | 2 +- .../default-components/runnable-endpoint.mdx | 113 +++--------------- 3 files changed, 19 insertions(+), 102 deletions(-) diff --git a/fern/products/docs/docs.yml b/fern/products/docs/docs.yml index 951106cff..300965eaa 100644 --- a/fern/products/docs/docs.yml +++ b/fern/products/docs/docs.yml @@ -77,6 +77,9 @@ navigation: path: ./pages/component-library/default-components/endpoint-schema-snippet.mdx icon: fa-duotone fa-sitemap slug: schema-snippet + - page: Runnable Endpoint + path: ./pages/component-library/default-components/runnable-endpoint.mdx + icon: fa-duotone fa-play-circle - page: Frames path: ./pages/component-library/default-components/frames.mdx icon: fa-duotone fa-window-maximize @@ -86,9 +89,6 @@ navigation: - page: Parameter Fields path: ./pages/component-library/default-components/parameter-fields.mdx icon: fa-duotone fa-list - - page: Runnable Endpoint - path: ./pages/component-library/default-components/runnable-endpoint.mdx - icon: fa-duotone fa-play-circle - page: Steps path: ./pages/component-library/default-components/steps.mdx icon: fa-duotone fa-list-ol diff --git a/fern/products/docs/pages/changelog/2025-10-17.mdx b/fern/products/docs/pages/changelog/2025-10-17.mdx index 341fcc4b9..585388aa5 100644 --- a/fern/products/docs/pages/changelog/2025-10-17.mdx +++ b/fern/products/docs/pages/changelog/2025-10-17.mdx @@ -18,4 +18,4 @@ Key features include: The component is built with a modular architecture, making it maintainable and extensible for future enhancements. -To learn more about using Runnable Endpoints in your documentation, visit the [Runnable Endpoint docs](/learn/docs/building-and-customizing-your-docs/component-library/runnable-endpoint). +To learn more about using Runnable Endpoints in your documentation, visit the [Runnable Endpoint docs](/learn/docs/writing-content/components/runnable-endpoint). diff --git a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx index bd013ee33..86416ca7b 100644 --- a/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx +++ b/fern/products/docs/pages/component-library/default-components/runnable-endpoint.mdx @@ -1,68 +1,31 @@ --- -title: 'Runnable Endpoint' -description: 'Test API endpoints directly from your documentation with an interactive request builder.' +title: Runnable Endpoint +description: Test API endpoints directly from your documentation with an interactive request builder. --- -Runnable Endpoint is an interactive component that allows users to test API endpoints directly within your documentation. It provides a full-featured request builder with form inputs for headers, path parameters, query parameters, and request bodies, along with real-time response preview. - - -![Runnable Endpoint component example](runnable-endpoint.png) - - -## Basic Usage - -The Runnable Endpoint component automatically detects and loads endpoint definitions from your API specification. You can embed it in your documentation pages using the `` component. +The `` component enables users to make real HTTP requests to your APIs directly in the API Reference. It auto-detects endpoint definitions from your API specification and provides a request builder with inputs for headers, path parameters, query parameters, and request bodies. -```jsx - -``` + +![Runnable Endpoint component example](runnable-endpoint.png) + -````markdown - +````jsx + ```` ## Features -### Interactive Form Builder - -The component automatically generates input forms based on your endpoint definition, including: - -- **Headers**: Add and configure request headers -- **Path Parameters**: Fill in dynamic URL segments -- **Query Parameters**: Add URL query string parameters -- **Request Body**: Edit JSON request payloads - -All fields are collapsible for a cleaner interface when working with endpoints that have many parameters. - -### Multiple Examples Support - -When your endpoint has multiple pre-configured examples, the Runnable Endpoint component displays a dropdown selector in the header, allowing users to quickly switch between different example scenarios. - -### Environment Selection - -If your API defines multiple environments (production, staging, development), the component automatically displays an environment selector, making it easy for users to test against different base URLs. - -### Request Execution - -Users can send real HTTP requests to your API directly from the documentation. The component handles: - -- Request construction with proper headers and authentication -- Real-time request/response preview -- Error handling and display -- Response status codes and timing - -### Link to API Reference - -The component includes an "Open in API reference" button that navigates users to the full API reference page for the endpoint, providing quick access to detailed documentation. - -### Form State Persistence - -Form inputs are automatically persisted in the browser's local storage, so users' test data is preserved even when navigating between pages or refreshing the browser. +The Runnable Endpoint supports: +- **Multiple examples** – When your endpoint has multiple pre-configured examples, the component displays a dropdown selector in the header so users can switch between different examples +- **Multiple environments** – If your API defines multiple environments (production, staging, development), the component automatically displays an environment selector so users can test against different base URLs +- **API Reference integration** – Each Runnable Endpoint includes a button that links users to the full API reference documentation for the endpoint +- **Real-time response preview** – Users can view response status, headers, body, and response time immediately after sending requests +- **Form persistence** – Form inputs are automatically persisted in the browser's local storage, so users' test data is preserved even when navigating between pages or refreshing the browser ## Properties @@ -75,51 +38,5 @@ Form inputs are automatically persisted in the browser's local storage, so users - Optional CSS class name for custom styling of the component container. + CSS class name for custom styling of the component container. - -## Architecture - -The Runnable Endpoint component is built with a modular architecture: - -- **RunnableEndpointHeader**: Displays the endpoint URL, method, example selector, and navigation controls -- **RunnableEndpointFormSection**: Renders input forms for different parameter types (headers, path, query, body) -- **RunnableEndpointActions**: Provides action buttons for clearing the form and sending requests -- **RunnableEndpointResponseSection**: Displays the API response with syntax highlighting and formatting - -This componentized structure makes the code easier to maintain and allows for future enhancements to individual sections without affecting others. - -## Example with Custom Configuration - - - -```jsx - -``` - - -````markdown - -```` - - - -## Best Practices - -1. **Use descriptive examples**: When defining multiple examples in your API specification, use clear, descriptive names that help users understand what each example demonstrates. - -2. **Include authentication details**: Make sure to document any required authentication headers or tokens that users need to provide to successfully test endpoints. - -3. **Provide meaningful example data**: Pre-populate examples with realistic data that demonstrates the full capabilities of your API. - -4. **Test in multiple environments**: If you offer staging and production environments, make sure both are properly configured so users can safely test without affecting production data. - -5. **Document expected responses**: While the component shows real responses, it's helpful to document what users should expect to see for successful requests. From 49a71fe3f6ee07a266a9ee749e279c25ca790b23 Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Fri, 17 Oct 2025 13:26:32 -0400 Subject: [PATCH 6/6] remove changelog comment about architecture --- fern/products/docs/pages/changelog/2025-10-17.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/fern/products/docs/pages/changelog/2025-10-17.mdx b/fern/products/docs/pages/changelog/2025-10-17.mdx index 585388aa5..c1dd92b59 100644 --- a/fern/products/docs/pages/changelog/2025-10-17.mdx +++ b/fern/products/docs/pages/changelog/2025-10-17.mdx @@ -16,6 +16,4 @@ Key features include: - **Form persistence** that saves user input in local storage across sessions - **Direct navigation** to the full API reference with an "Open in API reference" button -The component is built with a modular architecture, making it maintainable and extensible for future enhancements. - To learn more about using Runnable Endpoints in your documentation, visit the [Runnable Endpoint docs](/learn/docs/writing-content/components/runnable-endpoint).