Ë
    âtxj^6  ã                   ó\  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZ ej                  d«       ddl
m
Z
mZ ddlmZ dddd	d
ddœddddddddœdddddddœdddddd dœd!d"d#d$d%d&dœd'œZdZdZej"                  d(d D ]p  Zej'                  d)«      rej)                  d*d(«      d(   ZŒ*ej'                  d+«      r	  eej)                  d*d(«      d(   «      ZŒXej/                  «       sŒi ee«      ZŒr ereevr ed,«        ej2                  d(«       ee   Zed-   Zed.   Z ej:                  d/d0«      Z e
j>                  «        ed1¬2«      z
  jA                  d3«      Z!d4d5iZ"d6e› d7�Z#d8ed9   ed:   d;ed<   d=ed>   d?œZ$dHd@„Z%dA„ Z&dB„ Z'dC„ Z(dIdE„Z)e*dFk(  r
 e)dD¬G«       yy# e$ r Y �Œ(w xY w)Juª  
æµ™æ±Ÿ JPAAS ç«™ç¾¤é€šç”¨çˆ¬è™« (å�Œæ‰¬å·žkfqæ¨¡æ�¿)
ç”¨æ³•: python3 crawl_zjjpaas.py --site=nanhu [--pages=N]
ç«™ç‚¹è¡¨:
  nanhu  = å˜‰å…´å�—æ¹–åŒº-å»ºè®¾é¡¹ç›®çŽ¯è¯„å®¡æ‰¹  (www.nanhu.gov.cn, webId=3164)
  jxgq   = å˜‰å…´æ¸¯åŒº-å…¬å‘Šå…¬ç¤º           (jxgq.jiaxing.gov.cn, webId=3177)
  jiande = å»ºå¾·å¸‚-è¡Œæ”¿è®¸å�¯             (www.jiande.gov.cn, webId=2210)
  linan  = ä¸´å®‰åŒº-å»ºè®¾é¡¹ç›®çŽ¯è¯„ä¿¡æ�¯å…¬ç¤º  (www.linan.gov.cn, webId=2242)
API: /api-gateway/jpaas-publish-server/front/page/build/unit
åˆ—è¡¨: è¿”å›ž html ç‰‡æ®µ <li><a href="//host/art/Y/M/D/art_ID.html">æ ‡é¢˜</a><span>YYYY-MM-DD</span></li>
è¯¦æƒ…: meta ArticleTitle/PubDate + id=zoom æ­£æ–‡(å¹³è¡¡div)
é    NÚignore)ÚdatetimeÚ	timedelta)Úurljoinu(   å˜‰å…´å�—æ¹–åŒº-å»ºè®¾é¡¹ç›®çŽ¯è¯„å®¡æ‰¹zwww.nanhu.gov.cnÚ3164ÚzsRKKTw8HJcEkqdXqPoUmÚ
1229658638u   æ–°é—»åˆ—è¡¨)Ú	site_nameÚdomainÚwebIdÚtplSetIdÚpageIdÚtagIdu   å˜‰å…´æ¸¯åŒº-å…¬å‘Šå…¬ç¤ºzjxgq.jiaxing.gov.cnÚ3177ÚjuDpibDTuQ7ELC7U6h4SbÚ
1229398092u   ç¬¬ä¸€éƒ¨åˆ†_listúclass="box_wzy_ys")r
   r   r   r   r   r   Úcontent_patu   å»ºå¾·å¸‚-è¡Œæ”¿è®¸å�¯zwww.jiande.gov.cnÚ2210ÚELWAAQQXOD87oUzmcMS2iÚ
1229416058u   æ ‡é¢˜åˆ—è¡¨u(   ä¸´å®‰åŒº-å»ºè®¾é¡¹ç›®çŽ¯è¯„ä¿¡æ�¯å…¬ç¤ºzwww.linan.gov.cnÚ2242ÚVuAIYKXLw7THdhTjKO2yPÚ
1229882622u   ä¿¡æ�¯åˆ—è¡¨1u7   å˜‰å…´å¸‚ç”Ÿæ€�çŽ¯å¢ƒå±€-å»ºè®¾é¡¹ç›®çŽ¯è¯„ä¿¡æ�¯å…¬ç¤ºzsthjj.jiaxing.gov.cnÚ3188ÚBGV1JgNlVJkbjXcPT4vlPÚ
1229856885u   åˆ—è¡¨)ÚnanhuÚjxgqÚjiandeÚlinanÚsthjjé   z--site=ú=z--pages=uK   ç”¨æ³•: python3 crawl_zjjpaas.py --site=nanhu|jxgq|jiande|linan [--pages=N]r
   r   Ú	SEARCH_DBz/root/search.dbiG  )Údaysz%Y-%m-%dz
