����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 104.21.45.146  /  Your IP : 172.69.132.156
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-172-31-19-221 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.1.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/cloudinit/cmd/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/cloudinit/cmd/__pycache__/main.cpython-310.pyc
o

m[h��@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZddlm
Z
mZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddl+m,Z,m-Z-m.Z.m/Z/e0Z1dZ2dZ3e,e-e.d�Z4ddddd �Z5e�6e7�Z8d\d"d#�Z9d]d$d%�Z:d&d'�Z;e�<d(�e8j=fd)e
e0gdffd*d+��Z>d,d-�Z?d.e$fd/d0�Z@d1d2�ZAd^d4d5�ZBd_d7e	eCe0ffd8d9�ZDd:d;�ZEd<d=�ZFd>eee0eGfd7e	eHe1ffd?d@�ZIdAeejJd7e	eHe1ffdBdC�ZKdDdE�ZLdFdG�ZMdHdI�ZNdJdK�ZOdLdM�ZPdNejQfdOdP�ZRdQdR�ZSdSdT�ZTd]dUdV�ZUdWdX�ZVdYdZ�ZWe7d[k�r{e�XeUejY��dSdS)`�N)�Optional�Tuple�Callable�Union)�features�netinfo)�signal_handler)�sources)�socket)�stages)�
url_helper)�util)�performance)�version)�warnings)�	reporting)�
atomic_helper)�	lifecycle)�handlers)�log_util�loggers)�read_cfg_paths)�cc_set_hostname)�Modules)�validate_cloudconfig_schema)�log_with_downgradable_level)�events)�PER_INSTANCE�
PER_ALWAYS�PER_ONCE�CLOUD_CONFIGzOCloud-init v. {version} running '{action}' at {timestamp}. Up {uptime} seconds.zcloud_%s_modules)�instance�always�oncezLocal Stagez
Network StagezConfig StagezFinal Stage)�
init-local�init�modules-config�
modules-final�cCsV|r
tj�d|�tj�d�tj�d�tjtjd�tj�d�tj�d�dS)N�%s
z<------------------------------------------------------------�
)�file)�sys�stderr�write�	traceback�	print_exc��msg�r3�4/usr/lib/python3/dist-packages/cloudinit/cmd/main.pyr0Tsr0cCs&|st|�}tjd|ddtd�|S)Nr)FT)�consoler-�log)�welcome_formatr�	multi_log�LOG)�actionr2r3r3r4�welcome^sr;cCstjt��t��t��|d�S)N)r�uptime�	timestampr:)�WELCOME_MSG_TPL�formatr�version_stringr
r<�time_rfc2822�r:r3r3r4r7es�r7�
Closing stdin�loggercCsjt�tj���s/|d�ttj��}t�|��tj���Wd�dS1s(wYdS|d�dS)zj
    reopen stdin as /dev/null to ensure no side effects

    logger: a function for logging messages
    rCNz"Not closing stdin, stdin is a tty.)�os�isattyr,�stdin�fileno�open�devnull�dup2)rD�fpr3r3r4�close_stdinns"�rMcCsTg}|jr|jD]}|�tj�|j��q|jr(|jD]}|�tj�|j��q|S�N)�
main_files�appendrE�path�realpath�name�files)�args�fn_cfgs�fhr3r3r4�extract_fns}s

rX�modscCsrt|}|�|�\}}t|�t|�}|dkr,d||f}tj�d|�t�|�gSt�dt|�t|��|S)Nrz)No '%s' modules to run under section '%s'r)zRan %s modules with %s failures)�MOD_SECTION_TPL�run_section�lenr,r-r.r9�debug)rY�action_name�section�full_section_name�	which_ran�failures�total_attemptedr2r3r3r4�run_module_section�s�
�rdcCs"|�d�rt�|�d��dSdS)Nr)�getr�update_configuration)�cfgr3r3r4�apply_reporting_cfg�s
�rh��cloud-config-url�urlcCs<t�|�}|D]}||vr|||fSqtd||f��)Nz!No keys (%s) found in string '%s')r
�keyval_str_to_dict�KeyError)�cmdline�names�data�keyr3r3r4�parse_cmdline_url�s
�rrT�returnc
Cs"|durt��}zt|�\}}WntytjdfYSw|�d�}|rMtj�	|�rM|r@d||f}tj
}|r<tj}||fSd||f}tj}||fS|dddd	�}|sX|r`tj}d
|d<ntj}d|d<d}	d
}
zxtj
di|��}d}|��r�d}
t|tj�r�z|t|jt|
�d��7}Wn	ty�Ynw|�|
�s�d}
n|j�|
�s�d}
|
r�|dkr�tjddddd�WSn"|dkr�tj}ntj
}|d|�dt|
���fWS|d||jffWS||j}	Wntjy�}z|d||ffWYd}~Sd}~wwtj||	dd�tj
d|||ffS)a�Write data from url referenced in command line to path.

    path: a file to write content to if downloaded.
    network: should network access be assumed.
    cmdline: the cmdline to parse for cloud-config-url.

    This is used in MAAS datasource, in "ephemeral" (read-only root)
    environment where the instance netboots to iscsi ro root.
    and the entity that controls the pxe config has to configure
    the maas datasource.

    An attempt is made on network urls even in local datasource
    for case of network set up in initramfs.

    Return value is a tuple of a logger function (logging.DEBUG)
    and a message indicating what happened.
    Nz!No kernel command line url found.)zfile://�/z_file '%s' existed, possibly from local stage download of command line url '%s'. Not re-writing.zafile '%s' existed, possibly from previous boot download of command line url '%s'. Not re-writing.�
