
    (gu2              	       F   d Z ddlmZ ej                  dk(  sJ d Z eg d e edd            z         Zd Z	i 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*i d+d,d-d.d/d0d1dd2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKi dLdMdNdOdPdQdRdSdTdUdVdWdXdYdZdKd[dMd\dOd]dQd^dSd_dUd`dWdadYdbdcdddei dfdgdhdidjdkdldmdndodpdqdrdcdsdedtdgdudidvdkdwdmdxdodydqdzd{d|d}d~di dddddddddddd{dd}ddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddœddǓddɓdd˓dd͓ddϓddϓddϓddӓddӓi dd֓ddؓddړddܓddޓddddddddddddddddddddǓddddi dddddd,ddddddddd ddddddddd	d
dddddddddi 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/d0d1d.d2d3i d4d5d6d7d8d9d:d;d<d9d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTi dUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdfdhdidjdkdldmdndodpdqdrdsdtdi dudǓdvddwddxddydzd{dϓd|dӓd}d~dddd֓ddddؓddddܓddޓddddi ddddddddddddddddsddddǓddddddddzddϓddӓdd~i dddd֓ddddؓddddܓddޓddddddddddddddddddddsi ddddǓddddddddzddϓddӓdd~dddd֓ddddؓddddܓddޓddi dddĐddŐddƐddǐddȐddɐddddːdsddǓdddΐdzdϐd~dАdddؓdҐdddܓi ddޓddd֐ddאddؐddِddڐddېddddݐdsddddǓddddddddzddϓi ddӓdd~dddd֓ddddؓddddܓddޓddddddddddddddddi ddddsddddddddddzdd~dddd֓d dddؓddddܓddޓddddi ddddd	dd
dddddsddddddddddzddӓdd~dddd֓ddddi ddddddddddddddddsd dd!dǓd"dd#dd$dd%dzd&dϓd'dӓd(d~i d)dd*d֓d+dd,dؓd-dd.dܓd/dޓd0dd1dd2dd3dd4dd5dd6dd7dd8dd9dsi d:dd;dǓd<dd=dd>dd?dzd@dϓdAdӓdBd~dCddDd֓dEddFdؓdGddHdܓdIdޓdJdi dKddLddMddNddOddPddQddRddSdsdTddUdǓdVddWddXddYdzdZdϓd[dӓi d\d~d]dd^d֓d_dd`dؓdaddbdܓdcdޓddddeddfddgddhddiddjddkddldi dmdsdnddodǓdpddqddrddsdzdtdϓdudӓdvd~dwddxd֓dyddzdؓd{dd|dܓd}dޓi d~dddddddddddddddddddsddddǓddddddddzddϓi ddӓdd~dddd֓ddddؓddddܓddޓddddddddddddddddi ddddsddddǓddddddddzddϓddӓdd~dddd֓ddddؓddddܓi ddޓdddddddddddddddddddddd dddddd3ddÓdĐdœi dd"dddd.dɐdʓdd
d̐d͓dΐdϓdАdѓdd,dd0dd"ddd֐dדdd$dd*dڐdۓdܐdݓi dސdߓdddddd dddddd3ddÓddœdd"dddd.ddʓdd
dd͓ddϓddѓi dd,dd0dd"ddddדdd$dd*ddۓddݓddߓdddddd dddddd3d dÓi ddœdd"dddd.ddʓdd
dd͓ddϓd	dѓd
d,dd0dd"ddddדdd$dd*ddۓi ddݓddߓdddddd dddddd3ddÓddœdd"dddd.ddʓd d
d!d͓d"dϓi d#dѓd$d,d%d0d&d"d'dd(dדd)d$d*d*d+dۓd,dݓd-dߓd.dd/dd0d d1dd2dd3d3i d4dÓd5dœd6d"d7dd8d.d9dʓd:d
d;d͓d<dϓd=dѓd>d,d?d0d@d"dAddBdדdCd$dDd*dېdݐdddEZ
dF ZdG ZdH ZdI ZdJ ZdK Z eg dL e edMdN            z    e edOdP            z    e edQdR            z    e edSdT            z         ZdU ZdV ZdW ZdX ZdY Z e edQdZ            Zd[ Z e ed\d]            Zd^ Z eg d_ e ed`da            z    e edOdP            z         Zdb Z edcg e eddde            z         Zdf Zdg Zdh Z yi(j  zLibrary that exposes various tables found in the StringPrep RFC 3454.

There are two kinds of tables: sets, for which a member test is provided,
and mappings, for which a mapping function is provided.
    )	ucd_3_2_0z3.2.0c                 r    t        j                  |       dk7  ryt        |       }d|cxk  rdk  ry |dz  dvS )NCnF        r   )unicodedatacategoryordcodecs     !/usr/lib/python3.12/stringprep.pyin_table_a1r      sB    D!T)%D	AVEJ///    )   iO  i  i  i  i  i         `     i   i  c                 $    t        |       t        v S N)r   b1_setr   s    r   in_table_b1r          t9r      u   μ   ssi0  u   i̇iI  u   ʼni  si  u   ǰiE  u   ιiz  u    ιi  u   ΐi  u   ΰi  u   σi  u   βi  u   θi  u   υi  u   ύi  u   ϋi  u   φi  u   πi  u   κi  u   ρi  i  u   εi  u   եւi  u   ẖi  u   ẗi  u   ẘi  u   ẙi  u   aʾi  u   ṡiP  u   ὐiR  u   ὒiT  u   ὔiV  u   ὖi  u   ἀιi  u   ἁιi  u   ἂιi  u   ἃιi  u   ἄιi  u   ἅιi  u   ἆιi  u   ἇιi  i  i  i  i  i  i  i  i  u   ἠιi  u   ἡιi  u   ἢιi  u   ἣιi  u   ἤιi  u   ἥιi  u   ἦιi  u   ἧιi  i  i  i  i  i  i  i  i  u   ὠιi  u   ὡιi  u   ὢιi  u   ὣιi  u   ὤιi  u   ὥιi  u   ὦιi  u   ὧιi  i  i  i  i  i  i  i  i  u   ὰιi  u   αιi  u   άιi  u   ᾶi  u   ᾶιi  i  i  u   ὴιi  u   ηιi  u   ήιi  u   ῆi  u   ῆιi  i  u   ῒi  i  u   ῖi  u   ῗi  u   ῢi  i  u   ῤi  u   ῦi  u   ῧi  u   ὼιi  u   ωιi  u   ώιi  u   ῶi  u   ῶιi  i   rsi!  r   i!  u   °ci!  u   ɛi	!  u   °fi!  hi!  i!  i!  ii!  i!  li!  ni!  noi!  pi!  qi!  ri!  i!  i !  smi!!  teli"!  tmi$!  zi(!  i,!  bi-!  i0!  ei1!  fi3!  mi>!  u   γi?!  iE!  diq3  hpais3  auiu3  ovi3  pai3  nai3  u   μai3  mai3  kai3  kbi3  mbi3  gbi3  pfi3  nfi3  u   μfi3  hzi3  khzi3  mhzi3  ghzi3  thzi3  i3  kpai3  mpai3  gpai3  pvi3  nvi3  u   μvi3  mvi3  kvi3  i3  pwi3  nwi3  u   μwi3  mwi3  kwi3  i3  u   kωi3  u   mωi3  bqi3  u   c∕kgi3  zco.i3  dbi3  gyi3  hpi3  kki3  kmi3  phi3  ppmi3  pri3  svi3  wbi   ffi  fii  fli  ffii  ffli  sti  i  u   մնi  u   մեi  u   միi  u   վնi  u   մխi  ai i i i i i gi i i	 ji
 ki i i i oi i i i i ti ui vi wi xi yi i4 i5 i6 i7 i8 i9 i: i; i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i8 i9 i; i< i= i> i@ iA iB iC iD iF iJ iK iL iM iN iO iP il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i i i i i i i  i! i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM iN iO iP iQ iR iS iT iU ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i u   αi i i u   δi i u   ζi u   ηi i i i u   λi i u   νi u   ξi u   οi i i i i u   τi i i u   χi u   ψi u   ωi i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i  i! i" i# i$ i% i& i' i( i) i* i+ i, i- i. i/ i0 i1 i2 i3 i4 iG iV iW iX iY iZ i[ i\ i] i^ i_ i` ia ib ic id ie if ig ih ii ij ik il im in i i i i i i i i i i i i i i i i i i i i i i i )i i i i c                 f    t         j                  t        |             }||S | j                         S r   )b3_exceptionsgetr   lower)r   r+   s     r   map_table_b3rq      s+    #d)$A}Qh::<r   c                     t        |       }t        j                  d|      }dj                  |D cg c]  }t        |       c}      }t        j                  d|      }||k7  r|S |S c c}w )NNFKC )rq   r   	normalizejoin)rb   alr0   chblr   s         r   map_table_b2rz      sc    	aBfb)A	Q/r,r"/	0Bfb)AAv	 0s   A)c                     | dk(  S )N  r   s    r   in_table_c11r~      s    3;r   c                 @    t        j                  |       dk(  xr | dk7  S )NZsr|   r   r   r   s    r   in_table_c12r      s!    %-=$#+=r   c                 2    t        j                  |       dk(  S )Nr   r   r   s    r   in_table_c11_c12r          %--r   c                 R    t        |       dk  xr t        j                  |       dk(  S )N   Cc)r   r   r   r   s    r   in_table_c21r      s%    t9s?A{33D9TAAr   )i  i  i  r   r   i(   i)   r   r   id   ij   ip   i  i  is i{ c                 f    t        |       }|dk  ryt        j                  |       dk(  ry|t        v S )Nr   Fr   T)r   r   r   c22_specialsr   s     r   in_table_c22r      s4    D	A3wuD!T)$r   c                 X    t        j                  |       dk(  xs t        |       t        v S )Nr   )r   r   r   r   r   s    r   in_table_c21_c22r      s+    %- %t9$%r   c                 2    t        j                  |       dk(  S )NCor   r   s    r   in_table_c3r      r   r   c                 P    t        |       }|dk  ry|dk  ryt        |       dz  dv S )Nr   Fr   Tr   r	   )r   r   s     r   in_table_c4r      s2    D	A6z%6z$I#333r   c                 2    t        j                  |       dk(  S )NCsr   r   s    r   in_table_c5r      r   r   r
   c                 $    t        |       t        v S r   )r   c6_setr   s    r   in_table_c6r      r   r   i/  i/  c                 $    t        |       t        v S r   )r   c7_setr   s    r   in_table_c7r      r   r   )i@  iA  i   i   i*   i/   c                 $    t        |       t        v S r   )r   c8_setr   s    r   in_table_c8r     r   r   i  i   i  c                 $    t        |       t        v S r   )r   c9_setr   s    r   in_table_c9r     r   r   c                 0    t        j                  |       dv S )N)RALr   bidirectionalr   s    r   in_table_d1r     s    $$T*j88r   c                 2    t        j                  |       dk(  S )NLr   r   s    r   in_table_d2r     s    $$T*c11r   N)!__doc__r   r   unidata_versionr   setlistranger   r   rn   rq   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r}   r   r   <module>r      s&   1""g- --0 
