ó
    YG¥j  ã                   ó¤   • S r SSKrSrSrSr\R
                  " S5      r\R
                  " S5      rS\4S	 jr	S\4S
 jr
SS\4S jjrSS\4S jjrg)aQ  
Cars that cannot be driven home (Steven 2026-09-12: "not to show cars that
involve a ferry crossing, ie i dont want to see cars in ireland").

A straight line distance says Belfast is closer than Cornwall. A van cannot
drive there. This decides, from the only location a platform gives us,
whether collecting the car means a boat: Northern Ireland and the Republic,
the Isle of Man, the Isle of Wight, the Channel Islands and the Scottish
islands that no bridge or causeway reaches.

Nothing here guesses. A location BidBrain could not read is not a ferry
(pricing.py never rejects on a fact it does not have), and a place that
shares its name with a mainland one (Bangor, Newport, Douglas, Yarmouth,
Newcastle) is deliberately left out rather than hiding a good car: the
postcode rules below catch those when a postcode is what the platform gave.
é    N)ÚbtÚimÚjeÚgyÚhsÚze))Úkwé   é   )Úpoé   é)   )Úpaé   r   )r   r   é1   )r   é<   éN   )Úkaé   é   )fznorthern irelandzrepublic of irelandzcounty antrimzcounty armaghzcounty downzcounty fermanaghzcounty tyronezcounty londonderryz	co antrimz	co armaghzco downzco fermanaghz	co tyronezco londonderryÚbelfastÚlisburnÚlondonderryÚnewryÚarmaghÚ	ballymenaÚ	coleraineÚ	craigavonÚnewtownabbeyÚcarrickfergusÚlarneÚdownpatrickÚ	dungannonÚ	cookstownÚmagherafeltÚstrabaneÚlimavadyÚ	portadownÚ	banbridgeÚ
ballymoneyÚholywoodÚnewtownardsÚantrimÚomaghÚenniskillenÚ
ballyclareÚballynahinchÚportrushÚportstewartÚlurganÚcomberÚrandalstownÚ
donaghadeeÚkilkeelÚwarrenpointÚ
castledergÚ	bushmillsÚdublinÚcorkÚgalwayÚlimerickÚ	waterfordÚdroghedaÚdundalkzisle of manÚonchanz	port erinzport st maryÚlaxeyÚ
ballasallazisle of wightÚrydeÚcowesÚshanklinÚventnorÚ	bembridgeÚsandownÚjerseyÚguernseyÚalderneyz	st helierzst peter portÚorkneyÚshetlandÚkirkwallÚlerwickÚ	stornowayÚ	stromnessÚ	scallowayzwestern isleszouter hebrideszisle of arranzisle of butezisle of islayzisle of mullzisle of lewiszisle of harriszisle of barraÚbrodickÚrothesayÚ	tobermoryÚ	craignureÚbowmorez
port ellenÚ	castlebayÚlochboisdaleÚ	lochmaddyÚ	benbeculaz
[^a-z0-9]+z\b([a-z]{1,2})(\d{1,2})[a-z]?\bÚreturnc                 óŠ   • [         R                  S[        U =(       d    S5      R                  5       5      R	                  5       $ )NÚ Ú )Ú_TIDYÚsubÚstrÚlowerÚstrip)Útexts    Ú//Users/stevendouglas/BidBrain/bidbrain/ferry.pyÚ_tidyrj   C   s-   € Ü�9‰9�Sœ#˜dŸj b›/×/Ñ/Ó1Ó2×8Ñ8Ó:Ð:ó    c                 ó.  • [        U 5      n[        R                  U5       Hq  u  p#U[        ;   a  SUR	                  5        S3s  $ [        U5      n[         H7  u  pVnX%:X  d  M  Xds=::  a  U::  d  M  O  M  SUR	                  5        U S3s  s  $    Ms     g)zCThe postcode in this location needs a ferry, in plain words, or "".úNeeds a ferry crossing: z postcodes are across water.z is an island postcode.rb   )rj   Ú_OUTWARDÚfindallÚFERRY_AREASÚupperÚintÚFERRY_DISTRICTS)ÚlocationÚtidyÚareaÚnumberÚnÚaÚfirstÚlasts           ri   Úpostcode_reasonr|   G   sˆ   € ä�‹?€DÜ ×(Ñ(¨Ö.‰ˆØ”;ÓØ-¨d¯j©j«l¨^Ð;WÐXÒXÜ�‹Kˆß-‰NˆA�dØ�y˜UÕ/¨4×/Ñ/Ø1°$·*±*³,°À¸sÐBYÐZÔZó .ñ	 /ð rk   c                 óÀ   • S[        U 5       S3nUb  UO[         H@  n[        U5      nU(       d  M  SU S3U;   d  M#  S[        U 5      R                  5        S3s  $    g)z9This location names a place a ferry is needed for, or "".ra   rm   Ú.rb   )rj   ÚFERRY_PLACESre   rg   )rt   Úplacesru   ÚplaceÚnames        ri   Úplace_reasonrƒ   T   si   € àŒu�X‹Ð˜qÐ!€DØ"Ñ.‘&´LÒ@ˆÜ�U‹|ˆßˆ4�a˜�v˜Q�K 4Õ'Ø-¬c°(«m×.AÑ.AÓ.CÐ-DÀAÐFÒFñ Að rk   c                 óŒ   • [        U =(       d    S5      R                  5       (       d  g[        U 5      =(       d    [        X5      $ )z�Why this car cannot be driven home, or "" when it can (or when the
location is not known, which is never a reason to drop a car).rb   )re   rg   r|   rƒ   )rt   r€   s     ri   Úferry_reasonr…   ^   s4   € ô ˆx�~˜2Ó×$Ñ$×&Ñ&ØÜ˜8Ó$×F¬°XÓ(FÐFrk   )N)Ú__doc__Úrerp   rs   r   Úcompilerc   rn   re   rj   r|   rƒ   r…   © rk   ri   Ú<module>rŠ      su   ðñó" 
ð 3€ð€ð€ð4 	�
Š
�=Ó!€à�:Š:Ð8Ó9€ð;�3ô ;ð
 ô 
ñ¨3õ ñG¨3ö Grk   