User-AgentzkMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36úhttps://z7/api-gateway/jpaas-publish-server/front/page/build/unitÚbulidstaticr   r   Úcolumnr   Únullr   )Ú	parseTyper   r   ÚpageTyper   ÚeditTyper   c           	      ó
  — t        t        «      }t        j                  | |dœ«      |d<   t	        d«      D �]Ž  }	 t        j                  t        |t        dd¬«      }|j                  dk(  �rX|j                  «       }|j                  di «      j                  d	d
«      }g }t        j                  d|t        j                  «      D ]¼  }|j                  d«      |j                  d«      j                  «       |j                  d«      }}
}	t        j                  d|«      }|sŒ]|	j!                  d«      rd|	z   }	n%|	j!                  d«      st#        dt$        › d�|	«      }	|j'                  |	|
|j                  d«      dœ«       Œ¾ |sût        j(                  d|t        j                  «      D ]Ó  }t        j                  d|t        j                  «      }|sŒ+|j                  d«      |j                  d«      j                  «       }
}	t        j                  d|«      }|sŒt|	j!                  d«      rd|	z   }	n%|	j!                  d«      st#        dt$        › d�|	«      }	|j'                  |	|
|j                  d«      dœ«       ŒÕ |�s t        j                  d|t        j                  «      D ]ø  }|j                  d«      |j                  d«      }}	t        j                  d|t        j                  «      }t        j                  d|«      }|r|sŒet        j*                  dd
|j                  d«      «      j                  «       }
|	j!                  d«      rd|	z   }	n%|	j!                  d«      st#        dt$        › d�|	«      }	|j'                  |	|
|j                  d«      dœ«       Œú |sät        j(                  d|t        j                  «      D ]¼  }t        j                  d|t        j                  «      }|sŒ+|j                  d«      |j                  d«      j                  «       |j                  d«      }}
}	|	j!                  d«      rd|	z   }	n%|	j!                  d«      st#        dt$        › d�|	«      }	|j'                  |	|
|dœ«       Œ¾ t        j                  d|«      }|rt-        |j                  d«      «      nd}||fc S �Œ‘ g dfS # t.        $ r6}t1        d| › d |› �«       |dk  rt3        j4                  d«       Y d }~�ŒÐd }~ww xY w)!N)ÚpageNoÚpageSizeÚ	paramJsoné   é   F)ÚparamsÚheadersÚtimeoutÚverifyéÈ   ÚdataÚhtmlÚ zE<a[^>]+href="([^"]+)"[^>]*title="([^"]*)"[^>]*>\s*<li[^>]*>(.*?)</li>r#   é   z.(?:<span[^>]*>|<time[^>]*>)(\d{4}-\d{2}-\d{2})z//zhttps:Úhttpr'   ú/)ÚurlÚtitleÚdatez<li[^>]*>(.*?)</li>z/href="([^"]+)"[^>]*>\s*(?:<[^>]+>)*([^<]+?)\s*<z%<span[^>]*>(\d{4}-\d{2}-\d{2})</span>zP<li[^>]*class="[^"]*public-li[^"]*"[^>]*>\s*<a[^>]+href="([^"]+)"[^>]*>(.*?)</a>z)class="public-text[^"]*"[^>]*>(.*?)</div>z1class="public-time[^"]*"[^>]*>(\d{4}-\d{2}-\d{2})ú<[^>]+>z`<a[^>]+href="([^"]+)"[^>]*>\s*<i[^>]*>\s*</i>\s*([^<]+?)\s*</a>\s*<span[^>]*>(\d{4}-\d{2}-\d{2})zcount="(\d+)"r   z  [WARN] API page z err: )ÚdictÚ
API_PARAMSÚjsonÚdumpsÚrangeÚrequestsÚgetÚAPI_URLÚHEADERSÚstatus_codeÚreÚfinditerÚDOTALLÚgroupÚstripÚsearchÚ
startswithr   ÚDOMAINÚappendÚfindallÚsubÚintÚ	ExceptionÚprintÚtimeÚsleep)ÚpageÚ	page_sizer4   ÚretryÚrÚdr:   ÚitemsÚmÚhrefr@   ÚlicÚdmÚliÚtmrA   Úcount_mÚtotal_countÚes                      ú"/root/gov_crawler/crawl_zjjpaas.pyÚ
fetch_listrm   d   s[  € Ü”*Ó€FÜŸ*™*°À)Ñ%LÓM€Fˆ;ÑÜ�q“ó HˆðG	Ü—‘œW¨V¼WÈbÐY^Ô_ˆAØ�}‰} Ó#Ø—F‘F“H�Ø—u‘u˜V RÓ(×,Ñ,¨V°RÓ8�Ø�äŸ™Ø`ØœbŸi™ió)ò U�Að ()§w¡w¨q£z°1·7±7¸1³:×3CÑ3CÓ3EÀqÇwÁwÈqÃz ˜%�DÜŸ™Ð#TÐVYÓZ�BÙØ Ø—‘ tÔ,Ø'¨$™™Ø!Ÿ_™_¨VÔ4Ü&¨´&°¸Ð';¸TÓB˜Ø—L‘L¨¸ÀrÇxÁxÐPQÃ{Ñ!SÕTðUñ ä Ÿj™jÐ)?ÀÄrÇyÁyÓQò Y˜ÜŸI™IØNÐPRÔTV×T]ÑT]ó_˜á Ø$Ø&'§g¡g¨a£j°!·'±'¸!³*×2BÑ2BÓ2D˜e˜ÜŸY™YÐ'OÐQSÓT˜Ù!Ø$ØŸ?™?¨4Ô0Ø#+¨d¡?™DØ!%§¡°Ô!8Ü#*¨X´f°X¸QÐ+?ÀÓ#F˜DØŸ™¨T¸EÈ2Ï8É8ÐTUË;Ñ%WÕXðYò äŸ[™[ØoØ ¤"§)¡)ó-ò Y˜ð %&§G¡G¨A£J°·±¸³
˜c˜ÜŸY™YÐ'SÐUXÔZ\×ZcÑZcÓd˜ÜŸY™YÐ'[Ð]`Óa˜Ù!©Ø$Ü "§¡ z°2°r·x±xÀ³{Ó C× IÑ IÓ K˜ØŸ?™?¨4Ô0Ø#+¨d¡?™DØ!%§¡°Ô!8Ü#*¨X´f°X¸QÐ+?ÀÓ#F˜DØŸ™¨T¸EÈ2Ï8É8ÐTUË;Ñ%WÕXðYñ ä Ÿj™jÐ)?ÀÄrÇyÁyÓQò R˜ÜŸI™IØØ¤§	¡	ó+˜ñ  !Ø$Ø,-¯G©G°A«J¸¿¹À»
×8HÑ8HÓ8JÈAÏGÉGÐTUËJ T˜e˜ØŸ?™?¨4Ô0Ø#+¨d¡?™DØ!%§¡°Ô!8Ü#*¨X´f°X¸QÐ+?ÀÓ#F˜DØŸ™¨T¸EÈ4Ñ%PÕQðRô Ÿ)™)Ð$4°dÓ;�Ù7>œc '§-¡-°Ó"2Ô3ÀA�Ø˜kÐ)Ò)ñC $ðHðR ˆqˆ5€Løô	 ò 	ÜÐ& t f¨F°1°#Ð6Ô7Ø�qŠyÜ—
‘
˜1”ÿùð	ús   »RSÓ	TÓ+TÔTc           	      óú  — g }t         j                  d«      r|j                  t         d   df«       |g d¢z  }|D �]=  \  }}| j                  |«      }|dk  rŒ| j	                  d|› �d|«      }|dk  rŒ:| |d }d}t        t        |«      «      D �]å  }|||dz    d|› �k(  r!|dz   t        |«      k\  s
||dz      dv r|d	z  }Œ3|||d
z   t        |«      z    d|› d�k(  sŒO|d	z  }|dk(  sŒZ|j                  dd|«      }	|	dkD  r||	d	z   | n|d| }
t        j                  d|
t        j                  «      }t        j                  d|
t        j                  «      }t        j                  dd|
t        j                  t        j                  z  ¬«      }t        j                  dd|«      }t        j                  dd|«      j                  «       }t        t        j                  d|t        j                  «      «      }t        |«      dkD  s|sd|v r|j                  «       c c S d}|r|j                  d	«      }n|r|j                  d	«      }|r'|j                  d«      rdt         › �|z   }d|› d�c c S   y �Œ@ y)uK   æ��å�–æ­£æ–‡ - ç«™ç‚¹ content_pat ä¼˜å…ˆ, å�¦åˆ™é€šç”¨ fallback (å¹³è¡¡div)r   Údiv))z	id="zoom"ro   )zclass="content_new"ro   )zclass="contentShow"ro   )zclass="TRS_Editor"ro   )zclass="article"ro   )r   ro   r   ú<Né   z >
	r#   r2   z</ú>é   z@var pdf[Uu]rl\s*=\s*['\"]([^'\"]+\.(?:pdf|docx?|xlsx?|wps))['\"]z8<a[^>]*href=["\']([^"\']+\.(?:pdf|docx?|xlsx?|wps))["\']z<(script|style)[^>]*>.*?</\1>r;   )Úflagsz<p[^>]*>z<p>rB   z<a[^>]*>\s*[^<\s]é
   ú<imgr>   r'   z<p><a href="u   ">PDFåŽŸæ–‡</a></p>)ÚCFGrI   rU   ÚfindÚrfindrG   ÚlenrM   rR   ÚIrW   rO   rQ   ÚboolrP   rS   rT   )r:   ÚpatsÚpatÚtagÚiÚdsÚsra   ÚjÚgtÚcÚpmÚlink_mÚc2ÚtextÚhas_named_linkÚhs                    rl   Úextract_contentrŒ   ³   so  € à€DÜ
‡w�wˆ}ÔØ�‰”S˜Ñ'¨Ð/Ô0Øò Hñ H€Dð ó &‰ˆˆSØ�I‰I�c‹NˆØˆqŠ5ØØ�Z‰Z˜!˜C˜5˜	 1 aÓ(ˆØ�Š6ØØ��ˆIˆØˆÜ”s˜1“v“ó 	ˆAØ��1�Q‘3ˆx˜Q˜s˜e˜9Ò$¨!¨A©#´°Q³ª-¸1¸Q¸q¹S¹6ÀZÑ;OØ�Q‘‘Ø�1�Q�q‘Sœ˜S›‘\Ð"¨¨3¨%¨q kÓ1Ø�Q‘�Ø˜“6ØŸ™  Q¨Ó*�BØ%'¨!¢V˜˜"˜Q™$˜q™	°°1°Q°�AäŸ™Ð#fÐhiÔkm×koÑkoÓp�BÜŸY™YÐ'bÐdeÔgi×gkÑgkÓl�FäŸ™Ð @À"ÀaÌrÏyÉyÔY[×Y]ÑY]É~Ô^�BÜŸ™ ¨U°BÓ7�BÜŸ6™6 *¨b°"Ó5×;Ñ;Ó=�Dä%)¬"¯)©)Ð4HÈ"ÌbÏiÉiÓ*XÓ%Y�NÜ˜4“y 2’~©¸6ÀR¹<Ø!Ÿx™x›zÔ)à�AÙØŸH™H Q›K™ÙØ"ŸL™L¨›O˜ÙØŸ<™<¨Ô,Ø"*¬6¨(Ð 3°aÑ 7˜AØ!-¨a¨SÐ0CÐDÔDÚò;	ð&ðN ó    c                 ó~  — d}t        j                  d| «      }|r|j                  d«      }|s7t        j                  d| «      }|r|j                  d«      j                  «       }d}t        j                  d| «      D ]�  }|j                  d«      j                  «       }t        j
                  d|«      }|sŒ;|j                  d«      › d|j                  d«      j                  d«      › d|j                  d	«      j                  d«      › �} n |s)t        j                  d
| «      }|r|j                  d«      }||fS )Nr;   z3<meta[^>]*name="ArticleTitle"[^>]*content="([^"]*)"r#   z<title>(.*?)<zPubDate[^>]*content="([^"]*)"z(\d{4})-(\d{1,2})-(\d{1,2})ú-r<   r2   z(\d{4}-\d{2}-\d{2}))rM   rR   rP   rQ   rN   ÚmatchÚzfill)	r:   r@   rh   ÚttmrA   r†   ra   Úcmrf   s	            rl   Úextract_metar”   å   s  € Ø€EÜ	�‰ÐIÈ4Ó	P€BÙ	Ø—‘˜“ˆÙÜ�i‰iÐ(¨$Ó/ˆÙØ—I‘I˜a“L×&Ñ&Ó(ˆEØ€DÜ�k‰kÐ:¸DÓAò ˆØ�H‰H�Q‹K×ÑÓˆÜ�X‰XÐ4°aÓ8ˆÚØ—h‘h˜q“k�] ! B§H¡H¨Q£K×$5Ñ$5°aÓ$8Ð#9¸¸2¿8¹8ÀA»;×;LÑ;LÈQÓ;OÐ:PÐQˆDÙðñ Ü�Y‰YÐ-¨tÓ4ˆÙØ—8‘8˜A“;ˆDØ�$ˆ;Ðr�   c                 ó  — t        d«      D ]D  }	 t        j                  | t        dd¬«      }|j                  dk(  rd|_        |j                  c S ŒF y # t        $ r$}|dk  rt        j                  d«       Y d }~Œpd }~ww xY w)Nr2   é   F)r5   r6   r7   r8   zutf-8r<   )
rG   rH   rI   rK   rL   Úencodingr‰   rY   r[   r\   )r?   r_   r`   rk   s       rl   Ú	fetch_urlr˜   ü   sy   € Ü�q“ò ˆð	Ü—‘˜S¬'¸2ÀeÔLˆAØ�}‰} Ò#Ø$�”
Ø—v‘v’ð $ðð øô ò 	Ø�qŠyÜ—
‘
˜1”ÿøð	ús   �>AÁ	BÁA<Á<Br8   c                 ó†  — t        dd› �«       t        dt        › dt        › d�«       t        d› «       t        d«      \  }}|st        d«       y t        d|› d	|d
z   dz  › d�«       t	        | |d
z   dz  «      }t        |«      }t        dt	        |t        xs |«      dz   «      D ]¹  }t        |«      \  }}|st        d|› d�«        n˜|j                  |«       |D �cg c]  }|d   sŒ	|d   ‘Œ }	}t        d|› dt        |«      › d|	r|	d   nd› d|	r|	d   nd› d�	«       |	r't        |	«      t        k  rt        dt        › d�«        nt        j                  d«       Œ» t        dt        |«      › d�«       g }
d}t        |d«      D �]"  \  }}|d   r|d   t        k  rŒt        |d   «      }|s|dz  }Œ/t!        |«      \  }}|r|n|d   }|r|n|d   }|r
|t        k  rŒ[t#        |«      }|r.t        t%        j&                  dd|«      j)                  «       «      nd}|d k  r-d!|xs dvr%d"|xs dvrt        d#|d d$ › d%|d   › �«       |dz  }ŒÊ|
j+                  t        ||||d   |d   d&œ«       |d z  dk(  rt        d'|› d(t        |«      › �«       t        j                  d)«       �Œ% t        d*t        |
«      › d+|› �«       t,        j.                  j1                  dt2        j.                  j5                  t2        j.                  j7                  t8        «      «      «       dd,lm}  ||
t        ¬-«       y c c}w ).Nú
z2==================================================u   ðŸš€ z (ú)r#   u   âš   APIæ— è¿”å›žu     å…±u   æ�¡, 15æ�¡/é¡µ = é   é   u   é¡µr<   u     ç¬¬u   é¡µ: ç©º -> ç»“æ�ŸrA   u   é¡µ: u    æ�¡ (éÿÿÿÿú?z ~ r   u      è¯¥é¡µå·²å…¨éƒ¨æ—©äºŽæˆªæ–­æ—¥u   ï¼Œå�œæ­¢ç¿»é¡µg333333Ã?u   
ðŸ“Š APIå…± u    æ�¡r?   r@   rB   r;   ru   rv   z<a href=u     âš  ç©ºæ­£æ–‡: é(   z | )r
   r@   Úpub_dateÚcontentÚ