NQUV[\abgVhQii	jc& Xc&Dc&	c&+0c& cc&c&!(c&,1)c& c& ""6c& 9>hc& INhc& h	c& h	c& !&h	c& 16h	c&
 hc&
 hc&
 !&hc&
 16hc& hc& hc& !&nc& 7=Yc& yc& c& %+9c& 7=Yc& xc& c& )//Cc& FLL`c& c& $Nc& 5;>c& LRR`c& ~c& nc& /5^c& FLNc& ~c& nc& /5^c& FLNc& ~c& nc& /5^c& FLNc& ~c& nc& /5^c& FLNc& ~c& nc& /5^c& FLNc& ~c& nc& /5^c& FLNc&  ~!c&  n!c&  /5^!c&  FLN!c&" ~#c&" n#c&" /5^#c&" FLN#c&$ ~%c&$ n%c&$ /5^%c&$ FLN%c&& ~'c&& n'c&& /5^'c&& FLN'c&( ~)c&( n)c&( /5^)c&( FLN)c&* ~+c&* n+c&* /5^+c&* FLN+c&, ~-c&, 2-c&, 5;>-c&, LRRZ-c&. ~/c&. n/c&. /5^/c&. FLN/c&0 1c&0 $N1c&0 5;;O1c&0 RXXl1c&2 ~3c&2 23c&2 5;;O3c&2 RXXl3c&4 ~5c&4 n5c&4 /55I5c&4 LRR`5c&6 ~7c&6 n7c&6 /5^7c&6 FLL`7c&8 ~9c&8 d9c&8 %+39c&8 17w9c&: x;c&: ;c&: "(;c&: .4C;c&< s=c&< 3=c&< s=c&< %+3=c&> s?c&> 4?c&>  ?c&> &,C?c&@ sAc&@ 3Ac&@ sAc&@ %+4Ac&B uCc&B TCc&B "#Cc&B (.cCc&D sEc&D 3Ec&D sEc&D %+3Ec&F sGc&F 8Gc&F $HGc&F /5SGc&H uIc&H TIc&H "$Ic&H )/tIc&J tKc&J IKc&J  &dKc&J -34Kc&L tMc&L DMc&L !Mc&L (.dMc&N tOc&N IOc&N  &dOc&N -35Oc&P uQc&P UQc&P #5Qc&P +1Qc&R uSc&R USc&R #5Sc&R +1Sc&T tUc&T IUc&T  &dUc&T -34Uc&V tWc&V DWc&V !Wc&V (.iWc&X tYc&X DYc&X !Yc&X (.iYc&Z y[c&Z [c&Z  &k[c&Z 4:%[c&\ t]c&\ D]c&\ !]c&\ (.d]c&^ t_c&^ D_c&^ !_c&^ )/t_c&` tac&` Dac&` !ac&` (.dac&b tcc&b Ecc&b "%cc&b *0cc&d tec&d Nec&d %+>ec&d <B.ec&f ~gc&f ngc&f /6cgc&f <C3gc&h ic&h Sic&h "#ic&h (/sic&j kc&j Skc&j "#kc&j (/skc&l mc&l Smc&l "#mc&l (/smc&n oc&n Soc&n "#oc&n (/soc&p qc&p Sqc&p "#qc&p (/sqc&r sc&r Ssc&r "#sc&r (/ssc&t uc&t Suc&t "#uc&t (/suc&v wc&v Swc&v "#wc&v (/swc&x yc&x Syc&x "#yc&x (/syc&z {c&z S{c&z "#{c&z (/s{c&| }c&| S}c&| "#}c&| (/s}c&~ c&~ Sc&~ "#c&~ (/sc&@ Ac&@ SAc&@ "#Ac&@ (/sAc&B Cc&B SCc&B "#Cc&B (/sCc&D Ec&D SEc&D "#Ec&D (/sEc&F Gc&F SGc&F "#Gc&F (/sGc&H Ic&H SIc&H "#Ic&H (/sIc&J Kc&J SKc&J "#Kc&J (/sKc&L Mc&L SMc&L "#Mc&L (/sMc&N Oc&N SOc&N "#Oc&N (/sOc&P Qc&P SQc&P "#Qc&P (/sQc&R Sc&R SSc&R "#Sc&R (/sSc&T Uc&T SUc&T "#Uc&T (/sUc&V Wc&V SWc&V "#Wc&V (/sWc&X Yc&X SYc&X "#Yc&X (/sYc&Z [c&Z S[c&Z "#[c&Z (/s[c&\ ]c&\ S]c&\ "#]c&\ (/s]c&^ _c&^ S_c&^ "#_c&^ (/s_c&` ac&` Sac&` "#ac&` (/sac&b cc&b Scc&b "#cc&b (/scc&d ec&d Sec&d "#ec&d (/sec&f gc&f Sgc&f "#gc&f (/sgc&h ic&h Sic&h "#ic&h (/sic&j kc&j Skc&j "#kc&j (/skc&l mc&l Smc&l "#mc&l (/smc&n oc&n Soc&n "#oc&n (/soc&p qc&p Sqc&p "#qc&p (/sqc&r sc&r Ssc&r "#sc&r (/ssc&t uc&t Suc&t "#uc&t (/suc&v wc&v Swc&v "#wc&v (/swc&x yc&x Syc&x "#yc&x (/syc&z {c&z S{c&z "#{c&z (/s{c&| }c&| S}c&| "#}c&| (/s}c&~ c&~ Sc&~ "#c&~ (/sc&@ Ac&@ SAc&@ "#Ac&@ (/sAc&B Cc&B SCc&B "#Cc&B (/sCc&D Ec&D SEc&D "#Ec&D (/sEc&F Gc&F SGc&F "#Gc&F (/sGc&H Ic&H SIc&H "#Ic&H (/sIc&J Kc&J SKc&J "#Kc&J (/sKc&L Mc&L SMc&L "#Mc&L (/sMc&N Oc&N SOc&N "#Oc&N (/sOc&P Qc&P SQc&P "#Qc&P (/sQc&R Sc&R SSc&R "#Sc&R (/sSc&T Uc&T SUc&T "#Uc&T (/sUc&V Wc&V SWc&V "#Wc&V (/sWc&X Yc&X SYc&X "#Yc&X (/sYc&Z [c&Z S[c&Z "#[c&Z (/s[c&\ ]c&\ S]c&\ "#]c&\ (/s]c&^ _c&^ S_c&^ "#_c&^ (/s_c&` ac&` Sac&` "#ac&` (/sac&b cc&b Scc&b "#cc&b (/scc&d ec&d Sec&d "#ec&d (/sec&f gc&f Sgc&f "#gc&f (/sgc&h ic&h Sic&h "#ic&h (/sic&j kc&j Skc&j "#kc&j (/skc&l mc&l Smc&l "#mc&l (/smc&n oc&n Soc&n "#oc&n (/soc&p qc&p Sqc&p "#qc&p (/sqc&r sc&r Ssc&r "#sc&r (/ssc&t uc&t Suc&t "#uc&t (/suc&v wc&v Swc&v "#wc&v (/swc&x yc&x Syc&x "#yc&x (/syc&z {c&z S{c&z "#{c&z (/s{c&| }c&| S}c&| "#}c&| (/s}c&~ c&~ Sc&~ "#c&~ (/sc&@ Ac&@ SAc&@ "#Ac&@ (/sAc&B Cc&B SCc&B "#Cc&B (/sCc&D Ec&D SEc&D "#Ec&D (/sEc&F Gc&F (Gc&F %,HGc&F 7>hGc&H Ic&H (Ic&H %,HIc&H 7>hIc&J Kc&J (Kc&J %,HKc&J 7>hKc&L Mc&L (Mc&L %,HMc&L 7>hMc&N Oc&N (Oc&N %,HOc&N 7>hOc&P Qc&P (Qc&P %,HQc&P 7>hQc&R Sc&R (Sc&R %,HSc&R 7>hSc&T Uc&T (Uc&T %,HUc&T 7>hUc&V Wc&V (Wc&V %,HWc&V 7>hWc&X Yc&X (Yc&X %,HYc&X 7>hYc&Z [c&Z ([c&Z %,H[c&Z 7>h[c&\ ]c&\ (]c&\ %,H]c&\ 7>h]c&^ _c&^ (_c&^ %,H_c&^ 7>h_c&` ac&` (ac&` %,Hac&` 7>hac&b cc&b (cc&b %,Hcc&b 7>hcc&d ec&d (ec&d %,Hec&d 7>hec&f gc&f (gc&f %,Hgc&f 7>hgc&h ic&h (ic&h %,Hic&h 7>hic&j kc&j (kc&j %,Hkc&j 7>hkc&l mc&l (mc&l %,Hmc&l 7>hmc&n oc&n (oc&n %,Hoc&n 7>hoc&p qc&p (qc&p %,Hqc&p 7>hqc&r sc&r (sc&r %,Hsc&r 7>hsc&t uc&t (uc&t %,Huc&t 7>huc&v wc&v (wc&v %,Hwc&v 7>hwc&x yc&x (yc&x %,Hyc&x 7>hyc&z {c&z ({c&z %,H{c&z 7>h{c&| }c&| (}c&| %,H}c&| 7>h}c&~ c&~ (c&~ %,Hc&~ 7>hc&@ Ac&@ (Ac&@ %,HAc&@ 7>hAc&B Cc&B (Cc&B %,HCc&B 7>hCc&D Ec&D (Ec&D -5h(Gc&J>.B DtERVW[L\G]]`dejkopteu`vvy}  D  EJ  KP  Q  zR  R  UY  Z_  `f  gm  Zn  Uo  o  p%
.4. 
U5	  
U5	  
#d5d+;&<<tE$tDT?UU	V 
fXU6&122	392r   