ó
O'—^c           @  s  d  Z  d d l m Z d d l Z d Z d Z d Z d e ƒ  Z d e ƒ  Z	 d	 Z
 d
 Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z d e ƒ  Z  d  e ƒ  Z! d! Z" d" e ƒ  Z# d# e ƒ  Z$ d# e ƒ  Z% d$ e ƒ  Z& d% e ƒ  Z' d& e ƒ  Z( d' e ƒ  Z) d( e ƒ  Z* d) e ƒ  Z+ d* „  Z, d+ „  Z- d, „  Z. d S(-   u  
Regex for URIs

These regex are directly derived from the collected ABNF in RFC3986
(except for DIGIT, ALPHA and HEXDIG, defined by RFC2234).

They should be processed with re.VERBOSE.

Thanks Mark Nottingham for this code - https://gist.github.com/138549
iÿÿÿÿ(   t   unicode_literalsNu   [\x30-\x39]u   [\x41-\x5A\x61-\x7A]u   [\x30-\x39A-Fa-f]u    %% %(HEXDIG)s %(HEXDIG)su-   (?: %(ALPHA)s | %(DIGIT)s | \- | \. | _ | ~ )u#   (?: : | / | \? | \# | \[ | \] | @ )uI   (?: ! | \$ | & | ' | \( | \) |
                     \* | \+ | , | ; | = )u?   (?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : | @ )u%   (?: %(gen_delims)s | %(sub_delims)s )u5   %(ALPHA)s (?: %(ALPHA)s | %(DIGIT)s | \+ | \- | \. )*uÄ   (?: %(DIGIT)s |
                    [\x31-\x39] %(DIGIT)s |
                    1 %(DIGIT)s{2} |
                    2 [\x30-\x34] %(DIGIT)s |
                    25 [\x30-\x35]
                )
u@   %(dec_octet)s \. %(dec_octet)s \. %(dec_octet)s \. %(dec_octet)su   (?: %(HEXDIG)s ){1,4}u/   (?: (?: %(h16)s : %(h16)s ) | %(IPv4address)s )uá  (?:                                  (?: %(h16)s : ){6} %(ls32)s |
                                                    :: (?: %(h16)s : ){5} %(ls32)s |
                                            %(h16)s :: (?: %(h16)s : ){4} %(ls32)s |
                         (?: %(h16)s : )    %(h16)s :: (?: %(h16)s : ){3} %(ls32)s |
                         (?: %(h16)s : ){2} %(h16)s :: (?: %(h16)s : ){2} %(ls32)s |
                         (?: %(h16)s : ){3} %(h16)s ::     %(h16)s :      %(ls32)s |
                         (?: %(h16)s : ){4} %(h16)s ::                    %(ls32)s |
                         (?: %(h16)s : ){5} %(h16)s ::                    %(h16)s  |
                         (?: %(h16)s : ){6} %(h16)s ::
                  )
u;   v %(HEXDIG)s+ \. (?: %(unreserved)s | %(sub_delims)s | : )+u+   \[ (?: %(IPv6address)s | %(IPvFuture)s ) \]u8   (?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s )*u;   (?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : )u5   (?: %(IP_literal)s | %(IPv4address)s | %(reg_name)s )u   (?: %(DIGIT)s )*u.   (?: %(userinfo)s @)? %(host)s (?: : %(port)s)?u
   %(pchar)s*u
   %(pchar)s+u<   (?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | @ )+u   (?: / %(segment)s )*u,   / (?: %(segment_nz)s (?: / %(segment)s )* )?u&   %(segment_nz_nc)s (?: / %(segment)s )*u#   %(segment_nz)s (?: / %(segment)s )*u    u¬   (?: %(path_abempty)s |
               %(path_absolute)s |
               %(path_noscheme)s |
               %(path_rootless)s |
               %(path_empty)s
            )
u   (?: %(pchar)s | / | \? )*u³   (?: (?: // %(authority)s %(path_abempty)s ) |
                    %(path_absolute)s |
                    %(path_rootless)s |
                    %(path_empty)s
                )
uÃ   (?: (?: // %(authority)s %(path_abempty)s ) |
                        %(path_absolute)s |
                        %(path_noscheme)s |
                        %(path_empty)s
                    )
u:   %(relative_part)s (?: \? %(query)s)? (?: \# %(fragment)s)?uM   ^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? (?: \# %(fragment)s )? )$u"   ^(?: %(URI)s | %(relative_ref)s )$u6   ^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? )$c         C  s   t  j t |  t  j ƒ S(   N(   t   ret   matcht   URIt   VERBOSE(   t   uri(    (    s7   /tmp/pip-unpacked-wheel-eAx2J6/oauthlib/uri_validate.pyt   is_uriÎ   s    c         C  s   t  j t |  t  j ƒ S(   N(   R   R   t   URI_referenceR   (   R   (    (    s7   /tmp/pip-unpacked-wheel-eAx2J6/oauthlib/uri_validate.pyt   is_uri_referenceÒ   s    c         C  s   t  j t |  t  j ƒ S(   N(   R   R   t   absolute_URIR   (   R   (    (    s7   /tmp/pip-unpacked-wheel-eAx2J6/oauthlib/uri_validate.pyt   is_absolute_uriÖ   s    (/   t   __doc__t
   __future__R    R   t   DIGITt   ALPHAt   HEXDIGt   localst   pct_encodedt
   unreservedt
   gen_delimst
   sub_delimst   pchart   reservedt   schemet	   dec_octett   IPv4addresst   h16t   ls32t   IPv6addresst	   IPvFuturet
   IP_literalt   reg_namet   userinfot   hostt   portt	   authorityt   segmentt
   segment_nzt   segment_nz_nct   path_abemptyt   path_absolutet   path_noschemet   path_rootlesst
   path_emptyt   patht   queryt   fragmentt	   hier_partt   relative_partt   relative_refR   R   R	   R   R   R
   (    (    (    s7   /tmp/pip-unpacked-wheel-eAx2J6/oauthlib/uri_validate.pyt   <module>
   sX   		