/** * HTTP API: WP_Http_Cookie class * * @package WordPress * @subpackage HTTP * @since 4.4.0 */ /** * Core class used to encapsulate a single cookie object for internal use. * * Returned cookies are represented using this class, and when cookies are set, if they are not * already a WP_Http_Cookie() object, then they are turned into one. * * @todo The WordPress convention is to use underscores instead of camelCase for function and method * names. Need to switch to use underscores instead for the methods. * * @since 2.8.0 */ #[AllowDynamicProperties] class WP_Http_Cookie { /** * Cookie name. * * @since 2.8.0 * * @var string */ public $name; /** * Cookie value. * * @since 2.8.0 * * @var string */ public $value; /** * When the cookie expires. Unix timestamp or formatted date. * * @since 2.8.0 * * @var string|int|null */ public $expires; /** * Cookie URL path. * * @since 2.8.0 * * @var string */ public $path; /** * Cookie Domain. * * @since 2.8.0 * * @var string */ public $domain; /** * Cookie port or comma-separated list of ports. * * @since 2.8.0 * * @var int|string */ public $port; /** * host-only flag. * * @since 5.2.0 * * @var bool */ public $host_only; /** * Sets up this cookie object. * * The parameter $data should be either an associative array containing the indices names below * or a header string detailing it. * * @since 2.8.0 * @since 5.2.0 Added `host_only` to the `$data` parameter. * * @param string|array $data { * Raw cookie data as header string or data array. * * @type string $name Cookie name. * @type mixed $value Value. Should NOT already be urlencoded. * @type string|int|null $expires Optional. Unix timestamp or formatted date. Default null. * @type string $path Optional. Path. Default '/'. * @type string $domain Optional. Domain. Default host of parsed $requested_url. * @type int|string $port Optional. Port or comma-separated list of ports. Default null. * @type bool $host_only Optional. host-only storage flag. Default true. * } * @param string $requested_url The URL which the cookie was set on, used for default $domain * and $port values. */ public function __construct( $data, $requested_url = '' ) { if ( $requested_url ) { $parsed_url = parse_url( $requested_url ); } if ( isset( $parsed_url['host'] ) ) { $this->domain = $parsed_url['host']; } $this->path = isset( $parsed_url['path'] ) ? $parsed_url['path'] : '/'; if ( ! str_ends_with( $this->path, '/' ) ) { $this->path = dirname( $this->path ) . '/'; } if ( is_string( $data ) ) { // Assume it's a header string direct from a previous request. $pairs = explode( ';', $data ); // Special handling for first pair; name=value. Also be careful of "=" in value. $name = trim( substr( $pairs[0], 0, strpos( $pairs[0], '=' ) ) ); $value = substr( $pairs[0], strpos( $pairs[0], '=' ) + 1 ); $this->name = $name; $this->value = urldecode( $value ); // Removes name=value from items. array_shift( $pairs ); // Set everything else as a property. foreach ( $pairs as $pair ) { $pair = rtrim( $pair ); // Handle the cookie ending in ; which results in an empty final pair. if ( empty( $pair ) ) { continue; } list( $key, $val ) = strpos( $pair, '=' ) ? explode( '=', $pair ) : array( $pair, '' ); $key = strtolower( trim( $key ) ); if ( 'expires' === $key ) { $val = strtotime( $val ); } $this->$key = $val; } } else { if ( ! isset( $data['name'] ) ) { return; } // Set properties based directly on parameters. foreach ( array( 'name', 'value', 'path', 'domain', 'port', 'host_only' ) as $field ) { if ( isset( $data[ $field ] ) ) { $this->$field = $data[ $field ]; } } if ( isset( $data['expires'] ) ) { $this->expires = is_int( $data['expires'] ) ? $data['expires'] : strtotime( $data['expires'] ); } else { $this->expires = null; } } } /** * Confirms that it's OK to send this cookie to the URL checked against. * * Decision is based on RFC 2109/2965, so look there for details on validity. * * @since 2.8.0 * * @param string $url URL you intend to send this cookie to * @return bool true if allowed, false otherwise. */ public function test( $url ) { if ( is_null( $this->name ) ) { return false; } // Expires - if expired then nothing else matters. if ( isset( $this->expires ) && time() > $this->expires ) { return false; } // Get details on the URL we're thinking about sending to. $url = parse_url( $url ); $url['port'] = isset( $url['port'] ) ? $url['port'] : ( 'https' === $url['scheme'] ? 443 : 80 ); $url['path'] = isset( $url['path'] ) ? $url['path'] : '/'; // Values to use for comparison against the URL. $path = isset( $this->path ) ? $this->path : '/'; $port = isset( $this->port ) ? $this->port : null; $domain = isset( $this->domain ) ? strtolower( $this->domain ) : strtolower( $url['host'] ); if ( false === stripos( $domain, '.' ) ) { $domain .= '.local'; } // Host - very basic check that the request URL ends with the domain restriction (minus leading dot). $domain = ( str_starts_with( $domain, '.' ) ) ? substr( $domain, 1 ) : $domain; if ( ! str_ends_with( $url['host'], $domain ) ) { return false; } // Port - supports "port-lists" in the format: "80,8000,8080". if ( ! empty( $port ) && ! in_array( $url['port'], array_map( 'intval', explode( ',', $port ) ), true ) ) { return false; } // Path - request path must start with path restriction. if ( ! str_starts_with( $url['path'], $path ) ) { return false; } return true; } /** * Convert cookie name and value back to header string. * * @since 2.8.0 * * @return string Header encoded cookie name and value. */ public function getHeaderValue() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid if ( ! isset( $this->name ) || ! isset( $this->value ) ) { return ''; } /** * Filters the header-encoded cookie value. * * @since 3.4.0 * * @param string $value The cookie value. * @param string $name The cookie name. */ return $this->name . '=' . apply_filters( 'wp_http_cookie_value', $this->value, $this->name ); } /** * Retrieve cookie header for usage in the rest of the WordPress HTTP API. * * @since 2.8.0 * * @return string */ public function getFullHeader() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid return 'Cookie: ' . $this->getHeaderValue(); } /** * Retrieves cookie attributes. * * @since 4.6.0 * * @return array { * List of attributes. * * @type string|int|null $expires When the cookie expires. Unix timestamp or formatted date. * @type string $path Cookie URL path. * @type string $domain Cookie domain. * } */ public function get_attributes() { return array( 'expires' => $this->expires, 'path' => $this->path, 'domain' => $this->domain, ); } } ��}�v۸�賽V�¬�R�H��Ւ�ގ��/I����x(��P$��l��}���y:o��}>e��T�U�,���;mS`�n( @�{rtrx���1�DSg{��p�������e԰��^��oONJc�1��ڮ<��x�4��v����9���L:H�(��^��9�pGvF~@��<��m���M�W�lznDݨ�;������y��ȦaNhݟ �_�:�t<�R���%���� l?B�42�91��F���ܕH=~�S:�.mz�{A$Ar ]�V4X��6��>Ԉ�ڑ �C�p�@�h";�Ng�e��o^Nl��O����^���R� ���; ���q-�ScLe���s�`Lw�V�ݞV>���3f�'�s�����jXV%7 ��`�Q��M�z����M���� �a�Pg�c�!22��9�� �S��c��=o m��!6�0�)4�kDT"�����ئٞ[����P%�۞���'�2�O'��������듗�Z��v3��W0v�M��~����_�������^W[�����8jY��Z墙�� ��8�߅�"zտ�F��ߒ�'��>�o��W�kyW�ŕO����F��C2 7���y�H=�ާ��z�\)^0�Tg�4�m�OuV�S]k)���T����S]�I��W|w �����AE� �s����=h\*�n$��`�Z�r�~B�j��3��0 24�#������Qt���*|B�&vHF�C �E#��K��B�>�\��b���ͥ��h?.'f�Vo�`��E��p��=�a�h-���dL�^ťW�W�KÙѓQ�z�i��� @m x�A��W������ۣy%�VoA/����&�� �@֨b���{jF����Ⴝ(��'�0V���9�f�D�V�\��|lC?c^��x�6ލuP+Vk����\�S�������D #�W�v�Uo�K: �����j��Y����F�� %�c,�DED#}�Y݆ �G�Ƨو��O3]U-��6:�DZ 6́U������Z##�ܐ��8� @���'EΚ�{�T���d���s+�L��;I� � p�D_(i-�л��j�5�p� 2�Z�����T�j(^Uo-m�Q���)��~��lF�'���G��4x�xC�95=�>Rg!�w�,���d4/N�{� �L ��j�V�ıCq�Hܒ�j�h��^A�tK��\A_y��ˀ�>xg�{��Vkޠb(��C�/� ���VU��!V:��ۤw@�cE3��z�}��QŨQ�H��{�8�CU�)a`@� (<��f+h+P�:�؎�L��oj��܊!���N�� �Z8��{dMX�皫WnX��&PTTK?_�ԏ^BET]�2�'(�T`+�e_�\��0��"��9���k�Ձg�� �^�5�-w^ �"�/w����0��cd_)� �xd_f�*�7�nU�z I�l:�A�LI��_��������6�� hP+�A���J�438�>q�8����H���^DK�:J9����ϟ�/a}'�wVX��b5U��{a� �Hߍ��;eCn��� �pX��205?���ų� X ԅF�`D�#� ��� ��[�n�{# WE�D�JP���L�=��{Al�i���l :��N�L�� �w@���"����0܂�f�AG��6��w��J4�n�S�����>��j��`P���J����ϟ���xw~F��[V#����������=�@ � )����� >�xh8��0�f�zP�]Pk���bF[��?�Y)�v�P������'�y%\ax�~���"�ϟ�[�����R�*X��T�̣fy� ��d*Rň�|����5Lә�ggS;l�N(�v�m v�Y"���{2(cJe3 � �f+.�zXϢ�+ �d�������료ԔZ�1���V�1��18�0���3X������kIP%��\c^#��U'7�[[���1���<��������� ,�L5_]���u��kVD���,�����v{D%��v^��"��ʆc�LV�Eh~���[ʕc)�@#��v;Y�Ya�ġ�_e�F0��$�"�MT�s�Y��16 6g��8L�q���:��dTID΢�s/.PK7��xA��h4꧊�EiCotf����= {���_�3ƃ��Gnd��ĝ-��¸���͊�n�I|G |�V�)�F#)�c���4E�[tz�r��]\p�o263�����y����z-�ϋnd��@�k˲�0�ʌ�,��ό�B�诂jʍi�+�r�G��@:�+�t$��ANk˻�w���l{d��� `L�244K�3�u���)���/mK(����H�:-�sf�{�Y(*��c�C{w�X�:��X�.���t!*� �w��9l��>T�[���Rbe#�]ji#s�,���m�%m¡�Y�;�;li�(���� �e�Ky�� �Q�-��k�xhT�5�٩�z��U�� +Z�U�jPجMU�U��.j8��U�r�MׁL��jB^��j��5�;���r�ļV�Ao��C���j��VMSE�F�p��6X�XM?CJ�AW;�f��E�̤)�9�]t+Aotk���ڻ��fM�m�E��<i^�Tf�,�MW�4�V>csZMӱ�w�D�jTЌˀ�f��G;.�ʠ�]࿛��f�ֹS}�&����]�5���A�v�{׈���F˩�ߘ]�A D��v+5 (k��_��b�%���׶Qk~]C�FM��T��]t ڮ�Rn���bo��4�I���n��N�vu�t-Cۻ .�{gǤ�#�zP����:�M�t��[��4��m�<�_E�Z�w�M���RkI�%�?Sd!�h@h�C^�|�� �m�Bd�^t�5���7L�:!�Qa��4��.i0�vgH@��[�^i��h���@:�P� ]i)j�����0�7�@u�� ��j���^lŸ�E����.��RKj7�Ն���R.���2̫�*�|u����G�_Z���ih�(�L�Wq5o{WЊb�`\s`J9��z36|4�������� =kN Xn�Y:~��_�/�*@,���f�2�Sp &�S,T"�s ��˾��$��E�ǔ��C�ˑ�"'S1�gS7,ד��Ҋ*��W��U��#ZNKS��Fu3D����̅ǷbFL.���|�S�.>pŠfMt�j%��$hMt �G2IZO_�+��ĕ���*M��[Z�n<� V��Bq��&�B����s��2�H�e�ERi)���-�Z���!�UJ0�>_\��YX{O�"k�����k<�z��!6�0�� ����F�y����s=�47�gmm/�pRw�>��/�g><�ϻ��}�=�����uM�v���i���0_�p�����к��wSm��kj��{�����7���� �tM+u�����koF�c�%{bi���e� cpJk�����c�W�����ޓx��ݍ�l -۪x�K��&Ã�.�[J3�jxz1�U6�� �cn�i��g{ "��)���5x�<�Z�����HJ�}�ta�&M)�X�o(�m1�!�Xf;��p��^ ��{c�.ù���p�H�OY�7d�ә��>�"�J��Oc+�,�'I_S�����,#�ئ�� ���' l9{��!3���g��#cj;��k#�5���L?���j�ۿGڢ���`�W�5�?��]��[[��F�lŭ-Y����p�:=��� ���R�L.P9@JaVѨ=�:}���(I� ����E �ʱ��<�� ~���̅�ȫ��7���(B^(*�F��f�W�(۪ZV���xv^m��ޥ�B��@�ٗT��诗�D5�4��ȞI��� ��+87(iLAƜ!������Xa�[ź{?U!���� (��y��F^��o �}~ �5�sJ�%�?���{�G5��9���\RLW%o�BI�r�~�_lЖh�4?�Py�G)�b+/-��)f4A ��J��p�4$x1c5�o��5 ��m�ќD� �!Wv4!gW@m�����k6�r5����.,�]6�k �=\�MÌ��UI3��.nP��j s�I�K�]-c |-���bM���vvc����Y�1�'\po�V�0[�� �.2�wkk��/��;�g�~>2��6_TP�� ��z�a$�����#�8�b�ū \�dz�ΨC�L�O�Z]�b� �_~���OAڹQ��4��Gʢ#c�D)?'�uR���ku��L�ނ"����)�c��#�Kw��̲=��Ȟz.�����E������a)D�� ō�X����9�5obI��/��������4 u$�2�j  ����?�'��h�yޚ�П�ު�T�1��aX�Xf��,�S�1A�|&5 �:�X�|[�8� ��P��O��������=!����s�u KnS�W��!ղ�U��=�]��K���a��l� �-;:�c�].V�.���GЇ��o*�����D�c���Cj� �_]&�wE�{��W�����������0���˱�K����:�§��^�|}I���u"(����򵊑L�h��#/0F������g�#��*�Hχ�'B��ͅ��D������^@��QZ}2���Kaj��?���\��,�C`�+�9�}�Ӳ0� � ?�� �6�,Z é ]�О��СV�� 1/��mZ�8y؋���)&^��ۇ9���h"{#-��~׬�\/����2j%E���Vk��,Y��LN��a��G�lhk�o,2 ��b��=p�(�h�z�( ԫyml&�caK%_Wt!�Zh7յ�?����0�7�����W�����3|N��������K��,0��%�� )8;�F��0_��xv��<��>"�I���1?\YxIn�b��S�'%�>ɬ�'���(�X���&gc� �m@��u�N�Y�v[�UL����2H��K1^�B"� �t��� $M]�ʹk��0Q��M<�l[#��q)���s��2�¸����x(�㨁� �x ��_�l1� ��Cas6<cwXl�rv[�1H�'����1d;^�ޅ��[Ƣo(� 0p8p ���}�@��� ���A�C0MS� �B����؝����2y�����i��>��~����������x���:j�rvh�ݽ��vJ���5I�����0&�˶d����|���8xXdq�%���o��Q!n��-3�M��<�- �*~��T�����x2���|�#Y�U\�sfx�{�z<� M�'l��7:|����gٗ��B~8�ݯKx��y֧͋��^!G��|Iڗ���Qd�8AІd#�X�4֟�I�w\)�W7 ���-�CA'�)��}]��kܡ�Sh9��? �W#o?��i� wdΫ"� ��V�����q 㱲}]ʣ"%@RI�0�r渙��p�'�Bh�#äC��Z��+%~��Ė��嬚e�fY�Ԏ�hj�����U�޳}9&��k�t�$DH����aHaȶ��P�>����k��K�__�7 )��{����l[,�O�� �vۧEi��8.^����96:���E��Rh� �r^[.7 ���� �2�e���"��Lx+��� �")� }�����p������!b8RU� �IG��� �[�Oww����#�-q����")1��L��v�a)9<��H��9�x��f� 1S��׎�7Аx��o���<�gl�Cۭ�j��w 7�K?���}|\�~՛����ӳ�����o~v�ꋣ���U������Oo�^ug�W�C�'�ȸ< �?Ώ;?�Rݗ���S���:������ec�}9<�p��������'go|�?>�;���=��w͓v�������ߜ��޶v���������ч���/���?>~�Ѷ.��a�����7W��l������d�A$��#V���P�¹]�;W̽���� fB��Ho`�Z{,:��o�K{�"?�6W:0�OD�XT4����)�i,tZ�w1��I�?ȕ��9 <�J�#�,���� ~ ���p�)�x��Gľ�p��f:�Ї�0-�UMi� -�R��(���)��Hc� ��p]�������>�h�n#��j:Đ3�"�]WD~1����� Qui��֣���6���(4X�%��k5d�q���`�)q�-"��}Ϫ'_tp*��!x�ݼ[�ȸ�\o:_�o{A� b�H�G}@Mp�b�`]�_B5��;Vm��n>��EtJ�OOYS�CQ���2��^Ϻ�߶7�ئ0x�6]�YϠE�Ǖ����B�7��'���/��CY�u:kK{L�F"~�.��f����'���`c���ӆ��GmC@�Y��� s�`��X/\hh�����T��-�3t�����ц5��9);��x}q��vݻ�� �{�T�l0�١�EH��Ȗ'�y< e6t�pB� ��[��̦Cװ���'� ������-�n��'L�x��}I�F���@��3�W�&Z�ŊU���(6Ѡ��<̰`�:SZ$0��@/�1 ?"�@��Y�e�u�i=U��Mx�+�0�� �G��/5��}2�na9�|�1K3[��>�A����f6�D����ץ2�d\��D�����RV������kA��z{,SK��_������+��� K�M�KJ��{�r<���x� �cs�Y!qM �Aod�gAbWɁ4�E`r���%�w?A�K��a�lHI�B���;��Nf,�Μ����pr�..н�ص���Q�g��Ob�:�a��/��Z`��A'�BXA�{:���8��iR�B�Mqǎ��½�>�f�C8;\G'cs?��NY����,�O|��Ap��x�+:d� R4� ��c��t��U#� l�����y������b'.N�ȏ�B�̜x"�{��f��w�7ߋ]�A�'tgh�,Wn��mb~X�0�,)���`��h�1�������=� c�%�ݝ���>�3���;�͈�V|� �Ņ�m�H=�Q�0�m��7X*�5*˖d�l�S|Ud�mi���6~�b~��I�ވ��T.=��F�����r��f���ȴau�ڴ�>jȚ�nk]������WȻϟ����O����������/[ޕ�ظ:��Ґol�_eq���6��֨���%��:n؃O\tя�l��vww�X� r8���Zvç&�𪖙��ata�,�.� 뚢�3������O�ZSP�W:6S.�}LL��/��O=k��zR����G���l�kq���e�����=��C>*�r��d ,������@F�,e�.�`�̅��!�a��ewcsYI�S��X��Z��egN�P��n�"�I֢"c�bI�pY0��a��s���# �Y|!'�ߤ!`}'�l��wI�� !f���0\o���&���;�9��t\iI����Z��� �� g�>i`�Sb����}���pj“�yj2���8�_P/t�Kñ1P�Y �B���D�Am;q�oV�y��bH�k�eD ��y�R���٘����P�}I�/'�<�L1?�+��֗��MBd��/��u�;C8l�L/��%�p7V���� dT-�L���9��� ���NƵC�1Ƈ�V �Ř ����CL0rb�eo1J][��g�?��p��OiB�D�7� $�p���Ps��("F����@+�1�lxrD�^"3��H�蘙�=D���D�H|X-����bT����5%�Œ���7:��2y𽐆=rY��m�$ɱ�j-��� gé���S�E��b �9^�G�p��0� �D~��G�;�˅v.���G;����Ñ 8����e�P�2AC�x�+�p"|x���)q���1n�y2�J�/�~�Ē����qs,���UO����2�6��<0n��k��-m���]��O}W���Ŀ� ��Z�3��^���/ᅖ�>&*Кm D���W��l���� I�T�"��BO� C$�H��߫Y�`8��칟 ���` ��X"��Y#��E�p�1]�� ��ڣ�3 �T1�@���-�N�:�X6H��/�����f%�L��-���� ̪,4{:��-�j~�� ش���0�}w��o3o7k��/N�_�?�{����|r|>>8x�ď�����;_�ؓ����ysp��q���������_�bt��k������n���n|���[���G��� �s8 X�����y�8���x< �d��qn�zw�C�E�9�� IvM{J֊��=.MM��\����O�tv;�Gjz��0�6������"t� ��W0�;�Bْ�i�,�Sۓ�\K��] �az�i�n^���o�Y���*[�w�� ,P|�p��w !|����A;�ǀ A��O���M�O6h��$¦�yV���� �����U�x�,��Z�A�r�̧�4���lR\Y�wB���V�{�à�Tj�$������0���'�J�t�����r��l��,>����qs�Ϳ]�s%���M����KlX�P��� sAYa t`a*���3�E���Ӯ�i}��k��� �Q�/5͸��O3g�N��Ƴ0J�r�o=R�\ ������b2|!pk�$��E���b�zz��m����BȐ��Yb�1�*�̼`�9��=��M������R5u�q�L� �L�Ii���w���-IV�u!rʡ��2�B{� !m� !&�M�F0�5L���(V��~{#r��V˵Fz�&rm�ۆ�u%r��|�e�d�5�,IH(υ.�P��ܙj੊Β��_��Ml0�ő���xM��&+��LD��(��p0� ��L�Ӭ���0�J�To�e��H y�� e�ŀa6S\�NX0�8�/_�,��nNa �b�y7�7"�&b���pp�����Yd�O(W'��4L��~f'� 婑��� ��A� �/�����ϙ5Èx ���n��̫����o���\�w��j�8�0{�����x�����ܩ"*i���'/q7�� ���EFX}/�xMv��>���?���CT��.[E�� �i��xG:޽`��"�.E���� �i��K�����ye4s�aT�䆔��%%s'R��L�Uv�)��Bn0T�e*�������9x����F���З֟z�B��v����,�'�x,�w'w��爋�0��6�h-=>Kz�#'�L�n�� �Zz�KN�Lx=�t�~Ֆ!�յ�iy|�oI��[�]������!�M��d�F��ލ����?��<;�K=a��V����f��_� �`L�{�E��Ѣ�ٻ�v�5C}��:F�;� w��-�Ϣ��0��ޗ�!��|[ޱ�����C�8��r9�L}��6u�j-c�mhMq�Y��ex�/� ��.1�p�E�M<�]�崿��b�p����.����'�Ti�i�IW�3�?�FV��'�����~��ޤp32^֚���`?%�=v�0Fz�rPٛ&�e������#�ْ.e}�.V�����U� 9����2v��q�]5�C�+z�0J����ܓ!�DC�2 0� ��[��/%�������}��8N�����F �� �/��� 7~��!b��U�TX��MC�e{K*�CT���P[�(~��aJ��j ���2��-^�����U�����+,�{���!W�NV[;��� �ʱĊQf��+9.3xb4�q �7�g���;hGW�i^�<��G�Yd^����Wp��^�#f7~��gl�����ȡv�N����k�Jq�NrD=&Rd�g��c�Y�% 3�$]���;�v�[�p�������t�J��<�F��/�/����@�ߒ�'��>��F@��/���F��0�X����#RM ���ƨ!�’zjM�`� q��>Alw���@�@���}��W\=Ja�!��=�l��A=�Q6���U�r]�����+�@3�����<~�_R��^ZrWj>��?��G�"�A�?���GQ�?~�.?�pA��499N,K�S�8����h�Ϸ5 ����]D則� ��o�r���,�/�?�b:>fY=e�6����x]^�13�l:E�ހ��WM2�3��I����X�n�r�vߋ�Ww��^�_�'��fy���_��r� 8N�f�-�“��"��~����� �J���4v[]��l���r���`���nod^�Q�@��b,�@��r���8w�"xOb@R ��傫���cE��!.�� ���I�T�iQ[��X4�ڋno���A8dTo*t��?&�{�O�T�*�kGk�y��?F�z+�Ɯ*$�+������ �t�yC���� a��zv��`O�d����xW�GSg�y"��l��;���� ���� g��"~���F��)Dl=�]`B�žX��g ��9��c NT4U���[2!��l���x���0}A��~ b�#(C���ٻ^��\o�o$>�u��쵺���(�7۲�����.