Files
archy/core/target/debug/deps/libzerotrie-f10a0af380abd751.rmeta
T

1552 lines
335 KiB
Plaintext
Raw Normal View History

2026-01-24 22:59:20 +00:00
rust
‡9#rustc 1.93.0 (254b59607 2026-01-19)Á³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0Á
displaydocÁà¿ÿ©]n´ùRèê]-8a7302fc0e16b6baÁzerofromÁˆo“ÄÄx(ÃjBsÖ›ªÅ-e7a4aaab09db7e3aÁzerofrom_deriveÁ¿ &èé•)ˆç-03b1dd1f2d87713aÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6ÁyokeÁÓ\¾^Œ†ícN¼è¸¼bH-17a2be691e559186Ástable_deref_traitÁþÖ›#Ÿžõ E4Õèr-80e318edb62c0e9cÁ yoke_deriveÁ­Ù@÷ò+çšFåcz-5e7d4687001d5481Áá,„
á
΋
BoxÁserdeÁ<öŒìlitemapÁ<ßA<ÅALÏAœÅAnonconstÁDB<îAá<øAŒîAbuilderÁ<Êጲ cached_ownedÁdñáŒÙPerfectByteHashMapCacheOwnedÁä°<†á<Œ†
P_FAST_MAXÁTº<„ጄ
P_REAL_MAXÁT‡áŒÑ
Q_REAL_MAXÁT¸<ጂtestsÁ,´Gà$•G÷4œ><õ=á<ÿ=Œõ=÷­˰<§°á<±°Œ§°÷ZeroTrieIteratorÁ„‡²<×±á<᱌ױ÷ get_iter_phfÁdŠÌ<èËá<òËŒèË÷get_iter_ascii_or_panicÁ¼ˆÎ<ÃÍá<ÍÍŒÃÍó,“ó<…ŒûTrieBuilderStoreÁ„
 á ŒÝ !try_read_varint_meta3_from_tstoreÁüü!áŒÚ