source_urlr?   z  ...r>   gš™™™™™É?u   
ðŸ“¦ å¾…å…¥åº“: u
   , å¤±è´¥: )Úpush_to_searchdb)Úbatch_label)rZ   Ú	SITE_NAMErT   rm   ÚminÚlistrG   Ú_MAX_PGÚextendrz   ÚmaxÚCUTOFFr[   r\   Ú	enumerater˜   r”   rŒ   rM   rW   rQ   rU   ÚsysÚpathÚinsertÚosÚdirnameÚabspathÚ__file__Úcrawler_libr¤   )Ú	max_pagesrb   ÚtotalÚtotal_pagesÚall_list_itemsÚpgÚitsÚ_ÚitÚdatesÚoutÚerrr€   Úitemr:   ÚptÚpdÚ
real_titleÚ	real_dater¢   Útext_lenr¤   s                         rl   ÚrunrÇ   	  sH  € Ü	ˆBˆvˆhˆ-ÔÜ	ˆE”)�˜Bœv˜h aÐ
(Ô)Ü	ˆVˆHÔä˜a“=�L€Eˆ5ÙÜÐ!Ô"ØÜ	ˆE�%�Ð)¨5°©8°b©.Ð)9¸Ð
=Ô>ä�i %¨"¡*°Ñ!3Ó4€KÜ˜%“[€NÜ�A”s˜;¬Ò(>°;Ó?À!ÑCÓDò ˆÜ˜B“‰ˆˆQÙÜ�E˜"˜Ð/Ð0Ô1ÙØ×Ñ˜cÔ"Ø&)Ö8 ¨R°«Z��F“Ð8ˆÐ8Ü��b�T˜œs 3›x˜j¨¹E¨u°RªyÀsÐ.KÈ3Ñ[`ÈuÐUVÊxÐfiÐNjÐjkÐlÔmÙ”S˜“Z¤&Ò(ÜÐ4´V°H¸OÐLÔMÙÜ�
‰
�4Õðô 
ˆNœ3˜~Ó.Ð/¨tÐ
4Ô5Ø
€CØ
€CÜ˜^¨QÓ/ó ‰ˆˆ4Ø�Š<˜D ™L¬6Ò1ØÜ˜˜e™Ó%ˆÙØ�1‰HˆCØÜ˜dÓ#‰ˆˆBÙ‘R 4¨¡=ˆ
Ù‘B $ v¡,ˆ	Ù˜¤VÒ+ØÜ! $Ó'ˆÙCJ”3”r—v‘v˜j¨"¨gÓ6×<Ñ<Ó>Ô?ÐPQˆà�bŠ=˜V¨GªM°rÑ:¸zÐRYÒR_Ð]_Ñ?`ÜÐ% j°°" oÐ%6°c¸$¸u¹+¸ÐGÔHØ�1‰HˆCØØ�
‰
Ü"ØØ!ØØ˜u™+Ø˜‘;ñ
ô 	ð ˆr‰6�QŠ;Ü�E˜!˜˜Aœc .Ó1Ð2Ð3Ô4Ü�
‰
�3Žð;ô> 
Ðœs 3›x˜j¨
°3°%Ð
8Ô9Ü‡H�H‡O�O�A”r—w‘w—‘¤r§w¡w§¡´xÓ'@ÓAÔBÝ,Ù�S¤iÖ0ùòY 9s   Ã 
L>Ã+L>Ú__main__)r¶   )r�   )r8   )+Ú__doc__rH   rM   Úsqlite3r[   r®   rE   r±   ÚwarningsÚfilterwarningsr   r   Úurllib.parser   ÚSITESÚSITEr©   ÚargvÚ_arS   ÚsplitrX   rY   ÚisdigitrZ   Úexitrw   r¦   rT   Úgetenvr%   ÚnowÚstrftimer¬   rK   rJ   rD   rm   rŒ   r”   r˜   rÇ   Ú__name__© r�   rl   ú<module>rÚ      sG  ðñ÷ <× ;× ;× ;Ø €× Ñ ˜Ô !ß (Ý  ð @Ø$ØØ+ØØñð 1Ø'ØØ+ØØ$Ø-ñð .Ø%ØØ+ØØñð @Ø$ØØ+ØØ ñð OØ(ØØ+ØØññE*	€ðX €Ø
€Ø
�(‰(�1�2ˆ,ò 	€BØ	‡}�}�YÔØ�x‰x˜˜QÓ Ñ"‰Ø	�‰�zÔ	"ð	Ù˜"Ÿ(™( 3¨Ó*¨1Ñ-Ó.‰Gð 
�‰�Ù�b“'‰ð	ñ ˆt˜5Ñ Ù	Ð
WÔXØ€C‡H�HˆQ„KàˆD�k€Ø�Ñ€	Ø	ˆX‰€ØˆB�I‰I�kÐ#4Ó5€	Ø
ˆ(�,‰,‹.™9¨%Ô0Ñ
0×	:Ñ	:¸:Ó	F€Øð  Gð  H€à�V�HÐSÐ
T€àØ�‰\Ø�J‘ØØ�‰\ØØ�(‰mñ€
óLò^/òdò.
ó?1ðD ˆzÒÙ�#Öð øðG ò 	Úð	ús   Â>F"Æ"F+Æ*F+