u:GQGddZGddZGddZGddZGdd eZd Zd Zd Zd ZdZ dZ dS)c&eZdZdZdZdZdZdS)Graphc"||_||_dSN)objectsarrowsselfrrs /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/guppy/etc/Cat.py__init__zGraph.__init__s  c(|j|dS)Nrr xs r sourcez Graph.source{1~a  r c(|j|dS)Nrrs r targetz Graph.target rr c|j}tdt|jD}|||S)Nc&g|]\}\}}|||ffSr).0arrowsrctgts r z"Graph.get_dual..s?MMM.E:CSz*MMMr )rdictlistritems __class__rs r get_dualzGraph.get_dual se,MM26t{7H7H7J7J2K2KMMMNN~~gv...r N)__name__ __module__ __qualname__r rrr#rr r rrsP!!!!!!/////r rceZdZdZdZdS)Catc"||_||_dSr)graph relationsr r*r+s r r z Cat.__init__s  "r c|j}t|j}|||Sr)r*r#dual_relationsr+r"r,s r r#z Cat.get_duals8 ##%%"4>22 ~~eY///r N)r$r%r&r r#rr r r(r(s2###00000r r(ceZdZddZdS)FunctorNcrt||_t||_||_||_dSr)adapt_functionfofarr)r r3r4rrs r r zFunctor.__init__$s2 $$ $$r )NNr$r%r&r rr r r0r0#s(r r0c>eZdZdZdZdZdZdZdZdZ dZ d S) Functionct|dd}t|rn |}t|std||_||_||_dS)N __getitem__z.Function: map is neither callable or indexable)getattrcallable TypeErrorfrr)r maprrr=s r r zFunction.__init__,sj C - - A;; F AA;; FDFFFr c|j|Srr=)r argss r r9zFunction.__getitem__9stvt}r c|j|i|Srr@)r rAkwargss r __call__zFunction.__call__<stvt&v&&&r cF|jd|jd|jd|jdS)N(z, ))r"rrr=r s r __str__zFunction.__str__?s)#'>>>4888TXXXtvvvNNr cDtfdjDS)Nc$g|] }||f Srrrrr s r rz#Function.asdict..Cs!444aaa\444r )rrrHs`r asdictzFunction.asdictBs(444448444555r c*fdjDS)Nc$g|] }||f SrrrLs r rz"Function.items..Fs!///DG ///r )rrHs`r r!zFunction.itemsEs////dh////r c*t|jSr)r rrHs r keysz Function.keysHsDH~~r cXdt|DS)Ncg|]\}}|Srr)rkvs r rz#Function.values..Ls333fq!333r )r r!rHs r valueszFunction.valuesKs&33TZZ\\ 2 23333r N) r$r%r&r r9rDrIrMr!rQrVrr r r7r7+s   '''OOO66600044444r r7ceZdZdZdS)Identityc@td||dS)Nc|Srr)rs r z#Identity.__init__..QsAr )r7r )r rs r r zIdentity.__init__Ps"++sC00000r Nr5rr r rXrXOs#11111r rXc (|j}|jD]}|||vr)td|d||d|||vr)td|d||ddS)NArrow z has source z not in graph objectsz has target )rrr ValueErrorr)GGobas r check_graphrbTs )C XRRxx{{c!!*ABAHHQKKKKPRR Rxx{{c!!*ABAHHQKKKKPRR R" RRr cg}|D]/\}}||||0|D]}d}|D]}||jvrtd|d|n||||krBtd|d||d|d||d |}dS)Nr]z&, used in a rule, is not a valid arrowzSource of arrow z (z!) does not match target of arrow rG)appendrr^rr)Rr_comsleftrightcoma0ras r check_rulesrkbs D u D E     A   jHIKMMM~88A;;!((2,,..$*188A;;;;AHHRLLLL&:;;;BB   r cbt|jt|j|jdSr)rbr*rkr+)Cs r check_catrnxs, QW%%%%%r c>tt|||Sr)r(r)rrr+s r oarcatrp}s uWf%%y 1 11r c t|tsmt|trCt|}t|}nd}d}t|||}|Sr) isinstancer7rr rQrV)r=rrs r r2r2sp a " "" a   qvvxx..Cqxxzz""CCCC QS ! ! Hr cg}|D]|\}}t|}t|}|||t|t|f}|Sr)r reverserdtuple)r+dualrabs r r.r.su D**A GG GG   U1XXuQxx()))) Kr N) rr(r0r7rXrbrkrnrpr2r.rr r rxs7////////$ 0 0 0 0 0 0 0 0 !4!4!4!4!4!4!4!4H11111x111 R R R,&&& 222    r