Jz`flEcs|/SQrSSKJr SSKJr SSKJr \"SS5r Sr "SS 5r S#S jr S r "S S 5rSSKr\R "S5R"4SjrS$SjrSrS%SjrSrS%SjrSrS&SjrS\4SjrSS\4SjrSrSrSrSr"SS\ 5r!CS r"S!r#\$S":Xa\#"5 gg)') get_close_matchesndiffrestoreSequenceMatcherDifferIS_CHARACTER_JUNK IS_LINE_JUNK context_diff unified_diff diff_bytesHtmlDiffMatch)nlargest) namedtuple) GenericAliasr za b sizecs"U(aSU-U- $g)Ng@?)matcheslength /usr/lib64/python3.13/difflib.py_calculate_ratior's W}v%% csx\rSrSrSSjrSrSrSrSrSSjr S r S r SS jr S r S rSr\"\5rSrg)ri,NcsZXlS=UlUlX@lUR X#5 gN)isjunkabautojunkset_seqs)selfrrrr r__init__ZSequenceMatcher.__init__xs)v   arcsHURU5 URU5 gr)set_seq1set_seq2)rrr rrZSequenceMatcher.set_seqss a arcsJXRLagXlS=UlUlgr)rmatching_blocksopcodes)rrrrr!ZSequenceMatcher.set_seq1s$* ; .22t|rcsxXRLagXlS=UlUlSUlUR 5 gr)rr$r% fullbcount_SequenceMatcher__chain_b)rrrrr"ZSequenceMatcher.set_seq2s5* ; .22t| rcsnURn0=Uln[U5H(up4URU/5nUR U5 M* [ 5=UlnURnU(aBUR5H#nU"U5(dMURU5 M% UHnX$ M [ 5=Ul n[U5n UR(aVU S:aOU S-S-n UR5H'upK[U 5U :dMURU5 M) UHnX$ M ggg)Niid)rb2j enumerateZ setdefaultappendZsetbjunkrZkeysZaddbpopularlenrZitems) rrr)ieltZindicesZjunkrZpopularnZntestZidxs rZ __chain_bZSequenceMatcher.__chain_b s$ FF3l FAnnS"-G NN1    E! T xxz "#;;HHSM " H #&%'  F ==Q#XHqLE YY[ % t9u$KK$ % H  &=rcsURURURURR4upVpxUc [ U5nUc [ U5nXSpn 0n /n [ X5HknU Rn0nURX^U 5H@nUU:aM UU:a O1U"US- S5S-=nUU'UU :dM/UU- S-UU- S-Upn MB Un Mm X:acX:a^U"XjS- 5(dLXYS- XjS- :Xa<U S- U S- U S-pn X:a)X:a$U"XjS- 5(dXYS- XjS- :XaM<X-U:acX-U:a[U"XjU -5(dIXYU -XjU -:Xa9U S- n X-U:a,X-U:a$U"XjU -5(dXYU -XjU -:XaM9X:acX:a^U"XjS- 5(aLXYS- XjS- :Xa<U S- U S- U S-pn X:a)X:a$U"XjS- 5(aXYS- XjS- :XaM<X-U:acX-U:a[U"XjU -5(aIXYU -XjU -:Xa9U S-n X-U:a,X-U:a$U"XjU -5(aXYU -XjU -:XaM9[XU 5$Nr r() rrr)r, __contains__r.rangegetr )raloahiblobhirrr)ZisbjunkZbestiZbestjZbestsizeZj2lenZnothingr/Zj2lengetZnewj2lenjk rfind_longest_matchZ"SequenceMatcher.find_longest_match1st"VVTVVTXXtzz7N7NNc ;a&C ;a&C!$1hs AyyHHWWQT7+ =s78"*1Q3"2Q"66HQKx<-.qSUAaCE1(E( =E (kek!!G*%%ajAAgJ&%*1WeAgxz(Ekek!!G*%%ajAAgJ&ns"u~';!(N+,,h18^#44 MHns"u~';!(N+,,h18^#44kekaaj!!ajAAgJ&%*1WeAgxz(Ekekaaj!!ajAAgJ&ns"u~';ah'((h18^#44!|Hns"u~';ah'((h18^#44U8,,rcs<URb UR$[UR5[UR5p!SUSU4/n/nU(aUR 5upVpxUR XVXx5=uppU (aWUR U 5 XY:aXz:aUR XYXz45 X-U:a!X-U:aUR X-XjU -U45 U(aMUR5 S=n =p/nUH=unnnX-U:XaX-U:XaUU- nMU(aUR XU45 UUUpn M? U(aUR XU45 UR XS45 [[[RU55UlUR$Nr ) r$r.rrpopr>r+Zsortlistmapr Z_make)rlalbZqueuer$r7r8r9r:r/r;r<xi1j1Zk1Z non_adjacenti2j2Zk2s rget_matching_blocksZ#SequenceMatcher.get_matching_blockss&    +'' 'TVVc$&&kBRB !& Cc11#CE EGA!&&q)7swLL##!1239sLL!#saC!56e  R ) (JBBw"}Bb  '' 5R (     -ba[*#C \$BC###rcs>URb UR$S=p/=UlnUR5HcupEnSnX:aX%:aSnOX:aSnOX%:aSnU(aURXqXBU45 XF-XV-p!U(dMOURSXAXR45 Me U$)Nr replacedeleteinsertequal)r%rJr+)rr/r;Zansweraibjsizetag r get_opcodesZSequenceMatcher.get_opcodess: << #<<   "" v 446 9LBD Cv!& r247BGqt 68' 9( rc #sp# UR5nU(dS/nUSSS:Xa+USup4pVnU[XEU- 5U[XgU- 5U4US'USSS:Xa*USup4pVnX4[XTU-5U[XvU-54US'X-n/n UHwup4pVnUS:XaVXT- U:aNU RX4[XTU-5U[XvU-545 U v /n [XEU- 5[XgU- 5pdU RX4XVU45 My U (a![ U 5S:Xa U SSS:XdU v ggg7f)N)rOr r(r r(r rOr()rUmaxminr+r.) rr1ZcodesrSrFrHrGrIZnngroup rget_grouped_opcodesZ#SequenceMatcher.get_grouped_opcodes#s]2  "*+E 8A;' !"'( CRRCqDM2s2!t}b@E!H 9Q<7 ""') CRRRACqDMAE"I U#( 0 CRRg~"%"* cs2!t}b#bQ$-HI RAB1 B LL#22. / 0 #e*a-E!HQK7,BK-C5sD4D6cs[SUR555n[U[UR5[UR 5-5$)Nc3s(# UH oSv M g7f)rVNr).0Ztriplerr Z(SequenceMatcher.ratio..ksJVRjJs)ZsumrJrr.rr)rrrrratioZSequenceMatcher.ratioUs?,Jt/G/G/IJJTVVs466{)BCCrcsURc30=UlnURHnURUS5S-X'M URn0nURSpTURH;nU"U5(aX2nOURUS5nUS- X2'US:dM6US-nM= [ U[ UR5[ UR5-5$r3)r&rr6r4rrr.)rr&r0ZavailZavailhasrZnumbs r quick_ratioZSequenceMatcher.quick_rations ?? "+- -DOjvv =",..a"81"<  =__ !..'66 &C}}z!~~c1-EJax!A+ & TVVs466{)BCCrcs[UR5[UR5p![[ X5X-5$r)r.rrrrX)rrCrDr#rreal_quick_ratioZ SequenceMatcher.real_quick_ratios0TVVc$&&kB B RW55r) r&r,r-rrr%rrr$r))NrKrKT)r Nr N))__name__ __module__ __qualname____firstlineno__r rr!r"r'r>rJrUr[r^r_r`Z classmethodrZ__class_getitem____static_attributes__rrrrr,sWX>@ 34X%Nr-hE$N5n0dD2D: 6$L1rrcsUS:d[SU<35eSUs=::aS::dO [SU<35e/n[5nURU5 UHwnURU5 UR 5U:dM*UR 5U:dM@UR 5U:dMVURUR 5U45 My [X$5nUVVs/sHupvUPM snn$s snnf)Nr zn must be > 0: grzcutoff must be in [0.0, 1.0]: ) ValueErrorrr"r!r`r_r^r+ _nlargest)ZwordZ possibilitiesr1cutoffZresultsrEZscorerTrrrs: 6344 & C vGHH FAJJt * 1   6 ) ==?f $ 779  MM1779a. ) *q !F$ %(%A %% %s C/csDSRS[X555$)NrKc3sb# UH&upUS:XaUR5(aUOUv M( g7f) N)Zisspace)r\ZcZtag_cr#rr]Z$_keep_original_ws..s. Ac\aiikku4s-/)joinZzip)rjZtag_srr_keep_original_wsrms$ 77A  rcsB\rSrSrS SjrSrSrSrSrSr S r S r g) riNcsXlX lgrlinejunkcharjunk)rrorpr#rr ZDiffer.__init__*s(!  rc #st# [URX5nUR5HupEpgnUS:XaURXXbXx5n O]US:XaUR SXU5n OCUS:XaUR SX'U5n O)US:XaUR SXU5n O[ SU<35eU ShvN M gN 7f) NrLrM-rN+rOrk unknown tag )rrorU_fancy_replace_dumprg) rrrcruncherrSr7r8r9r:grZrcompareZDiffer.compareAs4#4==!7'/';';'=  #Cci''AJJsAC0JJsAC0JJsAC0 S!:;;LL  sB*B8,B6- B8c#sJ# [X45HnU<SX%<3v M g7f)Nrk)r5)rrSrEZloZhir/ rruZ Differ._dumpjs%r (A !$' ' (s!#c#s# Xe- X2- :a'URSXEU5nURSXU5nO&URSXU5nURSXEU5nXx4H n U ShvN M gN 7f)Nrrrq)ru) rrr7r8rr9r:firstZsecondrwrZr_plain_replaceZDiffer._plain_replaceosv 9sy ZZQS1EZZQS1FZZQS1EZZQS1F ALL  sA#A1%A/& A1c#s"# Supx[UR5n Sup[XV5Hn XLn U RU 5 [X#5HynXnX:XaU cXpMU R U5 U R 5U:dM:U R 5U:dMPU R5U:dMfU R5XnnnM{ M Xx:a%U cURXX4XV5ShvN gXSnnnOSn URXWXEW5ShvN UUUUnnU cS=nnU RUU5 U R5HpunnnnnUU- UU- nnUS:XaUSU-- nUSU-- nM+US:Xa USU-- nM;US :Xa US U-- nMKUS :XaUS U-- nUS U-- nMc[S U<35e URUUUU5ShvN OSU-v URUUS-X4US-U5ShvN gGNNN5N 7f)N)gGz?g?NNrrKrLZ^rMrqrNrrrOrkrs r()rrpr5r"r!r`r_r^r{ _fancy_helperrrUrg_qformat)rrr7r8rr9r:Z best_ratiorirvZeqiZeqjr;rQr/rPZbest_iZbest_jZaeltZbeltatagsbtagsrSZai1Zai2Zbj1Zbj2rCrDs rrtZDiffer._fancy_replace}sv*( "4==1 s HAB   b !3_ HT8{#$S!!"%,,.;**,z9nn&3191A1J! H H(  {..qssHHH),3JFFJC %%afafEEEvY& d ; EE   dD )+3+?+?+A @'S#sCsC#IB)#S2X%ES2X%EH_S2X%EH_S2X%EG^S2X%ES2X%E$%>?? @}}T4> > >+ %%a36!8SIIIQI F, ? Js[BHHH49H-H.$HH CHH *HH H H H Hc#s# /nX#:a-XV:aURXX4XV5nO,URSXU5nOXV:aURSXEU5nUShvN gN7f)Nrqrr)rtru)rrr7r8rr9r:rwrTrr~ZDiffer._fancy_helpersX  9y''AJJsAC0 Y 3,A sAAAAc#s# [X5R5n[X$5R5nSU-v U(aSUS3v SU-v U(a SUS3v gg7f)N- z?  + )rmrstrip)rZalineZblinerrrrrZDiffer._qformatsh "%/668!%/668Ul ugR. Ul ugR.  sA!A#)rpror|) rbrcrdrer rxrur{rtr~rrfrrrrrs*l!.'R( \J| !rrNz \s*(?:#\s*)?$csU"U5SL$rr)lineZpatrrrrs t9D  rcs X;$rr)ZchZwsrrrr%s 8Orcs|US-nX- nUS:XaSRU5$U(dUS-nSRX#5$Nr(z{}z{},{}formatZstartZstopZ beginningr r_format_range_unifiedr<sE I \F {{{9%% Q >>) ,,rc #s|# [XX#XEU5 Sn[SX5RU5GHn U(d^SnU(aSRU5OSn U(aSRU5OSn SRX*U5v SRX;U5v U SU Sp[ U S U S 5n[ U S U S 5nS RXU5v U HXunnnnnUS:XaUUUH nSU-v M M$US;aUUUH nSU-v M US;dMEUUUH nSU-v M MZ GM g7f)NFT {}rK --- {}{}{}z +++ {}{}{}r rVr(raz@@ -{} +{} @@{}rOrkrMrLrqrNrLrr) _check_typesrr[rr)rrfromfiletofile fromfiledate tofiledater1linetermstartedrYfromdatetodaterzlast file1_range file2_rangerSrFrHrGrIrs rrrGskRx8LG a*>>qA%G6Bv}}\2H2 +E!Hd1g> &&{JJ#( % CRRg~bH%D*$%++bH%D*$%++bH%D*$% %%s DD<D<csUS-nX- nU(dUS-nUS::aSRU5$SRX"U-S- 5$rrrrr_format_range_contextrsO I \F Q  {{{9%% >>)%7!%; <.IQ1a++IrNrarz --- {} ----{}c3r)rNrrr#rr]rrrrM)rdictrr[rrZany)rrrrrrr1rprefixrrYrrrzrrrSrFrHrrrrGrIs rrrsXx8L dD EFG a*>>qA1G6Bv}}\2H2 $$[;; I5I I I%* 1!RQ(? !"R1$SkD001 1 ,E!Hd1g> $$[(;; I5I I I%* 1!Q2r(? !"R1$SkD001 111sC.decodesK *88G%67 7 *G$$a)CC.c ) *s A *AA rr)rArBencode) Zdfuncrrrrrrr1rrlinesrr2rr r s* S^A S^AhH F^F,'L #JhH !,A PE6kk'#4556sA=A?cs6[X#5RX5$r)rrx)rrrorprrrrsF ( % - -a 33rc#sN^^^^# SSKnUR"S5m[XX45mSS/4U4SjjmUU4SjmU4SjnU"5nUc UShvN gUS- nSnSS/U-pSn U SLa%[U5upn X-nXU 4X'U S- n U SLaM%X:aSv UnOU nSn U(aX-nU S- n Xv US-nU(aMUS- nU(a/[U5upn U (aUS- nOUS-nXU 4v U(aM/MN![a gf=f![a gf=f7f) Nr z (\++|\-+|\^+)cs>X2==S- ss'UcX2URS5SS4$US:XaoURS5URS5pT/nU4SjnT RXu5 [U5H unupUSU S-U-XIU -S-XJS-nM" USSnO(URS5SSnU(dSnSU-U-S-nX2U4$) Nr(r r?csURURS5SUR5/5 URS5$)Nr(r )r+rYZspan)Z match_objectsub_inforrrecord_sub_infoZ3_mdiff.._make_line..record_sub_infos=!3!3A!6q!9,:K:K:M NO#))!,,rrk)r@ZsubZreversed) rZ format_keysideZ num_linestextZmarkersrrZkeyZbeginZend change_res r _make_lineZ_mdiff.._make_linefs. 1  OEIIaL$45 5  !IIaL%))A,'H6> - MM/ 2$,H#5 NKUAe}T)#-do=dB4:M N8D99Q<#D*$t+d2D%%rc3s>># /nSup[U5S:a,UR[TS55 [U5S:aM,SRUVs/sHo3SPM sn5nUR S5(aUnGOUR S5(aT"USS5T"USS 5S4v MUR S 5(aUS -nT"US S5SS4v MUR S 5(aT"US S5SpeUS - SpGOBUR S 5(aT"USS5T"USS 5S4v GM-UR S5(aT"USS5T"USS 5S4v GM]UR S 5(aUS -nT"US S5SS4v GMUR S5(aUS - nST"USS 5S4v GMUR S5(aST"USS 5peUS -SpO`UR S5(aUS - nST"USS 5S4v GM UR S5(aT"USSSS5T"USS 5S4v GM?US:aUS - nSv US:aMUS:aUS -nSv US:aMUR S5(agWWS4v GMs snf7f)N)r r TrZXrKr z-?+?rr(z--++rq)z--?+z--+rz-+?z-?+z+--rr)rz+-rkF)NrKrT)rNT)r.r+nextrlZ startswith) rZnum_blanks_pendingZnum_blanks_to_yieldrrj from_lineto_linerdiff_lines_iterators r_line_iteratorZ_mdiff.._line_iterators26/e*q. T"5s;<e*q.U3Ta34A||C  '9#f%% s1-z%A/FLLf%%#a'" s1-tT99344%/uS$;T'9KA9Ma$6e$$ tA. 5Q0GMMe$$ s1-z%Q/GMMc"""a'" s1-tT99e$$#a'"JuS3T99l++%):eC+B79KA9Ma$6c"""a'"JuS3T99c"" q$q1*U42J5PP&)#q(#))&)&)#q(#))&)||C  ,,M 4s%AJJ J"G# T"5n//p![U5S:Xd[U5S:Xa[[U5up4nUbURX545 UbURXE45 [U5S:XaMJ[U5S:XaM[UR S5up6UR S5upGX4U=(d U4v M![a gf=f7fr?)r.r StopIterationr+r@) Z line_iterator fromlinestolinesrr found_diffZfromDiffZto_diffrs r_line_pair_iteratorZ#_mdiff.._line_pair_iterators'( R'y>1$G a59-5H2I ($$i%;<&NNG#78y>1$G a#,--"2 I&{{1~ GX%89 9 %s3*CB?9C7C7C? C  C C  Cr(F)NNN)recompilerrr)rrcontextrorprrZline_pair_iteratorZlines_to_writeZindexZ contextLinesrrrr/rrrrs @@@@r_mdiffr<sD +,I (D78e6&pV-p:B-.%%% 1 #$dVW%5<J%59:L5M2I O#,z"B  %&&!(!& O "o%!# !. %QYN $59:L5M2I !)0&!+#j88%n= &%:!  sfA D%DD%-D;D%2D%D% 4DD% DD%DD% D"D%!D""D%an %(table)s%(legend)s aH table.diff {font-family:Courier; border:medium;} .diff_header {background-color:#e0e0e0} td.diff_header {text-align:right} .diff_next {background-color:#c0c0c0} .diff_add {background-color:#aaffaa} .diff_chg {background-color:#ffff77} .diff_sub {background-color:#ffaaaa}aZ %(header_row)s %(data_rows)s
a
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op
cs\rSrSr\r\r\r\rSrSSS\ 4Sjr SSS.Sjjr S r S r S rS rS rSrSrSSjrSrg)r ir iNcs4XlX lX0lX@lgr)_tabsize _wrapcolumn _linejunk _charjunk)rZtabsizeZ wrapcolumnrorprrr ZHtmlDiff.__init__s %!!rzutf-8)charsetcsUR[URURUR XX4XVS9US9-R US5R U5$)N)rnumlines)ZstylesZlegendtablerZxmlcharrefreplace)_file_templater_styles_legend make_tablerr)rrrfromdesctodescrrrrTr make_fileZHtmlDiff.make_files`&##d<<<<//)h*1"F '  6'. /w  @rcs^U4SjnUVs/sH oC"U5PM nnUVs/sH oC"U5PM nnX4$s snfs snf)Ncs>URSS5nURTR5nURSS5nURSS5RS5$)Nrkr r)rLZ expandtabsrr)rrs r expand_tabsZ2HtmlDiff._tab_newline_replace..expand_tabssS<<D)D??4==1D<<D)D<<S)006 6rr)rrrrrs` r_tab_newline_replaceZHtmlDiff._tab_newline_replacesK 74==4[&= =189;t$99  >9s7<csU(dURX#45 g[U5nURnXE::dXCRS5S-- U::aURX#45 gSnSnSnXu:aBXd:a=X6S:XaUS- nX6nUS- nOX6S:XaUS- nSnO US- nUS- nXu:aXd:aM=USUn X6Sn U(a U S-n SU-U -n URX)45 UR USU 5 g)Nrrar rKr(r>)r+r.rZcount _split_line) rZ data_listZline_numrrRrWr/r1ZmarkZline1Zline2 rrZHtmlDiff._split_lines)   h_ - 4y KdZZ%5a%78S@   h_ -   g!(w$QwQDQQQg!(RaR DLE4K%'E ()* 3u-rc#sT# UHup#nUcX#U4v MX#supVupx//pURXU5 URXU5 U (d U (dMPU (aU RS5nOSnU (aU RS5nOSnX#U4v U (aMEU (aMNM g7f)Nr )rKrk)rr@) rdiffsfromdatatodataflagZfromlineZfromtextZtolineZtotextfromlisttolistrr _line_wrapperZHtmlDiff._line_wrappers%* + HD|d**2: / X!V   Xx 8   V6 2ff'||AH'H#ZZ]F%Fd**(ff +sAB(AB(B(#B(cs@///pCnUH^upVnURUR"SU/UQ765 URUR"SU/UQ765 URU5 M` X#U4$![a% URS5 URS5 NGf=fr3)r+ _format_liner)rrrrflaglistrrrrTr_collect_linesZHtmlDiff._collect_lines.s$&b$) " HD $ 1 1!D C( CD d//$??@ OOD ! "x''  $% d# $sAA..,BBcs"SU-nSURU<U<S3nURSS5RSS5RS S 5nURS S 5R5nS U<SU<SU<S3$![a SnNof=f)Nz%dz id="Z"rKZ&z&rz>Zz)_prefixrrLr)rrrZlinenumrZidryrrZHtmlDiff._format_lineCs WnG!%d!3GnFz2 No Differences Found z( Empty File z!fz#t)rr.r*rW)rrrrrrrnext_id next_hrefZnum_chgZ in_changerr/rs r_convert_flagsZHtmlDiff._convert_flagses<<?$s8}$DX& %) "FA $IDQqzN+A!:h=O!OGJqLG&J!N+'+IO!" ! "$wHdGIDPQ!%O$PP{>IIaL?8L x'99rc s`UR5 URX5upU(aUnOSn[XXpRURS9nUR (aUR U5nURU5upn URXXU5uppn /nSn[[U 55HKnU UcUS:aURS5 M"M$URXUU UU UU UU U4-5 MM U(dU(aSS<SU-<S<SU-<S3nOS nUR[S RU5UURS S 9-nUR!S S 5R!SS5R!SS5R!SS5R!SS5$)NrnzV %s%s%s%s r z) z z!
z+%sz rKr()Z data_rows header_rowrz+zz-zz^zrzrr)rrrrrrrrrr5r.r+_table_templaterrlrrL)rrrrrrrZ context_linesrrrrrrrjZfmtr/rrr=rrZHtmlDiff.make_tables( !55iH  $M My#~~/   &&u-E$(#6#6u#= 6:5H5H HX6727 7s8}% DA{"q5HHJK#IaL!+4Q<q !CCD D v3=H3=F HJ J$$tggaj!<<?($$ }}U#<=WU#<=WU#<=WT),WT(+  ,r) rrrrrrrrrr)rKrKFi)rbrcrdrerrrrrrr rrrrrrrrrrfrrrr r sz $NG%OGO4+""AC*+@8?@6!.5.n+8(*#. --:^INK,rr c#s# SSS.[U5nSU4nUHnUSSU;dMUSSv M g![a [SU-5Sef=f7f)Nrr)r(rz)unknown delta choice (must be 1 or 2): %rr}r)ZintZKeyErrorrg)ZdeltaZwhichrSZprefixesrrrrrs{,.4 U,c{H 8x qr(N .D"#$)- ..sA5A AAAcs4SSKnSSKnURU5$r?)doctestdifflibZtestmod)rrrr_testrs ??7 ##rZ__main__)rag333333?)z )rKrKrKrKrar)rrrrras )%Z__all__Zheapqr rhZ collectionsrZ _namedtupleZtypesrr rrrrmrrrZmatchrrrrrrrr rrrrrrZobjectr rrrbrrrrs: >(1GZ( k 2k 2\.&bl!l!~  ::&67==! . -=?.2B%R =,.?CJ1XK"25?D6<(9#4J(,d%K\ ( 0 "],v],~ @$ z Gr