�T)rk�timeout�retries�stream��sec_betweeng�������?s
#cloud-config�)�
chunk_sizeFrkz!The kernel command line key `url`z22.3zD Please use `cloud-config-url` kernel command line parameter instead��
deprecated�deprecated_version�
extra_message�skip_logrjz
contents of 'z' did not start with z$url '%s' returned code %s. Ignoring.zretrieving url '%s' failed: %si�)�modez*wrote cloud-config data from %s='%s' to %sr3)r
�get_cmdlinerrrm�logging�DEBUG�
startswithrErQ�exists�INFO�WARNr�read_file_or_url�ok�
isinstance�UrlResponse�next�iter_contentr\�
StopIteration�contentsr�	deprecate�str�code�UrlError�
write_file)rQ�networkrn�cmdline_namerk�
path_is_local�m�level�kwargsrp�header�resp�sniffed_content�is_cloud_cfg�er3r3r4�attempt_cmdline_url�s��
�����

��
���	������r�cCs�dtjjtjjf}tj�|j�d�d�}tj�	|�r8t
�|�}||kr6t�
d�|�d�t
�||�dSdStj�	|j�d��rGt�d�t
�||�dS)	z�Purge the cache if python version changed on us.

    There could be changes not represented in our cache (obj.pkl) after we
    upgrade to a new version of python, so at that point clear the cache
    z%d.%drpzpython-versionz-Python version change detected. Purging cacheT�obj_pklzMWriting python-version file. Cache compatibility status is currently unknown.N)r,�version_info�major�minorrErQ�join�paths�	get_cpathr�r
�load_text_filer9r]�purge_cacher��
get_ipath_cur�info)r%�current_python_version�python_version_path�cached_python_versionr3r3r4�$purge_cache_on_python_version_changes&��


��r�cCst�|jd�r	dS|jS)N�disable_network_activationF)r
�get_cfg_option_boolrg�local)r%rUr3r3r4�_should_bring_up_interfaces:sr��
raw_configc
Cs�|sdSt�|��dd��dkrdSzt�|�}Wnty8}zttdtj	d|fd�WYd}~d	Sd}~wwt
|t�s@d
Sd|vrb|dD]}|�d�pPi}|�d
d�}|ra|�
d�sadSqH|�d�ridS|�di��d�rtdS|�d�r{dSdS)a�Determine if our cloud-config requires us to wait

    User data requires us to wait during cloud-init network phase if:
    - We have user data that is anything other than cloud-config
      - This can likely be further optimized in the future to include
        other user data types
    - cloud-config contains:
      - bootcmd
      - random_seed command
      - mounts
      - write_files with source
    )Fzno configuration foundN�*ztext/cloud-config)Tz non-cloud-config user data foundz24.4z'Unexpected failure parsing userdata: %s)rDr�requested_levelr2rU)Tz!failed to parse user data as yaml)Tz(parsed config not in cloud-config format�write_files�source�urir()rtzfile:)Tz!write_files with source uri found�bootcmd)Tz
