HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //proc/self/root/lib/python3.9/site-packages/oauthlib/__pycache__/uri_validate.cpython-39.pyc
a

�#/d��@spdZddlZdZdZdZde�Zde�ZdZd	Z	d
e�Z
de�Zde�Zd
e�Z
de�ZdZde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�Zde�ZdZde�Zd e�Z d e�Z!d!e�Z"d"e�Z#d#e�Z$d$e�Z%d%e�Z&d&e�Z'd'd(�Z(d)d*�Z)d+d,�Z*dS)-a
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
�Nz[\x30-\x39]z[\x41-\x5A\x61-\x7A]z[\x30-\x39A-Fa-f]z %% %(HEXDIG)s %(HEXDIG)sz-(?: %(ALPHA)s | %(DIGIT)s | \- | \. | _ | ~ )z#(?: : | / | \? | \# | \[ | \] | @ )zI(?: ! | \$ | & | ' | \( | \) |
                     \* | \+ | , | ; | = )z?(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : | @ )z%(?: %(gen_delims)s | %(sub_delims)s )z5%(ALPHA)s (?: %(ALPHA)s | %(DIGIT)s | \+ | \- | \. )*z�(?: %(DIGIT)s |
                    [\x31-\x39] %(DIGIT)s |
                    1 %(DIGIT)s{2} |
                    2 [\x30-\x34] %(DIGIT)s |
                    25 [\x30-\x35]
                )
z@%(dec_octet)s \. %(dec_octet)s \. %(dec_octet)s \. %(dec_octet)sz#([A-Fa-f0-9:]+[:$])[A-Fa-f0-9]{1,4}z;v %(HEXDIG)s+ \. (?: %(unreserved)s | %(sub_delims)s | : )+z+\[ (?: %(IPv6address)s | %(IPvFuture)s ) \]z8(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s )*z;(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : )z5(?: %(IP_literal)s | %(IPv4address)s | %(reg_name)s )z(?: %(DIGIT)s )*z.(?: %(userinfo)s @)? %(host)s (?: : %(port)s)?z
%(pchar)s*z
%(pchar)s+z<(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | @ )+z(?: / %(segment)s )*z,/ (?: %(segment_nz)s (?: / %(segment)s )* )?z&%(segment_nz_nc)s (?: / %(segment)s )*z#%(segment_nz)s (?: / %(segment)s )*�z�(?: %(path_abempty)s |
               %(path_absolute)s |
               %(path_noscheme)s |
               %(path_rootless)s |
               %(path_empty)s
            )
z(?: %(pchar)s | / | \? )*z�(?: (?: // %(authority)s %(path_abempty)s ) |
                    %(path_absolute)s |
                    %(path_rootless)s |
                    %(path_empty)s
                )
z�(?: (?: // %(authority)s %(path_abempty)s ) |
                        %(path_absolute)s |
                        %(path_noscheme)s |
                        %(path_empty)s
                    )
z:%(relative_part)s (?: \? %(query)s)? (?: \# %(fragment)s)?zM^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? (?: \# %(fragment)s )? )$z"^(?: %(URI)s | %(relative_ref)s )$z6^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? )$cCst�t|tj�S�N)�re�match�URI�VERBOSE�Zuri�r	�9/usr/lib/python3.9/site-packages/oauthlib/uri_validate.py�is_uri�srcCst�t|tj�Sr)rr�
URI_referencerrr	r	r
�is_uri_reference�sr
cCst�t|tj�Sr)rr�absolute_URIrrr	r	r
�is_absolute_uri�sr)+�__doc__rZDIGITZALPHAZHEXDIG�localsZpct_encodedZ
unreservedZ
gen_delimsZ
sub_delimsZpcharZreserved�schemeZ	dec_octetZIPv4addressZIPv6addressZ	IPvFutureZ
IP_literalZreg_name�userinfo�host�portZ	authorityZsegmentZ
segment_nzZ
segment_nz_ncZpath_abemptyZ
path_absoluteZ
path_noschemeZ
path_rootlessZ
path_empty�path�query�fragmentZ	hier_partZ
relative_partZrelative_refrrrrr
rr	r	r	r
�<module>sb






�	














�

��