MAX_VARINTÁTµ$à$¨$write_varint_referenceÁ´Ú5à$¿5Ù,Þ<à$Ó<ŸByteStrÁ<·<€áŒ€ŸZeroTrieBuilderÁ|Ó.á,*ZeroTrieBuildErrorÁ”ëYáWUà¯<ˆá<ŒˆŸdDÁ៮7á53PáNL­÷iágeLiteMapÁ<¦LœƒŸstring_to_box_u8Á„òÇ<ÛÇá<åÇŒÛÇŸZeroTrieStringIteratorÁ´™É<üÈá<†ÉŒüÈ
´ðáŒÃ„²á<˜ŒŽ³Ò branch_metaÁ>bytestrÁ from_byte_slice_with_valueÁ
'aÁ
'lÁ from_str_slice_with_valueÁ
ô
ý 
from_bytesÁ ÷ emptyÁ as_bytesÁ ¾   is_all_asciiÁ byte_atÁ byte_at_or_panicÁ  is_less_thenÁ  prefix_eqÁborrowÁkonstÁÒZeroTrieBuilderConstÁ&Í&dataÁ)Í)build_or_panicÁ+ ) - )
prepend_asciiÁ)
prepend_valueÁ)prepend_branchÁ)
prepend_sliceÁ)prepend_n_zerosÁ)bitor_assign_at_or_panicÁ)from_tuple_sliceÁ5ô5)from_sorted_const_tuple_sliceÁ8)create_or_panicÁ::
USIZE_BITSÁ==?ô??
from_sliceÁ?from_manual_sliceÁ?¾ ? get_or_panicÁ?¸ =GôGGï=KÍKK>N N =QÍQQ new_emptyÁT QœV Q¾ Qis_emptyÁQas_const_sliceÁ=[Í[[const_build_or_panicÁ^ ^PREFIXÁ` ^ [const_push_front_or_panicÁ[const_extend_front_or_panicÁ=eÍeconst_bitor_assign_or_panicÁ=hÍh=const_for_eachÁ==ConstLengthsStackÁmm¯o midxÁ=rrÍ=uu w uÆu
push_or_panicÁu
peek_or_panicÁu»upop_many_or_panicÁ} } uas_sliceÁ= map_to_ascii_bytesÁƒ Í from_sorted_u8_tuplesÁŒŒ from_sorted_str_tuplesÁ byte_phfÁ
Q_FAST_MAXÁf1Áf2ÁStoreÁ
from_storeÁšæšgetÁš num_itemsÁškeysÁ𨠴¢æ¢ as_borrowedÁcursorÁ¥¥¥¥¥ªæªî¥­æ­î¥°ô° into_cursorÁ¥³ô³Ç¥stepÁ
take_valueÁprobeÁÆ¥»ô»»»Æ¥ÀÕÀ
write_charÁ¥ÃÕÃÙerrorÁÆÆhelpersÁÉ MaybeSplitAtÁÊÊdebug_split_atÁÉÍÍÀÏ É
DebugUnwrapOrÁÑÑdebug_unwrap_orÁÉÔÔÉ debug_unwrapÁÉÉMAX_USIZE_LEN_AS_DIGITSÁÉ
const_fmt_intÁÚÚÍÚ Ú Ú Ú è ááááááZeroTrieWithOptionsÁçOPTIONSÁáééæ áìú áîú îæ áñú ñæ á ôú ôæ readerÁ÷÷÷÷÷÷÷
get_branchÁ÷
get_branch_w0Á÷NodeTypeÁAsciiÁ
SpanÁƒ
ValueÁ
BranchÁ
÷ÍŠ÷ byte_typeÁ÷get_parameterizedÁ ÷step_parameterizedÁ ÷probe_parameterizedÁ÷varintÁread_varint_meta2Áread_varint_meta3ÁMAX_VARINT_LENGTHÁwrite_varint_meta2Á write_varint_meta3Á zerotrieÁŸŸŸ¢æ¢transparent_ref_from_storeÁŸ¥æ¥
into_zerotrieÁŸ¨æ¨Ý%Ÿ«æ«Ý%Ÿ®æ®Œ&Ÿ±æ±Ý%Ÿ´æ´Œ&Ÿimpl_zerotrie_subtypeÁŸ
impl_dispatchÁŸ¹æ¹
into_storeÁ¹
convert_storeÁ¼NewStoreÁŸ¾æ¾À¾Æ¾byte_lenÁŸ Ä'zfÁÄStore1ÁÄStore2ÁÄ zero_fromÁÈ _internalÁÐÐÐ
BranchMetaÁÔasciiÁÔ local_lengthÁÔcumulative_lengthÁÔÃÙÍÜÈÂ
ß
ßìãÕå˜ç¤ éÐ=
ConstSliceÁëôëë
full_sliceÁëŒëlimitÁ=
ñôññÍ= õôõ= øôøøÈ=ConstArrayBuilderÁüÍüü
full_arrayÁÿ üŒü¤+=
ƒÍƒƒ ƒÍ=ˆÍˆˆ =ŒÍŒŒ ŒÈ PerfectByteHashMapÁ
æìæÍææÕžæž˜¥ZeroTrieSimpleAsciiCursorÁ¡ô¡trieÁ¥¤ô¤Í¥ §ô§È¥ZeroAsciiIgnoreCaseTrieCursorÁªôªÐ.¥
­ô­Í¥ °ô°È¥AsciiProbeResultÁ³byteÁ³total_siblingsÁ¥ Í¥
¥¥ºÈ¥¥½Õ¥¿˜Æ ÆÂÍÆÆÆÆÈÆÆÉÕÆË˜ÆÍÎÍÁ
NonAsciiErrorÁÐ
ÁCapacityExceededÁÒ
ÁCouldNotSolvePerfectHashÁÔ
Á MixedCaseÁÖ
áPhfModeÁØ
BinaryOnlyÁÙ
ØUsePhfÁÛ
á
á á ßÈá AsciiModeÁá AsciiOnlyÁâ
á BinarySpansÁä
á
ááèÈá CapacityModeÁêÑë
êExtendedÁí
áááñÈáCaseSensitivityÁó SensitiveÁô
ó
IgnoreCaseÁö
áááúÈáZeroTrieBuilderOptionsÁüphf_modeÁü
ascii_modeÁü
capacity_modeÁücase_sensitivityÁáááƒÈŸ
æÍŸ ˆæˆÈŸ æŸ
æŸæÕŸæ˜ŸZeroTrieÁ
æìŸôæØ transformÁtransform_ownedÁmakeÁ
transform_mutÁ  'bÁŸZeroTrieFlavorÁ£æ£ SimpleAsciiÁ¥
¥ì£ PerfectHashÁ¨
¨ì£ExtendedCapacityÁ«
«ìŸ®æ®ÍŸ±æ±ÈŸ´æŸæŸ¸æ¸ÕŸ»æ»˜ŸZeroTrieSimpleAsciiÁ¾æ¾ŸÁæÁÍŸÄæÄ>ŸÇæÇÈŸÊæŸÌæŸÎæÎÕŸÑæÑ˜ŸZeroAsciiIgnoreCaseTrieÁÔæÔŸ×æ×ÍŸÚæÚ>Ÿ ÝæÝÈŸ!àæŸ"âæŸ#äæäÕŸ$çæç˜ŸZeroTriePerfectHashÁêæêŸ%íæíÍŸ&ðæð>Ÿ'óæóÈŸ(öæŸ)øæŸ*úæúÕŸ+ýæý˜ŸZeroTrieExtendedCapacityÁæŸ,ƒæƒÍŸ-æ>Ÿ.æÈŸ/ŒæŸ0ŽæŸ1æÕŸ2星3æóÉ'Û'šŸ4œæœžœÆœ¥(œØœÜœas_borrowed_sliceÁŸ5¥æ¥Ÿ6¨´Ÿ7ªÍŸ8¬º(¬Å(¬Ó(¬á(Ÿ9±æ±ó±É'±Û'µä?Ÿ:·æ·¹·Æ·¥(·Ø·Ü·ª@Ÿ;ÀæÀŸ<ôŸ=ÅÍŸ>Ǻ(ÇÅ(ÇÓ(Çá(Ÿ?ÌæÌóÌÉ'ÌÛ'Ðä?Ÿ@ÒæÒÔÒÆÒ¥(ÒØÒÜÒª@ŸAÛæÛŸBÞ´ŸCàÍŸDâº(âÅ(âÓ(âá(ŸEçæçóçÉ'çÛ'ëä?ŸFíæíïíÆí¥(íØíÜíª@ŸGöæöŸHù´ŸIûÍŸJýº(ýÅ(ýÓ(ýá(











2
5
8
8
:
:
D
E
F
X
Y
Z
d
t
t
t
y
{
|

ƒ
Œ
Œ


œ

ž
Ÿ
¡
¤
¬
¯

·
¸
¹
º
»
¼
½
¾
¿
À
Á
Á
Â
Ã
Ä
Ä
Å
Ì
Ï
þ
ÿ
Š
Š
Š








˜

  ¤
ª
­
³
À
Â
Ã
Ú
Ú
Ú
Ý
ä
ä
æ
è
è
ê
ê
ô
ô
ô
û




˜
˜
˜


 
¦
¦
¦
©
¯
¯
¯
²
·
·
·
»
¾
¾
À
Ã
Ã
Ã
Ç
Ê
Ê
Ì
Ï
Ï
Ï
à
é
ò
û




Š




°
°
°
³
º
º
½
Ã
Ã
Ã
É
Ð
Ð
Ó
Ù
Ù
Ù
ß
æ
æ
é
ï
ï
ï
õ
ü
ü
ÿ







ž
 
¡
¢
£
¤
§
©
ª
«
¹
»
¼
½
¾
¿
Â
Ä
Å
Æ
Ô
Ö
×
Ø
Ù
Ú
Ý
ß
à
á
ï
ñ
ò
ó
ô
õ
ø
ú
û
ü
ÊÑçà`ÔÔ­)Õ¿)ÖÌ)×à)ØÃËöƒ*<ÁB>á¿OÞ¿Oþ¿O¬âßßàÂ
áì ~Z!5ckžªPªP£ªPɪPªPêP¦ªP
à`ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅôþQÞQúQ ô
åQà`üüü+ÿ¥,=Œ=¤+=$®0n66ÍåQþ›RÞ›RÄ›Rà`mmÊo¯=qô=yRŽ÷:Äîà`¬-ì ··ö¬çÊÜ‹æ¬âËSžËSËS£ËSà`¡¡§.£Ð.¥Íp)b¡~
ŠôÞ«Tà`ªª†/¬Ð.¥Ì=¸¶@ÃôôÞïTà`³³å/´ý/µ‰0#±_lüéEþ³Uá³UÞ³U¬â³Už³U³U£³U‹`¡¡§.£Ð.¥Íp)b¡~
Š8‹`ªª†/¬Ð.¥Ì=¸¶@Ãô8à`ÁÐÑÁ1ÒÓÛ1ÔÕø1Ö×2ós M­ÀêþŸWáŸWÞŸW¬âŸWžŸWŸW£ŸWå`ŸWÏŸWÊ
ÐXÑø°ú°û°Ðü°ý°þ°ìHˈXêE>ÐXÐXþØÙÚÂ2ÛÜÙ2ÌR¤$)ö>á±YÞ±Yþáâã”3äåª31la{ÕöùáZÞZþêëìÑíîú3ÿ`–=áÑZÞÑZþóôõ½4ö÷Ó4Ìœn,‹@=á¡[Þ¡[þüü5ýŸ5þ¯5ÿÁ5Ö5ìõxfÀàúøáñ[Þñ[ç¾¾‚:À¶Ñè*£ìƒ²ú çÔÔ¯;ÖuÚ.7Šû\çêêà<ì<X}|Ø6K¹û\ç>"þ|»k¸û\à`¹"ƒË"Ü"ˆî"B¨©OÀó6˜ì ÄÀޏ-æôà`ó6˜ì ÄÀޏ-üSÞÃ_þÃ_¬âÃ_žÃ_Ã_£Ã_à`£¥¦¯8§ì¨©Ï8ªì«¬ï8­ì5 A_Ì)üSÞ³`þ³`¬â³`ž³`³`£³`à`¾¾‚:À¶Ñè*£ìƒ²üSÄÙaÞÙaþÙa¬âÙažÙaÙa£Ùaà`ÔÔ¯;ÖuÚ.7ŠüSÄÍbÞÍbþÍb¬âÍbžÍbÍb£Íbà`êêà<ì<X}|Ø6K¹üSÄÁcÞÁcþÁc¬âÁcžÁcÁc£Ácà`>"þ|»k¸üSĵdÞµdþµd¬âµdžµdµd£µdñÙa¾¾‚:À¶Ñè*£ìƒ²’Q¦¾¾‚:À¶Ñè*£ìƒ² 8’Q¬e
¾¾‚:À¶Ñè*£ìƒ²Ó(º(¾¾‚:À¶Ñè*£ìƒ²Å(ñÍbÔÔ¯;ÖuÚ.7Š’Q¦ÔÔ¯;ÖuÚ.7ŠŠfŒg
ÔÔ¯;ÖuÚ.7ŠÆfº(ÔÔ¯;ÖuÚ.7ŠüfñÁcêêà<ì<X}|Ø6K¹Q¦êêà<ì<X}|Ø6K¹Šfàh
êêà<ì<X}|Ø6K¹Æfº(êêà<ì<X}|Ø6K¹üfñµd>"þ|»k¸Q¦>"þ|»k¸Šf´j
>"þ|»k¸Æfº(>"þ|»k¸üf
ó6˜ì ÄÀޏ-Æfº(ó6˜ì ÄÀޏ-üfÙÔñëƒürm–¤¡­ª³ÂÁ®£Á¾×ÔíêƒÛÔ¹³ÅÁÞØçáðêùóüÜÔøëŒü§¡°ªº³ÆÁߨèáñêúóƒüˆ±£Ç¾ÝÔóêÞÔõëˆü¸³ÄÁÝØæáïêøóü´£Ê¾àÔöêŒâß¼³ÈÁ£Ì¾âÔøêŽãß½³ÉÁ¸£Î¾äÔúêåßž¿³ËÁ»£Ñ¾çÔýêçßéßߪ¾ÅÔàêûGëKüľÚÔðêÀ¡ÃªÎÁÈÁÍ Ôø°é¾îÔñêô¥¾ÀÔÛêö¬¾ÇÔâêýÄà`ÈánÞ8þ~¬â
pž
F£
FÉFæú"Ä`"å`ÏÊÑçÀñ
üÞ
Ô þ“Q ½  Ùt ÓÙtåüµ°¿OÜ«  
 ªPÙt ÅÎ
üÓûÚuÔµ 
 QÙtvsinputÁEÜ» Úu ÕÞ
üÔŠÚuÔ´ 
 Ùt¤wgµu?
’Q ñ
ò
üµ
=v
ßu
v_3Q
 ª
Ýp“Q: ®µüø
=Ùt,“ßu,‰›v3’Q/ B’Q ±²üÕ]“QßuÙt,Ùt© ’QŸÙt¦¬1ö5_ 
Ùtüî t“ T—$—  
$œ
 0   iz '-
¥   


$¯é|
.  ³
g
  x

' - üÃF´Æ ÍQ+7H [’Q ÚQ+7H [’Qâó  Û
 ˆDJPV
@Fü–G´™L™  Q+ 7! H ! 
[Q" ­##$Q+%$7&#%H &%# ["Q#â"ó
 ®#"
 ÜF#L"RXÝ
BH( ïÙt$ ('ÙtJ(ÙtüµÆ ú

À
ÈÊ Ñ _t{w
ø•î* l*r
x úT„,$„--
$é|-.,,‰ -\.,//
$é|/..,— /Ä„,.., ¡¢N
UÞ'%.ü®ôüö¬0ßußuÙtkCfÙtfÙt[ßu[ñÙtñÙtæßuæ}“Q}Ùt}¨{Ùtœ“Q7Ùt7¨{GÙtOVüÝ,a_“Q_Ùt_¨{oÙtw~“QÙt¨{)Ùt18ü°-ÙtDŽÙtoßuoÙt3ßu3vî {»¼ø !Ä“T“
$¦é|. ªgx
'- ¬  « ø
"
̾   

$Òé|.
¾Ä3 :
BH
³UÎ*©wØ g Ö¬  
½ '
-
Ø
 
×  
 î
Ùtüù Œ
 FM
U[ÓŽ+©w§xtÿ ÿ.?
ŒüœH¼Ÿ ¦Q+7H  [Q ´Q+ 7! H ! 
[’Qâó
µ
 ã  agmsä
]c# öÙt$ #'Ùt
J#ÙtüŽt ÇÄ
Ì 18ø–ù% % $
'ü°åüâ³'ßußuÙtifÙtfÙt[ßu[ÙÖÙtÖÙtËßuËÿÙt訠Ùt Ùt][“Q[Ùt[¨{kÙtsz“QÙt¨{%Ùt-4ü·-Œ‹#š¢©,î 1
prefix_lenÁ@»íŠüüü+ÿ¥,=Œ=¤+=$®0n66Í“QüÔ 

¤Þ
^Í“Q´Þ óú+ü]“QÍ&&(¯¢¸9‰A5ÍÞ™güã '4€

“QÍ+
2äã 
TÍ“QG ˆ
ÙtÍ
h
üÊ K
&Í

-ü¥ v‘›Þ™Â‚›Á(ÙtÍüü adÿ ,ÿ ˆ €“Q6 Š ù@#ù¨"# 
ù˜¨"#
×`ü¡ 0.©w @O
Vá#
¯U bt
Ý 
 Ü  
  Þ™,•
  üñ *

Ìû 
c͓Q R ?
üû 
š
 

$­


&Í ²
Ӵ


 µ
Ùt

¼

½
/ü¹ üæ W‘›Ùt ‘› “Q (&“Q&üŒ Qùæì#þ–½–½ ArgumentsÁ˜½templateÁÁ]™½þÁ]¤í¤>ÜIšÐHÞ™¾Þ™¿“Q¯‘›\Þ™]È¿)̯
Þ™,†üë!

Ôë
2' üÑ?ìò  
#tÿ
ZÙt
“Q @„ÿ Ž z
ÜÖ
dÍ“QüÖ: üÊFüü/
  
#Ü
gÍ 4 ÙtT €“Q
ü* ª üõ6

 


&Í
Â
Ӂ
#Ò
XÙt
“Q@ Öüµ#
  × ÝÞ0üðîü¶¨üØØ¡‘›$‡Ùt,Þ™äüüü+ÿ¥,=Œ=¤+=$®0n66Ùt
“Q"Ùt"Þ™åÞ™åëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅ“Q Ì©"Þ™{Þ™{‘›Þ™ÙtÕŠ«Ö˜!¯  varint_arrayÁÞ™dÿüŽ!

ÔŽ
2' ®üù?ìš  
#–¥ .„§  h
oÜþØ¥yküþ: ·üòFü¤/
  
#Ü©Φ - ÅÙtÀ“Q
ü©* Ò ü6

 


&Í
ê
Ӓ
#ú—¨. þüÝ#
  ÿ 1ü’ôüÙ­üûØ¡‘›ÙtÞ™¯Ì©žÙtžÞ™aÞ™a¾ªWŠ«XÞ™Íޙ͑›YÞ™ZÙt.Š«/˜¯=öª0å
DÞ™ ·
 ¹
D“Q6 ½üȳ  Î    ÒÙt= $ ü¦6
  ´Å ¬Æ
Æ Õ ÙÙt= 'ÙtcÙtK

E“Q¬
œÈ ÚÝ


Ì«    
ü«1 Û  üŸ=

Ü
 ïÙt$ 'ÙtJÙtüÔ§ ú<
D ø™È³ =C úl…
&Í <” 
#Ƴ. ,– šÄ„
  ¡¢2ü¾äü‰ü«÷Ø¡‘›¾ª ÛÞ™úÙtè ¾ªì¨f£Ùt£Þ™cÞ™c“QX “Q[‚»\ÙtPÙtPŒ‹aŒ‹IÂÊÑ‘›ªÞ™«Ùt‚»ÙöܯٻË6Þ™ ÷
Ùtü‚ž  ˆ Œ  . ?2 8üà!
  
#Ìå  - ÿ“Q
äå  üÙ(

4  Ùt$  'ÙtJ ÙtüŽ šŸR
Z
4 ;øšž DJ Ÿ
&Í µ »¼3üŽ®üÉóüëÑ‘›‘›Ùt ­Þ™tÙtbFYAÙtAÙt6Þ™Þ™Œ‹¤%Þ™þ¯»òâ
Þ™üò -,“!$š!B
IÜ÷ ΦSE7ü÷ (
ž!üë 4"$°!  l©!
&Í µ! »!¼!4ü÷ÅüÉ s
‘›‘›$™ Ùt“QÞ™EÞ™4Þ™4Ùt)“QÞ™¹PöTbitsÁ\¯¤§,˜%,·%ì %
 ´ %
BÝu8+ ¼%DË%$ë%
ø°ßuøî<ë (ü< „=  Ùtø Ø•= •=    ¸™= 
,‰&  
$«= 
DÝu 5
(«= ¯=  s 
(
. øÿ=! 
ˆž>  0
7`> 
EÝuÉ:
x> Ÿ>  L&  
ßu > 
ü &Âü®&†$´& T®&" $ì&ßuä'$'L¡'" ">
Ed”'
QA ¼”'Ó&

ƒ
 ª'”(
 “( ¥(

9?ù@#ù¨"# 
ùž¨"#מüÍ'/-©w  <K
Rá#Ÿ\n ´(|É(LÎ(# #)
ø°ßu ×(´Â(
%´> 0Â> Ç> Ùt& (ÙtLÙtø±=¢ 
Ò>  œÒ> á
é {
 øœ  DJØ>  ,)!!üí(/

üí((
8Í!>3 )! ¡)¢)5ü…$ü”%ŽüÇ%Ûøø<á øó=` üç&¿$ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶‘›ŸWüé$ Úu,À$ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅÝu8Úu8ø°ú°û°Ðü°ý°þ°ìHˈXêE>ßu8îÙtWùÙtøÙtì ÄÒï ßu Ýu“ÔÙt$Ë&ßuí×ßu×ßuÊü¬'hùæì#-¬¢+˜ÓÅßuÅŒ‹aÇÏÖÄÒ¨ßuÈßuÐitemsÁ¹ðÔ³prevÁo»Q ascii_strÁ  ÕÏ­ T¤-\±-
 L±-
-Í&TÊ-üÞ-9üõ-"4õ-,.  /
6|ü-
:ÍN @Üü- . 4ß-‘›Tç-Ùt=5
;
F
ä-
A G R ð- þœ¢ —.ù¬TT  ñ¯T 



ÉÜT ü¯.T¯.Œ½.\½.Þ™!
(É.
XÍ“Q=,É. Í.wˆ'-õT   ôT 
ùÎT2  
v|û
 ÓŽ}-1©w‡-,€U   ~ ÿT 

 4Ü.TÙ.
곑›ŸW â. è.é.8ü‚,çü -ÉüÆ-£.ßÑüõ, ÄÒ,Æ,‘›Ùtaa‘›éÙtÙØ¡r‘›rÄÒh‘›Ùtƒ[XÙtWÙtL Þ™P‘›/ðÔ­Û
;
total_sizeÁ¨tä0„û0Lû0
#$…1
FÝu44…1 Š1R ´õ0r\è1

Lè1øÖ
% Ÿ1ªÔ¥1ößuöL¥1
 ©1é|B,©1 ­1 ‚2ŒÑ2 ìå2
 Üå2
w &„ç1

 õ1Ùt ö1
e ´iµi§,3 |˜3
L˜3
#¢3ÓÈ.
,¢3 ¦3œ˜3
 ª3Ùt$ 
'Ùt J ÙtK
,¹3LÁ3|Á3
 Ë3ÓÈ0
,Ë3 Ï3|Þ3 ð3
Ùtü›4Í4  4²4L»4 Ò4 Ì»4
 dÅ4çÉC4 |Å4 Ó44æ4Lï4,†5 †5 Š5Ùt= 'Ùt
cÙtKìï4
 dù4çɨœù4 ‹5ù¬TT ñ¯T 
 ÉÜT ü¨5( D¨5!÷ßu!÷D»5"øßu"øTÅ5##j
qL±5
!|"Z#8 ü±5   Ï5#"!õT   ôT  
ùÎT2 
>W#]"c!!$(
06ÓŽÉ4:©wÓ4$S€U  ¥ ÿT 
ü™6¨%äœ6&tœ6'Dœ6(ùßu(ù/
6¥6é|(@',¥6 ©6(T®6))y&')Š&
·6)'Ï6*üä6* +äò6 .$ò6 / /D…7 0 0Ùt3
: l÷6
0Í/L0>.¼÷6 7 0 /$å6 , ,.‘›ë6 - -.Ùt= .5
1;
1,F
1 è6
1A
2G
2-R
*2 í6
2û +œ -¢ , Ž7 +¯7 3 3*” 7 43 43* 4Ùt ±7 3ü¹6ˆ%  À7*J°)·'Á7%
t<&B%üÎ7k5|Ñ76TÑ77767 ß7Ùt=6 $7,¥8
 ¸865 çhø7ñh!ðÄùhñlùhò ò 
&D‡i
yò¤T‡iº7¹85
6œ5|Œ99 š9Ùt$ 9'Ùt J9ÙtL­9: ¹9: LÌ9 ; Ø9 ;\ë9 <Dù9 = úßu =úT“: > >üù9%

„‚:
=X>6<ä‚: : > =\°:
?D¾:
@
ûßu
@ûTØ:
A
Aü¾:%

„Ç:‹ô@WA5?äÇ: â:
A
@ù!¬TT Bñ"¯T C
CC# É#ÜT D”ÿ:E<ÿ:FF<<Š;GG?.EFG?E"! ;GF#õT D  #ôT E
Dù!ÎT2 B
×$PGVF³H¹
ÀÅÓŽ.;$©w8;Há!€U B 2$ !ÿT C
BL¤;I<°;I<üÅ;¶J %üÜ;<KTß;L,ß;MM:LM è;Ùt=L'&$M,€<J
 —<LK<9 TM˜<K
0L6KL­<Oü¹<!PL¹<QQLÐ<R,Ð<SS:TS Ø<Ùt= TS'Ùt(cRTÙtKS
œdÃ<çÉQ¦R—P)¼Ã<
Ù<RQü¹<#OPßu Ü<Püî<oUäñ<V|ñ<WLñ<XXO
$û<é|X.W*,û< ÿ<XTƒ=YYgVWYxV,+ Œ=YW,Å=J
 Ü=VUô=88Y>WÝ=U
6V<Uüî=”[üñ=)\Dñ=]üßu]üL„>^^OT>__X
_Lú=›é]i^G_7\-üú= \0. ™>_^]T±>`: º>Ùt$ `:'Ùt/
J:`Ùtü›>3[  ?\[ü“?­bì–?c|?dL?eeO
$ ?é|e.d1, ?ä_ê^ð],ê>J
ˆ\Ž[á?8 ¤?eT©?ff¡cdf²c32 ²?fd,¨@J
 ¿@cb @8 8f>dÀ@b
6c<bLÕ@hLá@iiOTü@jjüá@&

„ë@‹ôiEj5h4äë@ †Aji¤œAkLœAllh<©Amm<.klm?k65 ¯AmlLÑAnnhœÇA<n ÙAnü±A< ü™AT7Um[líA
*7 ìAk úAhOK
S%O @9.JüˆB™o :üŸBJpÄ¢Bq,¢Brr;|«BsL«Btt
#µBÓÈt.s;,µB ¹Btgqrsxq=<'s-r,ÑBo
 èBqp @O ]scréBp
6q<pLþBvìŠCwLŠCxx,¡Cyy;/
6d”CçÉxAy2w>œ”C
¦CyxüŠCvwßu ©Cwü»Cozä¾C{|¾C|L¾C}}v
$ÈCé|}.|?,ÈC ÌC}TÐC~~g{|~x{A@ ÙC~|,Do
 ©D{z @N8~>|ªDz
6{<zü»D”ü¾D)D¾D ýßuýLÑDƒ ƒvTÜD _
fLÇD›épƒM<BüÇD ˜EC æD ƒTþD; ‡EÙt% ;(ÙtD
L;ÙtüèD3  ÎE üàE†ìãEˆ|ãELãEŠ Šv 
'íEé|Š1‰F,íEôûƒ,·Eo
œ @N ñEŠTöE °ˆÄˆIG ÿE ù'@#Žù(¨"# 
ù ¨"#מüžF42©w H>N
Uá'#Ÿs ŽæF  åFˆ LûFL‡G vT¢G ü‡G&

„‘G‹ôJ9Jä‘G ¬G ¤ÂGLÂG <ÏG ?4HLK ÕG L÷G œíG? ÿGü×G< ü¿GTM\c“H
,M H  H vË
Ó:v @O/oüÝIÔ¤àI˜<àI <LëIš šI3˜šG˜cP óIš ¤øI<øIœ œ?LƒJ I3œGbQ
‹J œ£JŸü¸J) ÜÆJ£$ÆJ¤ ¤<ÙJ¥ ¥<3
:lËJ
/ͤL¥R´ËJ àJ¥ ¤$¹J¡ ¡£‘›¿J¢ ¢£ÙtE£<¦C¦¡P¦ ¼J¦J§Q§¢^Ÿ§ ÁJ§ ²¢¹¡ áJ ‚K¨ ¨Ÿ”óJ©¨ ©¨S.©Ùt „K¨ù)¬TT ªñ*¯T « « «[TÉ+ÜT ¬T¥K­ ¥K® ® ,ªK¯ ¯:3­®¯G­VU ®K¯ ®sZ ¯ ®t³K° ³K± ± L¸K²,¸K³ ³:´³ ÀKÙtB ´³)ÙtWj²´ÙtO³ °±²´°YXy²±[Z²˜±qµy
ÓŽ @.©w ¥+õT ¬
 +ôT ° ­¬ù)ÎT2 ª+\)€U ª
J\ )ÿT « ª,ØK :LÔK  ÜKù-¬TT ·ñ.¯T ¸ ¸ ¸`]É/ÜT ¹TýKº ýK» »,L¼ ¼;3º»¼Gº_^ †L¼ »/õT ¹
 /ôT º ¹ù-ÎT2 ·ëaV¼]»Å½Ì
ÓØÓŽ @ ©w õ-€U ·
Ka -ÿT ¸ · °LŸ ˜ @£ÑÙœ @dQšY @d ±L pw˜~üƒM‘¾¤†M¿<†MÀ À?LMÁ ÁI3¿ÀÁG¿fe ™MÁ ÀüûMâÂlûMà à ü—NÅÄL¿NÅ ÅI\ñNÆ Æ\ OÇ ÇJÄ
ÔÅÇÆ ÈOÙt ÛOÇ ÆÅ³
ºl‰N
zÃÊÄ»Âgü‰NÔüÁÀìÈQÊlÈQË Ë 
&lÖQ
{Ëh|ÖQ ÜOÄ ÃüëMò  Âü›MѾ
úl äQËŒïPÈ ÈÊÙt,–QÉ ÉÊÙt åQÊü‡RþÌl‡RÍ Í ü£RáÎLËRÏ ÏIüýRÐŒýRÑ ÑÈ\‘SÒ Ò5ÓÑÒI ÓÑÒi cÐÓÙt ›SÒ Ñ\ÀSÔ ÔLèSÕ,èSÖ ÖÉ×Ö ðSÙtC ×Ö)ÙtjkÕ×ÙtOÖ<Î
ÔÏÔÐÕ ƒTÕ ÔÐÏ
¥l•R £Í¯Î¡Ìkü•Rð „TÎ Íü÷QŽ Ì ÌüòO¢¾
 “TÉ Èil ¿!¾ü¡T䨤¤TÙ<¤TÚ Ú<L¯TÛ ÛI3ÙÚÛGÙqm ·TÛ Ú âUÝ Ý ,ÞUÝ#Ý4õUÞ  úUÙt% Þ (Ùtn L ÞÙtüšV!ßÜšVàÌšVáLšVâ â ±Vã ã 4
;d¤VçÉâFão|¤V ²Vã â}þáßuàþ¨
¯¶Vé|à¸ßp,¶V ºVàüV.ßß »Vá|ÍV ÛVÙt „WÙ Ø @£
ÈÛÐÚ…WØ >ÙEØüÒWçæìâXélâXê ê 
&lðX‡¤êr|ðX þXꌉXç çéÙt,°Xè èéÙt ÿX錒Yë ëç,¥Yì ìèÔ‘Yæ
ëì ªYì ë ¸Yè çdµWä äæÙt\ÃWå åæÙt ¹YædËYíüåYLîü…Z,ñl…Zò ò \¥Zó óå5
<Œ“Z
}òMósô“Z °Zó òlæYï ïñmmÊo¯=qô=yRŽ÷:ÄîdõYð ðñüüü+ÿ¥,=Œ=¤+=$®0n66Ùt¿OÊñÁôÈôïÕ ô òYôšõ¡õð®íõ €Zõšî¤7ð?ï ±ZîlÃZödÓZ÷ ÷íüÓZ!

ӈZ
ƒÙt÷t¤àZ
óZ÷dº[ø øäÔ¬[ø Å[ø ¡\ùü¥\:úü¦\4ûü³\'üä´\ýd´\þ þä
&lÁ\
ØÍþu|Á\ Ï\þ_üýÙt Ù\ýÿT¦\<ÙtüŸ ÿ"<ÙtüvÀûÿÙtXüâû Ý\Ùt û*Ùtw/úÙt Þ\ûü¥\> â\Ùt!Ùt5 úxGù úHÙtZúüñ\N,ô\ƒ ô\ ùƒ ø\ÙtCƒ{y%ù3@#ù4¨"#ˆ 
ù¢¨"#מä“]
©w ˆz=M
Tá3‹#Ÿˆ^‡r¢¿]  ¾]ƒ ,Ð] Ø] Ùtüç]¡Š
|4í] í]Œ Œ ò] ù5ŒI} :AŒü^%Ž$^ |¢^\¢^ å °^ÙtC )Ùt~kÙtO¢
©|^
3ͺ«Žü’^  ±^ ü†^,ŽŽ|Ó^\Ó^ å á^ÙtC )Ùt€lÙtPôÄ^ /Ùt,ø^ €_ Ùtœ—_˜ ­_˜ ÙtüÀ_¢
|Æ_š Æ_ \Ê_œ œå5šœIšƒ Ô_œ ü“`qžü“`6Ÿ
 d“`¡ ¡í(
/t¹`
ZÙt¿O¡„¹` eŸ  È`¡œð`¢|ð`£\ð`¤ ¤å þ`¥ ¥5¦¤¥I ¦¤¥d£¦ÙtV¥]¤Œ§£ ‚aÙt° §£)Ùt†Ù¢§ÙtP£w
dã`
E¿OŸ¢žüã`! ƒa¢ Ÿdý_ žÙt „a  žœža ¨|´a ¨˜,Ýa!© åa!© Ùtüüar"ª "ˆ,b"« b"¬ "¬© †b"­ "­5"«¬­I"«Œ;"­B"¬¬¢b"® ¶b"¯®,@<" ¯¨@Š^"¨¨`4Ñb"°© ÖbÙt&" °©)ÙtO"©°Ùtüˆbf" ¥íb"«t"
|"ˆ R"­Z"¬ø¥üar"² "ªI"²P"« íb"ªüƒc|"´,†c"µ †c" ""µ ŠcÙtC"µŽ'"ü­c;"·$­c"¸ "¸,Ëc"¹ Ëc"º "º"»º ÏcÙtC" »º)Ùt¹"ÿc"´  ""¹»Ùtu"º¬Òc"¼|Òc"½ "½¨"¼½“Q æc"½"
"IJc
4͸¹ ¼ü²c6 çc"¼ "¹"¸ü¦cB"·&"·üŒcs"´ ë" þc"µ "´4”d"¾ ™dÙt&" ¾)ÙtO"¾ÙtdÃd"¿ "¿ü°d"À˜¿" À˜¿2"˜ÀÙt Îd"¿üÖ_Œ  ád!© ¨¤ádšp
xœø¤À_¢Â
JÂQšo4ódÄ ødÙt& Ä)Ùt•OÄÙtüô]”  ‡e˜ £‡eä

ì
| Á
É
Œø£ç]¡Æ
ŠIÆPgŠø5¿e.È|ÇeÉ\ËeÊ ÊåÉ ÇeÙtÊCɘ ÕeÊ”ÚeË\ÚeÌ ÌåËÌéeÙtCËš]Ê @ ëeÌ5íeÈ 5ìeË
ÉÈdÿeÎDŽfÏ fÐ ÐùÑ ”f;ÒÑI@Y ÒÐ@œ¹Ì @Í¡
©¯ÓŽ @ 7©w ÍÆÏЫ •fФ™fÓ\šfÔ ÔåÓ Ô$¨fÿÙt ¬fÔüŽfÕÏÓ ÕÏÓ 2ÎÕÙtLÓSÏL¿f#ÖüÖfF$×üêf2$Ú$êf$Û $Ûôýf$Ülýf$Ý $Ýö $
'$tg
ZÙt“QÝž„‹g šg$Ý…$
Œ$lïf
2ÍÛÜŽÚŸüïf- ›g$Ü $Û$×f$Ø $ØÚ‘›LÝf$Ù $ÙÚÙtE$Ú<%ÞC%ÞØP%Þ Úf%ÞJ%ßQ%ßÙ^%Öß åf%ßg$×q²$Ù¹$Ø œg$×T®g$àüÆg6&áüÛg!&ä$Ûg&å &ådïg&æ &æÎ5&
<&tàg
1ÍåMæ äàg ûg&æ &å$Çg&â &âä‘›TÍg&ã &ãäÙtE&ä<'çC'çâP'ç Êg'çJ'èQ'èã^'àè Ög'è&á ²&ã¹&â üg&á´™h&éL™h&ê &êÖT¥h&ë &ëà5&ìêëI& ìêë¡d&éìÙt ®h&ë &êüŠh%&íé& íé¢0&íÙtP&é,Áh&î &î:L½h& î Åh&î,Øh&ï &ï;LÔh&ï Üh&ïü 4È4 7$à7#Ö7Î&7.7ù67ö>7íF7åN7äV7I]7
?d7 <k7 ;r7:y7€7=
ž= —7Iž7
?¥7 <¬7 ;³7:º7Á7 @
 @ »7ñ¦¥ iò7’ið 7‘iñ
ð$iô ô\£iõ õœœi
ôõ ®iõ ô°?·?¾? Å? Ì?Ë?§ªò‰8ó‘8
™8Ÿ8ÓŽ @ *©w ½8@:(üÑ/ä9üà0Õ8¤š1üÍ2è6üŒ3©6üµ3€6üÚ3Û5ü®4º4üâ4†4üË6v; ü©9¿/üÈ9 / üç9/ ü¬:¼.
ü ;È-ü©<ÒüÑ@ªüúB§ü÷FªüŸJ’ø'üÊPÊü°W¸üäWÕüÇY¡ùü¿Z©ü üÌ]œ üô^”ü“_õüì_öüšaÈ üÙa‰!üûeíü»f­#O$üªg¾$Æ&ÿØ¡lÈ0‘›Dƒ0ÄÒL•0Ùt`Cø°ú°û°Ðü°ý°þ°ìHˈXêE>ªÔ¥C“Ô¦C<š1ªÔCßu C¼à1‘›aC ²½BÙtNBÙtNB“ÔOBŒ‹BÙt½A“Ô¾AÙt€AdAwªÔbA“ÔcAÙtWAªÔA“ÔAÙtAÙtAŒ‹Ai@e@A@>@ßu=@ßu@Ùtÿ?g@é>æ>Ùtæ>ßuæ>Ùt˜>Ùt`>`>‘›ë= ÙtÛ= Ø¡q>‘›r>Ùtg>‘›>Ùt>Ùt„=Œ‹z=å<ã<Ùtã<üá7XŒ‹ø;Ùt§;Ùtš; “Q; ßu;Ùtn;“Q$;
ßu$;Ùt;¼:¸:”:‘:“Q‘:“Q†:²:“Q§9š999Ùt9üê;.ßu9ªÔ9“Ô9Ùtü8Ùtü8Œ‹
9G8E8ÙtE8ßuE8Ùt 8üŽ=O†7ƒ7ßu7ßuc7ÙtV7Œ‹õ6üÔ>.Œ6‰6Ùt‰6ßu‰6Ùt6ü´?Œ“Q‘5ßu‘5Ùt„5:5“Q:5“Q/5“Q÷4U4J4H4ÙtH4Ùt=4“Ô>4ü»B.ßuŒ3ªÔ3“ÔŽ3Ùt3!33Ùt3ßu3Ùtã2üÛCO`2\2ßuZ2ßu92Ùt*2Œ‹¿1ü¡E.P1L1ÙtK1ßuJ1ÙtÉ0üFeù'æì#0¬¢š0“Q0ßu0Ùtö/¥/“Q¤/“Q/“QV/«.§.“Q¦.“Q™.X.“QW.“QJ.üÙt..‘›˜-Ùt…-Ø¡#.‘›#.“Q.‘›Ã-Ùt°-Ùt-Œ‹
-Î,É,¢,ž,Ùt,Ùt,8,Ùt7,Ùt*,Ùt),Œ‹;,è,ÙtÇ*£*ž*w*s*Ùtr*Ùte*•*î(ê(“Qé(“QÜ( ²( ²›(¿OŽ(“Q(Ùt~(Ùtq(Ùt4'Ùt"'¿Oã'  ²æ' ²' ²'¿O
'“Q
'Ùtý&Ùtû&Ùtí&Œ‹'Ùtš&Ùt&ÙtŒ&Œ‹ž&H%D%“QC%“Q6%ü¹TÌÙt%Œ‹ß$Ùt‹$ßu‰$ªÔ‰$“Ô‰$Ùt{$ÙtW"ÙtE"ÙtÙtf#Ùt#Ùtÿ"¿Os#½ós#Ùtõ"Ùtç"ð²h"g" ²ê!ð²£! ²ð²}" ²|"Ùto" ²"ð²Ô!üüü+ÿ¥,=Œ=¤+=$®0n66Ùt“Q<! ð²?!Ùtê ÙtÅ ÙtÄ Ùt ÙtÀ ¾ Ùt½ Œ‹ã Œ‹ö ³MJÙtIüú\Eù3æì#¬¢Ùth[ÙtZÙtL‘›
‘› ÙtÿÙtþŒ‹Ùt7Ùt6Œ‹HŒ‹ÍÙtÙtqSEÙtDÙt6Ùt0 ¿Oþ ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅ¿OCÛùLŠ÷DÙtáÙtàÙtßÙtÑŒ‹ùŒ‹ Ùt« Ùt!}pÙtoÙta 'Œ‹&-þÙtý‘›´‘›³Ùt¦Ùt¥Œ‹·“QÙtŒ‹PÙtøŒ‹ëOW^Œ‹4ŒplÙtkÙtÙtšÙtÙt˜©°ÙtÍÙtÌŒ‹ÙtK#J‘›{$Ùth$Ø¡Z‘›Y¾ªM ²öP‘›³Ùt Ùt
$ ‘›&Ùtx&Ø¡‘›Ùt ‘›Ùt£Ùt
Ùt ÙtþŒ‹&Œ‹ªÙtkÙtG GG½óG G‘›#Ùtßu|OßuQMßuíLßuaMßuiMßuMßuyMßuMßu7*'"
 all_itemsÁ/
™˜•PùO
lengths_stackÁŽO »#O }N current_lenÁFNitem_iÁ!Nitem_jÁÇM¾ •J *new_iÁgG :new_jÁcG ;ascii_iÁaG
<ascii_jÁóF? key_asciiÁ>EI candidateÁƒDOÆM@hÆå=vÆ•9¾ 97Ÿà)/ÈÃ/É total_lengthÁ{)ä total_countÁy)åà)>*çÃ1*è branch_metasÁ‰)í
original_keysÁÔ'öO'ù™$<"length_to_writeÁ2"˜Ì)× adjusted_lengthÁÈ!¨¾"© branch_valueÁ³#Î slice_lenÁ:$Ö
branch_lenÁ·&àht'<Ùt'<Ùtìî[
Üî[
˜Ùt*üî[! Ž\Ùt% 'ÙtKÙtKüÔ[<<Ùt,æ[Ùt´Œ‹Ž3,„ \´ ,´ 
$º 
ÝpåQ4  ¾ üßk
ëåQ ž Ùt É Ð Bü¥« ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅåQ R ÷‰"Ùt÷‰î &
T


üù T
ëåQ Ì
Ó
Cü— ¼ ª‰÷‰ÙtÙt÷‰¸ÙtªÙtžŠ+4Œ8¤+<r Ùt Ùt¼¶  *Ùt Ì Ó Dü‹ H Ùt ª‰ Ùt¬ÙtŒ‹!Fü
$ ”¡


Ùt3D [Ùt ²
ü‘
#  ÷‰   ,
 = 
 Ñ ÷‰â ñ ¹
º
Eü˜ ¢ &
 åQÊ × Ùt ÆSÙtRÙtRÙtGŒ‹k RýÙt ÷‰U÷‰]föj    
$Ò 
DåQ5  Ö [ Û Ùt}$
ø°Æüʲ 
OüÐ!       


$ç ˜’
/   ë 
U   ï Ùtw   'Ùt ÙtK Ö
Ý 
EåQç×äÕ   ð üË'
ø°Æ ñ  û d Fü™é ø°ú°û°Ðü°ý°þ°ìHˈXêE>Æ × ÙtׯòÆû×õÙtèÙtè×錋`È     Þ ÙtÍ7         üê^
üÍåQ Ç  Î Ãùÿ
 ÓŽ @
©w @* Í ü€Î T
›R åQÍT— Ùt ~Ùt~Èš)ÙtÙt¥,LîPŽ¥Ùt͸A! tŠ! ,Š! ,“! .?
—! A™!  A˜!  ˜C£!  T«! 
,«!   
  ´! ÙtÍ7
~àæ
íòÓŽ @ ©w @^ C¶!  Cµ! 
  TÓ! 

,ë! ,þ! üÀ!N
üÍåQ
 " 
”"  : A
IOÓŽ @©w @ m “" ü¡ ó VRÈšÙtÙtMKÙtKÙt@kíëÙtëÈšVÙtKÙt@¥,{Œ¤+ƒÅÙtÍTˆ# ÙtT•# Ùt¼ˆ#  *Ùt ž# ¥# XüÝ"H Ùt,ø" R,î" Ùt«ÙtšŒ‹Š!ET´$ $´$ 
$¹$ 
XÍåQ9,¹$  ½$ |´$  Â$ ÙtÉ$ Yü…$D $¥$ Ó¢,›$ Ùt°Ó¢°; „í% Èš&3÷‰ ü% Tÿ% ÙtT& ÙtüÏ%G

ìÏ% 
CåQ YF6 •&  & œ& Zü% ª‰Œ³% Ó¢,©% ÷‰ Èšõ¦ÙtØÙtÇ7[ ü£*æ |¦* T¦* Ùt ´* ÙtA$üÉ*À 7|¹* T¹* Ùt Ç* ÙtÍ;
bTÛ* Tè*   ÙtTõ* 

Ùt¼è* 
   
 * Ùt þ* 
 LÛ+  <Ó, 
4Ô, ` “QÙt4
TÜ, üµ,2 

ìµ, 
ÚÙtÙt3
ŽS H æ, 
ç, ü‡- Tœ-   -v ¥- N
U¤‡- 
¢sar ¦- ~ \ù, 
<ü, Ò©w Û- ùJ¡'#)JÂ#
4
;ùJ¡ #
¼U©wK]ouùGÑD#
 ÁGÑ#ÓŽùGê*#(©w4щ. 
 ˆ. |. Èš§. ^üç)À ü×*² ü×+² üõ,” Èš4’* R$‰* þûÙtû¢Ùt¢ÂÙtaÙtaÙtRŒ‹D“QÙt3¥ª£ªÙtåü­-. ©wçê³í³î³Òï³ìð³ñ³ò³ìäs{©¶©wƒÄƒÄ Utf8ErrorÁ„Ä valid_up_toÁs…Ä error_lenÁs8(JÒó]Ä1v0 ý¯<ö±EÌùJ—8#£ ©w£¥²¬
actual_lenÁØ len_bytesÁp len_strÁ,;ÙtÍ`£ª£ª"b"Buffer too large. Size needed: "ÁÙt31Á dë+ 4ë+ `£ª(5v ð+ U
\ò+ ˆyf,ò+  ö+ üë+6 üú+' ÙÙt "ÙÙt@Ùt  , _blÙtwÙt›v£ª £ªŒ‹¡¨(`£ª©ÙÙt´ÙÙt{ _ }Áü‡0F |Š0 TŠ0 Ùt ˜0 ÙtA$ùM@#ùN¨"# 
ù§¨"#מ”¯0 ©w ;J
QáM#Ÿ [mÍ0 
 Ì0 |Ö0
Ùt ä0 Ùt( 
Ùt+ÙtRÙt
Ùt,1   Tÿ0   ÙtÜï0
 ÙtÍ 
&ÙtÍ üï0# Èš  1  1  $œ1 ¦1 cüº/ì R$ø/ RDá/ åQ,ë/ )'Ùt'üš03 ùMæì#ö¬¢ôŒ‹qåQÙt ùo˜sžÙtÍ)ÙtÍü›3O Äž3 Tž3 Ùt\«3 ,«3 
#±3 ˜’.,±3  µ3 k|'-ùQ@#
ùR¨"# 
ù©¨"#מ”Ì3 ©w ;J
QáQ#Ÿ [
m ¤ªê3 
 é3 \4  ,4 


#‡4 ˜’
. ,‡4  4 
Ìó3 Ùt  Ùt 2ÙtÙtM ,š4 T¢4 ÙtøSî<ë (Sü< S„=  ÙtøS ØS•= S•=  ¸S™= ,Æ4 
$S«= ˜’/(S«= S¯= m~ (.$Í4 zSž>  øSÿ=! 
 `S> …•¿8
xS> SŸ>  üÓ4G ,ö4  ñ4 ”á4 ÙtÍ &ÙtÍ Ôá4 Èš ú4  û4 4‰5  Ž5 Ùt$ 'Ùt JÙtåíS´> 0SÂ> SÇ> Ùt& (Ùt
LÙtøS±=¢ 
SÒ> «Ò> 

5<ø« ! D!JSØ>  $¥5  ®5 ¯5 düÀ2ï ü–4™ øSø<á øSó=` #R$Œ3 RDé2 ª‰,ó2 ywÙtwÙth×iü·33 ùQæì#¬¢ÙtŠ×Œ‹PÙt
ÉÙtùÉÓÙtÒÙtÆ×ÆÆ]רÙtTåQÙtù팋šŒ‹1Ÿ¦î  »Ë»³ý/óaÙtÍmÙtÍ$è7 ”Ñ7 TÑ7 Ùt,Þ7 2C ZÙt â7 üÁ7# ÙtÍ  'ÙtÍüÁ7+ ‚›
‚› ë7  ì7 $ö7 €8 güÝ6£
Þ™$²7 Þ™D7 Ùt,—7 “Q$¥7 “QFÙt;Ùt;Ùt,Œ‹TäLöPªÅUÙtÍ"ÙtÍL¯D $°D 
ø°¿O% ·D ü–DA
m ËD Ùt ÖD ÝD wüñCl ‹S$‡D ø°ú°û°Ðü°ý°þ°ìHˈXêE>¿OçÝÎçpD¾E Ùtl¾E  ÊE ÙtÑE yüEB $¯E S,¥E Ùts5ü°G· l³G D³G Ùt ¿G Ùt;ùV@#ùW¨"# 
ù­¨"#מøYÖG… *©w >M
TáV#Ÿ ^p ˜çH 
 æH T†I 
$I   
ø°¿O I  DúH   ÙtœðH
 Ùt 
&Ùt üðH ÜÎ 
l
I  lšI Ùt ¦I Ùt( Ùt+ÙtRÙtÙt$±I »I züçFÔ S$¡G SDG ¿O$ŒG MJÙtJüÁG¦ ùVæì# ¬¢ÝΘ¿O˜Ùtm]Œ‹ z«
~©ÙtÙt£ÙtüêJl líJ DíJ Ùt  ùJ ÙtB$ù\@#ù]¨"#
ù¯¨"#מüK: 8©w <K
Rá\#Ÿ\nœÖK 
 ÕK $ßK   ¤ßK
 däK 
| 8 ñK Ùt|äK  òK  ùK {ü°JÉ
¿OTÕJ ©Ð,ËJ ŽŒÙtŒüûJ[ ù\æì#Z¬¢X©ÐÔOr
ü¼Mo Œ¿M D¿M Ùt,ËM 3D ÏM ù`@# ùa¨"#

ù±¨"#מüæM9 7©w
<K
Rá`#Ÿ
\ n «N 
 ªN ¤ÄN  „ÄN  DÄN 

Ùt,ÏN 3
D 
[ Ùt ÓN 
  ×N Ùt¢  'ÙtÈ ÙtK üºN  Ùt 'Ùt 9 ÜÎ ü´N%  bùdÑD#
ÁdÑ#ÓŽùdê*#(©w: íN ÜÎ ¿O óN 
 ¨O  ©O |üùL° dèN ¿OT§M ©Ð,M Ùt,M  Ùt ÙtüüÑMZ ù`æì#ج¢ÖÙtKÙtKÙtKÙt;Œ‹dŒ‹uŸ<èN ¿O
O©ö­ãÿ6îéÙtõÙtùe¬TT ñf¯T 
ÉgÜT TÖQ ÖQ ÝQ Ùt= ßQ gõT   gôT 
ùeÎT2 
ÏJ¥«
²·ÓŽ @©w @Óe€U  $ eÿT 
TïQ  ä™R 
¬šR  
œšR 
 &2
 Ùt ´R  üüQ?

äüQ 
TÙt¿O
·R Ùt N ºR 
4ÉR  ÒR  
ÙtüÝRÒ 
 üðR3 LóR óR  ùR .?
ûR ,S 

 ¢S  ®U 
ÄU %%|¸U &Ùt% &Ùt% {£S 
y ´S l¸S D¸S ÙtÃS  2C  ZÙt ÄS Œ¸S  ÈS Ùt$ 'Ùt JÙtKüàS¯ 4àS  üT  T d‡T Ùt &Ùt
8 ÜÎT _ùk@#"ùl¨"## 
ù³¨"#מüÓT+ )©w #< «T   ÜοO ±T  
 !
)ÌçS 
cÙt¿OE8üçS¨ Ç
Îák#Ÿ#Ø"ê ŽU ü×S¸   U <U $  £U Ùt$ $ 'ÙtJ $ÙtüâRÍ  z
  vÙt&Ùt ÆU %$ÒU ''4ØU (( tÑU 
'( ÞU (' äU   åU }üÄP¡ üëQú üÅR  ü°Sÿ d¦T )Sð²ü“Q* SDìP ÙtþP ëèÙtèð²¿OÙt¿OÙtw[ºWUÙtUÙtJüýR& ÙtÙtÙtÙtuŒ‹Œ‹/ð²Ùð²Ø¿OÍÙtË¿<¦T ¿O ùkæì#~¬¢|Œ‹wÙtŒ‹z‹Sðð²æZ¾ _Û
; ixÁ »oãÿ´ êrÙt~ÙtÙt256ÁÙt256Á
TðX 4šY  Y “QüýX'

äýX 
T“QJ ¢Y Ùt
@ £Y l²Y $ÂY ¬ÂY 
 tÇY 
Z¿O;„ÇY  ÖY ømî<ë (mü< m„=  Ùtøm Øm•=  m•= 
 
¸m™=  lñY   
$m«= 
D¿O 5 (m«= m¯=  s 
   ( .
,€Z 
mž>  ømÿ=! 
 `m> âÄÅ8
xm> mŸ>  ü‡ZO üžZ- 4žZ \¿Z 
“Q4
;Ì¥Z 
c“QOAü¥Z&  ÊZ ü•Z6 Ÿm´> 0mÂ> mÇ> Ùt& (ÙtLÙtøm±=¢ 
mÒ> 
¸Ò>  M
U ç î
ø¸  DJ mØ>  4áZ  ìZ íZ ƒüŸXÎ üìX ü®Y¿ ømø<á ømó=` üüü+ÿ¥,=Œ=¤+=$®0n66“QÄÉX üüü+ÿ¥,=Œ=¤+=$®0n66¿O,¿X ­ü¯“QµÛùPþüQÕÙtàÙtßÙtÓÙùÓÎùdÙùåÙt[
­ü
­ü
“QŒ‹æîõÇÛ
y
self_as_sliceÁ»Ä˜þ
âcÙt tV4ÆVü¢V+

ü¢V#
4' ÌV4ÛVt—WüäVB

üäV2
5ÍÙtdH; ¥W4¶W d°W"ùp@# ùq¨"#  
ùº¨"#מÔ—X©w ; ÎWÒ‘›”åW åW  
"tçW
+Í 4„çW öW üÔW$

„ÔW
˜‚›v, ÷W ÂXÃX
áp‹#Ÿ # 6Œü§Uœüü×VìüËW-
¾¾‚:À¶Ñè*£ìƒ²‚›$èU–v4ÊUÚuˆ–vˆßÑIÚuI,ËW‘›‚›x‘›yùpæì#ü¬¢útuplesÁsbyte_str_sliceÁ
Û
ÉöÿdÙt100Á tg4µgü’g*

ü’g"
4' »g4áhtiüêhB

üêh2ø€3& «i4¼i d¶i"ùt@# ùu¨"#  
ù¼¨"#מÔj©w ; ÔiÒ‘›”ëi ëi  
"tíiæ‚ -„íi üi üÚi$

„Úi¡ƒi& ýi ÈjÉj
 át‹#Ÿ  )ü—f²üýfÌüÝhìüÑi-
¼„$Øf¤w4»fÚu<¤w<ßÑýÚuý,Ñi‘›V‚›A‘›Bùtæì#Ŭ¢ÃÞ„nñ„¯Û
köÓdÙt100Á_“Q95Áü¾'
ü¾"
ì¾

ܾ
©†%2Þ
ÙtT 'ÙtzÙt ß
šã

Ùt·ÙtË Û D
Ùt ä
ü¾+
 è
Ùt% 'ÙtKÙtKüŒ^
ÙÙt
ÙtˆÙtÙtŒ‹˜¨Œ‹°U


 “QÍ
 Ö

ÙtüÝB
 
 ã
 ç
Ùt7Lÿ
 


 
'Ùt5  ?Ùt
Q 
ú
  

 ÙtÍ 
&ÙtÍ ¬ó
  
 ˆ
 
4
 
Ùt$ 'ÙtJÙtüé6
 Íž
¡
© xøÍÝB
 <B ž

ü·
$¸
 “QÙt


܃
¼ƒ
ÙÙt 
Ùt/ 2ÙÙt0Ùt^Ùtü¤ª
  ·


Ä

Ùt8ÙtL  \
D
Ùt Æ
”»
“Q Ì
 å


0“Q  0“Q
 à
\×
ÙtÙt$ .ÙtÙt ´×
“Q ì
 í



ÙtÙt3  C D
ÙtüŒ,
 T
!,
""!" ˜
Ùt=!
$"

 ·
! Í
,×
% ß
%
Ùtüæj
& ˆ"¸
 
d!j 
$ Æ
Ùt$ $'ÙtJ$Ùtü©¥
 Ï2
:Üì
' ì
(('(¼ð
ÙÙt7' 
(
) §
**+*'ÙtÙt= +GÙtÙt*a)* 
,,%L
-,ÙtÍ -&ÙtÍ,¼’
,) ¨
) ©
,*
.% ¸
Ùt$ .%'ÙtJ%.Ùt
/ È
Ùt$ /'ÙtJ/ÙtüˆH
 ÎÏ
'³
»
Å(øÎæj
1 &<1B' Ï
&
 Ü
% Ý
Úü­°
üª³
üÊ
ü¤¹
üÜ
ü÷æ
ü³
üÓŠ
3“QÍ
“Q
Ùt,‰
œ¢* Ùt òîÙtî“Q³Ùt³ÂÙtl`Œ‹ Ž“QÙt|ÙtWÙtJŒ‹Kæ“QÛÙtÛÙtÛê“QX“QPÙt¬SQÙtQôš
Œ‹ÙtóÝ+Ùt+“QîÙtîýÙtŒ‹7Œ‹çaip prefixÁ£˜¨outputÁÜ
Ȁ
int_onlyÁ͘¬»£ãÿ(•€Ý%Š »
ÙtÄÙÙtÐÙÙtÙtÙÙtÙtÍŽÙtÍë
Ùt÷
Ùt
ÙtÍž
Ùtͼ¾

ÙÙtà&Ùt18<ÙÙtMAX_USIZE_LEN_AS_DIGITSÁ
œÃ 
ؤì 
ᤙ 
êÔÉ 
óü˜Ò
ü é üðû ëñ[´ÿ ±YÇZµÑZ£¡[B
ϛ 
ؤž 
á¤Ë 
êÜû 
óüÊÓ
ü œ ü¢ü ðñ[´± ±YÇZµÑZ£¡[B
 
Ø´ 
á¤Ì 
êÔü 
óüÍÐ
ü œ! ü¥ù óñ[´´ ±YÇZµÑZ£¡[B
|é" 
Ø´Ž# 
á´½# 
êÔï# 
óü¾"Ò
ü $ ü–"û öñ[´¥" ±YÇZµÑZ£¡[B¤² “Q Åì²Ùt Îüø­Ìû¤û 

  
T„ “Q Ž
D  “Q_ üŸ üÈS
ø™Ó œ
¼ê
$
áp“Q4 R X™Ó
tùš¬TT ñ›¯T   ò

Æ»›vø
Æ»›v š=CN  ÌIO\ ׈
jp 
ü‘.d ,!!" 6#"B@R #!<
ÉœÜT (™¯


ùž@#ùŸ¨"# 
ùø¨"#מ„Š©w  <L
Sáž#Ÿ]pœõT 
 œôT  ùšÎT2  š€U 
¡  šÿT  (™Ñ
 -4Å
 @ Å !® œ!ü $¤¡%&& % &“Q ´&F$%Ùt ¾%N' $` ' $x'ÙtB$H ü‘3( Ùt% (' Ùt ü‰;(Ùt ÃÌÕ)¤Õ*++ * +€“Q è+E)* í“Q`)*,
 ) @G* 
*) ž x
 ½ ¥
2 ¤--..”ª
-. ».- ½¾˜üÎðü¢œüÕéü²íE`™í
/Ùtvt“QvÙt~“Q~“Q~v:-*“Q*“Q*œÆ»ÊÊÆ»Ò›v–´Ûø°ú°û°Ðü°ý°þ°ìHˈXêE>–´v8™í
–´ø™
V
ÑÌGCùžæì#+¬¢(Æ»›vÙtþÙtýÙtý
Ùt3“Q2“Q2Œ‹>Œ‹³U“QU“QUüï&Ùtgv\ŒÇ remainderÁÕ˜X îÁ ¥ v ãÿ³f¤Ð “Q ãìÐÙt ìL‡ü–­Ì™¤™ 

  
“Q ¬
D  ±“Q_ ü½ üæS
ø Ó œ
¼ˆ
$\’÷²/l’ žM X Ó
où¡¬TT ñ¢¯T    ò

–´ ø
Æ»›v ¸=CN  êIO\ õ
ˆjp ¹
ü¯. !!" ¹6#"B@R #!<
É£ÜT ( ¯


ù¥@#ù¦¨"# 
ùú¨"#מ„¨©w  <L
Sá¥#Ÿ]p£õT 
 £ôT  ù¡ÎT2 ~ ¡€U 
  ¡ÿT  ( Ñ
 -4Å
 @ Å !® º!ü¾$¤¿%&& % &“Q Ò&F$%Ùt Ü%N' $` ' $x'ÙtB$H ü¯3(àÙt% ('Ùt ü§;(Ùt áÌó)¤ó*++ * +€“Q +E)* “Q`)*
 ²) @G*³ 
*) ¼ o
w ´ Ã
) Â--..”È
-. Ù.- ÛÜüìðüÀœüóéüÐí<` í
/‹¿“Q,‹›vLÙtr“Qr“Qrv.!“Q“QÆ»¾¾Æ»Ï›v¿–´Ï›ÀÌ›vÌí
–´:ø 
V
üù¥æì#ä¬¢áÆ»T›vDÙt·ÙtÙtÆÍÙtì“Që“Q댋÷Œ‹l“Q“Qü&Ùt vŒƒîÁ˜ îÁ±¥  ãÿ`üŒ&%üŒ&!ìŒ&
ÜŒ&©†%2 ¬&ÙtT 'ÙtzÙtK˜ °&ÙtµÙtÉ Ù DÙtVüˆ&) ˆ&Ùt% 'ÙtKÙtüç%KšÙt,€&ÙtÙtƒÙtŒ‹¤Œ‹°UTÇ(´Ô( Õ(“QÙt
,ô(¬ü(Œü(šÙt )Ùt/ 2šÙt0Ùt^ÙtL),§)D¶)$Á)
üË)‹ üÚ)Ÿ TÝ)
,Ý)  
 å) Ùt=
  æ) ,*

 ý)Lö)ÙtÙt
$ .ÙtÙt
¼ö)
“Q Œ*
*ü›*A$Ÿ* ½*L¶*ÙtÙt
$ .ÙtÙt
¼¶*
TÃ* “Q Í*ü¤*8 ÃÜ*
Þ Û*,é*
 ø*
 Õ,4¨-   °-!!üƒ-B

üƒ-$
VÙt
“Q W!IŒ³-šÙt
N+ ù* 
§
­ \++ Ùt$ ' Ùt
JÙtl£+,¤+“Q ¯+ ž+L—+ÙtÙt
$ .ÙtÙt
 ü—+& T³+“Q ¼+ ½+üÇ+d$Ë+  å+LÞ+ÙtÙt
$ .ÙtÙt

¼Þ+
Të+€“Q õ+üÐ+0 Ãd”,,,ü†,% õ ª,\´, ¾,)@9 <XY4É, Î,Ùt$ 'ÙtJÙtüÐ)† ´
¼ Ä-! Æ-Ç-üÜ'ëüÃ(„üð(×ü—)°ü²)•"Ì©ü”((Ùt,ƒ(“QÙt
)ÙtŒ‹Ùt¡{xÙtxüè)Ùt?Ùt4(ÆÄÙt©Œ‹-“QÜÙtÜÙt»¯A?Ùt$U\Œ‹óáç(Ùt˜Û
6»˜­¸ ¤)šÙt5šÙt4šÙtŒ¦(
šÙtÒ&Ùt18<šÙtMAX_VARINT_LENGTHÁŒØ(
šÙtœ&Ùt18<šÙtMAX_VARINT_LENGTHÁTÜ/´é/ ê/“QÙt
,‰0¬‘0Œ‘0šÙt ¥0Ùt/ 2šÙt0Ùt^ÙtL°0,¼0DË0$Ö0
üà0‹ üï0Ÿ Tò0
,ò0  
 ú0Ùt=
  û0 ,—1

 ’1L1ÙtÙt
$ .ÙtÙt
¼‹1
“Q ¡1
¢1ü°1A$´1 Ò1LË1ÙtÙt
$ .ÙtÙt
¼Ë1
TØ1“Q â1ü¹18 Ãñ1
Þ ð1,þ1
 2
 ê34½4   Å4!!ü˜4B

ü˜4$ôß E!7ŒÈ4šÙt
< Ž2 

 \—2 2Ùt$ 'Ùt
JÙtl¸2,¹2“Q Ä2 ³2L¬2ÙtÙt
$ .ÙtÙt
 ü¬2& TÈ2“Q Ñ2 Ò2üÜ2d$à2  ú2Ló2ÙtÙt
$ .ÙtÙt

¼ó2
T€3€“Q Š3üå20 Ãd©3,°3ü›3% õ ¿3\É3 Ó3)@9 <XY4Þ3 ã3Ùt$ 'ÙtJÙtüå0† ¢
ª Ù4! Û4Ü4üñ.ëüØ/„ü…0×ü¬0°üÇ0•"Ì©ü©/(Ùt,˜/áç
Ùt挋çÙtt`|\YÙtYüý0‘Ùt Ùt §¥ÙtŠ~Œ‹ “QÏÙtÏÙt®¢42Ùt HOŒ‹æáç Ùtþ˜ Û
»÷˜Ž¸ 
šÙtšÙt'šÙtŒ»/
šÙtÓ&Ùt18<šÙtMAX_VARINT_LENGTHÁŒí/
šÙtž&Ùt18<šÙtMAX_VARINT_LENGTHÁüë$!$‡%
£üS ‹%üâ$+
üS Œ%“%§ü¤$oÃ_|È$Ùa$¿$³`Ùa:ü®@!$Ê@
£üS Î@ü¥@+
üS Ï@Ö@°üç?oÃ_|@Ác$@³`Ác:ü™H&$ºH
£üS ¾HüH0
üS ¿HÆHüÒGtÃ_|öGµd$íG³`µd:íK
æK
¾üSÍóKÍ‚L˜øÍ¦K\Ùa ÍÏKüS¾KüSt:íK
æK
ÔüSÝóKÝ‚L³øÝ¦K\Íb ÝÏKüS¾KüSt:íK
æK
êüSíóKí‚LÎøí¦K\Ác íÏKüS¾KüSt:íK
æK
üSýóKý‚Léøý¦K\µd ýÏKüS¾KüSt:Ìž
ßà%ªP0Q7>üí,,
üS)ËS4üS;BÔÐ
üS(Ã_3³`:A
£üS¦(³`3Ùa:A\•
£üS©(³`3Ác:A„Â
£üS¬(³`3µd:A¥ÆÉá÷ŸÐ³¯;¼ÎÔÊó6D€Ëó6Ë>Ä£Ìà<œÖêÍ‚:œ„¾Î ”¨ÁÏüËüË[X A data structure offering zero-copy storage and retrieval of byte strings, with a focusÁü§TQ on the efficient storage of ASCII strings. Strings are mapped to `usize` values.ÁüËü€`] [`ZeroTrie`] does not support mutation because doing so would require recomputing the entireÁüá]Z data structure. Instead, it supports conversion to and from [`LiteMap`] and [`BTreeMap`].Á¿ËüÃRO There are multiple variants of [`ZeroTrie`] optimized for different use cases.ÁË # ExamplesÁ©Ë<­ ```Áܵ use zerotrie::ZeroTrie;ÁÑËüÕKH let data: &[(&str, usize)] = &[("abc", 11), ("xyz", 22), ("axyb", 33)];Á¡Ëü¥A> let trie: ZeroTrie<Vec<u8>> = data.iter().copied().collect();ÁçËüë+( assert_eq!(trie.get("axyb"), Some(33));Áü—$! assert_eq!(trie.byte_len(), 18);ÁÄËÄÈ # Internal StructureÁáËüå^[ To read about the internal structure of [`ZeroTrie`], build the docs with private modules:ÁÄË ```bashÁüÔFC cargo doc --document-private-items --all-features --no-deps --openÁ< £ Ëü§ ! [`LiteMap`]: litemap::LiteMapÁüÉ .+ [`BTreeMap`]: alloc::collections::BTreeMapÁ¥ÆÉá÷ŸÐ³¹¯;ºÔÊó6¹Ëó6ÊË>¹Ìà<¸êÍ‚:·¾Î ÁÏBEH<Â
<©Bß‚:œ¾B¾ˆÎ|€A\„AÔ¿Oôµ¿O•å´‘A< Aßàg4ݦ¤ÏªP
üÓ|Ôà   
  QÙt 
  ªPÙt û ¨€µu¤:ÿüÔzÌá 
 Ùt 
 ªPÙt û ú†µu1;ÿüä( ’Q ªP  ý
µu,öü¡ % ƒ ƒ ƒªP  ¸ 
µu,± ü¶   ªP 
üµ
%
 ªP ’Q  Ë


üø
 ªPÙt   é|üï" ªP  ƒ
$„üß8 ªPÙtø°ú°û°Ðü°ý°þ°ìHˈXêE>“Q  õ
öüÕ?„éˆ ˆªPÙt“Q  ú ‹ôö=ü®=Š ªP ŠªP  Ï ãËî åCü°PŒ ªP ŒªPÙt  Î ›éî ÜJ™˜åJ왪P¨̽ ªP ’Q Ç
¤©A,¸A=ü+Œ• ü¤&  &­)TêÔÂ
<ß±k lü+ŒÎü!ÊŒóm"è*T˜ë# ”¶Á$›$4Õ%üÏ%œôúäž‚üÀsüågÄŠ[ü¨ OlÎBüû6òÍ''ÍÙtt¢‘›¢¸9‰A5( ¨Ùtô¸$¸&&Þ™üÛ,Í**Ô¦‘›+-/0123458: æÙtü,‘›‚›))æ‚@MÔ¥ ² ‘›))øÖü¹ 8,\©  ‘›“QØ¡))¥•jP¿)sPüð;,\à‘›ÙtØ¡))¡í4T˜=Tü’<,\t‘›ÙtØ¡))„Û7X˜@Xü¾@,\®Ž‘›ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅŽ“QØ¡) è)ºØá\öë\üŽ0,\þ|—‘›Ùt‘›))ö½X`çÁa`ü÷GÄ€ ‘›Ùt“Q‘›))ÅÌBböKbªÅTbü…$„„’$6 
 6ªPÙtßÑ)77£$)Ùtt§$
5ÍðÔ¾h02" ­$Ùtü‚,“ì,ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅ ªPÙtßÑ)99 ×,)ò­t­,ÙÐðÔ\n ³,ÙtüÑ/„,\Á/|Ú/‘›ëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅ ªPÙtØ¡);; ª0)ò­tê/á×$‡0¿ÿ›¥ ð/Ùt¼Ô[TÚ[ÙtLØ  ë­)T° Ô=>±tî> klü•% (ì ô@AA@©âåQ Ë QBCDEFÇ ü¥/ T² ‰RQ??
BôåQî ²”ü— W Œ¤ ‰RÙtÙtQ??
CôåQŠ+&”Œ$”¤+"”ü‹ ˜  QÙt? œ ?
DôåQ$ ü˜ 4 d¥  QÙt åQ? ² ?
EôåQ öv’ü™& $¦  Qø°ú°û°Ðü°ý°þ°ìHˈXêE> åQ? « ?
FôåQ üæ/ ôHIIHº² ï QJüJë üœ ‰RQGG
JôåQî  ü½D ÍLMMLÔ¦ º² Ò ÄåQ RNÅN' È Ùt')¤ˆ < RKK
NÍåQà N<closure_kind>ÁP<closure_signature>ÁP<upvars>ÁPPNPÍåQåQüè/ ÍRSRSÔ¦ º² ý RTVXYZ ó Ùtü€A L ÈšÙtRQQ
TÍåQ¥,îü¡ V Œ® ÈšÙtÙtRQQ
VÍåQ¥,Œ¤+>ŽüÝ" ê"  ›RÙtQ î" QÁ£$ï" ü…$$ D$ ˜ ˜›RQ $ Q
YÍåQ$œ$ ü%7 tš%  ›Rëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅåQQ ©% Q
ZÍåQ$ª% ü¼(5 Í\]\]Ô¦tÁ( º² Ñ( þåQ$Ô( R^cd$ Ç( Ùt$&üç)1 ¤ô) ›RÈš[[
^ÍåQ¨ˆ¼+ 4“+ = ¥ª¡+ ÙtÙtüº/B ÌÇ/ RåQR[[
cÍåQ$å/ ˜^ƒüÀ2P ÜÍ2 š›Rëëè*îŠ+=ïŒ=ð¤+=ÆíÕÅšåQ›R[ „3 [
dÍåQ$í2 î ò}ü³5- ÍffÔ¦t¸5 Þ™g
¾5 ÙtüÝ6Y Üñ6 Þ™Ùt“QÞ™eeΦ$‘7 öÆ{ªÅÅ{ü„85 ÍijijÔ¦t‰8 º² ™8 ß¿$œ8 R 8 Ùtܘ< t¥<  ´< Ü>  º< è< , »< 8safe_const_sliceÁ„¼< & Ì< 8ï$Í< $ Ñ< , Ó< 8¡ $Ô< & Ø< 8Ù< $ Û< , Ý< 8innerÁ,Þ< & ã< 8ï$ä< *ê<  í< Ù>  î< Ø> 8ø< 8ü< 8» €= = 7ì „= % …= 8%,= 8» •=  —= , ™= 8‰Ä„š=  ª= 8¾ «=  ®= ¯=  ±= Ò> 8ó= , ÷= 8¡ $ø= ý= , ÿ= 8‰Ä„€>  > 8»d>  > Ÿ> 8» ž> %  > , ®> 8ïÄ,¯> % ´> 8» Â> Ä> 7í Ç> % È> % Ú> t w üî@3 Œ€A nnÙttA SyRŽ÷:Äîoq ˜A Ùtì¨A $¨A =mmÜÎTËA ËA =mmÙtüÚA> ss™ÉtßA Stá`t åA ÙtüŸBD ¢B œ ‹S œÁ`Á`œÃ`è Á]Ä`bufÁÁ]Ê­\É:•ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ѼѼÒ¼ štÀ.r ¦B r
t$§B þ ­B üŽC) vv™Ét“C Swyz{|}€ ™C ÙtÔñC þC Suu
wüE$ DœE ž ž‹Su ¥E u
y$¦E üçF> ,\¢F lôF S¿OSuu
z$†G «
ß|ü°J/ l½J Ÿ Ÿ‹S¿Ou ËJ u
{$ÌJ üùL8 dM =   SÙt¿Ou M uöØ$M öéwüÄPy ŒÑP ‹SÙtðuu
}$ðP ¾ Ep¬Q Ùt±R }}Ùtü¸V+ D»V =¡ ¡‹S ¡
ÝÎu ÄV u
$ÅV üW5 ™Ét”W €ýƒ šW ÙtüŸXB ”¬X ¢ ¢€ý­ü ¿X 
ƒ$ÀX <ó ÄŽ k„ BwÔ·BjüÔB1ÍŠŠÔ¦tÙB¼„Œ ßBÙtü§UEüŒCeb **Const Constructor:** Creates an [`ZeroTrieSimpleAscii`] from a sorted slice of keys and values.ÁöCËüþCZW This function needs to know the exact length of the resulting trie at compile time. ToÁüÝDZW figure out `N`, first set `N` to be too large (say 0xFFFF), then look at the resultingÁü¼E@= compile error which will tell you how to set `N`, like this:ÁFËü‰FKH > the evaluated program panicked at 'Buffer too large. Size needed: 17'ÁÙFËüáF63 That error message says you need to set `N` to 17.ÁœGËü¤G.+ Also see [`Self::from_sorted_str_tuples`].Á×GËdßG # PanicsÁðGËüøG=: Panics if `items` is not sorted or if `N` is not correct.ÁºHËtÂHúÕHËüÝH96 Create a `const` ZeroTrieSimpleAscii at compile time:ÁIË<£Iü¯I&# use zerotrie::ZeroTrieSimpleAscii;ÁÚIËüâIA> // The required capacity for this trie happens to be 17 bytesÁü¨J/, const TRIE: ZeroTrieSimpleAscii<[u8; 17]> =ÁüÜJ52 ZeroTrieSimpleAscii::from_sorted_u8_tuples(&[ÁÄ–K (b"bar", 2),ÁܳK (b"bazzoo", 3),ÁÄÓK (b"foo", 1),Á\ðK ]);Á€LËüˆL*' assert_eq!(TRIE.get(b"foo"), Some(1));Áü·L*' assert_eq!(TRIE.get(b"bar"), Some(2));ÁüæL-* assert_eq!(TRIE.get(b"bazzoo"), Some(3));Áü˜M+( assert_eq!(TRIE.get(b"unknown"), None);Á<ÈMÔMËüÜM%" Panics if strings are not sorted:Á†NËœŽN ```compile_failÁü¦N(% # use zerotrie::ZeroTrieSimpleAscii;ÁüÓN]Z const TRIE: ZeroTrieSimpleAscii<[u8; 17]> = ZeroTrieSimpleAscii::from_sorted_u8_tuples(&[Á¤µO (b"foo", 1),Á¤ÎO (b"bar", 2),Á¼çO (b"bazzoo", 3),Á<ƒP ]);Á<PPËü£P$! Panics if capacity is too small:ÁÌPËœÔPîÞüìP(Šßü™Q]Z const TRIE: ZeroTrieSimpleAscii<[u8; 15]> = ZeroTrieSimpleAscii::from_sorted_u8_tuples(&[Á¤ûQ¼à¼”RØà¤°R à<ÉR÷à<ÕRáRËüéR$! Panics if capacity is too large:ÁSËœšSîÞü²S(ŠßüßS]Z const TRIE: ZeroTrieSimpleAscii<[u8; 20]> = ZeroTrieSimpleAscii::from_sorted_u8_tuples(&[Á¤ÁT¼à¼ÚTØà¤öT à<U÷à<U¬´U£¤ £
 ¤’QÙt¼„ ÒU
ŒÍÞ„ûp,ûU’WÙtü—fEüÉXeöÒ³YËü»YZïÓüšZZÒÔüùZ@µÕ¾[ËüÆ[K‰Ö–\Ëüž\6èÖÙ\Ëüá\-* Also see [`Self::from_sorted_u8_tuples`].Á“]Ëd›]ó׬]Ëü´]\Y Panics if `items` is not sorted, if `N` is not correct, or if any of the strings containÁÌ•^ non-ASCII characters.Á³^Ët»^úÎ^ËüÖ^9ûØ”_Ë<œ_ü¨_&ÔÙÓ_ËüÛ_AŽÚü¡`/ØÚüÕ`63 ZeroTrieSimpleAscii::from_sorted_str_tuples(&[Á¼a ("bar", 2),ÁÔ¬a ("bazzoo", 3),Á¼Ëa ("foo", 1),Á\ça°Ü÷aËüÿa*ÏÜü®b*‚ÝüÝb-µÝüc+ëÝ<¿cËcËüÓc(% Panics if the strings are not ASCII:Á€dËœˆdîÞü d(ŠßüÍd_\ const TRIE: ZeroTrieSimpleAscii<[u8; 100]> = ZeroTrieSimpleAscii::from_sorted_str_tuples(&[Á¤±e ("bár", 2),ÁÄÊe ("bÃ¥zzöo", 3),Áœçe ("foo", 1),Á<ÿe÷à<f´¤f¥¦ ¥
 ¦Ùt¼„ Ãf
ÍÞ„ur,ëf˜iÙtd™D¤
Êð
ÑÒ¼
Ùñ
Ú¹d‚
ר¤ÿT…“Qüö'üÏZW Calculates the function `f1` for the PHF. For the exact formula, please read the code.ÁªËü®52 When `p == 0`, the operation is a simple modulus.ÁäËüèTQ The argument `n` is used only for taking the modulus so that the return value isÁÔ½ in the range `[0, n)`.ÁØËúëËü÷  use zerotrie::_internal::f1;Á¬˜ const N: u8 = 10;Á®Ë”² // With p = 0:ÁüÅ assert_eq!(0, f1(0, 0, N));Áüå assert_eq!(1, f1(1, 0, N));Áü… assert_eq!(2, f1(2, 0, N));Áü¥ assert_eq!(9, f1(9, 0, N));ÁüÅ  assert_eq!(0, f1(10, 0, N));Áüæ  assert_eq!(1, f1(11, 0, N));Áü‡  assert_eq!(2, f1(12, 0, N));Áü¨  assert_eq!(9, f1(19, 0, N));ÁÉË”Í // With p = 1:Áüà assert_eq!(1, f1(0, 1, N));Áü€ assert_eq!(0, f1(1, 1, N));Áü  assert_eq!(2, f1(2, 1, N));ÁüÀ assert_eq!(2, f1(9, 1, N));Áüà  assert_eq!(4, f1(10, 1, N));Áü  assert_eq!(5, f1(11, 1, N));Áü¢  assert_eq!(1, f1(12, 1, N));Áüà  assert_eq!(7, f1(19, 1, N));Áý“Q“Q“Q“Q
ý/$€ ŠçÁ ü»''ü” ZW Calculates the function `f2` for the PHF. For the exact formula, please read the code.Áï Ëüó 52 When `q == 0`, the operation is a simple modulus.Á©!Ëü­!TçñÔ‚"Ãò"Ët¡"ú°"Ë<´"ü¼"  use zerotrie::_internal::f2;Á¬Ý"¼óó"Ë”÷" // With q = 0:ÁüŠ# assert_eq!(0, f2(0, 0, N));Áüª# assert_eq!(1, f2(1, 0, N));ÁüÊ# assert_eq!(2, f2(2, 0, N));Áüê# assert_eq!(9, f2(9, 0, N));ÁüŠ$  assert_eq!(0, f2(10, 0, N));Áü«$  assert_eq!(1, f2(11, 0, N));ÁüÌ$  assert_eq!(2, f2(12, 0, N));Áüí$  assert_eq!(9, f2(19, 0, N));ÁŽ%Ë”’% // With q = 1:Áü¥% assert_eq!(1, f2(0, 1, N));ÁüÅ% assert_eq!(0, f2(1, 1, N));Áüå% assert_eq!(3, f2(2, 1, N));Áü…& assert_eq!(8, f2(9, 1, N));Áü¥&  assert_eq!(1, f2(10, 1, N));ÁüÆ&  assert_eq!(0, f2(11, 1, N));Áüç&  assert_eq!(3, f2(12, 1, N));Áüˆ'  assert_eq!(8, f2(19, 1, N));Á<©'Â'“Q“Q“Q“Q
ý/$Å' Ï'çÁ Ö'ü£-%昘©âüS,¨-ËS™
 ü¬.'üÏ-JG Creates an instance from a pre-existing store. See [`Self::as_bytes`].ÁT³.üSËS
üS,¾.üó.LæªâüS,ø.ñüS’Q\ª/ËSœžŸ%'ü”0+üÆ/IF Gets the usize for the given byte, or `None` if it is not in the map.Á0§ §ËS“Qø°ú°û°Ðü°ý°þ°ìHˈXêE>Ùtš Ÿ0š
œüS$ 0keyÁ¦0üÍ6 üÈ5IF This is called `num_items` because `len` is ambiguous: it could referÁü–62/ to the number of items or the number of bytes.ÁLÔ6¨ ¨ËSÙtš Þ6š
üS$ß6Üô7üœ7SP Get an iterator over the keys in the order in which they are stored in the map.Á$û7© ©ËS ©’Qš €8š
žüS$8üå<üï;PM Returns the map as bytes. The map can be recovered with [`Self::from_store`]ÁäÄ< or [`Self::from_bytes`].ÁDì<ª ªËS ª’Qš õ<š
ŸüS$ö<ìÀB¬-ì ··ö¬çÊÜ‹’Q¡ü¿C(üäBHE Creates an instance from pre-existing bytes. See [`Self::as_bytes`].ÁTÆC« «’Q «  ØC 
¡bytesÁ,ÑCüÙDL棣х,ÞDá…\EËS¤ü‘F6ü¬ERO Converts from `PerfectByteHashMap<AsRef<[u8]>>` to `&PerfectByteHashMap<[u8]>`Á\˜F¬ ¬ËS ¬¢ ¤F¢
¤üS$¥FüË.
+ Types for walking stepwise through a trie.Áú
Ëüþ/
, For examples, see the `.cursor()` functionsÁü®*
' and the `Cursor` types in this module.Á³¡ªÖ!4å
÷¥¦¯;¼ø
Ô¥§Ê‚:œœ
¾¥¨Îͼ
Á]¥©
]ôñ
NÔ•
;L¶
(üÂM
æ««Ñ…
á…
Ùa¬ü5
ü–(
% Gets a cursor into the current trie.ÁÃ
ËüË9
6 Useful to query a trie with data that is not a slice.Á
Ëü‘?
< This is currently supported only on [`ZeroTrieSimpleAscii`]ÁüÕ$
! and [`ZeroAsciiIgnoreCaseTrie`].Áþ
Ët†
ú
Ëü¡H
E Get a value out of a trie by [writing](fmt::Write) it to the cursor:Áî
Ë
Ì‚
 use core::fmt::Write;Áü &
ÔÙË
ËüÓ1
. // A trie with two values: "abc" and "abcdef"Áü‰B
? let trie = ZeroTrieSimpleAscii::from_bytes(b"abc\x80def\x81");ÁÐ
蟯"
 // Get out the value for "abc"Áüÿ#
let mut cursor = trie.cursor();Áü§ 
 write!(&mut cursor, "abc");ÁüË -
* assert_eq!(cursor.take_value(), Some(0));Á

Ëü‘
"
 Find the longest prefix match:Á¸
Ë
üÌ
&
ÔÙ÷
Ëüÿ
1
»–üµ B
õ–ü
Ëü„ 6
3 // Find the longest prefix of the string "abcdxy":ÁÔ¿
 let query = b"abcdxy";ÁüÞ 
 let mut longest_prefix = 0;Áü‚
#
ö—üª
,
) for (i, b) in query.iter().enumerate() {ÁüÛ
9
6 // Checking is_empty() is not required, but it isÁô™
 // good for efficiencyÁô¼
 if cursor.is_empty() {Á”ß
 break;Á
ü„*
' if cursor.take_value().is_some() {Áü³
 longest_prefix = i;ÁL×
ˆÄå
 cursor.step(*b);Á,
Œ
Ëü”5
2 // The longest prefix is "abc" which is length 3:ÁüÎ"
 assert_eq!(longest_prefix, 3);Á
4
­ ­Ùa¡¡§.£Ð.¥Íp)b¡~
Š­ª 
ª
ŸS
üªQ
殮х
á…
Íb¯üç9
ü‚(
ú’¯
Ëü·9
¶“õ
Ëüý?
ƒ”üÁ$
Ë”ê
Ë
ú
ËüH
š•Ú
Ë
Ìî
üŒ*
' use zerotrie::ZeroAsciiIgnoreCaseTrie;Á»
ËüÃ1
. // A trie with two values: "aBc" and "aBcdEf"ÁüùF
C let trie = ZeroAsciiIgnoreCaseTrie::from_bytes(b"aBc\x80dEf\x81");ÁÄ
ËüÌ6
3 // Get out the value for "abc" (case-insensitive!)Áü‡#
ö—ü¯
¢˜üÓ-
ʘ<…

Ëü™;
8 For more examples, see [`ZeroTrieSimpleAscii::cursor`].Á4î
® ®Íbªª†/¬Ð.¥Ì=¸¶@Ãô®­ õ
­
¯üS
üŠ&
ô±±¾¾‚:À¶Ñè*£ìƒ² ô’Q²
üÆ9
ü·E
B Same as [`ZeroTrieSimpleAscii::cursor()`] but moves self to avoidÁü2
/ having to doubly anchor the trie to the stack.Á\Í
½§«T°°
²ô
ü¼*
ô´´ÔÔ¯;ÖuÚ.7Šç§µÁ
ü€=
üíI
F Same as [`ZeroAsciiIgnoreCaseTrie::cursor()`] but moves self to avoidÁü»2
×§\‡
æ©ïT³³
µô$“
üõ'"
8¯¯­V·¸¹ºüË6
üž(U
R Steps the cursor one character into the trie based on the character's byte value.Áø(
Ët€)
ú“)
Ëü›)=
: Unrolled loop checking for string presence at every step:ÁÝ)
Ë<å)
üñ)&
ÔÙœ*
Ëü¤*1
»–üÚ*B
õ–¡+
Ëü©+.
+ // Search the trie for the string "abcdxy"矆+#
ö—ü„,0
- assert_eq!(cursor.take_value(), None); // ""Á´¹,
 cursor.step(b'a');ÁüÔ,1
. assert_eq!(cursor.take_value(), None); // "a"Á´Š-
 cursor.step(b'b');矴-2
/ assert_eq!(cursor.take_value(), None); // "ab"Á´Ü-
 cursor.step(b'c');Áü÷-6
3 assert_eq!(cursor.take_value(), Some(0)); // "abc"Á´².
 cursor.step(b'd');ÁüÍ.4
1 assert_eq!(cursor.take_value(), None); // "abcd"矠/
 assert!(!cursor.is_empty());Áü«/<
9 cursor.step(b'x'); // no strings have the prefix "abcdx"Áüì/
 assert!(cursor.is_empty());Áü05
2 assert_eq!(cursor.take_value(), None); // "abcdx"Á´Ê0
 cursor.step(b'y');Áüå06
3 assert_eq!(cursor.take_value(), None); // "abcdxy"Á< 1
¬1
Ëü´1;
8 If the byte is not ASCII, the cursor will become empty:Áô1
Ë<ü1
üˆ2&
ÔÙ³2
Ëü»21
»–üñ2B
õ–¸3
ËüÀ3#
ö—üè30
Ú­´4
’®ü¸41
±®´î4
ê®ü‰52
‰¯ÌÀ5
 cursor.step(b'\xFF');ÁüÞ5
ê±ü‚6*
' assert_eq!(cursor.take_value(), None);Á<±6
$Ò6
° °­V“Q ×6

·8$Ü6
ý/$â6