f dZdZdZdZdZdZdZdZdZd Z d Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$gd#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9y8)9z3Constants and membership tests for ASCII characters  )!NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPc<t|tr t|S|SN) isinstancestrordcs #/usr/lib/python3.12/curses/ascii.py_ctoirM0s!S1v c2t|xs t|SrF)isalphaisdigitrJs rLisalnumrR6wqz/WQZ/rNc2t|xs t|SrF)isupperislowerrJs rLrPrP7rSrNc4dt|cxkxrdkScS)Nrr#rMrJs rLisasciirY8sqE!H+++++rNct|dvS)N)r r"rXrJs rLisblankr[9suQx7**rNcTdt|cxkxrdkncxst|dk(S)Nrr!r#rXrJs rLiscntrlr]:s"qE!H**=eAh#o=rNc4dt|cxkxrdkScS)N09rXrJs rLrQrQ;rU1X+++++rNc4dt|cxkxrdkScS)N!~rXrJs rLisgraphre<rU1X,,,,,rNc4dt|cxkxrdkScS)NazrXrJs rLrVrV=rfrNc4dt|cxkxrdkScS)Nr"rdrXrJs rLisprintrk>rfrNc4t|xr t| SrF)rerRrJs rLispunctrm?swqz4'!*n4rNct|dvS)N)r r r rrr"rXrJs rLisspacero@suQx#:::rNc4dt|cxkxrdkScS)NAZrXrJs rLrUrUArarNct|xs4dt|cxkxrdkncxsdt|cxkxrdkScS)NrqFrhf)rQrMrJs rLisxdigitrvBsA 658r6!U1X44646rNc4dt|cxkxrdkScS)Nrr"rXrJs rLisctrlrxDsa58(b((((rNct|dkDSNr#rXrJs rLismetar{EseAhn$rNclt|trtt|dzSt|dzSrzrGrHchrrMrJs rLasciirG-!S58d?##Qx$rNclt|trtt|dzSt|dzS)Nr!r}rJs rLctrlrMrrNclt|trtt|dzSt|dzS)Nr}rJs rLaltrSrrNct|}|dk(rd}n4t|dzrt|dz}ndt|dzdzdzz}|dzrd|zS|S)Nr#z^?^r"r!)rMrkr~)rKbitsreps rLunctrlrYsd 8D t|  $+C$+-566 d{Sy JrNN):__doc__r$r%r&r'r(r)r*r+r,TABr-r.NLr/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDDEL controlnamesrMrRrPrYr[r]rQrerVrkrmrorUrvrxr{rrrrrNrLrs 9                                      0/+*=+,,,4:+6($   rN