-k FdZddlZddlZddlZddlZddlZddlZejdkZejdkZ ejdkZ ejdkZ ejdkZ ejdkZ ejdkZejd Zeed Zejd Zejd Ze oe Zd ejvZejZejZejZeZejdgdZ ddlZn#e $rddl!ZYnwxYwerdZ"ne#Z"dZ$e rddl%Z%ddl&Z&ddl'Z'ddl(Z(ddl)Z)ddl*m+Z+ddl,m-Z.ddl,m/Z/ddl(m0Z0ddl1m2Z2m3Z3m4Z4m5Z5m6Z6e#fZ7e8fZ9e8Z:e#Z;eZ?e(j@ZAeBZCeDZEeFe&dZGeFe&dZHeFe&dZIdZJdZKdZLdZMdZN dHd ZOdd!lPmQZQd"ZRd#ZSe reTZTnd$ZTnddl%Z%ddlUZ'ddl(Z(ddl/m/Z/ddlVm/Z.dd%l(mWZ0dd&lXm5Z5dd'lXm2Z2dd(lXm6Z6dd)lXm3Z3dd*lYm4Z4 ddlZZ)n#e $rddl)Z)YnwxYwe[fZ7e8fZ9e#Z:e\Z;eZjdId?ZkdJd@ZldAZme rddBlnmoZodSddClnmnZnddDlnmpZpddElnmqZqGdFdGeqZoeoepdeo_rdS)Kz1Handle Python version/platform incompatibilities.N))rr)r)r)rr)rrrjavapypy_version_infowindarwinaarch FullArgSpec)argsvarargsvarkwdefaults kwonlyargskwonlydefaults annotationsc|SN)args /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/sqlalchemy/util/compat.pyr<sSc tj|r|j}tj|s"t d||j}tj|s"t d||j}|j }tr|j nd}t|d|}t||||z}||z }d}|j tjzr|j |}|dz}d}|j tjzr |j |}t!||||j|tr|jndtr|jniS)z9Fully vendored version of getfullargspec from Python 3.3.z{!r} is not a Python functionz{!r} is not a code objectrN)inspectismethod__func__ isfunction TypeErrorformat__code__iscode co_argcount co_varnamespy3kco_kwonlyargcountlistco_flags CO_VARARGSCO_VARKEYWORDSr __defaults____kwdefaults____annotations__) funcconargsnamesnkwargsr rrrs rinspect_getfullargspecr5Ass}  d # #F7>>tDDEEE B >"  @3::2>>??? NE NE&*1b""G fuf  DeEEGO3455J WEG {W''.'  E {W++&u%    #- $,"  r)reduce)BytesIO)StringIO) zip_longest) quote_plus unquote_plus parse_qslquoteunquoteexec __import__printc,|dS)Nzlatin-1)encodess rbrFsxx """rcPtj|dSNascii)base64 b64decoderCxs rrKrKs 1 1222rcPtj|dSrH)rJ b64encodedecoderLs rrOrOs!""))'222rc0||dS)Nbackslashreplaceerrors)rPtextencodings rdecode_backslashreplacerXs{{8,>{???rc||k||kz Srr)arFs rcmpr[sA!a%  rFcr|||}|dur||_n |||_ |#~~~~wxYw)a{implement "raise" with cause support. :param exception: exception to raise :param with_traceback: will call exception.with_traceback() :param replace_context: an as-yet-unsupported feature. This is an exception object which we are "replacing", e.g., it's our "cause" but we don't want it printed. Basically just what ``__suppress_context__`` does but we don't want to suppress the enclosing context, if any. So for now we make it the cause. :param from\_: the cause. this actually sets the cause and doesn't hope to hide it someday. NF)with_traceback __cause__) exceptionr]replace_contextfrom_s rraise_rbsf"  %!00@@I   "'I    ( #2I  BO ?E> A A A As06) TYPE_CHECKINGc|SrrrDs rurerc|SrrrDs ruerhrfrc"t|dS)N__call__)hasattr)fns rcallablerms2z** *r) izip_longest)r=)r:)r>)r;)r<c|SrrrDs rrFrFrfrcJ|tddStddS)Nzexec func_text in globals_zexec func_text in globals_, lcl)r?) func_textglobals_lcls rexec_rts1 ; - . . . . . 2 3 3 3 3 3rcd|DS)Nc34K|]}t|VdSr)ord).0bytes r ziterbytes..s(**dD ******rr)bufs r iterbytesr|s**c****rcvt|dkr|ddd|dDfz}t|S)Nrrc,g|]}t|Sr)str)rxrs r zimport_..s = = =cS = = =r)lenr@)r s rimport_rsD t99>>!9 = =T!W = = =??D4  rc|dtj}|dSt|D];}t |t st |}|| > ##++Ir:: : j$ ' ' I$[(AAA!..(3.1HH HJrrc d|zS)N*rnames rrrHs 3:rc d|zS)Nz**rrs rrrIs rc&dt|zS)N=)r)values rrrJs#U "3rc d|zS)Nz -> rrs rrrKs 6D=rc   fd} g}|rt|t|z }t|D]D\}}| |}|r||kr|| |||z z}||E|(||| |n|r|d|r?|D]<}| |}|r||vr|| ||z }||=|'|| | |dd|zdz}dvr||  dz }|S)aaCopy formatargspec from python 3.7 standard library. Python 3 has deprecated formatargspec and requested that Signature be used instead, however this requires a full reimplementation of formatargspec() in terms of creating Parameter objects and such. Instead of introducing all the object-creation overhead and having to reinvent from scratch, just copy their compatibility routine. Utimately we would need to rewrite our "decorator" routine completely which is not really worth it right now, until all Python 2.x support is dropped. cT|}|vr|d|zz }|S)Nz: r)rresultrformatannotation formatargs rformatargandannotationz5inspect_formatargspec..formatargandannotation\s@Ys^^Fk!!$!1!1+c2B!C!CCCMrNr(z, )return)rrappendjoin)r rrrrrrr formatvarargs formatvarkw formatvalue formatreturnsrrspecs firstdefaultirspec kwonlyargrs `` ` rinspect_formatargspecr?s:          5t99s8}}4Loo  FAs))#..D FA--kk(1|3C*DEEE LL       LL'='=g'F'FGG H H H H " S!!!  #' # # --i88!Ci>&A&AKKy(ABBBD T""""   LL%;%;E%B%BCC D D Dtyy'''#- { " " mm$4$4[5J$K$KLL LF r) formatargspecc*t|ddi|S)Nrr~)_inspect_formatargspec)rkws rrrs%tAaCy7B777rc'Kg}g}d} |D]B}|j}|j}||||C|Vn#tj}YnxYw|r9|} ||rd}n#tj}YnxYw|9|dkr%t |d|d|ddSdS#|r9|} ||rd}n#tj}YnxYw|9|dkr$t |d|d|dwwxYw)zImplement contextlib.nested, mostly for unit tests. As tests still need to run on py2.6 we can't use multiple-with yet. Function is removed in py3k but also emits deprecation warning in 2.7 so just roll it here for everyone. )NNNrrrN)__exit__ __enter__rrexc_inforreraise)managersexitsvars_excmgrexit_enters rnestedrs E E C,  CLEME LL ! ! ! LL     lnn %IIKKE %5#;-,C %lnn  % $ $ $ CFCFCF + + + + + % $ %IIKKE %5#;-,C %lnn  % $ $ $ CFCFCF + + + + %sBA ACA+)CB B$D=.C65D=6D  2D=c|tj}|\}}}||ur|nd}tt||||dS)legacy. use raise\_()N)tbcause)rrrr)r_rexc_type exc_valueexc_tbrs rraise_from_causersW<>>"*Hi")33IIE DOOY6??????rc*t|||dS)r)r]raN)rb)tprrrs rrrs 55111111rcBGfdd}|ddiS)zCreate a base class with a metaclass. Drops the middle class upon creation. Source: http://lucumr.pocoo.org/2013/5/21/porting-to-python-3-redux/ c8eZdZejZejZfdZdS)!with_metaclass..metaclassc\|t||d|S||S)Nr)r__new__)clsr this_basesdbasesmetas rrz)with_metaclass..metaclass.__new__s5!||Cr15554eQ'' 'rN)__name__rrrrj__init__r)rrsr metaclassrsA== ( ( ( ( ( ( ( (rrtemporary_classNr)rrrs`` rwith_metaclassrsT((((((((D((( 9&b 1 11r)timezone)datetime timedelta)tzinfoceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z ed Zed ZedZeddZe ZdS)rz(Minimal port of python 3 timezone object_offsetct|tstd|j|cxkr |jksnt d||_dS)Nzoffset must be a timedeltazYoffset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).)rrr! _minoffset _maxoffset ValueErrorr)selfoffsets rrztimezone.__init__sjfi00 > <===?f???????? + "DLLLrcVt|tkrdS|j|jkS)NF)rrr)rothers r__eq__ztimezone.__eq__s'E{{h&&u<5=0 0rc*t|jSr)hashrrs r__hash__ztimezone.__hash__s %% %rc2d|jjd|jdS)Nzsqlalchemy.util.rr) __class__rrrs r__repr__ztimezone.__repr__s%'''  rc,|dSr)tznamers r__str__ztimezone.__str__s;;t$$ $rc|jSr)rrdts r utcoffsetztimezone.utcoffsets < rc6||jSr)_name_from_offsetrr s rr ztimezone.tznames))$,77 7rcdSrrr s rdstz timezone.dst s4rct|tr"|j|urtd||jzSt d)Nzfromutc: dt.tzinfo is not selfz6fromutc() argument must be a datetime instance or None)rrrrrr!r s rfromutcztimezone.fromutcsR"h'' )9D(($%HIIIDL((K rc<|jdz|jzdz|jzS)z(backport of timedelta._to_microseconds()iQi@B)daysseconds microsecondsrs r_timedelta_to_microsecondsz#timezone._timedelta_to_microsecondss.),y/@@#01 1rcttj|tj|\}}|tdd|fS)z backport of timedelta.__divmod__r)divmodrrr)rZrFqrs r_divmod_timedeltasztimezone._divmod_timedeltassL3A663A66DAqi1a((( (rc@|sdS|tdkrd}| }nd}tj|td\}}tj|td\}}d|||fz}|jr|d |jfzz }|jr|d |jfzz }|S) NUTCr-+r)hours)minuteszUTC%s%02d:%02dz:%02dz.%06d)rrrrr)deltasignr$restr%rs rrztimezone._name_from_offset(s uy||##"5yq)))KE4%7i***MGT&ug(>>F| 4'T\O33  9'T%6$888Mr;)r$r%N)rrr__doc__ __slots__rrrrr rr rr staticmethodrrrrrrrrrrrs66  " " " 1 1 1  & & &     % % %    8 8 8        1 1  1  ) )  )     *YR444  [ rr)NNFr)NN)sr+ collections contextlibroperatorplatformr version_infopy36py33py35py32r'py2kpy265 startswithjythonrkpypywin32osxcpythonmachinelowerarmcontextmanager attrgetter dottedgetter namedtuplenextr threading ImportErrordummy_threading safe_kwargrr5rJr configparser itertoolspickle functoolsr6ior7 byte_bufferr8r9 urllib.parser:r;r<r=r>rbytes binary_types binary_type text_typeint int_typesiterr| filterfalseitertools_filterfalsefilteritertools_filtermapitertools_imaprrtrrrFrKrOrXr[rbrrcrerhrm ConfigParser cStringIOrnurlliburlparsecPicklerrlong ifilterfalseifilterimaprr?rrrrcollections.abcabccollections_abcrrrrrrrrutcrrrrls87  6! 6! 6! 6! 6! &  I%   ( (ws'(( && lh''( !6z !!##))+++*"  #  $k$   ((((''''''(   JJJ###LIMMMOOOMMM      ))))))%%%%%%6L8LKIII%1N GHf % %Egh --G WXw ' 'F###333333@@@!!!EJ#B#B#B#BJ%$$$$$ + + + + + MMM''''!!!!!!111111555555!!!!!!######""""""      =L8LKIT IH C F I I%2 (^N4444 +++!!! ###,,,--- D $MX?     --,,3300*?????D ???????8888 ?>>>>> *-------)))) ,,,D@@@@2222 222*d*!!!!!!!!!!!!!!""""""[![![![![!6[![![!z8IIaLL))HLLLs$D D'&D'H H&%H&