bootcmd found�random_seed�command)Tzrandom_seed command found�mounts)Tzmounts found)Fz8cloud-config does not contain network requiring elements)r�type_from_starts_with�strip�yaml�	safe_load�	Exceptionrr9r��WARNINGr��dictrer�)r��parsed_yamlr��item�source_dict�
source_urir3r3r4�_should_wait_via_user_data@sF����

�

r��
datasourcecCs�|sdSt|���\}}|rd|�d�fSt|���\}}|r&d|�d�fSt|���\}}|r7d|�d�fSdd|�d|�d	|��fS)
z�Determine if we should wait on network connectivity for cloud-init.

    We need to wait during the cloud-init network phase if:
    - We have no datasource
    - We have user data that may require network access
    )Tzno datasource foundTz
 in user dataz in vendor dataz in vendor data2Fzuser data: z, vendor data: z, vendor data2: )r��get_userdata_raw�get_vendordata_raw�get_vendordata2_raw)r��user_should_wait�user_reason�vendor_should_wait�
vendor_reason�vendor2_should_wait�vendor2_reasonr3r3r4�_should_wait_on_network{s0	������r�cs�tjtjg}|jr
tjg}ttj�dtd�|jd�g�|jr"dnd}t	|�}t
j||jd�}|�
t|��d}d}z |jsQt�fdd��t�|j|�\}}n	t�|j|�\}}Wntyxd	}t�t|�t|���tj|f�Ynw|jr�t�d
�t��|js�t�|j�t |j�t!||d�t�"dt�#�|��D]
\}	}t�$|	|�q�z|�%�Wnty�t�td
�Ynw|j&}
t'|�|jr�tj(ntj)}|tj)kr�t*j+r�tj�,|j&�-d��s�t�d�|j.�/�d}t0j1�2dt3�4��n-d}t�5|jdd�}
|
�rt�d�d}n|
�6d�}tj�,|��r't�d|�d}|�7�t8||�}z"|j9|d�|tj)k�rQ|j:j;|k�rQt�d||j:�dgfWSWnFtj<�y�|tj(k�rgt�d�nt�td�|j=�s�|j>|d�t�d|�|tj(k�r�dgfYSddgfYSt�d|�Ynwt?|�|�@�}t�d ||||�A��|tj(k�r�tB|d!d"d#�|j>|d�|tj(k�rt*j+�r�tC|j:�\}}|�r�t�d$|�nt�d%|�t�D|j&�-d�d&�|j:j;|k�r�t�d'||j:�|j:gfSt�d(||j:�|�E�|�F�tB|d)d*d#�z|�G�jHd+|jItJgtJd,�\}}|�s-|�ItK�Wnt�yDt�td-�|j:d-gfYSw|j&�6d.�}tj�,|��rjt�L|�jMd/k�rjtNtO�Pt�Q|��ddd0d1�nt�d2�t |j�tR|t|�|jd3�}z)|}|}t�|j|�\}}||k�s�||k�r�t�Sd4||�t�|j|�\}}Wnt�y�t�td5�Ynwt�|j�|�T�tU|j:|jd6�|j:tV|||�fS)7Nz%s.dz91_kernel_cmdline_url.cfg)rQr�r$r%��ds_deps�reportercs��tj|f�SrN)rPr�r�r1��
early_logsr3r4�<lambda>�szmain_init.<locals>.<lambda>�#Failed to setup output redirection!�@Logging being reset, this logger may no longer be active shortlyr1�!PID [%s] started cloud-init '%s'.z0Failed to initialize, likely bad things to come!z
.skip-networkz4Will wait for network connectivity before continuing�trustr)�check�manual_cache_cleanFz"manual cache clean set from config�manual_clean_markerz(manual cache clean found from marker: %s��existingz)[%s] Exiting. datasource %s in local modezNo local datasource foundz8No instance datasource found! Likely bad things to come!)�bring_upz[%s] Exiting without datasourcezNo instance datasource found.z2[%s] barreling on in force mode without datasourcez5[%s] %s will now be targeting instance id: %s. new=%sr�r�)�stage�retry_stagezTNetwork connectivity determined necessary for cloud-init's network stage. Reason: %szVNetwork connectivity determined unnecessary for cloud-init's network stage. Reason: %sr(z.[%s] Exiting. datasource %s not in local mode.z6[%s] %s is in local mode, will apply init modules now.zinit-netzmodules:config�consume_data)rU�freqzConsuming user data failed!�cloud_configrT)�config�strict�log_details�log_deprecationsz2Skipping user-data validation. No user-data found.�r�z#Stdout, stderr changing to (%s, %s)z'Failed to re-adjust output redirection!)r�rg)Wr	�DEP_FILESYSTEM�DEP_NETWORKr�r�rErQr�r r7r�Initr��read_cfgrX�skip_log_setuprMr
�fixup_outputrg�get_output_cfgr��logexcr9r0rPr�r�r]r�
reset_logging�
setup_loggingrhr;r��getppidr6�
initializer�r��DSMODE_LOCAL�DSMODE_NETWORKr�MANUAL_NETWORK_WAITr��get_runpath�distro�wait_for_networkr,r-r.r�
debug_infor�r�r�r��fetchr��dsmode�DataSourceNotFoundException�force�apply_network_config�_maybe_persist_instance_data�
instancify�is_new_instance�_maybe_set_hostnamer�r��setup_datasource�update�cloudify�runr�rr�stat�st_sizerr�r�r�r�warning�activate_datasource�di_report_warnrd)rSrU�deps�bootstage_name�w_msgr%�outfmt�errfmtr2�lvl�path_helperr�r��mcfg�mfile�bring_up_interfaces�iid�should_wait�reason�ran�_results�cloud_cfg_pathrY�outfmt_orig�errfmt_origr3r�r4�	main_init�sZ������
�

