Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Started by Palle Girgensohnover 11 years ago84 messages
#1Palle Girgensohn
girgen@FreeBSD.org
1 attachment(s)

Hi!

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1]/messages/by-id/20130126120024.GA21101@sekishi.zefyris.com, who where the FreeBSD people that Francois mentioned? If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

Enclosed is a report from a simple pgbench check.

Palle

[1]: /messages/by-id/20130126120024.GA21101@sekishi.zefyris.com

Attachments:

FreeBSD PostgreSQL mmap performance.pdfapplication/pdf; name="FreeBSD PostgreSQL mmap performance.pdf"; x-mac-hide-extension=yes; x-unix-mode=0644Download
%PDF-1.3
%�����������
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
x�Z�R���O��X��ZD��7WH��e�){�8��M��C�����`b?����J>�uN_����Z::��|}$�I��O"�oZ���Z,*�N�������P�w9��t��f�����=������3Y��d��R��,��
���<QR���Hml�g�H�I�2����$i"��'(�tT�HebJ��<-dQ#&s�b$�$E&F�?6|����h��M�?D|V��]�x>�������1>�������OrD���/�4���/����_��#��uu�D�30b���WX8��peEL�_8}
��^�G�;�[�~������i9�<���|3�O�6�1���K\��GM�w�����{�p�Oo��zqq"��u�<�8/���}l���
z��eVdi��
���h��5��s�-b��45,5�Y�������I3�3��H�J9��+�F"�6Z'�lj�{WA�W�O�����Y!q�H�(���w\�.��Oh�KC;�C��7A�)O!S �K�]�M�����;������d.-�*���������U��i�?���uM=aR�l^�}Lc�x�T������������T��f���
Rw#0��bBF���q�`9X�^�|��:�{)�1b�Y�;]���"E���0�����a������b��a��,r-�����R���/ $7�]�8�pt���"�)0'���������1�ft�W���*�a�t���j�f7.��f�A!&Q�$;�"W�g�M4��)���BBY�,�|�Q<�"B�k�5kL���� �Y�$�h"b�$���|�v���Q<L��mkP��6'|�!�,G�@���yp1t>��U����cJ��<�}���
�Yl�&6!#k��$���h	�(%�Wm��K8|���D�Dk��Q&J��4���ID�K��bT$�M�S��02�%��R���[J���U������fi�}N�aI����+	=W"]"���A7
F�PW05t��)b�����z�����e��)��)���:6�<�B ��'�`W
����
��y����wA`���8��A�c$�{�R�@S+�?K����% ��n`#�c���O���>��mN����-�=�hY����=a��/�^s'>e������$�f�svf12cW���ml����]�ln��y&��%�&"��sO�
	���I`����������'%�����^����~���mIfG�Z�hQ�n�R�P%���4��;�����o{���|�����6w�!L���_�
x��)�Z:�}|S���/�v������p��
o��[�{U��6�ud9�IeO��as��� iN����'�d�0�e�!,�����h������C�b�.���9����U���7<�Cj�	j2L������h��#q��T�V:<F�:����HhC�f�n���NS�7kl?��5����q�����3903��N����*4Wqe��#�~-����Dj���P��*��0���/j��5���4	��|��4�L�'M�7�����\�������^����\]-���Y������VB#0w�������r�j�&
��_*1�U�[qs�\�g��[[�mBD�'�2������Q�����6��s�)�����E�����*�$��v�Gk~����@�i)���W���N�'�L��"52��X�s]�B��F���1u��t9���������������Dcj�7�3�5����� �!.�$J;T�a
^���l�����j�8����s�RS"����z��5�,2����E5N1u��e�ke�����Y������q�
�	-�Z�`�o��"���ZH���f5��������Ah��Qh�C�G����]�s�!=����]�P9�`���;�$xu���n�;]�SoY/`�G������L�XJ�q��Y����?m��q���Yl�S���Qw��"�o��u�T1���]iG�Q�,�b(f=zzy�������]e�R;����E��������I�2�+�)��2���	�\p��o&.p��I�n���9�]��HS��(/r��+�5G�!�$���QMJ��5�w�D���D�%����'%���5n����B#�`Y�]��+�8U�)�0����\�����X�*��B��e��
 ��r{0����������uV�����z��{vx����.ME,���jV�I=?�_������5
�5Y}��t�W-q`�;��{���WG��������\]%�'��O?>�AGn�o��o�i�^�w��O�]&
n� *�����e����}:�q����8�=Y��Z��8��*7��T?(�x���7E��f7��R^.�W��o_>,/���p��
O�n���||3C������j<��W������n���7�`��V�M������*���uS�!��*Q	�yYf�m�y��
�' �E��w*�.�{���I���������/^No�\����W��������������~xq}�o�����N}����[XW�X�7���lqH	�Z#�n�n|p?�Z�O�����w��y���v�(CZ����M��{<�|�Z��M��G�c���x\�J�*�����ZL����x&7 w��H���z_��8�������
endstream
endobj
5 0 obj
2671
endobj
2 0 obj
<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 595 842]
/Annots 22 0 R >>
endobj
6 0 obj
<< /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /ColorSpace << /Cs2 14 0 R
/Cs1 7 0 R >> /Font << /TT5 12 0 R /TT6 13 0 R /TT8 16 0 R /TT10 18 0 R /TT11
19 0 R /TT1 8 0 R /TT2 9 0 R /TT4 11 0 R /TT3 10 0 R /TT9 17 0 R >> /XObject
<< /Im1 20 0 R >> >>
endobj
22 0 obj
[ 23 0 R 24 0 R ]
endobj
20 0 obj
<< /Length 21 0 R /Type /XObject /Subtype /Image /Width 669 /Height 442 /Interpolate
true /ColorSpace 25 0 R /Intent /Perceptual /BitsPerComponent 8 /Filter /FlateDecode
>>
stream
x�}�{���l(m�
�	�����K!X��vZJl.-vz��7V[�Xib7�MP��"%�&V9(��+�l��WZI��������jwg-���C��iwv���wF��������g.>��@@  �y<��L�����@@  ����������J  A����@��A`
i=/��@@  �m�D����/��Z" h}-����@@ p[�~[����@`-���h
Y�! E�������W_O���:WF�����;�_G�
��������`��w�z�gR�w��y~y�*9�>���s~����[.%���c?+������u\$w� �;�5[�����Eo���WR���o�e��!��f4������c������x���i�cw�)'������������8�\�(7�q�>�����;A�wPaU����~��Hi�����>��d�M��>5����}v=���oL�����g�?$����WoB��wLF�+���_���qz;X}�D{^F��Z��s<��d�D�+�SC�� ��A�!TY9�����c8��5�-|��)lK�w������������^U�!����hI�s7ndv�b�����k���Y&(��������������N�}�jE��{���7��o�N����;|��:v�U���������;�����Z?��l~+)2�Z����"G��/9�D��"��n����Q��7�o�������\*�`�������S�]�r��^��_����p��AH��i6/�I7ifR-x�4v~y,�Cr)�	>%h��"~�h����#�+F`��l�C�r~4
�'��������w�b��	�>'���w�;�7�_��_yi��?1P�����Z��6�L��"�yg�*<���Bxp?I���$B�
�0M����-#������g�A8�{���W]��<���7p���!Kr��y���7���A�l��,�'/G�A�i�.K}��]B~���Rq�c���>��c!�=[�G���hZ��#��,���eq�D��'�������,��}�-���A�/v)K�"����r�?��wo�H�������~���o3���(2���L�|o�4s�vRZ?Bh���3W0���.�%	��7�L�T���pa�n^���g��~��	�~;3|!�|3�_��&�����=m�SrAr^V?�P�>\��!�������R���19��q�����l~1�f�	f�HXn�(H����nP4���2���.X�����������8�J|�;��������\��Q$�_��!�����hzC�G����hW>��`|c"��]S��xG����zZo�_2������Q)K� ]�<�T����8Z�o���k!1�:~�������+[�WF�����P��.�:�
�����$H��c�?%2]~A����A(�O��l��@OO���|�|��`�}A������?�`��2v|�DZ�%*��`x5	A�*���G@!��puvy�o�r
�����!|�u�_Xhz�1����d��za�8Oy��S���� ����kT���{��Y�~���*j������:��r0������������"~��G�YU{���?�l����>���a���7��Gd
��9?5���}
�98��X�i�_�	�/}<z�\�����(����_�n�y|���/~�A���D�+E���o��U��mH������b~��2��t�t7��:�S��d��F�x�>'��/hG��px��>"'%Q����S�OM����S��t����9��g(�`���l7�&�����f&���������Od�=�"�6����YN��&�,���F���]]|j�����6;��]7�����8�pP�9�pq&�C�~��P�\�Qa�����?^!�FB�R�y��
q��L���Vr�9�_J�}"��H}s^���'�8L��!�s��V�~�b8��i�s_��c���/!p��fn]7Z��A����=u)�9sr�w[I|^�|������g=��F�����Hj�\6���w�:�oJ�<�:�A���]s��|w��
>�<}x�[�����N|~�Ou�����3u9��Q����������8�'N����l2�n%�.z&�4���N/~r|��?b)��/��l�*i���0&�UZ�U�
���������&F���gC���E�w�@��=�\��:-'�?=U���w����R8L�����[Y	�Z���^WO}����u������m���\;��c���U6� I�j2K#t���y	��1����_H@�4���fob��8X�1���_���@f��E�����$~>i��OP�m�7#t38�����(�=��o)�Oq~�C��05��@�v# h�v��H�PZ�;#I��jV.�MG��5X�^�3��#r8,'�k���u9�*����j�8c����U�E��F��u9�������0�:.^*,�c��������3�����y�@����U)�z�r�����G�����4>$q�l��Xf����v�3�����E\6-A p�~�I����v��H3>;��8��m�L����"�����\����`rm����!$����
(�{3�rTz��x�����5�g*��������bK�{�:�5NF���jj��������@�  h�r�Z�T  �y���E,2(������9(�x���G����\&�������@@  �!���L!J  �A����@@  �A�k�%���������H]  k����5S����E@����_�.�5D@���)D	��@��"p��:�'��@@  T����(��@��5������h��E��-h���|8=����k�[6�� �{������{�2���������������@@  P��B!N��@@ p�# h�n/A��@@  T��P���@@  ��Z��KP�/A�*�D  w;�������@@E�i]���j�Uu'����guj��X
��Y���B���-�U ��W�����\��<}D�5��]<.�-X�jq������$���X�*��#��X%��q��mA��V��������%y�f�W� On��*a�n��Z��d*��y|.��d2�����\��O���=��%5rzQ:�c�����b����������?^������������b�/%|�;���sJ���1�������q����1���i���/�n�}���G_��W��"�"����w��x�c�9��s]a��@���$��������}�_��\zvF����$��Wz �4�SR*<!�p�>�84�����L::���� 
_V�g;��)<�B����wK����:���C��G����
xT,�G�����|#��qS�~��>�z�����q�6��!9����&� ��/��~j>��>���������@��~�omb���F����o�C������/��j4���['����9���r��p����F��fi��p�<=G1��~���2�Bo��r*�IgPN&�e��O�_��In�D-n����c�^�-�-tj�*5����������1"��,��Ev��e��e�Z���Pb�Q�`]���JF��ee_���.����� A���*j��h$�-d���-i}���?��?����������� �������������S��O�'�?a���[�����{�w�78��Si�\��?���o�7��s��'���m��{n7������5J)db�6%���,������E���~sIMsI��Ch���5��*�<Hz��#J�<�����u������e���2��������l�QA�����r�@SbL��u��]��hO��,��a�>�p7��?�l����/)�������Fj����a�+��sZ����s'���b�)�EdF��Py|>	B�>���O+���7�t&3�;��i9����L2�'G���
���T.=IvPZK��y2�'�����~&(vyN������g��]�f_?�[L����\�G�����x�������>L����)J�����5���<��J�Vx����������g��E@
���)��p���������.���fx�<����`j4Z����|5����\�H~9��y;��J}��`
"����������h�B��,��\ ��z�q��)r��[���]hL���>|k�Z��I�"u���Z/e�Nh���:���?��z �a�#����[o��F�oo���S��0�[B�t�n����.�3~jH��yY�("���:����\��Y
SBcu����/�(;��692�M�!_f��M�����|����\@ZN<�D�<�&&27���u+Z���2��<�8����s�/b3�4������7g���"AiV"�/�f��+�4����@���������u�*q�NJ�����0��T�
b�0��<�arA�7������2���^���k�l.>O��?{�p�xs�]5�9����V����H]�* ��e����A�����Q+�8�������^.�+6�����~{0r�s���a�~V��MV��h��H8�����~o������u���<�����e_�&�V��q��C�z��V����E �\	�1�����fFx�}O&������}�m�*}����2]��<yB������ms��c	�r����#K�|��������7�rX��������
@�~��������A�/$yxr�sp��k����S���7�\��	��7���>!l~��MN���&�����%�%������|�)S:���ezB1����y=��g.�U��WF�������/=�#�\��n�/\����������}G�c8���[dK���z��.�s�7��9^O;	����r�U������|&FM��0���!J�n)�u�Pg�\���p�N��G��s82��H�;T�)����U�����BD���������N�w7T�q]I
����F�}����"Q�������x3OQ9/`3�9�<��p*��_1�F��rt����ry�,Rp&�|�������'f�Q�`�wS�"B������z(�n�a��Y�.�x���~�"Qmu�8���X�t@���X_
Z���K��F���������zy.~��`����
�#}��5mj����=���8���C����x�A�u���<T#<�d����F�

�����/�?/����3�5V���,S��E9tt����T�������d��J����Q�����
���"d��i����9��Ri,&j����s��4�����U���|�c�S���|Y���A���O�|�7�U��������f����\��@2"�|�E��`�z��3`3I��X��D�.�������O(&�g���:�b��W�E�@*gY Z/���Oi��Zy|B�u{3��'l���Y��h��N���N>/�F�w��_������h���.�Z/�#ki��|[���E4���ep��H�Q�Dh��B��1��F[f	��A����������d�;��5���t�����r%�O��
�����3���'��u�OW;$���n��������a� 
�F�@f�+��'����I�j���'�N3����B�j�������X��~���`�|�GZ��:Z������`��(��d�����W;T+S}��p�
��c,h�DZ<X��#����Oq��Z�x�['/�����{��+o������
F����Fp�
���{yv��+��_~�
��o_�����w��z���F����Lv���h�������c������G����r���QY]c����u~��s�/���������7C�k� ���]���'g��������4���4E�8�ZkY��m��ly�5�H���cK����>t�w1���o������Q����5c�����&��27�Z�S���@r���t�"���s�<y�y�*����:��Z�1������t<I���������t��C�"�p���C�Y��X��O����R�@�*+������~������������}��
�~b�G�����g�������i������g]��|���M��?g�P�g���[�	#|Y����E���L:}�#h��ie}:�����j�$�r�:o���3��`94}a�8]1��w��y�;9�p]j��4��!M6�a����|'�p�9���<�	[A������d�5& �W?BZ�d��^��Z	 uS�!��W��~"�2�{��������Oq�=|h7�I�k�/9[����2�keX,G���ub��N1�O@���������O�~��Q��G
�Bc���S���L P�T���e��1Z/k�hK'p���k����?]������6(���2}i��O��;G�����25�{[����������2�%��n.�����X����?m{�2K���]���%��k*��?D��u��k/����s�9gL������4�>R7�N'J��:�&t�x���Y�L�\��������tr��W��a����Vhq���XZ��������
�e6��han�����+����,��kS�����u���������@]�5�,��#Wdj?�L^��%���+����
@�Pe��^�']��o��3g�3:��}^XR��{��_i�'�1����~����M���]�����[��Lx�y��Y�U�����/�T�E���Q_f���"_�%,�����k��[�T&�����Wm�D�
������j��@��#`]���JF�i���[�]  �m����+r'�����*n�Y��@@  ���~o����@@  T�J��'M
�����c�
����]5uu4.<����d�t,�H>�d������K��D$���"z+8!�$�	�$q-sa"g|c!va�����w��H'��DD�C��zi������)G<�2�l���������p�|��Q���������2�*���<�%&�>�N���;�_y�����
7xR\��)�����O�s�>yg�d����"��:�9
s���>^�.����&Qb�W�Z���l�w����c-�XZ?d�����<p���P�k,8�vc�A�{���� /&
_J�_$���]���'���#����m���q6�Z|lcQ��=�B��Z�L��j��l��G������D��"96n�����/�.@�������)�<��Q!�"�-M-�56[�=���OR����Z�E�
�tI�����u8!_5U����A�y��"���Xo��_��p������'t�QrF%��	q�i�v���?�%���y��j�*
�c�r!\���J��me�'d�=�,�K�?�M�� �#�C��_>���<��v-�H��w8��q]�b,i���Cm�����,m���g/��$ig���R}�����-�������"�x&n��8_�R�d2����2K�"��t�����5&��d�ts��El!MZ����SZ.���B�����|M�Jx�Pz�Q�����6��0t�T*�LI��u�-�3p��k�6�(����
�.�5�x���V��R�v^��P���m�����["`�T2�/;�6`:c�e�Z�.�h��%��&z`�~=�R�B�A����'6�79���8�g(�4�{�-���3Ie��Z����3S���7��.v�B�w����j���u���`$���b`N�z�wB�R�a-��Xxd
�lk�VSc��p~;��o~�����}i�Q��F�R��Z�z%)FK�te �HWm�s�t�)J����c�l�j��a+����|y
����Oz���#�X��iD�jw�pM�?nmx���T���J�3��������D�����)�w �{�����q<n�e�F};�'Sq�������N4��Y�"��zL����w��@Jj{(i"�7���
(����������^��:�',��t���:��or��@��m:T)]��D��	n����L�a����^��<��R�qLS��z*����m\:`��5����)�k��G�+���JE�6���RS�i�i}1���uV��3�������&������<�or�L	���j.q#w�F����D<o�Ai}�+���w���Q��k4��`����{�P�)���rv@��k0q�5T?��B"�kw{�]-/X���w���������3���z7�����
�~����.��G	pT���������;�+F{j��d���O��$��=����trar�t$n���:e���Bc|�c���zzj�i�����r�Uv���$
	A�;�;]��t�4y������B�w��v�����XR\9���>(�j{����?��h�������(�9�n�\9<L�u��u�O������cK�,9�t������%8�ze?�a������V���)�tjf� ���(t�v,�lI���4G@��9.��&-�1����M����o{<�����7&NF�����_:*O�)��9�1������q"t��H��{��c���R�?l�����@x�f�|bh���|-��A��6V*��fmI�
��Gi?o9+����w~!�Ae�j�����kne�����J�c���l[�#1\���0)%_������8t-4�QVO��N�&44���>���z&���@�K�ql�;0�+�?0�fqAKm����$!��[��W�������/J���78��w��2����!e2b����fyr���#����.ROs����?5�	����UhZ�3Y��L�1�f��n���(\t���P�����fF-c�����fk<J�;�=��]W�����Z�Z����# h�����I�f��BZ�I<G���x���u��K��'�e��_DZ��5
(�u����@����	+����>�f
i��p ��&�2j�p+ZWf�������V�t��������eKK��������M����=;qt�"�����Y6]�d��r��6��,��D��~���bJ����������0.>�}5M���*���I�k0-�>A��z�5��/�}B����90��4V&��\�.�1�c��i��'������r2��������A<�L������M�:4w8������Vo���tuL�@���Pk�[�S|w%��
}s��T;���>X���
p���G�G�C~��l��O�Z���a�=��_�yw�FgK������Kh3��h*�Q.9���o����h�z�:���f��:Y*_m��]�(�jk��g�:�e9�%s���J���RM�[�8���JGE"s��;����h�T���i�U����0R��:��_ux�C�8c� �HA>�`�S}���j���4�F��Qh]��*�Z�D��b���d����7"F
���F9���dR��n�	�u]V ����pc���^���/]�����	���&]:�D��h�����^l&-��qe���ny�����Z�Cp���-��������O���m�:.I��6��|&�Xm|�S���8l��#a��a]���	�2]qiD�)�3Z�`�2��d�����2�Sk(Li�B�J��H
��s�n���

��6*!�w��K.���$�W{�t%/L�6�-y��*4m��j(�,C�Fc\+��n����Pi����^���%D��FC+"t�\:���)V�J���������k�O��U�>6M����'�}���!xk���0�a>e�u��tM�E����lu��Z�f� aErL�����^�Zv����!9��z"��x��L�z9���l������P���o���'a�����&�B���JK����"3����w��b��mo�C�}�k���,���l�����s'.C
���=����w��1�m�5J�S���>
z���i�`
�!������WY{���Y���_0�V{h�]U����@���N�=�tp,�EN����}j�q��,%�/�Q�y�b�_m?������
��U+:mo�N�?;���{���]M[@�z��
P��oJ7���Lj�
"����t����
n�"S�����Ov��q����?���[��V���������Z6���l��T�k&]2G :
�J����@@ Q9��@}h�m����8�:@h]]k�P,�E����(����1O$������K�����)��\�p��W�jq���!��O�S��K+�g�7�J�S����	4i��1��/=h�{�|��1x!Z{�����g�E&@�5����A��D�6$�K����7�Lq������7�;� ������y��[
�h��*J�EGL�[W�iEu)+������t�u�����$A�&���4����*[;�O��i=��!�'�e� ����mr��	�t���5,����=��~�T��z�vM�i�������+�,���	X��`0i�N�$�c���X�_���L���7�
!OhzJ	��^h=�^|c"5�����U�.�N&}���)4���l������b9yS} ,�Qmw�{X1}���C�7��c�.��9��,�D�v�� MI�|9L��_S����i��BqF�d����u��#��d�&��,*��7�;Me8��C���G���������R��k�~%����5�(u��Xc��K���Z�*�Z�WN�x���5�ls��,�2���ay�,��'j���A
G��>�I�)�N�[��Y��W��Z�1MwP�n��s���
����]��A/��t_�X��JB�biZ{X�5���9���T"�@@ P
��+[#WJ��'��6���m�g}�B~�����'��*D���q�h����=�Z���<C�����~��Z��X8���,�jq"��������np��G����V�>���T��k0��r0�^F`��GB���3������J�k�%�;A�wJI=��@@ �j��B!@  w
�����z��@`�Z_5�B�@@  �*����/�,�G]��C��,c��=�j��0^C<�Y���tx������7�F�k��������9��?����y��P�Z��DN���F8s�������/U����r/+ZU����g�(���l||WC�0:FW�tt��t�����z��6������<{�k����5�D��)��O�E��f������^��������>�8:ta/��c��u��c��w�Bk��b(�����@�T,������!n�/��0*v�1�����i��������p��u�jK�3'���pU����]/�7���E�;6)]KB���6��=���p�pZ��)�S�Ilag���d�W��j �"��q-E�[�Z`wn�����k�wU`�'�t���)���-��B���`�R�d��Gd;V���S<F�Ox��)����~
@9����pEw&�����;�}���wc�m?&~��cw��	�w��B�{�J�uS����,���'{�.���������@�F�������Gq?�q:����/���Qz�>6���/�?5�a ��_���%rWN�e9��nL�����\�
��6��+'#�a���X}Z��;u���0�����z�%]�7���.��.'IB�u�M:����AS�/���R�`_6�&��1�uRSU;��t�8���Ag=z`!wQ�|z����I2���i|��7����M(RqT2��6��V����O�_���R���I<�3ooL|��I)x����������C ��-��R9	]�<�?E���U��"���n���7��(?.I��i�T]�M�z�w���P��G���9����������m55v;��#0%a�����}i�Q�F\�B����JR�<]��4���mq�I���lVJ����cm8F�i��u��X�����_�
������f�����wy�$���P�x���!�������R�������t'���>��R/'����[w4vO��>W+��+{;����U#��z����wDEm��]�I�]M���V�����R �nZ/��h]��zH�
b:_�#A9��U�04u^8�^����������?PL��^�?�_hp�ZN+0.E��)u���Q�r�k4�r�C�:����.���^�T�h*n���w!G���=���,i�:�-��G�$8��|�w�m�X��n��K�=�&�������v�@z.{�������5�6���,fk���6c�����,��<�8��:g�}�SL�h��/��EbB�g:��F���>G����x�E������r��q������lUm�w��&�����n�GC���	�<���'��/��m@@�z9����PZ�z���h���wsd���s�(���8�]a@mNG�/�����8A��QZ�<�}"{���O�X�[�Z/�H	��{A��{�>4Q��{\�sI���Z�>���o9+=8�����_�z�@�j�����kne�����Gb������HV����R
���z�v���q�Zh�c���:�"�
�F�>_�
T��`3'G��[���y8�K.����D����u�L����#H�E��K�s��~���q����U���W�;(��d���Cv*|�`�
F���L�e�   ��9�:�n�\ ��Z/��Z9xD���w�9�g�-0x~6�zy3]2�q�
>8
�g��(;���_��UJ�����������Ec�sJ7�o=�S�.��h�J��Zo�j2H�S��>T�0FP��'8$l<<�n���c��� ���a�_9��xM��r0_���KG�t���Gq7 >�3�n��n������0H�@��}����Zg�����\4v��T�N��xD�z�|�n���-T�6�����f���Q��7,��v����t3Q�	0�_��8�3������g)v
V���u*yn�����855��Rs�Y��]��
����qj����n@b�l�~��<q-kX]$h]��J�$����p�H���}t�#���D�Y�wK�>�����Q3n=O=�A��@]T�4�T��058����m��%�,�2�\�����
E��HavcPN����O�D?t	�����8�mk�����7�8��7q�Z�����O��.6��JV �����&���|X�CF�H�U���O�7p�������C,�ir�[ ��Z/��ZXJ4��m|�j���z���Y��w��=�����pH�)��3��j��Bf��u������$��.�����Vb\J7������9"+�NW�/%�q�iW��&�4CEs����|:
v��:�Kg�����Sf�'�Rt=yu�W�IW��ts���>���R��u�4�� ���:���F�Tu5\���ojmi�����X�}�S�s!���F��B�p��l*r�	����8�_��h���Df�[B<���c�N��f���l����F3�5w��@`]�^�%�:L�������EYN��u)��Rb����D�FX�Nh�pi�4<xy���N����7���%s�s�}�������x�{��������D�*�n������Z�����/:'�^�z�xT;Z����x����� YT����` !���(D>�tp,�EN����}j��b��w�����2�5���Sm?����`�f4���NY����O��`�mn=�e�
+������$i.�;�b�0��};�^�C
2��/��O���@0��[;�A)����������F�qXTp��:�Sh]1�f���:��!�V~7����/I��.�#����q��� ��O���S�?@�
�A�� ^*��������|��s����vN�� c=����m8����������3�)2���h]Jo+�������4������c��'�����u��}M���:S�}7�����u�
+����q|"�oM����@����o[�
�@���f��p�q�N��SUW�Z/���p��|����`��:|`�M������l����b�����7@��V5m�g!Q8�o�1t'��q�G���{I���o%zU�k�2������)d���"��q��m��e�_{W���J�u���L���#��G��LE"���ta&1w-��0���)Z4n��s$���B@J�a�����Vr�5�E����%%�"pLif�%��>�Y$F���se��
xY�j,#��?c��d���C���3
QR<�T�',��wm��JA�,�@��:��� k|aYs��X�D��@�!@� gx��H
!V �nT*����P0�0=���>�E����������X� N�;�l��vSWX��b����}�+�[�TZ�[�K�-�[�#n	��@��B@���U^B[��@@  X  h�qK  w������
��@��J������v����1�x�2b������q��N7&{V��b��O\����.,~�=�����d89�����F������	��
9�&T����5HUN�_5�Q\�q�����A����u
�.��d��gkC]8���]�G\�;�����&�q��������<�5��	�������^��#����,o�9>������\����5@�Q�=v/�l�w����uW��M�bi7�jp���v�Bt�*�����n�5�9�SZ��N^�.^d��)��=���f��@��l�Wl�g���tu�~%��9�l���1QL�	��2��I��.W�����j����������EG�6�XjI�����l���Uo��v�9Z-��<	kN����k%q��5�~�V�U9Rd������+v`�W4;���mN��@`��1�.��#<5���@��j�w��i���V{����)so%\���Mq�Uz������^�K;��lg%���d��?���Y�nU�;�3�]��@;��k2��/�A`�J����������*�nc�K5���D��eR�'	{A���� ��8��<�S�84�:t�L��W
!��w��{�Zu��>������Z�&�W#��g�RZ�����j<��9�����"�qw����f������J�dZ���c��/�5����������x�����R�Z������ ��O1��g���nW:��^f��vhv`�s2�z�qO7�79��K�`T_y�R� ��}��VAwi����E�s��B*�L����������m�a&������9��������v��7�(��{;�S������/%������l�m5�'��5�6��2\@L������5��>���'<
�lk�VSc���y;����/7]���I���
/��
M���������"��v��L
���r��c��)<�@�~��^@�uHO���g�z�:��or��Ty���o�P����b&������b��Y�DX�Z/ %O?���*��S�RW�(��Y�av����	t������N��z��k�5����V���F���>G�'�LQN�����r�q��u��BG��M5
�T��1!�PK&HS�\���?���j��c>�o1�1�t�
�`�%.]��iL"�h����2u��B��xT���#����Zi��r������\��
�77��1��{=�
������3F<�����wW�*�������<�M�'�H�����iG���^��K���������^1�Y��p�����G�����\}`b�k�����2�����n�S����-i�\�k���B�5�@��S�/�����;&gZ���j�:�S��n�:�j�%qF�xP�<�'2hf�1?AW��W���`�����`B���5
�0���|9�
�x���J,�FcdI��CJ�a����fAm~����(������iFR�sR����E�B���T�[K2�������]m��Z��\��������Z�����t)<�����i������G�����K,�y8��b�����j/����`�3���k4_��&_v}6�'��T?��!�����^���TN��7��3�GWe  h]V����kM;���o�5���Z'��O:��9��<��:��l�bn�!�>���.x,���!R!;��xDi���gTUK_���ym����<)b�7��������a5Pu�NC�-��(�R���l�<��u�3�]�(n��6x
���:u�n��(�fS�%j����������K��N����rqA��jc�A��gU1�	�4��C��gN=�}`���=� �j��(�����a�����" h]���W�7���,��ef���zZ�����:����K8���>[	/h��[H�eOX����D���P�{��q�B���c������L	/^�+5
9|7t9��GY�T�j�DU�[D��~	,�h�y��p�q�������&��I��pcw�
r9��'�]5��� O������s��u�Qsa��&��+�������K�����*N���p`1�q��d�X��	���U���y)H����& ����\xr
������-��p��
Z��%m�}8AV�&[��F����
�i���
�����7��ap�H���F��}�6�B��G��" �	_u�_�2�����!x[H�S��nF:^N%	n���$�����:#)��R�V��u���h2��:�5FV�2�hi�hx'M=W�[�w���v%	Zm��u�e�����&�-�f4��F�r�//]���F�*,�p��5/�G� �t+S�K�?�,0S$���`�����D����������3������^���X�_���ps�E���A���`"&(�/�D����K�����x2�������d(8���dn~�s�����l�����s'.���������d4�������MO��8�%��Z[��HRZ�_���9
�-����f�?��a���u2
�q9���?7�[����V��p0�A���c�Pp<��<�@m�w��`1��)�`DZ����h<7�� �P�#�����n�)�#�!�tc^tN�(�O������)�������b�{����j9�L���~W?����`���M�^�t8��a����J�f�SU����@$��x�tv2D���*u��x�j<pC~�JdZ|x�eJ��|�W�/l��@�T�WP�-�	vB��}=�����C���1�7Q�+qQ2��U�������#k� pr��$R��v4A�v4�T'�G�n3����~�hQ`��������[�@��5m��JC�������������l�"�����f{��0}Q�TC������0��/z���������Jg��>�xn��"�"����� ?�����L��Wu)+��������:�X?[�Gh�`��\�I��XGF_R���������n��v��3Z1e�O2S^���&��I�=~4�G{wP=������z�����(�������)>�8����YWT��( 9�������E=��hkj�p�����xl��Py����Q�,��A��i�)*��@���2�@��
����e�j�U��|!��Q�?�l���" �nF�����&�T�|���z<iXW���Ud�.�
U��z$I����0�>��$����*�L�b�A���2������zZ�[6���[n�,�QX�����`�/6/<�!WVo\����c�s��"K��_��x�;���d�T,�Ak��u5G����xP  ��tl��i6]�>+�s�S�[�w������\��.O�C��r��_$�]�Sq*j�����C�b���@@ p� ��G���f�~�h�p����2�9��4�TZ��*��@`�����
y��@@  �mZ�m�����@@ ��Z_kD�<��@@  �6��6�E���@@  Xk*���G0���G]��CWx��=�j��0^C<����@9�-j?��V^�N��{�x���TL�tI�����4��D���K�{��k�9u�+_N>Q���x���p9	���Q����l||WC�p��G::�r�z{{{z=S��b�B����=������>'O��}c1����+c>�g���a����Rr���c&����yL�fM��uOr.o�������@Lb<_�|���!s��1Wk������m��8i���90f�����WK��
��q|h�����[*��c�a�c
z��.�o��G`����]���]������^T\��������6�Sw��m�M�#����N�[���fr�X�nG�������'���U�	���3����f�<x�����5�nij�]��[��q�����/��Z��Q"M���9�E]V�/lT~:JOZ�.��f��-��M�ek��3l����7�n�N�E7���Z�W��$X����k�%���[��G�|.�O�Dc�;����X����=�v���fs]^���I@%����B����[G)n�r���|3�����@F�2���U����a"��T"w�Z6����4�
>��q]�B/C�j��k��r�zp�NH�DTQ0~F�o������r�9�3�������&�9�nf��
���sns�A�%#�a��R�����A
V7���Y�p� �����L-}���������GNU��Ct��F�m�������61��\�!�4�W,��po����V,��wy�+������^�dy���������
���$+��u������u��e�5�vlk�.����=�YI����n{fH[�u_!����I�&�����k�<����G��xkF�?�,z�0Z27,E��PZ�W�g���O�A��i�T7�����������&<Z�
�)x�
�lk�VSc��p~;u
�vi��F=�����Q����aG}��"����^I
w6������"]��-�3)��mtKi�?xul�
G25��pq
*N\"���_x���������&�t��P2�s�B������.�����_���&��6��74��:�����|i��
�8���������5?������l��v����X�d���p���,���������w��(L8��y&`;����)=�Df9������J��kU��gs����z�H"�j���!)�6��h W����L��R����v��Z���sA�����
���XjI
�z��(���5�u��pH���r�f��z!�������E`�M���y���
7A������J���j.q#w�FNl�D�R��h=���U���������.Z�)���r�7��\+���c�S�����qw���h]���j{����?��h���m8uHZ��.Tp���P�&���<G�����a�A���/�	KU���>t:�tH��2�~�|lr���P���<f.c�!�����jt4�����2I�t9�:J����N����3�m"���s}.��9,81��[�]�#C.����iQWk�n�q����kb����<H���s"���u����9/��XHUk&u�����nM�_.��t�2U�G�|V�����|)P��
�`�����������,q��CF[e�Q��:OT9�_��~�����������]Z�7�FF�8s�"����uj�'���K���KG��A4��q��}�Y1t����+�[����8�-��</�4/p���Cx����s.�$��6���FZ_W�W��(@i�����x��<���'�D�f�w~!�A%�j�����kne�����Eb!�5��9����h,�*(���+1��sXM6�I��I���������1qd��D��G����YQ�h��:��W@��v��h��5�!<��G<v]:i������||�d�1?P�y��	�97�M1=xr�V�z�\VU;�L����j;�O?i�;�!�E�,A����4X���\������A[���KG7�<��l!�����X4r� T1��o;������,[�����b�����<[����?_Y����?��p<�������gM?�|8Y�zZ9�s.A�����4t���!����R>�������+��G#�u��/a��\|:	��i�b&��s����pw�l��D���L�

��f�e��$�B^vX������xi�6��"�vj�yvae��v:�#��*Ns�t�xx������	{}AX����A[2c�[7qt������4*�IO������F�wtv�<���^�6`�K�h��V�
$��>���-���}���N=���3
���:�0z &�H���H�j��2���t{��B����F��b�|��g��(���}c���:]5��'��Ng��pv)��O�@�����f�ta�i}���eq��0� �f$2M�1�=���#@�)�oRk�r�P�.�IWD��9_
ojX��%��ZN�sSN�@-��QO+�p�%hul��Y�S�`N�8<��������r����8�#���^~��l��O�ZO�lL��3��L�1D��3�����h���4�2:@����c��us%�'s�NS���z�:GOG���!B"�w���V2c��M{�K�����+�!LMcM��S�H�Y\R�MY6�c1�%sD=���MN=��[�o���k�u>�
��wLE�����G��p�U�d�C-]2������b��S`m��,�����g�������w�g��d�\�IM/�ja"��0���O����y_H�u�tuyU/��]�������Df���_~���v{M���l!�S��P3���g]��]l�J����ONA"���[;��{����7�=Z�#�GN�U��������ui�%�E��*�v���Ae��F��TF�G����6��DR�%����c��
O!���K�O���C��J=��F��a��)�h�&�_�?0��|��	R���o�����<Ki�F*�����9�l*rL�t�^
->��[��R���j{}$/L�7�-y�/�@����TA��p���8��{��b����}&�����D#C��kL���_$Ts��������h��s���>�q����X34)��V�io������*����J���l�nQRE&���aw���`CT����A������l!_�U��l���u����f��aEr�P
P�bn]�p�)T����u2WX���8d��az�DZ���'�����]��N��3�)���h&����d���a���6�n[q>��g����Q�V\B<���.h���Q���y��*����d��=����w��1�b��Y�'�/F�`(�h����������cp"�U��5e�<$}h(v�`H:��Dl<�j��`0�������������pZ�M��0��$�B��|cq(z�����K�hL�>�rV����<p�n0�tW�h]S[�)K��Y��PLJM}t�1>����� 
����}�H8x�e3�w���T����g<����O�$�� r:di}���� .����'�`�[������]�j��8qXe���F0�����@�<]]B�Kn�)ea$]�O��/;]4��l��~}����6��"�������p�=o�0���������E���1v_4KC&�`���>�}��$Z��h���h�=���/}�������o��^�������{���d�Qn�6��K����3D���T�:������=.��~��0��@e�����!���1����G]d�2�����t�u��q�q�p)��*JmQ/�������~J�yy�}��>Pmw�{"���!�'��k��
�a�O6y���it�N��D�_4�_�Q�����w!�v�AO�$��2L�(s�T��ZW�!��o*�����w�pe;������
��#>E��}�_h=<%���������6�C�+�r��uj���rd�Z�yy��`��.!�%/]��35�)�+���_v��
��C�f��>s�O�rDN���8��\�Hc������y����L%��f��+LI�d�Z#KzBD������Z����lHam��C�i$S�k���"pL�Y���s�P��<�y�4AS����T������dA GG6�c���.]�8�@c�`������������iM(+]x��z�`��V�E}.K�.������R2��W��{S.ie���K��?d�o�h��;�h���8�����yp�G�t��K.-g[��L:6����������r�bC�;6[��XDkU�e)�9�+����p(R���uM�%5Q�����4��	�&L��]��&������5����p8f:��M���GB��*�K�����Ri��*$��@@  JC@�zi8�X��@@  ��~�PQ  �! h�4�D,��@@  �Z�
I�(���TZ���Cuu�v)�����=�j��0^C<�I���iB�t4�)l=/Ea[MX+��Ld.]����c��a%|"���]|#����r��4	��U! '��9J�;���4���#u9]���=���
����h=.�c\s��Sc����)����4��)�!��]��hQX��t�y��+�����e�e��~C#T_w*���[A��������n���k�sD�96���}��?�M���b���m���n���0�1��q����=i|1$��-���;����K��p�
{����Mb�Wz�� ��Z'A�$u������pKS�b��`��UO��a�w5��c��A����uM!_��.��(Q2����9��G�^�*3�w�\s���}e�bR���B��i����%�2l��� �y�U�n���~�R<����6��n\����n�g�����O����Xh�Y��-��O@vw�<s���O$+F�����t3�m�19/'#�a��e��"�;u�X:�����EO^:�!_d����Y(io�eU����$-��=������I=��T�}*��-v��}I���������l�0pz�#��E������U�8�}��Vi}�,��f[-�u%�>$��J������]�)��$}���Su�:����=e��
�Mx��G�H-8������n���v>����e�m�������jM�>k�����y��J-�Uk��:���h�������W���Q��
}
k�,��a�f�\~j���=��\�fkr���G&�����D,���
nm�;.���P2�s�B�������2��fKR��Q��V���������y��o ��(����������>��s��i��&��u��!m�	���)��p0�	2��Woy8��98`���q�!�T|�+��������=HG�������s;?W<�@lJ��H���4��l�h=��
�O��������,?���>$��:�e���h=%�� U��Qt�
�5k9�!L�JSn���D/_��)���]�Mu�n����KZG�O����������|>����w,�I7��%
�d3O�_q2RU�o���=���Vo:�?G[^���d�*��582��
9��L��B���W��&E����p��9B-KN>?��D�j��c>7�]b>�e��Rm�������U�<g�a+G�y�^qc����5Y���'0�+��W�e�`�/p|b����p���pmL��Wy���[����r�-��/=������jQG���Om��'��P�����DX�<��������Iu�R��"����{�����j���������e)���p����������3k�m�������=O�:l���ysc�2����:��n#�8����b��������.����d������I�	N��H�p9���������7�������S}UZ�8��`���[��d�t����I�.�D�d����@���v3������������U��G{���`,^���?��8��-^8n�z��_��UZ/�Ri�~��
���?Vl������sd��;l�M��7&���W	�?��o)���f��w�}E��fG���;�������y�"���k��6��v���6�*=#���
5s�li����^_Vt�0���t�!�nR����|�/��B���p�~�Z���U���4����z�N�*��D��N���3;�:�\�� ��V�5i�� ����90Y�����6����������2����j�6���k,�rq�U��)��iw��/���9nD1�z�UX�������TZ's���!\/w��hn��}�2+�2<�8(�oQ||��
����^��>���w����z�P�S^�a��L�0
�
��u!	�h�,Z������Q���u�SO[���@]f�4�T��05��A��J����<SY2��wqC��B�5�H���)v�6����z��q������e��
���i7�\9H+U�c�_	x�W�#������[�
������3��"]���r�
0h� ��]x���k,�rq���������p��[�`�����+��A���\�_��}�W���Ph��M~�D;�62*/�u�����^���H�g5V}}q������|����d��FZ\J��<����f<�����4���������;����A�����9�/��M.��zpP��p���0����:����;�bV/Hb�k�L����������	����P�����Ch�rb�N�����{���������&���������o����:X#��1nf�&�r��{�8P���ZX���-^���N44�������A���Z���`
�����$�������Ef��:�SF�'���E����� I���/M�3'>T���K9j��V@3H���P�;��4���#}��E��D���=k<����O���W�i
Wb#YU����@����;"�j:8�"��aI��>��h1H����a��x�bK[m?�������g��-m���f�`��K�&��9��'H��<������cW�-�Vjm0m�1!��F��C-���[�(O�wHW����B�XF����KSm����A��B�j������[�K�JF�#�n���\��^���z���n��i�S�������uZ/�Ri���{� \}v\/I5������L������&��.�ZI�s��t���(+�����|����l�8y�����s~�h����G��b��B�$�z�I����n�8>����|��[�g���@�l8}���M^��a)��l��h���3l��;�1#������qx)�fk���������t�����O��9���R��i��Z���B����R�Sjfm���� B���vw���
��3}L���K������\���`�r��{�8�$��\��-^8$g�?Xi����g��z����G��i}3[�[2����naR���(������M�_����U?$%�qe���d��k%`Q|���Z�2�����d���4F�����vR@�[��(A����N�$��%�
����u�H'DU���<]��Va�^&���p0������[	��2��/���u�'SsX�5���9��p�7�[�]�h9�p�U�#��p���J%V�@���<C�����~��
g*j�����G�w&�������������k������q��@���:B,���z! h}�����@��# h��C,��z! h}�����@��# h��C,��z!P�������8��~�R<d�{v���a��x���1F��d���q��W��D��%����.nmY�����3�3�s����t'
����c�vw:����!��x����c�����qcCl�!�@�:�c9m�� [��e���������Z�R�Gm$����O�j�Zk��R���k��Tz�����������j�l��'��,�[����<�=#�����s��4���ctV3��@0�
���6����zaz���\i�*W�S���%_�JB�@��dm���~��}���������=��^���E������E��p���]=��<�R&�I���������+q���m��-���]M�3##a�P4���*�
��j8|n�tx��[x9�O��fN�y"������q�X�!<�E�~"|�j��F�������n�-@/�,�L���8����u([dZz���
n��#9��	Kn��G���rI.������P.�u~I*aKh�O��~uz�y�>^����aO�_x*�^Z[��x�;�P!�#)��,��ZaV��7[���D���j���H=��ur�����T����j;����j/c���%�4���<q�v�g��'��ry��>?��%�{	d��.���E���������.`^\��J0���7t���x��������}�1p��O_��J+�b��������'6���d�~��lR���|��:;}B�w[.������F�O_�k���;���3����,zu� ���K��cJi�����A���?z�������Q�.�'&��9v�����K��?��h;�z�n��*���`�y���Kt�h������l�y������
��3�n��~��2<���(�o7)�~}0Pjd^M��w0|��nm��5����G��. ����C�h�<]�WqZ��f�C-����^���p��>n;��}m���A\���������\�?������\,�����W
��;c�dv�I	�1\������v��&���A�0�+�:�~��o�?�B=����
�/�c�����}�Z���v���A����{�i����;�#gR�����En�!j%�z���u4�D�\�n���Z.��J�Z:t����w��ZT�/Y�]�M�so�0���jT�|==��s����A���N���JY�zB��HO���|6���X�����Jag����|<�e7���m��#�z�t;}
C����E^o@��a:������M[�8���?�/�"��e=�=J.�3CT��Q�:���?�#0�������������(��>�����9QE��DX��.���1�o�^9�u�j9�!L�j��@ �G�f�?��c���l��=
��p��m�#��������
�rB����=���r��"s9<@Og�)LM���~����7'��8�:[��������&����pe�|��'&��;��o���G�/>��O�j���P��At[�>?��	��
�h�>d�B�_e(r!I��x}��X$l�o�w����z�3���HM}d,���G"�>*�I%�~�w��G��b����pkLeg�X��B�������
��K%{=A�� s��i��%��`�lu'�qh�?���`_.���w�n�����c��zf,M���c�M�fo�z��'t}L�<�Q�_�
�.��v�,�Ha�����;���vJ�F�~�,�����~����������Gx��LU�y�(����g��9!���+�79����(��f�R���7[U�c�s�r?Fej�/�V/��
:��"W��d�p�v>���2p�
�Y�j�������T�����[Zp,���o�F���k0���������D8h./�K�X|�#��7�;���d�no�j����>��	���E=����l������Y��]�/{�=�����U-:E
qO|����pf�R�L��7R��}&XT�sZ�`�89���G��*]�'h@�u��b=��������<�����3�YIU.�zW�C��b8:���jt��h?*>\[��}�������	V=�I4N7~�ij{.�������������[����_�1@���0U38l'�'&��s�=�(y�N��1�DI��U��Oeo�B��gH�A�-[	D^��M���P���n��M���^��U!��SUhp�c����Z�z�2U
�8{�D�_��Eg�hX��
������;U����'�e4X|GX'L�(/s[SO_}��xO���>|g��*o�?�mYw�T�R�����H�6���������0	 ����:.���R���Kq&D�����:�!]������J;�U�������-������QQ��3
m����������^*���\�hm��v:��J�o�n���F�!1����>�Q������.��o��]�������������:��_�����K�>����f���?
�i�Q:w�Lu��y�^��{�t�������38e�k���^�j��v�	<z��`f��lO��0Z�"X���39�7����������i��kj���aX5�U��u:�����?��Ex:[W����Rz��`$2��Ex���>6���x���*XW�����?�AM=]	��������IK��~Q�|*������-����S�<S!f�R}�t�� ;����
 ����t�2['���r������/���'v��X���}x���GR�����h����Iy�@�ua]���HU�~���ixd�Wd&^*���,@y���Z����^���>���������u���y�s�c���`��a����0b7v����3P�kb?�����r���^d��1������Z,�o��5�Q����Q�B��m������.��F��_;�gR��Q�>
��X�>������v������k�tz��F6����F���{�\��,����tq��$��9[����y���is��m�hP������f�*�}C�0SK�w�_.�M|����#gE8���-y��&�k�b�*]�'�7
�%��v�hD��vY_��!b(Wa�=�z2�>���7��k��� V�G>��T����m�&k�y�Bp���]	wo�l�
b��z^p�Q��h4����)�,����w������/����Ex[>��8���VR8�������U��K� ��BI��D2���J���Ht�}�S�[U��Y ��:4��3���vz5��X"������L��-}c�b:GXg�����^��@��Q	*��S�z���������{%�������5�_�����3�h�����R����Xt��e7�����S�����X�������O���������*�� c�X��*9����j�x��3����7��m�vX-q���?����T�������LO�����_U.��r���K���xf!�Ey��������R��%290C�8�u\Q�[2-�H����x��Q�����ba������#c����\�x���I�tU�����w����/	�5"�A��EDe�vh�O(C(5��l�1qg���D*��;��������4��s�ur�
>�}��E)��XU����A�_�] {�����+��� a?7�c�)/�������;1���":�b��3��Q��ZPt���/n��_:|f*>���N��)9�%-<B'`+w=?�U����=0��Za� ���l�Sr��R��	�0r�	���#2��E������}�8��X��dJ�wvR��|�;���>N��������"��~^@�����?UZa}<D��b�#y���(r��!}�\�z���&�W0�D����.{;S�f�5������*���	�SpLQZ��|���2�'#������\���zn��f\
k�v�����s9jk�z��O(G�������3����c�v�$�/U>
����x+X@�������Q�q��W~��3�'�TeU:U���j�J����r���_�0	b�����	�����V������M[�$�@/�F�k��U�\���r;�[��nE����Y-U�HT]��,���~������l
�����&�m��rpk|�@
��u���p-�Z�{mzt��k�Jb�Y���� ������~���h4��<r��V��
��L*�H��������0W!�JH��Ly�U����\<MX���n���M�R�����B.�Jer��q+����/�Hj�K��mWX�vY�p-�Z���k���.��5��w-�Z���k���.�?2S��\�p-�Z���wm���p��p-�Z���k�Gf��)]F�\�p-�Z����v�u�QK=?4Ahh��o�y��VH*�N]C�55A�.�����zA���o���j���kE�����j������A!v�xp+stc��z!��/W���#�����e�o����_�\
��`�7��M������@��w�k�������_����HB(M��l�9�
��j8|nktx��f�}p���?3_y��"^�T�p�2wA�"���
�?V��y�\C���Y��"S��K<ER����J(�J�V��!x~��G�C���<�Rn��W!ZK�����-����)�#���[So}�$���Z`�Z`;����?����E�A~{��TO�X��m�dF�_��Op����9����a]����c��{�z�u�iK2�5K�T3}},"7g���6mi�������n�O��Z�Z��3��p	]l1lgX�t�m������������O��asX���$.`��N�,r���h��_�s�;�2X�,{���
��������v����C�h����G��������:����q�
�`���tw�b��4\x�����i������[��J/y}�Nxb�����M����M-���?���B�J��LB��
5�������\*�$]6;I�J�q{�E!<��{�����PG�>(����M*�����G�F���f,�:��G3��*{��v�J�6�'zp=�`��`���m0��5�����,��z55^!������>�Rq��z�����Ex��'_�b.��[�(�W=
��j��#�c��~_g8��cj]�������j���^	m:��E�d�������'����x"�SJ9�K2Ur��%7
M=���!XdV�n���D�/>��(�'��r��J3�����?2
�P>qIS�\j���B*���
����FDe�l��k��C�m{�a�� W���z�Q�W�U�����=�t��J������j�����a�G�K�d�Y��	=}j�ExP��q�E����p��J_��.m�0�������R����q?A7�;��%S��:�2�:��V{�iu.v��1��d�p�v>��f��l��ri����0��)vT������8�8��P�4SW�%T%���x@S���w��pf�Z�4�dv��>�r��s����{1�T�|r�����b�����5�c��Y�gW�Mj�O��D���d�NT�*����^�d!7�--��z5�^)��/��B� L�3#�
`�XL~���[��o�h��>����w_���#TA8�OSX���cRM=}���k���A>���(�CF�a
_�\~�kNq�6��"�8���!hs��@��?
�x�Yv�7�-����K�"7��	�(�f��m0ny �����u�\����mX|DeZ^1�����2�O�k�#���x����@]��Cf�v�JW�_���5�����,��z5u^���7f_}���������������~�[�����?B��4�b���n>fn��CxZ���|x0����/LY������Q.]�7h8�� wj�U�?k��H�1�������m�RSsn�M�u�������
@��:���(�jX��C���T�!�=�
(e������>������ ����S��v�JW�A����fq#��.�WS���:p^�Ya}������E����,�
O�Z�4�#C��e��^HK�{�0cO�[��lU�1XL��W����WG��l��~&����7�K�?�8F�gn�.����^��`#������v�(?��l����������AXI�<�������� ���>��N���
��qA^Zd�9������*�2����U�W��0re��������u��N'����['/�|o��{��KG�T�@�����6������lJ;�"��O�����}��KOK_:���Mv�y<��`�
�R��%2�lv'�Nf��0�������p����zl����`��������K����3�;�ljx0�F�S����?]-��D|l19bG���O����
���xf!�EV�>����peS�HVS�%�x:_>8j��xL����\�F0�D��8���F����7� �C�����
��v�j?*����N.�G�s;[���jj�RX��/�����@3��.���4��*��&��y�<��F=��-�4�����o�3l%}Od�P�
%��E���E�do��iy^m��� 	��P��G�������8��a�!����;����L���~)�'�!��E�$N�0g/�hk����D���3I�L���5��sZ��
du��������mxx�������\^f,����Ex8)G�����C������D�v�J/)�o�����J�T7�=-��a}?�\q�/�7d�8�3a�njmbl��o��{��T���^��dn��d�;�/s�a������������<���G���i��H�j�Y���\Eq�S.O��

9�Y�L��q[�<B���U�D�n��F*Z/����	�$+T%W��F���-�@��t�Xn��&SV?���q��\�X�~��������~������
���Z������T2�d�;�9��w!�JH��;[�dV��k�����F!}�Ncbhh��$��)��ui���+�o��v��Z���k�O�\X���-�k��\l���m��-�k��\<�pa���c���\�p-�m,�����j���\�p-��[`������z�h����3��MUe����54 �@nj�
+)ek��{����D��.�h6�v���)=�/�.d1��7����=�U�����~�FD�O�]MU��.=��r)��$?f�DS�2=����D�Hvb�����?,
~�:O��FU%�W�2��"����MLM/k��?$j���?.��k���B�:�����O	���U��s��4����e���j�R��B������j@�oz��J�*�����T	�����W?������q*Uo������w�f}���[%�)K��'���#g�?��������3#���O���K��E�����
�FWS�pD��8����-��{�&����0�P(����m�b��h(�T��������"��h/\�e�9C;m��x�����|�x�
W����v.�-���B����������c%�F���wF�@���d������	p-���H��qY���=�a�j�uy���.�G5$x�}�o�����."�������T(O��<O��w�Y�*S��O�Vy������ty�*�40� ��h[K[3\
g�R^�@�w����Kb�G��C�i�`�?b�By��8w|�0Ba^�����P+{�\V���UK�����Q��d-�{��O}sO(�1���t�)k�"5�C���;�1^�k����F3�2a}&����F��stS��3���!�j:\#In�v����p�o=�cQ�g�������w����X/.fK%����:X�_/���]����������==CFz����G }����2\���b�g�����	���E��#�VX����yzv�y���Q������mPva���M}~F/�K�����������:���y��NW.�`�<��sV����z�"Cjo����+F�����h��8]��K���}�1�����6�M�XaL�����:=��w�;���zd3�c�a���V�
���|�j����*`��}��t)��8�mR���I������g>�x~��F:
n-�?~���8���C �=��tS��3�%-��;��C��:���<��'`�>�,0X���a��2@�����df�3�����;�'�r��e2Q���4=gO��mC���Q����6K���.Q=�,A��G���������'iGa��N�~��8��W`)�}�M�;�
w"f�]�z�y#��:���� ,�m�=af�xdlB[0����f��M����u�����zq:���&���W��Y�I�����`�3��������������`q�F��������\,����[
��;c��=z�Z#)fiI�9�O��hz�����w������FL�����\��}���h��S��X6;tx?�w4����l��]�E���eo'�x {j������;������F���l��e�x���g.�n��J�����8l�����J��� <���F��������~�Z����*�����G�������=��PM�D5�� ��]�����p3tP^�����(�����F�m{Q�.9�����\X��T���������oh������j���NK_�@8�� [!�?�����b��@���IYT|�@B�_B�\n�Nq~�8;[dw�a���������`�S8>y�g�WKa��]��mt�a]_{����?6�O��	^S�/�k�����E~D������)��C��y
0rAz��Z�w��%m:���
������z||Ch��C�m{9��Q�Q��9����:�0�S�G�B0�Q���U���m�����w�T�$�RqSx&��b�Yj��
�S�����V�w�o8���M��da�}X=�����EC�W����a�@0$=3xo��G����� �9����S����50|~$�|�e�DL4<k���`�3��P����*=U�T�_e=I���tS�1�}��2k���';�S�	��j�Q�6e�#?�����'�����;��3��.u��$��![D�g�������H����_�A����9�n�o.�WS��:��������?O�������N-�2'%��T�����y^��
����������a��-�g���/�,�?����9����s������	���<����"���|�!��(��S�G���>�e����g�q���Y<���!������{W���q������k����)R�9�G�SjHo�v�M�O7�k�V��
��z�Nf�U�����n����c�������Q������K>�!�on�G-�d��n��lNf�YT����uT��!�TL;K-�A���j�������w@���:�YM�X>�Xk�I���`e<j���M�d��?��:L��t�0In�����������#��V�THs8���_����TO��*;��i:��C�p���Y�n��vc� `y����_����kiG=;�p���	�a��i���#�Ac]#6�=A1�5�����*f.t�
w�;�9C���[���!���*&�Y����� ��_�����/��	�y�d>�xE�`��_��	aVh�8[O��
X\����|�G�t��,������r?z3��������`��<�lG�p'�����]���]�v��<9�f�?��/��"���/�M�)�/������|�r���1�+������V�^�.��������1�@��[�*Qc1Q��.b���;��� J������x�@����9V�0!�O&H�
!���)�N��D���P���n����&��G/��
��-�17�,�������f�Y�H����LL�I���	����q��ph�a'�HbD��_�0�1P�_����>G����WYp)�K�DI��������M�T���R�icO�����*z�������P�����e$�N���GU^��@�CU�O
���L�����r����L��|�RlZ=��}���v�����?nJ��7��32�C��!Q���QO�c�?FX��1�_���gGao��:���paB���.�s�L����{�t���;�`
]��?���3��W^ #
���Ys��{�+d���P����Gn���=�����_9[��&'���_o�0=?p�����ID�.<Q/�c��r�%��;�i��j�t��#�������l�Fm`����Kg�b�}>���v�c�R���z�����������g���T�c�cN�<Yq���������z�+[��a���+G4�O`��1���8�\+��DaO��?<���p��0hB
SAL_������������U�T�4}<�[����t��O�nq?.��In5�(��5�o��O6['1&S2�8������B��1���c���>l��=����F�x�ta�lG)������$�m��[f��$�n�#�d�+��r^=�~��w.j����;�����@�u#=�.�:�S�����$N�Ft��+�)C8��Y��q^�J���/d�p"E2H�G�&�r��9��s/���I}���w�l�0y�M������{3�K�(������u�����u4���B(�G��S�4i��g(�;a�K�jC)4'@$�.J�\��z!�,Y��{�d���	H�o���A�������h��o�L�4���n
��.x�B�i5!�e���I@�&G�p��W���+�2���g������dOx
�6�([m����i�%?��U�k����=)g��*;��!}:�6<����a������pv&���GU�J�C%�~�1;�aC�`������t�mQL���Ag���{�������56�W8����,�����ik�����������&�IYi7�x%�.������|z�ya������dDX��/�\�#m����+tw/��{��{i�
�4�[�GY�>X�h�Kd��n��� ����o��B�}M�v��\�����t�:>P�������-Q}���r}���|��"j����?��O��H��um����cgV��gS�28�F�U�E�"|"��vBW�i��|��
O%"��Y�)av���`� 3�HA��>K$��4y�N��[����cH`�����c�L.���	���"0=�{`A��G�(�JD�Z����\65<Jk@	�����Vg�\JA�Eh;�LO�����s�u|��B69����>�~[8�uW�x4�N%>j���"U�[�	?��=�)0���p����~T���k����V{�������mxB����\�F0�D��E/�����
��!HG+�GU^U{��}B�pa����\h�-��p������|j�$���(\�����i�x����S��6����#�v;F\X���+��R1��t���o=��t�W����?)g����\��V��Y0e�	���{���9�_������toZf������/���x�M�~.�}��Ez��ps���W�_H���^b�3.����)7�H������$�u����*�et��s�6hZ*����\�p�Bb��q�����e��/���b��~)@u�v����l�a=�<�L��NsNx��*0"������3S�6[���d���P�y��x�����r�MZ����V���DW����P�G����x���O��,��#j��9!����$���L����i�`C(\25���"*�m�	�oy������}�n
��I+*�R�l�w��jO�����*z���(D���~	^� a���8���S���my�����	��43i��Z*�j&�*P�z�E����O��Rf��?G���A~����3���w��
��c=;d�B�/����i���=�VH�^��*�R��������;6��������I'�wSkc��|�e*�I��C�����B�<�^�^>	�F�Z/��/<l7�PQ3,�n����p�^��ah���<��U�<�C���4f�+�����^�TU�����c.��<�Zm����q����p�NE�����P�����F&s;�3,_�Z>�W�a���cy������������&SV?x�[�[B��Z��s^���� �*z>S<����xw�n�3�=	����T�M�F�'��3��
��)����T2�d�G��L�J,dS	�4�)�������\X-���������dm=��^�r�T*��N5:/�����X:�F�������%+�U���k��\8[��ug��O]�p-�Z������[��\U]�p-�Z����\Xw������k��\l!����*�U���k��\8[`������z�h����3���e5W*�N]C�55A�����k��
��������]�`NOP�6�_�V�_��O�]M�/k����<��<�7#�����s��4���tV3�~���
�
o�r��zaz���IE��r����������*G�YxW�r�������L��Z1f�m�r��ME�M�����#��n�k��Y`��:��j��	C��I�_��h(�T���p�������`.��W�������z(��O��r������������$w�ya>Ly����Y�^[����qr���@z�g`lA�i�����f����3���+���v�~}�*��O���ah
���|{��������uJ!�#h�M���;ID'#���K��_sxG������n�k���-|B��������
t-��-��a�����}u��zt X��c\*���\z���^���d����.Y�����R����e�T?!�����$������}�1�����6�M��A��N���������TY�����m���v(����F~Dy����ej�GY
������M�\���vQ��n��u�_��[T9[����,��k�'d������-uP��������m=�s��W�����e�=��IR��^��s~�NZ�|��s�s����������F��t�����v�hs�p�:�m<2k��������m��l�^=*��
�2����}uu^/N�X	8���m������;���B���w#����Wm����������_�Ja} qgl���u����	�I�S;\.$�#��^�fw�Sg����c�M��KO.����JX��ou�������L�������=��h������
�t`���C�Q�����yQ����F���l��e<|���jU��`��k�-h����*`�����b��l����+�����	}���������b�:'�Exw�^M�<-���Ic�S&��U`�u�j9�!L�Nj��@ �G/b��P����n����P8������#��F�zQy��+����=���r��"s9�K;A������`?�����T��A�2����7��{�3�8.k���o���X�,�/F�Rb~DUOSO"��Aeg��������/����T���:������ECd����A��44�Z���	������Z`�Z���jj�
X�8����+���_N�1�W���k���a\i�,zG�<��4���/}�z�xd�w������-������� �A�%79����PV�=����q�UzpZ���r?Fuj�/�V/�<o����U�~>�I�q��>���8�E`��=�U�k�Rq�z(x�+h���I�Q�c�*O4�1y����6�-x�Y|����O-��<Y���>	�����x���P���o�R�U��8:	q�t�AU�g8�e�<��G�A��B7��*�Y-����Zpa������>+�;��p2��W���m��+?���Fa�����8��\�Go����3�^�FG��JP8��x��0�J���*����)0��)	����^�"<`���c���m�0G~7������B�2��6�h�|����r���eb�	��qX��
��%�{_\��o�)�������fH�`�&xb5�`[������x�<�\����?�'�$��`7iw��-��&�q������iq��n�:�����\X���*�u827����lvU :�����������7�
����������-�#�������^�f.�[��8'��o,}�b/�pG�T�g�U�z��GOg��N=���@<3����Y�����ZY�x�k�q_�S2�D��:��}�0����l��P�~��mnO�Z���/ts>�[�x$^+|jZ�+e�#@V��(\v�Ad�A���^SOVP,x��8�����nc7����[�.�WSOU����)L����}��s/���I}���wqa}�����
����Sz�������w`���z)����:�uz�|#?�3Y/�VF�h&�{�TO��p"��J��3�tpyR����)B��z�\(�j��o�L~��Q��n��.� ���ycK{[�������I
a}o6�2/���Lq:	/Xb$;Ja������FK.�0���i�[������l����0p���MC2J@>m�&=u����\X������I~^�O���y7;IWZI�>�����u�xp�����������"|"��v����K�G�>�~��T"�V��O�j��
F������A��>K$��4y�}#�/t���7� �C�����c�����A�L�a8!u��"r�z������������M@���}y����S����P�+��NC	>�7�R���� �����M[�����@ ���zZ��
{<�D:���m�{���*}C�����g��Q�So����"��n����[�.�WSs�t\�t/��n���!|�_�8}�_pz�����3��{�E�jj�!il��zx���_
��
�/��-��:�z\�e��	E=���V�$�tC�K��L��a�TZ<��G�H�=�Kd��k+w=?�@I��C��Oaz�!#�^^�&�
���:y?��p�S������a�����Y���0��w�����7+QM}`�:��J����9a��g��a�
�F�;�H?�v���q�[����o���M|��:���t��h�\����yT|�5�C�������<��Q��th������C�p�_��������)���qOw��������3�&l9X/:�;>���`-��"���`0`"xZ����������=:h�5P�?I�\Y�������v����k,LNN���T��<scR"�1]PQ>e���v����[`={��;%6�x�U�������v����u�
�Y�3�����k��\<�pa�)�\�h�\�p-��,���v�q���\�p-�[�����r���p-�Z���v���������p-�Z���Sl��
��C��&~�a��u�
�S��@i!OWXI)�-fSs#�3#�s����g-������w-�|P�]n�Y����DE���'c=~�H�������;M-�B�s5s)����`�_hc�?���3U�V-������t��O}�8}������3#�������gZ6����+��6]������qs��������w5�����!�B����d��R
�O�-��\GS���7��n��u���9B��W�<u��'}V��=���t�J7��[�^^Z����qr��� � ,0� ���h[K[3\����_������F�rIF�����P.p��������t��PC�t��J=bHM�7��y��g �_�Z)���q_���G�z�>����tY`;��>������zL�=��y�S�z.�u==C��u65������qz��^��.���^Y���:���������P�������
�X��f���v������� ���r�;���:1���/�0`��<Y5"��k�\�<����h��������T���Z��N5��'�6��=��U�)��v�u��;����:g����o_s��6�����oM��������I|�}��L�v��:��w���z#�j:�C�\�m�Ua&�xd���������m4m�9�W�ZQ;�h�WW���t����}����a�&k����z*$?o{7�i){��V(��w�����V�C nU)�$��
v���5�c�4��Mp�"�3h��
��_�D6��.�������SZ����=0x���;�#-���=�������-�L����i	@�.���y�]�����zn��0�!��y����U�R���
-:���k�;���5oGz�������}��%����^���1���.����O���
Z�G��M�U+�u`������������_�n�.��#l*O���^��'���8 i,xz�����I��x��� ���t(��*s�-�l��X7{:C�Pw�^GXG�/������TJ���;���������	�3�'5�������^��
IQ@BA�^l�cY2��>����aj� �m
�	`��1H���A��3��Q����0�.�����:�������F�}��$� T��*�*�T�y6j��#c��M8�C�)p�NCS�`����U��
��\X��>4�wjh�	H�yZ���7����R|9{��n�_�dL����m��f��5������b�d���Y}�������n�g��E�2�����y�������'��
Zv���.��k��E8 Y,m�J��1�]��	�:5�s��|�7Bl��*W?%�d�p�v>K<�d�8�`��=�R�k�Rq��������JCv(`G$�|
���p-N6���<����0�/i�oQ�q8�(�=
~]o�l�"~2��x:C]a'F!����W@���b������{�6���8�L(M
����r�$�5��������5H���3M����AH>}�>m9�Gq
dxmK�7��C��}��k���V/3s�����L^�:�|�[�F4��Q�x
�J��D+�H.��[����g�-�p����h3"?(C�d�9@[�b6FN
�w�<���1��:7�Oxp.��%�p1Q��.zdn�,������F�J!s}��a�,Iz�=C�������X���*R�S��);���+fCmL2�-�V���x<F�p���������`�uP���������S��c���m�0x7�����+hEv��a3.�����}�G9�������q����ZZA���\����\�5.�h�����J	���W���
���U����su�u_��E���xz`�$a�+&g���)�y��w���s�g��-������P.I�EQ.�}��y�X�������&�����2��r����S��.k�t+s�n��c�����}���K!��GDU����"1��s���h:�\����A�b�+.������K��5�i2�d��&��t�����:�����h�0,'?X#�2� 3�N��4�n��?���'�R��Ed��3�cf��M)-���f���bq��N� B����P,Q6�����|��VRv^hCy+R�����a9#t��_�S������o���T��E1��K�g�=� ����/a����8k�	%�,O���3c�]����Zo��A��h"e,��9�u.u�|�f�^�r�[�`�9�%�
�&��W�L��viq�}P`�����GGG�����{k�n�z��C�10(�5����`f�PRT
D�Q=L���4� ��2���mAD����N���v:)��W��_����QX_ZX'��0,��������i��%�5�Y�z�?�.��%�'�)~ ��@�G��L�,����Y����h��Z3����DL�����Lf}J~���J�MQ3��4.J*7N�'����,�C���AnH��_�����v(4M�O}�M���\u#sN��i������F������g�/�A����-��d��$����P�����6R�D�CQ�'�f�n����U����Qy�����BrqY&�H%��H9o9f�_
����@X�0������[k8�8��D�}���������k���QC����c�4�S�5P��t��I��?����f�7�/����8C����J��[?��>��u�����fa�8�=	�%����o�������W�- ��w����>]�fE�����{e������o�[�K�HY���>���%\T��
U���f�P�����@��t��|9n�	��(`�V���\D%V�;��{_�|=�
�x�O`����A�*Vr�Z��zY5�'�PsCA�5��!&��2N��g��B��h
b�H��X_nx2���N���
?�u�X���U�%�&�4���]�����d ~�,���#��������R���J+�����3k++kw����g����������?����g��xg���\���������[����,�]5sByD�V�MUd�����"&������������`^��ev$V�HX9p��*3`y��=m'&�N��C��_B?���k���(;{�|J���} :9���SKp�WS�������8C,�;M�����\EL�P{�
s�DL���{���:�p����NLf$�Dd����o����Z�Y3��������d������+�����(���$#����7�O~������%yW����7���������P.:;&�	h2�%�}�F�g���g�
+w��`�?��H��3��W���q��3������B�j��on���,.,�t�����o&������v��:���� �r��
����M����dh��|g����`(����zI����x���m��N������g37��<
�8��}��X���)h0K5�&Y*�b[���&;��U"pa��@:J�Z������S�������=��'�`����]�Xwk���3t���i�I�/����_��,n���������Y
+��n�:����`}��[����Q������\eU�@�(�)���W�F�BU���g���������&��s�N��|������&��9s��A�W���+������#��O����y���4qw��k�ao�\PDD����<�z.��P=�#���\:�|��� P���������L7�����\SE���w�!Z�P�K�F�O ��PS�;4%
[\�{��E������XE �'MrQ�����/��A�M:�����4�f���qkM ���0@�Z���!�zd'��X=R�f�5���r��Yy���R_�{�=W��|����6�v&]5�K��:+�� %����Z������k+���Y��8�RXw���H�z�N��W�������Gj��i�hf8��eqss���s��Z���^=>iI/���������w��7������V�����;v���Y<�J��j��A\Y1�]&��r&��3#V���>�����Z	e��%2�J��\Y3�T<}`e(���\v~Ep���Y���
k�#����Sz�>����K�s��b��f���s�ka�f����]��c�Za���m^�^�D�yh
��������X�W%����d�L�R����,I�y��n_�6R�A���|v.�]�2�����������_f���+�����[N7[o��.,���	lt�c+Z�Q���������]�������&z��f&R.&�6Z�o�D� +��U �A�vg�O��B�(��9{�h[r�uJC��2��K�Rc����!S���q��Z���b�c�tJ��v|�JNl%nBO���0���[z��2s�k0&��,�N�P.�K^�"s(��3:Y�Lod�<-��+lE��T��J�k�Fc)�����X�k��P�G{���*W�B)�� ���j�%8K@6�����i�cyE�hQ@���O���H[��w'�����xZy�
�����&�������P��OVY������*��#��_�m�X'�x-s����kW������Y�n����W�]M\K�����;�h+�����Tf���OeJ>�
"�2a�e�l;����Y^%=�l�wk����Ha��������.�kn�NlE�&/3���)�
7�2�Xh""��e!�Y����-�S���3C!"N��,�4�O� ')j�w.@�����4�kwY����[QM�$&�QG�p�eq�H�Y�3���\���������J�O	��f%����U���u��h��fO�m��)���������?A�Me1zNl���fe��L�_�*�J�y�Z���������<��n7����7%M���u`���d��L�U�-���D�
��G(�TLKF����Dv��v3��� �(TH4	����c.�I=��K�,��3e�3:p�l�o&���
���J~<�8���J�1N�u�������
��}$���VqRsb%vS\�p-`k��l��x"�t�pO�?���uaJ���6�u���Mo^�-��s)&���&j����1z��|�D^bdE��U�"�ZFvB�r�D��%S=�4]"�� ������?>��R��&>�����r�BUD�J��s��������Wg*?1d��7��X`K���K�
m���o��h�?_%}��������p-�����^�cAnG�[�������l��s#4����*$6�9�\=[���V�� �������R�2�S:�R���T�h+%�����������H�@C7�p-�U,��`���YS������(_�QM~�5|S�&W_*�N]C�55A�����4����d��Lv�����-U1=�v��.���������W�����-�\�i����]I������O�a�����z�]1�(88F��4��:�X9T�2
����I1�L��f������B63����
�1nWdY1}n�����n�U�`U����D�[����x�f_�\
��`�7��o�| R9+�m=��E��[;�Yz����Q���?I�C��.,e������V��v����?8�"��;#ma�[�M]������Ai�������#���t���y�����k61
�!~n����/SJ�_��t���k�������3�2����������{be�������4����?��cw��\�����}N����X��Va9�����,�S���a����;�"���j�Z��pg;�V!�4��
	��j�G����:��������Qm���:zFai
r�l�"��Se�������f��Nrc�yrI�x���G��X)�����Y`lAN��ql5��?�Qy���*ch���R�(x��P���W=|}TZ8��g��Nt����F�;��T�*��{W��N�b�5�+����-s{���i���k�f�������3����W�����^�\	��V������,��������������W� ^����OO�$��������?H.������rk�g��W��lfm:G���2=7-�AI�/vX����P���nR3�J�8jWe&M�WY[�H/-���.Q*T���rVM$��������\Hf��2�t%Y9�9�v�#�utr�d����P�B0��>���#Z��Ua��\G�����^�$������c�����A�/r���xjo1X7v5��]P�����Yl�������
�'.�S��O��5��(�F���&���YN���������y@�������
B��%z���x���`��|�o��^�D�����g�<���E������	Y|�`�L�}�*���QV��9q<�E��$P���X�f'���'�n������\����x<��d�~y�\���b����0�hs��7��N/�u�g�/"�����[���]��������M��G���9?wo��e����G�����/(b���S�M����M-�m�?������N�h�J��6�B���X�
y���ETZ��ty:���G�F���e,�:�������U�P{��������,��A�0]4������h���� �O��`�hz�� ��S�:��O��
�I���u���xq���$�����vk���Q�����X?�����v(�����,5���C"������5��Z]��� Hl1e��oGz����q���lk6�.J�����"v�����aU�$�z7[*!��[��=3�l�l�<��3�nE@2��4q�"^��B?���K��3��?'�y����\e�,�|G
�)���!D��K�;�$����q"�?�����������L$K��@,�u�4�����N$e����m!B�Z?7��	D��!_�4l��*RDM��MF!"V&�h�KL@V����e�����7���uu~v�]0x����=�:7������JH)��{�7���S=�'����G��j��A�]�L����J��I�m��%�KOS�@�Ah���%��e����!�M����D����S*>KaF��bd�SJl�D��C�@���
&��S���
JxV�����`j� $��������0��N��@7�4�	�3������?2
��LG"�&�	a�c����t`���e�/�F�
��p��m����#d��������J;F��#����f�?������!Z����!
��������F�}��$-��n6bIq����,��j��*�M=���_{��f� TJ,�py=3�{�����-I��F���mvyd27n�����2����hHNx��@���,N[�3��W����WV���[r��8��>�_���_������L�^ k�d�N
�k������>#�y�`|�	��	0�=��x����K��C�`:gb�)?�4r�j�2���A���W���D�2�%�C
��2��n��6e,\��`�n������3�`��"v��kqs!�S�BJ��b�ad�W����C�����b6s
|���f�3��t&������.	�\xD���������ut�W��s���h�B�8!�s�:[A>{N
�c���s��B�	���|.�=w��gs�l6����qiC�R��^S?������Z/��>m��
&64������f�7`���D��f��^��
�r���)��Q�3���W�=0F�Z�bh���QC����@����ha�z����F~�vx�.@��{N��{;��)�C�yD@DC2!U��c{�Mp\m��(j������]5
����)��EX�(�C��8�vd�����.����-Ce��`����~��[�����p b�uH)w��\��a����L��F}[��,�2��]�N}: �_����	������9g;X���i���Q\������?�i���$�W6�n��~��VY��N�Y��]�N���#w���#^�F0��Tyd����/�e��~Ff�O[��Xj�*\��[HM=}�G����?|�����+y�)G��7���`�M���O0ge/w����
@��F�fo�h�?�@������9���yeX��/D��-��#���^@�+�z2����y��#������p��������m�|�O�0��V���<����,���6��������+�
��:M�f�lg��I~;��i�(���W��d���C���4;U[.
��������������.�ks��*�QX;�Ag�����~=|d����f("��q����i����q���_Y��k�#%@���(v"��R�3*s1t���C"���_ '�F�E��Wq���������n���7���H��w�����VXw�/DY4�`�Vj1���.B;y:?U��"$�RRn����%}XEo���������uG��C*���Sz;�6����)\{���_������!����y�&�2RX�PjT�'
���i2�z��a����������/6��r������7��m�������US�/w�"|y�^%�����M�\������W��'�S8{��`$2��E�B�x��;��`�u���������:H�Y<�%�lg���4N2�9X�'|�#]8���q?�����D�b=�/����~���V��X�o���p�Zm��l�lXXK]���W����Q�M,��
z9���S�XZW�O��L���,��`��q��e�M�'��i
�])���r����e*�z�K�������JFVVI."�����T�I�U�zY��Sq����EQ�!D(��j���O�vh~wn]�����^���>�������7��fX��� �7���5�-]Yya����-��!q�C'���Ev����e�s��WOA����g��T������q:����d�-�q�lM�3�M���"<���n;�u���2
��0I����r!�����2b
�����!���_payO��h`dtOA�N�"sR@vj��E`���3�����'�����|���"<Y��E�,[����=P5�l}�>�F�@�(��EX�x`rmH�$��j��,/$p�;��	(����<A(���7r�������T�L16<X��~�����L��B��C��;�M���cpmO��Sb|�*��p\^���,����^��EH8����x�wo]6q%�-���k|�W�E�|���c��T�wa��S�����w��O���N���iw'����\!IN�=�;�����[���t���/���$�K0��9�{��_�Y�K�szq�C\���	V��u����UVd���I������;m�c��
[E"=M��`x��R]��}������\��g'��`?�]+.]i�o������s���'�NN���z<'�I�����<��mw8:N�[��K����p�T���N���L�&q�_�={��������}&��E.�9)N��2�����M�Dx�����a�!�;�������7���o.�������c�=s��L�N.��[Vh�|h0�H$f�1r[X'1m��ybS�\�f|�	������������`���u���=t�/�Y�&G��>�9��?EO��o�_�=nd���[����t��j?�->6,�&6�vP����@4�N%>j��{��������D&�I�vHV	�+������(��w�ct� ���_�x��L�T�m`.��Z�'lX�2�	�R�>��`��?A^N44O������]�����"O���2��[98bk�o��6���4�o���~=�WV~NV����__��}���}�������uu�_�n���������!0��V�>��J�P�N[�{�M"��"b���!O9P����(�3YuO�]� uM�#X���,�"`�.����{z2GKT�G-/�'{�O�#;��
9 G��M�%�'�ay����u���Wp�A��C�Hzi�,�i����E�e�yA"���\��_&���k�����vEnO��t�P5Vn��
������~��[Y�������X��E�%!���q�[���pR���j�/�H�z�i�=�uXd>���b]7}N0�x{&��<H��t�����nq2D���U��g����t�� ��>x�:�v/�������5�B���7����@yc;%���U��DN���x����|��?��C������S|{�<U�����q����� �H���[��[#E���uD��%X|!�<��)�,�F�eN&���� cO+����D���2'&F��|3a.|5�������;�-���������������\r�Mhq��)(V1,�U����33Y^��-���td���_\�/��3��HB��,��-�`�Z�Y>�6������)��
_}����E�rv���8����C)M��PI;����f}$�K<X����4L��=,�52%�Y�/K_[)`y��p�����r{0<2�%���Q\�=04~ge�L��_��Q4��*P��v[��ZY���|������n�&���S�aHq����?����+a)��_��{U���J`�[�w!HD������E��e���^��)[%O�����pn��{�^Ej?��CE��������s����_�
�5e�'�`���l��jn6�
=����<
�l�t0qVr������_����2��H�&�+�H�4�
�%��m�()��Ff7�i���U2��9�8}.��k�?{lNW2�3t����IZ^U������K�a��:i�~Rh��#h��.K|��������~m���k�orb����:7 3��{7&'��09yc�uH�����{���4o�%3���f2w&�����2����d��%B��	d3���6og���Hb'!����Zhmm�����M7���y�NU������9���y����U��u;U\��/���0c4�eS!li���o-���/�&[���$8���J��n���Kvpm���sGU��S��GD����b�&�EF�(���3������B�
���ZT�~\��i�3��:�eF�+|k*PF�*2:��"�AQ��Rn%���N3��c���f��m`�UL
��art����P���R.�V�{��g.�0�T��IF�Eb���eY��#k�����E	�?Q�0S��y��,��8��\��_FF�S�S�b�F�.���X/'Ng�E���mUV�SsV,���.5	b�p@�L�L�EK�tQ�Ch�_Z%�E��`�{�Z��S(!�	���Q�.��������f#�aL�=9�^�Z�-j�?U���*�7��I{��c���&d	�D� 8r���������f�gK��Jy(��"R�f�"�u}V����uYD5Ad�[={%� �2,��������JY����n��t(��#-��
�Rb��H����a3�v�ff
^9���A��An��m<��b�>���/8/cjr,�&���)����E��5R�.�?���;���q�J���
����UV^�e6"5��m
������P�mQ����b��U�T�nn���PnO-�k�k��a��e���@oJ��(��9\?}�����S�?��<����(���a�u�h��D�U��]��T���b��[)���t����WZ�����Y�5v�
D�j����W��-�i��.�j���&�Q4�JZ��G�K%�R�5�2i���D���L5����F�V_d(���{��/�_���,\B����JZ��H�Q�Vq��63�R������S�~��F�,�A�b��l���X�3K��%�0��]���)�bG��O���R�9X�X�v��*�z�W�g��,��c]��[^�PY���p���Q�T�T�����X��|�T��(z�Ptg�k�+k��f������ff�&�|��jm2�DI05�,�Vj��%���������
��#���M*�;L��C\���eF�VZTU�{��1`�&9z�%��g��i����������"7cxaH�F���F,��S@����[��+~.j�#.c�[{�2��
R`-w����E:3Z6O��X����"o���+cjt�2vQnUo��ZY�K��f�S�.�Y@�a��CY�D�|:�?���}�#r���Z��m*D�n������K�E���qC �OY3�]�7�H�\c�(�%s|

�$�$b��!�\O�����RVD����P{XbI��dy�v1�#K�������Z���d��:�?%Z�����lo�|�E�r�
�c���W�PS_�'u��k��_��
[���_�i���(�k�9t.�
����srl����TbL%o�F:yw��wv�5#�C�"�=m�|��by�P��f����f��oM����3k�j!V z#��E/���o��p������pV�Hl|J���#u����U�20�e@�����j�N�<y���Aqp�S����c���=�M�l���q��M��X�__7�u���w�V�_�nW+qU�_�v����Gd!����{gdr6=}o���/�L��8G�@��%�c0	yd��Y��:4����1�xe���i4�`�%�X��
�p�X��Mr�}��VY�o+�\��3�������vV�<�&m�tql����)��b�DO:��8hD�6���]YZ������&�%���-��Y3d�<�2���?w���/�}�������Y�&����O������s�a7N����
�,Ap����|=��-,�Hs����b��__�-�>���h���0;t�G��c\�7�=�D�m6]������V8l�ne���xt�9O]l���7�Om��K�0�&�����G��G���MGp�cW@%!����T�W�n��W!?��U�$�9���C������~=��8��3�N�_�MD�2�W������`Eze�m�{?�	�[Nv3����u��F�p�	��w���)��
����a�|�O���m/2H�����S�S��}5����b�����E�]���)o�����3;�������O�y�	�P��b4�P���X����C�
���c�����.��$Y��$fU����i��j��`�EI7��|J�����G�FKe��OrX1���^�����S���#�vYn
������m`����MX��9����'=�����F�������N����l��[<�e����[�k�l/�_OL�G�b_�<����c)�����u��������+iY��h��)�u�-��XR�#���{�'sV8����|_�ff������	{ �a�����{�n��m�Wo{Tv��}���qPj{Y3C<]8��[r�S����O���p3��5Ig�T�gt�|���x���o�C�%G
���rF�s:����$o��|�w)� i"�.,���<����������F.�������{\�g�[w���-:�������f�.�>����n�K�������|�n�u������������<b������V���~���}��^b��j���q)1���<�{��0S0Z��#�33��>�7c��;���<�<��a����on���e[����-��QC�����n�\V���==<����c�����n@<3�����EK��5Ui3f"J�����`��[����u��`�[��-�	����<����������)6w�-\���#Kk�b���7pl����cl{F�K��m/z��_v8Pp��O�vm|v������)��	����r'����F/���k���c�6���y�3e����w�n 5����5���o�� �/����h��p�����>?���5=�� ��Y���Ij�j�8e��y�W�d���~?��ym��Qs1>�]]�>_��6��;��]�������NSz�������Fh�vk'���l��p����(T3���e>�T��ED�f�h�_�J(���,	I�u8R��
A�Un���L/����U��t��
H���3��O���0�J�i���������-6,��	���/�����!�i}+`t�Y�J���������)3S�2p�@��` ��S�N�N�����|��P�i�R5���6�+�0Z��5?`�?�����<Z;��CR���R��W�
~���7E���P��ml�C�^�m6�m���l������('MZ/��P�������$v�����t�(bpv9\��������<��4��Khl1��MKy������-23#�p[�yo�����UV�����uwY8�����?�a��v������U������5�\��hm��o������|��b�?G��kWMc����� ��KcfAJ
]�c�+�O�bX&3�	�8U�,:7�������u������\�F�N��j���}76�+�P�+����3c����_!���
'�=?�Na{k�r`z��y%�+��:��H
��/���=V�����E����YN�T�\H]��O����i+{Y��Vx�g�����TNR�s�m�-����:=����+�����vo�V9�M��"�~8SxS��X<�
�b����=]�y���*����_�����5��*��G ���a<����_��I������������:���8��D�	��1�����gc��tz2���Cx���l��~8���
���p��78���W�v��#O��������/�0�v�g��A=�s��t!JEp�%?o}g#d^]��:������c0�2Wx��E�����,Q��:r���:V�)#Ql���`�Q�K��t��JOp�eo�f{��/���'o�P�#O�����G[��M@��Ax�2���"]��Ud2?���h�:��her�"�n=�[��I��&��C=h�Z;|�Ow+7UVC{�H{Vt���M�U��t4'�@�V�t��Y��i��Yu��zM�(��2�+x���M0\���]7�d�%����3�9��l��%]��jRT��x<�F�2��8Q~J,�F4��3T]W�?����"�$��A�Z���&��������(o�e<�#&���;�c��k*��������3���Q�r���G5�59\�"��W;���ZxS�[�i=;�.��;�z��p����%&�3�G�U�\��}s���������'Q�<��'����'�����Co}�D�K���<3X���2�����g����R�zz��ng]]HvT�t���F�.��4Q�Gv�x�Y�[�$�'�/@y 4�]0 �����M��$l���q��$�u3��92	�-�pd��~��B��)xs<t���w"F�s�	�_o]��P�a��W����Ax1��.Oy���r�b)ds���?����86-����$��7��T�����q]�����5	�"�����^�
b��C?��,&��q�O�����!�%��j��9 s@�'g1!P���'�4�w�[��_��Vy�sw�
;7`�V��}=3|����^[(��X�����������a(�zsV�#�o��6��`~�����_����YeNk����a)-�"��l��z&��=��$n�E(�yj�j5I���F
e��i(��F���*�5�-,��f���2��d;��
4�m0][��� ���i�0��?F~Z@a�B��l���?,�[�a�x�`;t�G��~�1���,-���R��8 �b��vI���{�`�.	VBJ�]TkN��������� �."��S6�z�7�>��d��Hd2�mMJ��85��
��r����$=�J�.���9����u+��V�N�w�N��O���w`�C_��W�M�~��_XZ�ff��Tl���
Py��^�t�&t��Oe"i�:���=��sZ����J�����GM�?���?'��g��N�������^|o�X��2�����'^U_?C�u��y �f�=��`<�^c{8Q�Ia]i�#��	��^�}e����]�6�t�<i�����IY���t�b�_Rv>t;�47��H��	���R'��1lN����c�0�k����H��bD�h)������m�j�0�������`D�A���$HW3r:\%{���ty��1�n��r�gn]Hi��|g���H�T�F0����0�q���L�@<�j�,��u�8���5�2�������p���`��F'�������y��BT6�����i������7�-2����#�[(O�?(�&�*�(,���w����;�b���W~����_�~�"i�{{���Y��is���i`�k�n�r�Mr��Tj��
�'R�g��olp��_T�a���4����)���j��%F&kC~C��@��YA�:�
���_�7��z�2T����4��L
��L�+���8?:�M�����2ChXU��v�w>�sx�����`��7�X���c�N�q�y���N�A���0,w3<�S������o"Z��)���������v;|V���.X5�!�L�q�c��L[,����#�u�������:Q��|�����:>���.\���+
?T�!y����f��X���I�����8�Pa.�[��D�`���E��FO�U�@1���3���w%Ky���-���H��B.�8�+a�2�{'Jq^j�����f�%^[�-6<l���^B����n�x<!�AK��Pz�-�E��Dr5W�:t�<��ty��Pr��!k"P����|>�2W$�^��
��0���dOs���.e�-�e+/�����zRF"�V�
����:��h�#P4�n.b�/TC^�\��:��N��Q��S@��e�V���{O��*�l��t�4��H�P�&yp:'w%�2v�>���G�*������&�1���%�r������62��y4 'S�_m�4@�;�0���,��**���(Z��2�!PFP8M��l��;w�����k����������,O����s����zz���}7N/Su��\����?�[�qx�B g�2~���d?�>]��x������d|8��v�e�+����Gb��Z!�)Z;EH��U8^n�����/=	��n5a1��IU���B���B��A�O��M=f���6���l�'B`M"PD�����O&��XJ�>@�
9������8}M���hB� \(2ZWS���6^f�ngsd=�S58�n:!�lp�����G�r}���0��$� $C�!��(bZw�,�u7o�#B� �D�k"�)��!@k�����e*Ss����&�0M�����v,"6�	���������hC���cd;�4�����x������6�����j�3��`����z������G�9~����b�Z,_�7����!C�h�!������d/��;��_���'�f���G�����b_/�\+��W�n�%l�?��n7>Z���@��2yc�~�����a!]W��p��8O�z�w��y`��*/�}&0��V���<�l[���Ct[D�Qf��*Fo�1_�xg:���^�[��iP�.Wew�#����N�=��b�9�OE_��
�����>�)v�S��}���v�/���h������j����6��� Z�+�\UpZ��	����������C�b8}�����f;��{v�+�W�sf�#��Ps���/m�}���~�������.��#Gv\���J����5mD��Mp��
������\"1�F�9��	�7��������"�=w�O���_���NU��M�|L���&�y�t[M����X����p��
��N&���*���2��H��:����zC��,70���!]/�q��D�p{x�G���=��C�x���q�x�2G�>���{�M����%9���r��A���;n�r��K��B�h��������:>��^`��a�����������u�r���s�.z���c�����<W�������7�^���		��L37`�������H�?��S�D�$>����1��
����[�
0"���1�H��WH�|�"�r^=���L6������c-�}h��9��������;�rH��<����Z��A��a���'���J^l�
�=�Z��F���-������}w��F$R��������w*�e#��R��_���q]���.����a���]�������������N^E��CL���]�7)K�?�����^e�|�h�c��
�
�����l�������w6�O��}W��nB"C1�~������������X�ud8�>���31���t����\�YhZ(���/��k��O�Fp:C=����s�
����+� ����Q2r��2l3U���� _=s!T8$({�m���!������='xS�����73��@W�u����0^!Fu2���B�K���]����>m�8�����n�r���!�R�$������Lr?|@5���{�&B|hw�<�=�U�|���jS��zN�CW��_N��BUA{ �|�7(��5�N��mZ��+r9�
^4^N���@4�����\
�>�z����E�M�?�S��c�MEG�tyz����rN9_=	P��V�5i�5����G���z�,h�X\������`E%
�rD(3�����_g���=_dN�+h�� "���|���qp����R�f�O� @�^,9Ev���w����=b��xE=����HV�<����XIZY|���=�5���3l��6`���0v	_�uu���0C/.U
���!�hD{�i�)�����^�Qw�qlZ��j����X[�H�}}�����yZ�`�<����T��7���m�qy~�p+����\�����A�k�_g����/gd���h��69@�3_x��|�{z��Nt�V����W��].��j/�D���[d��T��������=����-.$�q�[�0���OVc�
��x����zA/:�6FPlaN�_8��X���.S[�x��A��\v�1.�x�i��,4��9�&���|�\4{�����dE`"
���FB�z��C�������2&o���F+`���yP-S�:{@��~�x'n���~}/|�xU,0�Q9�E�����$E�Tp0-q�[:\qc���C���d�#@���s��� � �O��G���������>ra2����u��'�g�C
|r1�(\�*��:z�P2���o��B���jN�4��[���_�y��D'���<-������wC��b��Op7����{�ko��
����i�d&�Y;��K�@U��l<6j�{�]n�k������d�7Z���n����9hlJ�qhbx��o�<�~�.L����w��w:�E���|q�Ko�;����������m��3_����q�r��A����k�s���Pg?��~��W�������������G\j<`���;z~����[7�����n�?9+U
^5�}0Q������������3�%�9�W�O�26���p�7�����Y,0�
c��h��%gP{c��0�
���=�(�1�
>}��U��L���NM3���s�Wh�3K�����n��������2��oT'��<(�m�MZ�m(����(sn�4�j����x�jX7�@������<qp&
}�8��[N�Nt��+�0�������rh��E��zf��8����'.��IJ�wt)�6��o�u9�����D��a�
����
C�����_���!Q	��4|����7D�Z�
>Hk���Y��Ze����<qp�K��3^:�RpX�r(�����e��" ���K=g�WZ�!t8���0�dr� Z/0��� 
��pG�;M�6�P�W�:�U�2��!@������B� �eF�h}�&��!@���C�h��aM1�!@����2L�	B� �������b"B� ��5N�����U;�W��#� �����%"���KX��#3qU_j.��]M3���\__J��iX���e}���(?�����KG{S�Q�(�M
���tt��H��%�2^P�1��F]��z��#���W<����|���]��x��y�wj���u�MC
��yV�.�4b��&��u���M
k�bxXm.���Y�-�G<���0���@M�?��W����s1�Cf>��P�Y�X���G��ZF`
���(��6��	���0�j#M���������b�M��$���`{�8�A��c����'-�K������&�\%g=���Q���� ���G�3����n�#i���6�fH��d��=��j��dO�\�`�~�?��^)#zd]�dy0������7�|%e!=���I��R���������j��C`y@H���������R����ho@��n�+>����D&y�G�r\G�:4K��E $����O�i��r)���w��YZ�l�*��#{D�b B_c�����������77��
V�m_CB���Tj���q���K�������;����?�����������������{�z�t�<Q��2��7��g�2�����R�v������M�����W�����������z��"���{5o<�]���v����R�-�^�(�=[����+9
����uc1�%���l3��q}X���x��]����	V��E
�Tj�T�<��r��L&I#9tb�oS�2�x/�.�M��-��-W����a�����KyXs���MZO�����j�&h�b��������+�����m3�n���e�dd�a<l��u�3����NNLq�^��"�����3~�t�+����K��7M���|��n�;bY3��w6r*�~��G�|9��p��j��y�0��2�xU�F�� ��.�+��ysYv���y����M8�o��w��U��s�G�#�A.���`���Ynr�P����ow5bs����-��r�	��lc�<vz�>����HY��,@�H[`����>&ot7��1�r���h�����8U�oc�/�Cv0���'���*�|�l�2���Q4x`'�s]�����?�Z9�h���\���U^W~������L����{���4�\���f�}�X��
���c�����.�����&�h�U�I�p<�{�����{�LRG�:�z����_������.y�5������42������D&��_��_f���>�����6������v�[R�{��o��D��fe�<\���E|��` �=U~�c����c��������[<i}F����_���q����L�����.]�a(�����	�����ml�	��u�Ms	Z/�����J�[gA,��(��+"�%��B���7��XS33��n+�[8�u���;��]5�0e�lC�}>�:*�
�Q��:�.��'���������� �#�4�v��������
��M��g�������$������v���+���!D`M�:V/��/����{1��xJf�����\���:����Ax���u�������D��� ����/`h�n�`��f+����?M7�'����C�7������������yR��2K>���1�!XH]�������*���O9�����:�a�^�nBs��^��v�};�fK�o*����?��T{1����c1��LW��.��3M%9�������H��c[y�/�jQ���������Fp:�$>6	�*�nS�|������� ���<���idB�A{3���+_=|�.�oNR�����a�	���}2�f�����������4�C6|t���K�k���6*�N�����j �_������_�u&��n��]`Z��u�b3fo��En��7�����O �-���a�����x�1�kv�6�g�����C�_��V��:��k%��U�<���mr�u^]K��[��w���>���TY
��#��O�`���>�x�@������w��L,/�����6��3t��w��|��SG�:g�0����R��l�\|
��]x�P�h~ ��g�B��ht�4���'�k����l_��3��	)��j���7u]�u�Gg����NW|�.������"�fi]����|��cI��vs6T���$�H�y�������A\/�{��:���QX�4���O�,u��7��}��(����~����e���9��4�y)\>�h-@�	�]|�h���E�%{�=�5���3�����-����$[RvY���r4'p��Vsy��cB�l�B�[�7�C���`I�����T�����Yp�o���]V7$�s:{�@c[[��.����r���`	��+�<$�`��W���R9�5?�
�[;����*��A����S^W~���f�#]v����s)�v�������u��h�������B��{nz��
�0X�����A;�3�H���7,���0!�Ax��-�F&}�M�����A%������oe�r+���t�WE���K���\}������T�z&�H�h4e�:_I����yj�bL���Yx�b�v�����3
Fp�>:�y�����n�/�8��dW#�l�@����_�.0�emx���j��;�r)}� �[��+#4������B�MH��q9+������g7b�a��2����O���m?�C#!_=���r{�,��<����
�k>=+	��
i������Y����:;]�a�������aC`M�zf��0��
�?��fz��]���2{�=��t�>ln=}�}��9��38�]�����x�"6i}�/�}����1��1���i��3������Z��}��a������54*��Qa{�9~��1�����/;/�4?�.�~� |�?���i��k��=�6�@��\{��S�s���kl��#
Wb���4��BQ���B?��dW�
9.OZ7�)���D�r X/��%e�C���HscvkI�K�����/]���O�$_OE��p���f��>������V�B�Yn�Q�%s������t��������*>��J[�nG#�S��]cN4����YS���o�2Pvp�|//�h�������e�;S������:��`�+>�BgypZN>+k��3���#��+��Y�(\v{��E:q�n��'���� ,���������X�?@3��G�����������4}�����v�R��k��w�t�/���k|���n37�����e���7���o��U�=gT��Y��f����W��F�G\�3`���^�e{c���nr=������9����:�n�e��������x�z&3�_��^f�O��F@����'z�v�
6�u��3bI����#[q�\Y��8?�f3C���-����q-��������d�:Q���aK��!���|N!�6�s�\z]i@�!*=�-�V��+������qFRR{�"��t�������X�~���N�u7|8J������Z@��h=m��/�����E�.�������2�6���go�oW����r?F��^Jxt�6 �����2�������D�H�=7Du�p�)�w��������@�����y)�7`;���=��8�n
��+��L�����c��	e����o��9���L��(���*�� j�:a�������y�0��s����T����bz�+ED����9���N�j6�]]�	�����<�sv���9�����V8R\�Gz�� l�o��V�T�[��m��[��2��)_��
����P9i��%�FO�j:L��=��E�xdk<H������+�B�2���%}������������#sL�U ���u���4���k\�J��X���G����'/������0��k�f��B�w�[^-����kH
]�3���^.�%���"�N��������k�1�fku�z�p=L�Us�E�2����7���b7L������k�U\�.+����p���5��B�O���>�r� ���E_a�BII�cspTm�+{����<Y��VGd��CT61G���%)�u���Ro�
�'w����p��F��iQ<$�k�Q��/��{�Ti����k��GR�3R%R9�5�M�������Sf���#����|�z��E\�m�l�</jp�[R�����Y�W�tlJ���-�be)�K�������n��v+.�����
n�r"�,�&M���5��;��W�;��m>���p���G:����������G�V�'!@p���|���#_4�X��	"
L���X2!&`*=?
�������J4gv�&�H�u����/��l������2���Fz���o��jPC�[}��J��X���/��G}����zK����=r5^z�Ea�"�?��!9�;�l$H4����S�hdu,Z2>���u����e����|�i]���(}��?��R�t�G )�6��OB���w��J�������U�9_A1i�
��e��	Qr�'�e5?1i8��QRs��($���_���u�Y�C��:ZW��-3:1��Y�j���SB���ef��9�5g�o���TV����L*i��AP�e$��xt��/%QSj4b��W��h����sr����S48�7�3�3�V?�u�����������<�����]���H�����`OR�x��^�.�(W�3��s����G�����w������5;��
�����7�
m�3��4�=���u:��jL
k�3�����T26<��m#a���v�#_W�|�g�\9Vw�.�4�M�����N��MJ����l���!�KF'�S��O�17��	�����II�P�����*������\�P�"��	T,������@�������f+�JU�������!#l��z���=�SL���'8��ywM0��^���l���M��������_Jf��+>	���a�����/�6��u{�
|X�5�����d��� ��?����u����U��<��I&g6���
g�������N���3����I�X��o�����8�q��f�,rxr�f��m���H���v�k�+��7�������M_���~��I1#�ZY^��z��G�?OV�qW���i�'���m3u��!�P���	h�F��Q�d2�{�;?���q�G�"^�O��|��
"l�3��q�l���N����n�g�����n5L��o���J1��t�,�k�O��$MV��C�G�������maUaK,2v�*�����*��%��h]~�K�d�e%����j�N8����T=�nE�Lwp���v��>�������fp����������O$�r#�T2�J��0~)����t�o�O��=���
���_��Y�Z�I��������V�d��������m6U}�#�r�ls��i��D��b�>���J�^7��bS�
��{�?7�db��x�&�\���n��s7������
������[]p�]"z	v�n���Q�������8�-������l�{�g7����w?��n���>�w����e����=����8�z�$?�F�Y�	Q8%��a�y���cK�z���f��Z�S��=�IR&G�u�Q���;k�����"��:S�(���h�;��v�Rd:�A!�	���G�|���S;=�b��q1j9�eyqF�����xj�o�a7�:}������_��5
~����:	b��}�{<�
/�C���u~�����yiB=�U�9�O�����	f�|�?Zi}���u5�qZ�i�j:V������C��U���vl�4�?L���U��8�G�z�����n�\V���=�%��=��w(�0jt��M�i����M8�o��w�cG�&��Ui3���=��i2Z]������P�������ow5b3����-"O�Q"N3E��������<h��+�������H�����5�N}���.�8��G���&v����
p�U����x���j�yf
zF���ot��a��s�6�Af��fg���X��|+$��2?���D�=P�/��W&2\p���#<�Q[W����D�V��e��Q�2�/iC�e�'G(^�>Z�%OC�_�a�&[�@���<f5i}422���S�������x����hzt4m��n*������hM���� Y�[Wi����d���[�Y~3��]�$��y�d��������
��3����5s`�L��<?�g`��z"�n�/����$�@���G���?x�
B������� %p���R�5��Y-��!��l�d(j��1y>�L�+��:����?����"h=�:J�Z.vt�6��7�K����cF����_����I��g2�����tew{�P�m����e�o���hc�\�bh�]<E��X�����Y�����T�/�p���
��3����6��s�4
>������6}�o;�+�gM�'�A�b��o�@4�������#~|�ja��dL:`�`�d�
�1�/��:$/=���1�XW����D{�Q>n�a���$���.�s�y�=v�h�5��&i_s8�Z��5��{��o�!�.B�[������bc���^������j�����5�{~'����rN��+0����ZW����������f<�+^)�M�8����o��#�� ����/��������a9!�#f�t�b���W�<(|S ���R^Y��O�����ved�v�B�b.�������V|�)I=�C�|�O���Lu�:=��F�+���������{Rp�G���#p�EF����`��d�6�qhr(�������0Ry��8����^7�4��w�����u�]��W������H~�_%>pF9694������l��K�;���q��z��iz�A�:1��8��b�������������\��!/�*u�K� �fi}k���{�W��I����'S���o������W�zBs������� b7Zy"�V�=�d���N|���]i�	�B����o����y����������]l��-1a$�[�m�����������a�����x��^���1<�����H��?`	�9�����P�lB�\�����K��t��@V��@V�p�W���=Q���@Z�}�+X����	G��ppj�8�UOW!-g�rO�^�yF���������|�+�{����J�w��C�J��iO?w`���F��.�Z�����E���/�������/e;��~�������1��@Y���K
��|��A�����ky�0�� ���'��YZ_v@��c�a1e�J-yn���w�p�~�;��Co�A�3l�g~�N��V���k'��
��8/�7����p���{��:���QXY6���O�sn��R���Q��>bG��1lr|��*�8����S�|��ZH2'�v�����uwuaIF�{d7����
��HG���:Ul�\?��3���s��K�.��4����983]�)$�%s�<�%|69��i���mm-��,?��L��a���}&�7�[h������HbN?T���K��#�o��
���!a�����J\<�!kO"t�7c������fky~�hq�a����H�O�X�����yR;��Ce=�\��=V���%�t
Vo��Xi}����}
8t��@*�!HZ�
��g>�=�����9>��L�����(�?�2��.C&����k1o� ��I�x���'v�<�[��Cf�s��[Y��J�|)]�U��K���\}����y*h=�O$~�?�2i��u�a@�������~s����U�e���?�9�`7��2�W:k<�|2z
������eu���#���������{�6����B�ySR�:M�����(��M@����@����j`�=Z���v�����y���,�;qDE�eCDN����n�t������!���p\�5��S�T��	�����t���^2�L(��r)�4�!�E`M�z;>_[���"W��]���bY���
��n.�{�P��z�C���
7}�}��9��3H���������LZjP�/h�yF�G��v�3����k��8�^-zf3����)����[��M�x�%���$���o�$
��a�?~��Z������f�������=�f�D���������g����W�L�I����@@|>�nk�����������<n3����Tf�^c{8Q8+�u���p8����b�����Ov������s���������p<��'�K�N L;Kkp$!�����%d:{��J���n�c���`�XI+����<�C7�L�Q�5�q���L�$�f����J�B8�q�u��N��~&G��1��bK�82N���	����A�d��"k�h���:$�=��OUnsj������\<k"�C��b��������Ay��<��������I���|���~QY�qq���.=��7	�<.����r�>��f�
�#�=�o�����:�����w�����5b�UE���&���Q��3>��������`*}�+���%o�~~n��K�wn��3�2\��[MS}l>,���9w����M�o0iY2�����kl��a�vB��,m9O���5�Y����@��#.�0WDo�������[7�GP�]-#rVh2�y����J������3fo=5t�}gK��a��@M����p�%�����m�4�j�|���faxF�@%gD���tvl��) ��-$��9�������0�i���AxX)�V��6�����Iu��	��
�E����1]qv�|,������V���<O��j�9tn���@��lt���P���2�|e5�|@>�����\����Z����p;rt����m�`��J�p~���1��d�?�r?F��^���HA*}'2�ye����n!T? F"�~����uz��r��0q�-�8���z����I<l��H%����~�y���^����K�a�'�����������n�,�C������7!Y��yusg���v�?��>�N��	B� �D`-�:�=�Db�6�5G����X!�lV�tG�!@��J�B� ��C�h}����	B� �#@�^`@I!@�!�r���3!@�!P`��(�#B� V�����b&B� 
��z�%u�!@���!@��r�S��!@�@� Z/0��� B�X9��W{�� B�(0��������E�!@�5�j(aJ��(��9\?}�����S�?���-�	B� B���LRE�!@�,D�+�?�N�!@���I�B� ��E�h}e���	B� �"@�^@0I!@�!����,�;!@�!P@��&�"B� V�����b'B� 
��z�$U�!@���"@����S��!@�@ Z/ ��� B�XY��W�� B�( D��T�!@+�����O��!@D�h��`�*B� B`e Z_Y�)vB� B���LRE�!@�,��St�!@�@�*W/����r=���������=5������Po�M�!@D�]jSX�'9���*������S�����	B� ��"@�^X<I!@�!���� �5!@�!PX���'i#B� V����&B� 
��za�$m�!@��
"@����S��!@�@a Z/,��� B�XA��W|�:t�!����k������|�sI#��!P(���$�Y&��Q��+���N�P���%B��uWX�s� P(z%Z_=yJ����!@��|���� @�^I	!@����HFo2K��{�glhtb��H�g���O��K���Q����{�/�����B�[����g#��-�#m������4=��o��c�������}x�#��#@�^`@I]�(��_��PB4n|�����;������<5�Y���B���:o��XS����	=���*�}�7�\X���O�<�����������;:�O���CJ
�@����O=sH�����a����3x���>S����w!�W�8=t����S��`La�XK���#���	�x�S����J*��P7��q���8�S8���%iZ�L�v��@8��OO8y�t�M��t4���������-��@��������w�������G��WsW�J8
XPj��������dw�c��?w�������/�x��������l�������o�z���y�o�Z���}�;6q��77�g��'~����g�#����?��O��bz��d�	���B�#����kVH��A��]��[�P�c� ��+�9ss"�����n��{�v���8����n6��OF�yo���B�=�u�����y�F2�nj�����W�����D�|m9�l ��?
]��}I���?��2��~�?�}�itO.$;K����v����#H���1v����a���?l\��C]����U�������'�Q�#�2cs�z8���������|�U�Ti
��������W���rBO����X�Sr��#t���~p�B�� �z:��.|�����Ow';o'�����������$9�Z_��YRv�}����p�f�B��_}�l�L�<��O_�@�u��W��s����O�����'j~����Km���A���1��
/����i.����1v9�GE>_MSWB4�Br�(���u	9V�TL��t�0�\bo�jz�������;��>3����BO���P�?yo������t�t��i�����z�\����#���.K�ZB�s�
�����t���^9~�'g��?�-�u���r���9���B���R3hD>�~�$^�[���t{�p��:`(�����9*�wU!%Y�C�.� ��A��K@����z��\����T��������:��s��k������w�6�.���6F���m��\W�%�]��Q}�j/�=������=r�\/'�n���cv�C�14���|�'_����?@Z�{�?��*N�����Q��������a>���ui���L.)k��i�f��X1�t����%�X=]>�}�rt��lb�K1�-�4G���!��i��;��W����U��w�:Ef��y.
�20S07���1��;8��z�\���&��jSf��R����Z=c�{��� �������x�K@�>_-�Z����\\�z&3�W���9f�8n!������u����',�'��U_��`��E�B��J���%�X=H������h��H��y~����i��&/����m�����?�����'�.���M�_�x@�������d.{?��������j�&��h���3�����j��4�4�C����F����g���u��,��
M�����aR}��[d�?�h�|���{��og�Ag�8������S}���_�e����3yb���|t�����n���P{J�LA[��`V{YZ��A9��K(��z��*����g���~����?_�.��&�>�@���u�k�G'���_���R�����;����/������������T��00��[�-������ ����.|�!���oF��a	�����d�)��%p��G��>dc������_���u����������ok��yo�>�������m+��J��%�X=�r�<��{�����������>KP�W���d�Zb$��hr8�RF���[��X~��S�H$���3F������z��Dv�u���J��C=�9�;�z)��U
+�E)D�i�><�*��'�So��)%�B������]?}����U�"*�f5�[r�"�+W���/
5	��C����s�t�R9���V.�u����!@�!PH�����	�KzP��H�����	B� ��"@�^X<I!@�!���� �5!@�!PX���'i#B� V���ne����V��h�� B�(,@�R!�e.��s��8p�K$�A�!@�NZr�����W$�(RB� B@��+����D�:T�� B�X<���:� j�B� B�����8�M�EB� B�XV���^RN�!@<H��$�!@�!���/+��� B�x��?H�).B� B`Y Z_VxI9!@�!�  Z�hS\�!@���"@�����rB� B�A"@�� ���B� �eE`�h]w��_5���!@�!p��r�K�{���[����B� B�P ZW� 7!@�!P��u����!@�������	B� ��F�h�����'B� T��U4�M�!@5D�E�}d<!@�!�"@���AnB� B�� Z/��#�	B� �u
r�!@E��zQgO�!@���h�� B�(j���:��xB� B@E�h]E���!@�@Q#@�^��G��!@*D�*�&B� �����>2� B�P ZW� 7!@�!P�� ����	��!@�@��S�����"dT
endstream
endobj
21 0 obj
75087
endobj
26 0 obj
<< /Length 27 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>
stream
x�WTS��[�@ �W)�#��t�DJ �6bH ���.�����eEE]l+k�����e-tQP���
W��5������r�p�������,�R�H�2v2+s|f�rh�<��W$e%&�A )�����W�BP����^��3_P��\��(��
@�@�����h��t��r)��Cl�����.�k��d`�H2���qKlnA�����H������jb���++����E�)�����!���@�@�x�H�C|_*�q��"?����YT�!/*�	�
qG�05b(C%S� ���_K���8�W��3�eB���=��d����g���H��!~.�sRU+*N!��6|I�0���3y��D�!�M f��U*O$d�9�["�'t�A\!(R���3raj4�{@���R���rD�(�q�B�,��C�
R���`L��2E2�;�����E�!���H��"�J;A:�P���< ����+Q.��8�78��K�r� �
�(�����2@"\-9�W����T|8g�\��"�S���{�e�tr��TR�W�0W!��W���N�R��Z%������&8
G��LH�d���>FI��UGh�b;ai�g����+��Uu��8���!U�(��Z�J����j\f�p�J��$q&�)-V��\6E���t`�oU���U�z�ouI�vw �b}[�aS�����9����|���N�i�U��2���}e=���}h
�
���`��o�NR/D�Iw�s���/yPe��S�fL�IX���+W �-�2W��( ��H�(w��%����L�|U�����fj6()D�����{�����h����Q�u�d��T:��lH ��?���W������������|�����y��;����<�Vb�#X3�����`'�f%��������>�8}2�S�>	D����~f>��O9!�!�?�1o���S����,R����@U�����t
���Cg��
|��a��m�qt�Mw�G�G|�����!��"��M����eB+?U������a��#���D�2��iDh�4�4�S/T��5��th����eU�!�0��`B&(s�^s�:���s`GK����a���rc�C�8U����p5�����G$;�#�N�ue�!G���Q�A�$��Q��.�`�/^(-��r�r�L������bz��q�!xx���� ��<��XE��	P���������C��@��E�oxH�`2�T�!��)�@���j�l�@=h��!p��3��:�m�z�0^�!A(
1@�k�qE�$�D��d$�Fr	�@���H�Y�lA��}H3r9�\Fn!�H�y�b�6j�Z���(�e��h*:	�E����t	��Ew���	���v�O�A`Z�1f��c�X8��ea9���Ub�X-��qv�����87��;�D4����i�l|1���7����x7>� �H$WR �CO�%M'U��Iu��������^��dc�?��Lry&y1y#y�8�2�y�B��Q\)��
�"�TP�QvS�Q�Pz(o4�4�5�4�4�4$��;5�j\�x�1����������,�\��M�E��f��U��D
��R����k�
���;�ZZZ�ZZIZ"��Zk��j����z������=Q[��D{��q�[�/h4�#-��E�����i'i�ho�t:��������W�Ou4utX:�uJu�u�\�����u�
�������m���;�g�����W��Xo��9�^}���~�>_��V���0;�p��|�m�
z��N��<�*�
;�������f�1�2���9�b�������3�4a�L�4�\1ym:�4�T`Zi�������,�,�l��!������y��t�M����G��Q9b��_-P�d��[-�--�,��R�u�'-��������VY���6��Y��>f��a�`1����S��h����!['�4�r�=�w��v�v9v��Z������������A���A���������c��B�C��N�N�R�]Nw�i�����k���$���?r��K.���������+���*r��z����&q�u�����r/v����a��Q�q���(�QY���j�����/�mO}��r���^.^<��k�i��F��4������{��M�q>}Z}������6�����e�m���o������l)`l����o}����r���;�i�`��1�m���[��B!�!��t���rCkC���������F��X�YO�2����:<0|V��,�Q����>�^�mTn����{&�x4):6zy�
�%���������9���>�~�K�,�e:.f��qw��%��@'ae��D��i�?'���j�&{&�%���LI���*ul����i�i���t�������3"2Vdt�5~��������,JVzV]����	�'�L��X1��$�I3&��l>Y<���)�)�I��;��s����������ykxO�a�U�>A�`��QNp���������}�Pa��_.Z/z���9�u~B�����������f��$_r���pF�e���B�5-p��i�XY]R4��In�)lW8+�Qt�����>�����%.%�J�F��0����ZfS6��{k�������[���Y0�g.{��y�y��~)g��(9?c~��s<�����
z�����������}��h��u�>T�+�W1����/�->���wk���$gI�R������I�]_�|�
��+���qcU������>W�]�y
u�bM����M���-[�~�p}g���=,6,��z#��Ma�6[n����{��7���4�:�Vo%o-��p[������3����s�d{��������wZ�\������{��K?F������e�����`�b��}�������z��@�O?m8hp��i,i8$<����t�9���%����?o?ls������G�G�x����q����'�Ni�}r��k��Nu��=}�L���m��cg��>x�����C|/4�����������.6]
��ry���WB���q��5��������]�yc������������Z������z^yW�n�=�{����=]�]G�#�����������oE���Y���������^���}Q}�Ox��D�d���w��7<u~��a���y&{����f/���~�:�8x�U�����o���x����]��GC��S���s��-b?��X������N
endstream
endobj
27 0 obj
3317
endobj
14 0 obj
[ /ICCBased 26 0 R ]
endobj
28 0 obj
<< /Length 29 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>
stream
x��wTS����7��" %�z	 �;HQ�I�P��&vDF)VdT�G�"cE��b�	�P��QDE���k	��5�����Y������g�}��P���tX�4�X���\���X��ffG�D���=���H����.�d��,�P&s���"7C$
E�6<~&��S��2����)2�12�	��"���l���+����&��Y��4���P��%����\�%�g�|e�TI���(����L0�_��&�l�2E�����9�r��9h�x�g���Ib���i���f���S�b1+��M��xL����0��o�E%Ym�h�����Y��h����~S�=�z�U�&���A��Y�l��/��$Z����U�m@���O� ������l^���'���ls�k.+�7���o���9�����V;�?�#I3eE����KD����d�����9i���,������UQ��	��h��<�X�.d
���6'~�khu_}�9P�I�o=C#$n?z}�[1
���h���s�2z���\�n�LA"S���dr%�,���l��t�
4�.0,`
�3p� ��H�.Hi@�A>�
A1�v�jp��z�N�6p\W�
p�G@
��K0��i���A����B�ZyCAP8�C���@��&�*���CP=�#t�]���� 4�}���a
�����;G���Dx����J�>����,�_��@��FX�DB�X$!k�"��E�����H�q���a����Y��bVa�bJ0��c�VL�6f3����b���X'�?v	6��-�V`�`[����a�;���p~�\2n5��������
�&�x�*����s�b|!�
����'�	Zk�!� $l$T����4Q��Ot"�y�\b)���A�I&N�I�$R$)���TIj"]&=&�!��:dGrY@^O�$� _%�?P�(&OJEB�N9J�@y@yC�R
�n�X����ZO�D}J}/G�3���������k���{%O���w�_.�'_!J����Q�@�S���V�F���=�IE���b�b�b�b��5�Q%�����O�@���%�!B��y���M�:�e�0G7����������	e%e[�(�����R�0`�3R��������4������6�i^��)��*n*|�"�f����LUo����m�O�0j&jaj�j��.�����w���_4��������z��j���=����U�4�5�n������4��hZ�Z�Z��^0����Tf%��9�����-�>���=�c��Xg�N��]�.[7A�\�SwBOK/X/_�Q��>Q�����G�[��� �`�A�������a�a��c#����*�Z�;�8c�q��>�[&���I�I��MS���T`����k�h&4�5�����YY�F��9�<�|�y��+=�X���_,�,S-�,Y)YXm��������k]c}��j�c��������-�v��};�]���N����"�&�1=�x����tv(��}���������'{'��I���Y�)�
����-r�q��r�.d.�_xp��U���Z���M���v�m���=����+K�G�������^���W�W����b�j��>:>�>�>�v��}/�a��v���������O8�	�
�FV>2	u�����/�_$\�B�Cv�<	5]�s.,4�&�y�Ux~xw-bEDC��H����G��KwF�G�E�GME{E�EK�X,Y��F�Z� �={$vr����K����
��.3\����r�������_�Yq*������L��_�w���������+���]�e�������D��]�cI�II�OA��u�_��������)3����i�����B%a��+]3='�/�4�0C��i��U�@��L(sYf����L�H�$�%�Y�j��gGe��Q������n�����~5f5wug�v����5�k����\��Nw]�������m mH���F��e�n���Q�Q��`h����B�BQ��-�[l�ll��f��j��"^��b����O%����Y}W�����������w�vw�����X�bY^����]��������W��Va[q`i�d��2���J�jG�����������{���������m���>���Pk�Am�a����������g_D�H���G�G����u�;��7�7�6������q�o���C{��P3���8!9������<�y�}��'�����Z�Z�������6i{L{������-?��|�������gK�����9�w~�B������:Wt>�������������^��r�����U��g�9];}�}���������_�~i���m��p�������}��]�/���}�������.�{�^�=�}����^?�z8�h�c���'
O*��?�����f������`���g���C/����O����+F�F�G�G�����z�����������)�������~w��gb���k���?J���9���m�d���wi�������?�����c�����O�O���?w|	��x&mf������
endstream
endobj
29 0 obj
2612
endobj
25 0 obj
[ /ICCBased 28 0 R ]
endobj
30 0 obj
<< /Length 31 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>
stream
x��wTS����7��" %�z	 �;HQ�I�P��&vDF)VdT�G�"cE��b�	�P��QDE���k	��5�����Y������g�}��P���tX�4�X���\���X��ffG�D���=���H����.�d��,�P&s���"7C$
E�6<~&��S��2����)2�12�	��"���l���+����&��Y��4���P��%����\�%�g�|e�TI���(����L0�_��&�l�2E�����9�r��9h�x�g���Ib���i���f���S�b1+��M��xL����0��o�E%Ym�h�����Y��h����~S�=�z�U�&���A��Y�l��/��$Z����U�m@���O� ������l^���'���ls�k.+�7���o���9�����V;�?�#I3eE����KD����d�����9i���,������UQ��	��h��<�X�.d
���6'~�khu_}�9P�I�o=C#$n?z}�[1
���h���s�2z���\�n�LA"S���dr%�,���l��t�
4�.0,`
�3p� ��H�.Hi@�A>�
A1�v�jp��z�N�6p\W�
p�G@
��K0��i���A����B�ZyCAP8�C���@��&�*���CP=�#t�]���� 4�}���a
�����;G���Dx����J�>����,�_��@��FX�DB�X$!k�"��E�����H�q���a����Y��bVa�bJ0��c�VL�6f3����b���X'�?v	6��-�V`�`[����a�;���p~�\2n5��������
�&�x�*����s�b|!�
����'�	Zk�!� $l$T����4Q��Ot"�y�\b)���A�I&N�I�$R$)���TIj"]&=&�!��:dGrY@^O�$� _%�?P�(&OJEB�N9J�@y@yC�R
�n�X����ZO�D}J}/G�3���������k���{%O���w�_.�'_!J����Q�@�S���V�F���=�IE���b�b�b�b��5�Q%�����O�@���%�!B��y���M�:�e�0G7����������	e%e[�(�����R�0`�3R��������4������6�i^��)��*n*|�"�f����LUo����m�O�0j&jaj�j��.�����w���_4��������z��j���=����U�4�5�n������4��hZ�Z�Z��^0����Tf%��9�����-�>���=�c��Xg�N��]�.[7A�\�SwBOK/X/_�Q��>Q�����G�[��� �`�A�������a�a��c#����*�Z�;�8c�q��>�[&���I�I��MS���T`����k�h&4�5�����YY�F��9�<�|�y��+=�X���_,�,S-�,Y)YXm��������k]c}��j�c��������-�v��};�]���N����"�&�1=�x����tv(��}���������'{'��I���Y�)�
����-r�q��r�.d.�_xp��U���Z���M���v�m���=����+K�G�������^���W�W����b�j��>:>�>�>�v��}/�a��v���������O8�	�
�FV>2	u�����/�_$\�B�Cv�<	5]�s.,4�&�y�Ux~xw-bEDC��H����G��KwF�G�E�GME{E�EK�X,Y��F�Z� �={$vr����K����
��.3\����r�������_�Yq*������L��_�w���������+���]�e�������D��]�cI�II�OA��u�_��������)3����i�����B%a��+]3='�/�4�0C��i��U�@��L(sYf����L�H�$�%�Y�j��gGe��Q������n�����~5f5wug�v����5�k����\��Nw]�������m mH���F��e�n���Q�Q��`h����B�BQ��-�[l�ll��f��j��"^��b����O%����Y}W�����������w�vw�����X�bY^����]��������W��Va[q`i�d��2���J�jG�����������{���������m���>���Pk�Am�a����������g_D�H���G�G����u�;��7�7�6������q�o���C{��P3���8!9������<�y�}��'�����Z�Z�������6i{L{������-?��|�������gK�����9�w~�B������:Wt>�������������^��r�����U��g�9];}�}���������_�~i���m��p�������}��]�/���}�������.�{�^�=�}����^?�z8�h�c���'
O*��?�����f������`���g���C/����O����+F�F�G�G�����z�����������)�������~w��gb���k���?J���9���m�d���wi�������?�����c�����O�O���?w|	��x&mf������
endstream
endobj
31 0 obj
2612
endobj
7 0 obj
[ /ICCBased 30 0 R ]
endobj
33 0 obj
<< /Length 34 0 R /Filter /FlateDecode >>
stream
x�Z�n�����8���TZ��_�((��.P��.,�?�[��(K�H)"��5��}�~s)���4���p�e���3�D��'��	��b��MN���n�We9�Se��~-��%�lZ�����f|����8�"J\�q�$&��,�
<
��r=����'��
�a�����m���������`2:��a6E�kAd�����i����3r|1W�7.����i1��od��
1��J�"HkEl@D.�+1`���E/3U#[E�����i�w����n@��Oc��:��G(?N`)T����}����q(5�-���'\o�w\0����m����������g��My��s���������s?��#�C�
+�m{���7C�����t���e�����~��m�%�+��n
��)K�y^�l�!�����������k���s�m�(�u������^nNt��r+
x��m��Bf���f���������F�Td=A�����v����E�sFs#U�������g)�m���^�7yN���.�����#��sJ?���1������vY����A��qY-��H b�����	c;�P��0�_�K��.J�%��P���*E�\`�)r���e��,<�?�P;���9x6 �������D�#H��@��RE ���JE ���j`B������O�zJ�����
3�!3���u�����`�����^���$%4L=G�'w�Z�9��X	fK^�Z������f�0��P@���7����3%�h����Hz5^~��z/DxT��"���C1���-d��Eh;_��gEd��z�d����,�w;G��uq�A�C�_=���;���R>fjBK�Mw��8����Lk�����+��7Cz��N�
]���%J�a�B
�V��:��e;���xij��b���@�r�X����s�\�e]���Q`^��+����o���i�������X7L�c*�.�?�2�
�F�b����#ET�)]Dc�
mx��=�#Vvp~a���[����	��9�s�X8)�{r�V�<h,�-�������9�|�/�9��o�"�3��m�-�
�W�����������-�F����yM/�/+����uEG=[�sP���x��������W��l��.�G)E�|����F$�y��fQ��a�uo^���WQ�65��uJoFoO���u:i"������?U�Cz?`��RHP^�f'�g����8��O���`��s��,�����=F��� ���G�����7*��"�f�`���'�c8;h��b�w+��8[b�b���0	�[a��"=]bzb����!��%����%���`[����-�^U5������a�_^}ZZ���
�[q�y���|�N�]:��qb��	d)��^���F��(��|�(���������85���}��z�������9h�|��f��;���/U8����i��}��������L���d�W��L�����z�0zs������|�2�P���Z�3��j]�X�����W��b]���g��t���� h:�9�lk�:M�:UE�:��i���/���I���v~~��~��^,��MU�a�'�\Ub�WD���	O�@it���k��!]��9�����������
�;����g3�I>����T�3������� ���SYc�����n�5�c������%]N��x��f|��18��'��W�c�`?�j��k����YI����y���
m�P���.x;6�+(� ����?�m������%��W'�����(���b;,p��Z��8��&�\��� r�`��GX���&���	."'�K�>���Z�3����\��� �����H8�����0�p=���\��U��W�e*�t��^�jr�����{U��_�>��fL/��M�E��GX�w�:L1�9X��S��zi������1v��FY����!������^E������� �����#�%��H�S���g�g��K.���S�_��SH����d��g���8.`�Y���}p}��z5r�r�YE;��;^r�io�����d�?U#��/��F��7�����8�C�����KJ.�O��j��]���t���������4��ql���4�����+���?��pM`9�|�iFn��T2����l����%�-����,M�;A�W��<��an�������{K��\�1?d�K��%��
�^
!�������*'��2�*IY�J�����GP�G��u_PQ��Z�
ob�|�h�2�����oJ��
�(&3����Q�|r�q�0�c���RH
]I���D�!;Jj50$�^��v�72�D���U)�����������6e�c�{�;���q�3b����������j-���q�'8JoV||'�������h�=������;��L�fL��:.]�1���.�����j�:Nq�/�
��\\=�������|c���-_��D���+pg�{��K��7z��
q�M��8���u���&��%������9�
endstream
endobj
34 0 obj
2573
endobj
32 0 obj
<< /Type /Page /Parent 3 0 R /Resources 35 0 R /Contents 33 0 R /MediaBox
[0 0 595 842] /Annots 36 0 R >>
endobj
35 0 obj
<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs2 14 0 R /Cs1 7 0 R >> /Font
<< /TT3 10 0 R /TT9 17 0 R /TT1 8 0 R /TT2 9 0 R /TT5 12 0 R /TT6 13 0 R /TT8
16 0 R >> >>
endobj
36 0 obj
[ 37 0 R ]
endobj
39 0 obj
<< /Length 40 0 R /Filter /FlateDecode >>
stream
x�Y[o�~��8-`�4��� �]Z@��C��DY�v���4�������vW+���r�s�s?�|���3)���S�=l�}��o5�=���wX�����])���;���3�^���6�`�6~��Y+����`���^�����!�w�2J(����?D����RY�&��dCw{�fC��T�i���vemyl���f�����������^aI�X�����>���7m�%P0����tE�������S��������yl�������!0u��K�m��������?f^����n��c���9Jk���+&_�����P�7n�
i4�����J�9����9G������1�}_�+XG��o�
�1�����-����O���=�mK����f���kPw��Z/��Em��A���60�����E�G����#�'G�����Z�Y������*'uo��x�����XM��w+�&��WKZ�'���["5��h�[�4�����/�@t����J�mnn�\�c����a��2~d������v���V����K`�CS�a�%nD��l��(������1zJ�����g%��r�K=x��8�Q�`_�o�Y��p�G�/�'2ls����]�8�����ja�o	����s�P]����r��,�'��D
�26��e4:$��r��i��A-��u�x/�8f[7��dt�d���j�(�QNe�(D�y�WPU+����{���u�����J�oZ�5)�X.��:%��(o��FG�(�o���-*v�uz#��*�����93@��@H��S?�E�n��L��^:cm_=�������1�_w����s,��^�dR�@fR�"��f8OS@��l�D����,����E@� �`
p��&Hcz3E���h)]�B�n����I�B|5B�W� Z��_�Pu���#DA�{�u���W�����h\���{Fr`G��;���-.����6f����?>��~���u���<<@��q�|���73��4�I��z_sd�����	j)��1!:�u<h�$��R22��q ��%�u �pe����o���zg��<�� �`�Hzlx���to�^3R��^my���kz{(9���*�	9�D8 �Yk8��JX�cL����(
�K#�z��4�Q�e�fQ�2$�8�,�_
�vy�N���R���HZ`B='Q&�A����������C u6)D�]h(������UL�JKW���0A�:�X����B�.�W

��w�N�vp<!�D������TkW�_����wh��yvQ48���#�,���s���r���&h���\&�4J<7�`x������B3�����y3��0�|�)U�9�y�����#�W���E�"�h<�����E�"��QP��82n�(�ZQ�H2��`pA����y��xu
�wH,/���&u�-�q���5����2'�
���*8��c|��-N}/Vp��B�<�Y��Ew��a��3������,���X���`r�^�&Q�vJNdr���vHV�����T��t�E��1,f�|�@��[>hL�cKy	�<J7Q�Ctov��~Eg6�����$<�V�����JfBy�/�����8�=
).&��$H���G�,�q����p� �M:���P�(t)=���|������g�O�,}�I�~8)0�5�K�!8�����O9����(k�n�Wl��QV��I���bp�
oL�g�?��~P�y>D'(�hPCo�-1Ar�%��C��w��@���$�H�Ah�WHV6�gjqz��Bu��j�����P�>@<
%��
�_6��<���8
G�����`NU6��@v�)���5��pX�i�%Pr�G\������6Pj�pY��_'�v��o7��@����{s���A����7�_�]Z~.c*\^9��C�\��_�n|u����|��S{����Z�������_�m�>{���cW�������.T�����1��9�`�I9�C�%U�n%*�D��"��-
endstream
endobj
40 0 obj
2029
endobj
38 0 obj
<< /Type /Page /Parent 3 0 R /Resources 41 0 R /Contents 39 0 R /MediaBox
[0 0 595 842] /Annots 57 0 R >>
endobj
41 0 obj
<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs2 14 0 R /Cs1 7 0 R >> /Font
<< /TT7 15 0 R /TT8 16 0 R /TT3 10 0 R /TT9 17 0 R /TT1 8 0 R /TT2 9 0 R >>
/XObject << /Fm4 51 0 R /Fm2 45 0 R /Fm1 42 0 R /Fm3 48 0 R /Fm5 54 0 R >>
>>
endobj
57 0 obj
[ 58 0 R 59 0 R ]
endobj
51 0 obj
<< /Length 52 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [187 699 194 706] /Resources 53 0 R /Group << /S /Transparency /CS
60 0 R /I true /K false >> >>
stream
x�R�N�1������q���3�����"��>��$�`@EY�|��|������d:���E�-����������6���(~q�8'�x��
P�`�
�k��������aq[���)��������=ZK���&�=�����@�>^��RE$d��H����:��I8@�3��R)*���R5���v$8���K�6q����zF���@B�5�@�3K�e�N����&�Mo[3�?�sm#�2#v%��2a��-�JN��4{1�]�How�
���_r'�Mn���%v�_3EV�Kf1K+���1UK�4rXnC
���F�����m	��q������%Th]��������5_�H�:
endstream
endobj
52 0 obj
352
endobj
53 0 obj
<< /ProcSet [ /PDF ] /ColorSpace << /Cs1 7 0 R >> >>
endobj
45 0 obj
<< /Length 46 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [132 419 490 659] /Resources 47 0 R /Group << /S /Transparency /CS
60 0 R /I true /K false >> >>
stream
x����%�
��z
�@�����EVY��8�E���,���(�R�K#=�0��C��TEQ�f�i�Y�Q|
6�v4��
�<�Y����L���7��������������������l�#��]��<Jl���Z���?�{�������\fP�O���_�G<S�_m8�t��W����7��q�xj���;Ps��f�?|h%�9���z�G�C�#�q������o�r:�mG�������v:4;�/�m����d�p4!W��G�-�r��c]�|�Y��������� +����Y��RD�@�����d���rhW��~ez�'z��R��)<�3Q�S�S�md���i~7��N�6�l��m���p���}'6���	��x�e!�I{d�/)�/o���/�k�w����_�Y����b�Y�l����&��/��58��`�8c�6��l}uCJ"v�M��l�G�1�-�6�d� �z[*��b6Sy������b�'�Y�����<����-�����Kk��UK41�@D��4����Kkf�.BJ�x�X0��|9�����<�R@��Cx=���Yy�$��^G�J|�F#5���� R�l���e$����H�������OEj�G�9'�C8r��.X>�'q�x�X��.R�H��@X�Z����[�n��tA�=���y�V��L���"��W�]<�Ld���������If�]b�6'����L+"��<����#d��EjqO��������j?�|���J�[SD��O�=���kez������H�l�%uy�H�=Flm�U~��w������&V��v�6������!�l���O>�W+���d��'���d	����d"�r�{����-�Z2N���#y���"�-��x�L{��%T�#�^*=�r���1N))k�i���L�uH����"������XB�|-d��h
#�G
�ED��>mk����	������D{&sv?����j��1�%S�`����_���$q�Q�9� ��Q!���H�-�*K��T�]O�.	��H�L��b]��j�+�F�=�[R��)U�����W��"�-�s�se���w	XoGeC.y����N��g;��d�b"O�	?��'����2oE�-	�� ��(���q��& Z���2�e��k�5�9�E��W}>!���S%>�a�3�(�s�n���x�U�t���*@�R����3�P����NnV%�Vk:*�'�2�(]���*� Ij�p�E�)����K�[i��%3�C��%1�p�RE���+i��A�d���/�Q>�b���61&��*�[V���,z!b���xEs�������S{��0���I��I�x��)r�x�����������h#
���,Df������R��k}(F������B��IN~�w�����I����'��r�)i=EX|�.G��H�JD��4�m��#!P�/&��=��7�Z���fz��
Y��A /6.����l�-;"e/)����I�T����|*�yK-r%�9qoN�&�xhf3q���z��B����Y����
��P}���F)H����?#��������>ik�W8���R�
�d���66}�dU��r�#��H]kD��n��`�4Fj�;[h-H��|�N��s���bk�cR�9����Kj����$M�� �����br�I��9�t�m����2!p�Aj�t;�LHOL��DoI��E"}3��Ljo"���b��i�e�cC�jW=5�]��dJT"��GF���|���_)e�kW)�nU�U_7S_�V�ej�4�*B7RBuar��O�
��;-S��7��"]#.��i�����i!j=��/��FjU&���j�SD�<�J����I=��.!����{j�\��!��l��nl	f�����{Ek����)f/B������iK�"F2�����-���XU��}V�5�e�K���w@5�z%ym������,��R���K�����(�����
Us������}���[�������1�B7�w�j�n^x�@�7���DXA�@�&yXR�|
&A�DoI���L�}����M����D{&����H�L��i�%�����d��7�j�<G����'��Dn`$��U)���{�b�[��i	d����%�}��O�m������*���
��$^_dIX!FocD�H~������H���G�����D.����������"��3]<��r6"����D�d����EJ��G�V[��09HiVm9"��)"z��b��~$���V���]D��jA��������H�x�������RQ���"���{����!�D��X��1��q��?YS����6�Of�M����}�����+bb���veD����*#���^+	���Ye����*�X���qC��bQ��vN,����BT.Ck��-_����z�(0m��B���:ix�y���h�C�m���a^xxI����'mR�*�"�5�;Wr*���������
UH��V��\��f#��h-!v�K��-�qHm@k��dh�$�Pm������JbP�S�G����Qlr���c�n�^{T��?�V�������NS��?�O6��I��!W�.�	h�M��i4���^�������-�c���p2�?2��3�����s<�L����oE�Y��
endstream
endobj
46 0 obj
2658
endobj
47 0 obj
<< /ProcSet [ /PDF ] /ColorSpace << /Cs1 7 0 R >> /ExtGState << /Gs1 61 0 R
>> >>
endobj
42 0 obj
<< /Length 43 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [82 725 510 769] /Resources 44 0 R /Group << /S /Transparency /CS
60 0 R /I true /K false >> >>
stream
x�YM��6��W��V+���v�K�L�����������O�-�J���g�q8�G���o�U|d�T����f�^������?������������$A��`c����������p2���/�	���|:as�?�������� =o����P�(1H��P�(]��P��������tJ���u���5C#��WAa+���
>�b��� Y{>�B���A����J���`$�����p>��TJ�8������HW����\:����b2�i*����b�P����1(,��OE+T���.\�XK�P�*��N��M�*���������TY�=2���2�%Y�L���:�=`�����#?s9�����o�CW����Z.��3D	+6�������V��z���6.�����$��*��Z��~�/���u����G��+���$���=}���%=Y��K^���5?��3�~�L2����O����7�[n�u������3�>>s��@T�@��?XU�����M'6�3�H�����Ed=�
�&%�'��vd1������#3JF��vd���|(����<��R����h25=��52V$�_�3yf���i��G���L�v�������#X&�ui�#���S�����Ver�R��o�#����7��V#3ZKx��m���B���zdVKk��C��aUeY���-}���fZ�w�B	��S�n�2U(�s%%����%�8�%�M}������VJ0����C��H���n�;�lF��"+�,"��B	�#�P�K	�#��`d����VgJ�Y����s�&x��FV(�vd�*fe&�](��X�*f�,�U��������[(�"�[�Y(�vd���n�y8�Y���i{ug���zd���L]�B	�#��`;2���=��-f*`i�a������\��/oxw����o/y&��D��a���`��Pr;���x�L��Q����0��u���;�Mu�4^a��/b���W�iX<]>�����'�1\�^9�������[����^��qx����Y���6Y���b<NK���>�E���<�����b<�\\�h|�h��������=Kg��g���}�&���(M�/��x��AjL�����d�k�Rf#���.b�����=������+��nt{[��,��q�f��H"�
�3C�A��/e�t9���-���	6�I�����pP��g\��[�����P���>d���b�vY�?[���Kx�W|GM�7bk���Cu���=_0��dH���`/�q�����4*K)�ljq�~t�cf`�0���Fr�+d;�.���?��|�
endstream
endobj
43 0 obj
1356
endobj
44 0 obj
<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT12 62 0 R
>> >>
endobj
48 0 obj
<< /Length 49 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [132 419 490 696] /Resources 50 0 R /Group << /S /Transparency /CS
60 0 R /I true /K false >> >>
stream
x��K��
��Z�6��z?�d�A�A�H�����l?%Q��s�m8�a@���,�(��w�W���)\5�hSt������]m6�|�����������o��?��d������>}���g�8�%���s����Z[��~�$V,����\���+-^��n_��$dwU1���Fv�z��u��9���������G.�h[�J�.���T�5�Y�X��W���i�R��W��mW'VR�i�V�w-o��uI�zl���W���UB��j�"����|	�K1���<^3��S�x��pmb&bL�W��J��:��������Xb�K=2��'z�W�E^g�&S|c�$EDO�RL='i��!��edMK6�b�+6g4�$w^����;F"���x-$#+�;Vc����b�1^�s�wS�����l�{�����UyY������r9��
kW-��Bb��
M�)I����bs�bH��|��
Y��;R�
)6s���7�y�y�����tC��/'e�,�s�a8��l$_����(���_�����5\����(�&Q`��]������.6	�������Eg�b��LgM�$�������!AK����@Z����FM)��X=OP�]	jj�'��^��J�&P5��qN!b�����t��\��������E�A!����!�Z[h��r�	�m�����?*�@sBm��4�{J)E2s��2Q,�'V���8Pr�]��+KM���B��I)�&R@��@�1�m�d���)"z��b�oN�����iE��y�;9��R��8��g��B�����P������J�z��Q'8Y/[����_�E�D!m��|�Ch�CM�s�)�����&D��cM�6��P��&��~cn!R��SG���!:�2=��Xh L������Y��=\�:��V����NH�i*z!����r��B��N��eN�6��TzT"[�$��,k�XQ[>mLc���H�9���s_���{�s?�%]���-�e���)+��L�SViN���O�5�
I�����S�Y�G��x��z�5�F�9���D�J�v�6A2pJ�N-ve:��'z[���~����Iz�ao!����#��tb��n	����eL�_��N��YmE�K�w|����?l�HQ���AH�BY+����d�3)��Doc�����0q�xcO�S�;�'ez��GS�8[Fj��$�������c��)��[����wx�Mhr��nmB�n*��m��|qS
�70��MH� ��������Jc6���R���()���N���������e{�y���F(�������T�V���H����RH�!:W���2�6��%hI�@m^R���,{��R�����Lrk�+���B��+����t��Wn����mu�������<���-��7�e�������
q�4�p.�B?����K/U����o�;*+UZ!i����
� Fm��Bx�2�8<��-���gA8�QEV\�2U�� ����{�%3E.&��(�����(�22��-5EH��a��6�$21lD�,�m�F8S"������p��-tbQ��ls���w/�2�)./�w�J�)����c���*����n�)��� s�P�Wg��3��=�
7���H������d��2���y�ld�BkC�J)s��<Ay$���������E��0��<e�Q��J�R�ql��h#+����#vRwE�D�So!R��DZY�yp����� ��$��h(z���Lu�Q{����Z�a���(�AV|:��SE&8�I���+�SV�GY���z��t�F&��8S���"]�-�L�P�z`�	R�����O�1�Z�LeT��,��H����i6�l��!%�i�6s��#g��R@l-:./����^e*��'?�"��2~eG6$3fb&G���Lg.,B&6<Z�4e����%�����eK��}-%7�a�;��@k;���y�pR��m�Y)}�>IN�m��:(+�RVA&���X���ch�&AiI�����X}�>9�]�Jr�U����Y�W���p���2���!����o���)l)>%?D�,s��\�]��y#��������Nmh�}�v$��9������
`�Sq�D=�H'z����L��Tb<!zf#/6���*��H)�f���=���),R�<LP����Ao{��z~cz��Cu�M�20���Oc�u����������5O������pe�K���%����1R��0�w��""�����������!���I�G�o)
E9�(EC�F�������jc�������&�[��i��6��`dy�PN����#08���4�!�cD��#$?Nr%:�4�K��Q)������"J�Am���S���V����C	{Z�D��9�����"MeE��J����	�?hx��J�N.�L�%_7Dc*D�������N}!����V$:�ig)��Q`�-����X:�I�pw�,[
��:���Yyv��J+'��+x�o>�dc\�R���q6m������g6B�P����K�S�`�LQ{�7��;��a
o���B��^)����v,������6�k!?Y��\D2?���c�n�j/�Kk�Vf��>�>���1�&c����9s��W�)�7���I�>~�'����&E���mL�J_����=EDO�R��b�!+�����M�e
endstream
endobj
49 0 obj
2657
endobj
50 0 obj
<< /ProcSet [ /PDF ] /ColorSpace << /Cs1 7 0 R >> /ExtGState << /Gs2 63 0 R
>> >>
endobj
54 0 obj
<< /Length 55 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [335 699 343 706] /Resources 56 0 R /Group << /S /Transparency /CS
60 0 R /I true /K false >> >>
stream
x�R�N1��[#e���Y��@W�N�	RH��g|N|
r3�}���^�Bf��$:�[�iA�V���#X��q��?e�!:��c�%���w4gN���	����-k���e1.-�&4p��em�k��to����f:���>��)�����0��X�z���Ui?�p����j���VrU7���������5XFg�C��L;�,�ld\�R�)s��d���&l�����������R�]���w���~��A���|SJ.��1%,�h.	&�������K�����^#�`�f�6[���|H������v5����4�M�c��/j1�
endstream
endobj
55 0 obj
330
endobj
56 0 obj
<< /ProcSet [ /PDF ] /ColorSpace << /Cs1 7 0 R >> >>
endobj
67 0 obj
<< /Type /Mask /S /Luminosity /G 64 0 R >>
endobj
64 0 obj
<< /Length 65 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [142 430 484 686] /Matrix [1 0 0 1 0 0] /Resources 66 0 R /Group <<
/S /Transparency /CS /DeviceGray /I true /K false >> >>
stream
x+TT(T041R016P0�F�f
E�
�
y
��E��%��9
E�@u y �)i2�0SH�U���5�r��1>�
endstream
endobj
65 0 obj
78
endobj
66 0 obj
<< /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /XObject << /Im2 68 0 R >> >>
endobj
73 0 obj
<< /Type /Mask /S /Luminosity /G 70 0 R >>
endobj
70 0 obj
<< /Length 71 0 R /Filter /FlateDecode /Type /XObject /Subtype /Form /FormType
1 /BBox [142 429 484 649] /Matrix [1 0 0 1 0 0] /Resources 72 0 R /Group <<
/S /Transparency /CS /DeviceGray /I true /K false >> >>
stream
x+TT(T041R01�T0�FF
E�
�
y
��E��%��9
E�@u y �)i23�TH�U���5�r��0V�
endstream
endobj
71 0 obj
78
endobj
72 0 obj
<< /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /XObject << /Im3 74 0 R >> >>
endobj
74 0 obj
<< /Length 75 0 R /Type /XObject /Subtype /Image /Width 342 /Height 220 /Interpolate
true /ColorSpace 14 0 R /BitsPerComponent 8 /Filter /FlateDecode >>
stream
x��h�u�������%�r
�[Q�������Q�e?���������~��
%$hP����2t��ki?d�Q�������x���������~�������yw��s��}>����~�w����{��*����'(0������D��j�X
hU�%�I�V-�B!(�U�$J�WK������Th	{UIS++���)I � � � � � � � � � ���}�d�=��*����h�i_]���#���h%�]��ef$y;���E�*���h�$htUW%���>v��O����!��!y��#�\����������<���g�	��x�s����`F!� � � � � � ��������'+Ji*�����bV�K`Vb���O`
��B��/�d��f���*0eC!�PM����jTf�_M�fT����j��NG������������ �@p:��	nq���T�iU}Zz@����i��/p��H��5>�~Gu���r�Un,�����L5=��Q��t	���,������g}2�z�xY��57.X�O6��� p�i��ga1F-��<��w�r����]l��>�>��%���Y��P�Tu�k��Q��|������b �z���d��j��Z&�I���ur;�����}(IT,vfGe�[�hdS@@��p�_�����	-?,�kt���#��� ]�]��pU��t��y�kT��
V�.}��Z!mp^����`��G����t��y���bn�'����L9}�`&Q����.,��@@@@@ �=[�����2XT}�u8o�`W!x�n�'�	^i��h�B���w�[��-��7W1�������T�9�6Wu�\��I��4k�����Zu�`&Q��"�uRu
Q�H��w�M$@@@�(�������}��5S���-���^���O��t{E�����tU���^�pT����[��W8��#Vj)/����*xqK��%G����h�"pb��n�2���|?'�:��q���M���_�P�
�� ���C�2%���?�F���feD8���r���5��;����FU�J4������t�����YN��\��S]�l�����j��:_.���i�u�m��b�����D�b��n]��A$@@@@��o��}����Y��X��'C����O�����J�7������o�W>������o�*�����s����{��x��z&�aB������mN�m������9�^s�&R�~Wu�D�'�iq�$6��hx�����w��
�9J��9�f�sa�kw[�M�Q�����-~ �.���C~�{����>��l�d��l�4Twz����i��Z����4$��-P*�l�y�{���/q'�K��2�_���}h�(��8���=���~�>���}�R��6:�Qc
�_�l�!Ir��9���e�������Y�Z���Q|
endstream
endobj
75 0 obj
1541
endobj
68 0 obj
<< /Length 69 0 R /Type /XObject /Subtype /Image /Width 342 /Height 256 /Interpolate
true /ColorSpace 14 0 R /BitsPerComponent 8 /Filter /FlateDecode >>
stream
x��hUe��gS����!���	41+M#j�b���QAVd�VQ"�����h�B��P-�e%���Mk��@�T�-qk��vw���]�=�s���������s���y^���{��s�R���$?�>�*��$J���P
h��=��Di�yHH
���m��dMd�9�'�<���n�H�@@@@@@@@@@@@ _/�;�]�
������C3��������5	�%��D��&�T��
��q�Bp���	���+���������h��z� ����{k��L����������@�w{��C@@@@@@@@@@�,�X}�M��qa����No!���y�G\��R�y�y7��g�*�>��J>���M�Z8�?�jA5y��X9�c-��rd��c���/
��mg���)y � �������Q���	vW����f��n���*����?
{��f�g�[-'��	��Z�LTw��=��m������q�1�e}���[p�>/=����&U������������V��c������%�Y�+���`���^l���[�1�P��R1�����{|�6c���m1���!�nTo��C2�h^\������%������oly<�����[�x
���eK6���'���A!� � � � � � � � � � � � ����m��+��w����ZI;��81���Z�/O^�C�������%n]�����Q�z�nGN�oH�>����NvkZ�i�9��]nX�pj��'��V�m����z�����������[�(a�:@@D:9-,���ve�u���3������N{E�A�gL�o�K~�h�fnmU���Q�!�1��0����	4�Ukr�:C`��0_������e��:+� �3�y�U��@��iaD"@��@7�������:o����n~.��=��U�x���'u���G�eT+�X���A�W���\��I��}Uv�B���b�v�\&I�zm�Z����'>+�4ME�}��I�)�I�H���8C��v�7�U��E��v?v!���b|�S_��'��M�Nm�r��
�jT+�.CV�H������TOQ6�+���d�L[$��:=R9EY���Y?����h��
������?��\�����4#� � � � � ����Z����eT�J�����
K�X�s*�������~*l!�\��������R��������,�aZ5������G
��~�V]<|�H~_����������[aX[O�0������#�����j��<tH��P]�%+����&9���|���.�Z����HS��O]�N��[����2�c=p�f�-��j���g���!Uj_}4��!��P����� �����+R)U��}k2���j3�	h���������/��J��PLI�@�Qs<`��L2��@�b*�����=h/�����vT*��F�
endstream
endobj
69 0 obj
1603
endobj
63 0 obj
<< /Type /ExtGState /SMask 67 0 R >>
endobj
61 0 obj
<< /Type /ExtGState /SMask 73 0 R >>
endobj
76 0 obj
<< /Length 77 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>
stream
x�U�o�T>�oR�? XG����US[���I���J���*$�:7������O{�7�@�H<!
b{����IS�*�IH{��!&�U��vb'S�\���9�9�;�^�D=_i��U������$�����M����K���N-���.�����������N�#�z����"O�n}�Q��k�K���i�����6��}�x��'=N!?	��*���<��f/�a_���Un�"f����ar��/�q�1�.�u��]�X����c���+�T��?����K�_��Ia����|xQ���}t��G__���{�p�M�ju1{���%���#8�ug����V���c����Si�a��J}��_�qV�����Z��#�d������?������:73��KWkn��A���YQ�2�;^��)m������v��J���&�fzg����������ty�?�:/��]�Rb���G�DD#N-b��J;�P�2���F6<%2�����a1"O�l�y9�������-�Q�;��p���X?S��b��0g��7���K�:�
rm:*�}(���OuT:NP��@}(�Q����������K+�#O�14[� hu7�>�kk?�<������kkt�q����m�6�n�������-�mR;`z�����v�	x#=\�%
�o�Y��R��������#&�?�>����������n�_���;j�;�$}*}+�(}'}/�L�tY�"�$]���.9����%�{�_a��]h�k�5'SN�{�������<��_������	����t
�jM�{-�4%���T���tY����R6����#�v\����x:��'H���O���3����^�&�����0::�m,L%�3��:qVE�
t���]~��I�v�6�W����)	|��2]�G��4��(6w�����$��"��A���Ev�m�[D���;�Vh[�}������N|�3��������H��S:����K��t��x��U�'D;7��7;_"��e�?Yqx
endstream
endobj
77 0 obj
1047
endobj
60 0 obj
[ /ICCBased 76 0 R ]
endobj
3 0 obj
<< /Type /Pages /MediaBox [0 0 595 842] /Count 3 /Kids [ 2 0 R 32 0 R 38 0 R
] >>
endobj
78 0 obj
<< /Type /Catalog /Pages 3 0 R /Version /1.4 >>
endobj
59 0 obj
<< /A 79 0 R /Border [ 0 0 0 ] /Type /Annot /Subtype /Link /Rect [420.0625 56.6875 504.7188 66.6875]
>>
endobj
79 0 obj
<< /Type /Action /S /URI /URI 80 0 R >>
endobj
80 0 obj
(mailto:girgen@FreeBSD.org)
endobj
58 0 obj
<< /A 81 0 R /Border [ 0 0 0 ] /Type /Annot /Subtype /Link /Rect [182.75 251.9062 289.25 276.5]
>>
endobj
81 0 obj
<< /Type /Action /S /URI /URI 82 0 R >>
endobj
82 0 obj
(mailto:girgen@FreeBSD.org)
endobj
37 0 obj
<< /A 83 0 R /Border [ 0 0 0 ] /Type /Annot /Subtype /Link /Rect [420.0625 56.6875 504.7188 66.6875]
>>
endobj
83 0 obj
<< /Type /Action /S /URI /URI 80 0 R >>
endobj
24 0 obj
<< /A 84 0 R /Border [ 0 0 0 ] /Type /Annot /Subtype /Link /Rect [420.0625 56.6875 504.7188 66.6875]
>>
endobj
84 0 obj
<< /Type /Action /S /URI /URI 85 0 R >>
endobj
85 0 obj
(mailto:girgen@FreeBSD.org)
endobj
23 0 obj
<< /A 86 0 R /Border [ 0 0 0 ] /Type /Annot /Subtype /Link /Rect [85.03125 92.125 507.375 131.9062]
>>
endobj
86 0 obj
<< /Type /Action /S /URI /URI 87 0 R >>
endobj
87 0 obj
(http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDYQFjAB&url=http%3A%2F%2Flists.dragonflybsd.org%2Fpipermail%2Fusers%2Fattachments%2F20121010%2F7996ff88%2Fattachment-0002.pdf&ei=DoRTU_ejBIfnygP77YLoDQ&usg=AFQjCNGBhFx4zQnup1b-uazeY0ZMYMWT6A)
endobj
11 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /RCBOSV+CenturySchoolbook-Italic
/FontDescriptor 88 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar
119 /Widths [ 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 722 0 0 0 0 0 407 0 0 0 0 0 0 0 0 0 0 0 815 0 0 0 0 0 0 0 0 0
0 0 574 556 444 611 444 0 537 611 333 0 0 333 889 611 0 574 0 0 0 352 0 0
778 ] >>
endobj
88 0 obj
<< /Type /FontDescriptor /FontName /RCBOSV+CenturySchoolbook-Italic /Flags
96 /FontBBox [-156 -215 1048 970] /ItalicAngle -7 /Ascent 986 /Descent -216
/CapHeight 738 /StemV 0 /XHeight 485 /AvgWidth 458 /MaxWidth 1000 /FontFile2
89 0 R >>
endobj
89 0 obj
<< /Length 90 0 R /Length1 12328 /Filter /FlateDecode >>
stream
x�:i`SU���{so�&�Y��I��i�tMJK�Bmo��R��t
i�-P-�*��y�`���
���iA�Te\��qg�Q+*�8��eF��6y��iY|�������9��o?_��5��(�"
�K��H|+�xiI�:[��X�3���=kk���\�k"�P���yi��~��`t��8��e�u7����W�^2:n����F�����mUs�Jx<_C���z-�Cx<�C6�sM�(<n@Hn������(�a�uh%b�D#�8�GE��Mr�CB�����z�bu�7�,�=TxF\�x���F��L�.a���2^��y��H%BR�7K��n4vrq���_tD;���z��WwX���zOGi}i�����a)���������s��Zo-_[S+���7�j�g�k�vf��B�gX�={B=�=��H�u�Bu�u��I�[������:[�����m�(	�R��,�KOx���R!�� %�SQ^����_�)��ee�0'���2^Fs
����t����T�*������������.fW������I���0v1���d:�b���Wn��=����C���T��Z�5P{F8NG�R4�/���r���b(����?���(y3!��[
��[��3w���3��a�7X��1�6�&���r��7��~@e}�$��7
�?m���6o���K0�a����j5R�y��@J\t����e��
�@JR&��b>
m��,!�[��G���\��+���|w��w��OmW��]�d�r�ve����n��A�b��Z1�.��)1?"���|���xS���n�?���u+?�V>��|�[���\��,���v����_/�.�����]y�]y�]yk�rM���]Y������$w�'�
���:�&�u��J��+�b�JEG`D���x��03vN*w��B���l8������L��E��_����L��q�.T'��Eu�C�=���C�4��/`�����,����X[�J~�'�z�:�7�|-��:�1����0�9���k+��A���`-S`�(���G`>
��
����a4�Vh��b��
�8g��Y�{G�������y6�r����g0782����s�3��qX���iwh3���`���;)������v�/;�t<��.��+a�=��`�����$��]z'~I��a��Z+1s�:��~�t��H(?��C9�m�!L
���0���b�s`H����8(��4P�cE��P<��C6(���y���@?'����!9 180��b�����!�%@�i`h��L�7�!����@� q-j#O���x�uv�)��w���C���2�/����Z��d�����I�T���$�WX�Y�#
a���#��1��}p�a|�������Nj�2�,x����t6��-�����z6x\����f6����F6U�"�I-�$�I� 5H�R�����qR�T*e���H�T����
�Bor�	C9-�9"�!�,%h�!UM��N����%����4�����C�$�V��y�B���`?��|��!Y���~�w5���0F��B{�9�-o8	
l���f��n����=�	��MQU��d�+������$\���k���Al,ZI��K�%�;+���+�E��$\P��1����]�sB�%7��	�hrcu�4����$$�TV�$�����2X9G�G��h�r�Cw�I�!���z��i"��X9'���'����S�"fazE=d�����Yf�%��A1WC%6bF�b
U��T[�4YcCK@������+�
��-��-�K��+�q�	'u$��Z�������v�?
�N�O�??�+��\��/E��By�(���~��q���,��[~���S���C�����1)�pLB��	�\1�0q!�X��z�=a����#"tt+G������!�5a!t�G�6M��;��[b%��g���������n�Z�u�23���n��e!��;�!��"�T.S����@B�.����
�$o#��E��lG�:���^��l�~%�E�E�B����CyM��b=��\����R�����>����j�:�5������7�f� �l�E�������TT
��!B�P��N"����/���4���"�������xT�f�#$}�B)�V�r�tT�J ���F��A�u�;��i�v�:�^���R"/�FM��yMpQ"�A[Q�}��E#���L6�!@u���M`ud=#zF�@��C��v�;���!��5��p&�����I����Ut����Y��A�(�

p���
��=mB[�-h/:��W��	���{����&(#Mh-]#�c���]p	��)�*F���ao[�=��!�:�N��Bo�w1�p(�8�����DN�����QwD�0��3(pY�*��������n:7@���vHL'�)t��0��k!�q������>���o����n	~r���6R7Q��[��t�L?)�$3#��/r&�����D����T��A'���l��L��,�5�3��Y��@�.����m@�]h7���x�At�|GO��G/@z�	���S�%�
���[��:l��A����J�	�T{
��_����'�%:� 2�T�YM��[I��E�Q�A�P�����w��@S�@�$m��������|���fv����9�������F�EG����g�588�@Ji�A� @�h3(S�f@��fA�Z�Z����!�V������b�fB��a`�����
n�i�s�G�C���	�����>E_�.A�EP.-r�h$kc	��� �q
v`'v�,H9�����	x"�b|`v2����5�F</�2���k�M�zo��q����;��=��@���
����������@��(�=��8R@|����EdPe9D"��������O���]�w�-��*��R���rj3��Nj�,�2��=�K�_�@/�N�TH�������	�|�T�l���wca�3G���,��]�nb�W�!���\�	X��9���6|}����~t��K�%/b��V����Q�~_��@k�}���v��z��Ld���m�
��8RJ�����d��z� K9��CV�v��	��sh*����<N�o)H8K�Kh?��wP%SQ1������?�J��:�>�@7K� [�3���J\�����"��}����q�^ONvVfF���LKu��mVKr����`4��uZ
�V)�r��e$4E0��tT�m!�?D;S�dmG3t4_�6
����	��y�0t
$�m?��c��eH���Qqv���a���a��������h
��b�v�
%4�v�a�LXVaa��2T�����_�����rGy�<;��PU@-T����U%X����	�pW�C�����
�Pi��KC5�*+�v{cvV�/q����1d� �\|M�)��kl�Cp����5�w[�C-�������BT3�Q�d�&���������0~x^CHV.:�'��ho���
���m��l��L�U&,�	�����Bg7\���.,���fgU�i�������c�iO��l\��;p��R�����d�I�e}+�@,S_�Yo0M�OF�G�*m}��P����\���G}s�����^;����ib��W�G+q��+�@���X���z�X��cj�[b��48B$�P�ZQ��B�<�0�����&��B�4�a��#8��qmO�h��}��A�].�\7��C�����S�r -��Dl����	U;:9[�P�j`R���n��#��h�zg7��6�b@�M�F�F�k��������`���������j�~��6�����8�O�������48��v��������@������>_s8����q�������J��������[�2H
�����7Pf"p&���j�w
��3��5	I���A�����h&}5@YNO����L������h��������h3S>�p�����b�+A�-4�����������\��^��>�
>������PJ�Bj��e]|4b�s�S=���������K>`N�3�W�Q�'����p�`�+������K�0^5��4^�+��<EQH�H�80@��i�AB�����^�~��K��H�7��7���r5�k��5i�AH�h��%�d�L��^d�����{S��j��,@�o����	b�X�J{��������6*^&��2M Q�h,�\z�C�R��:M�`�z|���x�`&��z�N�D��.
�4y������E�"T:<RT:|c�'a�)����&���NWv���7��K��q��&_��7� Y��|%����n�������cR�������h�����W�>.�X2r����������~���~9��;�i�������C4���������!�X��j�Ho�E*VY�bX�N���tz`q�J�3������o�a������t{�����2�3����oS�d�n��' nC���sr���:RG��Y�/o���wfb����n�+PF��=��������q���W�buf�wkL6{u�L�ve��l��^d��,�<_�Y�[��J��gJ��jQ��%h��	�TZ�J��\���V�������a���C�R{��.��S���x=�����������A[��.W�$�r��eTZWo8|���`X��>�6'�p1�iP&�_�0�4��Q��
�����Y`�RG�s|�O7��r�vs�x���c������k��hH��y\I�yG������g�T�.@_���?TM��x{/�I��2uNu5��dd��]���5��3j��B�������!����Yr��L�������������VU�z�����;��5��)i���O�O9$Hi��M&��22�������*�^��"��fJ����$�Jm�Y5�v��@R�P�9�c�q�8d5X������V��z�z�z����#+C�����k=h
Y��������f��}��W�R;v3x1�Cf�?�c5ZsZ��hZ�5���K ���&�u�A�1�4s��pf)NS��F�4���m�3c��X�=��ms�?��im�JS��5� ��R|�j>�H&*�!�h���+�������x�������9�sZ�����j�����E�n�������rdv�j���0Vk�%}�VS$<�����[��x}n���_��@%%DL(
��o��\kr�E_B��_���)�6��\|����*��a���?*k
�*��Sq����e������L���2��������&���2Z�PU�����:U[T����U��^W���R����A�^�T1@�S���*�J�8����*�H�Q�Bdn��E�E*��#�#�� A�+e��H��&L	���:&��8|8����~�����<�&�������k�����w.�;��-%o�T>|��'"/}�����ur��V=rqu$��+�����^#�����T������m���Ox������M	�
PH��A=�v��jT�''*kk���~~�c%���p�I�.�i��f��G�
�BPPi�1t���S}P�1�"���?�;�����I��8���~�~��=����W���3�]8yV���g4z�D>:�}+pOp���T��|�����H�`�����'�����������P'K�2,���I^5���d�>9Y-�
b��%�z�tv��=U`��@"���M�B��N����������������o��Vh�j�e�o�et��5���P<=+~u�����t|�\z*_mT��JoW�'1V�9���
���� ���1�A���v	��i���~x�R�������xT��@t��(����..����h����*z�c�������2�.*#k����OL�n�����L����2�0I:����������%����Bf�V�<z��`k[�c��uq'����|���|^��(l-+ �>AP(��d�������`�����0���H�AU$�5�:	�
�����4Ec^�~8��=�1�c*N+!1��Q��p�m�s��!���8�������t�������+=�U��]����^��}��������L�8�DE�D:!���~P���gR���������I�9���v����{�_�i��0;��.(��5��p�2@P��PH��q�4P�
p�II�����h��o��{���f�3g&��I�%�%�%�%�D�M���^-��k�Z��y��%N���
_+|��A�����TaaR���&���������<�'f�(�E`��G��F��<M���������ZT���G�H���9�.�]��c�	P�r�@\���
U�F��,���|�X�����"P�8A��h�'4(�{YQy�=��U��3��/�;'���5ZR��O��Y�����u�(-���o��]5k���:{�]������v��-���YR����N���}��V��
�D�(XV9��~y^��q��y3�+��:��vU��-���/�����SM-�^Z����GA�x���=���������{J���$MJO�i�����v�V��a�n0r�)Io2%!�����w��%�
���Qn;%����-����A�6���L�n�c*5-0u���v��1�
���i�6-6I��0Q&S�����k�~�Vw��T�7�w�)z�n�����se&��hr�
���'Z��GU�U��H�����R��c�]v�p�@{�	���&��U7�;��(�������Q����;�R���G���/�_e��4j�=��'���S6]��+�,�ZJ[��I�7}B����cW���9��vsg��>Z?�������P�����HH.��hLI��kvE/������F����8�M�P�h���jw�Fc�%N����������.�����/<�
��`�2Y�%�m���Rci�������HK��pl��O��,FK�O�}��)E,�������1T�*�_�~��E\|�����lO_����K��=}����.�n�K�%�z��e^O)���#��������3c���c���qnj}%X��K�_'��x�T�mT��xGq	3Z�MlG2�I97R�i����w ��8����
�)8�[�y9�����:n�����y�MN����A��`����h�pe�qF�4���1s�7$��QoH�7���.X16K�l�F/	?	h��'����;
=Z<-�%���)�u���''�0e���3�����	J��c�-�9�u
M�����4������q������]��u��/� �(I�+�
�>���wU1����U�r��O��t���R����_�[,�������S<j�l��������Y���,����W���
����������L
(o��-�����Q5��U���e���-���B�6�2w�7���������0�'Sg������Agd	2��|6����}�>�0��>_�|�+������h��MU���vU��x����UP�;���
��hJc�����]�H�Vb��$��.�4b�mW��H[T�)*o��q��_�I����+��J�{"+:2c�e��I�D4Y:�p��6�Qku,��.��V<Y�S=��;��d�c��c�����)�W�������i�_������u^�?2������N96�p�[*>���]�����#{�d���	��q��NhQbO�M�F���K����<�9}�:�<��_,w)2�9��������)�h-�r���_�G<����)�"�H��������Ec�k���c�$-����;��Tl�� �� �9fI��`I�&/X�S�$��-�h����i����S\����^5�cb�X��T��9�N�Y��;C�7��Lht:iz�N��J���N������-�p�^:��,��q��h�y������VX�<Q���/��1��7vq�/H�E��$Q�����)&&���e|I������=�q���W����L�Fu*rW�7V�G��M��'o��hC��J�Q\�-��
1�?J)�VcQ���.�l�'�'���_���X��t�no�2�Y�m[\�gV9J1X�������vi�^�R0�W��J�
3�o�o10���]!���uc�����e�[��r:�dO�7�O%_Hf<Py?��M����7����5J��STV��/(_R��|
n����f���7��|_�rJNU��Q�*���M�P'reJ�R������%u4n0z�(�*�,�lL9�\A���U�cw�4���$��KcG%��P��wU�g�d�Ktc�cY����S
xN^��
7>y���'���pg����lYr(���2��Mk�>�S&�����oz����o�P�~9������oYr�l���g`���s����H ���a�C����Jv��I�9�R��	F���z��Q��d�W'�9���K���#�E�S�z�q��{�������o�?����;���)������zZ��z��
P�1�Mb|�4EQ����)�����5!6����D����Uq��b�� Zq�<*�u���Xx�h_�?����'�T���,�������>�x��,rv���|���)k�T���*��y��������R���<;�#�Y����r=��-v{�9�Z2�P�,��i�2�&�q'(W���R�Y�-g��\���u��|��6���ufL���2/������v{����^t_yk4Y3/��+
,���B*M����$�b\����u��t�����J���(�<.��R|�z�n�BT2�b����xA��5�bbn.��L�W�nQ��$�.�h�#�K��lY��n���*5R9a�#w�N�x[�d~f�����������������d���4��p�~�1�q��;��ko�e[�r3=f����p����/Y�-�~�y����=:����)�o*�/Cb_ L�ob�a���"���/<�?���I���e���Z��f��%�V�^��zuG��u�+�/��!�	�
endstream
endobj
90 0 obj
9161
endobj
8 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /QKOMFM+GillSans-Bold /FontDescriptor
91 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 208 /Widths [ 297
0 0 0 0 0 0 0 0 0 0 0 0 0 281 529 594 594 594 594 0 0 0 0 0 594 0 0 0 0 0
0 0 0 749 0 822 0 622 0 885 0 0 0 633 0 0 0 699 851 748 612 768 0 0 0 0 0
0 0 0 0 0 0 0 571 637 511 637 596 369 563 0 0 0 0 306 990 636 640 637 637
493 484 469 636 583 854 0 583 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ] >>
endobj
91 0 obj
<< /Type /FontDescriptor /FontName /QKOMFM+GillSans-Bold /Flags 32 /FontBBox
[-574 -411 1797 1131] /ItalicAngle 0 /Ascent 923 /Descent -235 /CapHeight
682 /StemV 204 /XHeight 501 /StemH 164 /AvgWidth 632 /MaxWidth 1883 /FontFile2
92 0 R >>
endobj
92 0 obj
<< /Length 93 0 R /Length1 8140 /Filter /FlateDecode >>
stream
x�Y{XT��_�<��00��#0��`�����KDTD@EPTPAI��F�U����Zc|pGJ���&��6I����Mo����47��K�/E9����h�M�����w8g���>k������{:��_Z�\���[A>T�p�������Qy������2�K���k6���5;��7x�p���T�)c]#�;6x���Y�v������e�������li�o^�i~����k�;�e'];Z�-���*�Oa�"{�=�����@)�8�SAe������f����%~S��f�\=���^vs���w�����������s�U�T
����4�WW7���bG ��@���b�W��!�4�&��*��x���{Ps,_k����htR �����K)w����T~�cpA�(���4��@�}�U�,:��]7+���a��Q�8�eS��q�}���}X\��*�.h*���
��Z�zX�T�?�	N���/4:�'��=��fB0�*2t&,��.%K����Za��#p�����������`	�c.��4������c�`�c(����GjQ�*�p��/�|��m������n������\��p�P�s0C�&���18�`/|v�XK!Du@�E�,�

�C�B�`$>��;�����%s����$��x���w�v��=������XG�Uz=+�"�-'�~=����#_8����9����o���p��!�r'Y�h�������1H�`�G� ���a?
��FM�3,
<�nH8�|T����X�����ky��a3;l�V�&��Z�0�������n���ZEb��`���@��	���n�e������[.�r�3;������v���
���O]���uTo�-wG-�m������������1?1��H��Q�9�~����9c����T&�	9�KLx�c��7���(��m�)�>V�u�i2&�ui�Y�g�G�~�H>��'����&��1�b)h"H���@�V�3�!lL��l��~K���~�e�g�����j�@yU�����]�������Y�O0��^������*
�]�*�5
I�eq���U�����f�+��l�Z
���V�_�����V�-%��xl6�����DO/��uQ�����mu���o�'O��u�[1r>�`]�U���f5��6��JvT�S��	���
�+�$��B�#���Jm-d^������R�?i���_�4�l�d�F�C�2�aR���������8���@�����1��<9)�T���kS \���%<J�
:���+J0����(*aP��s���A�x��?�.E
{�H�6�$_��7���:�I�F;�)oA�h�3������Cj�K`�g
�IP(~M�����_�7S��5T��Yo
sp����
���4���G�������Z�_�UGI��`���y	�ln� 0A0����!� ���B�(�G���M�_\c�VZ��\XDi�*p^�t\w���G>��KH�E�8G<$�Q�T�L9Qy@�[U��	�[�U�/��4��,���T�������\j%�`�jW�?�J�W���z�>���������;4�BA��W��������0�������je3(4J{2��Q�
[DtzZFjJ�W�k�{{�'-��FM��5=Y��Y��o�b��w�95h�'����T���1�t����3�&�f�p�O���;���e4��)�O�
��jN�5��
��O�x�9�"��KO3d#3� �E�"thJM�z*�������_nn�4P)�O��>�/��>��>;3� �~ru��g���Gnm;���{��x� %
!��kQ���q����Rn��o��6��i��P��
GR���f������Z�)�9@x(�)DTr%��13�Og�+��<s��C�Bi�����\{������'OL)Y���-�ted9+��%��c��u�}�����3��,+/?��������>��Lv9 ����o["0��U'���@_5�G��8Q��iY`FH���h~z��@G��#��1=-�h����U��2���a(�+��|q�TYx�rzu��U����c�g���������>c����l>To���Ys�3����od�����%�&���LIvw�9�����%�F�v�+
p�'��Z%:�j_N)(���L��|�*��u�q�AeTF&n��������B�3w�K'o������M�{~����vJ����V��+��U��~.�����OkZ�m��SZs�rN�����%�+(J�#zZ�XY�Y0h�B���I�a��I���!l@�����A8��D��!����$��XbZ���iV�>�"����np�?u�3kju�����m��jvo����'I1���o�U):K�,�O:�o5�J���mH�>�cd�"�l�'[�zl���;�����������P��(���q�8���L|�����P:���`����"�a�U(��y�H/�tg�;g2MW�������EsM��/M��;c������m���:GZ��Oj���}���$��W���������W\��fA��a7���P�Q+j��* v����(�����w"!��v�]�j�?�]�r���k�*���@�/�
��b]�Aj^���*�����V@(��Wx*�6gt��*VHK�vJ�x�[�/p�c7�k���|������������^>|�������:����5�X�����2`�+0����6�(��*u�i [j�]r��\����q6����o>#��j��g��L�*���ilM�����e��W������fJC
���^Z.�P��A��f1��Zk��>Ki�lc��D��%�-6�����1:2&:�C���!�`�J�LK"Q�����a��3������w�N�r��c��%^����^)&i��U'^��b����o�O����;���/c���W���'�����<^��������o,|���-�,����mN��j0%TI|�f���.�?�DlUji<
hLGxz����oI9�S�9�+����W3)o�,���g�j������]��i��������i(O��.��.�����X���)I�aD�-�F�������������kPsQA^6�����<d�A	��&R�	��O��a�`BW��C��k�Mow��Y�r������Fo���]s
k��������r��d��^9#|��8g������I��/�<�njB�T��
�l��� l�`vx��R��	��4c�l��,��*��i�$��B�~,��<�E��>AKQ�
�]���\p2�N)g"gY4����.*�K�W3,�l��u�6#5��$S����X�����Bf6��R(KID�AF=�Q���`���k����m_�#s��m�fG�6t�U�w���n'FdI>��Sb�f��G�$:��^�]�yN|p���������N��&e�*��V>#5#���A�v��	����r��Q_v�kd
��P�<�Z����Qf-���B�j<�����z��R/k����Y[�~�M���]�6_����:��[^�*o~y���({�"���pG��+u[wL�65��=�a��&,	�10J�Q��f�9J6m�I-�e�3��}9��&=�H39%#�/������{���>~�����eu���M��_�������:�j1KM��4om�%���� ��Q�+����&����!�)
�� ���&��8A��|9��$���l����I����[Z������/4t;�I:�3�9��k���E���O���b !O������to������M�-R\�
'L3h��&y
C�/d�&�T�S`�E��P�g����2T2���H��#e%��Q�>�j<�x����(}�u+�.v�_�_X��/�\q#.o�g>�����V-]�U���e���!�R]q��9G�V:"�T�
8e��G����C��jY�Pd�PL5�(�l���0��e�Y����?^��j
�%��w���;���v���C�.��ZL�|��*����U�r�:�4j�g�|sK���iB�:��J{q4}!�|"hB({�
;R��Z��d�lA�oH�h"�bb�f!�h3��!��l%�}t��������{,e������+�g���WD��,[w|�3��9���iz���YisV�.�Y����xkYWNG�d����T��v-y���M��R�����F�����&J�g/n��'.����g��Bn��������k����	��t���m��S1�N�N9SDK0��5k�J����P>��X�[���|���������r�U�n0���N0�4*wH3f��sJ��y�SU���hI�]X���M�~4�_�za��I.|e�%v�f�$?�\�������
K�o��F�
Cdo ��(C#)C$�p���������j|��;hOK{�a2���zn���T���L����T4�
�#�*��eu��*|<��"IH��*��������dRa���E/I����#�O5aU�cMs�e�������|�.���y/�9�f4&�j�����r#4�U���B�L�G�I�!��M��+�H�:s��v��`o������i���&�n���h��w��g��q���v��mh����dC�ex������a�V�L�Z��l
�����
�"m<D�Il9��z2C����rwC�d�I�V��R_��dWYd���<q�:NX���U�����\��i�������pi�&������l=!���0�NI�YLK\���w �� ������%;�oRrRa�0�dI�&��N^Y���Y����(<�r���u�\)���L�b'KtI�Ec��j���{-����>'��i4'PRq���Sj4*5QR7�eY�0��3vy8������*J��2�"NwL[�_��Y�S*�G�\x&�|D��<���O��������	�k����FO��,�A3�P���+������{��5[O�`G������D���[m���O�n�����k��>����{Q}jv��|��i��_���2�Cb�#���dW�:����	�gp���T���6��D;-��.�����2��~�2���Q����P�/{���t�`J��9m�HG$Ld���mi��fVI't�s+wM1�`7��[��Q���BG�vi�c�O���[��-��*��8��TYz��{�(�qFQ3zP?B ��(���)��l���&����&�����h�-�L�U8&,yq���`S����HR�-���/q�c�+��)�*�?�n��S��K)
���0w��]V3R/�������?������_8�O��W-��|}(L�Q�{{pPr/6�!u�jF�����oJ
�|��Go�9����S����07�\=G�*�M
�d|�&��#����H��`��^�?:��U��%��x�n��gO��Q���&;&x������rv�((�W���;X�Q�$�~��;��lch`���TH�t��LR���E��h1�8Z
���iwm>T���UP
5�[:$�?9r	�@�y���.�m���fMy}K{b��5
�
lb
endstream
endobj
93 0 obj
5618
endobj
9 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /DUDQYD+GillSans-Bold /FontDescriptor
94 0 R /ToUnicode 95 0 R /FirstChar 33 /LastChar 33 /Widths [ 297 ] >>
endobj
95 0 obj
<< /Length 96 0 R /Filter /FlateDecode >>
stream
x]��j� ��>�w���
"�-9t[���N�B�21��}G�����|���K���A�S�=f}p�K\�"8� �38o�~���M��~[2�]#(%�#K�
�.x,�9$&8|]���kJ�8c�������^M��AV��9�}�NL�u|n	�1��F�����E2aB��F��U����h���:����'�bJq����o>b����]��%��XW��<Z���p�
endstream
endobj
96 0 obj
229
endobj
94 0 obj
<< /Type /FontDescriptor /FontName /DUDQYD+GillSans-Bold /Flags 4 /FontBBox
[-574 -411 1797 1131] /ItalicAngle 0 /Ascent 923 /Descent -235 /CapHeight
682 /StemV 204 /XHeight 501 /StemH 164 /AvgWidth 632 /MaxWidth 1883 /FontFile2
97 0 R >>
endobj
97 0 obj
<< /Length 98 0 R /Length1 2312 /Filter /FlateDecode >>
stream
x�VmlSU~�{o�v�n�H���{��k�2g4(������`|�#��[6�\@��b(ACH!�����7��&������D��#� t��mW77�������=����s:��F%HBDp]o{����E���A9�1�z:����t�@���gKgN�mfL��;r:�|6���N���M��q�lK��g����f�k�m�����.oh����f���������z�����x>����*�������0�Q@7����uZQo��?�lu�>��t����e���?'�������w=8���K@�s�5�EkGj����]���X�����L/]�� {�">����RsL��">DT�m���	1���'���������':��l��S�f}�f��3����qB�l���1�kW6Z����u��4��@�{I����m�c`��?`X�7�IF��
�Jc��`L+y��n���6��-��}iqtw�5TU4{s-7���C����`^E�H���Q��X"u[�[	WH�3�A��jZF��
-�0���^��9j�yi6�"�P5��EN*#�P1�H�{��.��W��/���p?�;\�7��p_bWp�YH�<������q���>��tb-*m�;-W�#�.�C
H5�[�����X)J�]�����Gh��g��4�ct����t���[����V�D�����R�+[��l���5��l]cU��8��F`�r�k0�_�����1�aF�����������m����w�4�)�������R�Ql��1,�(��Y=!y��h��EOV�E���q�[�k�k��cET������	���������������!���:�t�J�b-�����i������<Q����N1���6�W7����[��^"Ga����J,�P���C����yx�$Z4���k6{����m�1�Q�s<�S��b�3�D����[���5z��m-M���aT�7���uO�d9����X��cC��31�tYT����j�H��I��fG<����]<.�*zPs�qM{��T�yx	��4�������e��pP�o���u���Q=v����V9�_j������hUU@����&�������d.K��Z*e�dM�S�K��;��d-��&�
idcDO$M����
���K����0-���}���F��HfN��q���r���j��*��O=
��#QZ[@:�Rc�5)�+Pt�(P�*z���_.P���d�����G9�#���J��_D��-a])X�o��M�8l���gW�^D,�]B`���0����9M�J�G)W���~g:�|K&-��<��|qO�6�����n6+���/�����zz��7�C{�_�_� �
endstream
endobj
98 0 obj
1344
endobj
10 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /WDKVCP+CenturySchoolbook /FontDescriptor
99 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 122 /Widths [ 278
0 0 0 0 833 0 0 333 333 0 0 278 333 278 0 556 556 556 556 556 556 556 556
556 556 278 0 606 0 606 0 737 0 722 722 778 722 667 778 833 407 0 0 667 944
815 0 667 778 722 630 667 815 722 981 704 704 0 0 0 0 0 0 0 556 556 444 574
500 333 537 611 315 0 593 315 889 611 500 574 0 444 463 389 611 537 778 0
537 481 ] >>
endobj
99 0 obj
<< /Type /FontDescriptor /FontName /WDKVCP+CenturySchoolbook /Flags 32 /FontBBox
[-165 -216 1006 986] /ItalicAngle 0 /Ascent 986 /Descent -216 /CapHeight 739
/StemV 0 /XHeight 471 /AvgWidth 464 /MaxWidth 1000 /FontFile2 100 0 R >>
endobj
100 0 obj
<< /Length 101 0 R /Length1 25568 /Filter /FlateDecode >>
stream
x��	`T��|�[f_��kf�l�L��L6B�BV$	I�� ��$����� �+ �DQ\�2j-(��-h-nUh�[k����2������~�������}of�;���s�t�X5�P7�?g��6��S�C��9����p'B�u~��KS���b6��d������v/�7{n�]��p��1�<���kR��,��h��9#�5�o^:{����?��c����R��9}V���#�2�o[1o�z��� ���r�=����0l���H�nB��\��|� ��!������e-����E�|����	��c��lO�:Q%�	?�Cq�zr�'�4Q�����"��3�,�W&A��v���)hg����������|�����;D�Y�����E�>��lq���7�X{�~��Q���QZ7�^h�BcQ�@<>�k���ao������Hk�O=b�f3t���y���ZJ�-��������f����������2-�����B��l9hh!h<4��ep�"���������@Ah-�Z�uC;�,�K�D���������>����A;
�����F[��
Z7�~h��]��[�	?,9��
;:�p���z��Q�����h���/���W�O�s��C���u���kp4��������u_�_�����C���W��s�sJA����B��uTwgo'���w��,�x�^{n-���w?�����[�_�m�}��3v6�Y�N�i�����c;��9ei����������������u�:�r����
�q��U����m��-�V��^q�Rv�����pLS������������Rfr���!�C�Z!/m�I�[�]�6i��[�'���KO	c������sR�R�A!su'"�[-B��Q���F���Y�v1]l����,'�y�
�kY^��������.�M��v���^�a�_~��������sr3�:���[���*	�J��8��#5a�����Mu�������R��T73�MOu���!�������6��R�%��S����{�����7���+hoC{	�)h����������&h�@[��"hs��@k�6Z#�<������7R�k�N^��.�����	��*q���������0W������+��s�������nQ��!���"��(���"��)D2�D$	D��������R���h������F��L�c]�pLE�����Q�(h�)��@4&�������b����6`9�d�����*�t������ljB�����
�h������������5B8��z�P�w�����C�Gg�hMCW��������r!y���gDh\S��T��J��[-��qz�ml��K������#i�)&s�����G�.�.#�@��S
V��2�/qZN��GNq0����V��X+W��+;Vv�Z9������
t�\�� ���$��cU �*����14~Gk����	*PKF�]��H�����F��'�����-�5�O8���_�f���'��/7K�pjh�������MT���_��7&�~y���(�;��nh�P/�B��:��z��D��++�N��}U�"��
��P���F5h��]h*zE����@B��*4�C��3F� |~z������G��&���'��-t*GU�ik�����,�U���oD�f�.���A��J�z]�*<��
��{��~}���j4	<�G���4�^��%��l�W�Aww���;�Q�����S����
������%�H�Pt-;s�$A��&����wv�[�t��v���/��1
���i���8/�m�>����4*�
R3�� �<�!����O$�g2��P�Ae�������'o��;���{��)x>^�w���a|����&R_R����F�n���xvv����?$.
�����&~�����U�&$_Q�I<m|�B��j��c3����}�f� :������D�C��o�*��6\��pO���v���e��W������r��O�&S��]���T�J��t}��H�#�`����~�0s���.f�`��	��K~�m<'!K���/��������
�9�	P�WG�'!�(Cf�7�f6�A<��8�M�����Ds��(�<9W�oA��S������}�=O���!�,:��������C����k}��B����0��b�%T@	7�-J�X<	���x.��r�^[��?��y�����J����K<L1���P��jUA��F���B�E��R/Pg�����O����������x�W�~�����n�2��f�I��u�e�x������;���_���~6��(�r�:�&DL�;�r����/g}��1�I����.�<�1dthS�����(���'X���L8|����!HG������Z�����o�3u�t��C�G%t���z����"22��D����N���N�m7��KP�_<�xTQ~^87���
d�3|^����t�miV��d4�uZ�Z�)r�T"	,CSeU��Z1ok���jj���k6��n42U������o6����<\9����SW�������fg9*]���+\�L���wV������
�}��<����	�pTT8b��Q��\����";?#�����I���3)�Ja/V�j{W�����r�3��c\���.x+|���=7V7�����t6eg�p��M1Dl_ y	*O~MLP&���0��v8��:�}��nj
��������g�gT�T�X5��u����|pjcL\�t&��	�������h"�fw���[����������8b����0��|dS|hvVtJ���U��AcJc�	�C�17N��c�x�����.r���q����d�������#�	����hB�c��F�3���fWX����S��;���Lv�3�*E�g������y0�s����d��*�1�#��<6�w���Q�Qd3o�>g��5a��B�_�vn4<]��p.���0�k��_��x��9I���������@ ��I8EXSw66y\������8G,
$Cu�����A ��Ify��n��X������d9�� �LT+9s��]=9�}���������A���.&�^�WrzM���1���8=/u�����z��5zgo�a��n��\]R�}{��Q��u������\����ht{[%Hc���O�����M05���FLS�H[(���GYh�����N������:"###d~����$�"��h!�$�M�����f%��/�Z�m��Z�U��A�Z'\{��U��~�d������\���ih�/��i����p��D��Mh*�����.���Mp<����~�\����><|���G���0{�>j��2��S�6�\�7(��0
����5�p�xO>}��i(�G�{������'p 9��w�������Z�Ml�c�!�"@P$�C��IoO
�hZh:hzd@F�w��>O� d�����5q���o(�Q&9}�_`�����)���T^�(3�F�S
~�X����������'�����/���E�Q�������w�|�%���3%��*���>�8V��T.��U��D�����:���>fx�8��4��<�"��c���i��t�/�nG�����te�o\'�V���V�J_�wn�!Kh'D�g��H8P������w��)B��g�g(B��!�������8��Wx���i������1�&����z��O5��X�Z��(X���SV���eK���X����tg�f�g��,I�X�F�����=�K����R������4�P�M��w>�G��;��ku-:J���s��W���ye��Rn��1/�3!�(�q�
�s��7�7��}?���(2t�y(	FJ9����	�����a��W�� ���.�i�y���|�'���sx��>�����]������Zzz�v������y���j���g�z�����_��5��6���Qg^�=����&G�n�Q��+���/�s��#�D#Ab<�����DJN�P��-�e�R�<������9~���,OaP`J�U�
B��K���
�-�][�'��l~h����7�_�������$~�3������O��_-�o��{��^���Xh�M�L:S�D5�M���B�"�A�������{E��=j�N�	�DJ�|�[�5�Z�r���!��k��
z�NK	B�X�.���>����7uw�x����	5[�d����/��K�I�������L����p�w���mJ<��X�&�y]�F�#��|W ���V1����������#������]���l�X+����nWU��sC�g�pd��#<�~I*�kd������Y�)�*�[qs���mx3e�lp�g�q/�`�&?G�����n�D�!��N�s�/�����w����+E��	�'�������V�\|A������@���D$�im�;�
y��L����WWX������}8ox�IIT���m[��,U.RB���Pn:��!��ie������yN���R�U�&���J��1�@z��A����S_N��|-��#�<b��vcN������h72���X%�����F	lHq
{���q��WD�����""a*N�.*TqUz���_�v�����o�w����n��i����D_�g�dg�=XO�H��������b	����:{�]�}�1V���`=��3�z�L�E������+��!����O���6�\n4��
���0]j�
��C\)�Jk��`����U�7���"�ymZ��������'�zy��'�U��Fs�����Jmy!�Q+e	�D'��^���7����_@���#��&�)��r
P�d��|��Y�&e�f�H�a�h���F��lq����4��&Tr��5�y�"�	���.}Vqe��2	���T#����+�1�
�N$ry!�*lv{���s wd~Cd~A�q�����C����E@P�����jo���ng��(�v`u�XL���D��U%9��m��sY���Q�_����]���������\�1��`�����[{vA~x������Oz&1�Q��g'�r���Mr��8+��}���/xbn����'~2���v�l�rLj��j�=�D�2
j�
lC����*A�e{�����z��R�����K�+���d-�"9���()�=_���|+������um,���.Z�U�K���],���.{����p��6,�Rc�\���}+�t��n�i�9�E�0�H�I)ij/.��$���*W�	G�s%���jBN����/��
m�p^U�4���itpB�4:��LC���i�;�a�3
0�`W��J�
�G&�'g����������im0=I��~M��1���Syu"�F�E�����n���/�N�7���z�������j���*
u�����7zK����%o�pq-��k��{�Z����Y�G{���-������"�I�3PTY�����K�{���Q+M���}�E<9��1y �:�����>]��P7^���
`��f��H�������z���zF�Er��^.�a�����V�\�%�$�1���e#�f��A��:��C^���E���S]R�J�]T��J��:^G���t��~�9�#�b"�|�%^�
6�������f�����']q����������q�*O�"�rU��Q �NZV���zGf}�O7���K&�����+���dU����3���x3���}
�>�E|q�
~C��&�����0[�
��|?�.�;����������6y0������|���=���]H�����"6p�$���h,/=:�*�s������/�=��5�Y��������}�>���a����Z�Vk�����ZvU@������bB�����D���A������R��+� ,9�!#XcVHk�2�L�!-l�
�i(��HZ�������N��`Jh���Nf��m�o�/�+�lQa�������N+��o������}K�}�����rgVV��I{zrc��R���5�e�A�n��+]++�������S�&�yu�����@�S�7�����cYYUA�)+ �`��	w������8�q~�k���)����`��Y��.���m�m��/���(oA�H )�Q&�Bb���/vR��Cby��R����'����F^@�u�VA���.��u�X9^N������^y�<�N('�\�����v�
p|�����#Z�����$	M��������(��[>��:'WMz���I|�����=��]w������z�;2�����X�����]0�/O�M|su�/x��ue3�L�m���V�a]�����g9���g^�2��
=�F���G&<���[P���:h'o��B�j��������j�5���<�7�OS^RC�b�sJZ��Z��d7�^&�3x�����:�T�����L]����Z�mk$�����r�,���ki����h��G�h��o�
T�/;�2f�KL}��Y����R��|[ X(��7Y�
��2�e�.P-�.r�w�����=�����s����&�&�&��������?�}�x�����+�zJ7����Z�*�A��:)�iJd�W���F�]��F>'���
����Hh;�f3�3�6��������@��yY�����t7���c�J�3��$�����o'qHx	�*i�tKz%�����D(��c��*i���)u@�-���.��e{3��f��u��v���e2���z�!����l���7}�����$�3��m�g'^[X�k�wwM������h���Z���_�:<����O�w�sJW����k��5_���t���V�9��Yr�,�!��o%-��G�����
�i�M�i�����y�m
���X�.��z=�1
8�!1�8����z���f�\��s�8THV���!�8�	 �t��
D�W�/�	���&t�M
)����{��"
����FC���{�>l!���Hu�N:��e�^r�wX��Y��{���OW�V�5��/x����m��+���p��w�z�'�L$���2k��q9����_��oSo�|��'�{��7�v;�������#�O-�	������A]DW�[���cI�����:6u"2r��\P��!"���k����=��2/��:�px|
�jU^~eu8�&�����b �U�I��%@���K!���
�,+�)��e`�aY��(s��S������HK��?�B���	�A,K3��
R��()9
P�x	���Y�����S���Rp�����g'�D���#AF:� k�c����27\�O?�$>���MlNl$���/��������mEm��
Ji�(��_ �
�FuS���:G��{�1�4v�#4r���	��@	7D���^y7p]��~:J?pe>�R"�&�����d�S!��	��o�1���w�v��m�����T����rC��PS4���C��Cm(����a=X�����
(�/))1(�=���&�w�� �IC�%���P�������.�TT������G4'���#h��P��A!�����	��$|GF�ba�0�����W���W�@�\3���� ��0yawQ�9H���)��hD(��1	��z��"�|/�xm��e-������$�=}����N-�J,J�����+>x��&�����[�����������-�[q��b��������{�����7�������wc���������wxw�_��%�u�������o�YO����+7�O����q�2�,p��&�4��/��s�^�	�NJQz��QB��<��s(�H�%X��f�~�L�\�iC�:-�kc���M��Q������.�H���8��(��^AV�����cV�>N
B�,9q�D9#Q��N��(%~��@�"��@#�@gRW!*�
��h������A�J�0���O���o��:��X\��(/����
{��8�vtp��#O������{},/���eOvF����@�����)re��_���p�a��]��s������
�Z:Vs����^����{U���u{'�*�O7������j�.�v��1�s��VY�D��OPi���6������6u�:��p����b$ep=����W��3�*��5�����5m�n
����F�y��0�3_4kf������|�����an����
ZQ$>��(���KQ����+�RqbO��(`s��?�g�������������.{���w�'~w��|��;�'��O��KKt$������N����>����Q����j����l���'��E&#��CY���w0{I�������i��z4}JC�-����F�/X�x)����LJ&���T�<^����K����M��V�L
6^�s�`+R�F 33�
P�\I��pL��V�x�:`�LC8����+O�����������,�g�vS��@�t�]7J6,��}�tb�����@Nz4��<f�x�?�u{F/��#^��]�O��*7U2��������_�Ws��3�e�P� k-e�PV
3��d����.�/�,�������n��e�VL|^(8Lzk�u����AuD]�&��@���)59�����af=�YF(
Eo�����;�9�����:[���&D6h�U��9Dje���l�����4���z��N^Q�[=�~�2�����yN{h��<O���a=d�I:�T�C���~0

5�&0�C���J)�����0h�e�85.P���H��
���84�""���63�Z�3����������VV��w���U�5����+	ef�e_O��~����������'~����� ��1���07�`nran2�Y>k<;�]�\�����������>��YZ�N���\���^�� j�����&�����B����`���D(�N]��ca}���^oq�Y*�����������W���6 �;����u���\�\�������\|���)r�l' ���$��
�u����IX���y=
��9�����%6�rt-Z����-�
�</������T����f�3����������G��LfOF:�v,��1C�o����t�Bv���V�>������e=��|�,
�$�����%���k1��9^%]��ge��}�a���D�gP��@���x���9].�q�f�cDSv[v��6��n����\�#35A�8�$��:��DrqB2F��0B2`BMj�/[��x��
o�G�-[��>�H�X��V�}�J�._S���j�Q��$���`U���?+��)������������7>�7�6j��Q�qn_��'/?���u�������w���s���p��m����tWU�<��m\{�-�q��?���)�$6-�<<m}F$�*p>�P�hJ�a�+�`��Z��&R.K[fP,�����#�6�Y�%����8�k�2� {q���p]. XB��� @f�����
�,^Z
��g&3$I8S8{� �{]����4�uh �k�Vw��P����PP��
������Kx�<>Cf����������������2�Q�EU���7p���K3����O������U2Y7�&�s�=P��&E��)�)e�r�!���p���"���J���������3L(a&�H(�>b��aIM�u�OC�o"���I~�1rG|����5
���/�S9�3��V^i�{�A���,�8?j���W��d�8Hp��w�7����&
d���-�������I"�"R`jy�J��W����z%
^�
W\T
P��I�/T����Ch��Q�p���Ck
����4���^}���������N��J�jO2�P��� H�L?��X��_jl�z��'X}��CU�?���
g��Z��~j�t}�U����|����V�
@
?:�l$���L���|�2��`����Ec��x��������X=Cm*X:��.2D��B9������0�JhX��������G$��>	#)�R����<T�c� ��/�y7�����T�$���L��|02"F!����IT�h��I�] �h��0�5D�@ii��P��$"��x7��-e�����3��'���n�������z�������7��R�7�;�/��v�����<A4*��E_���@F0�����;bf���k^��"��t�w�;d�5��}�>Y����PY��=����i�-�HD�16]g��"�$�^����)5����������i�+j����Ae������B�=���3m�3�k9����Y�-��~�E��1��AY6��r���z�C�JO^`���	Eh�D��@�g���W�W�O9}������K�IE(���a�t*�M�:�`!��N=���u�����
��r�������1�(@�;*Z���q�j8b�h���.�(����u'���6����^,�(� ��-�e�<<�+��z���d����hx��e1=��5:)h�co��t�O`����4��������\�p��{mB�4��`cg��!'����d$�$�_��O��H$���~���G�����|<^ro�?�f)~��SOL����%���}����0Kc�jc�eg��=��m\&Y��hg������*��	�j�j��p6����[�=�8�Od�<|n��X.L9���1�q����/f�A��V��,�*���R�i�Qq�Sq@#.80f�E�$�>�B�z���r������+.���B!O�x���s>h����t��\�>��qm���j�5�u���Q�a/�LS�>�*��C�/�YE��T�p5���o8�YF[�8�c�fX=~��W ���ga�K��7�{ �7|%���d��a<PPFA�(`f8aH�@z:�%���h0r����Q�x���7�F-�H�z���`��x���-/{c���.WE�m��q\�]�9k���I��f��7ed��9���S(^�?��������W���9z{v�L�7|,�������0.��������j��(����0�E��+������it�H*������Z��j�J��^�W�p�=��QI}��/(q!8������r��K�XT����M�S3��b������eyov�o���e|v,�t6���lGvkv[vw�������l�MlU$9�)w%N ����9��CP\zM����V,DRV���D�����i�h�h.d��!�h]2
&����	(��h�F]�W�d��C����l��
^>u���f?�J���L[��f/Th����3+������v�'���	�����]w�s��o�i��/���;B�+OM�)�lS[E��G��F�N�A�7~`������D�o,�� �9���������C��e���4���������l���M���������q�i�>jYh6�@	!Q#Al<��!h}�YH�/P,	|��h�\	��"?����\^�\I���j]�]]��~��]\�\�.��tE��r	m^�K�8%�Y���N\K��;���4,w#�#��9#���R3����y�d�E~����[?�' H��!�5����� �8�?�)�����&)�����U��;4Z�X3�(�k����L���whl��,�R�
���P �M��������Tyz���������������������]�^�)��?}�D{MM&v?���=�k��?/7?�6l����WT/.�.{������N�J|s������G��?y�?�`�G����<�����f�#�]]i�5��t�t�^f��FaJ���Z����F��L����������
C|�vu�M���*���T�J���u������\"�x�Y�[����O�+��@C�DVk��h>�J�%����%H�������R��/?��.�p��3����������}��O��s���]���e��t���t+s������0*�
F��P??�'/��U�Jy�b�d��F�n�n�c����K8��@R$�W�op	�q��(S�^N�k�SlX��[�\[�v�@�}��2!�!����z��1/�����m�v{Y�����IcH�8����`�pd�3���5�
;T�9���d��J��$��B����,C��w��]S�f*��5s�������;��v{��xG����S�Mo�7E��Z��o�zn[����-������om��^�a�8�Hi��d���Qb69,f�)�H+��&��)�I-��A�	��b�JeW#��a0Ji��"	l6�i��$wKN�#-��0��4��.�uH����n�3���
��d����L�&��$Y�L��f����l��T�p�����$�Z���9H��8���v,�(�����|j#���K�Cj���$e��������D������1! �����]q�G���F����`3�AI0F�����r!�����p���8>k�y�o�A�j��i[�;��2Y�l�l��&���HaQ��?0<���������d����E1�Vl�����Z������n2��tP`z��b��h2�2��t�
�j%�g���,q+�3�MJeDYK����e�g�&�43�_`$�Vv|�
L�`�/u�L����5&�{�1���I��n
/�U�Pw�ja.T�B�p.!<���M�f�Z�J��&p� C��bcR�aT/�L�T�L�u1�H���( q�"2�����H�mD ���6�

fU��XH|��P
`�('w�tj!?5,�yW�c���scj
,�{�O&^�&ZM�J�h�Y��\�����F-��J>=>7�<��u�?�1c~:�:o�����f�
3_�������y����[sw�>�+�4��Qb��k��"����%F^�X,����%�7� ���E�|�����z��%�pX"K�����eTf��+����rl�`}�(/� �@�����0Ju~�+b��ZP�����?[�]Pc%���P���5D����$Y���"�"*�L����Y/Yi��n��8�(��s���e�nq�K�I�T��d�����su.��B�MTJ�l�d������+����]2�.���%M��$������L1��C�T����-d���L�y�����%���M.��%��X0�tt�����8�$4a2L�Y��L��	�����Q[��DE|V�	����,<�������(�p~����a�m�
�}f���|�f�V�^1�;���e�����ul��I�)X+���PY����z��W/���26�@�^"�
Z=��q�����0�i�z�H/�p"/��-3����b�;��Z����h����8(2��0��� �v�y��,����(��c��G�-�?��kA��!w��v��D� @&�a2�-Lh;$3�$<&pJ29�o6�`�� ��)��U�|M����P1�_-�*��fz���
uE�������8�K+��7m.%
lu`��V�Y?������j���Idy8(�������r<�����r`��Y~��%(�S*��lgml���g��6l�Q��-,\,Foe���X���_h�%\���:�r�������g���
�(���Z�������n�NP���������
9����� �Y���D��T�9��F�"F�R*Jp�&�dF!M:�h�?C��h6���t$�=���d�&�G�\�Yf8 AC^'>	�\�8���*�]-��z��
8m���H�1mt0\~����z�/�ibQ��q�O�<*:�yn����~��k����td���+
�<R3~AU8�����t�

G��X��'����F�u���0&����M���Lm���X�I����	n�z^�V*�r���QCq������ayc�����w��v��!��8�!�{�%3���~�9�E��j)C�������{"��`{��de��@6#d:��D]��n��)�����b�����`�6n�iN����������B@��i
k��P�1�n��"�p$�&F���*I��ar�����G�{v��	���H&5�}����c'mc����8%���g�/*&��Xy���|���O��x��S�k3<W�2r��M�C��i�X�~p��R�oQ/Ww%�w���j��9aE=6�zY��p����E�0�M�����6Rct��.
����n�
�,OO1i�
5G�� ��c2�1������3is�Y����B e*�t2P�t�C��ZA�&F�(he����g�������s���s���E���z�5��`����jO���c��24����
|�,��R����s��}�Gl��j��e�^lM�4�
Y�4��6�T� ���#���,=�>��w��T�-x��4�z^m�t�uCA������AZ!u4�����Sp0W28��W)��9�j�7M
|�����Y�����V.�D����a\R�,_e�$���Z����Y��Z8�p���;O2��s&�6Y�mH������+|��e��e�����-��m�gzOAYe��%]��_����u���(=5�f,��7��O�A�2s����g'�~�7K[�\7����":�g�\"���@��n��u1'd�$R������D��s","U�u���+�vXY��N(Ij@�<�,�$Kp�o&Z�,�M���V�����2��iJ�X^���������R2�6�@z��&q&��"�v�TI���MU}@HD��f��6�������/$�����v����������p�q�kbs�b��;fV��,{��� ����_CTx���O�L����\�j�X��;��mAX�3���m
F,�5H%�-���.g���y�9�*�4P��G^�����;�2�2f�����v�w\�0�s��A����������T�:���+��J#���d�~
�j��B&S�h.&�������`�� /E���x	j��w��oz[aw�����������1��"wZvv�*�������C��z�����]�4����e*������hg�������z���^�~M�F��e�Q�Q�Qc����j��L�O�O�[Dgw��j:�vo���]����"AJ7@�yO��.�Z��������^�������*%vGeg~�`�2���Hga�9��4�m^���P�1d�:�6����F|�x
�*&X��`+�u
��#�,%��A8N:�����d�FH�Q@��6�[DN
NX�@MQr�Ejo�,����&Q\����S�P�\�i�3��g��vx�v��N>:�����LYx������O;����6utL��r�m`����~]�Iw��s<�U����p���FS�����-]3��v�
%7���|Kzp����;:����~��+���T��WT��!Hl�]<:5�>��{�Pm���D��25�
���Jf\j����`l�$k%�N��Il�d �MG������3�������:/����`O�/H��b.�.����G�&���J%h��	�aVR�&9\m4	�B�I`X�Eb���������m�%�f��4����0�5~���
�������mz�(������oJ*��3����5�j��u	�(>����sJf�.�U��V�2�������H�|�>��W�1a����pf4�df���>�����~���C�����{�lT2����j}�N�yGA�Qd	 %n�i�:�;�w������:v�LH�H��T�'2�L�j���[����`5�E�����S^����E���d���
��9�����+�oK�|�Th�����4
2c����
���9~�T�T�����(�\�
TrZ�f%��Q�l�(FKQ�f�)%�xs0��21hE����4h=:�V�&q+��h�K�>+�� x���7�hOi/h/i���G��=�Z�v���������Ms���i1�����x��������)���u��e�t�;��t!!�#B�6�y�
(�M&��aIJ2	��x�0
��L��B�� ���� GI�ap��RYB���S��>Zx��`+�2���f��2������nv��'P^�O���������PZfup����4�BKUU��N%�hT�P(���Ci
@�3]��l�U0�SUs�E��
�4H�^'zG���Su���Z�F��r��E�_Z�^�#*�{N��Y9�O�T���X��YLG����o�����(�'�%^E���c��O��4�,+�B��B&�D�����<���L�(��j�/L�T�J���uJ�a��	�?�/�]Nx9�6xY���!�pB�.<8��T���y���N�c�	�Dr���9�#�����"9-9}9tN���}��KaF��k�-��0�����<��EGJ���%�n����������>[=\-������&D�H��,�H#$�'bya�+����KB$��.��6Rv
�������v$������(0��M��.K��R�}�a�^8q���������O�Y��	�44�����@V�p���=eQ�d��8�����O��P-lY6}���K&�}0�T�������c��&��A�e�ql��5��&�H\�a��������7��/�]y���j�k�,��b�.�a����5�B'-���gC�L�	
~�N�l^���#/�������$V�'�	7'�%YJ�1F`a 8��#v�,��FbULF����+`:���4�Mc,kX+f*E�f��UI���X�������.�Eq�����s
�%��q��V���%�����1!�	Mc����a1��<���L|������x�f�����`@*�K?	^���-�*Ox3�h�|1j��NV7����s4��������H��y��p/'��[��R~8,��j�9~�o2b�S�`O�h� �6J>+��?<��`*d�1YG���6���M��1^��[��'N��������~5q����Z�H�V������>x�lL��%8��g�Y��d@Dq~W+t6�o@�\Jt������N�I�AS�1�c�~�:#�['0�A��r��]m���s���o���X(T����/B�BR�/�zI���&]H������@&�H!{d���2���P����}�����P���5L������1Okp{h�C���n�^�X�u��W#���6�����b=S�gz������k�U���*��Ph�j���w�/*��>�p�����=���������6VW{�����t��w^���%�>L�=��,�9����������7�n|����{��5�L���51��*��5��Rvi ���R,%�P�j����[Z�]�E���bX!T*����+N).(Dv�u�xI��MtJt~k���:��(�����u^������(Z��W���(��Orp0i��S��PB^��D3F���7�����1�����Tw�C�`�7�X�L$
�����xr����3��dqJ
T��JC�W�O4C����Ll:y�yR��4��ff���U�-}3�
u�f��"Yy��;�>	m)���U����]����{d�{��_����j�C�v:7K�Z�T���:�t@\"������?#~E���+���R�X/�,�X�@�������`,x:x.�mP	� L
v'���Y&�cN�$G�Y{����T������e���a���}��@����^oY��	�B��^�	��t3 wj^�g8l8���<T��
�?����m���s>����(�IJ��8��{ l��6Np	��S|�`��S8��a��[!R��H�L�
�Hp6D��P��-!+��J��a?�G�� j��.0$�4�7kR�R�U��Q�w$OJ1H�@~������u.]���gMyeS����������,	��O�~����h���7�����m�q7O]|CU������K|��v��[��9�"m�7�O���J���u�F��i��KE�_�`�?��8)���#�I��nB(0U��cX�>��`��7�$M��~�i�9�@�����
� #pQ��f��5�.E�
~~�q���ED*W,[��8�x{BqE��\����;,=��%n�l�����>�-6�*�����nw����m�l�v/e�e��Re�����*�[
!T)E��$�)}0�(�R�I�J���/h4J�O^
���IP����nA�q�6'�y�s��������SC;��6��~|A:p�Y��{�8���j�|��fS:CN'Q���Az����>YU4M�@��A�����a����0H��f ��D
��V�N��3��\t���0����HI}�};w����(M[��h�vG�����~�q9?�E��-�u�Z���u���u�=��+�ct�aX� ������u����j�Y�:����/m�;����h�_��\��nz�+m,�p������(�%Q���>�kl/�n��p�� �����&�~3�vu�z�3"�j��i�KA4EPV��]���	�����*B��Q�AQ�P�'��i'��].���4A������<�-���xJ�_G_���,f}`�
B.S�.��t$��2��G���&q��!�8R9��
r��:����#����2y���o��i
	,"��b����j��U�@g�f�[b�K�fA~b(��]������1���6O�\}vLm|��L��%�>7��

:��I�6>�+�$���_C�,��qs�z$[�=��^����Y��[���c��]�������]�/e���L,S�����Vx"6Q�D"Q9,Ka��4���iW0T���x�(�t�_iz�	"�Eo�x�s�����AIV��V�b#������#9�PE�����
��>��9� �r����)\Q�E�6��T�q^o0��V�	 ���5�CV7e��r�%L�Q�D}�\'���(�H.1O���?l���X�B�v�aV�k���c���	k �3�b0��{�������E��'��y�9�C8��8D�[��vAs�>V.3i�`>��F��&k���m������[M�����V�����0�S���_����q7��*+V�)���~�9Z�b��$�YK�_L3����B�����q���r��x�!k���a��[DU���jr�(��T
���W���V����p':�N�������d�*+��P���GD���}~z8�Pc��s�n�K�B�&4VS�JbE���+��{[�9�x4����G:������N/��+�n��"�yOT�j�R ���U3�,Zn@�����fF��w6n���fS��H��\���';�i\��,u:��b�]�W����3{�����k�jZR<.���=�����o��W1�E�s��t��gY��-�Vqi�en���O��r����w��8	�\��#�����)���H��)������}��l}2&����}�q��?�P��Y�7�{���S�%�	h�9���]YH����OA����`��	����?�H�(��vG"���I�RN��4��D��Bh��9w�	�(k�go�O��nm�o57�<���s��\��{��,������<�9"�g� 9�Bz;z����B�I����:�\	k�4���0�GH����u;����([��g���{w�Y��l$=d3��k����G�I��5]-)�e���������������>B�����
endstream
endobj
101 0 obj
19971
endobj
17 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /YOLFCB+CenturySchoolbook /FontDescriptor
102 0 R /ToUnicode 103 0 R /FirstChar 33 /LastChar 33 /Widths [ 0 ] >>
endobj
103 0 obj
<< /Length 104 0 R /Filter /FlateDecode >>
stream
x]��j�0D���=�� �gc()��:�EA�k������z�A�z3�����g�HJ����`	�X�
�gux%�m��U��&*��a[���@m���WF�$��\���h� �'�}��k�w��D��:r������A������O�>S/�[�F�8<*���Dc!�'��i��t����4&�U$���j~������O=?��c�
endstream
endobj
104 0 obj
207
endobj
102 0 obj
<< /Type /FontDescriptor /FontName /YOLFCB+CenturySchoolbook /Flags 4 /FontBBox
[-165 -216 1006 986] /ItalicAngle 0 /Ascent 986 /Descent -216 /CapHeight 739
/StemV 0 /XHeight 471 /AvgWidth 464 /MaxWidth 1000 /FontFile2 105 0 R >>
endobj
105 0 obj
<< /Length 106 0 R /Length1 4604 /Filter /FlateDecode >>
stream
x�W
pSU���s��M����@m��p)(iMD�/��)QI���tiBi-L�����O�7%�VwW���]Yv��[���G+�*�+���u��qW}��.��y���������������9��9����;[�A)Hk�����������K1e��4�������8B$>t���VS��������b��-��mP�23��m��u�)���Z�%�'�������'��������2Q��#��5!���cG�D}��-FW?"��$�f��I��y�
�P`�������&�m��c��v�`�`^��n��������o�N��x!�?�:�,��xxE�x�2@?0��im���u��4�7����D���^����{������x������!V�|�2�R1��� �2�W�DAv�4vR���n8���OO{?3����_������N{_o����k�y��Fm#������K����@GE!;O) |��<� �F����m��y�b)�����p8\�4:�q��c�u��QF���eJ����~`���;�e�������{@h������`�V���!�!�P��v(r�B��v�=���G�-T��W���Z�v!RIF.����!8-���i��i�.K�[���]�.���t����.����cKGzF{x�7����Z/O5�^�4e^��W
�I�r����e������vX@Pl����A[����4��jbMB�q%���AaV��mq�n�a�pd)[���2���q����]�L����l���<�����F]���d�^.�ke��$G�I9n�-w��){��������n?+��?�G��.�KX�8��[��&K�lu�.I�\,��bR�-����>�������8���s��9���3)�����A)���2�cR�sX��g�������
�B�0U(RM
�DA�U[����W-y�$�����1��&y�$�&i0I�$�&�3I�I���:�xLRl�YZ3���������:0���?{�=��.���4�6Q`�}lv�[��6���,/���'W-����2Cl����#rs�C9�}9�C�4�����[�k�cU��Yg[��E���Bk��m�fuX��V��*Z�{����0��da}����������m�%���a
o�,�����
������d�����q��������x����	|��y�c���Gc1����O����#='��g�R�^�������C�1T��r&�*b�#�T8�?~-M�e���OYh�d$:h��XU�I���<9���*g�;V����W����H���1��V�N������0�#g��A��0=���9��L��P�#������k'���N������sSTx�NW���N`��"1���~�N'�<��+��?�+j�n	�
�m�9j��{*��"��1�4�(��$�wg��������s����m{MU�y&d��['����0���r���)L)`e����r:L�� =��%�a$v�O�JZL;������e�JZEC�&Si���):�=I2��|�B-�
�?�����zOt��2�J�z���4Lca�O��*���z�~�-8�TMw�������)��WQ;u��i��f��1���=�}"�V�<���pCx�^��_�\d+c�;������h	"���i���|����(����r>$�����G~��8%�g7=@��t��x?Ea�P��e7���f��:����	��/��Q�Q8,�$| .�~���!�k0����n�
D\��������F�D�
���u��me�3�{���/�w�O�%�XxDxBxN\-%�{�����-��e�5�Yr���(�&W��I�6�������~�����#:D}���t�^@Do�����	}�|���:v[����l/K�c$������\�.>��E���y-O�����Y��qa�N��o�Yb��������S�1qLj�����I�X�������nw��������]��;�+�h��E��	�IX�MtP1��\��2��4��+p%�CYOu�H��F���dn���@����=AOR?=�H�5z�^����0�o�����?�|L���"�;e)�����9��|db.��\,g+�]��5�-��$����{���y�f/����1���e���s����+y5_��|����+�
�>�?�?D�D�Eh~ �E��S�7�w����[���/�q�$�T!�FOIoI�H�JY�,�Y�C�Y�HG,G���F���de�"����
�����g��1qL��3h�����>d�m��s�)%�5,�<,�J[��_��w��x���q6{��T����oZi��P���/�$|d-��;�NXi/cnb>����	���H[�l����n^xS0pcY��
���W2W��S��];�S|M���3
���]��{��*[$Q��JCjM\���uq��jU�!�	(W(�E����:�b�K�tUM
5[�KM���M�dn�6���T	��~�Z����6
��j5��_��;s�8/'8!�|h���������^������J��=�J�j�++��<;X;8�F�d5+X��5�e���N���Q�C�jM�F(	%����h������JuV��n��8���*T��F�T�r�e��ph�2X:�>0���q�c��%���|��|����]�������*w�8Ak�����������}WV��P�V�h�N�S�����<>�e,�e��uQF��(F�����0pCg�i���M�^E���j[��8&�8������5���yZR���O/���D���BJ��y~�����RV:��73=8�5�8�W2-����r�
��L53F���5��f#��:/Yb�Z�P�y	fO�!�[��x����R�[U��	A��/WkK��2Fc�L-9�%&y���,0V�\����V��[�J�����V�0RF�(���r�����Cm���j����f�q��2��a����3,�I�T������������~.�����e:���[L;�OH��t$:/����O�aU�`W��5�R���C��fUq���p8��n4C�������XCR���l������+�����pmCT	��{dBc�O�1Xr�����	���oJC8��C�ni(8�d*yQl$��
q�K�'>N���	^B���	�����|_~	^W�oa�[M���"��<��q;���nti�&8���QSU��j��k�����m�����d;����
endstream
endobj
106 0 obj
3246
endobj
12 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /CJLUXD+Monaco /FontDescriptor
107 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 211 /Widths [
600 0 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600
600 600 600 600 600 600 600 600 600 600 600 0 0 0 600 0 600 0 0 600 0 0 0
0 0 600 0 0 0 0 0 600 600 0 0 0 0 0 0 600 600 600 600 600 0 600 600 600 600
600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
600 600 600 600 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 ] >>
endobj
107 0 obj
<< /Type /FontDescriptor /FontName /CJLUXD+Monaco /Flags 32 /FontBBox [-610 -421 804 1223]
/ItalicAngle 0 /Ascent 1000 /Descent -250 /CapHeight 780 /StemV 98 /Leading
83 /XHeight 561 /StemH 76 /MaxWidth 606 /FontFile2 108 0 R >>
endobj
108 0 obj
<< /Length 109 0 R /Length1 21472 /Filter /FlateDecode >>
stream
x��y`U�zo��o���Nw��@�����,A�	K�#a��AA4����XDA
a1l� 2�:#����:�{��ATHw��V'�f���?_'��n���{�=�9��/�!���d�M����3b*!b���Iu���5B��)��������������v-�;��Y��}����;6�f��~���='�M��}�����G����s��)���!��C���;�O>E�����h�%�]7w��h{�z�����t���1�"Bq���=AD�3�
	���5W�u�����&�
�E��-�xc9;x�	{�e_�3�\��hj������!;�O.����W����S�Jz��Y#��R�K����Y�g�e�_6��-e
����8?@l��Z2z�����E >z��mI����p�����.$u���/�c�p�������J/�(��3�r}����(9>�������'�|�ZiV��;�v
�Uz������C
��pg�PK���� =@F���_>�������[�����������7�=t��woKb&:�nId_i��������@�&:�V�������	d2M�-��x�~�9_�w�_�@C��
�+�} X�k
��m������-�q����du�tt�d����A���k
��VGW��n�����������`�op�U���3-���[iR��G�wr�d��t���`_�U��}c��f�m��jy�������H^�#������kS���r�bU��Q�+ZEQ$EP8�(1�_��Y�Hf����c3�2*�+�p�����cJ�K�����/v[�,e%�aS���.I��������0�?������oe_��:�W��W��+k���F�8����a|�����^���[9������;�����Y����Jw��f���%�W��a;��d���$��n��?�����H"}���e;�s�H��/����������>l��"��>��>�z���3�'�����V����\�$���� ���]�)T��)�Q|�6j��h��]}����>�������G5��X:{CiM��:XZ�n��~��y�d��������O��<e�O�i^�)i�,���~���
���`�n��t���B5%-BJ��J*�d�1��g�w�Y#F��g�d7����~��������Y�����ge�2�g���a������,��"� >0C S�">B:N�d����/%h��pD-q�W���&r��M�$��${�,z������C�W����� C�^��	�I��b"G�g6q>��YF��P�;RBt�/�:��"r������Ud)y�l ��.j�!ZF��������<zJ8����#Y�c�X����t��O�����BaM����:;�%1�r=���,�t��%���9-w�����������cA��H��9,T����B��X8A��yn���k��B�0�#�c:��i�'�C9Kn$��"��;HN�3�Wr��h
����X�����q��|
_���'��%�wH��/":������RC�b����0��A<�+��{��[�s�[�p.����r#���������c�I��%�3�9�k��Q��X�����)��H<I!=I6�M������O$S�42��'��z��8��?��-��C�����a^�af
F�]o�o�B�����������-���m�vr��������k���I�c�K����>!E�Q�.F6F�����G�Z�m:�%+�:�V� y�'��_��a�����&j��E.��}�WL+�������M]A��&��������������p����O�/1��kQ�qm�/c,E�+���
+�Fa�pR\(� ���������9�� �~'�"�87c�Z����qP�!u����9N�0>�O�h����~r+����ct����Ho�p��$���J�D.q��z�}���q�U��-��no��OGV�w��7�
�o1��|�?,��.r0�JH�WNvVfFzZj�)�I���������]NG�=�f��MF�^��(�$
<GIzi�����\�,$��`��$��t���f?N�]�����7	���B�i�z��=CWzR���f��K���wJ��Vz���8~�$X�onS����B��0���R��3���6���h�.�H�B@�6#��������r�f=J�����fW���'�N��<r���O P���LO	Nn&�A������wn�7K�qk��fL������Z��V3�\����:i��f~nQ�lIkvK�K�:3�[��1��5�[)���X�������g��������K*�T�X��������5i
Z�����A�	D�UcI����������Y�������^hq�C �����1����bO�rRI���8z�W����JF���� �@����l�?�\�}w��__c{��c_`?l��Q6��P��?���b�}���/i��(���b�3���Fs?L�YL2��?�����p��I�g�$���]dK~�l����������T�<V�����'�3���=�:����OF���*�e��[��[a����|��h�O&{ZH(+����fW^��b��,��r���A��^f^{��|��d������Lc���5�ux;��Z�f�������Vi+)����O�%���2��Y�������������2`����o:��_�����=.�4Vfa�7��������P���aMee?��7����������;`���
�S��a�R9~����%�f��XT0�k@�k�!�u+�{e������1`�}Sq�_�.0z�������70�|�����X?��t?�<�JX��t�H|�`��N��UY�G�O�m����;d��P�������g���kt�g��@���g�dX�i��U�=�W�����p�������t
����]}���{��x�����	��;���=v~�}�}����� �=#������X�����^�D����YF�\cv	�I87
hQ�M�h����X���`g�I,lH'�7��8��7�'�m~�����O ��Z�h�$�����6K#���2a�e��R����6d�G�#16X1��@2���Xd��/�Ru�}1������P������1��`���b�x����Fy���<����hGh7j��m���}���p��m�0.3>o��$��������d���	�z[kLr���w�K�_�N���������+���-���x�z��[�5{'c<,/���o����!�,y� zy��n	YA.ZA����%/G]�A�N)q��0_(.a��v���.�MNvOj	�K��
's�<M_���\�c����>�0�����^�%�	�dq��J?�/�Q<�����(Yo�v�|��l��C��i��U����o�������
��������Wa>P�/�Z�Z�2/��0�nY#]�V4�����7&��B�v}���b��9���x��-�Q�K�Rk�.^0��|�����Xm�.6�k���������2�z������n�FD��%�z�NQd��r����&c�}��z�����By���_��3�T:��u](t��UlO�@'��[ �e��bf�R����N��kAS�ON�-?���ry�� ����A��-P~������E/��%���/��0�y����oo]?��:�E�A���M��C�R�Gj�D��8��{��F�A�	.N��3��Iq����c�R+=��&��f��$4������w+��bb,����Fg���!����'�j�y��[z�6�R�>��[�^�����aGa{��(�i;[|6|�|��$X��kAN����IS��9�%%1?�w��\{/�=%9�����#������Xj)��y�\����F�����#��<������UuO,���rMMm����k�l�&���'q��|}�����{��M�����<�����������Y�K�WV2��;������"�Rh2R��P�����,�N��G ���@��ti��}�pn����9i��|iII9II|-dr]��'�MIW^^�(j��m.�G����Tl0*�����rr����F�\�h���OG��9�4#�Or�8�����O�
6��>���d�3�Iz"6��{���dlHW��v��U�<)���up$H@yn���8�#�_��~m���C��?4��b��a��n��E���b���[v<x�u��4L2���?|a�GK���65��i�T$���|w���y��6��}g�]���Pz^�E�9���^�8B�[8Q�z��pA)nS�J��y�L:��QJG����XH(�*i%�d��v��\�+5Ur���Xl�$�lI"Ve���e����"m�gqs��U4�p�yV�d��cBv����3g���OE����f���an�'?�H?��&��#�~�a���0:�d3�cQ�S��h5:�Icvk��
]��F�Fi�n�I�h���bDK��:gRtL�k�d���1�w�5?�KL�L����������h�/D�;%�Z#�F��1�����/z�����m�x�r���ky6Tf�D+���f�ECa@�����*�&���zXy^g2B����b ��P�Q�[$XF}+����Xz(���E��"�px��yP
��3Xm�L[m\z{�zpE62�P@��,(�61%���\>�a�r�����sU47�N���i����4����nn���g���:!����y���6�[�/���Hr(F[Cd/�j-���^�P#�����%���oX��cK�EX�����6q��==az���|"M>SBv uCE�N��+.k�a]�h���.0��/��U��e�d�=���?y��%��"#l���g�N|h���72:����sG!��!=�B���%��n}���f�#`?�@EJS���x
u`���^�#:�-�K�5FT����B��
��4h������%'�������������^<���x��uN��"�Z���7�Jb���ps�RpE�9 ?>z�?�;��5�]�q�U����x��2����Xg"�.�+�4� PJh���G(c�(�fy�2�N�f��*3�3b����by����$lR�i���������o�����I9���\����uM�f����X�8{������}��7��y��$���yG�n�m���q��~�.i��6XQ��,&���~���f�����l'����.�z��D
!j4Xt�j'���Sq���3��Uk��Jc�f.d�i+ �I�B���G�2��Ybb54����Z��iTCc#�E~����:R8W�m�g_T�%����J_yJ*�������������Z50�@���G8s{���V�Oa����@�
k���P��=�w\�x�������G��t;wQ�H09%���0C����0X��k[��=�f�����A4,�G*�����QS�j8���*�����A�R��&��������}r-0����c�h<��A��}l����[rvT��t�J��I!:
�C�zjz�=����d)YNV�lC�l��Yq����g����I���=
q
�%�K|����=�����R�qV�(&�b�~��'��u�i���	��PHG�^7�������l[A]�]��Y�$.���t��8��#�]N6������I�.D�.c��A��X����	��1RH���`�}V��?��C3 �����8v������<0��e�����rg�����$����=<nN�������`�m��o�e��/��e��������O��ThA�e����Y��;���O�4\B�Q�B���~r�q�\j�)f6�j���!/�/r5����������N�������A��'���������x�Jv�7�����$z5����<��h��8hq������hw�4:���k�_�� ��.�^8���(X��Z��T��P
��A�:��O~���G��`�'���9���:����E~����/�a��W^y�z>��������R�R������?����I��v�����C{,|b�'���Lfq�q��<��L�>�����s��c�z�7&Ci
��+���
9�^��e�V/pd��5����u��B���86[
�0!���=�BY4�	K��CU��G���O�OU6������������"��e��hSdr;���:o�:_�1�Ic(�@��^������v&���e�;g����8MM���N�����q�%�YgR\��[��^Q4����pT��t8�08�/w����q2%+L.�����KU�%�_	6\��j�t�P����%�O�B0�>�������|Mx���YG.>��wc�ZY��-��H+��}���7m���z�[��o�v�C'�:L��ND#�U�w����f�?,a*�J�Et�@�+oHo(�����S�.���+������i���Jx[w�;-|f:�d"~����f��%?��k��R����?�5����e��-��;�
f#�;:85�<����!���7dx�+��:vwi�p��UN��jx8�0��*�G,<36!����B�g�*�p�lq�8�o�<?r�������OI��~��w���a�����}���f��o�g���L�+�������9�Sy����{t�U:�
Z^
:q�m�R��������4H
r���i0�'=&=&?�l4�?�>�����c$�F���F-1��6�y�'lf�'H�C�$�N ����Y���n��;)�� Z����\�]H�P��U��Ca/���U��'36�����F�TZ�Gb-�z��U��Z2Q#�����`�g�
�n?��Cbp���������+>V��PC��?��<��������y�
�s#����uT	=��4�Pr�vS�T���woz����q.�7����,Y��j�)�$w�'9��/����y����KR�����x���I�26mlV��&n�oV�&�&ev���S��f����5;w�v�g^���y)Kz4�l�i����R���dz�p��������(�\�9���s�.�]�*��&!#���Y�`���5�\j���e'�?��/�ms�'>#����v��Z�gw��V�5W�A���[�� D��hJ&��wT�@���w�m�J�Q�C���)����{/^�:5���c�M�p����@��u�&�"��x[��S=�RW��5�����Aw,�u��/�����;;���k���q�����g��=sm���w����m8
k���Dh\r|�cp���Yd]B��Md}^y�vH���4��D�J�mb��<IIJ�.��[��������+oh^����+���]S���$���W����O1f73.o��Q�7��L�Vg��\��e�;�Q��LeW���[3mY�pKlC����T_Fe�yU��a�@2�rz�j���W�����8�|M��y>�i��#��x��;{����|J�#��#
�Y�F�e0n�U������Qy���B�������2����4u<or9;]��C����1����0�����\q��O�gZe�b5O�+��9eQ���G����bw����p|����n����\�2��Lw�I����~��D2"�����
�#8��M��{Y��f�	<�Bd	J�Baa�"�u���Y�P���w����]C��BQ��}���#��Ti���U�G&�O_m��"\�*<2�Y�����z��2?�"sa�2V]>*]>�;��"[���������}���H���b"�
6�����>
��?{&�u����_����E;1�]�}�',�n<�{��^|$f��5���x�q��b>��=s�~Y��1�����%�����/'����6)�cK��iG�w��ICL6���j���B�OpDq�J����
)��D6�)�Y��U,H}����T�@$ff	vZ��U��T��IB�)9!9F�(�]������E4������z*���E�g���>�����������`Xs��U���w!�;D�U#=�ZTS3V�.�E-&��Us���o~����'f�8���O=6��0�w�33F�[����9������M\Tv���)��q�pF+X]�A�+�dA(�u���S�O����'+"��~��V.M��!�!O�\i���K��Y�~��e���T\��6%�\X�
s����d}��1l����2�^�,�$S0)�����h]�����G��~��a��zT2��<��7����|��g??�d�e���I��,=�_���E���{�G�$���V���
��M��4�M}n�v���T��������/&��.gbq��r%�w��h��).f h�2|������U��^U���k�$K���!��M��F������~<K��D�K���X�����c	����z����];h��_|�������_�9M��f�F���O����������G&��cK��/�o��J���"�cy�����B��W�+.6�gl7�7��;�m�.�N�!a�x�p�x����1n��~#�2Rj]2�e��{�1�u��CF�l4���
/�����������k�A�9�jv�M���F"<(?)sr�2E���x�B�Vz,�].���������?�?H�$/�W�Ml�_�/�.��;�P�r^���e�Pu������Qr�,aU��XO}�s5"z�����7���-�82AK�����������4:��AQL?��)�(��9>��y��{�
Wr��{o�Q����	�}��:�M���B_��~��f�w�:����9��I�*���<��G�-��f�N� �b�x_�_�b�|�D�V�����B,s&d�e�-���L����������[�����5�=�ii1�6b�j���]������qW�j���>,�B�ld9�y��U�U���8��t%����������YO�9�o�mo����'�L1itG�R��	�^�_\_:�����?��K?e�0��������go�ao$�2����*���"|��}�,"
���^I�$�A�0�����x������R��_v&��?�|9�F���H�X�s��&�� ������X�E�5/ �h�D�L�x����"��HH���{�"'
����0�:�;�����q��5���~����~�I�	9(!^x��D��*)�#8J]��t,bLH��5_��F��E�He���v����
�T����5�,u�}Bq<r�D6��rVQ���[4vGt��FbTDz���I5`��g�����I������7E�_�*I��IF�������"�������08k@V!�e�2:�hh��4��3�&�f�d��G��������U�=O|!O�omQ����U�*'��E����	�?)�"��2�O��&���/�<�Ox�����`�P_(�OR���x]��2[�>+�41;�M���N+����~��Wk��63�g6-��"w����C��L�V4Z�RRW�����XS]���R59��v�!T��+h�d���!.�'����9�-;S;�$��1�CV��r~_���������PU9aaT0�>�������A�7��&��`G�n~������|��/��6���5L�������zy��u�(�������O.��������s��kf�|���p3�T��=v������;�M�M�$�d����>yO�b������6�����	��H�SE��g���Y��L����������T��@.f\41�
���fX��-n��C�=��DON7,�����S!�q�
p�����������+��2�$��������
���7��?x�f�s_/9�?YEP�/A���>���j�zv��ht+h����l���[�[��I��9��B��b�o��6��r�?�hD��P�Nd�����A��|%[�8�N_�{����,�U��\���W��g�AqFU*v�L1�"$��bxk*1)� ��J,����:���a@:����.��G(?���������^����O�;����O������9pOe����h���a>�=XQ]�/4��|Q�����4{���P�*�F��8[��j,��HlP+[�q`&��g�����;���1�zT9��C�nC%�YU\^E	����!�+������c�f��/�x����
�g[��]C	�I��)���^�+����C��Q�?k�]�'wu|!\:��O^]_fk?��W{�
[�����}�>����:D�h�B8�-�i2����r���y�"[��9�������3=�%3R���V���z�0;u
c/VI����[-��E+o�t`�8Ml*��EXG�����4��|��D��df<B�X-�@c��M=�P������{/<���G&=Q���R����V1��x�1��9������o��z�{f[�G���x/t�����35��z����m.3�5�S�)I�zcb��x;���NAW��X�����tq�N�s;f�6�=�����Zj��	D$7�sY��
�{)S���_�zj�]�<TWy�pVC��4�}�������6�ijgJ4���H@��o���=��_��,�	G4-��5g���>�{��~����t�T��v\
�:c]|\b��������d�H�A�q�XSB��6���v�����5����0R�Ly\����:����R������|��/)�iB���'��[��g*I�sH &.����S����zKKK]�OT�ddR.��W\��f�af�u��\�Q�+���}`��/|c����9����=g�������F��E�Z��k���7���]]G������7A�8��P�1��l>���]d�'�#��|�J����8���9|4r�����]��o�$
FM����I:
�y^�$���]��V���8�E�`��oU{��_�z�;��^�nL���l"[�������}.�A�
9��*�{V<<�4���������:�&���GP
����e6R�Y��(��^��d�h�spz����7�����bjND-4�]_���r�v�qIY����`��#'�y�'|����oLI��?��^�$�/.*���H&�c`:���]k�o���1�.�jx�9;U4�3�:���&�9��7��������_���z���J~~���b��D��0��7c��$��T*xY2QO}���AV��ifF��S��iv�]C#���{^�v]=6%e,�H�������=5r��j�����X��v����-���R�������>������M�n����%��Fq��S9$������e�"ie�.�H�%^�Y�Y.������X$X�Z���j����>���uYo���e�,f�S9`"�`� �
�,��5���S`��$��#n=o>�2
�2@-��\�����;H�K�"ZN_����w��(�� ��1W�p�(�|�o�����x��sX�.x��v52s�0�p����v���i�Z%�l�4�+N��x��P��{<�t>]HOHN��*SMS����=���������w��!���R^��4�4���)�L����m�.�����W���?s����LK�hy!)�Or�3��$�7.��E�n_H?��������=�J?i��e�
C4
���q4�]�%���!
�����2��pa���y�
���H\��>��9�"GV�3+�<���^��c]��`z�eK����JFM	TM8d�}�=���M����������E����d�^��-��O��7p���������NY��v�:�K�c�H:���Z������4k5�������.���:�\��h��
��f��C�KT��uJ9�Mm��B��1�s��#���3}w��U!7����"N���������?��8�����5|.4��q�q��p������	��������������
A����6�&�����i��o��:g��d}�Yu(Vq��u<�]���6�;���I��bKU�G�y���TV=����5l��n��1��<F/$tI�Z!�Pr��G����?Q���647ox��L��AGDZ::"���y��7��|���"#��1wf+���yMs�{�������W����W����).j5���b\&X���e��Yg6����j���Y��,����������b9��b:3��2��2�Y��1cU�vRB��,2��\k:�Y4U�]q�@�w*2B2Ez\�E1{k�jo1��*}T��8�o�a~E��cV��s0���i*e��/Sg1�,����sF���k�*5��F3�"���R)���d�%aN��Z�dvCM�)0��b����������|�5��%������y�J�u�"qZ-��D��}���q�������i��:5f&���b�_5&�F��$�&�P!Es1!������X�Q!w���/kj�dyf�9�x�/R��l��M�a;��yoO:>��K�"Y4����_�_�;��oj�wJ��t�yA`A�����u��Sv������|_����m��x�4Y1���A�
5��nu����($�H��4p3��Cf�ffg�j|5�%d�n�~�a�q�c�s�o��/E�"��
�?0$W(	>�Vp	F��� ;������a�����=t�}�He��_�D��iP$�C�,��$�������G�C[={
nb���R�g�w�5��"����l"���9�loB�cueS)Y�&J��$h�^�/���LF5��n����b�@��8Q�����������D��Q�������K�h�z�V�����~��T�3����X�BY��?�����o.�������JK&7��=7���������������j��@�(�
![#Y->N6�������E��`���I6�>���6Qh2����2�>������FtE4X��*V2�����dWLC{LC�`�!6)6��4�tF�\VM�h�P�;�]�g��)�B� �g��=t���>���[��&z4R��zn���|�|z�}t;y8�wR�����U5�|m��s�E�W�������j�4wj���Wl��WE�	&u;r��w]kJV���%L�vN"�p]�V`��v�����E���N�w����M��:yK�6{��B��-?76���+W^o���?P�
y��&��������S�w�%^,��q3�tql���_�EQ��	yU?���5�0�,��c�fV��������%���
�x����
�LB�=�f*�t���WF�	�1���-#_k4��fM��<I�!��0�6�rR��6���>qU�k����D�
e�B+�cC^ds�_�L4d���u<�dMOCc�����������/B����*�Qz���	�{�W��L���I�1%�'<Le\���C�'zY�h��A�I���H6���Y#�Y��`�m��NT��5�u�O�K�S��|.^���Y��*$����6g�**f��uee
��x���_
j�y�cs��E7j�H�O�aV����A�����A��;(T��?�+~c��[��<�9�2�hNn3p�#�C0��+=��RO9U)��q����~���{�{N|^z^nI��G���_��:wP��s��{���v�C�E��Fv�J�Y����k%�QeW�>�C	�$!K'i5$
�Z�@<��/������Yv�
��pt�yuh�8��C���P�B'�<�d �?�/G���C�{���O�]�����}��p$��a3&�H�J�V���������Q�0�T��H#�F�O����l�����w	������xB8!�N�v
H�	y�j�Vc'3�IVA������G�De��[���0�b�zq�8W|PEw��"d�G9�lUAg��[��c	����)��Vj�Z\����@��V�����.a%��k���n����"�����������f�3C�n?��]�W���L[�e-~�;�/
T����!�s������&8m��U��k
��;Q���R��J�K�����F��K�:N�����Y,U��r�%D�!`_�������N�d����\cy���c�G�	
�x#/�����^����j#�����$d����r^�wu|��gL��oX��G{3N��skB�p�kT��p������Eg���m�_��r���QY�����B����-P��fM��bb�S{�UZ��w��h��6�g�5�W�Xq"4+{��V�K�q�L\��9��&�E//}��r����b5=A����U�C�8�!��)��	��2�mj���d����`����&%&��Y�������W��P�rKT�-C�����U���������+�	$���_�����x�Q�U8���4���T_��08����	M��.���c��41,�+uU&gQ ��r�W�K�E�D�O��E��������O�q�R�E����Mp�'�l�{R0!��i�KMW��#{�u�K�WI���/��d�C����e*�Oy���=�1�������_]���?\�d��t{SE�~b�Uo������5�I��5~�R[Y�����������k�l���t�a1���)�9�0AS�������_�j����~h�$�v�"���C����R��J+������#��������H2
��u~���N�82��&r3������T�}��(�T�|$T����_�6|�����e����~4��6z``���t0�8x�)�@;�������s
�5�M�]�����~�az@ P�00�X��8x�)�@;d�H�L�4�6v�|
���'��8@:�p``NG��!��1�S�vB�v�[5a�|?�[;�[���~��zvk��X������y\s=�[;�[��v��`�\�������������������5�������k�tk�������5���������n��nm�/^�x��
��c��o��m]s��nmUe\Eo�]���=�[{J���n��n�i�����gtk������=�[{N�vm�����L����[{^���n�������U���v�E=�����������n�;���^��{Y����1�
endstream
endobj
109 0 obj
15122
endobj
13 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /CJAIAU+Monaco /FontDescriptor
110 0 R /ToUnicode 111 0 R /FirstChar 33 /LastChar 33 /Widths [ 600 ] >>
endobj
111 0 obj
<< /Length 112 0 R /Filter /FlateDecode >>
stream
x]��n� D�|��C�-B�RE��MT��am!�����/7�z�3�`X~n�[r	�-z�a����8�%�GG�9�u&m���I�3��s�������edNq����=��v���v���*��'��)�|���zB�=�6�.��L�%�k@��2�<+oq�`�4"�B(y�(�d�Y�[��(YFq��_�����Jf�1��{�EKG�ZU��<X�pFp
endstream
endobj
112 0 obj
224
endobj
110 0 obj
<< /Type /FontDescriptor /FontName /CJAIAU+Monaco /Flags 4 /FontBBox [-610 -421 804 1223]
/ItalicAngle 0 /Ascent 1000 /Descent -250 /CapHeight 780 /StemV 98 /Leading
83 /XHeight 561 /StemH 76 /MaxWidth 606 /FontFile2 113 0 R >>
endobj
113 0 obj
<< /Length 114 0 R /Length1 4280 /Filter /FlateDecode >>
stream
x}X
tT������
Y0�MBxoy��d7�OCB6d7��������%�'I�b��v��m��������/�
�"U�i�b����������)���d��{!���d������w����M���QI]$S�����d&�.Os[���3���M������_�loi��aq�4W�����3�y{k4�������X<��om����3�:��o�g���-r��}�;xm]�-j��k����s���Nj��s��&�T�vA��������O�dh-=y�U���y����^��S���qY���m}�`�M�P����*�]V�;m��4B+���i%>wY����/}�E)[S�g��������[Y��������P����	�L�E��_��T��?LLTjr��^0�0wR;J��4�q�(X8��������%������U�m�������T5��;����@IrY�$'��/�1��/�1���%*����(�R#��	�FtN&
���6QQ�(D�j-�C|��N�����]��E�T��?���[SNrq��Uk��Dj���HW�������*�
�r�3��%�{�j5��T��~�A�����d�I����z�!|L����O�?��;�Y�:�l��V�y�~�>W���t�#$	urS��$]h	�
W'���%��g��]�������=�����������{��/��'�3cN�(��0��as(�A��d���Dl�L�S�"j�l;%�F�+��h%2��@���%����m�vU��=��:�u��)�K�N�����a�q-�Q�<bW���vX�����M��=ni\y�C��g�B�4�H���-�n��~*����	{��| �(��~hc#� �8�F����!��p��O�tA���Q�����}����=**`�|�db��,������0�����4N�2��s=�H*@�4�&D���)���Y�Q�_����07]�u����s�j��=����(J�����et5iZ��-B�ra���U�H���G�����T�����#�U�����{����D��*�G��C�
�-����������j��[�f�o�j�Ra�E�j�J}������s�k��;:��������T�2�R�vR�R�Q�
:P�:k��3�[Jj�,z	�C+����s�^�}��"�Q:���d*)$�l�9]�ChK�)��yt�����V��:�*$�H*�7m�}<�{�4���id�.�Mo�������������x4�����z���y����J_��Q�^=l�r��|�`�_rR�Tv��S��b��)�����,`�0�����I}r��7������TGjk
_�1�N�����MG�(�I`�{�39*T����7�)|M4�bsi9�Lh#��~G�}:G��+V��K����=���$U���Er����U)S��mm�g:R�R����`Ei=��J?B�ED��>!*Y\�������y��,�#M��K�RTj���3�e�r9���'&<:p)eO�M=�z���)����i�d�B3�����I����b��h�����q�W���|����.�0�/13��f7����y#wq�����4����y�$-��J����!��;�]�A�O~W>�|I���J�rs��+i{��w���$��Bm���g�bG�5z�N�;X���t�e�`'|p���<����y��!n�6xs/o���>%�>}&�I.i��K�-=+�'��OEr5��~u����l�j�I��]�)������OlN�v�Y��>z�N^= &=H�����Q�R:H��8f��Z�l^�O���x<�I3�}�h���;�U��&J�:���'D�>J�)���G�+��K��iiF���}��+���+�l������/�����v�?�_(*=G�!r�D�iS���z=%��'����:!o|nN�+k�����vf�9b��t������'���5�0l(���y^��"��

��k1�&�E���r���>�B�S��J�G��q��kI�uI��zH3>5����Rh2#�����\�~���0�6��p�{=��C�y=��0�p1�A��-��S�@��0�u����F��`���v���k��&��9FF�`wsd�^k�j1����h���9��tRS�d�
}E���!G0D�]bd�~#��]^O��Z4�k�L�p7���z������"��mHu�h����wb\d8v���pZL���u��WkF�>Go��#�91�7�99�^|�rZlYPw��z(���I�����}Z������u�����xk��vm���?��������3��b��5}>\7�f
u�_.�h9���b�c���p�Y�IiN]�]��;��������V��HB)�|h���6JJ��b�<V)���k�M��^�&#WowjF.n|j�W���v����L����Z�x��r�++	RXhN\��].4]W5C��:��a������p�/�9��@k�����:j��k��0I�
�����x�&�����L��wx�4]l�U~���n�n�hu�{��bZl���V��b[+&�"�a�K��P/�
_(w�
�*0�L1�a���#����~���Y(^*
�%A���k�m�E�A:������NR����x�*���7���b�+�Q�����XL��T���XnL}������7(H�����������B��u7�
�aj�o������QD�~�~��P������	��mx;�x�|�v[+iy���n�1L������f��8�q�=��*�w~^������� T]������)�y���������h����]/<�N�R�p�\/	��acn4<��_�]P3�fy����"�����&������$�Cm��B�/�r�
endstream
endobj
114 0 obj
2894
endobj
15 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /XCLTSW+Helvetica /FontDescriptor
115 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 116 /Widths [
278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 556 556 556 556 556 556 556 556 556 556
0 0 0 0 0 0 0 0 0 722 0 0 0 0 0 0 0 0 556 0 0 0 667 778 0 667 611 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 556 0 556 0 222 0 0 222 0 556 556 0 0 333 500 278
] >>
endobj
115 0 obj
<< /Type /FontDescriptor /FontName /XCLTSW+Helvetica /Flags 32 /FontBBox [-951 -481 1445 1122]
/ItalicAngle 0 /Ascent 770 /Descent -230 /CapHeight 717 /StemV 98 /XHeight
523 /StemH 85 /AvgWidth -441 /MaxWidth 1500 /FontFile2 116 0 R >>
endobj
116 0 obj
<< /Length 117 0 R /Length1 11980 /Filter /FlateDecode >>
stream
x�ZyxE���c���3����L�sB.�rpB	&�`�!!���@D���e�EY]/\o�o�\�������|o�������~��z�����^U����6!%jG$��mX4�G�N�����x}��g���c<@��?g��b<�!������7@SsSCc�]�<�*b<��<�yA���;���g��/_��a����y���5,h��Oi�<a��%BG���7
���0���Z;zI�<� i��C��$s 
Z�v82����[�E����[&�B��<v���MW������Bz���K�D��������Ab����TJNeF�x/�h�Z�f�h�C@�Pip���n�
�����)�T��e��]��`��G]�??�-0{���n%����=�1��\�i��+���'�w�C�>���S��u;�\/���0\�!'�_t�13�u13B�n�i���WN�Bj�)������^:k��=^t�s�wmsF��n���k��eKp�������L�}Bg�8�����i!�+7��
:.�������J�|��B77������m�hr:��@'�~�%����q��P��=<61�3��<<&������1���1~_��/������W�����(&�If�xc`u��U�
V��,��u�$'�T�8�JX:���J�>(V<�R,�"��~���!��%(�(K�>x8Vu0���%6h�	���,���0�7"A���������������-W����#�9��:��Q�
QG��������.�������S�n[4wNY����[�T���l��r��]$4��$W?kv��74�y�J�s���Cm�u����m��ChN���CsBM��m��2oCi��Y%���{���g-.��*n�Xx�,��a���g	���U'<kVh��,���Z�J���t��Z����������awCMi������>�4�I����JG.���r���t/���'aR�	D��E���F]H���r�D;�kx.��t}��(
���G���F�As�S���F;�!��k #�n���
�CP���F�@	(�G'Q>�u+������)�&���_�^���>��X4��Z��N�v!JA%�j�����<mFfT�{=�G�B�w�#��h[�l�� �f��Up��G���.j}�����< @I��z�
=	������2<��mx"�&�P�h?8$�
8���h# p����w�+�Lj�V�L4�_$G��-�7iBmpn�s+��	,�x4����v��K$7���2�r9�\N�K-���-�N���=����L��nF��jx���,�G�c�e�>\�K�L8��n�~#*�)|����?�_��PF"�h%����[d��|��y�I���E������o���F�L,�<03%h�5��.B9�.x��pv����3�5���Q�P@X��8O�s���-�Q|����|C�DRBK�;QE�"���D;i#��qd-������M�)#UA�E[��.8�R�R���t>=��DO���M�r6���d�d��[���o`'0�-0;����
d����	0�,t��K�,�	��8n@ ]�x#���u�j���ix	�	���B�����G�~�!H�|�e;z�*A�A���QH��JLJ�9_�7���o�Y-fS����i5J�\&e	M�F)e��zw��S�w��T��6@E�5����p��}�n��h��gz��3���5�"T���.���o�z�\;����zk��>�<Q,�'��P�x�w��������py[sGY}ij
>8d�)��!�p�0��
,-�([��ea���F�������JmO
�A��jxFjJK��6+���#!4�^(5���
5a�^��69l���M+.�d����\�&|�
M��P�fW`��ap���p[b]Mu��0��0Ra�1�����K�%�����.�R�m
YE�F�����EdRS��Wz�����J%����X��{b��=%���=�A>~�X@�;�v�����	IS���8�Q��5[`<�������
�����h.�
�~ni��b�PI
�����LA���q�u������4�H|��Hh&zHV���j�Mp�>x�f��Y��6qN������^�Fs����v�@D�)�#HZY}��5]A��c������A�ZJ�����@E�Ji)�rxr� +�w���w������944u���U���
O����M55p�t�>p	t���;���bU�t�HgJr��������p��f��Teu�HnM
��)�xU�yp�Y0��$h���b�v�EMG�p��j�'|����!�[��`4�"4XAB�n��k!�zl�x�V��i��U����?#�;4n�r�6WD8�gB8�� \��.�u���o��!<�:���3���q� G�hC"�%?��
��?	����^�p9��L@���������74n�x�8�	?�
��~�7��:�+a�7
O��!<�:���3�S��
��	F;UDx�������p�OB�fh��!\c��y��-�������.��
��k �H���"����Z�B@=�y&�9@%@����������P�$UB^O}�<P7����m��Z�Bb?���<��^�V0�^��&�t��-$��h���Z@�d��Q�����S
��a�
!-����C@F�c�&X�	�Y�M,����`��g�F��H��E^�:����I���9�|�F������L![+��|��{���u���������b�#�b5��	<���P�����\z����|�DC�����h�@%����?�'��&�{%�j$��<��q)�M&+nD�n��n�}�I�&�5�~��'�ef��6z��y�,�����Svz'R�����i��YcPM���R�G.4���M[�����>T�W��<��lJ����Gsq*s0�����F%���z��@Z
a��x���ES�V�������yt���Oh
��l2��~�j�<����
;�.;����1��;/��������	\�������-������O?Y���nf���Dy�8��C
�b�I#Y�Tx����Qqq�����H<"[�������z���C_�����o�{�`N��#(�
M������<�m���x�&���y�����,4��j���x��
i�Z�������������-�W��k\y�	���}��}Pq�@Qq�V���3�c�u��ZHP����(|ZN�S�����R#`�	��������b�;"7��y�	���'Kg405�@�����W���L�\u�����%Kq�������iV^��T]I<�u��V�[�m��u'����<�����	�����q�����P&�	��*�R�g�.M\�*���x6YfN6(��2
A%,��!�6��K���h&��4w�K���U����D��OdWd]�J_L����/4}�����4���sDE����
 ���f�tH�`�A2$��"A���pE��@��b�I��gg]c�#��A'6��]��"P~t�s/<����\\���;���qtw�6l��o)�������^�\|��e��0~�$�y��k]V�b��W_9�vJ��u��M�XA/s@������D3B�RB�*1A���HB�i��=FF,��_�
�"#���T���"��0��P�^�/�*��H�/���oHK�Vi��33�V��� ���a�O�A���������9���i<3Ln�r�#���0*����v�D(y�n���W����o�S�B� �L�R-���:����3Ho���0���Uy�J���)*��u(�L�u!�s�Wxb3~���L_������3-����bSso30����H'l�������NH��`@$�%����	�-�u���y��A!HP��,�h <�	�����=�����Kxqi���R+[�`�|_���`W�����O�	II�y~1����������N�~By�G�����P�Vlb}��RmY�6��R���y���Je {����AW�5�<�B��(�%d�+"0�+�OY�"�fbP�"��A�qv�:Ih��v0gL �J�N`�ti<����C�����14`
��g�r~���px��V#�g��H�0�'�5�Qk����9m�����~�*<a�����v=v/��wko�����_�95���W�wq&l������?}���zw��(��b�����PU(��[�<y�"_9Ny1��Eed+�G�g�$!�JURSR��OPUl��9��B#�f�� � � � 6g6J�X0�:}�O�J/�X==���[zi��W.�������:�k�y�w~y�!")�~��a�EL���z�b�.�U��q�t��E�O:Vs��������2se�F�������;-�
6���_�<����A'm
�(�<XP�?��K\�������!/=�";&�������Tvp��Iiv�.�T��H��
`��1w@B��6��H�	c��tC2d�D+��A�&����2�s�P���U��'@���������9g�����yr���I7^z��?�r�5�������rZ7�r�������o�o����$�$W�������W��&���������e
vnl�#J�C���4�L��H��fz�e�u�UZ�2�?(��=A
Mm�f%C1�L��tSH�D��5	y������<��*�-�-�^Q\��*�cR�#�x5h�[ZBZ��pr`�*P�l��S��.b0r��	�Y�
��st�n}�Qe�� �Q�a��([�"Wth���������{����#�=v���w������[&b��Wp��b����^��?�s���}h����j��������D�B�6�A�I�.�tw�
�&=]���Z�QR� F��p:-d&Q���Z��L���~�3wN,*����f"�V�;(hb�]��|zN��q�8iR4YX�Uk;p4"�0&(RfVd!��*�7��T���R�b
�V��i�X��RGd�B���|��r��i�������������t�F���;�+�E����{���3<������K����&~����hC2�ne��� 	'E������F	|��:�i�)�}����I���B1Dd=���L���.�bk�[��b��P�E��[�X����
���a�Z�F�Uj'|����D���C&e�SK}�b��`�a��M�q8<���Z�b�I���m�^�+$^��j���.bG��>�>��l_V��o�[�?C��������c.�\|� ����%�
#�����r�q9�N�i��I��kl��F�R�2�Q��V6�5�����V��jE��������j���FB����iD�*(pSJ�_�i�d)1!Sj	$~4L�Pq6���z�	��|`X��,�n�A�\�\iOr���vq��S�_�"!�U�,�I���y�0��,.3	8�����1~�=a� 8&7,$�����a��5H�4���7~>������l	>��;��7���>?�x���G��������y�������18�=������{^]m�ZV���m�������A������7�y:|��C3�~/�����
n�BuG�tkV�|D��Y�?���
��e$e7�7��'�$U�,� d*V��
ddh�>�X��f�|����n�����;(@��?*��9��Q^��������`b M�B,�\�Ok52%��41���d������hN�3N����/O�>9N�2��Sg��8HD���4����a0r��'��t�C0'A��b���8�`2�J��;����/��=~���L�A��������w��}k��-�#�����$&�s�&=��gYv�/5%8�����]n+^�}��,wFz|��=�����KJ.����@o��b�1�Ja]�~ HM� ��[�L��O������h "6�
BHL��k�k��]�M��1���9�
_	��E�����Y�q���P��J�6B���M�����^�k�������G�K�K^y��WG�`iO�zW�#!_�0q���9��>�A�3�����/N�������Z������4�o�p��<{�-�Q����t`P���M\+��P��M�'XLS��N��4�D���%p�;8�tHM��Fa����*�,��49Qc" 
@Rr�|{��G�0����iD�
!WL
����K�� /W���}���N�0bn���|��WA��.y`������KU��i��qO<y�.�����J�{�;4�Kxni���;�����
|!y	���R���������Xi5[#���g{����7��Mb���DU�,��b(I��"�9d�4&-���iqi���5C��+Gr~�%=c�gq������m���`��%8M�X��
X�rm�O�y��VH�r��U
���a�-�Cj�T0gC�Q\|�^�)�-X1�!��U��\���'h5(~�y�QL����[����_UG���y;���;W=���������^*�m[y����d�w��+Yo�������>�R���J��?~���]/�����H<	���B�a�*7dg.R�TR&�������J�{f��)��3P�3�C�.�S���\{*�������M�� �;1;p��UD""a���[�w��Y�|�w��#������}0��~��P�QI���$���&ieh��0�5�A�\fe��)�V;N3'Z��f���8���
�f��TX&����6��
kx�m�^�
������Be�QG��P���T����s����?10�xrVQ�2�$x{���0X@��J<�$��4���e�d;5�=M=���������RU2(
X���(:���X��_m�I�Fp�,=�Y<��1g0$���� ���R�T-�a�%Z	%�A�!�����p�TA"�f1�
+��`�AI�U�i�"p������	����|~�����S�
��Q���{;gn��}�y��+������+X�Ctl���
���1��IN9���(�!TR�T�g�)��X��i����GpL���!L
�h��{z��"����NK��(D���M�O����M���#T�����It-�)�4�����`�qZ�y��t��!�N��$I �����{**�����$��-W,W.W�y[Z}��^��)z�"�J����h3���TCZ@-oa9_����+eT���k�C�P��]��tF��J��[]�8��42�1��5S��kF"�%#�{�����lL�Jb������J��b�}N%8#�t���AR�5�W� :	J��fv��=��R�~�s>���������{�������h��,
a�t@����vX!�����/X.��+}�q�
�%��4���c_�M�����i)L��tI����U/��������o.K/�4v��_n�m�!�bR�<��w���m�������,��_R�4g��4�)���|T\����dZ+�&�KDF�QM�H��g�X�xn]5�)��{�X[�+��?��f����_��sV��`r����~��8c��ip������~���@Y���Rv����m�M��nk����a�J�@+	#��8��6��c6�������8���F��L��k�.��W
,�$�W����VMO�4����ev��Z�.���~��@O	�_`�t�:S@���R��@�@�@k��=t��=�@��L�(!:x�}�P#�0>m�1�������h�:>{�3��s��#��y�x�:v��/s��L�W�'����S����\�����[������
�����[��p�Z�
endstream
endobj
117 0 obj
7965
endobj
16 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /OTGYST+Helvetica /FontDescriptor
118 0 R /ToUnicode 119 0 R /FirstChar 33 /LastChar 34 /Widths [ 278 278 ]
>>
endobj
119 0 obj
<< /Length 120 0 R /Filter /FlateDecode >>
stream
x]��n� �{�b�Kq�s����Nr���`X[H�������s�Rl��|0���O=����0��3�qc�0�H\:�����4��$d��}���4E�Z�����w8=�8�C�^�#���y�2l)}���A	c��T�{���.����?��\�����J�B\~*��qM�![�Qh�����@����#�uF�Q����u*Z�x��6�������}U)��`�o|�pC
endstream
endobj
120 0 obj
222
endobj
118 0 obj
<< /Type /FontDescriptor /FontName /OTGYST+Helvetica /Flags 4 /FontBBox [-951 -481 1445 1122]
/ItalicAngle 0 /Ascent 770 /Descent -230 /CapHeight 717 /StemV 98 /XHeight
523 /StemH 85 /AvgWidth -441 /MaxWidth 1500 /FontFile2 121 0 R >>
endobj
121 0 obj
<< /Length 122 0 R /Length1 5080 /Filter /FlateDecode >>
stream
x�X{pE�z��g�l����yn��r�pdIvCB�]�M�1���0�n�O�T�S�T��	�lR8�#�����Zz��J9_WWR��+��of��PJ�����{v�����������4�"�S��PO�e�C`Z�C=q=c<���W��b���sSw\��O����k�X���`�j�Z�~�|n;q�]>�������1����e���t[w�������[B��x�T����
����
�=�c����^%+O�Q�LV�(
u�����5�(�_y���W-8O�6S_���&y��S_���O���%I����"e���{�^��b�jA��A����a��=�GA<u�]��� HHH��
�]1��9�6S6[�I���,���"��1������O�,��Y��BI�����j%���\l�P;0X�%�:L=��7[��f��N17��>y4C`��OKK��K5��������h������3���S����H!"�K�]��;��sh}���Mt=.u��ZKM�~���I��_�I���9��I��5�^����J_�f�#�d���K����|�f8|��A'�v�����k�t"�;X[X�_c����4��3��`aM���^rV��C^��u���"�k����guZs���[��G�T[��f�j��X�d9������,6QcO�(�dGM���l����-S�?��e�����4C�p�bJ����z$�����2��1GKHewk�qu_��"ca��j��5A�3��3������q�9��;���q�{y�&�����u+7��t����/����������F�ey���p�*�lni7x(��(a���x��>��%�6���x����h����>O�O	y����M�kgb����1W�1�Fc�f��%s�3���\����s5{������:+o����}u�Z����X�W�P����`�n"q�����@�P�0�$"�m�;]�"�@i�����rl��A�h���� #=��n��%����Z����w�@������Fm�{���i�G��>�4
�=��o����L����L*�;�i��Q��9��>�JZEG����n@��?�D6Z�1����^��rS%5���N1���Nv*Gv�#t�����lHo���3�YU;�R#�V6�����;�����@���0k����0�1�\�>v3�e{�>����
	;�����BZ�ZC�. 0L����K�9g���^�y�z�?�BuX���0���
u�t�Y�lV��Vv?������U���9w�	��_�o��nb�n�K��y�����&M'�@iVw����+�c�\�b�����a�av�
s
l���������sv��TnW��r{�~�4�
��������EN<$~lqY�m�9��^�����k#'v����z
a�=t��8�z��=O/��C�K���@,�e�9l)�2�����0;�z���6�K����\.��5s�\�{���9|��_�C}����_Da�0MX,��n�[8�����^���e�j1"�w�-�k�[�m�=���s�?q-�[7Xwcw^��}g��"���~�B-���i?v�Q�����z�@_�o�s�qN��8�h+����!����NJ����Jr�����A�q������� ?�5S��S������e�~�����iSRS��lV�(�#�O��j^P����CWB0�.2�S����1�l��5!����K"=�HO"���hA�[�)���W�5�f���^% ��Ly�)�c�S ;�� ���^YeA��V��G}Ao��
{Gr���8<�b�RUh+.X�2"|j����Y
d�x�/��6����9Ng6�V�1G��CE��+�Ui��y�9hH��~�T.h��^�NW���-��U�%����*������'��j��B���5�����l�XF����H7�Lp;e5I�T���A�K+��lO�y�����ey�L��=l�V����K�,2x���-�?�e����������nef ��"OUn1'Q�l����(�R�P��@>U*�3��T�UR#��i�{��;����l�!T@|0�6;��4E����:���l�%4f������46:qVT������n�+�����{
]��.2@7�1rV3�o�;U9�&�u%5�����C#�c�����vG�������a(rB��-Wc�j���Q9Z����v&�er8���, ��N��=����c�Y�8���h#t��n�f}���n<L���
����o���;��WGprD�&2E�[;�c9�A��E�_�.�F�1��S�Fs���-�k�.5x�!��4�/���1���8�V���:���w��#<7�7z���5.�B����'�py"�	/@���?��^8���#�I��$![��p�B�j2{'��/�������@x��p��k/���D�H��.1��B/���&���D�n@��
�W�p���p��nJ��$W!�&��W��Ma��$2����0�!��'G�����%�.]��y�E��MI��Jn>�A(�������G��xI�\�?'�rx'���x�T�o�6K#dK����2�dp+8���@/���'0�>���tgz>�R��}�7����4a�|�#�,z�.�Ux9z-�W>�Q,�_��7-46������-!3�t��� �>V �w��5|���nQ
endstream
endobj
122 0 obj
2719
endobj
62 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /TRAZMW+Verdana /FontDescriptor
123 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 116 /Widths [
352 0 0 0 0 0 0 0 0 0 0 0 0 0 364 0 636 636 636 636 636 636 636 636 636 636
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 557 0 0 0 603 787 0 684 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 596 0 623 0 0 0 0 0 0 0 607 0 0 427 521 394 ] >>
endobj
123 0 obj
<< /Type /FontDescriptor /FontName /TRAZMW+Verdana /Flags 32 /FontBBox [-495 -303 1446 1001]
/ItalicAngle 0 /Ascent 1005 /Descent -210 /CapHeight 727 /StemV 97 /XHeight
545 /StemH 86 /AvgWidth 508 /MaxWidth 1521 /FontFile2 124 0 R >>
endobj
124 0 obj
<< /Length 125 0 R /Length1 8928 /Filter /FlateDecode >>
stream
x�Z|��?gfv������lv��N6�M���BH�y@�!�X�@�AD��
V^F������j��.���X�b��"��j}�J��VK�Hv�w�&����{����<��9���^gX}�R�C[��%+���T[�qb��w���"��/��nE���!f�u��/K����_�]�����K��BC������]1�����b���K���
P/]��n�������{�Rx��u
w��5�u2nv�����q;���w��o�Q��:�D7 b���<���a���+��C��ov
UGN�=us]y�8��'��cwi�R���0C���J�hAHWtI�Tj��3�w�G���<.g���!��<4{�h�������Ci��bF`H�/��a���yLs[g��?��L+3gn:�2���m�rM�-���rnF��k��1T�UE�\u�����������p��������?��BA.l���L�����Av$����9
����=��B�V���n����`Y��#.��C���!Kw��4�y�:Fx�������������Mj_�3�}[�(l�	����q��K����e��������g�����}�1,�W3�*�.,������+9��)����2�c������t3�\l1qE��k��
-i\�����LNr�rnK����s8gpNG���9+�K���-�w���i�a�P("�OFE����9�p+�EE������������"z6*�<Q(�P|^�wL���g�%�����/Q��_��}N7����xl�1F>��#G���7s����@�0�����J�.�tzF�1,�`��V���qsE[k�i�sk���h���f�~���������:FT0�=��xWG\�;N"/���YC�*�l}��������5�b ����@h�S��qK}o����d��]���Q��O?G�d-�"����-���3�&.��Z��I~�X��It�w#4dz
A��o.+�1t��k�:�^��N�[���q���m������!�4�_�b"�?FO���C�(:	m;�^h}����+��=����5�~����
>E:�^�w!*Buh!Z�nF�a]��Lh�������CwB�t���'�j�41��nDa�����mE=�J�R�*���AO���J�w�z������-��Hh}o�����=����AHq�p��Q����%z�G�]�|������a��L���Z��J��rsDK����&��q6��S���t���=u]u�E���:�$u�����]��������z2 n����zr��������I�=iWz���qU�����G���c��wyu=�����q�~� �����A��^w���i����%���.(=u���l�fum���3n�g}������fl������w����w�����{%2�����6L�L���qO��InY�q=������.w������;������z��������S2�R%����-�J|���T��;����v��.�s|���Fz�L�\~��Cy]��:�8:��3��]?�5.����))dP�A�9���w���~����}��LmWMa#S��~�[�&A�;pq���;?Ec
�Ma�6x>�p���9�����Wq�4w��g�5�uh;���.���;���CG8/���CS�)_��0���
����xbq��y��*������?�~|�	@���#��4*��-��l�="h_%zg��Z�c�r~n�b��}��Uy�j�����[�H{A��@�t��C�,�����{���hQV*�$SF]��@��'��k���z��=���*T�G���A`�|8���yGQd�����/����-�!�[�%p��v�Ya\�
�*���`f=n�������.SgmT3R#�F�_�tL� !����Zvj�@�Iz(G�s�����42�7��P��X~����Qol�	�#��a##���,��8s�rs=Y����[�������&�I|���X�u�H��'##���s����[���g�&�����mx�?��/�b�;�����Y�\�������{M�5�6��o��w�!�t������hb�(`A��fz��o3�����gYVg42mD} k�Y� ���]d�l&a���P�zJ2��������[���|����#��I����p�<`���Ko�p���=9%!�\��=��j��5��	��#������'�sf�]"�`y�����M�����!��dV�QE�����j�l;�S,P�3uf,r�&u�:3��~�i�uef?3`���<isf����d�	~"G��P��M*d�d�Y�mS��MX%2*��#L��Sla���&��`���l6�CYB���#�������5WP���++���5�
�	�$�#� �������������T3ct�����]���%�tf�����l�U�y�3������������[��O�6l>V�y�V��9�V_�6�WPU�
Y����&m��6��7w(:�m�>�2__�:�Z�@hc�#8�n
S9���M�LqqA��.c��g�zS�Z���)��9�r�p�<��&�%�S 0d20`r "D�����\�x��5�WG}>���_,b� �XE�(�m�/<Y�y�U���yB�;W*�<�R����J�6�F_]���,���
�]E%����-M����EI�w���7;	OW<^�����J71�y����"�k+=g&7���}}�����
�9��n�Oe~Q�����
�X�Y��C�h�} K������u�~=�����
 K�T���dF�M�`�,��h�5�6Q`�: �d���J=��8�F���yF�#YK��5d�/&|��O�b,�"�Y>��2�PCe��PQq�tY����"��������D��V���e�x�q�;��1�1y@�q��L�;����r�����%c/�G1��9���j��X����o
��r�F�PyU�����U����Z�TT:���H�����HM9|&#hD�����k�Y�fv�$?�K��]�jP��]���,r���v����"��Q?�M��TA@F78���2_l��#���/�
i�����$��mfM��n���k-���-XT��Y��h%�el�w��~x��v�V�/�M������u������]�$�Ip\A������	�(�B��y2���+re��������N<O?�=[Z*�Tfp������&+0!p\�"��#!���W������e��=X!T��OR��	 ��'���:ZH�R&�\\�����A�-�L(h.gX=�w!�G����=���[7��k��c�����I�*�D��Go��;�����HIu���fZE�
����?�9�a]�\l~��o�f�������@��>����b�%��V >�l��� `2	����e�k�l���L;��
�.7����M
�Q	*Q��aY�0�/#�v n� X3U��;�������[�&���8�-��o
��g "��|�{P��@�����\PX=05�h.!�'������{��@V0/��N������.����/�fuz;�:�Z��]������]��������E��.�y2�q�k��8�5���n�����O�/��-�=�?L��-��OSo���%�^<q@ ��@� y(L�*b#����D�rfG�mELA��
�
|a���yz<������u��8ZtN�jy���
��C��� ��z1��l��;�X'=N�����	}L���o����n
���}��y�w�>���G����^�d�8g��?6���w>�~1�.���J%/�_���|l��r�*�4��y�����S�jv��Y�r�-7��'};��@�V%�L�B�k[�
��pU9U�P�������v�3=foq���9���o�4Zx��
���lj

=D����\$9h(��H�cQ�q���ET�������(y���1��<�5`���|Y�.G������$�8\��q�M{�[K������w��?,�o[�ky�oyd�a�xy�5�c��9�8��z�V
���N.�V��#�Y[;7���8,�;�h��b�Z�o-����[��@7
3,��DKi��@`/(1g��`��\:L=�H�����x�����	'�)����n ��4X����$`4�0q���S�'�3��5��5!��\:�R��Z����Va���"�Q�(�j{P��U�$J���F�HF��LU$��YKVx�N���#;���3��sh�$H��PZ�t�`@S�b|�j�[��vDj�@���c�[�r�����c������Qb����b+��I9$�g��G$:4����O����S�����6��~./����'�����8a��Sg����Lqi�S;f���c?��J���k�S|a*C/�3�:���s�]��j��j;���is�����5�6��K��\�\N�b��L^�V���X_P��L�Q`M.0%��Z�H���r�$�&<�O@����;r�	,�@$�Y3��@3
���^?��h,�� H�G���-t���%�D<T�������T6���(Sc�5�qB&#�R|SuS�������&���ww-l���$;t����Z����<q��?'������2q��a�c{�,��#�X�nq���=��F_&��o����,\�x9�^���+�th{�c�J���u)&0$D	1�w�N��NK-�4
�hH�V����TY�U�=[��U����i!1\���76���Myu����6�����e���2o�o��_�wo7{���X�"� �#�s����.�k�|��J�A��#br��Hr��"%I ���z~���g�}ea�x�5^�@�8�H���k�{M���7�����=�^�}���
�7S�'���:D��s�cz�S����W|���`�4����G�m�U8��#�u/�>������b~��-������^������'�}�Rn���f���5K9,K���>�eU�g
�[{c}����!�P_���mBv�2���\��/�*�U��\T����m��w���o�4�*Q&U[9-1�4��j�A��I2A�Ds����2m�-�����D�u���`aD�1��i�F{0�N���������d�����!�����.�1�7eP ��RQ���0)1,M4���hwJ�V�DA��u]zej8�{����i:O�H|�8��_��������{H�8�����tA�k�a\����k�|Ux������':�Z����������������i3k���pL1����+�l��nS��,Y��LN	���������)�Z���L�*�R�_&�L������)n8o|^�����W������:*�\��h�A~�IIep�_�G�����KSU��n$��G�	9��d��i��NO@�S�me������	l������c�d���],������!�	�	�T�]`MTL�x�6�H|��d���tO��Of��N�u��iGv������"?0�����6'>J\�H?n���X���KX�����y����d��\��:v"Bq�!�
d��o�eG�!hZ*mQC���������FX��'��<��xC�����Q��$p�De����mHV���]�������j*�=B���X���9*r�t3e�����`�TJKE�S��s���Af'�rPRgB���f��z������H����������p}U����&>�����O�{��O���4S�%\�M��:q2��[g����[���@���������7��zV��SY�V#(�$�:7����F�,�������J�o%OvCh(M�G��tj:�����oe��:�pC�!�C�7��@��0��zg��xS�!p#i?�p���a?�)D��5���k=v������"v�F=���_��c��
%��oL~���[�x�|-���V&���.�����k�3�)b���<_��b�����[��lPl6
���x�N�6������N-2��LvK����-++wj�v���L�TV-�8D��P���o+p�(*�����b�C�J,�b�7S`&��%m'��J�ga�g���#�� �8�/C9�a���G��+$��P$��R()p�`G� �8��)��������:�!��l��j��+�X�F\>� K'$�J�(��C��n��R��{g�o�k:���tGn���[Bwm��2�g7��V�i����vyo��:c����J������j���j�!���7����<������xl:�&��	d=5�3�x9��\�S8^�5*������a����.���p��F�VH�@FPo���P:4*��7��'xO6��t�;����qx+'x+����)#�L'�W��t��������X0�$R!d1��!�%��N{��Jf,�oeOm�|oMlR�m��Kzlp*ey�iyOK��P�m_���q����Qz%g���u�C#�L(
����C��_]�h���
�0j@M���C��h�+������i�g]���tuO����
��{
endstream
endobj
125 0 obj
6598
endobj
18 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /SDICHP+HelveticaNeue /FontDescriptor
126 0 R /Encoding /MacRomanEncoding /FirstChar 32 /LastChar 223 /Widths [
278 0 0 0 0 1000 630 0 0 0 0 0 0 389 278 333 556 556 556 556 556 0 556 556
556 556 278 0 0 600 0 556 0 648 685 722 704 0 574 759 0 259 0 0 556 871 722
0 648 760 685 0 574 722 0 926 0 648 611 0 0 0 0 500 0 537 593 537 593 537
296 574 556 222 222 0 222 853 556 574 593 593 333 500 315 556 500 758 518
500 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 518 ] >>
endobj
126 0 obj
<< /Type /FontDescriptor /FontName /SDICHP+HelveticaNeue /Flags 32 /FontBBox
[-951 -481 1446 1077] /ItalicAngle 0 /Ascent 952 /Descent -213 /CapHeight
714 /StemV 95 /Leading 28 /XHeight 517 /StemH 80 /AvgWidth 447 /MaxWidth 1500
/FontFile2 127 0 R >>
endobj
127 0 obj
<< /Length 128 0 R /Length1 15180 /Filter /FlateDecode >>
stream
x�{	t[�y����X����<b!�H�)Z)����%YR��<���=��8���,�:q<q�&Q�:��Ij��q�q��i;���9vu���I:���9��N����\7�i5��J��������������n;�Z�y�bC�����?-��������s�%�7�r�L��9���'o��&�\�f,��G�+��W8�N��r�{p��:s��\C����k�����{���1?����{��9�<��������S�+�q��-�;�x�/�|�g�="�#�58:C�a�ga&��:�NLO�������%s�mnU�.�o;B�����j��\Tq�o� ��Z^K1��
���\�G��i�Zf�_�gu��7��+�2���7po��K+L���2����:�]f��-�����G��VaFA�Z�����S�L?�������e����Q����wa�t(4vz�?�!��0z�th��*6�{A\]]�<~!4:u��%uL>������%�g�4~�-�/
-z��'+GM��<~a#��1����*���B�T�����K�G���F��ph��s3�����T�:��������-I��)���b��gB<|������^��q+�gT��e>4�@�����.�a1:G1�>=�ga��������nb�q�P<�
��2K��KM����w�R�:�[Xj�bi�;�T�
]���;p�������a��3��t�H'�u�v]'��
�=�����n��4w�}��^b����_Y��b���r�&���X�;��;(����C��{����
i�D���F�����h�h�hzVX`9�K�k��d��wYJx����W���?�:�fpo������gkL����`�@�s�&&xXT�e��(y'���z���������Q5����|�����;��	�~��{����3�������gN�[a7{��o�pb�m��L��5���e:XR3�V+kc&ff�1+~���`��e.��oc��|8��o�8�������|���!�$��,	3�f],����cy��
��Y	^����
�gU6G�������	6�/����O����[�V���i�l�i������r������b0|�8j<l���b�����h���^3YL;Lw�~��5��,�������h?����_�*�9�U{�����N�������u��S�����^�A��A�Ns�g������ �
w��oE�Y�.�e�����p���4��W���`�K
���
]�05]P���4�!y+��ak�f
[�#�?��B������Y��������!��
��g����\�v�J�R�Y���T�~'���]�{�]&�2�c	mm/�Mh�����0�E������vhX����	��Q%�0J�0J�0J�0J�0J���0J�F���@��h��zt<h	�>�I�E��hw�=����h����&���:Zc�*F�b�*F�b�*F�b�*F�b�*F�b�*F�b�*FYa������o��i���<Iq����@��e&��P� ����1���OAO�?e��m=5��v� F2�d��&{287	���o��-���n�����8e����U�j�
d3��E��'yh��{������S��'�����(#�I)1Y
�{'�����`x���U��hBx�m�C�1�`���WQ^�8X�I$���%�@�8P2.����7���v��h��B�Zk�@�8DJ��z\��b���M9�x#�l�����r6B�F��9!g#�l�����Q���0��������l���dc	q�vZB�v\�������S*t;I�6WA���b���D�����C���r�8��9s[�������}�/�p��F�Q��U�����;����TM8�\>sd��k�-L����:v�;�q�=���6�!��
�bw�S��s��]�r�g��L9-�����������Da(����y�R�=��
e�Ho��u��|�A�F����R��#\��a^����=��<;�g�+����PY��'C���������Q�~��&_�JW1�<����a���:�;��Zu�g�~�����2����z g7��F�]�>�
#c���efRd�LM�� d�L@�	2A& ��� d�L@�	l������@�.E���x�&��yM
|����r�5��v��z��VK��W�_m	��*�N�,j�_�E}~�cp����uU;:���V�������`��}f���P�413G2`���8�j`�
N���0n!OD,�
���.jAm�*�T��`������htYx��'`����c]�X)�1,�"n�G�]f��x���aD'd��}��1�6	~�(������i��T�p1e�P��<7G�1_w�������D
���O�H��p������L�B�����G��Xo.�sv�,N�i����Md�o(x��o�ko�:�Q����Yeb,���R�E�P:�K�����_:�K|��/���t����_:�K|�d��^�Ep�z�$��u�|�����ZQ�A���1o�1o�1o�1o�1o�1o�1�2�b��+�yl6��
��`1������<�B��	Y+�
�"Fw.�=��l���$�4]_\*�x�^j��
j�G��kno����${��7�<\[(u/�H����peW�8[���p!R�p���v�F�wBe�PA��+��xK������;r���+R�+{���>_�o&���[PA�*(�,�Vd�A<C�cY�76��4`�AVE�8x���i�u��(���X{L�lV�;�0��"�s�
af��,/��_�@������/^��ma�PZD�?\i���0�
$��O��T|�M>xR\�����O��'�����I}��>xR�*Gm>xRA���p�h�$�$�}�=���v�N��A{����'z,���p�#�d�G"4����F�����n<(3�
�h!�hBT��EC��k�����7���Z��x�c�9�k���;P�-T7�FJ��]�R�j�E����%��ph�=N��q|�klN����t^H�-V������O������?d|U �\�8��f�!m��h�/�a�BM�W�E~����l��&3yX�er����<�����X�V'���\������$n�R����C�rt+��9H6�� �$��ds�l��A�9H6�����A�9�,���d(Z��+6�:��
,P\Q����
�Si���T��
�L��?���T��
�S~*�O����	]!l;Y�R(����6�� *q|lJ5���F)�nD�������kF�0%-J��D������au����G����g�H�#��/uU�b�����Xm���.��$�*�aW�;]�����>S��K�r���C���R��<�3r�n��������C�������1�$aC`��/	"���
|��$�4-
�L-T�C�b59�C�x��!p<����8�C�x��!�
�|I�9	�%��$0����XKcI`,	�%��$0�lb,	�%1�BS�d��$D�Ap+�M�V�c����M�^�p��7b���y#5����}�����4��]�[����J=nA==]��M�x),��p1-�lO��������zjb�K�����h�//�������"�\�iQ�<�L�T�R�!���~�e��*<t�l'm�����
��������g������]����v�}�+� �����z��!�����VFG��c ���_���$����l��)�j��BVEV�
�hkb�
�h#�L�m�D0�L�m�D0�L�m�
r\,L�l;,��<>�I�
���T)%�������v9Mj-x�m
�^;[�:o{��A����$�0o�-����������1���j��V����L2+u$�����s;
����f���Q�����`�� ��0Yf����F�8����^^��x�v�Kw
�����Ggxf�t�r����~����aL����<��7��)�1�"��T	�=
������q�|7�}h�h�h���D{�����A{	�8���#s<�������aK���]����q��$#�OZP\2��T,(U�:q��>��g+*A[����P������JT��}���r��}��C�X�-��G
��h��)���j�7��}���Zw:����%�o�4r�$����v8
_������X%%�,�������;C5,E%��W���#�����4V�B��e��"�2�C����0����>��������w�y�1��*P������M��?��W	���������?}C9��=3�{j6w�d�>
�Q��[�����@�s;�{Z����Q&k��Z���!s3i����E��x�'?;����MK9������u~��3B2������Z���Z-u/}x��i���zD�G����q$o%\�������M^*q�f-X�������/����WK|����@xH��)�&m����:STN�V�;c8�`,J�������f�_���Y��,�k�5��~��fi�5��E�k4��z�d���i)����2������G��������M�qO�����{{�j!_������q���<{�2������=3�w/.�;f��������}g�{l����b�;������x�����c�]�\�=��s0����%�)[���
���?5���(����e�@.�i�j�>`F�����\x���m����$A��6�K�X��>��ac�.+x�T��5z
��K�.��~�������?~ �c��	�^^�����i'�A��V�6JJ*f�D
�MTE�-���A����~���B�����o������W��F��C� �e}nVZp,Y���z�^C���
��^C������kh�54�x

��^C��T���H�E�����`<�;Q�jq�=�%[$F�����+�SS���,�v���7�s�e���(�{�tQ~���(�	,��M���;'*Y?����h�#��}�f>�
� A�?=����������z��������z��������������	����l����_�&�l���6��~��/�e��|�G�G{�%4T���2N5�M���������%�M�������@�O����]������W=<L�������Rj�����{St<6�g�A{a�t�tz�@��;��Vw�>�{��S����'qH���b����(nW&R�����u�������,)\����	\��	\��	\��	\��	\��	\��I�
UM��f�iXg�:��`��N"wTd�����M\T��j�������V�F�����:AP]Rp����R�zc[��U%��y����(e���lO��#'�Z�����?��GKR�oI@5��0�h��Y�e�%��c-`9������\�����}�]�^�X;�K��H��`��%51`�Q�.�N��K�rD@d�H'����GnZz������{���#t�����?V}s���R5��n���I�{:�N��=Tam`�����M���X������
}��������
����������P�����+���
�D��Q�CsR-�]����7��W�5�/�\��������*����1�����L��H���?���r@fSs*�8��z�����O�� �������[kO���{~.��vt��GQ/1V�R#��+�XRJGUHMK����JDX�UX�*,N�
�S�����Taq��8UX�*,N����4�%:?B�j��W��ef��a�;��4E�U�����O`�H��#"h�����f��A}(�c\�56�P5B�TDQ�n��1��j�`6����115]�
����=v�r�bx0�fkb��(��s��j��Z��J_�0�����7hhO���-����������i�,�c�d�;��'D������z-}��o�� s7��'�P�N�MT�#�$��p��|�	K�k���	}�b�<�V�������<�VX+����k�����Zy`�<�VX+���,b6��7)qx$����
[����������j�V�^[U�6/�������_���;�o����5���������+��KN�X.�8��R�X�O�F�����x9*��-������N��*��w������)�����4��d��n����Q��]�7a���-h��;�����n5��m��D��X-S�K�miGj�D�rt<~�Hu$T�J��$��h&l���*��>f!�(��w� ��p����Y���,�����Ob�$��BR��u���)2� �{E��.��a��@H�QZj*��b��i_�q�%ZMm�����}3f��`�5����]A�.%#fG:�_��
�0�J�J��]hi<����s��j+��������!�v2H���%����z�Qq��Ns9\R>-p�J����'8��p�(����c�d����������pT�����l����}��H��B_������':03|O�����7+9Q�`����i�D���%7}AH+	�������H[-~.:��?	;������}|�>�W�&"n�z�Z=<��'�3�������<K�J@L��^� {//�^�D��ze�P���,�F3v����d�Q2�(x�<J%���G���d�Q2M���G��%��3��ahD��ZL�<�#/� K��/���'e�P��q��H�\h"VeiJ��	����w��o;���W�V���5^I:2����S���]M�FL�X%��+Z�0x���Ta��Lqi{�+IM�z{���D-�|J�c�=�Pq$��C|����o�t�NE�D>���{d��c���cc��#(
i�m���v�=�Qo��;��S�>4o��I��ykr���wE
�LF����7W�}>���a7�B�d���B�&�V��j����28y������������NZ�%���=�l��1�����F��
VJGRn�z��!I%��2�;��(���Ob�y��]���]}�h��C�����A�'�����������S�l��!L��.$��[u�����-!M����H�����%��d�nz�#p���K�N���$wed)"�Sv�i+�<�k F�*�n2��
L���76��$���(�5lA�X��&0Z��Z�84���s��'��S7���
������ hV�G�]��5�����#���`�������Z3�\��\�kb�
�6��g[�M�s�Lr2���5V���5��2���|kQ��(FyG��; C���;�O��h���
�N�|-� ��DmDm�f�f�� K�6�6�6�6�6�6�6�6�6�6��[����B|i����O����m����
�BC�j��B\�NvwttOf������d����Db����c����1���~��V����8�����]7��
?xM[�l������c5H�
[��kC�K�[�`���f�7c<�q������hv��W�:��d`�.;x��m��~=����������~Tx9�����6����j�w
6��>����6�a-mJ���sJaTO��
�GRR���'
c������{g��_����8"�xr��'6R�P#j��s��]����<�5���<�5m�C[���<�5m�C[���<�5m�C[�����c1[G�k�R�RjD�%L��'���fB� �O���'^(5Kj������������kP�gB�j.hI6G"�D������������nw,m��K����%���Z6��k�m6���1���aOv0f���Rwo�����AK��%��z0�/|�Q��Q@�D���H��x��(N[�[����������5x�A~
����>`��Ey��~j~a�����%���9)h}t��t4��O��f>L����!��
�n������y~-�JfM�� p����fdEuhB���>�l3��}`Cq$cs<�7��W�X�����+G �)�c�G[�������_�[�z����.������0�,���������Gx�������pN���)����Nc�Ed6hp���O`N��*�4�oB�dX�6*`�iA�R=�d�*�]|�����<��=��Wnz��g����+�p��?���[��eE;��h�mR���f%O�����g�R2�h��{���������#.��:�<������������>�[��������1��X�y�����������Z�)^���G�������3�b�y�l����+zY��&"���PS�M��AG���7�7�����<��<x�^ ����A���	�Y?3_����N	a�o�c~G�dk����z��!\S���Q-�B���q�>��l���G�O�wR�<�� �
cYX����3�Psec����	�����]1�f������y����L�~v�d���i����B�T���61��8q��'��>vt�����84C�
endstream
endobj
128 0 obj
8645
endobj
19 0 obj
<< /Type /Font /Subtype /TrueType /BaseFont /WYFMOQ+HelveticaNeue /FontDescriptor
129 0 R /ToUnicode 130 0 R /FirstChar 33 /LastChar 33 /Widths [ 577 ] >>
endobj
130 0 obj
<< /Length 131 0 R /Filter /FlateDecode >>
stream
x]��n� �{�b�Kq��!E��"?����XH��0.��Y�s�Rl��|�a�ux(�o9��@.��l&���.�r��f��dx����@>�R@�3�������	����@3�>�cS�-�/\�
tBkp�y��I/fA�
=��P�3S��=!p#&��J6:\���
�(T�iu�i���Y0�#y����'fj���h�����r�6��h-��J1�m���px
endstream
endobj
131 0 obj
223
endobj
129 0 obj
<< /Type /FontDescriptor /FontName /WYFMOQ+HelveticaNeue /Flags 4 /FontBBox
[-951 -481 1446 1077] /ItalicAngle 0 /Ascent 952 /Descent -213 /CapHeight
714 /StemV 95 /Leading 28 /XHeight 517 /StemH 80 /AvgWidth 447 /MaxWidth 1500
/FontFile2 132 0 R >>
endobj
132 0 obj
<< /Length 133 0 R /Length1 2228 /Filter /FlateDecode >>
stream
x�VMoU�o>;6$���$x&n"'vI��B+T�`[I�@J�2�(��L���JZ	$oX0BlHA��*��T9f�,*!@���,��q8o�v�uF��{����yG�;��q���I��R��N�%�	��tkCucv6ru}�T�w�����W���E$L���e7���gV�1;
{b����������K�u_��T��?����
%���
_���F=~v|��Y�g:��oL	��f83�,�� 
Vp��9$��97a���}����W�ba�����-rC�eF~x8S����	��zg�X9LP�����|�Wi��
u%X�yjO������%JP�:����{X��UI��$*���G�H�B���wQ���><GAA���3����W(0���gF�~\���6��W�=�RIU�36[D $�j���������z�P-��Y����ZX��!�b���1��y���-]������a�C����[*�W��@cH��y������]�(v:c(��f��9���(�a ��1c~|�s8�F��w���J��k"�5{��'q��VaTpR�#e+,=���tLS8�bx�$��zL4���1I)� i�#���I�yJ�>{I��%i���I�08�sI;��4�A=��G(\v.�pg��]OV���
�=`��(����G����p���Ia�������i�&�����G^Y��w��J>� 9���0�N�����B�sb�C���	d�"�~~B�j!��2����k0���=�b�m#Q����������du��1�����: s@&�6�)� �Cg��ia�3���V�W�J�V�����
���)�wJ�4g�#2��X|��P�0��m��1���m��!����9�`c�J�������z8��s`�8����e��.0����F��w����`��,�
�; ��L�������0��D0�/cLc�����U|g��2����q��]��HM�>�:�����
��cq7����/-,��B�P�/�����|�Uk9V���:)I$128���k9Pp������=2c�	-7�sS���}����O����}�bb�\�en�
����B���
endstream
endobj
133 0 obj
1098
endobj
134 0 obj
(mmap performance)
endobj
135 0 obj
(Mac OS X 10.9.2 Quartz PDFContext)
endobj
136 0 obj
(Pages)
endobj
137 0 obj
(D:20140420090421Z00'00')
endobj
1 0 obj
<< /Title 134 0 R /Producer 135 0 R /Creator 136 0 R /CreationDate 137 0 R
/ModDate 137 0 R >>
endobj
xref
0 138
0000000000 65535 f 
0000204382 00000 n 
0000002787 00000 n 
0000107912 00000 n 
0000000022 00000 n 
0000002767 00000 n 
0000002906 00000 n 
0000087513 00000 n 
0000119283 00000 n 
0000125875 00000 n 
0000128078 00000 n 
0000109357 00000 n 
0000152990 00000 n 
0000169142 00000 n 
0000081967 00000 n 
0000172882 00000 n 
0000181612 00000 n 
0000148904 00000 n 
0000192537 00000 n 
0000202253 00000 n 
0000003209 00000 n 
0000078503 00000 n 
0000003175 00000 n 
0000108904 00000 n 
0000108684 00000 n 
0000084740 00000 n 
0000078525 00000 n 
0000081946 00000 n 
0000082004 00000 n 
0000084719 00000 n 
0000084777 00000 n 
0000087492 00000 n 
0000090219 00000 n 
0000087549 00000 n 
0000090198 00000 n 
0000090341 00000 n 
0000090522 00000 n 
0000108508 00000 n 
0000092675 00000 n 
0000090549 00000 n 
0000092654 00000 n 
0000092797 00000 n 
0000096729 00000 n 
0000098302 00000 n 
0000098323 00000 n 
0000093734 00000 n 
0000096610 00000 n 
0000096631 00000 n 
0000098423 00000 n 
0000101298 00000 n 
0000101319 00000 n 
0000093075 00000 n 
0000093645 00000 n 
0000093665 00000 n 
0000101417 00000 n 
0000101965 00000 n 
0000101985 00000 n 
0000093041 00000 n 
0000108293 00000 n 
0000108073 00000 n 
0000107875 00000 n 
0000106651 00000 n 
0000185189 00000 n 
0000106598 00000 n 
0000102113 00000 n 
0000102436 00000 n 
0000102455 00000 n 
0000102054 00000 n 
0000104787 00000 n 
0000106577 00000 n 
0000102605 00000 n 
0000102928 00000 n 
0000102947 00000 n 
0000102546 00000 n 
0000103038 00000 n 
0000104766 00000 n 
0000106704 00000 n 
0000107854 00000 n 
0000108009 00000 n 
0000108193 00000 n 
0000108249 00000 n 
0000108408 00000 n 
0000108464 00000 n 
0000108628 00000 n 
0000108804 00000 n 
0000108860 00000 n 
0000109023 00000 n 
0000109079 00000 n 
0000109756 00000 n 
0000110010 00000 n 
0000119262 00000 n 
0000119890 00000 n 
0000120146 00000 n 
0000125854 00000 n 
0000126368 00000 n 
0000126043 00000 n 
0000126348 00000 n 
0000126623 00000 n 
0000128057 00000 n 
0000128570 00000 n 
0000128817 00000 n 
0000148881 00000 n 
0000149383 00000 n 
0000149077 00000 n 
0000149362 00000 n 
0000149630 00000 n 
0000152968 00000 n 
0000153658 00000 n 
0000153904 00000 n 
0000169119 00000 n 
0000169629 00000 n 
0000169306 00000 n 
0000169608 00000 n 
0000169874 00000 n 
0000172860 00000 n 
0000173279 00000 n 
0000173532 00000 n 
0000181590 00000 n 
0000182104 00000 n 
0000181783 00000 n 
0000182083 00000 n 
0000182356 00000 n 
0000185167 00000 n 
0000185574 00000 n 
0000185825 00000 n 
0000192515 00000 n 
0000193225 00000 n 
0000193493 00000 n 
0000202231 00000 n 
0000202746 00000 n 
0000202424 00000 n 
0000202725 00000 n 
0000203013 00000 n 
0000204203 00000 n 
0000204225 00000 n 
0000204261 00000 n 
0000204314 00000 n 
0000204339 00000 n 
trailer
<< /Size 138 /Root 78 0 R /Info 1 0 R /ID [ <0e3ff79758b6646249ebf97146b35e31>
<0e3ff79758b6646249ebf97146b35e31> ] >>
startxref
204492
%%EOF
#2Francois Tigeot
ftigeot@wolfpond.org
In reply to: Palle Girgensohn (#1)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

On Sun, Apr 20, 2014 at 11:24:38AM +0200, Palle Girgensohn wrote:

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned?

At least one FreeBSD hacker came to discuss it on the #dragonflybsd irc
channel and tried to run the benchmark on a 80-core machine.

I didn't keep logs and don't remember his/their name(s) but there was
definitely some FreeBSD effort at the time to investigate and fix things.

If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

I did test the 9.3 -devel branch before and after the SysV shared memory =>
mmap commit. The performance degradation was visible.

I recently ran a few benchmarks of PostgreSQL 9.3 with different operating systems
including DragonFly 3.6 and FreeBSD 10. You may be interested in the results:

http://lists.dragonflybsd.org/pipermail/users/2014-March/128216.html

--
Francois Tigeot

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Palle Girgensohn
girgen@pingpong.net
In reply to: Francois Tigeot (#2)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

20 apr 2014 kl. 12:19 skrev Francois Tigeot <ftigeot@wolfpond.org>:

Hi,

On Sun, Apr 20, 2014 at 11:24:38AM +0200, Palle Girgensohn wrote:

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned?

At least one FreeBSD hacker came to discuss it on the #dragonflybsd irc
channel and tried to run the benchmark on a 80-core machine.

I didn't keep logs and don't remember his/their name(s) but there was
definitely some FreeBSD effort at the time to investigate and fix things.

If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

I did test the 9.3 -devel branch before and after the SysV shared memory =>
mmap commit. The performance degradation was visible.

I recently ran a few benchmarks of PostgreSQL 9.3 with different operating systems
including DragonFly 3.6 and FreeBSD 10. You may be interested in the results:

http://lists.dragonflybsd.org/pipermail/users/2014-March/128216.html

Interesting, indeed. The fixes to dragonfly where made quite recently, in 3.2, right? Was it an isolated patch that could perhaps be used as inspiration for a similar fix on freebsd, or is it the major rewrite of the scheduler mentioned in [http://m.slashdot.org/story/177299]?

Palle

--
Francois Tigeot

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Francois Tigeot
ftigeot@wolfpond.org
In reply to: Palle Girgensohn (#3)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Sun, Apr 20, 2014 at 04:07:25PM +0200, Palle Girgensohn wrote:

If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

I did test the 9.3 -devel branch before and after the SysV shared memory =>
mmap commit. The performance degradation was visible.

I recently ran a few benchmarks of PostgreSQL 9.3 with different operating systems
including DragonFly 3.6 and FreeBSD 10. You may be interested in the results:

http://lists.dragonflybsd.org/pipermail/users/2014-March/128216.html

Interesting, indeed. The fixes to dragonfly where made quite recently, in 3.2, right?

The most important fixes occured in the 3.1 development version, around
September 2012.

There was definitely more than an isolated patch; the new scheduler was only
part of the performance improvements.
I'm afraid none of the commits would be applicable as-is to FreeBSD 10.x; the
DragonFly kernel is vastly different in locking, threading and VM management.

The FreeBSD folks should know what to do though; I collected performance
counter data during the last benchmark run and sent it to adrian@.
It was also discussed on freebsd-performance; the thread begins here:
http://lists.freebsd.org/pipermail/freebsd-performance/2014-March/004770.html

--
Francois Tigeot

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Palle Girgensohn
girgen@pingpong.net
In reply to: Francois Tigeot (#4)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

21 apr 2014 kl. 11:26 skrev Francois Tigeot <ftigeot@wolfpond.org>:

On Sun, Apr 20, 2014 at 04:07:25PM +0200, Palle Girgensohn wrote:

If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

I did test the 9.3 -devel branch before and after the SysV shared memory =>
mmap commit. The performance degradation was visible.

I recently ran a few benchmarks of PostgreSQL 9.3 with different operating systems
including DragonFly 3.6 and FreeBSD 10. You may be interested in the results:

http://lists.dragonflybsd.org/pipermail/users/2014-March/128216.html

Interesting, indeed. The fixes to dragonfly where made quite recently, in 3.2, right?

The most important fixes occured in the 3.1 development version, around
September 2012.

There was definitely more than an isolated patch; the new scheduler was only
part of the performance improvements.
I'm afraid none of the commits would be applicable as-is to FreeBSD 10.x; the
DragonFly kernel is vastly different in locking, threading and VM management.

The FreeBSD folks should know what to do though; I collected performance
counter data during the last benchmark run and sent it to adrian@.
It was also discussed on freebsd-performance; the thread begins here:
http://lists.freebsd.org/pipermail/freebsd-performance/2014-March/004770.html

Great, thanks for the pointers!

Palle

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#6Andres Freund
andres@2ndquadrant.com
In reply to: Palle Girgensohn (#1)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

On 2014-04-20 11:24:38 +0200, Palle Girgensohn wrote:

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned? If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#7Alfred Perlstein
bright@mu.org
In reply to: Andres Freund (#6)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 4:10 AM, Andres Freund wrote:

Hi,

On 2014-04-20 11:24:38 +0200, Palle Girgensohn wrote:

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned? If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

Greetings,

Andres Freund

Andres, thank you. Speaking as a FreeBSD developer that would be a good
idea.

--
Alfred Perlstein

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#8Alfred Perlstein
alfred@freebsd.org
In reply to: Andres Freund (#6)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 4:10 AM, Andres Freund wrote:

Hi,

On 2014-04-20 11:24:38 +0200, Palle Girgensohn wrote:

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned? If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

Greetings,

Andres Freund

Andres, thank you. Speaking as a FreeBSD developer that would be a good
idea.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#6)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Andres Freund <andres@2ndquadrant.com> writes:

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch to mmap
was so we would no longer have to explain about SysV shm configuration.
Are we going to still have to explain that, but only for FreeBSD?
No thanks. It will certainly not be the *first* resort. Instead,
somebody needs to hold the FreeBSD folks' feet to the fire about when
we can expect to see a fix from their side.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#10Andres Freund
andres@2ndquadrant.com
In reply to: Tom Lane (#9)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com> writes:

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch to mmap
was so we would no longer have to explain about SysV shm configuration.

It's still explained in the docs and one of the dynshm implementations
is based on sysv shmem. So I don't see this as a convincing reason.

Regressing installed OSs by 15-20% just to save a couple of lines of
docs and code seems rather unconvincing to me.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#11Magnus Hagander
magnus@hagander.net
In reply to: Andres Freund (#10)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund <andres@2ndquadrant.com>wrote:

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com> writes:

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

Imo this means we need to add GUC to control wether anon mmap() or sysv
shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch to mmap
was so we would no longer have to explain about SysV shm configuration.

It's still explained in the docs and one of the dynshm implementations
is based on sysv shmem. So I don't see this as a convincing reason.

Regressing installed OSs by 15-20% just to save a couple of lines of
docs and code seems rather unconvincing to me.

There's also the fact that even if it's changed in FreeBSD, that might be
somethign that takes years to trickle out to whatever stable release people
are actually using.

But do we really want a *guc* for it though? Isn't it enough (and in fact
better) with a configure switch to pick the implementation when multiple
are available, that could then be set by default for example by the freebsd
ports build? That's a lot less "overhead" to keep dragging around...

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

#12Andres Freund
andres@2ndquadrant.com
In reply to: Magnus Hagander (#11)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

On 2014-04-21 17:39:39 +0200, Magnus Hagander wrote:

But do we really want a *guc* for it though? Isn't it enough (and in fact
better) with a configure switch to pick the implementation when multiple
are available, that could then be set by default for example by the freebsd
ports build? That's a lot less "overhead" to keep dragging around...

Well, we don't know at all it's just freebsd that's affected. In fact, I
would be surprised if there aren't other platforms that regressed due to
this.
I think a configure switch actually ends up being more code than the GUC...

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#13Andrew Dunstan
andrew@dunslane.net
In reply to: Magnus Hagander (#11)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 11:39 AM, Magnus Hagander wrote:

On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund <andres@2ndquadrant.com
<mailto:andres@2ndquadrant.com>> wrote:

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com

<mailto:andres@2ndquadrant.com>> writes:

If there are indeed such large regressions on FreeBSD we need

to treat

them as postgres regressions. It's nicer not to add config

options for

things that don't need it, but apparently that's not the case

here.

Imo this means we need to add GUC to control wether anon

mmap() or sysv

shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch

to mmap

was so we would no longer have to explain about SysV shm

configuration.

It's still explained in the docs and one of the dynshm implementations
is based on sysv shmem. So I don't see this as a convincing reason.

Regressing installed OSs by 15-20% just to save a couple of lines of
docs and code seems rather unconvincing to me.

There's also the fact that even if it's changed in FreeBSD, that might
be somethign that takes years to trickle out to whatever stable
release people are actually using.

But do we really want a *guc* for it though? Isn't it enough (and in
fact better) with a configure switch to pick the implementation when
multiple are available, that could then be set by default for example
by the freebsd ports build? That's a lot less "overhead" to keep
dragging around...

That seems to make more sense. I can't imagine why this would be a
runtime parameter as opposed to build time.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#14Andres Freund
andres@2ndquadrant.com
In reply to: Andrew Dunstan (#13)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

On 2014-04-21 11:45:49 -0400, Andrew Dunstan wrote:

That seems to make more sense. I can't imagine why this would be a runtime
parameter as opposed to build time.

Because that implies that packagers and porters need to make that
decision. If it's a GUC people can benchmark it and decide.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#15Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#14)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Andres Freund <andres@2ndquadrant.com> writes:

On 2014-04-21 11:45:49 -0400, Andrew Dunstan wrote:

That seems to make more sense. I can't imagine why this would be a runtime
parameter as opposed to build time.

Because that implies that packagers and porters need to make that
decision. If it's a GUC people can benchmark it and decide.

As against that, the packager would be more likely to get it right
(or even to know that there's an issue).

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#16Alfred Perlstein
alfred@freebsd.org
In reply to: Andrew Dunstan (#13)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 8:45 AM, Andrew Dunstan wrote:

On 04/21/2014 11:39 AM, Magnus Hagander wrote:

On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund
<andres@2ndquadrant.com <mailto:andres@2ndquadrant.com>> wrote:

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com

<mailto:andres@2ndquadrant.com>> writes:

If there are indeed such large regressions on FreeBSD we need

to treat

them as postgres regressions. It's nicer not to add config

options for

things that don't need it, but apparently that's not the case

here.

Imo this means we need to add GUC to control wether anon

mmap() or sysv

shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch

to mmap

was so we would no longer have to explain about SysV shm

configuration.

It's still explained in the docs and one of the dynshm
implementations
is based on sysv shmem. So I don't see this as a convincing reason.

Regressing installed OSs by 15-20% just to save a couple of lines of
docs and code seems rather unconvincing to me.

There's also the fact that even if it's changed in FreeBSD, that
might be somethign that takes years to trickle out to whatever stable
release people are actually using.

But do we really want a *guc* for it though? Isn't it enough (and in
fact better) with a configure switch to pick the implementation when
multiple are available, that could then be set by default for example
by the freebsd ports build? That's a lot less "overhead" to keep
dragging around...

That seems to make more sense. I can't imagine why this would be a
runtime parameter as opposed to build time.

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an OS
developer and postgresql user (I am both) it really makes more sense to
have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier in
case the new mmap code exposes a stability or performance bug.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#17Alfred Perlstein
alfred@freebsd.org
In reply to: Tom Lane (#15)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 8:58 AM, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com> writes:

On 2014-04-21 11:45:49 -0400, Andrew Dunstan wrote:

That seems to make more sense. I can't imagine why this would be a runtime
parameter as opposed to build time.

Because that implies that packagers and porters need to make that
decision. If it's a GUC people can benchmark it and decide.

As against that, the packager would be more likely to get it right
(or even to know that there's an issue).

Can the package builder not set the default for the runtime tunable?

Honestly we're about to select a db platform for another FreeBSD based
system we are building, I strongly hoping that we can get back to
sysvshm easily otherwise we may have to select another store.

-Alfred (who still remembers back when Tom had a login on our primary db
to help us. :) )

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#18Andres Freund
andres@2ndquadrant.com
In reply to: Tom Lane (#15)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 2014-04-21 11:58:10 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com> writes:

On 2014-04-21 11:45:49 -0400, Andrew Dunstan wrote:

That seems to make more sense. I can't imagine why this would be a runtime
parameter as opposed to build time.

Because that implies that packagers and porters need to make that
decision. If it's a GUC people can benchmark it and decide.

As against that, the packager would be more likely to get it right
(or even to know that there's an issue).

I sure hope that FreeBSD is going to fix this at some point (it's surely
affecting more than just postgres). But since we (and probably the
packagers) don't know which platforms it's going to affect the only
thing we could do would be to add a configure switch. To test people
would need to recompile postgres.
I don't understand what the problem with a GUC here is. It's a pretty
simple patch and that codepath is entered only once, so performance
surely can't be an argument.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#19Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#17)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Alfred Perlstein (alfred@freebsd.org) wrote:

Can the package builder not set the default for the runtime tunable?

Yeah, I was thinking about that also, but at least in this case it seems
pretty clear that the 'right' answer is known at build time.

Honestly we're about to select a db platform for another FreeBSD
based system we are building, I strongly hoping that we can get back
to sysvshm easily otherwise we may have to select another store.

Is there no hope of this getting fixed in FreeBSD..? PG wouldn't be the
only application impacted by this, I'm sure...

Thanks,

Stephen

#20Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#19)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 9:13 AM, Stephen Frost wrote:

* Alfred Perlstein (alfred@freebsd.org) wrote:

Can the package builder not set the default for the runtime tunable?

Yeah, I was thinking about that also, but at least in this case it seems
pretty clear that the 'right' answer is known at build time.

Honestly we're about to select a db platform for another FreeBSD
based system we are building, I strongly hoping that we can get back
to sysvshm easily otherwise we may have to select another store.

Is there no hope of this getting fixed in FreeBSD..? PG wouldn't be the
only application impacted by this, I'm sure...

There is definitely hope, however changes to the FreeBSD vm are taken as
seriously as changes to core changes to Postresql's store. In addition
changes to vm is somewhat in the realm of complexity of Postgresql store
as well so it may not be coming in the next few days/weeks, but rather a
month or two. I am not sure if an easy fix is available in FreeBSD but
we will see in short order.

I need to do some research. I work with Adrian (FreeBSD kernel dev
mentioned earlier in the thread), I'll grab him today and discuss what
the issue may be.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#21Andrew Dunstan
andrew@dunslane.net
In reply to: Alfred Perlstein (#16)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 11:59 AM, Alfred Perlstein wrote:

On 4/21/14 8:45 AM, Andrew Dunstan wrote:

On 04/21/2014 11:39 AM, Magnus Hagander wrote:

On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund
<andres@2ndquadrant.com <mailto:andres@2ndquadrant.com>> wrote:

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com

<mailto:andres@2ndquadrant.com>> writes:

If there are indeed such large regressions on FreeBSD we need

to treat

them as postgres regressions. It's nicer not to add config

options for

things that don't need it, but apparently that's not the case

here.

Imo this means we need to add GUC to control wether anon

mmap() or sysv

shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch

to mmap

was so we would no longer have to explain about SysV shm

configuration.

It's still explained in the docs and one of the dynshm
implementations
is based on sysv shmem. So I don't see this as a convincing reason.

Regressing installed OSs by 15-20% just to save a couple of
lines of
docs and code seems rather unconvincing to me.

There's also the fact that even if it's changed in FreeBSD, that
might be somethign that takes years to trickle out to whatever
stable release people are actually using.

But do we really want a *guc* for it though? Isn't it enough (and in
fact better) with a configure switch to pick the implementation when
multiple are available, that could then be set by default for
example by the freebsd ports build? That's a lot less "overhead" to
keep dragging around...

That seems to make more sense. I can't imagine why this would be a
runtime parameter as opposed to build time.

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an OS
developer and postgresql user (I am both) it really makes more sense
to have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier in
case the new mmap code exposes a stability or performance bug.

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only add
them when we must. The more there are the more we confuse users. If a
packager can pick a default surely they can pick build options too.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#22Francois Tigeot
ftigeot@wolfpond.org
In reply to: Andres Freund (#12)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 05:43:46PM +0200, Andres Freund wrote:

On 2014-04-21 17:39:39 +0200, Magnus Hagander wrote:

But do we really want a *guc* for it though? Isn't it enough (and in fact
better) with a configure switch to pick the implementation when multiple
are available, that could then be set by default for example by the freebsd
ports build? That's a lot less "overhead" to keep dragging around...

Well, we don't know at all it's just freebsd that's affected. In fact, I
would be surprised if there aren't other platforms that regressed due to
this.

The only platforms affected are the BSDs.

I ran (or tried to run) Pgbench on the four major ones during the last two
years. My experience so far:

- FreeBSD: has trouble scaling; there's some interest to improve things but
nobody has done anything about it yet

- NetBSD: crashes under load; this could have been fixed but when I ran the
benchmarks in 2012 none of the developers seemed to care.

- OpenBSD: couldn't run the benchmark; for some reason this operating system
is unable to mmap() 32GB of memory on a recent PC with 128GB of RAM.

- DragonFly: scales better than everything else out there even with mmap()

Given these results I doubt reintroducing SysV shm memory use on PostgreSQL
is worthwile; most platforms where it has a performance impact have much
bigger issues to fix first.

--
Francois Tigeot

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#23Alfred Perlstein
alfred@freebsd.org
In reply to: Andrew Dunstan (#21)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 9:24 AM, Andrew Dunstan wrote:

On 04/21/2014 11:59 AM, Alfred Perlstein wrote:

On 4/21/14 8:45 AM, Andrew Dunstan wrote:

On 04/21/2014 11:39 AM, Magnus Hagander wrote:

On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund
<andres@2ndquadrant.com <mailto:andres@2ndquadrant.com>> wrote:

On 2014-04-21 10:45:24 -0400, Tom Lane wrote:

Andres Freund <andres@2ndquadrant.com

<mailto:andres@2ndquadrant.com>> writes:

If there are indeed such large regressions on FreeBSD we need

to treat

them as postgres regressions. It's nicer not to add config

options for

things that don't need it, but apparently that's not the case

here.

Imo this means we need to add GUC to control wether anon

mmap() or sysv

shmem is to be used. In 9.3.

I will resist this mightily. One of the main reasons to switch

to mmap

was so we would no longer have to explain about SysV shm

configuration.

It's still explained in the docs and one of the dynshm
implementations
is based on sysv shmem. So I don't see this as a convincing
reason.

Regressing installed OSs by 15-20% just to save a couple of
lines of
docs and code seems rather unconvincing to me.

There's also the fact that even if it's changed in FreeBSD, that
might be somethign that takes years to trickle out to whatever
stable release people are actually using.

But do we really want a *guc* for it though? Isn't it enough (and
in fact better) with a configure switch to pick the implementation
when multiple are available, that could then be set by default for
example by the freebsd ports build? That's a lot less "overhead" to
keep dragging around...

That seems to make more sense. I can't imagine why this would be a
runtime parameter as opposed to build time.

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an OS
developer and postgresql user (I am both) it really makes more sense
to have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier
in case the new mmap code exposes a stability or performance bug.

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only add
them when we must. The more there are the more we confuse users. If a
packager can pick a default surely they can pick build options too.

Thank you for the lecture Andrew! Really pleasant way to treat a user
and a fan of the system. :)

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#24Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#20)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Alfred Perlstein (alfred@freebsd.org) wrote:

There is definitely hope, however changes to the FreeBSD vm are
taken as seriously as changes to core changes to Postresql's store.
In addition changes to vm is somewhat in the realm of complexity of
Postgresql store as well so it may not be coming in the next few
days/weeks, but rather a month or two. I am not sure if an easy fix
is available in FreeBSD but we will see in short order.

This has been known for over a year.. :(

I need to do some research. I work with Adrian (FreeBSD kernel dev
mentioned earlier in the thread), I'll grab him today and discuss
what the issue may be.

Hopefully that'll get things moving in the right direction, finally..

Thanks,

Stephen

#25Andrew Dunstan
andrew@dunslane.net
In reply to: Alfred Perlstein (#23)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 12:25 PM, Alfred Perlstein wrote:

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only
add them when we must. The more there are the more we confuse users.
If a packager can pick a default surely they can pick build options too.

Thank you for the lecture Andrew! Really pleasant way to treat a user
and a fan of the system. :)

I confess to being mightily confused.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#26Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#24)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 9:34 AM, Stephen Frost wrote:

* Alfred Perlstein (alfred@freebsd.org) wrote:

There is definitely hope, however changes to the FreeBSD vm are
taken as seriously as changes to core changes to Postresql's store.
In addition changes to vm is somewhat in the realm of complexity of
Postgresql store as well so it may not be coming in the next few
days/weeks, but rather a month or two. I am not sure if an easy fix
is available in FreeBSD but we will see in short order.

This has been known for over a year.. :(

I know! I remember warning y'all about it back at pgcon last year. :)

I need to do some research. I work with Adrian (FreeBSD kernel dev
mentioned earlier in the thread), I'll grab him today and discuss
what the issue may be.

Hopefully that'll get things moving in the right direction, finally..

Sure, to be fair, we are under the gun here for a product, it may just
mean that the end result of that conversation is "mysql".

I'm hoping we can use Postgresql as I've been a huge fan since 1999. I
based my first successful project on it and had a LOT of help from the
pgsql community, Tom, Bruce and we even contracted Vadim for some work
on incremental vacuums!

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#27Alfred Perlstein
alfred@freebsd.org
In reply to: Andrew Dunstan (#25)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14 9:38 AM, Andrew Dunstan wrote:

On 04/21/2014 12:25 PM, Alfred Perlstein wrote:

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only
add them when we must. The more there are the more we confuse users.
If a packager can pick a default surely they can pick build options
too.

Thank you for the lecture Andrew! Really pleasant way to treat a
user and a fan of the system. :)

I confess to being mightily confused.

Sure, to clarify:

Andrew, you just told someone who in a db stack sits both below (as a
pgsql user 15 years) and above (as a FreeBSD kernel dev 15 years) your
software what they "really need".

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#28Andrew Dunstan
andrew@dunslane.net
In reply to: Alfred Perlstein (#27)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 12:44 PM, Alfred Perlstein wrote:

On 4/21/14 9:38 AM, Andrew Dunstan wrote:

On 04/21/2014 12:25 PM, Alfred Perlstein wrote:

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only
add them when we must. The more there are the more we confuse
users. If a packager can pick a default surely they can pick build
options too.

Thank you for the lecture Andrew! Really pleasant way to treat a
user and a fan of the system. :)

I confess to being mightily confused.

Sure, to clarify:

Andrew, you just told someone who in a db stack sits both below (as a
pgsql user 15 years) and above (as a FreeBSD kernel dev 15 years) your
software what they "really need".

I told you what *we* (i.e. the PostgreSQL community) need, IMNSHO (and
speaking as a Postgres developer and consultant of 10 or so years standing).

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#29Andres Freund
andres@2ndquadrant.com
In reply to: Alfred Perlstein (#26)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 2014-04-21 09:42:06 -0700, Alfred Perlstein wrote:

Sure, to be fair, we are under the gun here for a product, it may just mean
that the end result of that conversation is "mysql".

Personally arguments in that vain are removing just about any incentive
I have to work on the problem.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#30Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Alfred Perlstein (#16)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred Perlstein wrote:

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an
OS developer and postgresql user (I am both) it really makes more
sense to have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier
in case the new mmap code exposes a stability or performance bug.

In this case, AFAICS the only overhead of a runtime option (what we call
a GUC) is the added potential for user confusion, and the necessary
documentation. If we instead go for a compile-time option, both items
become smaller.

In any case, I don't see that there's much need for a runtime option,
really; you already know that the mmap code path is slower in FreeBSD.
You only need to benchmark both options once the FreeBSD vm code itself
is fixed, right?

In fact, it might not even need to be a configure option; I would
suggest a pg_config_manual.h setting instead, and perhaps tweaks to the
src/template/freebsd file to enable it automatically on the "broken"
FreeBSD releases. We could then, in the future, have the template
itself turn the option off for the future FreeBSD release that fixes the
problem.

--
�lvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#31Alfred Perlstein
alfred@freebsd.org
In reply to: Andrew Dunstan (#28)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 9:51 AM, Andrew Dunstan wrote:

On 04/21/2014 12:44 PM, Alfred Perlstein wrote:

On 4/21/14 9:38 AM, Andrew Dunstan wrote:

On 04/21/2014 12:25 PM, Alfred Perlstein wrote:

1. OS developers are not the target audience for GUCs. If the OS
developers want to test and can't be botherrd with building with a
couple of different parameters then I'm not very impressed.

2. We should be trying to get rid of GUCs where possible, and only
add them when we must. The more there are the more we confuse
users. If a packager can pick a default surely they can pick build
options too.

Thank you for the lecture Andrew! Really pleasant way to treat a
user and a fan of the system. :)

I confess to being mightily confused.

Sure, to clarify:

Andrew, you just told someone who in a db stack sits both below (as a
pgsql user 15 years) and above (as a FreeBSD kernel dev 15 years)
your software what they "really need".

I told you what *we* (i.e. the PostgreSQL community) need, IMNSHO (and
speaking as a Postgres developer and consultant of 10 or so years
standing).

How high on the hierarchy of PostgreSQL's "needs" is making a single
option a tunable versus compile time thing? I mean seriously you mean
to stick on this one point when one of your users are asking you about
this? That is pretty concerning to me.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#32Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Alfred Perlstein (#31)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred Perlstein wrote:

How high on the hierarchy of PostgreSQL's "needs" is making a single
option a tunable versus compile time thing? I mean seriously you
mean to stick on this one point when one of your users are asking
you about this? That is pretty concerning to me.

I think the sticking point here is that the problem affects a single
platform, and it can easily be construed as a platform bug. For
problems that affect PostgreSQL as a whole for everybody, we hesitate a
lot less when it comes to creating new runtime options.

--
�lvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#33Alfred Perlstein
alfred@freebsd.org
In reply to: Andres Freund (#29)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 9:51 AM, Andres Freund wrote:

On 2014-04-21 09:42:06 -0700, Alfred Perlstein wrote:

Sure, to be fair, we are under the gun here for a product, it may just mean
that the end result of that conversation is "mysql".

Personally arguments in that vain are removing just about any incentive
I have to work on the problem.

I was just explaining that we have a timeline over here and while that
may disincentive you for providing what we need it would be very unfair.

In that I mean sometimes the reality of a situation can be inconvenient
and for that I do apologize.

What I am seeing here is unfortunately a very strong departure from
FreeBSD support by the community from several of the developers. In
fact over drinks at pgcon last year there were a TON of jokes making fun
of FreeBSD users and developers which I took in stride as professional
joking with alcohol involved. I thought it was pretty funny. However a
year later and I realize that there appears to be a real problem with
FreeBSD in the pgsql community.

There are other Linux centric dbs to pick from. If pgsql is just
another Linux centric DB then that is unfortunate but something I can
deal with.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#34Alfred Perlstein
alfred@freebsd.org
In reply to: Alvaro Herrera (#30)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 9:52 AM, Alvaro Herrera wrote:

Alfred Perlstein wrote:

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an
OS developer and postgresql user (I am both) it really makes more
sense to have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier
in case the new mmap code exposes a stability or performance bug.

In this case, AFAICS the only overhead of a runtime option (what we call
a GUC) is the added potential for user confusion, and the necessary
documentation. If we instead go for a compile-time option, both items
become smaller.

In any case, I don't see that there's much need for a runtime option,
really; you already know that the mmap code path is slower in FreeBSD.
You only need to benchmark both options once the FreeBSD vm code itself
is fixed, right?

In fact, it might not even need to be a configure option; I would
suggest a pg_config_manual.h setting instead, and perhaps tweaks to the
src/template/freebsd file to enable it automatically on the "broken"
FreeBSD releases. We could then, in the future, have the template
itself turn the option off for the future FreeBSD release that fixes the
problem.

That is correct, until you're in prod and suddenly one option becomes
unstable, or you want to try a quick kernel patch without rebooting.

Look, this is an argument I've lost time and time again in open source
software communities, the idea of a software option as opposed to
compile time really seems to hit people the wrong way.

I think from now on it just makes sense to sit back and let whatever
happens happen.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#35Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#31)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Alfred Perlstein (alfred@freebsd.org) wrote:

How high on the hierarchy of PostgreSQL's "needs" is making a single
option a tunable versus compile time thing? I mean seriously you
mean to stick on this one point when one of your users are asking
you about this? That is pretty concerning to me.

Seriously, we do care that the system is easy to use for both admins and
end users and part of how we do that is by minimizing the number of
tunable options because they add to confusion and increase the
difficulty to manage the system- look at certain other $expensive
RDBMS's if you're unsure about that.

Far better is to work out the *correct* solution to a given problem
rather than punt'ing on it and asking the (almost uniformly
under-informed user) to tell us what to do.

And, yes, while we're interested in our user's input, we do not add new
configuration variables because one user asked us to.

Thanks,

Stephen

#36Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#33)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

On 4/21/14, 9:51 AM, Andres Freund wrote:

On 2014-04-21 09:42:06 -0700, Alfred Perlstein wrote:

Sure, to be fair, we are under the gun here for a product, it may just mean
that the end result of that conversation is "mysql".

Personally arguments in that vain are removing just about any incentive
I have to work on the problem.

I was just explaining that we have a timeline over here and while
that may disincentive you for providing what we need it would be
very unfair.

I'm pretty sure Andres was referring to the part where there's a
'threat' to move to some other platform due to a modest performance
degredation, as if it's the only factor involved in making a decision
among the various RDBMS options. If that's really your deciding
criteria instead of the myriad of other factors, I daresay you have your
priorities mixed up.

There are other Linux centric dbs to pick from. If pgsql is just
another Linux centric DB then that is unfortunate but something I
can deal with.

These attacks really aren't going to get you anywhere. We're talking
about a specific performance issue that FreeBSD has and how much PG
(surely not the only application impacted by this issue) should bend
to address it, even though the FreeBSD folks were made aware of the
issue over year ago and have done nothing to address it.

Moreover, you'd like to also define the way we deal with the issue as
being to make it runtime configurable rather than as a compile-time
option, even though 90% of the users out there won't understand the
difference nor would know how to correctly set it (and, in many cases,
may end up making the wrong decision because it's the default for
other platforms, unless we add more code to address this at initdb
time).

Basically, it doesn't sound like you're terribly concerned with the
majority of our user base, even on FreeBSD, and would prefer to try
and browbeat us into doing what you've decided is the correct solution
because it'd work better for you.

I've been guiltly of the same in the past and it's not fun having to
back off from a proposal when it's pointed out that there's a better
option, particularly when it doesn't seem like the alternative is
better for me, but that's just part of working in any large project.

Thanks,

Stephen

#37Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#36)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 11:14 AM, Stephen Frost wrote:

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

On 4/21/14, 9:51 AM, Andres Freund wrote:

On 2014-04-21 09:42:06 -0700, Alfred Perlstein wrote:

Sure, to be fair, we are under the gun here for a product, it may just mean
that the end result of that conversation is "mysql".

Personally arguments in that vain are removing just about any incentive
I have to work on the problem.

I was just explaining that we have a timeline over here and while
that may disincentive you for providing what we need it would be
very unfair.

I'm pretty sure Andres was referring to the part where there's a
'threat' to move to some other platform due to a modest performance
degredation, as if it's the only factor involved in making a decision
among the various RDBMS options. If that's really your deciding
criteria instead of the myriad of other factors, I daresay you have your
priorities mixed up.

There are other Linux centric dbs to pick from. If pgsql is just
another Linux centric DB then that is unfortunate but something I
can deal with.

These attacks really aren't going to get you anywhere. We're talking
about a specific performance issue that FreeBSD has and how much PG
(surely not the only application impacted by this issue) should bend
to address it, even though the FreeBSD folks were made aware of the
issue over year ago and have done nothing to address it.

Moreover, you'd like to also define the way we deal with the issue as
being to make it runtime configurable rather than as a compile-time
option, even though 90% of the users out there won't understand the
difference nor would know how to correctly set it (and, in many cases,
may end up making the wrong decision because it's the default for
other platforms, unless we add more code to address this at initdb
time).

Basically, it doesn't sound like you're terribly concerned with the
majority of our user base, even on FreeBSD, and would prefer to try
and browbeat us into doing what you've decided is the correct solution
because it'd work better for you.

I've been guiltly of the same in the past and it's not fun having to
back off from a proposal when it's pointed out that there's a better
option, particularly when it doesn't seem like the alternative is
better for me, but that's just part of working in any large project.

Stephen, please calm down on the hyperbole, seriously, picking another
db is not an attack.

I was simply asking for a feature that would make my life easier as both
an admin deploying postgresql and a kernel dev attempting to fix a
problem. I'm one guy, probably the only guy right now asking. Honestly
the thought of needing to compile two versions of postgresql to do sysv
vs mmap performance would take me more time than I would like to devote
to the issue when my time is already limited.

Again, it was an ask, you are free to do what you like, the same way you
were free to ignore my advice at pgcon about mmap being less efficient.
It does not make what I'm saying an "attack". Just like when
interviewing people choosing a different candidate for a job is not an
attack on the other candidates!

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#38Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#37)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

Stephen, please calm down on the hyperbole, seriously, picking
another db is not an attack.

Perhaps it wasn't intended by you, but to those of us reading it, your
comments came across clearly as "if you don't fix this, then we
won't use PG". Email certainly isn't perfect but I hope you can
understand our confusion- why else bring up MySQL or any other database
if not to try and push us to do what you want? It's hard for me to see
how bringing up other databases or making comments about us being
"Linux-only" are anything other than attempts to persude by threating
that we might lose a user or users.

I was simply asking for a feature that would make my life easier as
both an admin deploying postgresql and a kernel dev attempting to
fix a problem. I'm one guy, probably the only guy right now asking.
Honestly the thought of needing to compile two versions of
postgresql to do sysv vs mmap performance would take me more time
than I would like to devote to the issue when my time is already
limited.

That's certainly unfortunate. For my 2c, I'd recommend that you write a
minimal implementation that allows you to test just the sysv-vs-mmap
case (which could certainly take an option, to avoid having to
recompile during testing), or even ask if anyone here already has; I
wouldn't be at all surprised if both Robert and Francois did exactly
that already, nor would I be surprised if someone volunteered to write
such a small C utility for you, if it meant that this issue would be
fixed in FreeBSD that much sooner.

Asking for help to address the FreeBSD performance would have been much
better received.

Thanks,

Stephen

#39Andres Freund
andres@2ndquadrant.com
In reply to: Stephen Frost (#38)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 2014-04-21 15:47:31 -0400, Stephen Frost wrote:

That's certainly unfortunate. For my 2c, I'd recommend that you write a
minimal implementation that allows you to test just the sysv-vs-mmap
case (which could certainly take an option, to avoid having to
recompile during testing), or even ask if anyone here already has;

I don't think that's something all that easily testable in
isolation. The behaviour here is heavily related to concurrency.

I
wouldn't be at all surprised if both Robert and Francois did exactly
that already, nor would I be surprised if someone volunteered to write
such a small C utility for you, if it meant that this issue would be
fixed in FreeBSD that much sooner.

I don't know, but the patch for a guc would be < 10 lines. I think I'd
start with that.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#40Stephen Frost
sfrost@snowman.net
In reply to: Andres Freund (#39)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Andres Freund (andres@2ndquadrant.com) wrote:

On 2014-04-21 15:47:31 -0400, Stephen Frost wrote:

That's certainly unfortunate. For my 2c, I'd recommend that you write a
minimal implementation that allows you to test just the sysv-vs-mmap
case (which could certainly take an option, to avoid having to
recompile during testing), or even ask if anyone here already has;

I don't think that's something all that easily testable in
isolation. The behaviour here is heavily related to concurrency.

Concurrency is not terribly hard to generate in a simulated case; I
still feel that doing this independently of PG would probably be better
than involving all the rest of the PG code in testing something this
low-level.

I
wouldn't be at all surprised if both Robert and Francois did exactly
that already, nor would I be surprised if someone volunteered to write
such a small C utility for you, if it meant that this issue would be
fixed in FreeBSD that much sooner.

I don't know, but the patch for a guc would be < 10 lines. I think I'd
start with that.

Certainly running a minimally patched PG wouldn't be hard for a kernel
dev either, of course.

Thanks,

Stephen

#41Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#38)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 12:47 PM, Stephen Frost wrote:

Asking for help to address the FreeBSD performance would have been
much better received. Thanks, Stephen

That is exactly what I did, I asked for a version of postgresql that was
easy to switch at runtime between two behaviors.

That would make it a LOT easier to run a few scripts and make sure I got
the correct binary without having to munge PREFIX and a bunch of PATH
and other tools to get my test harness to DTRT.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#42Bruce Momjian
bruce@momjian.us
In reply to: Alfred Perlstein (#41)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 01:52:48PM -0700, Alfred Perlstein wrote:

On 4/21/14, 12:47 PM, Stephen Frost wrote:

Asking for help to address the FreeBSD performance would have
been much better received. Thanks, Stephen

That is exactly what I did, I asked for a version of postgresql that
was easy to switch at runtime between two behaviors.

That would make it a LOT easier to run a few scripts and make sure I
got the correct binary without having to munge PREFIX and a bunch of
PATH and other tools to get my test harness to DTRT.

I think the big point is that you must realize that we are dealing with
thousands of users, so making a suggestion without considering its
impact on those thousands of people is not helpful.

We have clearly stated the need to consider those thousands of users,
and you are still saying the same thing --- this would make it easy for
"me". This is not helpful to the discussion, and you must realize that
at some level.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#43Joshua D. Drake
jd@commandprompt.com
In reply to: Alfred Perlstein (#33)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 10:39 AM, Alfred Perlstein wrote:

What I am seeing here is unfortunately a very strong departure from
FreeBSD support by the community from several of the developers. In
fact over drinks at pgcon last year there were a TON of jokes making fun
of FreeBSD users and developers which I took in stride as professional
joking with alcohol involved. I thought it was pretty funny. However a
year later and I realize that there appears to be a real problem with
FreeBSD in the pgsql community.

The reality is, FreeBSD is like Saab (before it died, and no I am not
suggesting that FreeBSD is dying). Saab was a niche, very cool
automobile that offered a lot of unique features that others didn't.
However, they didn't sell very well in the states but had a very devoted
fan base (myself included).

FreeBSD is awesome. There is no question about that. It certainly has a
better license than Linux and has offered things for years that Linux
has never really gotten right (jails/zones).

That said, FreeBSD is niche and Linux is, not. Linux is the king of the
jungle in this world. Whether we want it to be or not and what that
means is: that is where the resources go.

If the community had more *BSD presence I think it would be great but it
isn't all that viable at this point. I do know however that no-one in
this community would turn down a team of FreeBSD advocates helping us
make PostgreSQL awesome for PostgreSQL.

There are other Linux centric dbs to pick from. If pgsql is just

No, there is about 1 and its derivatives thereof. If you want the type
of features pgsql offers, then pgsql is all you have got.

Sincerely,

JD

--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
Political Correctness is for cowards.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#44Bruce Momjian
bruce@momjian.us
In reply to: Joshua D. Drake (#43)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 02:08:51PM -0700, Joshua Drake wrote:

If the community had more *BSD presence I think it would be great
but it isn't all that viable at this point. I do know however that
no-one in this community would turn down a team of FreeBSD advocates
helping us make PostgreSQL awesome for PostgreSQL.

I don't think we would even implement a run-time control for Linux or
Windows for this, so I don't even think it is a FreeBSD issue.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#45Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#41)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

On 4/21/14, 12:47 PM, Stephen Frost wrote:

Asking for help to address the FreeBSD performance would have
been much better received. Thanks, Stephen

That is exactly what I did, I asked for a version of postgresql that
was easy to switch at runtime between two behaviors.

That would make it a LOT easier to run a few scripts and make sure I
got the correct binary without having to munge PREFIX and a bunch of
PATH and other tools to get my test harness to DTRT.

I'm sure one of the hackers would be happy to provide you with a patch
to help you with your testing.

That's quite a different thing from asking for a GUC to be provided and
then supported over the next 5 years as part of the core release, which
is what I believe we all thought you were asking for.

Thanks,

Stephen

#46Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#45)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 2:23 PM, Stephen Frost wrote:

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

On 4/21/14, 12:47 PM, Stephen Frost wrote:

Asking for help to address the FreeBSD performance would have
been much better received. Thanks, Stephen

That is exactly what I did, I asked for a version of postgresql that
was easy to switch at runtime between two behaviors.

That would make it a LOT easier to run a few scripts and make sure I
got the correct binary without having to munge PREFIX and a bunch of
PATH and other tools to get my test harness to DTRT.

I'm sure one of the hackers would be happy to provide you with a patch
to help you with your testing.

That would be fine.

That's quite a different thing from asking for a GUC to be provided and
then supported over the next 5 years as part of the core release, which
is what I believe we all thought you were asking for.

I did not know that GUCs were not classified into
"experimental/non-experimental". The fact that a single GUC would need
to be supported for 5 years is definitely something to consider. Now I
understand the push back a little more.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#47Andres Freund
andres@2ndquadrant.com
In reply to: Bruce Momjian (#44)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 2014-04-21 17:21:20 -0400, Bruce Momjian wrote:

On Mon, Apr 21, 2014 at 02:08:51PM -0700, Joshua Drake wrote:

If the community had more *BSD presence I think it would be great
but it isn't all that viable at this point. I do know however that
no-one in this community would turn down a team of FreeBSD advocates
helping us make PostgreSQL awesome for PostgreSQL.

I don't think we would even implement a run-time control for Linux or
Windows for this, so I don't even think it is a FreeBSD issue.

I think some of the arguments in this thread are pretty damn absurd. We
have just introduced dynamic_shared_memory_type.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#48Jim Nasby
jim@nasby.net
In reply to: Joshua D. Drake (#43)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/21/14, 4:08 PM, Joshua D. Drake wrote:

If the community had more *BSD presence I think it would be great but it isn't all that viable at this point. I do know however that no-one in this community would turn down a team of FreeBSD advocates helping us make PostgreSQL awesome for PostgreSQL.

I assume you meant FreeBSD awesome for PostgreSQL? :)

I'm also a big fan of *BSD but the reality is it's MUCH harder to get *BSD into a corporation than linux. Now, if FreeBSD had a bunch of stuff that made PostgreSQL run like 4x faster on *BSD than Linux that would be a different story.
--
Jim C. Nasby, Data Architect jim@nasby.net
512.569.9461 (cell) http://jim.nasby.net

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#49David G Johnston
david.g.johnston@gmail.com
In reply to: Stephen Frost (#45)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Stephen Frost wrote

* Alfred Perlstein (

alfred@

) wrote:

On 4/21/14, 12:47 PM, Stephen Frost wrote:

Asking for help to address the FreeBSD performance would have
been much better received. Thanks, Stephen

That is exactly what I did, I asked for a version of postgresql that
was easy to switch at runtime between two behaviors.

That would make it a LOT easier to run a few scripts and make sure I
got the correct binary without having to munge PREFIX and a bunch of
PATH and other tools to get my test harness to DTRT.

I'm sure one of the hackers would be happy to provide you with a patch
to help you with your testing.

That's quite a different thing from asking for a GUC to be provided and
then supported over the next 5 years as part of the core release, which
is what I believe we all thought you were asking for.

Alfred,

Are you willing and use a custom 9.3 installed from source or are you asking
for something to actually be released to the wild before you go and test it
- your comments are unclear on this point?

The technical consensus is that the more desirable approach is to have the
determination done at compile-time since - besides testing - no obvious
reason exists that a user, once they have determined the correct option for
their platform, would find reason to change it. Yes, it adds another player
to the game (unless you install from source), but the community is already
structured to rely upon packagers to do the right thing for their platform
so that the amount of customization presented to the user can be minimized.

In short, the goal is to have GUCs limited to work-mix, not platform,
configuration; and definitely not for platform testing purposes. If you are
going to be testing platform performance it seems to be expected that you
have the ability to compile and alter source code. This may indeed limit
the potential number of testers but it does add efficiency to the process
because the testers can make patches.

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Perfomance-degradation-9-3-vs-9-2-for-FreeBSD-tp5800835p5800993.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#50Tatsuo Ishii
ishii@postgresql.org
In reply to: Palle Girgensohn (#1)
1 attachment(s)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

I see performance degradation with PostgreSQL 9.3 vs 9.2 on FreeBSD, and I'm wondering who to poke to mitigate the problem. In reference to this thread [1], who where the FreeBSD people that Francois mentioned? If mmap needs to perform well in the kernel, I'd like to know of someone with FreeBSD kernel knowledge who is interested in working with mmap perfocmance. If mmap is indeed the cuplrit, I've just tested 9.2.8 vs 9.3.4, I nevere isolated the mmap patch, although I believe Francois did just that with similar results.

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

Attachments:

graph-SF1000.pngimage/pngDownload
#51Peter Geoghegan
pg@heroku.com
In reply to: Andres Freund (#6)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 4:10 AM, Andres Freund <andres@2ndquadrant.com> wrote:

If there are indeed such large regressions on FreeBSD we need to treat
them as postgres regressions. It's nicer not to add config options for
things that don't need it, but apparently that's not the case here.

+1, but I think this is something for packagers to get right, not users.

I really don't like the idea of playing chicken with the FreeBSD
people, especially since we're going to use System V shared memory
into the foreseeable future anyway. It's probably *far* easier for us
to fix it than it is for the FreeBSD people to fix it.

--
Peter Geoghegan

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#52Joshua D. Drake
jd@commandprompt.com
In reply to: Jim Nasby (#48)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 03:08 PM, Jim Nasby wrote:

On 4/21/14, 4:08 PM, Joshua D. Drake wrote:

If the community had more *BSD presence I think it would be great but
it isn't all that viable at this point. I do know however that no-one
in this community would turn down a team of FreeBSD advocates helping
us make PostgreSQL awesome for PostgreSQL.

I assume you meant FreeBSD awesome for PostgreSQL? :)

Yes. Ty for the correction.

I'm also a big fan of *BSD but the reality is it's MUCH harder to get
*BSD into a corporation than linux. Now, if FreeBSD had a bunch of stuff
that made PostgreSQL run like 4x faster on *BSD than Linux that would be
a different story.

Exactly.

JD

--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
Political Correctness is for cowards.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#53Stephen Frost
sfrost@snowman.net
In reply to: Tatsuo Ishii (#50)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Tatsuo Ishii (ishii@postgresql.org) wrote:

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

That URL returns 'Forbidden'...

Thanks,

Stephen

#54Tatsuo Ishii
ishii@postgresql.org
In reply to: Stephen Frost (#53)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Tatsuo Ishii (ishii@postgresql.org) wrote:

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

Unfortunately I don't have an access to the machine at this moment.

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

That URL returns 'Forbidden'...

Sorry for this. I sent a problem report to the person in charge. In
the mean time, please go to:
https://www.pgecons.org/download/works_2013/ then click the link "2013
年度WG1活動報告" (sorry for not English). You should be able to
download a report (PDF).

Also the report is written in Japanese. I hope you can read at leat
the graph in page 13 and the table in page 14.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#55Andrew Dunstan
andrew@dunslane.net
In reply to: Stephen Frost (#53)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 08:49 PM, Stephen Frost wrote:

* Tatsuo Ishii (ishii@postgresql.org) wrote:

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

This is exactly why we need a benchfarm.

I actually have a client working based on Greg Smith's pgbench tools.

What we would need is a way to graph the results - that's something
beyond my very rudimentary expertise in web programming. If anyone feels
like collaborating I'd be glad to hear from them (The web site is
programmed in perl + TemplateToolkit, but even that's not immutable. I'm
open to using, say, node.js plus one of its templating engines.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#56Tatsuo Ishii
ishii@postgresql.org
In reply to: Andrew Dunstan (#55)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

This is exactly why we need a benchfarm.

I actually have a client working based on Greg Smith's pgbench tools.

What we would need is a way to graph the results - that's something
beyond my very rudimentary expertise in web programming. If anyone
feels like collaborating I'd be glad to hear from them (The web site
is programmed in perl + TemplateToolkit, but even that's not
immutable. I'm open to using, say, node.js plus one of its templating
engines.

gnuplot? (the graph I attached was created by gnuplt).

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#57Peter Geoghegan
pg@heroku.com
In reply to: Tatsuo Ishii (#56)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 6:08 PM, Tatsuo Ishii <ishii@postgresql.org> wrote:

What we would need is a way to graph the results - that's something
beyond my very rudimentary expertise in web programming. If anyone
feels like collaborating I'd be glad to hear from them (The web site
is programmed in perl + TemplateToolkit, but even that's not
immutable. I'm open to using, say, node.js plus one of its templating
engines.

gnuplot? (the graph I attached was created by gnuplt).

That's all pgbench-tools itself uses.

The problem with a performance farm is that it's relatively hard to
donate a performance farm member. It more or less requires expensive
hardware, and a large amount of rigor in testing and normalizing
various aspects of the environment that might otherwise add noise.
Then again, it might only take 2 or 3 servers to make a huge
difference. There are a number of different things that would be
immediately compelling to target with that kind of thing, so the first
step is non-obvious too.

--
Peter Geoghegan

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#58Andrew Dunstan
andrew@dunslane.net
In reply to: Peter Geoghegan (#57)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 09:16 PM, Peter Geoghegan wrote:

On Mon, Apr 21, 2014 at 6:08 PM, Tatsuo Ishii <ishii@postgresql.org> wrote:

What we would need is a way to graph the results - that's something
beyond my very rudimentary expertise in web programming. If anyone
feels like collaborating I'd be glad to hear from them (The web site
is programmed in perl + TemplateToolkit, but even that's not
immutable. I'm open to using, say, node.js plus one of its templating
engines.

gnuplot? (the graph I attached was created by gnuplt).

That's all pgbench-tools itself uses.

The problem with a performance farm is that it's relatively hard to
donate a performance farm member. It more or less requires expensive
hardware, and a large amount of rigor in testing and normalizing
various aspects of the environment that might otherwise add noise.
Then again, it might only take 2 or 3 servers to make a huge
difference. There are a number of different things that would be
immediately compelling to target with that kind of thing, so the first
step is non-obvious too.

If we never start we'll never get there.

I can think of several organizations that might be approached to donate
hardware.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#59Joshua D. Drake
jd@commandprompt.com
In reply to: Andrew Dunstan (#58)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/21/2014 06:19 PM, Andrew Dunstan wrote:

If we never start we'll never get there.

I can think of several organizations that might be approached to donate
hardware.

Like .Org?

We have a hardware farm, a rack full of hardware and spindles. It isn't
the most current but it is there.

Sincerely,

JD

--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
Political Correctness is for cowards.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#60Tatsuo Ishii
ishii@postgresql.org
In reply to: Tatsuo Ishii (#54)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

Unfortunately I don't have an access to the machine at this moment.

Where is the patch? I would like to test it on a smaller machine for
now.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#61Michael Paquier
michael.paquier@gmail.com
In reply to: Tatsuo Ishii (#54)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Tue, Apr 22, 2014 at 9:58 AM, Tatsuo Ishii <ishii@postgresql.org> wrote:

* Tatsuo Ishii (ishii@postgresql.org) wrote:

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

Unfortunately I don't have an access to the machine at this moment.

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

That URL returns 'Forbidden'...

Sorry for this. I sent a problem report to the person in charge. In
the mean time, please go to:
https://www.pgecons.org/download/works_2013/ then click the link "2013
年度WG1活動報告" (sorry for not English). You should be able to
download a report (PDF).

Also the report is written in Japanese. I hope you can read at leat
the graph in page 13 and the table in page 14.

Is pgecons planning to do a translation of that at some point? It looks
like good material, and the audience able to understand it is rather
limited now :)
--
Michael

#62Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Andres Freund (#47)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 22/04/14 09:25, Andres Freund wrote:

On 2014-04-21 17:21:20 -0400, Bruce Momjian wrote:

On Mon, Apr 21, 2014 at 02:08:51PM -0700, Joshua Drake wrote:

If the community had more *BSD presence I think it would be great
but it isn't all that viable at this point. I do know however that
no-one in this community would turn down a team of FreeBSD advocates
helping us make PostgreSQL awesome for PostgreSQL.

I don't think we would even implement a run-time control for Linux or
Windows for this, so I don't even think it is a FreeBSD issue.

I think some of the arguments in this thread are pretty damn absurd. We
have just introduced dynamic_shared_memory_type.

+1

I was just thinking the same thing...

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#63Andres Freund
andres@2ndquadrant.com
In reply to: Palle Girgensohn (#1)
1 attachment(s)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

Attached you can find a short (compile tested only ) patch implementing
a 'shared_memory_type' GUC, akin to 'dynamic_shared_memory_type'. Will
only apply to 9.4, not 9.3, but it should be easy to convert for it.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachments:

0001-Add-shared_memory_type-GUC.patchtext/x-patch; charset=us-asciiDownload
>From e090326d8b5933a162e8e503ccec714bde3a49b7 Mon Sep 17 00:00:00 2001
From: Andres Freund <andres@anarazel.de>
Date: Tue, 22 Apr 2014 14:17:34 +0200
Subject: [PATCH] Add shared_memory_type GUC.

---
 src/backend/port/sysv_shmem.c                 | 18 ++++++++++++------
 src/backend/storage/ipc/ipci.c                |  2 ++
 src/backend/utils/misc/guc.c                  | 23 +++++++++++++++++++++++
 src/backend/utils/misc/postgresql.conf.sample |  7 ++++++-
 src/include/storage/pg_shmem.h                | 21 +++++++++++++++++++--
 5 files changed, 62 insertions(+), 9 deletions(-)

diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index 5e3850b..f6343d3 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -465,14 +465,20 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port,
 	 * developer use, this shouldn't be a big problem.
 	 */
 #ifndef EXEC_BACKEND
-	AnonymousShmem = CreateAnonymousSegment(&size);
-	AnonymousShmemSize = size;
+	if (shared_memory_type == SHMEM_TYPE_MMAP)
+	{
+		AnonymousShmem = CreateAnonymousSegment(&size);
+		AnonymousShmemSize = size;
 
-	/* Now we need only allocate a minimal-sized SysV shmem block. */
-	sysvsize = sizeof(PGShmemHeader);
-#else
-	sysvsize = size;
+		/* Now we need only allocate a minimal-sized SysV shmem block. */
+		sysvsize = sizeof(PGShmemHeader);
+	}
+	else
 #endif
+	{
+		Assert(shared_memory_type == SHMEM_TYPE_SYSV);
+		sysvsize = size;
+	}
 
 	/* Make sure PGSharedMemoryAttach doesn't fail without need */
 	UsedShmemSegAddr = NULL;
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c
index 4290d2d..c58f171 100644
--- a/src/backend/storage/ipc/ipci.c
+++ b/src/backend/storage/ipc/ipci.c
@@ -42,6 +42,8 @@
 #include "storage/sinvaladt.h"
 #include "storage/spin.h"
 
+/* GUCs */
+int			shared_memory_type = DEFAULT_SHARED_MEMORY_TYPE;
 
 shmem_startup_hook_type shmem_startup_hook = NULL;
 
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index ea54d16..f6d9dc4 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -403,6 +403,19 @@ static const struct config_enum_entry huge_pages_options[] = {
 	{NULL, 0, false}
 };
 
+static struct config_enum_entry shared_memory_options[] = {
+#ifndef WIN32
+	{ "sysv", SHMEM_TYPE_SYSV, false},
+#endif
+#ifndef EXEC_BACKEND
+	{ "mmap", SHMEM_TYPE_MMAP, false},
+#endif
+#ifdef WIN32
+	{ "windows", SHMEM_TYPE_WINDOWS, false},
+#endif
+	{NULL, 0, false}
+};
+
 /*
  * Options for enum values stored in other modules
  */
@@ -3453,6 +3466,16 @@ static struct config_enum ConfigureNamesEnum[] =
 	},
 
 	{
+		{"shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM,
+			gettext_noop("Selects the shared memory implementation used."),
+			NULL
+		},
+		&shared_memory_type,
+		DEFAULT_SHARED_MEMORY_TYPE, shared_memory_options,
+		NULL, NULL, NULL
+	},
+
+	{
 		{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
 			gettext_noop("Selects the method used for forcing WAL updates to disk."),
 			NULL
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 70e5a51..1c5f02a 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -127,7 +127,12 @@
 #maintenance_work_mem = 64MB		# min 1MB
 #autovacuum_work_mem = -1		# min 1MB, or -1 to use maintenance_work_mem
 #max_stack_depth = 2MB			# min 100kB
-#dynamic_shared_memory_type = posix # the default is the first option
+#shared_memory_type = mmap		# the default is the first option
+					# supported by the operating system:
+					#   mmap
+					#   sysv
+					#   windows
+#dynamic_shared_memory_type = posix	# the default is the first option
 					# supported by the operating system:
 					#   posix
 					#   sysv
diff --git a/src/include/storage/pg_shmem.h b/src/include/storage/pg_shmem.h
index ab28ebe..53ea43a 100644
--- a/src/include/storage/pg_shmem.h
+++ b/src/include/storage/pg_shmem.h
@@ -41,8 +41,13 @@ typedef struct PGShmemHeader	/* standard header for all Postgres shmem */
 #endif
 } PGShmemHeader;
 
-/* GUC variable */
-extern int huge_pages;
+/* Possible values for shared_memory_type */
+typedef enum
+{
+	SHMEM_TYPE_WINDOWS,
+	SHMEM_TYPE_SYSV,
+	SHMEM_TYPE_MMAP
+} PGShmemType;
 
 /* Possible values for huge_pages */
 typedef enum
@@ -52,6 +57,10 @@ typedef enum
 	HUGE_PAGES_TRY
 } HugePagesType;
 
+/* GUC variables */
+extern int shared_memory_type;
+extern int huge_pages;
+
 #ifndef WIN32
 extern unsigned long UsedShmemSegID;
 #else
@@ -59,6 +68,14 @@ extern HANDLE UsedShmemSegID;
 #endif
 extern void *UsedShmemSegAddr;
 
+#if !defined(WIN32) && !defined(EXEC_BACKEND)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_MMAP
+#elif !defined(WIN32)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_SYSV
+#else
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_WINDOWS
+#endif
+
 #ifdef EXEC_BACKEND
 extern void PGSharedMemoryReAttach(void);
 #endif
-- 
1.8.5.rc2.dirty

#64Magnus Hagander
magnus@hagander.net
In reply to: Mark Kirkwood (#62)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Tue, Apr 22, 2014 at 8:26 AM, Mark Kirkwood <
mark.kirkwood@catalyst.net.nz> wrote:

On 22/04/14 09:25, Andres Freund wrote:

On 2014-04-21 17:21:20 -0400, Bruce Momjian wrote:

On Mon, Apr 21, 2014 at 02:08:51PM -0700, Joshua Drake wrote:

If the community had more *BSD presence I think it would be great
but it isn't all that viable at this point. I do know however that
no-one in this community would turn down a team of FreeBSD advocates
helping us make PostgreSQL awesome for PostgreSQL.

I don't think we would even implement a run-time control for Linux or
Windows for this, so I don't even think it is a FreeBSD issue.

I think some of the arguments in this thread are pretty damn absurd. We
have just introduced dynamic_shared_memory_type.

+1

I was just thinking the same thing...

I didn't realize we had a guc for dynamic shared memory, must've missed
that in the discussion about that one. I agree that if we have that, it
makes perfect sense to have the same setting available for the main shared
memory segment.

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

#65Stephen Frost
sfrost@snowman.net
In reply to: Magnus Hagander (#64)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

* Magnus Hagander (magnus@hagander.net) wrote:

I didn't realize we had a guc for dynamic shared memory, must've missed
that in the discussion about that one. I agree that if we have that, it
makes perfect sense to have the same setting available for the main shared
memory segment.

I recall the back-and-forth about the issues with dynamic shared memory
but I had hoped they would result in a solution that didn't involve
having to support both..

Thanks,

Stephen

#66Andrew Dunstan
andrew@dunslane.net
In reply to: Joshua D. Drake (#59)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/22/2014 01:36 AM, Joshua D. Drake wrote:

On 04/21/2014 06:19 PM, Andrew Dunstan wrote:

If we never start we'll never get there.

I can think of several organizations that might be approached to donate
hardware.

Like .Org?

We have a hardware farm, a rack full of hardware and spindles. It
isn't the most current but it is there.

I'm going away tomorrow for a few days R&R. when I'm back next week I
will set up a demo client running this module. If you can have a machine
prepped for this purpose by then so much the better, otherwise I will
have to drag out a box I recently rescued and have been waiting for
something to use it with. It's more important that it's stable (i.e.
nothing else running on it) than that it's very powerful. It could be
running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#67Palle Girgensohn
girgen@FreeBSD.org
In reply to: Andrew Dunstan (#66)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

22 apr 2014 kl. 17:26 skrev Andrew Dunstan <andrew@dunslane.net>:

On 04/22/2014 01:36 AM, Joshua D. Drake wrote:

On 04/21/2014 06:19 PM, Andrew Dunstan wrote:

If we never start we'll never get there.

I can think of several organizations that might be approached to donate
hardware.

Like .Org?

We have a hardware farm, a rack full of hardware and spindles. It isn't the most current but it is there.

I'm going away tomorrow for a few days R&R. when I'm back next week I will set up a demo client running this module. If you can have a machine prepped for this purpose by then so much the better, otherwise I will have to drag out a box I recently rescued and have been waiting for something to use it with. It's more important that it's stable (i.e. nothing else running on it) than that it's very powerful. It could be running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

If you need help with the FreeBSD setup, I'm at you service.

Palle

#68Joshua D. Drake
jd@commandprompt.com
In reply to: Andrew Dunstan (#66)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/22/2014 08:26 AM, Andrew Dunstan wrote:

I'm going away tomorrow for a few days R&R. when I'm back next week I
will set up a demo client running this module. If you can have a machine
prepped for this purpose by then so much the better, otherwise I will
have to drag out a box I recently rescued and have been waiting for
something to use it with. It's more important that it's stable (i.e.
nothing else running on it) than that it's very powerful. It could be
running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

This is best handled by Mark. Mark can you help Andrew with this? I
assume we would use the DL385 with the MS70?

JD

cheers

andrew

--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
Political Correctness is for cowards.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#69Merlin Moncure
mmoncure@gmail.com
In reply to: Andrew Dunstan (#55)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 8:06 PM, Andrew Dunstan <andrew@dunslane.net> wrote:

On 04/21/2014 08:49 PM, Stephen Frost wrote:

* Tatsuo Ishii (ishii@postgresql.org) wrote:

I observe performance degradation with PostgreSQL 9.3 vs 9.2 on Linux
as well. The hardware is HP DL980G7, 80 cores, 2TB mem, RHEL 6,
pgbench is used (read only query), scale factor is 1,000 (DB size
15GB).

Can you isolate the sysv-vs-mmap patch and see what happens with just
that change..?

This is exactly why we need a benchfarm.

I actually have a client working based on Greg Smith's pgbench tools.

What we would need is a way to graph the results - that's something beyond
my very rudimentary expertise in web programming. If anyone feels like
collaborating I'd be glad to hear from them (The web site is programmed in
perl + TemplateToolkit, but even that's not immutable. I'm open to using,
say, node.js plus one of its templating engines.

Hm, you got me interested. Is the data you want to visualize stored
in a database? Got some example data? (this is pretty off topic, feel
free to contact off-list or on a new thread etc).

merlin

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#70Alfred Perlstein
alfred@freebsd.org
In reply to: Andrew Dunstan (#66)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/22/14, 8:26 AM, Andrew Dunstan wrote:

On 04/22/2014 01:36 AM, Joshua D. Drake wrote:

On 04/21/2014 06:19 PM, Andrew Dunstan wrote:

If we never start we'll never get there.

I can think of several organizations that might be approached to donate
hardware.

Like .Org?

We have a hardware farm, a rack full of hardware and spindles. It
isn't the most current but it is there.

I'm going away tomorrow for a few days R&R. when I'm back next week I
will set up a demo client running this module. If you can have a
machine prepped for this purpose by then so much the better, otherwise
I will have to drag out a box I recently rescued and have been waiting
for something to use it with. It's more important that it's stable
(i.e. nothing else running on it) than that it's very powerful. It
could be running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

cheers

andrew

Hey folks, I just spoke with our director of netops Tom Sparks here at
Norse and we have a vested interest in Postgresql. We can throw
together a cluster of 4 machines with specs approximately in the range
of dual quad core westmere with ~64GB of ram running FreeBSD 10 or 11.
We can also do an Ubungu install as well or other Linux distro. Please
let me know if that this would be a something that the project could
make use of please.

We also have colo space and power, etc. So this would be the whole
deal. The cluster would be up for as long as needed.

Are the machine specs sufficient? Any other things we should look for?

CC'd Tom on this email.

-Alfred

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#71Mark Wong
markwkm@gmail.com
In reply to: Joshua D. Drake (#68)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Tue, Apr 22, 2014 at 10:06 AM, Joshua D. Drake <jd@commandprompt.com>wrote:

On 04/22/2014 08:26 AM, Andrew Dunstan wrote:

I'm going away tomorrow for a few days R&R. when I'm back next week I

will set up a demo client running this module. If you can have a machine
prepped for this purpose by then so much the better, otherwise I will
have to drag out a box I recently rescued and have been waiting for
something to use it with. It's more important that it's stable (i.e.
nothing else running on it) than that it's very powerful. It could be
running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

This is best handled by Mark. Mark can you help Andrew with this? I assume
we would use the DL385 with the MS70?

Yeah, I can help. But let me know if Alfred's offer is preferred.

Regards,
Mark

#72Andrew Dunstan
andrew@dunslane.net
In reply to: Mark Wong (#71)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 04/22/2014 06:43 PM, Mark Wong wrote:

On Tue, Apr 22, 2014 at 10:06 AM, Joshua D. Drake
<jd@commandprompt.com <mailto:jd@commandprompt.com>> wrote:

On 04/22/2014 08:26 AM, Andrew Dunstan wrote:

I'm going away tomorrow for a few days R&R. when I'm back next
week I
will set up a demo client running this module. If you can have
a machine
prepped for this purpose by then so much the better, otherwise
I will
have to drag out a box I recently rescued and have been
waiting for
something to use it with. It's more important that it's stable
(i.e.
nothing else running on it) than that it's very powerful. It
could be

running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

This is best handled by Mark. Mark can you help Andrew with this?
I assume we would use the DL385 with the MS70?

Yeah, I can help. But let me know if Alfred's offer is preferred.

I don't think they are mutually exclusive, but I'd rather start off with
one machine. I would find it easiest if it were on something like
CentOS6.5.

When we have that running and reporting like we want it we can add a
FreeBSD server.

The idea is that these machines would be available for a long time,
ideally quite a few years. We want to have them with a stable time
series of performance data so that when something disturbs the
performance it sticks out like a sore thumb.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#73Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Andres Freund (#63)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 23/04/14 00:19, Andres Freund wrote:

Hi,

Attached you can find a short (compile tested only ) patch implementing
a 'shared_memory_type' GUC, akin to 'dynamic_shared_memory_type'. Will
only apply to 9.4, not 9.3, but it should be easy to convert for it.

Have just tried this out (on Ubuntu 14.04 rather than Freebsd, as it is
what I happened to be running), certainly works for me (big shared
memory segment when I set it to 'sysv', only a tiny one when I use 'mmap').

The regression tests pass in both cases.

regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#74Noname
yamt@netbsd.org
In reply to: Francois Tigeot (#22)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

- NetBSD: crashes under load; this could have been fixed but when I ran the
benchmarks in 2012 none of the developers seemed to care.

do you mean this?
https://mail-index.netbsd.org/tech-kern/2012/08/29/msg013918.html

YAMAMOTO Takashi

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#75Tatsuo Ishii
ishii@postgresql.org
In reply to: Michael Paquier (#61)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

That URL returns 'Forbidden'...

Sorry for this. I sent a problem report to the person in charge. In
the mean time, please go to:
https://www.pgecons.org/download/works_2013/ then click the link "2013
年度WG1活動報告" (sorry for not English). You should be able to
download a report (PDF).

Also the report is written in Japanese. I hope you can read at leat
the graph in page 13 and the table in page 14.

Is pgecons planning to do a translation of that at some point? It looks
like good material, and the audience able to understand it is rather
limited now :)

Yeah, once I proposed a translation of the documents by professional
translators to the organization. Their decision was "no". The main
reason was cost. The document is huge and the translation work could
cost tremendously. So unless someone comes up for volunteering the
translation work, the document would not be translated.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#76Mark Wong
markwkm@gmail.com
In reply to: Andrew Dunstan (#72)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Apr 22, 2014, at 5:07 PM, Andrew Dunstan <andrew@dunslane.net> wrote:

On 04/22/2014 06:43 PM, Mark Wong wrote:
On Tue, Apr 22, 2014 at 10:06 AM, Joshua D. Drake <jd@commandprompt.com <mailto:jd@commandprompt.com>> wrote:

On 04/22/2014 08:26 AM, Andrew Dunstan wrote:

I'm going away tomorrow for a few days R&R. when I'm back next
week I
will set up a demo client running this module. If you can have
a machine
prepped for this purpose by then so much the better, otherwise
I will
have to drag out a box I recently rescued and have been
waiting for
something to use it with. It's more important that it's stable
(i.e.
nothing else running on it) than that it's very powerful. It
could be

running Ubuntu or some Redhattish variant or, yes, even FreeBSD.

This is best handled by Mark. Mark can you help Andrew with this?
I assume we would use the DL385 with the MS70?

Yeah, I can help. But let me know if Alfred's offer is preferred.

I don't think they are mutually exclusive, but I'd rather start off with one machine. I would find it easiest if it were on something like CentOS6.5.

When we have that running and reporting like we want it we can add a FreeBSD server.

The idea is that these machines would be available for a long time, ideally quite a few years. We want to have them with a stable time series of performance data so that when something disturbs the performance it sticks out like a sore thumb.

Ok, centos 6.4 is on there now, I'll try to get that upgraded within a few days or so. I'll keep you posted.

Regards,
Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#77Noah Misch
noah@leadboat.com
In reply to: Andres Freund (#47)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On Mon, Apr 21, 2014 at 11:25:35PM +0200, Andres Freund wrote:

On 2014-04-21 17:21:20 -0400, Bruce Momjian wrote:

On Mon, Apr 21, 2014 at 02:08:51PM -0700, Joshua Drake wrote:

If the community had more *BSD presence I think it would be great
but it isn't all that viable at this point. I do know however that
no-one in this community would turn down a team of FreeBSD advocates
helping us make PostgreSQL awesome for PostgreSQL.

I don't think we would even implement a run-time control for Linux or
Windows for this, so I don't even think it is a FreeBSD issue.

I think some of the arguments in this thread are pretty damn absurd. We
have just introduced dynamic_shared_memory_type.

I agree. The ideal is nobody wishing for an option, but I'd rather have the
option if a non-theoretical set of users is feeling the pain of its absence.

--
Noah Misch
EnterpriseDB http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#78Ian Barwick
ian@2ndquadrant.com
In reply to: Tatsuo Ishii (#75)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 24/04/14 09:26, Tatsuo Ishii wrote:

Included is the graph (from PostgreSQL Enterprise Consortium's 2014
report page 13: https://www.pgecons.org/downloads/43). I see up to 14%
degration (at 128 concurrent users) comparing with 9.2.

That URL returns 'Forbidden'...

Sorry for this. I sent a problem report to the person in charge. In
the mean time, please go to:
https://www.pgecons.org/download/works_2013/ then click the link "2013
年度WG1活動報告" (sorry for not English). You should be able to
download a report (PDF).

Also the report is written in Japanese. I hope you can read at leat
the graph in page 13 and the table in page 14.

Is pgecons planning to do a translation of that at some point? It looks
like good material, and the audience able to understand it is rather
limited now :)

Yeah, once I proposed a translation of the documents by professional
translators to the organization. Their decision was "no". The main
reason was cost. The document is huge and the translation work could
cost tremendously. So unless someone comes up for volunteering the
translation work, the document would not be translated.

I actually started translating one of those reports on the way home
from last year's PgCon (PgEcons made a presentation there:
http://www.pgcon.org/2013/schedule/events/556.en.html ) - it was a long flight - but
didn't have any
particular incentive to finish it.

It might make a nice JPUG project for members who want to practise their
English.

Regards

Ian Barwick

--
Ian Barwick http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#79Jim Nasby
jim@nasby.net
In reply to: Alfred Perlstein (#70)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

On 4/22/14, 5:01 PM, Alfred Perlstein wrote:

Hey folks, I just spoke with our director of netops Tom Sparks here at Norse and we have a vested interest in Postgresql. We can throw together a cluster of 4 machines with specs approximately in the range of dual quad core westmere with ~64GB of ram running FreeBSD 10 or 11. We can also do an Ubungu install as well or other Linux distro. Please let me know if that this would be a something that the project could make use of please.

We also have colo space and power, etc. So this would be the whole deal. The cluster would be up for as long as needed.

Are the machine specs sufficient? Any other things we should look for?

CC'd Tom on this email.

Did anyone respond to this off-list?

Would these machines be more useful as dedicated performance test servers for the community or generic BenchFarm members?
--
Jim C. Nasby, Data Architect jim@nasby.net
512.569.9461 (cell) http://jim.nasby.net

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#80Stephen Frost
sfrost@snowman.net
In reply to: Jim Nasby (#79)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Jim,

* Jim Nasby (jim@nasby.net) wrote:

On 4/22/14, 5:01 PM, Alfred Perlstein wrote:

We also have colo space and power, etc. So this would be the whole deal. The cluster would be up for as long as needed.

Are the machine specs sufficient? Any other things we should look for?

CC'd Tom on this email.

Did anyone respond to this off-list?

Yes, I did follow-up with Tom. I'll do so again, as the discussion had
died down.

Would these machines be more useful as dedicated performance test servers for the community or generic BenchFarm members?

I don't believe they would be terribly useful as buildfarm systems; we
could set up similar systems with VMs to just run the regression tests.
Where I see these systems being particularly valuable would be as the
start of our performance farm, and perhaps one of the systems as a PG
infrastructure server.

Thanks!

Stephen

#81Alfred Perlstein
alfred@freebsd.org
In reply to: Stephen Frost (#80)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

JFYI we have 3 or 4 machines racked for the pgsql project in our DC.

Tom informed me he would be lighting them up this week time permitting.

Sent from my iPhone

On Apr 26, 2014, at 6:15 PM, Stephen Frost <sfrost@snowman.net> wrote:

Jim,

* Jim Nasby (jim@nasby.net) wrote:

On 4/22/14, 5:01 PM, Alfred Perlstein wrote:
We also have colo space and power, etc. So this would be the whole deal. The cluster would be up for as long as needed.

Are the machine specs sufficient? Any other things we should look for?

CC'd Tom on this email.

Did anyone respond to this off-list?

Yes, I did follow-up with Tom. I'll do so again, as the discussion had
died down.

Would these machines be more useful as dedicated performance test servers for the community or generic BenchFarm members?

I don't believe they would be terribly useful as buildfarm systems; we
could set up similar systems with VMs to just run the regression tests.
Where I see these systems being particularly valuable would be as the
start of our performance farm, and perhaps one of the systems as a PG
infrastructure server.

Thanks!

Stephen

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#82Stephen Frost
sfrost@snowman.net
In reply to: Alfred Perlstein (#81)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Alfred,

* Alfred Perlstein (alfred@freebsd.org) wrote:

JFYI we have 3 or 4 machines racked for the pgsql project in our DC.

Oh, great!

Tom informed me he would be lighting them up this week time permitting.

Excellent, many thanks!

Stephen

#83Tatsuo Ishii
ishii@postgresql.org
In reply to: Andres Freund (#63)
1 attachment(s)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hi,

Hi,

Attached you can find a short (compile tested only ) patch implementing
a 'shared_memory_type' GUC, akin to 'dynamic_shared_memory_type'. Will
only apply to 9.4, not 9.3, but it should be easy to convert for it.

Greetings,

Andres Freund

I have rebased Andres's patch against 9.3-STABLE tree. Please take a
look at attached patches and let me know if you find anything strange.

I am going to test the patch on a huge HP machine: DL980G7/64
cores/2TB mem. With the patch I would be able to report back if using
SysV shared mem fixes the 9.3 performance problem.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp

Attachments:

0001-Add-shared_memory_type-GUC-9.3.patchtext/x-patch; charset=us-asciiDownload
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index f746c81..e82054a 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -72,6 +72,7 @@ static void IpcMemoryDetach(int status, Datum shmaddr);
 static void IpcMemoryDelete(int status, Datum shmId);
 static PGShmemHeader *PGSharedMemoryAttach(IpcMemoryKey key,
 					 IpcMemoryId *shmid);
+static void *CreateAnonymousSegment(Size *size);
 
 
 /*
@@ -389,49 +390,19 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port)
 	 * developer use, this shouldn't be a big problem.
 	 */
 #ifndef EXEC_BACKEND
+	if (shared_memory_type == SHMEM_TYPE_MMAP)
 	{
-		long		pagesize = sysconf(_SC_PAGE_SIZE);
-
-		/*
-		 * Ensure request size is a multiple of pagesize.
-		 *
-		 * pagesize will, for practical purposes, always be a power of two.
-		 * But just in case it isn't, we do it this way instead of using
-		 * TYPEALIGN().
-		 */
-		if (pagesize > 0 && size % pagesize != 0)
-			size += pagesize - (size % pagesize);
-
-		/*
-		 * We assume that no one will attempt to run PostgreSQL 9.3 or later
-		 * on systems that are ancient enough that anonymous shared memory is
-		 * not supported, such as pre-2.4 versions of Linux.  If that turns
-		 * out to be false, we might need to add a run-time test here and do
-		 * this only if the running kernel supports it.
-		 */
-		AnonymousShmem = mmap(NULL, size, PROT_READ | PROT_WRITE, PG_MMAP_FLAGS,
-							  -1, 0);
-		if (AnonymousShmem == MAP_FAILED)
-		{
-			int		saved_errno = errno;
-
-			ereport(FATAL,
-					(errmsg("could not map anonymous shared memory: %m"),
-					 (saved_errno == ENOMEM) ?
-				errhint("This error usually means that PostgreSQL's request "
-					 "for a shared memory segment exceeded available memory "
-					  "or swap space. To reduce the request size (currently "
-					  "%lu bytes), reduce PostgreSQL's shared memory usage, "
-						"perhaps by reducing shared_buffers or "
-						"max_connections.",
-						(unsigned long) size) : 0));
-		}
+		AnonymousShmem = CreateAnonymousSegment(&size);
 		AnonymousShmemSize = size;
-
 		/* Now we need only allocate a minimal-sized SysV shmem block. */
 		sysvsize = sizeof(PGShmemHeader);
 	}
+	else
 #endif
+	{
+		Assert(shared_memory_type == SHMEM_TYPE_SYSV);
+		sysvsize = size;
+	}
 
 	/* Make sure PGSharedMemoryAttach doesn't fail without need */
 	UsedShmemSegAddr = NULL;
@@ -631,3 +602,47 @@ PGSharedMemoryAttach(IpcMemoryKey key, IpcMemoryId *shmid)
 
 	return hdr;
 }
+
+/*
+ * Creates an anonymous mmap()ed shared memory segment.
+ *
+ * Pass the requested size in *size.  This function will modify *size to the
+ * actual size of the allocation, if it ends up allocating a segment that is
+ * larger than requested.
+ */
+#ifndef EXEC_BACKEND
+static void *
+CreateAnonymousSegment(Size *size)
+{
+	Size		allocsize = *size;
+	void	   *ptr = MAP_FAILED;
+	int			mmap_errno = 0;
+
+	/*
+	 * use the original size, not the rounded up value, when falling back
+	 * to non-huge pages.
+	 */
+	allocsize = *size;
+	ptr = mmap(NULL, allocsize, PROT_READ | PROT_WRITE,
+			   PG_MMAP_FLAGS, -1, 0);
+	mmap_errno = errno;
+
+	if (ptr == MAP_FAILED)
+	{
+		errno = mmap_errno;
+		ereport(FATAL,
+				(errmsg("could not map anonymous shared memory: %m"),
+				 (mmap_errno == ENOMEM) ?
+				 errhint("This error usually means that PostgreSQL's request "
+					"for a shared memory segment exceeded available memory, "
+					  "swap space or huge pages. To reduce the request size "
+						 "(currently %zu bytes), reduce PostgreSQL's shared "
+					   "memory usage, perhaps by reducing shared_buffers or "
+						 "max_connections.",
+						 *size) : 0));
+	}
+
+	*size = allocsize;
+	return ptr;
+}
+#endif
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c
index 918ac51..51dccdc 100644
--- a/src/backend/storage/ipc/ipci.c
+++ b/src/backend/storage/ipc/ipci.c
@@ -39,6 +39,8 @@
 #include "storage/sinvaladt.h"
 #include "storage/spin.h"
 
+/* GUCs */
+int			shared_memory_type = DEFAULT_SHARED_MEMORY_TYPE;
 
 shmem_startup_hook_type shmem_startup_hook = NULL;
 
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 2b6527f..2945a68 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -61,6 +61,7 @@
 #include "replication/walreceiver.h"
 #include "replication/walsender.h"
 #include "storage/bufmgr.h"
+#include "storage/pg_shmem.h"
 #include "storage/standby.h"
 #include "storage/fd.h"
 #include "storage/proc.h"
@@ -378,6 +379,19 @@ static const struct config_enum_entry synchronous_commit_options[] = {
 	{NULL, 0, false}
 };
 
+static struct config_enum_entry shared_memory_options[] = {
+#ifndef WIN32
+	{ "sysv", SHMEM_TYPE_SYSV, false},
+#endif
+#ifndef EXEC_BACKEND
+	{ "mmap", SHMEM_TYPE_MMAP, false},
+#endif
+#ifdef WIN32
+	{ "windows", SHMEM_TYPE_WINDOWS, false},
+#endif
+	{NULL, 0, false}
+};
+
 /*
  * Options for enum values stored in other modules
  */
@@ -3328,6 +3342,16 @@ static struct config_enum ConfigureNamesEnum[] =
 	},
 
 	{
+		{"shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM,
+			gettext_noop("Selects the shared memory implementation used."),
+			NULL
+		},
+		&shared_memory_type,
+		DEFAULT_SHARED_MEMORY_TYPE, shared_memory_options,
+		NULL, NULL, NULL
+	},
+
+	{
 		{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
 			gettext_noop("Selects the method used for forcing WAL updates to disk."),
 			NULL
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 18196f8..022cf4d 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -124,6 +124,13 @@
 #maintenance_work_mem = 16MB		# min 1MB
 #max_stack_depth = 2MB			# min 100kB
 
+#shared_memory_type = mmap		# the default is the first option
+					# supported by the operating system:
+					#   mmap
+					#   sysv
+					#   windows
+#dynamic_shared_memory_type = posix	# the default is the first option
+
 # - Disk -
 
 #temp_file_limit = -1			# limits per-session temp file space
diff --git a/src/include/storage/pg_shmem.h b/src/include/storage/pg_shmem.h
index 6ece82b..9c3b6d9 100644
--- a/src/include/storage/pg_shmem.h
+++ b/src/include/storage/pg_shmem.h
@@ -38,6 +38,27 @@ typedef struct PGShmemHeader	/* standard header for all Postgres shmem */
 #endif
 } PGShmemHeader;
 
+/* GUC variable */
+extern int huge_pages;
+/* Possible values for shared_memory_type */
+typedef enum
+{
+	SHMEM_TYPE_WINDOWS,
+	SHMEM_TYPE_SYSV,
+	SHMEM_TYPE_MMAP
+} PGShmemType;
+
+#if !defined(WIN32) && !defined(EXEC_BACKEND)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_MMAP
+#elif !defined(WIN32)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_SYSV
+#else
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_WINDOWS
+#endif
+
+/* GUC variables */
+extern int shared_memory_type;
+extern int huge_pages;
 
 #ifdef EXEC_BACKEND
 #ifndef WIN32
#84Palle Girgensohn
girgen@FreeBSD.org
In reply to: Tatsuo Ishii (#83)
Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

Hello,

How did this testing turn out?

Palle

3 jul 2014 kl. 12:15 skrev Tatsuo Ishii <ishii@postgresql.org>:

Show quoted text

Hi,

Hi,

Attached you can find a short (compile tested only ) patch implementing
a 'shared_memory_type' GUC, akin to 'dynamic_shared_memory_type'. Will
only apply to 9.4, not 9.3, but it should be easy to convert for it.

Greetings,

Andres Freund

I have rebased Andres's patch against 9.3-STABLE tree. Please take a
look at attached patches and let me know if you find anything strange.

I am going to test the patch on a huge HP machine: DL980G7/64
cores/2TB mem. With the patch I would be able to report back if using
SysV shared mem fixes the 9.3 performance problem.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index f746c81..e82054a 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -72,6 +72,7 @@ static void IpcMemoryDetach(int status, Datum shmaddr);
static void IpcMemoryDelete(int status, Datum shmId);
static PGShmemHeader *PGSharedMemoryAttach(IpcMemoryKey key,
IpcMemoryId *shmid);
+static void *CreateAnonymousSegment(Size *size);
/*
@@ -389,49 +390,19 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port)
* developer use, this shouldn't be a big problem.
*/
#ifndef EXEC_BACKEND
+	if (shared_memory_type == SHMEM_TYPE_MMAP)
{
-		long		pagesize = sysconf(_SC_PAGE_SIZE);
-
-		/*
-		 * Ensure request size is a multiple of pagesize.
-		 *
-		 * pagesize will, for practical purposes, always be a power of two.
-		 * But just in case it isn't, we do it this way instead of using
-		 * TYPEALIGN().
-		 */
-		if (pagesize > 0 && size % pagesize != 0)
-			size += pagesize - (size % pagesize);
-
-		/*
-		 * We assume that no one will attempt to run PostgreSQL 9.3 or later
-		 * on systems that are ancient enough that anonymous shared memory is
-		 * not supported, such as pre-2.4 versions of Linux.  If that turns
-		 * out to be false, we might need to add a run-time test here and do
-		 * this only if the running kernel supports it.
-		 */
-		AnonymousShmem = mmap(NULL, size, PROT_READ | PROT_WRITE, PG_MMAP_FLAGS,
-							  -1, 0);
-		if (AnonymousShmem == MAP_FAILED)
-		{
-			int		saved_errno = errno;
-
-			ereport(FATAL,
-					(errmsg("could not map anonymous shared memory: %m"),
-					 (saved_errno == ENOMEM) ?
-				errhint("This error usually means that PostgreSQL's request "
-					 "for a shared memory segment exceeded available memory "
-					  "or swap space. To reduce the request size (currently "
-					  "%lu bytes), reduce PostgreSQL's shared memory usage, "
-						"perhaps by reducing shared_buffers or "
-						"max_connections.",
-						(unsigned long) size) : 0));
-		}
+		AnonymousShmem = CreateAnonymousSegment(&size);
AnonymousShmemSize = size;
-
/* Now we need only allocate a minimal-sized SysV shmem block. */
sysvsize = sizeof(PGShmemHeader);
}
+	else
#endif
+	{
+		Assert(shared_memory_type == SHMEM_TYPE_SYSV);
+		sysvsize = size;
+	}

/* Make sure PGSharedMemoryAttach doesn't fail without need */
UsedShmemSegAddr = NULL;
@@ -631,3 +602,47 @@ PGSharedMemoryAttach(IpcMemoryKey key, IpcMemoryId *shmid)

return hdr;
}
+
+/*
+ * Creates an anonymous mmap()ed shared memory segment.
+ *
+ * Pass the requested size in *size.  This function will modify *size to the
+ * actual size of the allocation, if it ends up allocating a segment that is
+ * larger than requested.
+ */
+#ifndef EXEC_BACKEND
+static void *
+CreateAnonymousSegment(Size *size)
+{
+	Size		allocsize = *size;
+	void	   *ptr = MAP_FAILED;
+	int			mmap_errno = 0;
+
+	/*
+	 * use the original size, not the rounded up value, when falling back
+	 * to non-huge pages.
+	 */
+	allocsize = *size;
+	ptr = mmap(NULL, allocsize, PROT_READ | PROT_WRITE,
+			   PG_MMAP_FLAGS, -1, 0);
+	mmap_errno = errno;
+
+	if (ptr == MAP_FAILED)
+	{
+		errno = mmap_errno;
+		ereport(FATAL,
+				(errmsg("could not map anonymous shared memory: %m"),
+				 (mmap_errno == ENOMEM) ?
+				 errhint("This error usually means that PostgreSQL's request "
+					"for a shared memory segment exceeded available memory, "
+					  "swap space or huge pages. To reduce the request size "
+						 "(currently %zu bytes), reduce PostgreSQL's shared "
+					   "memory usage, perhaps by reducing shared_buffers or "
+						 "max_connections.",
+						 *size) : 0));
+	}
+
+	*size = allocsize;
+	return ptr;
+}
+#endif
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c
index 918ac51..51dccdc 100644
--- a/src/backend/storage/ipc/ipci.c
+++ b/src/backend/storage/ipc/ipci.c
@@ -39,6 +39,8 @@
#include "storage/sinvaladt.h"
#include "storage/spin.h"
+/* GUCs */
+int			shared_memory_type = DEFAULT_SHARED_MEMORY_TYPE;

shmem_startup_hook_type shmem_startup_hook = NULL;

diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 2b6527f..2945a68 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -61,6 +61,7 @@
#include "replication/walreceiver.h"
#include "replication/walsender.h"
#include "storage/bufmgr.h"
+#include "storage/pg_shmem.h"
#include "storage/standby.h"
#include "storage/fd.h"
#include "storage/proc.h"
@@ -378,6 +379,19 @@ static const struct config_enum_entry synchronous_commit_options[] = {
{NULL, 0, false}
};
+static struct config_enum_entry shared_memory_options[] = {
+#ifndef WIN32
+	{ "sysv", SHMEM_TYPE_SYSV, false},
+#endif
+#ifndef EXEC_BACKEND
+	{ "mmap", SHMEM_TYPE_MMAP, false},
+#endif
+#ifdef WIN32
+	{ "windows", SHMEM_TYPE_WINDOWS, false},
+#endif
+	{NULL, 0, false}
+};
+
/*
* Options for enum values stored in other modules
*/
@@ -3328,6 +3342,16 @@ static struct config_enum ConfigureNamesEnum[] =
},
{
+		{"shared_memory_type", PGC_POSTMASTER, RESOURCES_MEM,
+			gettext_noop("Selects the shared memory implementation used."),
+			NULL
+		},
+		&shared_memory_type,
+		DEFAULT_SHARED_MEMORY_TYPE, shared_memory_options,
+		NULL, NULL, NULL
+	},
+
+	{
{"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS,
gettext_noop("Selects the method used for forcing WAL updates to disk."),
NULL
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 18196f8..022cf4d 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -124,6 +124,13 @@
#maintenance_work_mem = 16MB		# min 1MB
#max_stack_depth = 2MB			# min 100kB
+#shared_memory_type = mmap		# the default is the first option
+					# supported by the operating system:
+					#   mmap
+					#   sysv
+					#   windows
+#dynamic_shared_memory_type = posix	# the default is the first option
+
# - Disk -
#temp_file_limit = -1			# limits per-session temp file space
diff --git a/src/include/storage/pg_shmem.h b/src/include/storage/pg_shmem.h
index 6ece82b..9c3b6d9 100644
--- a/src/include/storage/pg_shmem.h
+++ b/src/include/storage/pg_shmem.h
@@ -38,6 +38,27 @@ typedef struct PGShmemHeader	/* standard header for all Postgres shmem */
#endif
} PGShmemHeader;
+/* GUC variable */
+extern int huge_pages;
+/* Possible values for shared_memory_type */
+typedef enum
+{
+	SHMEM_TYPE_WINDOWS,
+	SHMEM_TYPE_SYSV,
+	SHMEM_TYPE_MMAP
+} PGShmemType;
+
+#if !defined(WIN32) && !defined(EXEC_BACKEND)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_MMAP
+#elif !defined(WIN32)
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_SYSV
+#else
+#define DEFAULT_SHARED_MEMORY_TYPE SHMEM_TYPE_WINDOWS
+#endif
+
+/* GUC variables */
+extern int shared_memory_type;
+extern int huge_pages;

#ifdef EXEC_BACKEND
#ifndef WIN32