rust rustc 1.48.0std؝-6bf3f16f340782cacoreƞ-3375e4f89d420e7acompiler_builtins-f74b197469e67088rustc_std_workspace_core扪ڹ8-5e0675f526ef5c6ballocץޯČ-1ebf406bd4ea5769libcɄ-dfbef8c525de0186unwindܽ݇!-bd645b20c6c7b56dcfg_ifшC-b9e1e523c0c29a77 hashbrownǰ-c6632ca171f954ddrustc_std_workspace_allocW-b5bfd0198c7b740drustc_demangleة-3ac2d0878c297d42 addr2lineƄ-12740563628e601fgimlin-0ac82a1e1820dd21object»-af517d7f13e7c960 miniz_oxide֕㵤 -a2ba33c985785afeadler˯-3f6e9f8f4afbea6d panic_unwindի-13f3099d50c21bc6unicode_segmentationƙD-247cd6a779d12710+_ Sщj:.^}7ZfN^std(yAbԣicamel`)m)tCU^'cs2B΃MC _Ь~̧` uiյK< CamelCaseͤ rE٣{ to_camel_case{R;N`yX J+Ro{1  to_camel_caseOх04{  7mHO/8hkebabl2#6 {1Gs .KlGK*_ :4 GBPyf ؤNg9zG  KebabCase,Ys 8/5TjQ to_kebab_casehcCŐ} dJw@TS%ҥa to_kebab_case)S s`w4ŸcLiA~IxدF>/mixedSV}있 =38h nSLɶu$w=fv](=K1◣9w0MקRCe<  MixedCaseCIF8 to_mixed_caseFqDbЁj΄ Gza) to_mixed_case++JW4ZO{Q$`4c& z shouty_kebab4q+T*rHѸR ? #:񜚒Q l( w 682?0}v ShoutyKebabCase4"ǜFas$to_shouty_kebab_caseu sd |=^иTw&to_shouty_kebab_caseE5pa4"'Uq(yL;$ shouty_snake:, )i+ sϻ`)kPjΔ;e)4QFl$̠`)ShoutySnakeCaseA)N 򽒵-to_shouty_snake_caseCgX!$f)ShoutySnekCaseԬ[ȪP j/TO_SHOUTY_SNEK_CASEH6lG=')U50.1Tm)9Y$msz1TO_SHOUTY_SNEK_CASE d(ĻkJv)"P%۽IiӇ\4to_shouty_snake_caseYoQ!APU5.TP|BcRsnakeu=1&EP0f.7 H|B7crLBnGhV7Tr5Wy1j7 SnakeCaseԂf!\; to_snake_caseU-V:#;D` E7SnekCasezGْT@= to_snek_case1uLyGMMԀ'R7F!KTw&q4)?Tk͉  #4ŕ? to_snek_caseBqC;eve 7͙ o9B to_snake_casezd%QR-)FV,C|8LbzyDtitle"fϼ@(SΚE 2#qN& vE>WW Pb5MVE?۫! ͛E TitleCaseXC$n-RI to_title_case8}*BE J|@?ŨG K to_title_case: ۫,{yXLcUwn gnCiG3-TmN>Yϸ*?GHTOa?)vF*/$܈vX-j{TNO@m`UU70+-`p{9@>Od$K{ 9v;X³N0N NKtF \Ek,apFhp Ӧ{l֤)ۅ transform)qgսUE-ZF}jh|oº1ZGhqaZ޾G;| lowercasekF? uppercase9}"+/-:qMc+ZWordModeIs?yOU`BoundaryEE+ ֍oxR&alqk]熖P{tu` Lowercase!d*QIw'c'^ޥ Bͮ` Uppercasek"Idj\=ZMl)eV7ʁgpobZI3߆ƽZr#_<4![heqZ VL?Z"@[ҥ1>_.yZ]Pt2 Bekclonel~EնS`.ǐ\sGܩTn/T|1b˄KrtLMKZtv!gZ\NUEfމkSa[x(_/zDX<ހlYRY~7g4QY8 @R@ݎC4g`1Bh`?j`&k`K -,/; =$ I CamelCase  KebabCase  MixedCase ShoutyKebabCase$ShoutySnakeCase-ShoutySnekCase/ SnakeCase ; SnekCase= TitleCase IUnicodeSegmentation) 0' **heck** is a case conversion library.*+I This library exists to provide case conversion between common cases like/LJ CamelCase and snake_case. It is intended to be unicode aware, internally,|M, consistent, and reasonably well performing./! ## Definition of a word boundary$B Word boundaries are defined as the "unicode words" defined in theEF `unicode_segmentation` library, as well as within those words in thisI manner: = 1. All underscore characters are considered word boundaries.@F 2. If an uppercase character is followed by lowercase letters, a wordIE boundary is considered to be just prior to that uppercase character.HL 3. If multiple uppercase characters are consecutive, they are considered toOL be within a single word, except that the last will be part of the next wordO8 if it is followed by lowercase characters (see rule 2).;M That is, "HelloWorld" is segmented `Hello|World` whereas "XMLHttpRequest" isP segmented `XML|Http|Request`.!L Characters not within words (such as spaces, punctuations, and underscores)OL are not included in the output string except as they are a part of the caseOK being converted to. Multiple adjacent word boundaries (such as a series of NM underscores) are folded into one. ("hello__world" in snake case is therefore PM "hello_world", not the exact same string). Leading or trailing word boundary PJ indicators are dropped, except insofar as CamelCase capitalizes the first M word.  % ### Cases contained in this library: (  1. CamelCase  2. snake_case  3. kebab-case  4. SHOUTY_SNAKE_CASE  5. mixedCase  6. Title Case  7. SHOUTY-KEBAB-CASE  deny    missing_docs    )7ENOPQRSTUVWXYZ]^_  capitalize0 _0  transform0 Z0 5  3 3u, This trait defines a camel case conversion.1/1J In CamelCase, word boundaries are indicated by capital letters, including1M the first word.22 ## Example:22 ```rust2  use heck::CamelCase;22; let sentence = "We are not in the least afraid of ruins.";2>I assert_eq!(sentence.to_camel_case(), "WeAreNotInTheLeastAfraidOfRuins");3L ```3SelfSelf4:4self4 4'! Convert this type to camel case.4$4 : ::44t self5 5U5  ) 5  lowercase< ]<  transform< Z<  4 ? ?u, This trait defines a kebab case conversion.  use heck::KebabCase;>>5 let sentence = "We are going to inherit the earth.";>8K assert_eq!(sentence.to_kebab_case(), "we-are-going-to-inherit-the-earth");>N ```?Self:?:?self@ @'! Convert this type to kebab case.?$@ :;;@ @self@  @b@ <@  capitalizeH _H  lowercaseH ]H  transformH ZH O K Ku, This trait defines a mixed case conversion.H/IJ In mixedCase, word boundaries are indicated by capital letters, exceptingIM the first word.IJ ## Example:JJ ```rustJ  use heck::MixedCase;JJ? let sentence = "It is we who built these palaces and cities.";JBM assert_eq!(sentence.to_mixed_case(), "itIsWeWhoBuiltThesePalacesAndCities");KP ```KSelf:L:LselfL L'! Convert this type to mixed case.L$L :;;LLselfM MM <<M transformV ZV  uppercaseV ^V  4 !"#$&YY3 This trait defines a shouty kebab case conversion.V6WG In SHOUTY-KEBAB-CASE, word boundaries are indicated by hyphens and allWJ words are in uppercase.WX ## Example:XX ```rustX  use heck::ShoutyKebabCase;XX5 let sentence = "We are going to inherit the earth.";X8R assert_eq!(sentence.to_shouty_kebab_case(), "WE-ARE-GOING-TO-INHERIT-THE-EARTH");YU ```Y%Self$$:Z:ZselfZ Z.( Convert this type to shouty kebab case.Z+Z %:;;$Z$ Z'$self[  [i[ 'Self==:x:xselfy y& Convert this type to snek case.x#y >:;;=y= y7y}AW=WT@@;Wy selfy 7yJy AWWW?y?zzzz <WzzzyJWy YyzYzselfyyJ7z|C;selfz 7z]z C<<BzB capitalize _ E transform Z E9 FGHIK u, This trait defines a title case conversion./ÈJ In Title Case, word boundaries are indicated by spaces, and every word isLjM capitalized. ## Example: ```rust  use heck::TitleCase;ʉG let sentence = "We have always lived in slums and holes in the wall.";J] assert_eq!(sentence.to_title_case(), "We Have Always Lived In Slums And Holes In The Wall");` ```JSelfII::self '! Convert this type to title case.$ J:;;IIE}LIself E^ L<<KK   s with_word boundary!| ZFG$!  2! 3! 3! 2 3! 3!R 201!R 3 ! 4! 5! 5! 6! 7! 8! 8! 78! 6 <7! ! k5642!! 7! 6! 5! 8! 4!R 3! 2"( 9" :" :"( ;" <" =" >" ?" ?" @" A" A" B" B#" @sA" @sB" B" A" " s?@>4" " @" ?" =>" <=" C" D" D" CD"( ;q<"( ;C"( " kq:;95"(" C" <" ;" :" D" >" =" 9" "" E" E#" E" E# F# F# F# F  J$F G$F$F 9$F G$F$F 9% N% O% O$% % zON@%% N% H$ GAB$/ H$/$/ =$/ H$/$/ =$ L$ M$ M$ $ zML?$$ L$ I$F H78$ K$ J$/ I;<$ M$/ L;:% O$F N76( e( e%( e( e$ I%  P% Q% Q% P Q% Q% PCD& &% F % R% S% S% T% U% V% V% UV% TU% %STRE%% U% T% S% V% R% F& P&# W& X& X&# Y& Z& [& \& ]& ]& ^& _& _& `& `& ^s_& ^s`& `& _& & ]^\G& & ^& ]& [\& Z[& a& b& b& ab&# YqZ&# Ya&# & ۆXYWH&#& a& Z& Y& X& b& \& [& W' c' c' c' c' d' d' d' d$ I( G  J( %( *( $( #+  + + +  * *) N ) h) i) i) j) k) l) l) kl) jk) )ijhM)) k) j) i) l) h) N* f*" m* n* n*" o* p* q* r* s* s* t* u* u* tsu* u* * sstrO* * t* s* qr* pq* v* w* w* vw*" oqp*" ov*" * ۆnomP*" * v* p* o* n* w* r* q* m+  + + + Q+ +++++ +S+      z<qk knn qn q q n  pqqqsrqs}t s p s   sss y ps  }   H    9   }  }     ! ! l! k!!!!l"( k" "(q"q"q"q"" s"s"""s"}# $F $/ $ }$ }$ $ $ % %% % l%%%%%l&#֡& &#q&q&q& q&&s&s&&&s'}'}( ) ) l)))))l*"֡* *"q* q* q* q**s***}$ }  s with_word boundaryout first_worditer __next  valword char_indicesinitmode i c next_i #next $ next_mode %$$$      }$}$$         } }  + s+out++' ] character of the current word. If there is no cased characterAB (either lowercase or uppercase) since the previous word boundary,EG than the mode is `Boundary`. If the last cased character is lowercase,J9 then the mode is `Lowercase`. Othertherwise, the mode is< `Uppercase`.ace}bD There have been no lowercase or uppercase characters in the currentG word. }``b}``d ? The previous cased character in the current word is lowercase.B }``d }``f ? The previous cased character in the current word is uppercase.B }``f }`` }}  automatically_derived   allow    unused_qualifications  i} }}self other   inline    i } }hh          }                                                        } } p  }  } p  }  }      p  p self other  __self_vi  __arg_1_vi  automatically_derivedallow unused_qualifications}}automatically_derivedallow unused_qualificationsl} }self inline lӸ}kk}}self5 ll     55l55l5   ll555AlAAA A A-A AAAlA lAAAsAAM  <lM MMMM M NMN N N N NN   NNNNNNNN NNNNN:N:lMN N MOOM lM  llMqMMMM M <MlNqNNNqNNNsMoutMMOlOOlOOlO lOOO[(l'(((([[[ [[-[ [[[l[ (l[[[s[[l6l56666lll ll_l lllll 6llllsll{DlCDDDD{{{ {{_{ {{{l{ Dl{{{s{{MlLMMMM   l Mls z;a/K u Pb!!#m##cf$$&&&og'3'E))g* ++U+B,l,h,,.$//-0!0s0Q1z1i12444k544dVVV W!YYY)ZGZZZZ[Z__` |(#/L6c%,,9/D&9!((4 **'1* *%+-0&4% ,-əڈôR/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/camel.rsImWָ.0<20$0N ?M),(, /5 +;Z^,9,f26;;<<<<摦ϸR/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/kebab.rs)-\"%`c-;-l38GGGGHHϞ쨿ԘR/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/mixed.rsbSfjFz`dHV=H/0N CQ),($''  /5 +;Z^,9,f26UUUUUU怙ܳʓY/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/shouty_kebab.rstqbY[k6rUVc3V#7K 9V%0344 /< ,>`c-;-l38<bbbbbAY/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/shouty_snake.rs.BVNCiR%]cs@c#7O  `b-;-l38sssssýR/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/snake.rs'#٦%ysMs#0A @U),C(+-,(4 /5 ,>`c-;-l382,223342233='&߁ĹוܘϩR/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.3.3/src/title.rs~jHꓑ>22$0N Ka),(5 /5 ,>`d-;-l38Ǔʓϓړݓɽýheckx86_64-unknown-linux-gnu-7baf35372f2e1bb8зzl(3 #dh