�




�
��������
�
�
�� �

��r)cCs�d|vrt�d�dS|d}|durt�d�dSt|t�s't�d|�dS|�d�}|dur7t�d�dSt|t�sDt�d|�dS|j�d�d	}|�	t
j�r\|tt
j�d�}nt�d
||�||vrqt�d|||�dSt
jd||t|�d
�dS)N�	di_reportzno di_report found in config.zdi_report was None.z%di_report config not a dictionary: %s�datasource_listz(no 'datasource_list' found in di_report.z(di_report/datasource_list not a list: %s�.rvz1Datasource '%s' came from unexpected module '%s'.z:used datasource '%s' from '%s' was in di_report's list: %s�dsid_missing_source)r��dslist)r9r]r�r�rre�list�
__module__�
rpartitionr�r	�	DS_PREFIXr\r�show_warningr�)r�rg�dicfgr.�modnamer3r3r4r�sH





��
�rcCsZ|j}d||f}t|�}tjg|jd�}|�t|��z|jdd�Wn tj	yDd|}t
�t|�t
|�|jsB|gYSYnwt|�t|t|�|jd�}z|jsat�t
�|j|�Wntyqt
�td�Ynw|jr~t�d�t��|js�t�|j�t|j�t||d	�t�d
t��|�|dkr�tj dd
dd�t!|||�S)Nz%s:%sr�r�r�zGCan not apply stage %s, no datasource found! Likely bad things to come!r�r�r�r1r�r%z
`--mode init`�24.1�Use `cloud-init init` instead.)rr�r�)"r�r7rr�r�r�rXrr	rr
r�r9r0rr
rr�rMr�rgr�r]rr�r�rhr;r�rEr�rr�rd)r^rUrSrrr%r2rYr3r3r4�main_modules�sZ��
��
���
�r8c
Cst|j}t|�}tjg|jd�}|�t|��z|jdd�Wntj	y8t
�td�t
d�|js6YdSYnwt|�t|t|�|jd�}|j}|rRt�d|�|j}|rbt�d|�t�|�}zt�t
�|jd�Wnty}t
�td	�Ynw|jr�t�d
�t��t�|j�t|j�t||d�|�|||�\}}	|	r�t� d|�dS|s�t� d
|�dSdS)Nr�r�r�z;Failed to fetch your datasource, likely bad things to come!rzr�zUsing passed in arguments %szUsing passed in frequency %sr�r�r1zRan %s but it failed!zDid not run %s, does it exist?r)!rSr7rr�r�r�rXrr	rr
r�r9r0rr
r�module_argsr]�	frequency�FREQ_SHORT_NAMESrerMr�rgr�rr�r�rhr;�
run_singler)
rSrU�mod_namerr%rY�mod_args�mod_freqrarbr3r3r4�main_singles`	����
��
r@cCs�t�}|�d�}tj�|j�}tj�|d�}tj�|d�}tj�|d�}tj�|d�}t��}	t	�
||f�|j\}
}|dkrH|jrEd}nd}n|dkrRd|j
}ntd|��|tvrctd	�|���giddd
�}
dd|
��|
��|
��|
��d�i}|dkr�||||fD]}t	�|�q�nz
t�t	�|��}Wn	ty�Ynw||dvr�|
��|d|<|d}||d
<||dr�||ds�t�dt|�tt	���||d<ttdd�|	j��}|��}t� ||�t	j!tj�"||�|dd�z�z,|||�}|dv�r|\}}|du�rt#|�|d<n|}||d�$dd�|D��Wn\t�yO}zt�%d|�t&d|�||d�'t#|��WYd}~n7d}~wt(�y�}z&|j)�rwt�%d|�t&d|�||d�'dt#|j)��d��WYd}~nd}~wwWtt	���||d<d|d
<|��}|�*�|�+�D]&}||v�r�t,t-||||��||d|<�q�||||d|<�q�t� ||�nHtt	���||d<d|d
<|��}|�*�|�+�D]&}||v�rt,t-||||��||d|<�q�||||d|<�q�t� ||�w|dk�rWg}|�+�D]}t.||t/��r;||�0d��r;|�$||�0dg���qt� |d|d|d �i�t	j!tj�"||�|dd�t1||d�S)!Nrpzstatus.jsonzresult.jsonr%r$�modules�
modules-%szunknown name: %sz'Invalid cloud init mode specified '{0}')�errors�recoverable_errors�start�finished�v1)r�r%r$r&r'r�rErFz=Unexpected start time found for %s. Was this stage restarted?cSst|tj�SrN)r�r�LogExporter)�hr3r3r4r��sz status_wrapper.<locals>.<lambda>T)r)r%r$r�rCcSsg|]}t|��qSr3)r�)�.0r�r3r3r4�
<listcomp>�sz"status_wrapper.<locals>.<listcomp>zfailed stage %szfailed run of stage %sz	sys.exit(z) calledrDr')r�rC)2rr�rErQ�normpath�run_dirr�r��	getLoggerr
�ensure_dirsr:r�r��
ValueError�
STAGE_NAMEr?�copy�del_file�json�loadsr�r�r9r�floatr<r��filterr�export_logsr�
write_json�sym_link�relpathr��extend�	exceptionr0rP�
SystemExitr��
clean_logs�keysr/�setr�r�rer\)rSrUr��data_d�link_d�status_path�status_link�result_path�result_link�root_logger�_name�functorr��
nullstatus�status�frG�handler�preexisting_recoverable_errors�retr�rCr��new_recoverable_errorsrqr�r3r3r4�status_wrapperQs
��
����	���
���


� "� ���
�����
����
 ���rrr%cCsB|jr|jr|j�d�}tj�|�s|jjdd�dSdSdSdS)zCWrite instance-data.json file if absent and datasource is restored.�
instance_dataF)�write_cacheN)r��ds_restoredr�rrErQr��persist_instance_data)r%�instance_data_filer3r3r4r
�s�r
c
Cs~|��}tj|j|dd�\}}}|r=zt�d|j|d�WdStjy<}zt�d||t	|��WYd}~dSd}~wwdS)z�Call set_hostname if metadata, vendordata or userdata provides it.

    @param stage: String representing current stage in which we are running.
    @param retry_stage: String represented logs upon error setting hostname.
    T)�
metadata_only�set_hostnameNzGFailed setting hostname in %s stage. Will retry in %s stage. Error: %s.)
rr
�get_hostname_fqdnrgr�handle�SetHostnameErrorr9r]r�)r%r�r��cloud�hostname�_fqdn�_r�r3r3r4r
�s"�����r
cCs tj�d�ttj��d�dS)Nr*)r,�stdoutr.r��sortedr�FEATURES)rSrUr3r3r4�
main_featuress r�c	Cst��|s	tj}tj|�d�d�}|jddddt�	�dd�|jd	d
ddd
d�|jdddddt�
d�d�|jddddd
d�|jddddd
d�|jdd�|jdd d!�}|j
d"d#d$�}|jd%d&dd'd
d�|jdddd(d)t�
d�d�|jd"tfd*�|j
d+d,d$�}tjd-d.d/d0d1�j}|jd2d3d4d5|��d6d7d8�|jdddd(d)t�
d�d�|jd+tfd*�|j
d9d:d$�}|jd;d<d4d=d0d>�|jd?d4d@d
tt���dA�|jdBddCd
d>�|jdDdEdFdGdH�|jdddd(d)t�
d�d�|jd9tfd*�|j
dIdJd$�}|j
dKdLd$�}|jdKtfd*�|j
dMdNd$�}	|j
dOdPd$�}
|j
dQdRd$�}|j
dSdTd$�}|j
dUdVd$�}
|j
dWdXd$�}|�r�tdYdZ�|D�d�}|dMk�rYdd[lm}||	�n�|dOk�ridd[lm}||
�n�|dQk�r�dd\lm}m}||d]�|jdQ|fd*�nm|dSk�r�dd^lm}m}||�|jdS|fd*�nS|dIk�r�dd_l m}m!}||�|jd`|fd*�n9|dWk�r�ddal"m}m#}||�|jdW|fd*�n|dUk�r�ddbl$m}m%}||
�|
jdU|fd*�n|�&dc�|j'|dd�}t(|ded
�|j)�st*|�St)|�S)fNr)�progz	--versionz-vrz	%(prog)s z'Show program's version number and exit.)r:r�helpz--debugz-d�
store_truez:Show additional pre-action logging (default: %(default)s).F)r:r��defaultz--filez-frPrOzPUse additional yaml configuration files for subcommands: init, modules or single�rb)r:�destr��typez--forcezDForce running even if no datasource is found (use at your own risk).r)r:r�r�r�z--all-stages�
all_stageszsRun cloud-init's stages under a single process using a syncronization protocol. This is not intended for CLI usage.)r�r:r�r�r��Subcommands�
subcommand)�titler�r%z2Initialize cloud-init and perform initial modules.)r��--localz-lz+Start in local mode (default: %(default)s).rTz(Use additional yaml configuration files.rBrAz1Activate modules using a given configuration key.z`init`r6r7Tr~z--modez-m�storez9Module configuration name to use (default: %(default)s). r�)r%r��final)r:r�r��choices�singlezRun a single module.z--namez-nzModule name to run.)r:r��requiredz--frequencyzModule frequency for this run.)r:r�r�r�z--reportzEnable reporting.r9�*�argumentz0Any additional arguments to pass to this module.)�nargs�metavarr��queryz;Query standardized instance metadata from the command line.rzList defined features.�analyzez-Devel tool: Analyze cloud-init logs and data.�develzRun development tools.zcollect-logsz*Collect and tar all cloud-init debug info.�cleanz3Remove logs and artifacts so cloud-init can re-run.rlz/Report cloud-init status or wait on completion.�schemaz-Validate cloud-config files using jsonschema.css�|]
}|�d�s|VqdS)�-N)r�)rJ�posargr3r3r4�	<genexpr>�s�zmain.<locals>.<genexpr>)�
get_parser)r��handle_collect_logs_args)�parser)r��handle_clean_args)r��handle_args�render)r��handle_schema_args)r��handle_status_argsza subcommand is required�rUr�)+r�configure_root_loggerr,�argv�argparse�ArgumentParser�pop�add_argumentrr@�FileType�set_defaults�add_subparsers�
add_parserr)rr��messager8r/r;r`r@r�r��cloudinit.analyzer��cloudinit.cmd.devel.parser�cloudinit.cmd.devel.logsr��cloudinit.cmd.cleanr��cloudinit.cmd.queryr��cloudinit.config.schemar��cloudinit.cmd.statusr��error�
parse_args�setattrr��sub_main)�	sysv_argsr��
subparsers�parser_init�
parser_mod�
extra_help�
parser_single�parser_query�parser_features�parser_analyze�parser_devel�parser_collect_logs�parser_clean�
parser_status�
parser_schemar��analyze_parser�devel_parser�logs_parserr��clean_parserr��query_parser�handle_query_args�
schema_parserr��
status_parserr�rUr3r3r4�mains�
��������
��������
�������������





�



�
r�cCs�t�d�t�dddd�}t�d�|d��|jddgd	�}d
|_t|�|_Wd�n1s1wY|d��|jdgd	�}d|_t|�|_Wd�n1sTwY|d��|jd
dgd	�}d|_t|�|_Wd�n1sxwY|d��|jd
dgd	�}d|_t|�|_Wd�n1s�wY|j	r�d}|j
r�d|j
��}t�d|�d��t�d�dSt�d�t�d�dS)z>Run all stages in a single process using an ordering protocol.z*Running cloud-init in single process mode.r�r�r�r�zREADY=1r%r�r�FNTrAz
--mode=configz--mode=finalz%a stage of cloud-init exited non-zerozfirst exception received: zSTATUS=Completed with failure, z2. Run 'cloud-init status --long' for more details.z
STOPPING=1rzzSTATUS=Completed)r9r�r
�
SocketSync�	sd_notifyr�r�r��systemd_exit_code�experienced_any_error�first_exception)r��syncrUr�r3r3r4r�sD


�
�
�
�
�

r�c	Csz|j\}}|dvrt�|jrtjntj�n|jrt��t��d|ks.d|kr0d|j	kr0t
}d}d}|dkrE|jr@d\}}n0d\}}n+|dkrUd|j	d|j	}}n|d	krhd
|jd|j}}|j
}n|}d|}d
}tj|||d�|_|j�&t�d|�d���
|||�}Wd�n1s�wYWd�n1s�wYt��d|kr�d|j	kr�t|�}|S)N)r%rAr%rAT)r$zsearching for local datasources)zinit-networkz!searching for network datasourcesrBzrunning modules for %sr�z	single/%szrunning single module %szrunning 'cloud-init %s'F)�reporting_enabledzcloud-init stage: '�')r:r�setup_basic_loggingr]r�r�r�r�attach_handlersr�rrr�rS�reportr�ReportEventStackr�r�Timedr�flush_eventsr\)rUrSrj�rname�	report_on�rdesc�retvalr3r3r4r�GsR
�

������r��__main__)r(rN)ri)TN)Zr�rTrEr,r/r�r��typingrrrr�	cloudinitrrrr	r
rrr
rrrrrrr�
cloudinit.logrr�cloudinit.cmd.develr�cloudinit.configr�cloudinit.config.modulesrr�r�cloudinit.lifecycler�cloudinit.reportingr�cloudinit.settingsrrrr r��Reasonr>rZr;rQrN�__name__r9r0r;r7�timedr]rMrXrdrhrr�intr�r�r��bytes�boolr��
DataSourcer�r)rr8r@rrr�r
r
r�r�r�r��exitr�r3r3r3r4�<module>s����



	 
m�

�;�

�%y2AF
~;
E�

Youez - 2016 - github.com/yon3zu
LinuXploit