rustF#rustc 1.72.0 (5680fa18f 2023-08-23) }ޱL{ :-8f88c761e33f2651ՆQ4-46a989d0e2cef827e$ɛDp>-b114db70ea0690b1rustc_std_workspace_core ūu sR-13da980d6c74fec5YnFmZܝ--649be05783c8912epWĪ9/-f002c8f83a289c4b &c~~*ĽVa-682387162b570769cfg_ifz$kdgK!--05a2cedbb78c1d4f miniz_oxidePnzn )m-9c3df673b2797081adlerA%lon  2-c6afbee8d1102512 hashbrown8*^| -356231f77d1e268arustc_std_workspace_allocL%gqG-80ed5799bf463787 std_detecta^Ʒc -1bccb7a942e1b311rustc_demanglekŗ,N/ST%L)-bc6864da821ce9a2 addr2line2Ȃ']51:.-4930b3dc482158f7gimli~2)F25˼-65bea4bb6af40828object^]UVW-919f89587cbed68dmemchrk/YO+-c6624cb4360306cdBhnge],Q-f9018f9cee1cc5fftests    LabelText'aLabelStr   EscStr   HtmlStr  as_sliceIdNameis_letter_or_underscoreis_constituentin_range Labeller   E graph_id node_id  node_shape  node_label  edge_label  node_style  node_color edge_end_arrow edge_start_arrow  edge_style  edge_color  escape_html113S1escaped5 1html7 1 escape_char9F1 escape_str; 1escape_default= 1 to_dot_string1pre_escaped_content1 prefix_line1 suffix_lineD is_defaultD<DDnormalD from_arrowD K KintoN NQ QT V  XXXboxedXcrowXcurveXicurveXdiamondXdotXinvXteeXveeX NodeseeEdgeshh  kkedgeop GraphWalknnn nnodesnedgesnsourcen default_optionsrenderwww wGwW render_opts}}} }}}writeln}indentStyle  Invisible Solid Dashed Dotted Bold Rounded  Diagonals Filled Striped Wedged    ArrowarrowsFillOpen  Side  Both  !"#$% ArrowShapeNoArrow Normal   Box   Crow  Curve  ICurve   Diamond   Dot  Inv   Tee  Vee  &'()*+,KindDigraph Graph -./0123 RenderOption NoEdgeLabels  NoNodeLabels  NoEdgeStyles  NoEdgeColors  NoNodeStyles  NoNodeColors NoArrows 456789:%7&7'7(7)7*7+7,7-7.7/707;7=7?7A7B7E7J7d7l7m7t7u7w7}7}77777777777777777777777777777777777777777777777777 n   Cʱ""""""G"Fh9]I$$$$$$                  zl$$'$$'$y?g'I''''''$5jk](I(((((($$I$$$$$$ @:))))))G)u2"******G*NQK1G1I 111YYY"Y "YYYY  Y  Y YY Y Y Y /Y /Y Y 0Y Y Y  __self_tagY  __arg1_tagY Y YYY/YYYsss s  Borrowed Owned Ym||ssss s s  2 s s s s ^ st t t 9CharsXޛJ" tt  s t   *ܑ11t t tt   tt t uuu :5 u7  uu Iu u 511vvvu u 51uyyyyry y rsst+   'w51s2r2s5s  s ;s  2s  {-Pt  5t 0tt tttIuu<u5u2vyrscharss ct =t r        I,ftԕ&P {-P> ʂ Ԃʂ_nodeԂP %@@    '҄`> @@25n҄`χχ;χ ҇ ;2҇Ƈ ߇(m3> @ A2χ ;χ_ignoredmވ )D"Έ@@È_nÈD >*P?@͊@׊͊?׊P FԌ+M$@DMG,̍O$@D̍O -D"@DD >ȑ.M?@DM Ȓ/4)@4Õ  2Õ Е3\> M2 \M 5֕\> M2 ֕\M 7[> Mۖ2 ۖ[\ #      KK 8 EscapeDefault " T% GO KKJ@K KK 9S  KK K   ƙ ƙ  ƙƙR  ƙK   ƙ9J@$1ƗR RRSKSSK1K;K SK0J@VƙRƙ=K=   888 *&j5d9e  +<1 < R1XX=X _ref__outQ>S >Z RS1=ͩ444buf040bW`($666Global 7C\ wͩͩ \ͩ $ $\ͩ \ͩͩ\ͩͩ I\ͩ1^ _^ͩ ͩ\ͩ\ͩͩ \\ͩ  ^ ^ ^ͩ^ͩ   1^'L'2'O'3'R'4"""'" '"""$ $$$ I0_$$$$1$f$_$0$ 0$$ $0$$%  %  % %% % % % f% f% 0% 0% % % 0% 0% % &&1&f&&&'޹''޹('޹ ('޹'޹'޹) )))g))))1)k)_)0)h)) )0))*  *  * ** * * * k* k* 0* 0* * * 0* 0* * ++1+k+++,,,,,$, $,,,. ...g.. .   .'.(.. I'_ ... I(_.. '. (..s  ...t .. (..t ..(..t..'.(..s ...t..'.(..s ...t..'..s..'.(. .s.. .t.. (. .t.. (. .t.. ............1.q._.0.1.h.0.f.k.1.f.k.1.k.k.f.k.1.f.k.1.f.f.k.1.k.k.. .0.__self_0.__self_1.. . . ....... . . . ../  /  / / / / / /  / ;q/  ;/    // / / -/ <q/  </ / =q/  =/  / >q/  >/  / ?q/  ?/  / @q/  @/  / Aq/  A/   / Bq/  B/ %/ Cq/  C/ &/ Dq/  D/  +/ Eq/  E/  ,/Fq/F'/Gq/G(/Hq/H'/Iq/I(// ''////-// ((////-/Jq/J'/Kq/K(/Lq/L'/Mq/M(//////-//Ȋ////-/Nq/N(/Oq/ O(//Ȋ -//Pq/!P(/Qq/"Q(//Ȋ!"-//Rq/#R'/Sq/$S(/Tq/%T'/Uq/&U(//#%'////-//Ȋ$&(//'/(/-/Vq/)V'/Wq/*W(/Xq/+X'/Yq/,Y(//)+-#////-//Ȋ*,.$//-!"/./-/Zq//Z'/[q/0['/ //0-//\q/1\'/]q/2](/^q/3^'/_q/4_(/ /135)// // -/ /Ȋ246*// 5'(/ 6/ -/`q/7` (/aq/8a (/ /Ȋ78-//bq/9b (/cq/:c (/ /Ȋ9:-// /  / / / / / / / / / / / / / d/ q/ q/ 0/ 0/ / / qq/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ 0/ f/k/f/k///f/k/f/k///k/k/k/k/f/k/f/k///f/k/f/k///f/f/f/k/f/k///k/k/k/k/q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ q/ "/ / 0/ 0/ //__arg1_0/__arg1_1/////// /!/"/#/$/%/&/)/*/+/,/ // 0/ 1/ 2/ 3/ 4/ 7/ 8/ 9/ :/ 000010q000222)2 )2223  3  3 33 3 3 3 3 3 03 03 3 3 03 03 3 4414444777*7 *7778  8  8 88 8 8 8 8 8 08 08 8 8 08 08 8 9919999w  *'  *  }w   'w1 <[Zd  ޴gw *w@tY@tY@tY@tY@tY@tY@tY@tY@tY@tY@tY@tY /    l     ;  $     {;8 ;  99  ;E EE @tY@uY@v Y@vY  @v YE@vY @u=Y 1@vY  r  1 2 Ym||   V UU 8NNIterNMNMN_markerMjg(+UUT UUU 9UU U   ! TK " !AtY"AuY#!Av YAvY#$Av Y  %% Au=Y 1$  ') ()  ?(' &')B" . ;'B" / B" B" w./0B"B" 1 0 3% 32 B  1UniqueEO+7NonNull#CC8f B   1B   'B   ;B  B 'B   B  B 'B   }-  W*5%. 4 5W. 4# 7+ 8 [label=;  5;\786  :+  X&<! ;< :;9"  >+ ?]; >?=    )@$  }- C(%F AFF ' E@  }/  ""ED)XF A.*. B CF B%&F ADF ' G+ H [style="; GHF+ J+ M@  ML,  KL JKI- O+ P"]; OPN    *Q/  }-S0%.R SY.R81T QT28UQ>WU WV3    VY+ Z [color=;YZX4\+ _   _^5  ]^\][6a+b];ab`7 U8  &c9 d cd:ec>ge gf;*fi+ j [shape=;ijh<l+o*on=mnlmk> q+r];qrp? ey+ 444[040bW`(;\yxAwxwvBz vDtYzDCDuY{vDv YDvY{|EDv Y  Q Du=Y 1|  Q  G 'H%IJT   sL 1 2 Ym|| M V~N[[ 8NNNMNMNMjg(+~}O[[}ZP[[[ 9Q[[ [SR   (T Z U V ,Ẁ΀ +X΀  JY Z݁ ݁[݁ ݁  EtY]\EuYEv YEvY^Ev Y  t_ Eu=Y 1  u` ςłǂaǂbF"" ;'F"" F""F"cF"F"    d   ;ك ۃeۃك ك  mfك   ;  g  F  EO+7#CC8f F  F   'F   ;F  F 'F   F  F 'F  „!„}-!i%.! ].!nj! ! [label=;!k! ! l  !!m!!];! !  -o #}-#s%F#FF#r# # }/#t^F#yu.# F#pqF#F#rՆ#߆ #߆ [style=";Ն#چvچ###w ##x##"];# Ӈ#Շ  .zՇ #$}-${%.$ _.$|% %}%%>%% ~Ո %Ո Ո %% % [color=;%% % %   %%Չ%߉%߉];Չ%ډډ $$})$!p$pp$Ŋ$Ŋ$ъ  Eъ `p$*$ p$Ê6$Ê6Ê6$$$  p$p$Ċ$ Ê6$$ Ê6$Ê6$$$[;$ $$  $ a$ы$ۋ$ۋ arrowhead=" ;ы$֋֋$ $ $   $$$$";$ Ԍ$Ԍ$  ӌ$ bӌ$'$$ dir="both" arrowtail=";'$"$$$$$$$";$ $$];$ $$;;$ ڎ$ڎ$ڎڎڎ$ώ$ώώώ$ HtY$HuY$Hv Y'HvYHv Y# #Hu=Y' 1# #ZP} Z  '%T$ ZeU +')%T@vYt+u;;tus@ c> c  +F  Q> *G J# ##># ##>  +  Q> * ##># #F F F   l*\F  Q>  Q B 1B B   l*\B *  F   ;F" F"   l*\F  F  );\hF B   ;2B" -1B" ,-B  B ѫ,+B  # .!n#y$$$F B }(@u&Y@uYT   Au&YAuY  B"   Du&YDuYZ  Eu&YEuY      F" ؅ !LJ#È$Hu&Y$HuY$ʵȶٶ޴ʵE9 ;'98;;);;; 55 ;0@uY@uY@v YU  ׿׿ U {-PU U0T X ʵ 0AuYAuYAv Y5 XX >>X  B"B"'B"'B" B"B";  W.-1 ; 1;;1;" XF.-/1; 1;;"1;? Y.-0>X1; 1; ;  1;?0>X1; 1;;1;1;ʵ 0DuYDuYDv Y[ ƿ  [ {-P[ [0ZX  X>$ $ X ^X ^ʵ݁ 0EuYEuYEv Y5 ς5  F"F"'F"'F"F"F";;;ك;كك)ك;;;].-1; 1; ; 1;"܅!^F.-/1ՆՆ;߆ 1;;"1;?ˇ#_.-0>%X1; 1; ;  1ՉՉ;߉`p*)Ê6ĊŊ^Ŋ^1;a^1ыы;ۋ1; ;  1;bӌԌ^Ԍ1'';1;;1;1;1;ʵώڎڎڎ0HuYHuY$Hv Y/   $$/ ##„!000000 F1F0 B1BB"F"F  'F  'F  'F  'F  F  B  'B  'B  'B  'B  B  ( @uY1err@uYUA colorstring   AuY1AuY#id%  &shape *text +style @colorQ=U e DuY1DuY{[  escaped_label  start_arrow  end_arrow  start_arrow_s  end_arrow_s  EuY1EuY  source_id  target_id !܅#ˇ$=% HuY&1HuY'  }*    }/ "   }* }* }LJ* }LJ*    }؅ / "   }؅ *Ä „„} „*Ä„}; ;} ;; dd 8ddcFddd 9NNNMNMNMjg(+;dd d ;  ^  d?Y?Y G ?Y      =tY  =uY  =v Y=vY  =v Y=u=Y 1 >.Y> Y  >)YcF8=u&Y=uYʵ dd {-Pd d0cF;ʵ    0=uY=uY=v YIpiecesEEE4&w\NF?Ydargd  =uY1=uY  ; ; ' UʵUQ Q Q>Q2QQQ Q Q>Q2QQU U U>U2UUU U U>U2UUX XX>X2XXX XX>X2XX $'( $'( $'( $'( $( $( $( $( $'( $'( $'( $'( $' $' $'( $'(  $(  $(  $(  $( 0ehnvw} oOioOQ Q U U XXBufReadReadSeekWriteCCCCCCCCCCCCCCCCCCCCCCJ Generate files suitable for use with [Graphviz](http://www.graphviz.org/)MG The `render` function generates output (e.g. an `output.dot` file) forJD use with [Graphviz](http://www.graphviz.org/) by walking a labelledGD graph. (Graphviz can then automatically lay out the nodes and edgesGB of the graph, and also optionally render the graph as an image orE other [output formats](? http://www.graphviz.org/content/output-formats), such as SVG.)BD Rather than impose some particular graph data structure on clients,GD this library exposes two traits that clients can implement on theirG@ own structs before handing them over to the rendering function.C ; Note: This library does not yet provide access to the full >& expressiveness of the [DOT language]( )D http://www.graphviz.org/doc/info/lang.html). For example, there are GD many [attributes](http://www.graphviz.org/content/attrs) related to GB providing layout hints (e.g. left-to-right versus top-down, which ED algorithm to use, etc). The current intention of this library is to GE emit a human-readable .dot file with very regular structure suitable H for easy post-processing.   # Examples  E The first example uses a very simple graph representation: a list of HB pairs of ints, representing the edges (the node set is implicit). EH Each node label is derived directly from the int representing the node,K- while the edge labels are all empty strings.0> This example also illustrates how to use `Cow<[T]>` to returnAE an owned vector or a borrowed slice as appropriate: we construct theH@ node vector from scratch, but borrow the edge list (rather thanC4 constructing a copy of all the edges from scratch).7E The output from this example renders five nodes, with the first fourHF forming a diamond-shaped acyclic graph and then pointing to the fifthI which is cyclic. ```rust  use std::borrow::Cow; use std::io::Write; type Nd = isize; type Ed = (isize,isize); struct Edges(Vec);- pub fn render_to(output: &mut W) {0G let edges = Edges(vec!((0,1), (0,2), (1,3), (2,3), (3,4), (4,4)));J) dot::render(&edges, output).unwrap(), }/ impl<'a> dot::Labeller<'a, Nd, Ed> for Edges {2O fn graph_id(&'a self) -> dot::Id<'a> { dot::Id::new("example1").unwrap() }R2 fn node_id(&'a self, n: &Nd) -> dot::Id<'a> {52 dot::Id::new(format!("N{}", *n)).unwrap()5 } 0 impl<'a> dot::GraphWalk<'a, Nd, Ed> for Edges {3+ fn nodes(&self) -> dot::Nodes<'a,Nd> {., // (assumes that |N| \approxeq |E|)/" let &Edges(ref v) = self;%5 let mut nodes = Vec::with_capacity(v.len());8 for &(s,t) in v {* nodes.push(s); nodes.push(t);- }  nodes.sort(); nodes.dedup(); Cow::Owned(nodes)Ѣ . fn edges(&'a self) -> dot::Edges<'a,Ed> {1& let &Edges(ref edges) = self;)" Cow::Borrowed(&edges[..])%Ѣ + fn source(&self, e: &Ed) -> Nd { e.0 }.+ fn target(&self, e: &Ed) -> Nd { e.1 }./ # pub fn main() { render_to(&mut Vec::new()) }2 ``` ```no_run J # pub fn render_to(output: &mut W) { unimplemented!() }M pub fn main() { use std::fs::File;7 let mut f = File::create("example1.dot").unwrap();: render_to(&mut f)/ Output from first example (in `example1.dot`):2 ```ignore  digraph example1 { N0[label="N0"]; N1[label="N1"]; N2[label="N2"];  N3[label="N3"];  N4[label="N4"];  N0 -> N1[label=""];  N0 -> N2[label=""];  N1 -> N3[label=""];! N2 -> N3[label=""];! N3 -> N4[label=""];! N4 -> N4[label=""];!!!"F The second example illustrates using `node_label` and `edge_label` to"IC add labels to the nodes and edges in the rendered graph. The graph"FA here carries both `nodes` (the label text to use for rendering a#DA particular node), and `edges` (again a list of `(source,target)`#D indices).$ $G This example also illustrates how to use a type (in this case the edge$JG type) that shares substructure with the graph: the edge type here is a%JE direct reference to the `(source,target)` pair stored in the graph's%H? internal vector (rather than passing around a copy of the pair&B? itself). Note that this implies that `fn edges(&'a self)` must&BI construct a fresh `Vec<&'a (usize,usize)>` from the `Vec<(usize,usize)>`'L edges stored in `self`.'(< Since both the set of nodes and the set of edges are always(?F constructed from scratch via iterators, we use the `collect()` method(IF from the `Iterator` trait to collect the nodes and edges into freshly)I9 constructed growable `Vec` values (rather use the `into`)<: from the `IntoCow` trait as was used in the first example*= above).* *A The output from this example renders four nodes that make up the*D@ Hasse-diagram for the subsets of the set `{x, y}`. Each edge is+CG labelled with the ⊆ character (specified using the HTML character+J entity `&sube`).,,, ,, type Nd = usize;," type Ed<'a> = &'a (usize, usize);-%E struct Graph { nodes: Vec<&'static str>, edges: Vec<(usize,usize)> }-H.ڞ.00 let nodes = vec!("{x,y}","{x}","{y}","{}");.32 let edges = vec!((0,1), (0,2), (1,3), (2,3));.56 let graph = Graph { nodes: nodes, edges: edges };/9/) dot::render(&graph, output).unwrap()/,003 impl<'a> dot::Labeller<'a, Nd, Ed<'a>> for Graph {06O fn graph_id(&'a self) -> dot::Id<'a> { dot::Id::new("example2").unwrap() }0Rա151 dot::Id::new(format!("N{}", n)).unwrap()14Ѣ2 @ fn node_label<'b>(&'b self, n: &Nd) -> dot::LabelText<'b> {2C8 dot::LabelText::LabelStr(self.nodes[*n].into())2;Ѣ3 @ fn edge_label<'b>(&'b self, _: &Ed) -> dot::LabelText<'b> {3C2 dot::LabelText::LabelStr("⊆".into())35Ѣ4 444 impl<'a> dot::GraphWalk<'a, Nd, Ed<'a>> for Graph {47M fn nodes(&self) -> dot::Nodes<'a,Nd> { (0..self.nodes.len()).collect() }4PP fn edges(&'a self) -> dot::Edges<'a,Ed<'a>> { self.edges.iter().collect() }5S6.6.66ͩ62777 7M887 let mut f = File::create("example2.dot").unwrap();8:8999E The third example is similar to the second, except now each node and9HG edge now carries a reference to the string label for each node as well9JD as that node's index. (This is another illustration of how to share:GC structure with the graph itself, and why one might want to do so.):F;D The output from this example is the same as the second example: the;G3 Hasse-diagram for the subsets of the set `{x, y}`.<6<< << type Nd<'a> = (usize, &'a str);<# type Ed<'a> = (Nd<'a>, Nd<'a>);=#=H>ڞ>0>3>5ڿ?9??,@@7 impl<'a> dot::Labeller<'a, Nd<'a>, Ed<'a>> for Graph {@:O fn graph_id(&'a self) -> dot::Id<'a> { dot::Id::new("example3").unwrap() }@R6 fn node_id(&'a self, n: &Nd<'a>) -> dot::Id<'a> {A93 dot::Id::new(format!("N{}", n.0)).unwrap()A6ѢB D fn node_label<'b>(&'b self, n: &Nd<'b>) -> dot::LabelText<'b> {BG let &(i, _) = n;B7 dot::LabelText::LabelStr(self.nodes[i].into())C:ѢC D fn edge_label<'b>(&'b self, _: &Ed<'b>) -> dot::LabelText<'b> {CGD5ѢD DD8 impl<'a> dot::GraphWalk<'a, Nd<'a>, Ed<'a>> for Graph {D;2 fn nodes(&'a self) -> dot::Nodes<'a,Nd<'a>> {E5@ self.nodes.iter().map(|s| &s[..]).enumerate().collect()ECѢF 2 fn edges(&'a self) -> dot::Edges<'a,Ed<'a>> {F5 self.edges.iter()F3 .map(|&(i,j)|((i, &self.nodes[i][..]),F64 (j, &self.nodes[j][..])))G7 .collect()GѢG 3 fn source(&self, e: &Ed<'a>) -> Nd<'a> { e.0 }H63 fn target(&self, e: &Ed<'a>) -> Nd<'a> { e.1 }H6HHͩH2III IMJJ7 let mut f = File::create("example3.dot").unwrap();J:KKKK # ReferencesKK' * [Graphviz](http://www.graphviz.org/)K*K= * [DOT language](http://www.graphviz.org/doc/info/lang.html)K@L L LLLL L L  LLL L LLLMMMN M MM MM%https://doc.rust-lang.org/favicon.icoM'N N N"https://doc.rust-lang.org/nightly/N$L 0ehnvw} oOޅOQ Q U U XXLJCCCCCCCCCCCCCCCCCCCCCCNNOOOOO1 The text for a graphviz label on a node or edge.O4O        I,ftԕI,ftԕ  1 2 Ym|| OOQ6 This kind of label preserves the text directly as is.O9P> Occurrences of backslashes (`\`) are escaped, and thus appearPA& as backslashes in the rendered label.Q)Q QQ Q Q U; This kind of label uses the graphviz label escString type:Q>1 http://www.graphviz.org/content/attrs#kescStringR4R? Occurrences of backslashes (`\`) are not escaped; instead theyRB< are interpreted as initiating an escString escape sequence.S?S= Escape sequences of particular interest: in addition to `\n`S@? to break a line (centering the line preceding the `\n`), thereTB< are also the escape sequences `\l` which left-justifies theT?2 preceding line and `\r` which right-justifies it.U5U UU U U X> This uses a graphviz [HTML string label][html]. The string isVA8 printed exactly as given, but between `<` and `>`. **NoV; escaping is performed.**WW9 [html]: http://www.graphviz.org/content/node-shapes#htmlW<X XX X X [ "[%[" [l `Id` is a Graphviz `ID`.ll  *ܑ *ܑllmm1 2 Ym||m  *ܑmmrF Creates an `Id` named `name`.m!m5 The caller must ensure that the input conforms to anm8< identifier format: it must be a non-empty string made up ofn?< alphanumeric or underscore characters, not beginning with an?> digit (i.e. the regular expression `[a-zA-Z_][a-zA-Z_0-9]*`).oAo9 (Note: this format is a strict subset of the `ID` formato<> defined by the DOT language. This function may change in thepA= future to accept a broader subset, or the entirety, of DOT'sp@ `ID` format.)qq8 Passing an invalid string (containing spaces, brackets,q;/ quotes, ...) will return an empty `Err` value.r2r2   'w1 2r21 2 Ym||r 2rrrv+v6=vw"w7=wx3x lowx=xhighxy$y   yy!y y~= Each instance of a type that implements `Label` maps to az@A unique identifier with respect to `C`, which is used to identifyzD: it in the generated .dot file. They can also provide more{=C elaborate (and non-unique) label text that is used in the graphviz{F rendered output.|C The graph instance is responsible for providing the DOT compatible|FM identifiers for the nodes and (optionally) rendered labels for the nodes and}P6 edges, as well as an identifier for the graph itself.}9~ !" # "!#@~A~ $%&'()*+,-./$%&'()*+,-./~~~~~~~ : Must return a DOT compatible identifier naming the graph.~= !@  *ܑ!  $@!@Aр&< Maps `n` to a unique identifier with respect to `self`. The?? implementer is responsible for ensuring that the returned nameB is a valid DOT identifier.Ԁ7 7@  %@!@AA;> Maps `n` to one of the [graphviz `shape` names][1]. If `None`A0 is returned, no `shape` attribute is specified.Á31 [1]: http://www.graphviz.org/content/node-shapes4 7 7@ {-P       I,ftԕ! ۂ &@!@A΂?Ԃ҄/> Maps `n` to a label that will be used in the rendered output.A? The label need not be unique, and may be the empty string; the؃B+ default is just the output from `node_id`..Մ 7 7@  '@!@AA/> Maps `e` to a label that will be used in the rendered output.AҐB% default is in fact the empty string.ņ( 7 7A  (@!@A(> Maps `n` to a style that will be used in the rendered output.A 7 7@" Lj )@!@AEÈ;> Maps `n` to one of the [graphviz `color` names][1]. If `None`A0 is returned, no `color` attribute is specified.3< [1]: https://graphviz.gitlab.io/_pages/doc/info/colors.html?Š 7 7@ ފ *@!@Aъ?׊,A Maps `e` to arrow style that will be used on the end of an edge.D! Defaults to default arrow style.ދ$7 7A$  +@!@A̍.ڌDƙ$ύ7 7A$  ,@!@A(> Maps `e` to a style that will be used in the rendered output.A 7 7A"  -@!@A8> Maps `e` to one of the [graphviz `color` names][1]. If `None`A3? 7 7A  .@!@A0 The kind of graph, defaults to `Kind::Digraph`.Α37 7@)  /@!@A%A Escape tags in such a way that it is suitable for inclusion in a̒D Graphviz HTML label. 7 7X 0 ה22       I,ftԕ23579;=?@ABܔܔ9M1 441MM1 2 Ym||2 32M ֕;ݕM1 661 52M 9M1 881Ėǖ 72M ۖĖĖA R11 ::1RRRϗ RR1ϗ 92R=  7 7X11 ;2 ;<<<<;Z$7 7X1қ1 =2 ϛ=>>>>=[%< Renders text as string suitable for a label in a .dot file.?- This includes quotes or suitable delimeters.0 7 7X11 ?2,11 @2̡AG Puts `prefix` on a line above this label, with a blank line separator.J 7       I,ftԕ7       I,ftԕ1Ԥ 1 A2Ƥprefix̤AG Puts `suffix` on a line below this label, with a blank line separator.J 7       I,ftԕ71 1 B2suffix $EFGHIJʪͪ 7 7$DتD٪˫0 Arrow constructor which returns a default arrow3ҫ$DDG߬/ Arrow constructor which returns an empty arrow2$DD GL Arrow constructor which returns a regular triangle arrow, without modifiersO$DD Hӯ-H Arrow constructor which returns an arrow created by a given ArrowShape.Kگ $$DD Iarrow%< Function which converts given arrow into a renderable form.ɰ? 7 7$XDDѲ$$M'$$KK M$'P''$NN P$'S''$QQ S 'U̷%ӷ'TT Uܷ (Wú%ʺ(VV WӺ$YZ[\]^_`abcd$ Constructor which returns no arrow.'$XX Y( Constructor which returns normal arrow.+$XX Z/ Constructor which returns a regular box arrow.2$XX [0 Constructor which returns a regular crow arrow.3$XX \1 Constructor which returns a regular curve arrow.4$XX ]3 Constructor which returns an inverted curve arrow.6$XX ^+ Constructor which returns a diamond arrow..$XX _1 Constructor which returns a circle shaped arrow.4$XX `6 Constructor which returns an inverted triangle arrow.9$XX a, Constructor which returns a T shaped arrow./$XX b, Constructor which returns a V shaped arrow./$XX c%F Function which renders given ArrowShape into a String for displaying.I 7 7$XXX dfgfg1 2 Ym||fi jij 1 2 Ym||i  )lm!7 7)kk 7 7)kk+9 GraphWalk is an abstraction over a graph = (nodes,edges)<A made up of node handles `N` and edge handles `E`, where each `E`D. can be mapped to its source and target nodes.1B The lifetime parameter `'a` is exposed in this trait (rather thanEA introduced as a generic parameter on each method declaration) soDA that a client impl can choose `N` and `E` that have substructureD) that is bound by the self lifetime `'a`.,= The `nodes` and `edges` method each return instantiations of@7 `Cow<[T]>` to leave implementers the freedom to create:B entirely new vectors or to pass back slices into internally ownedE vectors.  nop qpoqn@Anrsturstu#% Returns all the nodes in this graph.( o@1 2 Ym||o @nn r@o@A#( Returns all of the edges in this graph.+1 2 Ym||o Ann s@o@A# The source node for `edge`.7 7A@nn t@o@Aedge# The target node for `edge`.7 7A@nn u@o@A-4 Returns vec holding all the default render options.7444[040bW`(*\ v5 Renders graph `g` into the writer `w` in DOT syntax.8L (Simple wrapper around `render_opts` that passes a default set of options.)O7 x 7ʵxy z{|xz|y{ xx xnx wxxx8$ (Main entry point for the library.)' 77 ~ 7 7ʵ~ ~ ~~ ~n~ }~~~?777 7 7 7ʵ 07 7ʵ Y The style for a node or edge.X!J See http://www.graphviz.org/doc/info/attrs.html#k:style for descriptions.XM1 Note that some of these are not valid for edges.Y4Y"Cʱ    ZZ"ZZ"Z Z "Z Z "ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"Z Z "Z Z "ZZ"ZZ"ZZ"ZZ"ZZ"ZZ"YYYY"YYYY"YY7 7""Y YY Y Y Y "Y Y Y Y "Y Y 77 7" 7"Y Y Y YYYY "YYYY "YYYYY YYYYYY7 7"1Y YYYYY!"YY777 7" 7GGGEGEGEG EGEG[EQ ! >S7   'w1 z*Y YYM This structure holds all information that can describe an arrow connected toP either start or end of an edge.#$Fh9]ͩѩ\%$7 7$$ &$77 7$ 7_1_I_ _     '$    '$  77 7$ 7$   ($($ 7 7$1  @ Arrow modifier that determines if the shape is empty or filled.C'y?g''''""""0'""7 7''" ####1'$$$$2'$$77 7' 7_1$$$ _ $$$% % % % 3'% % % % 3'% % 77 7' 7'%  % &&&&4'&&&&4'&&&&& &&&&&&7 7'1&  8 Arrow modifier that determines if the shape is clipped.۸;: For example `Side::Left` means only left side is visible.=($5jk](((((('޹'޹'޹'޹5('޹'޹7 7(('޹ ޹((((6())))7())77 7( 7_1))) _ )))* * * * 8(* * * * 8(* * 77 7( 7(*  * ++++9(++++9(+++++ ++++++7 7(1+ 4 This enumeration represents all possible arrow edge7U as defined in [grapviz documentation](http://www.graphviz.org/content/arrow-shapes).X $zl'($'($($($'($'($'$'($  ($  ($ No arrow will be displayedʽ$$9 Arrow that ends in a triangle. Basically a normal arrow.<Z NOTE: there is error in official documentation, this supports both fill and side clipping] '($ '(# Arrow ending in a small square box& '($ '(@ Arrow ending in a three branching lines also called crow's footC ($ ( Arrow ending in a curve ($ (" Arrow ending in an inverted curve% '($ '(5 Arrow ending in an diamond shaped rectangular shape.8 '($ '( Arrow ending in a circle. '$ '& Arrow ending in an inverted triangle.) '($ '($ Arrow ending with a T shaped arrow.' ($ ($ Arrow ending with a V shaped arrow.' ($ (,,,,:$,,7 7$$, ----;$....<$..77 7$ 7_1... _ .../ / / / =$/ / / / =$/ / 77 7$ 7$/  / 0000>$0000>$00000 0000007 7$10  A Graph kind determines if `digraph` or `graph` is used as keywordD for the graph.) @:))))1111?)2222@)227 7))2 3 3 3 3 A)3 3 3 3 A)3 3 77 7) 7)3  3 444 4B)444 4B)444 44 4444 447 7)14 555 5C)55777 7) 7GGGEGEGEG EGEG[EQ ! >S75 5 *u2"  *  *  *  *  *  *  *  *  *  *  *  ***666 6D*777!7E*777 7**7 8 8 8 !8 F*8 8 8 !8 F*8 8 77 7* 7*8  8 999!9G*999!9G*999!99 9999!997 7*19 :::!:H*::777 7* 7GGGEGEGEG EGEG[EQ ! >S7: :ۂLjފқԤ  تYYYYYYY"$$%%&'޹))**+,..//023345557889:::1kTXDV6https://graphviz.gitlab.io/_pages/doc/info/colors.html,http://www.graphviz.org/content/arrow-shapes.http://www.graphviz.org/content/output-formatshttp://www.graphviz.org/%http://www.graphviz.org/content/attrs*http://www.graphviz.org/doc/info/lang.html+http://www.graphviz.org/content/node-shapes &'*M-ؕd/j֣&'*M-]9dd&'*M-}låEޣ&'*M-.&'*M-t" z&'*M-[]Chԣ&'*M-Z7GAIף&'*M-`U &'*M-v"iiM)&'*M- iΣ&'*M-Lw(:ܣ&'*M-> &'*M-&'*M-Sڋd5SU&'*M-OPp&'*M-\Cv:q^&'*M-iM)&'*M-u%9&'*M-2&}&'*M-ٿVNǣ&'*M-=™ &'*M-r<ѫڵ/&'*M-\yM/B&'*M-d&'*M-TPǣ&'*M-:YѾ[+&'*M--֎ko&'*M-‡uu&'*M-?h&'*M-NA2 &'*M-<|&'*M-翱ƶN&'*M-v*&'*M-x_i&'*M-%_;&'*M- Ɛ[ƣ&'*M->Q_@&'*M-JVg &'*M-HNfgǣ&'*M-֞"&'*M- whQT&'*M-4կ ꠣ&'*M-;{&'*M-nی&'*M-E1*ڣ&'*M-F>Į&'*M-3rI&'*M-S0[&'*M- v{&'*M-T$cգ&'*M-3[oGqţ&'*M-*ͩ=&'*M-9P[gp&'*M-Rbң&'*M-cH:&'*M-7@l<&'*M->[( &'*M-\Z+;&'*M-xd-&'*M-ã&'*M-REm &'*M-V㼆ͣ&'*M- ԛ &'*M-I&'*M-62ty!&'*M-/[dc&'*M-2&=&'*M-V_#&'*M-g"B&'*M-qþ&2&'*M-X&'*M-39ݣ&'*M- 5ȣ&'*M-~Ǭ]}&'*M-YlNh&"&'*M-D\N&'*M-,Q&'*M-B :&'*M-l -LXz&'*M-"\VM&'*M-Al&'*M-2<J&'*M-ޣ".U6b&'*M-0ކCc&'*M-N}&'*M-Sf&'*M-7]@0&'*M-zqxʓ&'*M-M-&'*M-r ,&'*M-T}&'*M-҉D1&'*M-[0&'*M-#D*i&'*M-&ds;Dۣ&'*M-}#t&'*M--޽IȖӐ&'*M- ,t&'*M-*2SƯ&'*M-s42a^&'*M-}'r&'*M-)a%T&'*M-Ug&'*M- E;W &'*M-H2Alޣ&'*M-TS=5 u&'*M- &'*M-@V@ &'*M-{#c&'*M-",)&'*M-8b)&'*M-|h>~u&'*M-σ&'*M-(g8I?LM&'*M-[9cy-ڣ&'*M-AALbtT&'*M-3mF&'*M-1̙L$&'*M-h&'*M-#p`&'*M-W^&'*M-!yB٣&'*M-{}&'*M-ۼ_ u&'*M-gf&'*M-,Gmp&'*M-s hQ&'*M-mﱮ\ã&'*M-ڔ&'*M-2r&'*M-t1Q&'*M-[Obcޣ&'*M-?V>&'*M-UwI&'*M-ɓK &'*M-Z!U +y&'*M-U%0&'*M-, !&'*M-<'lF&'*M-i>&'*M-Sף&'*M-W:&'*M-K9;&'*M-E#E&'*M-5fkA"&'*M-&/&'*M-+ՙ&'*M-zn7X&'*M-n&'*M-7NzMa&'*M-mtߤ湣&'*M-7׮{=̣&'*M-U$D&'*M-JSH }&'*M-2&'*M-n&'*M-6%Sۣ&'*M-N((m&'*M-dwԑݣ&'*M-P~<&'*M-!N$)n&'*M-5E &'*M-нУ&'*M-Mh^&'*M-@Oؘ&'*M->y8J6%&'*M-20+&'*M-7{]&'*M-aS&'*M-@&'*M-X&'*M-W~Rܣ&'*M-H`&'*M-43̣&'*M- ѩڣ&'*M--v&'*M-II &'*M-Qu&'*M-W:+*&'*M-U Wq&'*M-9&'*M-<-qZ0Z&'*M-Kc쥣&'*M-{$&'*M-%FVU &'*M-뮶Ab&'*M-I!ܙ-&'*M-]2&'*M-COp&'*M-i &'*M-{* &v^&'*M-F2 |&'*M-+o &'*M-lUj&'*M-~Lh &'*M-aJp&'*M-U覒&'*M-3{E4&'*M- hy1&'*M-OI Nyʣ&'*M-:͜&'*M-8i&d&'*M-kPn?&'*M-!3+ވȣ&'*M-Wu$£&'*M-ϭQO&'*M-q~&'*M- 7&&'*M-!E]B&'*M-!˥ &'*M-dG*Jt&'*M-7s&'*M-9a"ģ&'*M-?hk#ޣ&'*M-#/ߞ/&'*M- ǔޣ&'*M-1سyٰn&'*M-XȘ&'*M-&4^6&'*M-wL#>&'*M-f0pe&'*M-#~ -n&'*M-8K&'*M-, U&'*M-^gg:&'*M-xnY7&'*M-y#8,&'*M-c[,w&'*M-W3O&'*M-M[[~&'*M-yn):N&'*M- G=ݣ&'*M-G$@{v&'*M-LuJ&'*M-qƀFأ&'*M-־,5qVӣ&'*M-KR&'*M-B &'*M- #o&'*M-_(&'*M- g͠&'*M-/ e&'*M-F`U8&'*M-?&&'*M-tlȑq&'*M-Y1m߳&'*M- (__ɣ&'*M-B/&'*M-{9P&'*M-`񨁰&'*M-&Liiiiiiii#!w t/mi0$!%O V  u l c("k<wwvDE\% r  Z!!:"" ##:$$%%&u& K*%++,G--03345J666.7z778^888B9v99:8:n::;L;;5<=;>[>>>+??.@h@@ASABBBBC|CCDJDE=EwEE(FbF"GGLHHH&IIIIJJ!KKK LLNO%PEPePPQ6QQRRR6SVSvST9TYTTTUUUcVVW3WmWWX;XX.YhYYZSZ[[\_\\\-]e]]^P^^J__i``7aaa'bwbbcOcccdWddeBef>"?'@_@AJABBsC DAD6EnE!FYFGGGIIIJKKLMMMMN"N9NPNcNzNNdWW2X'Y_YZJZ[[\\^]]I^^{_```````HccdNde9e3f###             $$$$$$$$$$$ $$ $$$ $########## $$$$$$$$$fH|HzC D^{      cQ 7QYVoYqoR  :!!""#n##A$$%0&y)*o+8,,-.1.34Z5626R6~6666767b777778F8f88888*99:;I<>B>>@?}@AiBBBB)CC_DEFGH3HUHHHH;I J6KLxMNNOO,PLPPPPQQQQ0RaRRRS=S]SSS T@TTTT;UlUUU V>VjVVVWWPX}YZ[[[\F\\]__r``a@anaaaab0b^bbbbbcldeQfeqb.n)gc*~H O  n e  \!yLd5ppo +=}>Uk  S!!3""##3$$$$|%%%%&n&**,*D*++,@--B0P0j000022222333w4456D6d66666(7H7t7777 8,8X8x88889<9p9992:h::;F;;/<|=4>T>>>$???'@a@@ALA BBBB C;CuCC DCDDD6EpEE!F[FGGHEHgHHHHI{IIIJJJKKKLLNNOOP>P^PPPQ/QQQQERRRR/SOSoSST2TRTTTTPUUUU"V\V|VV W,WfWWW4XXX'YaYYZLZ [[[\*\X\\\&]^]]^I^^C_}_b``a0aRaaaaa bBbpbbbbcHcccdPdde;ee5fg#g,g5g>gGgPgYgbgkgtg}gggggggggggggggh hhh(h1h9hAhIhQhYhahihrh{hhhhhhhhhhhhhhhi iii&i/i8iAiJiSi\ieiniwiiiiiiii `kBh4t/k0X g     N<* "Sk<jmDAZDG\Z=  %!!"}""Y##:$$$$%%%%&r) **3*}*Z+#,,-.I0W0q000022223333~4T566L6j6666707N7|7777828`8~88889c999%:Y:n:;7;; <5< >;>>>?+??@R@h@A=AAbBBBBCfC|CC4DJDD)EaEwEFLFFGGHNHnHHHI&IIIIJJ K!KKKnLqMNNOO%PEPPPPQQQQ)RLRRRR6SVSSST9TTTT4UWUUUV)VcVVVWWWmWW%X;XXYRYhYZ=ZZ[[[\1\\\\Q]]]<^t^^n__k`` a9aYaaaaa)bIbybbbb;cscc dAdWdd,ee&fZa/~GZjg&9l-Pc  K!!+""##"$a$$%%%&^&))*A**+k,--/e00001222333K44b56=6]66666!7A7m77778%8Q8q8888 959l999.:b:: ;@;;)<a=>M>>>???#@[@@AFAAqBBBC4CoCCD=DDD2EjEEFUFGGH>H`HHHHIhIIIZJJJKvKKKLMN OOP7PWPPPQ(QQQQ;RuRRR%SHShSST+TKTTTTFUUUUVRVuVVW%W`WWW.XXX#Y[YYZFZZ[[\#\Q\\\]Z]]]E^}^0_w_E`z``)aKayaaaab;bibbbb cDc|ccdJddd5ee/ffhIU{O mO_   2 )  u*,DZn7Ja^2c$I| wZ  B!!"""#v#$B$$$%%%N&z)"*:**+[,--.^0x000T12223t33.44[5636S66666777c777778G8g88888+9e999':[::;9;;"<Q=>C>>>?q??@T@@A?AAjBBBB*ChCCC6DDD+EcEEFNFFGH4HVHHHHIWIII:JJJ KeKKKLyMNNO P-PMPPPPQQQQ1RkRRRS>S^SSS!TATTTT^v^_p_4`s``aAaoaaaab1b_bbbbb=cucc dCddd.ee(ff)|V"b&\X  '  F =  >@`t)3K^nk(;p1Rg  O!!/""##&$w$/%%&b&++o,--0d23c4d56B6b66666&7F7r7777 8*8V8v88889:9n9990:d::;B;;+<f=>R>>> ??%@]@@AHAAsBBB C9CqCCD?DD4ElEEFWF GGHCHeHHHHImIIIuJJK{KKLLMNOOP>A?~@AjBBBB*CC`DEFGH4HVHHHHB?~@ACaDEF2?o@ABCCQD~EF%HuHH-II(KuLNOPQSRSST^U0VVtWBXoYZ[8\\]^_a`aabPbbbc^deCf/ahoyG~%,3:DKR8?FPW^c$%+*C*g0000222334?DJXѸ &""N##$'%%.&&'D(+-Y[i)VV-./0a223475567E+׼i/88@qUUVVUWW%X$Yt.&111t:̿x>s- $""L##$%%%,&&'B(+,-:[TT./0$1234555677s9˿w=8@oUUTVSWW#X"YYиD %""M##$&%%-&&'C(+--11`2;[UU./0%1234655678*ּh.8@pUUUVTWW$X#YY11X211]2_!\ 5 <  [ R  So8 Wjpo t5k  S!!3""##*$ &e&++,,--,023l49:;k=>?@BCDEGrI}JKLWXY[]]:_O`cdeg)     #$  $  $  $    #  #^@ iV(E%p)R55J666.7z778^888a99#:W:;5;< >}>?@P@A;A`BBBdCC2D'E_EFJFGGLHHIIIJ KKKoMNOPQ'RRST2UVVUWW#XYPYZ;Z}[[\\\O]]:^r^l_i``7aaa'bwbb9cqcd?dd*e$fr5+>BGM[`f5>uBGM[~` $(,0@IX\cpt{$+:AHP_m~)-4;CQXcj| #*7HOSWbfjquy!(/;BIMTaqx   ! ( / = E R Z f n s   # 1 6 : > F J N V Z ^ f j r ~      ! ) - 1 9 D L Q Y ^ j o s {     ' , 4 A F N \ a i q    ! % ) 1 5 9 A L [ ` m r v z   %9>RWglpt| &,28>DJQX_fmt{#*18?FMT[bipw~?R55555555555->BBGGGMMMMNN1NHN[NrNN[[```````i-Map/8X5[1,S1,S19+++FlatMap+inner+}x5S[ZZZZ 11Z 1S1Z /S5[1/S5['111MMM4NNNMNMNMjg(+4+5S[1+5S[,S1,S1Z,S4\d`abc\Y[]^Z_0vUmlWIEJGHFAB?2' ''>X444[040bW`(\2##RawVec&'cap(ܜ 4\[^Z;Z; ''';  StrSearcherhaystack\needle\searcher\(ݝ[ײײز _@z/]Z  ]Z  ' ] '] ' ' Simd  Q.']] s,]]15'9']ZZ 1'l c uty'19 J;((m'19'Z:]ZZ 1l c uty1195S[9:S1 :51/S1[Z[:X:5S[99Z:WindowsvM M^61:Z/S1[Z4,S1,S1ZNc' c'   ̵͵εNullϵеѵStartOfHeadingҵӵԵ StartOfTextյֵ׵ EndOfTextصٵڵEndOfTransmission۵ܵݵEnquiry޵ߵ AcknowledgeBell BackspaceCharacterTabulationLineFeedLineTabulationFormFeedCarriageReturnShiftOutShiftInDataLinkEscapeDeviceControlOneDeviceControlTwoDeviceControlThreeDeviceControlFourNegativeAcknowledgeSynchronousIdleEndOfTransmissionBlockCancel EndOfMedium SubstituteEscapeInformationSeparatorFourInformationSeparatorThreeInformationSeparatorTwoInformationSeparatorOneSpaceExclamationMark QuotationMark NumberSign DollarSign PercentSign Ampersand¶ö ApostropheĶŶƶLeftParenthesisǶȶɶRightParenthesisʶ˶̶AsteriskͶζ϶PlusSignжѶҶCommaӶԶն HyphenMinusֶ׶ضFullStopٶڶ۶Solidusܶݶ޶Digit0߶Digit1Digit2Digit3Digit4Digit5Digit6Digit7Digit8Digit9Colon Semicolon LessThanSign EqualsSignGreaterThanSign QuestionMark CommercialAtCapitalACapitalBCapitalCCapitalDCapitalECapitalFCapitalGCapitalHCapitalICapitalJCapitalKCapitalLCapitalMCapitalNCapitalOCapitalPCapitalQ·÷ķCapitalRŷƷǷCapitalSȷɷʷCapitalT˷̷ͷCapitalUηϷзCapitalVѷҷӷCapitalWԷշַCapitalX׷طٷCapitalYڷ۷ܷCapitalZݷ޷߷LeftSquareBracketReverseSolidusRightSquareBracketCircumflexAccentLowLine GraveAccentSmallASmallBSmallCSmallDSmallESmallFSmallGSmallHSmallISmallJSmallKSmallLSmallMSmallNSmallOSmallPSmallQSmallRSmallSSmallTSmallUSmallVSmallWSmallXSmallYSmallZLeftCurlyBracket¸ VerticalLineøĸŸRightCurlyBracketƸǸȸTildeɸʸ˸Delete̸* Yq&' ?;X% 1X  ? S' {-P' 9SB188TryReserveError8~E`888CapacityOverflow8 AllocError8layout8c%/Z  1B bb߇grE3 LayoutError ډRS9} S\  1B#CC8f  _/G T\    X2(\%  *;4$4*5\5\4\5$\)$\($\Q\T\ޗ  S\ޖ 1Z˕ 17\<\L\K\B\?\8858S6\'\$'\'\$\L-SX\++ZZZ5'11$5$\MPSQ+'11111'1=E77?119++3%%f(N D>F88@22:,,4&&ga[O!EJ??G99A33;--5''hb\F@H::B44<..6((0""c]%AC55=//7))1##d^X&HBD66>008**2$$e_Y'M =\core_intrinsics &'*M-J WB<|ˡ II&'*M-xOwt2mˡ derive_clone_copy&'*M-bCO&'*M-|A1di%dˡ Ѣ &'*M-W'MF&'*M-3kY =\ˡ  &'*M-!i)VF&'*M-)6tY &'*M-:d{[$crate::format_args>YY fmt_internals&'*M- %aImˡ Ѣ &'*M-F Q&'*M-jKb}O \ˡ derive_eq &'*M-SP= =\ˡ  &'*M-dh%z<|ˡ II&'*M-?<Ӻ <|ˡ II&'*M-nPFU..&'*M-;DaƱ}YO \ˡ   &'*M-SB\.&'*M-e[6؁tY &'*M-_xW6tY &'*M- &}D+Y)&'*M-Ԕi%dˡ Ѣ &'*M-p{cY,Y)&'*M-}&f̢mˡ Ѣ &'*M-?ܢb}O \ˡ   &'*M-}" =\ˡ  &'*M-g{U =\ˡ  &'*M-ƛSĔp&'*M-;wjpYˡ fmt_helpers_for_deriveGG&'*M-jDZ &&'*M-Sh[   liballoc_internals&'*M-GBLP$ &'*M-VwriteY&'*M-%UbƜA,\չ+Y)&'*M-S?2TA| =\ˡ  &'*M-j.si%dˡ Ѣ &'*M-UR<i%dˡ Ѣ &'*M-V!\!}O \ˡ   &'*M-ɢ+j0}O \ˡ   &'*M-ΰf&'*M-P{/U޿&'*M-7MM6ʎtY &'*M-\HI8&'*M-pX6KtY &'*M-iF+Y)&'*M-ϝ=Xu&'*M-._)}O \ˡ   &'*M-@e?ۣ =\ˡ  &'*M-%9,lomˡ Ѣ &'*M-DqMi޹%dˡ Ѣ &'*M-* ӌ&'*M-r,0]mYˡ Ѣ &'*M-q{괢M/6tY &'*M-m5,Y)&'*M-d@&'*M-%wʟqpˡ  GG&'*M-F.^Z}O \ˡ   &'*M-#3%-<|ˡ II&'*M-I9Rp6mˡ Ѣ &'*M-di%dˡ Ѣ &'*M-ʋ2T꿜F&'*M-"؝coq.&'*M-Ym6s#iY%dˡ Ѣ &'*M-FG..&'*M-SfV    &'*M-͈e2,Y)&'*M-9Ma6&'*M-|AwHH%Y)&'*M-^D6ړ9pˡ  GG&'*M-dA m]NN$OO)PPNOOPwPNOOVPNNPOOOMPNNGOOODPwNN>OOO;PnNN5OOeNN,OzOO2PNOqO PPN OPoPOiOOPgPNaOOO_PNNYOP(SU^*UW3Z\t^TWZ[;^dRTWWY[]ReTVQTV#YW]3QSFVXB[]PSVX[\PLSUlXZ\^R\U1XZe\ReZ@\^WY^?RT1WY]Q@TVdY}[]QP@&'*M-W~R&'*M-t" z&'*M-OI Ny,&'*M-UwI&'*M-ե&'*M-"&'*M-@&'*M-uW6&'*M-<|&'*M-2<JQ&'*M-\Cv:q^&'*M-xd-:&'*M-",)m&'*M-|h>~uo&'*M-~Lh '&'*M-"y&'*M-JfJ`o&'*M-{#cl&'*M-#|]&'*M-U%0&'*M-YlNh&"J&'*M-Wu$1&'*M-L(&'*M-?hk#:&'*M-r+FS&'*M-!3+ވ0&'*M-, UD&'*M-ӟ,+^&'*M-_0&'*M-pfg16&'*M-ϡ28&'*M-3rI.&'*M-%}3v}{&'*M-8b)n&'*M-39G&'*M-tI:ʲ&'*M-yn):NK&'*M-´)xĮ-&'*M-'A?¤Ο&'*M-#D*i]&'*M--DYn&'*M-3vG&i&'*M->y8J6% &'*M-dG*Jt7&'*M-3kNԈb&'*M-COp!&'*M-&ePb,&'*M-t1Q&'*M-rQN_&'*M-S0[/&'*M-TP&'*M-ޣ".U6bR&'*M-ٿVN&'*M-9U.&'*M-l -LXzN&'*M-U Wq&'*M-<-qZ0Z&'*M-*[~<&'*M-U覒)&'*M-NA]&'*M-W^x&'*M-c[,wH&'*M-A3`ܺ.&'*M-H`&'*M-Rb5&'*M-/[dcA&'*M-AALbtTs&'*M-Kc&'*M-W3OI&'*M-wM^e&'*M-eDs&'*M-eAjBu&'*M-zHl~ &'*M-3mFt&'*M-,Gmp}&'*M-+o %&'*M-q~3&'*M-7s8&'*M-LuJN&'*M-ph{Ⳍ&'*M-h{X&'*M-{}z&'*M-3{E4*&'*M-G$@{vM&'*M-K9;&'*M-5E &'*M-=™ &'*M-σp&'*M-`񨁰&'*M-PjaGH.7&'*M-kPn?/&'*M- k&'*M-Mh^&'*M-N((m&'*M-U$D&'*M-]9dd&'*M-m&'*M-2r&'*M-M[[~J&'*M-JSH }&'*M- `&'*M-8&'*M-nl&'*M-1̙L$u&'*M-ڔ&'*M-Lw(: &'*M-I?&'*M-:͜-&'*M-8KC&'*M-'3s*ƒg&'*M-, !&'*M- v{0&'*M-X&'*M-y#8,G&'*M-'D[&'*M-Kc&'*M-Z4&'*M-ǷXHoj&'*M-E1*,&'*M-nی+&'*M-d&'*M-2&}&'*M-N}T&'*M-n&'*M-3=д@p&'*M-翱ƶN&'*M-f0peA&'*M-0_g&'*M-hv&'*M-S׌&'*M-Ӊd&'*M-־&'*M-aJp(&'*M-ҸGRթ&'*M-;)]&'*M-@ida&'*M- Ɛ[#&'*M-r ,Y&'*M--޽IȖӐ`&'*M- ǔ<&'*M-9&ʂq&'*M-֞"'&'*M- g͠U&'*M-?V>&'*M-:YѾ[+&'*M-HNfg&&'*M-K' Ⱦ&'*M-w̲&'*M-T}Z&'*M-SfU&'*M-Q-2q&'*M-C(ò&'*M-n@&'*M-Y8]j&'*M-_>߳|&'*M-M-X&'*M-/o[( 8&'*M-Z!U +y&'*M-aR %N&'*M-JVg %&'*M- (&'*M-F2 |$&'*M- 5H&'*M- #oS&'*M-62ty!@&'*M-s [&'*M--֎ko&'*M-iRy h&'*M-B/~&'*M-S{'F#&'*M-XȘ>&'*M-˃Gz&'*M-3[oGq2&'*M-t=,&'*M-B :M&'*M-B R&'*M-9a"9&'*M-I 5`&'*M-T$c1&'*M-6%S&'*M-2&=B&'*M-qþ&2E&'*M-!N$)n&'*M-`'&S?_&'*M-\Z+;9&'*M-+ՙ&'*M-20+ &'*M-W:+*&'*M-#~ -nB&'*M-$0u &'*M-k%̾13*3&'*M-NA2 &'*M-H2Alh&'*M-p1炶&'*M-TS=5 ui&'*M-{9P&'*M-%_;"&'*M-<'lF&'*M-2 =a3&'*M-i>&'*M-ͨ=M&'*M-@Oؘ &'*M-g"BD&'*M-0ކCcS&'*M-!yBy&'*M-REm <&'*M-+B|߳&'*M-Z7GAI&'*M-(g8I?LMq&'*M-&L&'*M-N},&'*M-OPp&'*M->Q_@$&'*M-2&'*M-V_#C&'*M-7{] &'*M-F`U8W&'*M-[Obcރ&'*M-dBc#&'*M-ؕd/j&'*M- (__}&'*M-Ugf&'*M- whQT(&'*M-v"iiM)&'*M-i "&'*M-9@ jzc&'*M-BHm>&'*M-!p!&'*M- ,ta&'*M-‡uu&'*M-Vt&'*M-yv`&'*M-x_i!&'*M-xIy۲q&'*M-1سyٰn=&'*M-{$&'*M-ou{q&'*M-}#t_&'*M- PM$&'*M-qƀFO&'*M- &'*M-KRQ&'*M-rTWdbw&'*M-V㼆=&'*M-u%9&'*M- 6oMֹ&'*M-8@&'*M-*2SƯb&'*M-w&'*M-L`+t&'*M-!˥ 6&'*M-Sڋd5SU &'*M-[9cy-r&'*M-I_'˸&'*M-־,5qVP&'*M- w/&'*M-yמUQ&'*M-#/ߞ/;&'*M-H'n&'*M- 7&4&'*M-ϭQO2&'*M-҉D1[&'*M-mtߤ湖&'*M- E;W g&'*M-Ay}&'*M-Ej&'*M-_(T&'*M- ѩ&'*M-ݦG=&'*M-9 ݣ{d&'*M-#p`w&'*M-~Ǭ]}I&'*M-"\VMO&'*M-4կ )&'*M-mﱮ\&'*M-7׮{=̗&'*M-9&'*M-}'rd&'*M-) CPOpf&'*M-ۼ_ u{&'*M-{Mq$p&'*M-,QL&'*M-^gg:E&'*M-cD#&/&'*M- j&'*M-;&'*M-s0&'*M-н&'*M-`U &'*M-h˪&'*M-]2 &'*M-}låE&'*M-Oē)&'*M-yMͨ&'*M-Y1m&'*M-4?DG5r&'*M-&/&'*M-n &'*M-II &'*M-lyc&'*M-&ds;D^&'*M-W:&'*M-v* 2 nCe$RYD/:sq Jn\[%cW,q17mF>zD8'2Vyk@ jk2cMHo]Gwsc_ ^8aoSY! q2:]5zyVZAn/[$ (A*y<}>d7r-7qL=bbyjm`7Lr7]qo[_}B#&Lu[lok&pC8 qvto8_j ohkdV*BQH_Y487c:l\z1fknWg*m\i_BpJ'I\]{\m f0u&PafX98Cx{ahewoT XF@egJ!e~5IP,H~ In03(QGf;1D?=)["!lm 2 nCe$W/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dot-0.1.4/src/lib.rs 7׊.*~.$xk F?#EB@A$NKHHFCHHD?*HHFHIIFL1BID8IJ 1K-3S66 4/0&9. 2*& //3N;3JGEEKKICCM@JJ=> EDK &I146:-7S65 D< D6 8QT//3N;IKHGH7 $$I146:-;S:7 H; H6 <6D 678 773N;+AWC> 5>F.C9GDEGD:F@!A"N5-    ,)%''#)-')' :??EA<CEEF>EA?DD>!DFFFFEG F&=DDFAFE@7M *!<%, %6G -@ >F +(AE>GGQ:B%DG#+F89B FG36)FG-6F/F8DB I)3I)5F/F8D? 8E(!@B@)B8/ '68 +=D5,QP3 G?G316 OH!OHB3"&Q$&! 2#8  7# T/ P4! D,%$2 ', '5 '> D,  , <>,  ,  8Y,# Ab+H *=".,,,"0$57#28"%9#&;$53%69!6>!24!$4!$N,%H5/O&>1O& 57456784444 $$E-  3F((# 6'#! A =E2FEE-A;F .-(0($($(-80 9P;9(""@F- 7Q 8,<"  %T$) %<%1&)  +'" ! >1-95"",,743<"& %T$) %<%1&)  9E)+)!+9+! ! M=*8%n+) RU&" MGEG G0!F*G&" +-$>9WG !.;< #%!0"+:1*6 $#%!-c )->*- 3 =)65 A% 5! 9 G 0 = ?" I*" 3" =-C E-[ A-C I-[ ?02 4( 7 7 J0 4 7 7 <%*#;PN7 2U 2U "20W$ 2B;];$ "2B;d;$4 H=I;_=$ $ 2D6X6  J?6_^]`6'&%' ,%=6ZZWY*#>O "$N  H='