Files
thefoldwithin-earth/.old2/target/wasm32-unknown-unknown/release/deps/libbitflags-2ece0789b4e5dadb.rlib
T

1180 lines
214 KiB
Plaintext
Raw Normal View History

2025-10-19 16:48:12 -05:00
!<arch>
/ 0 0 0 0 1502 `
<r<r<r<r<r<r<r<r<r<r<r<r<r_ZN67_$LT$bitflags..parser..ParseError$u20$as$u20$core..fmt..Display$GT$3fmt17h5216c419f011b35cE_ZN8bitflags6traits59_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$u8$GT$9parse_hex17hc7a3e28be40d692fE_ZN8bitflags6traits59_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$i8$GT$9parse_hex17h78ab9e0f3e74ae50E_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$u16$GT$9parse_hex17ha9b5f1728b06de4eE_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$i16$GT$9parse_hex17h28248e2c86337504E_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$u32$GT$9parse_hex17h5c6c49944f902da5E_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$i32$GT$9parse_hex17h2d6c7a64d83ccd25E_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$u64$GT$9parse_hex17hb6e7b2ae5769a820E_ZN8bitflags6traits60_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$i64$GT$9parse_hex17h7da9f5a72c14c11bE_ZN8bitflags6traits61_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$u128$GT$9parse_hex17ha3d7a5a7a5d2e919E_ZN8bitflags6traits61_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$i128$GT$9parse_hex17h0546557ca853cdbeE_ZN8bitflags6traits62_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$usize$GT$9parse_hex17h73aa465fd5d25d08E_ZN8bitflags6traits62_$LT$impl$u20$bitflags..parser..ParseHex$u20$for$u20$isize$GT$9parse_hex17h15ff092d12315321E// 66 `
bitflags-2ece0789b4e5dadb.bitflags.2f8ed1ec2ccf5dbe-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 210325 `
asm linkingþê .rmetarust
Ž3#rustc 1.90.0 (1159e78c4 2025-09-14)Á˜ø½E—y88àìOg[-a0f3a77406fcd134ÁÒµÅL®Ùp,ØnWš÷*Ó-eed239b623db52f0Á‡* AsDisplayÁL©ŽserdeÁ<Œƒ¯£,ÿŽ£Œß¯ arbitraryÁLµŽ<Ö\¬‘¯bytemuckÁDîŽþ¤Ë®£,›Ž<ÿ£<‰Œÿ®__impl_external_bitflags_serdeÁôµŽ<”£Œ”®ÖLí&Ž<Í&Ö\×&¬Í&®þDš'Ž<ÿ&þT‰'¤ÿ&®"__impl_external_bitflags_arbitraryÁü©("Ž<„(Ö\Ž(¬„(®!__impl_external_bitflags_bytemuckÁüî0!Ž<Ê0þTÔ0¤Ê0example_generatedÁŒãåŽ<»åÁœÅåì»åtestsÁ,ˆæú$ýå˜ôIterÁ  innerÁ doneÁÎÔ
Î__private_const_newÁλä
 IterNamesÁΚidxÁsourceÁ remainingÁÎÔ
"Î"Š"ò&Î&»&ä
parserÁ******* to_writerÁ1Î1
impl WriteÁ*from_strÁ4Î4 4 *to_writer_truncateÁ8Î8*from_str_truncateÁ;Î*to_writer_strictÁ=Î=*from_str_strictÁ@Î@ *WriteHexÁC write_hexÁD*ParseHexÁF parse_hexÁ*Hinvalid_hex_flagÁIimpl fmt::DisplayÁHinvalid_named_flagÁKž
H
empty_flagÁ*N¥traitsÁPPPPPPPPPP P
P P P^Î^Ô
^¾
^valueÁ^is_namedÁ^
is_unnamedÁPFlagsÁeFLAGSÁeBitsÁeemptyÁeØecontains_unknown_bitsÁebitsÁe from_bitsÁefrom_bits_truncateÁefrom_bits_retainÁe from_nameÁeôe
iter_namesÁeis_emptyÁeis_allÁe
intersectsÁecontainsÁetruncateÁeinsertÁeremoveÁetoggleÁesetÁeclearÁe intersectionÁeCe
differenceÁesymmetric_differenceÁe
complementÁP EMPTYÁALLÁP PrimitiveÁP impl_bitsÁP PublicFlagsÁºInternalÁPBitFlagsÁýPŒÎŒÃŒ½PÎPImplementedByBitFlagsMacroÁP __privateÁìbitflagsÁ__impl_bitflagsÁbitflags_matchÁ__bitflags_matchÁ__bitflags_expr_safe_attrsÁ__bitflags_flagÁÆ ¤__declare_public_bitflagsÁ¤__impl_public_bitflags_forwardÁ¤__impl_public_bitflagsÁ¤__impl_public_bitflags_iterÁ¤__impl_public_bitflags_opsÁ¤__impl_public_bitflags_constsÁinternalÁ«__declare_internal_bitflagsÁ«__impl_internal_bitflagsÁØ®ì®__impl_external_bitflagsÁ®Ä®¿®*
ParseErrorÁ´
´ò*·¥*ParseErrorKindÁ¹ EmptyFlagÁº
¹InvalidNamedFlagÁ¼gotÁ¹InvalidHexFlagÁ¾*À¥PFlagÁÂξ
ÂÌ PÆÎÆ¥PɣɰP̣̰PÏó Ð PÒó Ó PÕÌ ÖÜ P ØÌ ÙÜ P
P P ݣݰP
à£à°Pãó ä Pæó ç PéÌ êÜ PìÌ íÜ PPPñ£ñ°Pô£ô°P÷ó ø Púó û PýÌ þÜ PÌ Ü PPP£°Pˆ£ˆ°Pó Œ PŽó  P Ì Ü P!Ì Ü P"P#P$£°P%œ£œ°P&Ÿó   P'¢ó £ P(¥Ì ¦Ü P)¨Ì ©Ü P*P+P,­£­°P-°£°°P.³ó ´ P/ó · P0¹Ì ºÜ P1¼Ì ½Ü P2P388!8%8)8184888;8=8@8D8G8O8O8O8a8b8c8d8j8k8o8p8q8r8s8t8u8v8w8x8y8z8{8¸8¸8¸8Á8Á8Á8È8È8È8Ð8Ó8Ö8Ù8ä8ç8ê8í8ø8û8þ88Œ8888 8£8¦8©8´8·8º8½8CFeóH  Ã
ÖâeÕSl,ÕwÎóH½šÛåòO§ºE©ÃÔ!ˆ]´´µ¥ò* "ýéhÍømúˆ]¹º»å¼û½*¾ž¿*I0î›KqEµ]²"ˆ]ÂÂÇľ
PÅÌ P¯£žð3„òÔ!FŽ$F˜$CŽ$C˜$˜$Ž$FÚ$Fä$CÚ$Cä$ä$Ú$F¦%F°%C¦%C°%°%¦%Fò%Fü%Cò%Cü%ü%ò%F¾&FÈ&C¾&CÈ&È&¾&FŠ'F”'CŠ'C”'”'Š'Ô!Ô! &·´À¹ÆÂN´ÉÌÝàñôˆœ­°ÏÒãæ÷úŽŸ¢³ÕØéìý¥¨¹¼ÛÜïðƒ˜«¬¿ÀŒóHˆ]
] F <C < <<‚
!Ô!*ü­S  Ô! ÿüþˆ¡! Ô!,á!š8Ã*ªüá8üÀg Ô! ðŠ'üÇv  Ô! ¼ÃüàãüÙÔ$Ô!Š¡!$¸ 
Í#,Ô!Ô!á!»š%å)ò-x÷,€4‡L/ 5ôá
$Ô!RF:` ˜ @  Ô!>=<;¡!%ü, Ô!Ô!á!Øü,äÔ!ÚÔ!КXå]òb®Œ¾á! 
õHá!1 ÎM
¼¸jLŠ Ô!Ô!Tñ Œ·Ô! ú
 š  Œ·Ô!
%„±ü·
!á!Ô!

rÔ!´·

G   Œ·Ô!ü³
 üô
0 ܈ 
¤ˆ   á!Ô!#$ 
kÔ! 3

4  ¢  Xœô

nÔ!
g  w £ 
üï
6 Œ·Ô! ¤  ¯  è    
¡ ü…œìÞüË=%Ô!\Â
 Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì Ô!”› ¡!LŒ·Ž··Í·‘·Š’·òÆ/2uB<Ì ¸10 á!4”'Ô!¸ãC¬+Ô!ÜÔ!gâ¬+ã§flagÁ<¼0®Ò2Õ3$‚42ü“!$­Õ33œ“4=M ³üÊ!Õ33œÊ‚4=M êü¿· Ô!fÔ!ü, ùŠ' õü!üìá!¬+Ô!)ÿ6)Ô!áÿ6àš*LfÔ!ü,Õ3b4pÕ34$y Ô!wŠ'­$Bá!ü,Ô!4•Ô!šå"ò&
Lÿ4M Ô!KŠ' ¦ å$%á!ãü,áÔ!ßÔ!Ýü,¥Ô!Ô!šåòŒÈÔ!ˆ%¬+æ á! ¼ü’® Ä©ü,D¸Š'•¼A']ÃA' *̆ ž Œ·¸1 ËÞ -Š'Š' æŠ'Lº1UÑ)-Ö)¥‡ƒ  
Ž$­Ó% +´›%¿ &\ Ô!œô$Õ3 4ü™/
\™  Ô!Ì® œ®‚4 $H
uÔ! W E
 ü¥#t

 Ç  üÜ4
Ô!Ìöœö‚4 $H
tÔ!WE
 üë%t

 Ô!ÌŜł4$ü¯0
xÔ![Hü¾! Þüþ(K
º1ÌŒ œŒ ‚4$  $@  ¥ üù. Œ·¸1 ¦  µ 

Þ ó  ¼ 
?
D
¤ê³Ô 

ÍA'ý¥B ' ý B&' Œ· Í#
ÅB'
óB' ÀŠ‘Gt†Ô!D•Ò2+T•©if Œ·¸1å) üßõ üÂþüé×ý´—Œ(¦mÍ#Š'l´ý‡Aó'ÛdÍ#M±˜(üêBaÔ!4 ý¢)D×uý¨%FÖuzýû¨ßuUØ%üç;bÔ!<ùeaÔ!4„ ù5”õÅ6Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì GŠ'õ‘Gõ¬+º1\›ÿ6¬+ÍĬ+ÄÔ!µM¬+MÔ!> Ô!âÔ!Ò¸1wº1\ÿÔ!pü,ðŠ'G¸Š'àæ@}Ó%"¥6Ê ¿ Ò2ŸÕ3¯‚4r¶B‚4ðÄC4uÎDR4
ülÍ# 
ülŽ$C*¦
¿
”õ 
qÔ!
ø&
ŸH'ž
}Ю[%Ù®[¼0EЮ[5Ù®[K$
Џ1º1,¶
     ¼Ê

  

»\ /Öº1,Û
„Ñ
 à
 À)Ê
%…˜
Uÿ—!  ì

2´Ž  

L• ãO
&  |•  £ 
¸ Ž"
Š"#"¥)L… ³(Ô!¼‘  Õ3„‘   ܱ





ÿ6ÿ6#
H
M
Êÿ6ÿ6ZM
ns
 Ë





¼ï



 ãO&Úº1,€
„ö 
À-ï
)
)%$
´œ




ãO&Vº1$­

 ±
¸
 /
}/ '& ×

à1½
!°5!
­5!)(R
X
^
ü® ²
 ß
Ͼ
úݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmtÒKçÁçÁèÁ ôImäEG] ú
 À
3´0>Ò`mrxû
ž
K

•–œ \¢VF n4
ü²
;  J&¢¢V®1* 5
Õ
-†
Ž-æ¢VÒ
ø

0
ü× ;
Ÿ
 
Ô3,¢V8
É
 *
ܽ




s
=


Dÿ6éOPCŒÇ

!
s9Ì¢VØ
9
!+

1;ü–åüÌ ¯üæ •ü¨

 ÄÊ
   ¼Ž  ü ú.†

 Äï 


 ¼œ



 ä½

ýÊM,XöGÅ6Àý ®E[²Ká!Øý¸—ÄüVÒKóVý˜˜!ýǘ$ý¢›WÒKóVóVE匜ýåè$_ ÀóVmšœtüVÒKóVðn""i""d
WÒKóVóV^%%Z&ÀóVU%L%Ô!\ ×
üVÒKóVÝÑ))Ì))ÇWÒKóVóVÁ,,½-ÀóV¸,(
üVÒKóV³#////WÒKóVóVÛ223ÀóV2
üVÒKóVÛ{55w55sWÒKóVóVn88k9ÀóVg8"¢V´×¬+éOM
á!(
Å6ÿ ù5ì ”'
º1¿ ¬ ¢Vƒ  éO¢V÷Äbøÿ6¬+cZ ÿ6^öbTÿ6\ê¢VÒÄbÓ¢VfÄbg¢VQöbRéOH8”'-˜˜”' "”')”'/”' 5š
writerÁfirstÁp ôO ô ¾
Þ

Ÿݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmtäÛðGK}úKóV©zŸÒK
~ Ÿçd© ŸÒKò,

Ÿçd©ŠŸÒK
ŽŸçd©ŸÒK
Ÿçd©˜ŸÒKbQ
ÿ6ÿ6þM¦ ù5ð ãOæ ãOM ù5 Õ3Á
éR£
ãO÷ ãO ³[bá!8ù5, á!DéOJéOP¼0³ !„›
hÔ!üþCŸýöÊ&eûÊ
®v
º-%öʈËÓh ýûÊ!¼„ª ݹÔ!²" ¹ŸDýË·¿ U‚¸!-‡¸#Ž# æ@! ###½£¸"
m§¸
±sŸ|£¸%µ¸"§¸€4Ó1yÂ|ˆ$
$ÝpÝp
SplitInternalÁàp¨¿oáp­¿oâpmatcherÁ¿oãpallow_trailing_emptyÁ¿oäpfinishedÁ¿oV/õ(Gä'ãiyÂ|ˆ!yÉ|ˆ
íp$Ê1yÉ|ˆŸ Šº1Íh Óh 
3­„´ ݹÔ!²" Ã ÅÆ%ìô ݹÔ!²"Ÿ²"Ÿ5%\¢ ¼Ä åû•}‚–
¶sº1Ÿº15û•
%’– ­‚– Šº1ø6…Kü…JÔ…¤…
Gÿ6 $ü /'%›ý'
U•ý'ü°Ìø8«Gü«F”«
oÔ!
)ü¾3-.%ó‰+,-
Uí‰+,-  ü d‡\› ü‡ 4”
wÔ!?1œ” ¦ ­ =ø3Çç  Ÿci/>=FVÛÙ× æ@Ð ùÐ Ýp
î·Š'!"%Þ¸-ú¸
‰¹" !ýÅ·Æ  É
й - yÎ|ˆ$±
¼Õ%Ó&Ñ&
æ@Ê% &ó&z% H


UÔý! ݹÿ6²"Ÿ²"ñ'1(7)=*&-·ý  '`(f)l*Å&(
Â&(
˘&*²"5ä˜(+ (+ ݹµe²"*Õј( é–ݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmtµe²"ÿ6+
ê˜(+A*G)M(iÍv
œ),²"* ݹÔ!²", П
›˜&)Ïÿ6Å¡˜' é–Ívÿ6)ê*ð)ö(©ü…K|ÿ6sÌߜ߂4  U¬Š+, ݹÔ!²"Ÿ²"¸.¾- ð /0÷20²"ô41ú41 ݹµe²"0ò4 é–ÍvÔ!1ž41l0r/iÍv52²"6 ݹÔ!²"2 ûŸ
‹Š+,.ŠÔ!-‘Š+- ݹÔ!²".Î.Ô-/$0æ2/ÏÔ!ã3 é–ÍvÔ!/Z0`/îü«G|Ô!  ñѨ48ü´ü—¯ßüäÊüîÀüžüܦüê˜
u|
 ·½ýÑÊQ©v4‡{×uxÖuïußupýƒ·Ž‰v¯Öu
¬ßu§§öG É É¡ÉSplitÁ¤Éò¿o ëD1Òq!:Š
ùyŠ|Sˆ­É
á©vW×uTÖuËQßuLü½9WMÄøý¯•n³vº1”ÉýÉü¦êUÿ6²"²"6Ô!°%²"²" º1åu®ý¥Êýü¨&!6Ô!°%ü€-Øýüé3˜"Iº1ü¬""ü¬4Õ##üÇ4º$#éüVÿ6²"ä&&à&&Ü WÔ!²"²"Á ×))Ô*À²"Ð)ýæˆá+­OÔ!²"7Ô!°%ÒK²"b …†Š+,,üÉ',7Ô!°%ó‚-°Š+,üÞ6œ.Kº1üÌ$.ü£7×//ü¾7¼0/ÏüVÔ!²"
Ê22Æ22Â
WÔ!²"²"7
½55º6À²"53ݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmtÔ!²"¬Þº1Ô!¤º1dÔ!+„Ós
Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì º1¿
”'U
º1ä º1Ô!& Ç…( ”'ݺ1í é–ì–í–|î–òï–ð–iñ–ò#â„ ÅÙ”£Ívÿ6. ݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmtÿ6²"~ ¤‡~ Ív=ÿ6Ÿé–ì–í–|î–òï–ð–iñ–ò#â„ ÅÙ”£ÍvÔ! º„  5 Ív Ô!=ÒK ÚKD Ô!9 Ô!ò
Š'Çæ@ïjŠ'ýÏÌÏÌ CharSearcherÁÑÌhaystackÁ¦sÒÌfingerÁ¦sÓÌ finger_backÁ¦sÔÌneedleÁ¦sÕÌ utf8_sizeÁ¦sÖÌ utf8_encodedÁ¦s¥}ÂÈNVËáæ@a ïjDŠ'Çæ@|”'-®ý”'ä&ÿ6¡ &²"Ï
&Ív¿
&²"ü )”'=†Š+,Ô!:,Ô!Ô 2²" 2Ívò
2²"/
5 inputÁŠ parsed_flagsÁ?ôø¥6 ¥69
parsed_flagÁm ¥6'Ê 
Ï
©5

R ©s;hÎoU4P
†pò‰qpÔ!2Íh¼§Mìœjþ§Mì”lÍhÚ§Mìªnñ€
îýº1 €6è‚
ÆŠ+º1 ù8üÉ52Ÿ²"Î6Ê®Iº1«¨¥²"«ñ€²" ©¥6d$º1¨
_ref__flagÁüÀ84Ÿ²"ð7jKº1gda²"Ë肽¥62׺10áŽü’#Õ33¬’
mÔ!BR ´ü‘$ü‡7L‡
1Ô!éO,, ¿À8ü‡¹¢V´Í¬+éO¬+ŽÔ!òÿ6ñš*c.YÕ3À‘*ü‘ÅÔ! üÃ3ä٬٨:Ù¤Ù
4Ô!)5
: ? "
"
Ÿ ô¬ÃÀ‘¦ õüÀ7 ݹÔ!²" ö øù
à ²"À
Æ
ݹµe²" ¾ é–ÍvÔ!
j
< B H
iÍvg²"ï ݹÔ!²"4õò÷ã w ÏÔ!t é–ÍvÔ! ï õ û
³  |Ô!, í >RÕ3^; üÔ¥"ZüVÔ!²"žUQMWÔ!²"²"ÆHE À²"Aº„¬‡º1Ô!ÿ6¬+Ô!"–ˆº„ ÍvÚÔ!D”'CÔ!²".Ív²"[š‹w
#© &ù“Õ3²À‘ÁÔ!ñL§!$³!ŸDÁ!”Ì!TÒ!þM,Ì!dÒ!Lõ!ø<ä!ŸH=õ!½&À&¼0½&º&Ÿ$é!Џ1º1,"   <# ¼¡"
4¡"  L¨"ãO &Ÿº1,²"
„¨" ·" À?¡"®&
«& Ã" lÎ"Ÿ´å" 4å"

Lì"ãO
&$ö"  |ì" ú"
¸Aå"6'
3'
Œœ‰#Ÿ¢V # `n=JOUž#
^?¸"
Á#Ÿ¢V\ Ÿ
1
ü‰";Aû" $Ÿ¢VŸ
H+ =
=üËÓü£!ûü½!áçüÿ!„@¸" Ä¡"Bû"  ¼å" :"öGÅ647"²Ká!H3"üVÒKóV."*"&"WÒKóVóV¸!""ÀóV""üVÒKóV`†""~"
WÒKóVóVˆy"v"ÀóVr"¢V´“ ¬+éO~á!kÅ6Gù54”'Hº1¢V×ÄbØ¢VWÄbX”' ”'˜ 
š{c¤côóô¸¾

äŸçd©çŸÒK
ë Ÿçd©î ŸÒKW þM^ù5¹ãO¯ãO%ù5Ëá!éOŸù5Ýá!«éO±¼0½&„„&T—&D—&hüç&CŸ]
YÍhMJÓhRH¼ê&d'„“' ݹÔ!²" ¢'ŸDD?<× æ@ì \:A8œjŸ|0-*€D¼''-ïj”lQˆŸ$´' Šº1Íh ˆ Óh
C,dœ,„™, ݹÔ!²" ¨, ª,«,|¸(ìÝ( ݹÔ!²"Ÿ²"Ÿ5´ˆ* •Õù× Ÿº1æ@ý§’0]»’
nŽ$§’}Ç’ å»’ü´*? ݹÔ!²"Ÿ²" ý* Ÿ øFš+G üš+F
”š+dš+†p
$§+ $ü­+3 E
B ,øC°'㦬rÇ Ï ×
 æ@ì  Ï S]" ÝpÇŠ'ÄÁ¾Ä¼  É· ´:
EÇ×
æ@ì š hv 
b
ݹÔ!²"Ÿ²"Ò Ø ß+!$"V%"
²"S'#Y'# ݹµe²""Q' é–ÍvÔ!#ý'#"!Fà+
Gà+ iÍvô($²"ï+) ݹÔ!²"$ á+ Ÿ_ ŠÔ!\
ݹÔ!²" â è-!3"?%!
ÏÔ!<& é–ÍvÔ!!i"o!è
üš+G |Ô!µ dì+üì+ 4ù+‰q)\€,
œù+@+üÁ$êü€&«}üÍ'Æü×'¼üˆ+‹}¦¬H©v4ð&($×uT÷&;$ ÖuÏ N$ ßu^$ D‰vTÂ';$ÖuØ%N$ßu^$æ+öGa­Éuà©v4ç'($×uT½(;$ÖuÏN$ßu^$MÄá(ý‘ù\ýuº1Œ*ýï‘nÊtÒN$ßuU°’N$ßuUÌ’ÅIº1ü¸*:Á¾c­OÔ!²"BÔ!°%ó‚tWü¸+'BÔ!°%ó‚TQ!Kº1ü»+$!N""K#"-üVÔ!²"
-%%-%%
-WÔ!²"²"5-((-)À²"þ,(%º„¬ò$º1,â$Ô!: º1dê&Ô!ß„¼'DÇ…M”'0º1º1$Û'V–ˆÁº„Á 5ÁÍvEÔ!hÒKAÚK]Ô!êŠ'Ç æ@¯% ïj|(Š'y(Õ‰Q(æ@¯%•‹(Š'Çæ@¯%æ@¢”' Ô!×Ô!q!%²"Ÿ"%Ív"%²"Ì!(š‹+­‹k
ô_ ¥6#  ¥6
é‹\Œ+
G©n’hÀ
†pð‰q^Ô!öÍh*§MìœjF)§Mì”lV(Íh"*§MìÇ«µº1?Æ·>º1;˜Ÿ²"ß+BÈKº1¯ú÷²"º+Æ·ÿ¥6º1ÆáŽp¦0
é"( ˆ](ˆ0
Ò]Ÿ
º1&m3Œ00¸V¢Va ²"k ñ\ñ\šó\Ÿ ÇYô\bufÁÇY×ñ‚ag%°̾ú  é"—ÀØÚåï•À̾>ç¾(Á0
!8Þ2žÒK# . ̾fk
Ä]|Ÿº1Ÿº1ot£8×1ûÒK#.̾æëÙÁøŸº1Ÿº1lq &,
µ]>Ÿ º1LUÅ0 Æ0Á 
¢V­—ÀÈ¿¿”'Ç ÒK+̾4 ´Ä@´ÄÉ̾ÒÈÄÛ Ú__self_0ÁŽÄFÈÄ̾-ÙÁ[ÈÄ̾¾ÙÁl›Ãs,°4$¸4¬Ÿ²"ßí6Ig"V"R"²"$4ž
$4ÓÆ|¥6_flagÁ˜Ë4ŸÒKÎ"ÓÆu,§7$¯7ÔŸ²"˜¦ú8KK":"6"²"$”7ÓÆ$ø6ÓÆz¥6øÅÂ7ŸÒK¬"ÓÆ(üé9%Ÿ²"”:Ml$²"$Ú9$Ìô9 ¹a ´ :eMÏ$²"cé"Ré$ îº1̾@ 
Ô!(̾( Í
Æ]Ÿº1&Ÿº1Ÿ º1~ƒR Ñ
 ÒÈz¢V‘GŒÈ¿̾ý̾æ ¬+ð¬+÷ÇÚÔÞ̾L¸Ì̾.•Ëü¤Ø ÂÔ!ò`ü—[Í#º1Ô!¾
Ì Cž ÂÔ! ë¨`¦Í#£º1¡Ô!Ÿº1uÔ!k¾
ÀÌ Äîº1¬a$º1d†G $º1Ya$º1WGU^$+ Ô!¢be$¬+G e$+ + Ô!+  ¡tbe$¬+rGp¬++ e$ ¤Ýº1ÇÏ× æ@ì Ï}Ñ)
ß)Š'¬Ü  ð÷cü­J($×u;$ÖuÏN$ßu^$GÚº1Š'Çæ@¯%(x§Mì
º1,@ F
×uUÆô cÑ‘Gϧº1¨º1åî>º1ÇÏ× æ@ì ÏÑÏŠ'ÝÐ dü… K($×u;$ÖuÏN$ßu^$G, º1 Š'Çæ@¯%"r§Mìôù
º1¤¶  Õ. É äd⯑G­º1hº1¼Åüå)´å
nŒü¬Ùg¾Ù;hüÈL¬ÙQ¾Ù¾Ù§Ù Œü
¾Ù¾Ù
f¬Ù 
ÂÂÇľ
PÅÌ P¯£žð3„ò¬Ù}Šœ(
 Y

×U! ½“˜!

 àÚý€˜,!
¿àÚ
«˜!
UY YœàÚ 
!A{¢2wy{Í2w I{¯4w œàÚ 
  ü…!´…§Ù (üÑ
¿ì¾Ù¾ÙœÝ0 ïüÅ+øT˜c ¥ «¬åñÆC 
ÙÛýžGYÍÌY
Yý˜~$! àÚýæÑD

âY? 
ÙÛ
äY
aU€Y
«Y @F
¾Ä Ê Õ áýè=!N Š'A{5w
 $*1 ù{§;Cwù{®;<w ¿¿ËÁ÷ §ɪs  »¤àÚmÞ’!< ˆßuï’!T ˆßýÞ’!
ü’! œ
 {®<wìòøþ
 6Q{ý=wý™Ì(!m¬Ì!  ÙÛ!ŸŠ'
ÀÌ!ý†Ì=! ¿àÚ
ÂÌ!©{ò=w {†>wù{¬4ò wÕ’ˆ! MÐ'D" ÙÛåˆ! 
«ˆ! ¹{—@w Œ· àÚ
%Фäš+ #¬Ù¤
k¬Ùù¨¬õ$ŸŠ'ù{³8>w  ÙÛ(i$üÍßüèÄòü·DýØ›G(¿màÚý¢YfàÚ½ýÜÖYýû·Yýý¯YýÝT‘!ÓßÚÅ‘Yýõ–¿!âßÚàÚYýÉ{û!
ÝßÚE˜˜!
ý¯Æ`CäàÚ½­Yý±ÓÙC èàÚ¸ NÝàÚYý•Çø
DàÚYc.öGýeýeÀf§ Òef
end_or_lenÁÒef_markerÁÒe~çáƒX ÇàÚvù{Ù0õwÅÆàÚù{˜2¶wù{¼2’wù{Ó4µwýª:çNŽàÚ1{è4wý˜@NàÚÒKeü=Nù¨Çñ¡±Ë{à8wýŒ*AÕÎ$AùèÞÉ[ÓÐùè³Ì4}èàÚù{Å8,wý±’R!§àÚ5âÝàÚEã’!ùÝàÚEõ’!ýøÈÓ!èàÚ1{>w,ÝàÚE±Ì!ý¢†!ÞàÚY{¢@wa ÝàÚE—ˆ! ýœ'CD õàÚˆ! e$b¬Ù!¬Ù¾ÙK ÝÚ2 Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì ¤ä¤ä{¾Ù¾Ùñ¾Ùó ¬ÙB¾ÙcŠ'àYüàÿYÙÛ ˆß½ˆß¾ÙÛr ßÚm×U! ÙÛ
üà{œ2wÙÛQ{À2wŠ'{×4wŠ'¡{Ü8w!üà üàN¤ä‰{œ@wˆßþˆßïÙÛlÙÛkÙÛð üà® ÙÛ·  truncatedÁÏ
ô× Äèüàôì ÄèÙÛ ô
ÄèÃÃÄ PhantomDataÁ±öµ,±ÀU¤äŸµð¥6"wX ¾Ù¾ÙO f¬ÙÝÚš
œàÚI
œàÚ§Ù
¨åÚ ÞÝ
ülàÚ<
›Ìéðè$Aü¨ ”¨

i¬Ù(,?$´¨åK ¹¨å ¥
’ë¾Ù¾Ù¯MÉÍ Ç 
¨å 0 ü¨/
ʾپÙ>`, Ö Ü Ýjüög
$™ïí, ¾Ù¯¾Ù¸¾Ù´ïí¬Ù¿¾Ùh§õ¾Ù
Vw¬òø¨å¨å¦©ó!¨åD¬ô¬ÙÚôµĵ
m¬Ù," ÒÄá„á¨å&@ ðlq
ɾپÙ3 ø L   Œ·¬Ù   ÈTY^ Œ·¬Ù75BÉlüìÝü¥¤
Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì ¬Ù¾Ù¬Ù¾Ù˧õ;ÙÖïíÓ§õ¬Ù@Ê RéîWÑçöQ¨å$ü÷2¬ÙGÌß”æ
¬ò#':¨åF ÷jo©ó{Š,üÈ1´È§Ùª ø þÿmüŽq¬Ù¾Ù¾Ù¾Ùïí ¬ÙÊ 0S¬ò1¨å?©óM§ÙÀ¬ÙœÇ ×
 æ@ì 
|Š!  $¯! Œ·¬ÙŸ 5 XXÔ!  \Ô!f¬ÙÝÚ!      


ÙÛ
¿àÚ
ÿ
ý
œàÚ
šŸ¤©®³¸ù"ö#óùœàÚ
Wç""
#$ò" Œ·¬Ùü" ü£"+œº"+ ,¬Ù$Ç"¨ådº"4Ç"F´£"§ÙQa Í"üž"1 Œ·¬Ù Î" Ý"ÈÍ"Ò#Ÿ åøWÈ! Î. ÙÛ+
(
&
$ˆß 
X
ÙÛ
y
 
U kq w"}#ƒ"
Ž#¿ Š'¿ÅËÑ×Ýä  üàà ˆßÝ. ˆßÚÖÜpÕ\bhntz ÓÐ Ì Ò  ÙÛë ŸŠ'Ë È  ¿àÚÄ Á"¾»" ³$  ÙÛ±" ®" « Œ·¤äJPV\bh$Ì!Фäœñ!%º1å„ý&!×(! æ@ýÏ"S+­ÏS
Øcè@Ž$!S
S3²ŸŠ'¬# ÙÛÐ&!Ÿo-ü¢ Úgüà!ˆ($×uT!;$ÖuÏN$ßu^$ýú=YöeàÚû¿màÚYùfàÚ²õñ í
é ÓßÚåã âßÚàÚÞÜ
ÝßÚØ
Õ
äàÚÑÏèàÚ
ÝàÚËÉ
àÚÄWÅÆàÚRMHCŽàÚ?<àÚÒK97±Ë0-Õ)%ÓÐèàÚ§àÚFóÝàÚÝàÚ èàÚ/ ÝàÚ ÞàÚûY"ÝàÚø"õ"õàÚò"$a¬Ù4ö!ýÕüUÈUýUU&žrP&N$'ßuU'N$'ßuU'R'Èè@è@ý¼#U'ý£TS*ÃcŽ$Ž$©*e$b¬Ù<¿"$åùº1þìw¤äº1\ñ!¬Ùv¾ÙwïíSŠ'Çæ@¯%ÝÚÄŠ'PüàN ÙÛf
ˆß ˆß
ÙÛ¾½îJ ÙÛÑ
üàHÙÛEŠ'BŠ'?]üà\üàŠ¤ä<ˆß7ˆß(ÙÛ¥ ÙÛ¤ ÙÛ)"æ@U'üà ÙÛ˜ ¾
6ô± Äèüà"ôÆ ÄèÙÛ#ôÛ ÄèµðŸµð¥6Çõ f¬ÙÝÚœàÚCœàÚ¨å §Ù §MìÜñ/éñðЈ§®®»
!¬Ù먆  ¬Ùõ•%püÍ$H¬Ù¬ú$  Ã
ÖâeÕSl,Õw¬Ù„ß$ïí,Õ$½šÛåòO§ºE©Ã¬Ù®[Ć”®ÔÌ'¤Ì'†”$á' ì'qü”'X½•¬¬'ïí,¢' .†”l\Ï(
$Ô(¨å$Ï(4Ô(0ŒÞ( ¾Ù¾Ù%üÏ( ü÷J! î( ô(õ(rüª(K$À(ïí,¶(§õÚ¾Ùâ§õ¯¾Ù·+Lξپ٨å ü÷»üá* ”á*\á*
Lá*¬ò#':$í*¨åF4í* ò*\ö*$û*¨å$ö*4û* ÞÝŸB¹½ €+\…+ 
$Š+¨å$…+ 4Š+0 üá*/ü÷$V" + •+ –+sü·)ß
$Ë)ïí,Á)§õ¾Ùœ¾Ù˜ï횬٣¾ÙQ§õõ¾ÙýQs¬òÚ¨åè¨åÞݨå6ü÷¬ÙÖÔÎ,\Î,$Ó,¨å$Î,4Ó,dÜ,,Ü,$â,¨å&4â, ç,z©óY˜œ5:Œì,  ¾Ù¾Ù% üÎ,/¬ôöJ! ü, - 
ƒ-tü÷+Œ
$œ,ïí,…,¬Ù,Œ,§õi¾Ùr¾Ùo¾ÙMïíO§õå¾ÙíR¥ U¾Ù¾Ù¨åΨ媩óè¬ô
¬ÙãÔ¹.\¹.$¾.¨å$¹.4¾.dÇ.,Ç.$Í.¨å&4Í. Ò.z©óY˜œ5:d×. ,×.

$Ý.¨å
& 4Ý.@ â.
ü¹.*ü÷m".3 è. 
é.uüä-… $‡.ïí,ð-¬Ù,÷-§õŠ¾Ù¾Ù¾Ùnïíp§õ¾Ùïí ]¥ `Œ¨åè¨åÄ©ó¨åXü÷ ¬Ùãüë/%\„0$„0$‰0¨å'4‰0 Ž0LÄë/çöWg 0,ã/#—0vüŸ/xÒKµ/ ¬ÙL«/¬ÙȾÙÈïíÉ#H¨åíçöû¬ÙŽü²10ü²1#\É1$É1$Î1¨å'4Î1 Ó1L´²1§ÙWg Ô1{,Ö1
}¬Ù,Ü1dÖ1 á1,ª1#é1wüÛ0ŽÒKü0Ù§Lå0¬Ù,ð0¬Ù
¬Ù¾Ùïí9¥ <i¨åC§ÙRµ©a¬Ù¸üÓ45üÓ4#\ê4$ê4$ï4¨å'4ï4 ô4L´Ó4§ÙWg õ4{T÷4
~¬Ù,‚5Œ÷4 ‡5,Ë4#5xüü3“ÒK4Ù§L†4¬Ù,‘4¬Ù
¬Ù¾Ùïí9¥ <i¨åC§ÙR¨¬a¬Ù¸ü´6?ü´6#\Ë6$Ë6$Ð6¨å'4Ð6 Õ6L´´6§ÙWg Ö6{¤Ø6
¬Ù,í6ÜØ6 ò6,¬6#ú6yüÝ5ÒKþ5Ù§Lç5¬Ù,ò5¬Ù
¬Ù¾Ùïí9¥ <i¨åC§ÙR›¯a¬Ù¸,À8”Ô84Ù8
w¬Ù$Ô8,à8lÙ8”…94Š9
x¬Ù$…9,9lŠ9¨9züä7ÄÒK8Ù§Lë7¬Ù,ö7,ƒ8ÒK§ÒK|+¥ .Ì 3h§±åÙ±¹l:\:
h¬Ù#,•: ©:±:{üÔ9]ÒKç9Ù§LÝ9¬Ù|5£³¬ÙwÔÒ;\Ò;$Ò;$×;¨å&4×; Ü;dà;,à;$æ;¨å&4æ; ë;Œ©óYª*/ü»;2´»;§ÙÏ ì; ò;ó;|ü†;m¬Ù$¬;¬Ù$–;¬Ù,œ;¾Ù=¾Ù?ïíA¾ÙïíB¥ Er¨å¨åJ©óš§Ùè¬ÙĬÙÊÔŒ=\Œ=$Œ=$=¨å&4= =dš=,š=$ =¨å&4 = ¥=ŒÞÝYª*/üõ<2´õ<§ÙÏ ¦= ¬=­=}üÇ<f¬Ù$æ<¬Ù$Ð<¬Ù,Ö<¾Ù=¾Ù?ïíA¾ÙïíB¥ Er¨å¨åJÞÝš§Ùè¬ÙĬÙÊÜž@\ž@$ž@$£@¨å&4£@ ¨@l¬@d­@,­@$³@¨å&4³@ ¸@JO
Ó¾ÙZi+¼Á©óÆÚSXü‡@3´‡@§Ùÿ ¹@ ¿@À@~üÔ?l ¬Ù$ø?¬Ù$â?¬Ù,è?¾Ùm¾Ùoïíq¾Ù?¾ÙAïíCK¥ N{¨å¾¨å|ƼŠ©óÚ§Ùø¬ÙÔ¬ÙÚÔòA\òA$òA$÷A¨å&4÷A üAd€B,€B$†B¨å&4†B BŒ
ìí¾Ù¾Ù¡dµ5:üÛA2´ÛA§ÙÚ ŒB ’B“BüžAu¬Ù$ÌA¬Ù$¶A¬Ù,¼A¾ÙH¾ÙJïíL¾ÙïíB¥ Er¨å¨åU·À¥§Ùè¬ÙĬÙÊdÀC\ÁC$ÁC$ÆC¨å&4ÆC ËCJOƼTc%ü§C&ħCçöƒ ÌC ÒC
¥¾)  
”] Ž$  É ñ\ñ\šó\Ÿ ÇYô\é¾ÇY×ñ‚ag%¢V¹§Ä 
 ¿¿ËÁ÷ §ɪs  »¤ÒK ñ\ñ\šó\Ÿ ÇYô\é¾ÇY×ñ‚ag%¢Vi ¿Á 
ŸÃÃÄÃï±öµ,±ÀU´Ä §•$ 

 ù§¤ý  ÍÁ § $ û   ÍÁÍÁKÏÁ«ƒ\í‚—aó [·ªX5œB 0 ¯OÖÜ  º1Š' 
º1%¯B  
¤ÌýB%  ¨ÂŸ
Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì  
«Á«Á PlaceholderÁ¬Áú ­Áš®ÁŠ ¯ÁÑb<Míà¥Â
´B ù
ܻ.I
ª
¾\Í̾ù
ª)
¸ª
 ÍO  ÎOÖø ÉN…ýá(x ‘\ Éù§Ö ¾4Ó ÉÙ§ ¼4â ÉÒK1§ž ¸4Ý É´4ý°@‹ ¦\Š'Š'¡¢VX þN É( åNÍP ìN Íí¨Â¨Â ArgumentsÁªÂpiecesÁÇY«Â¥ÇY¬ÂôÇY­SPóLa9¤ÌŠ'B¤ÌA ¾ÒW¿ÁÁÁ»ÍÂÁÌ ƒ\ÃÁ formatterÁƒ\ÄÁ _lifetimeÁƒ\ÅÁÆÁCountÁÇÁòƒ\cƒøYµQH×ÊÀ洃 §   ÉÐ2ÚÈW<£Í·¾Íxc{ôJUýÐA7 «\Š'Š'ÒKÒK«ÏúÍ·šÉ) º16 º1@MÖÔ”Íj–Ís{"0 ïPñšªñ]šª ]øP 
  ˜= •=
=
 ÚÈ‘= ¿ÒK
Œ=

  
”] ˜$ ª×·É¢VÉ
 ʲ ¿Á 
Ÿ°Ë#
)   ÍÁô ù  ¤Ì ]·ª"çí0 ÷PÙ͔ͣÍÕÛ¾ÍÐ ¨ÂŸ
èÍ39ù‹ª.Iª«ÏÛÍùª) ¸ª
 •Q  –QÙø ‘P…,\ª×%)á9Óª×#Û9âª×ÒKÓ9ݪ×Ï9¦\Š'Š'¢VX ÆPª×( ­PÍP ´PÒÑäÞÑÙ¾ÒØ¤Ì×ÚÒêæÒô —Êñ ʱ ¯×1 ª×ý6ÚÈ„@£Íä¾Í²ŽcôXT+«\Š'Š'ÒKÒK«Ïðͳ¤×?
k º1x º1Ùߔͬ–͵½§ ° Ú$§ Þ Ú$¡RË § ° âÆÚ$¦ ßµ Ú$PÈ å âÆÚ$u16::MAXÁ¨ ± ä$¨ á· ä$¦RÌ ¨ ¥ âÆÚ$ä$£ â² ä$SÅ Ü âÆÚ$"£ © ñšªñ_šª _°O 
 ¢ œ  C C
 C
 ÚÈC ¿ÒK
C
 
  œ 
”] Ú$ ¯â·É¢VN 
 Ê7
 ¿Á 
Ÿ°Ë¨ 
®  ¥  ÍÁŸ ô ù  ¤Ì _·ª"l r k ê͔ͣÍX ^ ¾ÍS  ¨ÂŸ
èÍ
¼
ù‹ª.Iª«Ï{Ëùª) ¸ª
¯

®
ê¬
¨
‘\¯â¥
]?Ó¯âŸ
W?â¯âÒK
O?ݯâK?
¦\Š'Š'¢V
¯â
Í
ÒÑwÞÑʾÒɤÌÈÚÒÛæÒj—ÊgÊ'´â§  ¯âs<ÚÈúE£ÍZ
¾Í(
 c ôKø £ «\Š'Š'ÒKÒK«ÏåÍW ©â·É
 º1Ö
 º1à
í
êÒ”Í
–Í"  ¦ ñšªñašª aøP 
 ¼ 7G 4G
:G
 ÚÈ0G ¿ÒK
+G
°
ª 
”] ä$ Éê·É¢Vh
 ÊQ ¿Á 
Ÿ°ËÂ
È ¿ ÍÁ¹ô ù  ¤Ì a·ª"ŒŸ í͔ͣÍrx¾Ím ¨ÂŸ
èÍÐÖù‹ª.Iª«Ïx Ëùª) ¸ª
 ¤ œ íš Â‘\Éê¿wCÓÉê¹qCâÉêÒKµiCÝÉêeC±¦\Š'Š'¢VÉêÍÒÑt ÞÑʾÒɤÌÈÚÒÛæÒ—ÊÊAÎêÁ
 Éê@ÚÈJ£Ít¾ÍB
c!
ôKæ
½
«\Š'Š'ÒKÒK«ÏåÍE ÃêÑý  º1
 º1 ! íÒ”Í> –ÍG O 9B¦%;òJ¦%¯R_;DïǦ%:óI¦%P\yïǦ%u32::MAXÁ<E°%>õM°%´Rb>;ïǦ%°%9öH°%S[rïǦ%"9?ñšªñcšª c°O 
 82 ³L °L
¶L
 ÚȬL ¿ÒK
§L
,
& 2
”] ¦% Åõ·É¢Vä
 ÊÍ ¿Á 
Ÿ°Ë>
D ; ÍÁ5ô ù  ¤Ì c·ª"þ͔ͣÍîô¾Íé ¨ÂŸ
èÍLRù‹ª.Iª«ÏËùª) ¸ª
ELDþB>\Åõ;óHÓÅõ5íHâÅõÒK1åHÝÅõáH-¦\Š'Š'¢V)Åõ'Í%ÒÑ
ÞÑʾÒɤÌÈÚÒÛæÒ—ÊýʽÊõ= Åõ FÚÈO£Íð¾Í¾±c´ôKŽ9«\Š'Š'ÒKÒK«ÏåÍí¿õM_ º1l º1vƒþҔ͠–Í©±"6<ñšªñešª eøP 
 RL ÍP ÊP
ÐP
 ÚÈÆP ¿ÒK
ÁP
F
@ L
”] °% ßý·É¢Vþ
 Êç ¿Á 
Ÿ°ËX
^ U ÍÁOô ù  ¤Ì e·ª""5Í”Í£Í¾Í ¨ÂŸ
èÍflù‹ª.Iª«ÏËùª) ¸ª
3:20X\ßýU
MÓßýOMâßýÒKKÿLÝßýûLG¦\Š'Š'¢V,ßý*Í(ÒÑ
ÞÑʾÒɤÌÈÚÒÛæÒ—ÊÊ×äýW ßý#JÚȪS£Í
¾ÍØ´c·ôK|S«\Š'Š'ÒKÒK«ÏåÍÛÙýg º1  º1ª·Ò”ÍÔ–ÍÝåÏØò%Õäò%½RùÕÞüÈò%Ôãò%Pö üÈò%u64::MAXÁÖßü%Üëü%ÂR ÜÙüÈò%ü%׊æü%Sù üÈò%"×Ýñšªñgšª g°O 
 ÖÐ QV NV
TV
 ÚÈJV ¿ÒK
EV
Ê
Ä Ð
”] ò% ㈷ɢV
 Êk  ¿Á 
Ÿ°ËÜ
â Ù ÍÁÓô ù  ¤Ì g·ª" ¦ŸÍ”ͣ͌¾Í ¨ÂŸ
èÍêðù‹ª.Iª«Ï¯!Ëùª) ¸ª
ãêâàÜ‘\ãˆÙ‘RÓãˆÓ‹RâãˆÒKσRÝãˆR˦\Š'Š'¢VÇãˆÅÍÃÒÑ«"ÞÑʾÒɤÌÈÚÒÛæÒž"—Ê"Ê["èˆÛ ㈧OÚÈ.Y£ÍŽ ¾Í\ OcRôK,׫\Š'Š'ÒKÒK«ÏåÍ݈ë"ý  º1
! º1!!!Ò”Í>!–ÍG!O!"ÔÚñšªñišª iøP 
 ð#ê# kZ hZ
nZ
 ÚÈdZ ¿ÒK
_Z
ä#
Þ# ê#
”] ü% ý·É¢Vœ#
 Ê…$ ¿Á 
Ÿ°Ëö"
ü" ó" ÍÁí"ô ù  ¤Ì i·ª"º"À"Ó͔ͣͦ"¬"¾Í¡" ¨ÂŸ
èÍ"
"ù‹ª.Iª«Ï¬Ëùª) ¸ª
ÑØÐÎö!‘\ýó!«VÓýí!¥VâýÒKé!VÝý™Vå!¦\Š'Š'¢VÊýÈÍÆÒѨÞÑʾÒɤÌÈÚÒÛæÒ¸&—ʵ&Êu&‚‘õ  ýÁSÚÈH]£Í¨$¾Ív$RcUôKñ «\Š'Š'ÒKÒK«ÏåÍy÷'1 º1> º1HUÒ”Ír–Í{ƒm)v)¾&{)šŠ)¾&$ËRŸ){)„)‰Ê¾&z)‰)¾&Pœ)¹)‰Ê¾& u128::MAXÁ})†)È&)š)È&$ÑR¯)‹)ˆ)‰Ê¾&È&†)ž•)È&S¨)¿)‰Ê¾&"†)Œ)ñšªñkšª k°O 
 …)) ` ý_
`
 ÚÈù_ ¿ÒK
ô_
y)
s) )
”] ¾& ’œ·É¢V1)
 Ê* ¿Á 
Ÿ°Ë(
‘( ˆ( ÍÁ‚(ô ù  ¤Ì k·ª"O(U(N(¦Í”Í£Í;(A(¾Í6( ¨ÂŸ
èÍ™'Ÿ'ù‹ª.Iª«Ï^+Ëùª) ¸ª
'™''¦''\’œˆ'@\Ó’œ':\â’œÒK~'2\Ý’œ.\z'¦\Š'Š'¢Vv'’œt'Ír'ÒÑZ,ÞÑʾÒɤÌÈÚÒÛæÒM,—ÊJ,Ê
,—œŠ& ’œVYÚÈÝb£Í=*¾Í *þ'c(ôKÛ(†&«\Š'Š'ÒKÒK«ÏåÍ:)Œœš,¬* º1¹* º1Ã*Ð*¦Ò”Íí*–Íö*þ*"ƒ&‰&ñ šªñmšª møP 
 Ÿ-™- d d
d
 ÚÈd ¿ÒK
d
“-
- ™-
”] È& ¬¤·É¢VK-
 Ê4. ¿Á 
Ÿ°Ë¥,
«, ¢, ÍÁœ,ô ù  ¤Ì m·ª"i,o,&©Í”Í£ÍU,[,¾ÍP, ¨ÂŸ
èͳ+¹+ù‹ª.Iª«Ï[(Ëùª) ¸ª
€&‡&&©}&¥+‘\¬¤¢+Z`Ó¬¤œ+T`⬤ÒK˜+L`ݬ¤H`”+¦\Š'Š'¢Vy&¬¤w&Íu&ÒÑW)ÞÑʾÒɤÌÈÚÒÛæÒg0—Êd0Ê$0±¤¤* ¬¤p]ÚÈ÷f£ÍW.¾Í%.'c'ôKÉ' *«\Š'Š'ÒKÒK«ÏåÍ((¦¤´0à( º1í( º1÷()©Ò”Í!)–Í*)2)3%3Š'3®-3Š',ÛRB33'3–ËŠ'3¯,3Š'P?3\3–ËŠ'
usize::MAXÁ!3*3”'#3±23”',âRG3#3 3–ËŠ'”'3²-3”'S@3W3–ËŠ'"3$3ñ"šªñošª o°O 
 33 ˜i •i
i
 ÚÈ‘i ¿ÒK
Œi
3
 3 3
”] Š' ª¯·É¢VÉ2
 ʲ3 ¿Á 
Ÿ°Ë#2
)2  2 ÍÁ2ô ù  ¤Ì o·ª"ç1í1æ1ºÍ”Í£ÍÓ1Ù1¾ÍÎ1 ¨ÂŸ
èÍ1171ù!‹ª.I!ª«Ïö4Ëù!ª) !¸ª
*111)1º'1#1\ª¯ 1ØeÓª¯1Òe⪯ÒK1Êeݪ¯Æe1¦\Š'Š'¢V1ª¯ 1Í
1ÒÑò5ÞÑʾÒɤÌÈÚÒÛæÒå5—Êâ5Ê¢5¯¯"0 ª¯îbÚÈul£ÍÕ3¾Í£3–1c™1ôKs20«\Š'Š'ÒKÒK«ÏåÍÒ2¤¯26D4 º1Q4 º1[4h4ºÒ”Í…4–ÍŽ44"0!0ñ$šªñqšª qøP 
 7717 7m Em
Em
 ÚÈ^m ¿ÒK
zm
+7
%7 17
”] ”' Ä··É¢Vã6
 ÊÌ7 ¿Á 
Ÿ°Ë=6
C6 :6 ÍÁ46ô ù  ¤Ì q·ª"660½Í”Í£Íí5ó5¾Íè5 ¨ÂŸ
èÍK5Q5ù#‹ª.I#ª«Ïó1Ëù#ª) #¸ª
000½0=5\Ä·:5òiÓÄ·45ìiâÄ·ÒK05äiÝÄ·ài,5¦\Š'Š'¢V0Ä·0Í
0ÒÑï2ÞÑʾÒɤÌÈÚÒÛæÒÿ9—Êü9ʼ9É·<4 Ä·gÚÈEm£Íï7¾Í½7™0cœ0ôKa184«\Š'Š'ÒKÒK«ÏåÍÀ1¾·L:x2 º1…2 º12œ2½Ò”͹2–ÍÂ2Ê2¬0 ´µ#²".é"5<J ´^µk²"vé"}*P—¤«®˜ $è:Ç$î:Âø ,ô:eDã=®D…`ž½ŸÓt‡¿ è„ƒÂ¡ÿÔðÍ¢ |ü᣾Ìõ¥ßôö¦´•!§£ÜÿE¨ÆÔ‰U©èìÉ…ªœÜ®¬¿Äœ ­îÄõ°Äô×$±¿üî-"²üÐ7!³üÓ»âüÓÛ5Ö5
Generate types for C-style flags with ergonomic APIs.
# Getting started
Add `bitflags` to your `Cargo.toml`:
```toml
[dependencies.bitflags]
version = "2.9.3"
```
## Crate features
The `bitflags` library defines a few Cargo features that you can opt-in to:
- `std`: Implement the `Error` trait on error types used by `bitflags`.
- `serde`: Support deriving `serde` traits on generated flags types.
- `arbitrary`: Support deriving `arbitrary` traits on generated flags types.
- `bytemuck`: Support deriving `bytemuck` traits on generated flags types.
## Generating flags types
Use the [`bitflags`] macro to generate flags types:
```rust
use bitflags::bitflags;
bitflags! {
pub struct Flags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
}
}
```
See the docs for the `bitflags` macro for the full syntax.
Also see the [`example_generated`](./example_generated/index.html) module for an example of what the `bitflags` macro generates for a flags type.
### Externally defined flags
If you're generating flags types for an external source, such as a C API, you can define
an extra unnamed flag as a mask of all bits the external source may ever set. Usually this would be all bits (`!0`):
```rust
# use bitflags::bitflags;
bitflags! {
pub struct Flags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
// The source may set any bits
const _ = !0;
}
}
```
Why should you do this? Generated methods like `all` and truncating operators like `!` only consider
bits in defined flags. Adding an unnamed flag makes those methods consider additional bits,
without generating additional constants for them. It helps compatibility when the external source
may start setting additional bits at any time. The [known and unknown bits](#known-and-unknown-bits)
section has more details on this behavior.
### Custom derives
You can derive some traits on generated flags types if you enable Cargo features. The following
libraries are currently supported:
- `serde`: Support `#[derive(Serialize, Deserialize)]`, using text for human-readable formats,
and a raw number for binary formats.
- `arbitrary`: Support `#[derive(Arbitrary)]`, only generating flags values with known bits.
- `bytemuck`: Support `#[derive(Pod, Zeroable)]`, for casting between flags values and their
underlying bits values.
You can also define your own flags type outside of the [`bitflags`] macro and then use it to generate methods.
This can be useful if you need a custom `#[derive]` attribute for a library that `bitflags` doesn't
natively support:
```rust
# use std::fmt::Debug as SomeTrait;
# use bitflags::bitflags;
#[derive(SomeTrait)]
pub struct Flags(u32);
bitflags! {
impl Flags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
}
}
```
### Adding custom methods
The [`bitflags`] macro supports attributes on generated flags types within the macro itself, while
`impl` blocks can be added outside of it:
```rust
# use bitflags::bitflags;
bitflags! {
// Attributes can be applied to flags types
#[repr(transparent)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Flags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
}
}
// Impl blocks can be added to flags types
impl Flags {
pub fn as_u64(&self) -> u64 {
self.bits() as u64
}
}
```
## Working with flags values
Use generated constants and standard bitwise operators to interact with flags values:
```rust
# use bitflags::bitflags;
# bitflags! {
# #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
# pub struct Flags: u32 {
# const A = 0b00000001;
# const B = 0b00000010;
# const C = 0b00000100;
# }
# }
// union
let ab = Flags::A | Flags::B;
// intersection
let a = ab & Flags::A;
// difference
let b = ab - Flags::A;
// complement
let c = !ab;
```
See the docs for the [`Flags`] trait for more details on operators and how they behave.
# Formatting and parsing
`bitflags` defines a text format that can be used to convert any flags value to and from strings.
See the [`parser`] module for more details.
# Specification
The terminology and behavior of generated flags types is
[specified in the source repository](https://github.com/bitflags/bitflags/blob/main/spec.md).
Details are repeated in these docs where appropriate, but is exhaustively listed in the spec. Some
things are worth calling out explicitly here.
## Flags types, flags values, flags
The spec and these docs use consistent terminology to refer to things in the bitflags domain:
- **Bits type**: A type that defines a fixed number of bits at specific locations.
- **Flag**: A set of bits in a bits type that may have a unique name.
- **Flags type**: A set of defined flags over a specific bits type.
- **Flags value**: An instance of a flags type using its specific bits value for storage.
```
# use bitflags::bitflags;
bitflags! {
struct FlagsType: u8 {
// -- Bits type
// --------- Flags type
const A = 1;
// ----- Flag
}
}
let flag = FlagsType::A;
// ---- Flags value
```
## Known and unknown bits
Any bits in a flag you define are called _known bits_. Any other bits are _unknown bits_.
In the following flags type:
```
# use bitflags::bitflags;
bitflags! {
struct Flags: u8 {
const A = 1;
const B = 1 << 1;
const C = 1 << 2;
}
}
```
The known bits are `0b0000_0111` and the unknown bits are `0b1111_1000`.
`bitflags` doesn't guarantee that a flags value will only ever have known bits set, but some operators
will unset any unknown bits they encounter. In a future version of `bitflags`, all operators will
unset unknown bits.
If you're using `bitflags` for flags types defined externally, such as from C, you probably want all
bits to be considered known, in case that external source changes. You can do this using an unnamed
flag, as described in [externally defined flags](#externally-defined-flags).
## Zero-bit flags
Flags with no bits set should be avoided because they interact strangely with [`Flags::contains`]
and [`Flags::intersects`]. A zero-bit flag is always contained, but is never intersected. The
names of zero-bit flags can be parsed, but are never formatted.
## Multi-bit flags
Flags that set multiple bits should be avoided unless each bit is also in a single-bit flag.
Take the following flags type as an example:
```
# use bitflags::bitflags;
bitflags! {
struct Flags: u8 {
const A = 1;
const B = 1 | 1 << 1;
}
}
```
The result of `Flags::A ^ Flags::B` is `0b0000_0010`, which doesn't correspond to either
`Flags::A` or `Flags::B` even though it's still a known bit.
Á*P—¤«®˜t uÇtÂø ser®qž½pŸÓo èm¡ÿk¢ i£¾g¥ßf¦e§£d¨Æc©èbªœ`¬¿_­î^°Ä]±¿\²Z³ÐÓÖÜß:ÍÐÂÅ·ºdý:üQL
Yield the bits of a source flags value in a set of contained flags values.
Á$…; Ç$_Â ø ,ee
¤W)+Ü—ün¨£
An iterator over flags values.
This iterator will yield flags values for contained, defined flags first, with any remaining bits yielded
as a final flags value.
ÁÎ  ’ÞÔ! §Ô!¡!eÕSl,Õw
&(œ¹  á!TÒ  ´áλþ æeÔ!¡!üþ$ŒÁ ÁÔ!¡! 
Ô!š2Ċλþ Ëþ<’¡!üà\ÿÏ Ò Ù8œí þ,Ô!Ô!¡!
Ô!šå òüÇ#λþ ÌÌÿ¡!Ô!ü…( ¡!Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì ¡!ôH 
Ô!$üø
ü¥ ÒÍ
An iterator over flags values.
This iterator only yields flags values for contained, defined, named flags. Any remaining bits
won't be yielded, but can be found with the [`IterNames::remaining`] method.
Áλþ Ëþ<á!O§ºE©Ã&(ÌŸ¼¾Š'LÎÔ!dÝÔ!ÜîÎ  »þ óÌÿá!!ü$žÃ ÃÔ!á! ©Ã*š|ì€Î##»þ Ëþá!$%üÙ\ÿÈ Ë Ò8œæ¼Ô!Ô!á!""¦.š4å=òFìËü³JG Get a flags value of any remaining bits that haven't been yielded yet.Á©üŠ>; Once the iterator has finished, this method can be used toÁüÍB? check whether or not there are any bits that didn't correspondÁü”2/ to a contained, defined, named flag remaining.ÁLÒÄ Äá! ÄÔ!" Ü"
%Ô!üŒ(Î''»þ Ìÿ,”á!())&& Ô!üß(Å Åá!Œ·Ž··Í·‘·Š’·òÆ/2uB<Ì á!ôH& ç&
)Ô!t‹;üÁ¼
Parsing flags from text.
Format and parse a flags value as text using the following grammar:
- _Flags:_ (_Whitespace_ _Flag_ _Whitespace_)`|`*
- _Flag:_ _Name_ | _Hex Number_
- _Name:_ The name of any defined flag
- _Hex Number_: `0x`([0-9a-fA-F])*
- _Whitespace_: (\s)*
As an example, this is how `Flags::A | Flags::B | 0x0c` can be represented as text:
```text
A | B | 0x0c
```
Alternatively, it could be represented without whitespace:
```text
A|B|0x0C
```
Note that identifiers are *case-sensitive*, so the following is *not equivalent*:
```text
a|b|0x0C
```
Á4“;148;=@CF´µ¹¥ÇY*,WriteÁ,üº\*- $*/ø ,—e*0ÄêWðEG¤‰:<(*ü–tü up
Write a flags value as text.
Any bits that aren't part of a contained flag will be formatted as a hex number.
ÁLÆ ÆÔ!éO¢VÎ2323 ¸»þ §’ÞéOÌÿCÿ6Dº\éOü‘šw0c4ÀKMHJü´\ü¡
Parse a flags value from text.
This function will fail on any names that don't correspond to defined flags.
Unknown bits will be retained.
ÁD»Ç Ǻ„Î55 Õ»þ ÄÌÿFÿ6D‡ù“š‹B%'¨4<closure_kind>Á6<closure_signature>Á6<upvars>Á664ñ€É4˜7™˜7¶˜774è‚ü‡yüÈ>9
Write a flags value as text, ignoring any unknown bits.
Á”ŽÈ ÈÔ!éO¢VÎ9:9: ²»þ ¡é•Ìÿ
8Ô!éOšÚHcãH<>ACüÔeüÂŒ
Parse a flags value from text.
This function will fail on any names that don't correspond to defined flags.
Unknown bits will be ignored.
ÁŒÛÉ Éº„Î<< þ»þ íÌÿÁ˜
;Ô!š‹RL#%üË^üûOJ
Write only the contained, defined, named flags in a flags value as text.
Á„ÒÊ ÊÔ!éO¢VÎ>?>? ô»þ ãé•T„ Ìÿ,‰
=Ô!éOšQc4ü57:<üÁ$Fü # 
Parse a flags value from text.
This function will fail on any names that don't correspond to defined flags.
This function will fail to parse hex values.
Á|È$Ë Ëº„ÎAA é$»þ Ø$Ìÿ,Û$
@Ô!š‹\¸+@˜B™˜B¶˜BB@Æ·”’-ü­,d_
Encode a value as a hex string.
Implementors of this trait should not write the `0x` prefix.
ÁDœ-CC“Þ¬Ùü’-xCDDDüË-=Ü«- Write the value as hex.ÁLÎ-Ì Ì¬ÙÜ ¢VCÜ EE ç-C’Þ£¥ Ø-º\£¥TÛ-
D¬Ù£¥$è-c4î-/1”´.üŒ.'"
Parse a value from a hex string.
ÁD¾.FFª¤ü´.‘FGGGüï.TìÍ. Parse the value from hex.ÁLò.Í Íݹà¹á¹Ïâ¹òã¹ä¹å¹òÈŠmt¬Ù²"F ƒ/F’Þ¬Ù,½/
G¬Ùš‹,ü.|¦3²"IKMüé38ü¼3(% An invalid hex flag was encountered.Á„ð3ÓÆ²"Hž
JJH’ÞÓÆŒ‡4]ÓÆdŒ4
IÓÆ¥6Ùb#%üÞ6:ü‡6RO A named flag that doesn't correspond to any on the flags type was encountered.Á”å6ÓÆ²"Hž
LLHß©Œþ6ð©dƒ7
KÓÆ¥6¡cü½9!ü€985 A hex or named flag wasn't found between separators.ÁTÊ9²"HH
Mü˜: ²"OOü¿:8Â:ÎÏРβ" Ïñ\ñ\šó\Ÿ ÇYô\é¾ÇY×ñ‚ag%ТVN Æ:N
O$Ç:Ú Í:Tœ;4 ;eÂ¥ÇYPRBitAndÁ4ëPTBitOrÁ,'¼ìPUBitXorÁ4.éíPVNotÁ6ÑPWô$QPY¥Td´P[ä DpFP\½ DzCP9·¹¥§|~jlüDB`bUWGI:<|“Î__»þ ˜Í#`abcd ü—6ü©id
Define a flag.
If `name` is non-empty then the flag is named, otherwise it's unnamed.
Á¤Ô!Í#^^
`Ô!¾
PfÌ Yfüê(üømh
Get the name of this flag.
If the flag is unnamed then the returned string will be empty.
Á$÷Ñ ÑÍ#^ ü^
aÔ!üçü²0+
Get the flags value of this flag.
Á,ôÒ ÒÍ# ÒÔ!^ ú^
bÔ!ü­$ü¨{
Whether the flag is named.
If [`Flag::name`] returns a non-empty string then this method will return `true`.
ÁDºÓ ÓÍ#^ Ã^
cÔ!ü… &üýƒ~
Whether the flag is unnamed.
If [`Flag::name`] returns a non-empty string then this method will return `false`.
ÁT’ Ô ÔÍ#^ ^
dÔ!üï üÔ š 
A set of defined flags using a bits type as storage.
## Implementing `Flags`
This trait is implemented by the [`bitflags`](macro.bitflags.html) macro:
```
use bitflags::bitflags;
bitflags! {
struct MyFlags: u8 {
const A = 1;
const B = 1 << 1;
}
}
```
It can also be implemented manually:
```
use bitflags::{Flag, Flags};
struct MyFlags(u8);
impl Flags for MyFlags {
const FLAGS: &'static [Flag<Self>] = &[
Flag::new("A", MyFlags(1)),
Flag::new("B", MyFlags(1 << 1)),
];
type Bits = u8;
fn from_bits_retain(bits: Self::Bits) -> Self {
MyFlags(bits)
}
fn bits(&self) -> Self::Bits {
self.0
}
}
```
## Using `Flags`
The `Flags` trait can be used generically to work with any flags types. In this example,
we can count the number of defined named flags:
```
# use bitflags::{bitflags, Flags};
fn defined_flags<F: Flags>() -> usize {
F::FLAGS.iter().filter(|f| f.is_named()).count()
}
bitflags! {
struct MyFlags: u8 {
const A = 1;
const B = 1 << 1;
const C = 1 << 2;
const _ = !0;
}
}
assert_eq!(3, defined_flags::<MyFlags>());
```
Áee¹¨,€¬Ùe¹¨"çÁ¹¨.çÁ)fghijklmnopqrstuvwxyz{|}~fghijklmnopqrstuvwxyz{|}~’Þ¾Ù„ƒ¾ÙÑÂâÂvnyq|itlwozr}jumxp{hs~kü¸"ì– The set of defined flags.Á,¾ee ßÚìá The underlying bits type.Á$ˆee”Èü™*' Get a flags value with all bits unset.Á,ˬÙee£³„Íüš.+ Get a flags value with all known bits set.ÁЬÙee¬òüö'ü²?< This method will return `true` if any unknown bits are set.Á¬ùÕ Õ¬Ùe e
j¬Ù$ìÚüã" Get the underlying bits value.ÁŠ©ü’C@ The returned value is exactly the bits set in this flags value.Á$ÝÖ Ö¬Ù¾Ùe âe¨åüì.ôý Convert from a bits value.Á ©ü¨?< This method will return `None` if any unknown bits are set.ÁLï¾Ùåùee
l¬ÙÊ ·|üŽ/üÏ:7 Convert from a bits value, unsetting any unknown bits.Á”‘¾Ù¬ÙeeçöÊ F~ü°.ü…&# Convert from a bits value exactly.Á„³¾Ù¬Ùee§ÙÊ ü¢ (üäFC Get a flags value with the bits of a flag with the given name set.Á¯©ü·@= This method will return `None` if `name` is empty or doesn'tÁüü! correspond to any named flag.ÁL¥ × ×åùe µ e
o¬Ù¾
x‡üÍ$"ü‚#*' Yield a set of contained flags values.Á±#©ü¹#VS Each yielded flags value will correspond to a defined named flag. Any unknown bitsÁü”$41 will be yielded together as a final flags value.Á$Ð$Ø Ø¬Ùö”e Õ$e
p¬Ù$Ö$ü”'-ü›%0- Yield a set of contained named flags values.ÁÐ%©üØ%ZW This method is like [`Flags::iter`], except only yields bits in contained named flags.Áü·&XU Any unknown bits, or bits not corresponding to a contained flag will not be yielded.ÁT—'٠٬ٽ•e ¢'e
q¬Ù$£'Ôª(üò'30 Whether all bits in this flags value are unset.ÁD­(Ú Ú¬Ùe ¶(e
r¬Ù$·(Ä·)üû(74 Whether all known bits in this flags value are set.Á4º)Û Û¬Ùe Á)e
s¬Ù$Â)ü÷+Hüœ+VS Whether any set bits in a source flags value are also set in a target flags value.ÁTú+Ü Ü¬Ù¬Ùe …,e¹¨,¹,
t¬Ù$†,¥ Þüä-Fü‰-VS Whether all set bits in a source flags value are also set in a target flags value.ÁDç-Ý Ý¬Ù¬Ùe ð-e¹¨,¤.
u¬Ù$ñ-¥ ’üŸ/5üï.+( Remove any unknown bits from the flags.ÁD¢/Þ Þ¬ÙÒKe «/e¹¨,Î/
v¬Ù$°/üÛ0@ü096 The bitwise or (`|`) of the bits in two flags values.Á4Þ0ß ß¬Ù¬ÙÒKe å0e¹¨,•1§±$ê0¥ ±”üü3@üï1`] The intersection of a source flags value with the complement of a target flags value (`&!`).ÁÔ2©üÜ2WT This method is not equivalent to `self & !other` when `other` has unknown bits set.Áü¸3?< `remove` won't truncate `other`, but the `!` operator will.Á4ÿ3à à¬Ù¬ÙÒKe †4e¹¨,¶4Ù±$‹4¥ $–üÝ5@ü•5C@ The bitwise exclusive-or (`^`) of the bits in two flags values.Á4à5á á¬Ù¬ÙÒKe ç5e¹¨,—6
y¬Ù$ì5¥ ——üä7Jü€7_\ Call [`Flags::insert`] when `value` is `true` or [`Flags::remove`] when `value` is `false`.Áç7â â¬Ù¬ÙÒKe ë7e¹¨,¨8
z¬Ù$ð7¥ l—Ì k—üÔ92ü®9! Unsets all bits in the flags.Á,×9ã ã¬ÙÒKe Ý9e¹¨,€:
{¬Ù$â9ü†;*ü·::7 The bitwise and (`&`) of the bits in two flags values.Á%\ö:d‰;¬Ù¬Ù¬Ùee
|¬ÙS¥ P–üÇ<#üù;9Ù%\·<,Ê<¬Ù¬Ù¬Ùeeµ©õ”¥ ò”üÔ?(ü³=`²Ú˜>©ü >W¦Ûüü>C@ `difference` won't truncate `other`, but the `!` operator will.Á%\Ä?T×?¬Ù¬Ù¬Ùee¨¬Ë“¥ È“üžA2üÆ@C®Ý%\ŽA¤¡A¬Ù¬Ù¬Ùee›¯R’¥ O’ÜCü™BSP The bitwise negation (`!`) of the bits in a flags value, truncating the result.Á%\ñBT„C¬Ù¬Ùee
¬Ùž‘ü˜Dºü×C@;
A bits type that can be used as storage for a flags type.
Á$¢D
¹¨,¿E¬Ù,¬D¸¬Ù$¸DǬ٬ÙLÃDë¬Ù¬Ù¬ÓD¬Ù¬Ù‘ë¬ÙlÚD¼ì¬Ù¬Ù¤ïD¬Ù¬Ù¾ì¬ÙlõDéí¬Ù¬Ù¬ŠE¬Ù¬Ùëí¬Ùl‘EѬٔ¦E¬ÙÒ¬ÙlªEçÁ<ËE¹¨þÈèôØèêèèÜüè͑黩鬾éšÖéëéyƒêo“êbçÁ`¹¨LÈèCØè:èè-üè‘é©é¾éïÖéàëé΃êÄ“ê·çÁµ‚ƒƒŒþEüÙE  A value with all bits unset.Á,„F¬Ù|¹Fô–F A value with all bits set.Á¿F¬ÙœÙGLãGª¤´ÙG´ñGLþG ˆH R ŽH  H, H H žH
, H8 H& “H8«”H$ H, ˜H8 ™H& šH8«H$ H
ŸH*¢H ¥H ÿQ, ¯H °H øQ08$¾H8 $ÃH8
ÈH, ÌH8åì ÍH ÏH ­I8,áH8£,çH& ìH, îH8åì ïH ñH7ò óH% ôH8,†I8°ŒI& I, I8åì I ”I –I, —I8åì ˜I ™I'šI8MAXÁœI% ŸI8$¼I8 $ÁI8
ÆI, ÊI8 ËI ÍI ±J8,ßI8£,åI& êI, ìI8 íI ïI7ò ñI% òI8,„J8°ŠJ& J, J8 J J ”J, •J8åì J —J'˜J8ÊïšJ8žJ, ¡J8 ¢J% £J8$ÀJ8ä DÅJ8
ÎJ, ÒJ8åì ÓJ ÕJ ¢L 8 çJ8ó LêJ óJ ÿJ8š‹,ôJ& ùJ ûJ8·üJ(K8ø4„K ŠK8$K$ K8¥TK K K ”L
 ³K, ´K8åì µK ¶K'·K8from_str_radixÁt¹K ÇK ÑK8š‹,ÈK$ ÍK716ÁÏK ÒK8Ì <ÓK ÚK L ÛK8 ÜK ÝK8¥TßK'éK8
„ëK ûK L8š‹,üK8$±L8ä D¶L8
¿L, ÃL8 ÄL ÆL “N 8 ØL8ó LÛL äL ðL8š‹,åL& êL ìL8·íL(òL8ø4õL ûL8$üL$ €M8¥TM ŒM ŽM …N
 ¤M, ¥M8 ¦M §M'¨M8èótªM ¸M ÂM8š‹,¹M$ ¾M7¢ôÀM ÃM8Ì <ÄM ËM óM ÌM8 ÍM ÎM8¥TÐM'ÚM8
„ÜM ìM òM8š‹,íM8$¢N8½ D§N8
°N, ´N8åì µN ·N ÛO8 ÉN8Ì LÌN ÕN8Ü ÖN& ×N8¥ÙN'ÜN8¬’,ÞN ãN äN ùN åN8$æN$ êN8ìN8c4ðN& öN8Ü øN(ûN8¥þN'O8ø4ƒO ŠO ÍO8writeÁ, O ¥O ¦O »O8c4§O$ ­O7{:x}Á4¯O$ µO8$·O8$êO8½ DïO8
øO, üO8 ýO ÿO £Q8 P8Ì L”P P8Ü žP& ŸP8¥¡P'¤P8¬’,¦P «P ¬P ÁP ­P8$®P$ ²P8´P8c4¸P& ¾P8Ü ÀP(ÃP8¥ÆP'ÉP8ø4ËP ÒP •Q8Æú,èP íP îP ƒQ8c4ïP$ õP7ýú4÷P$ ýP8$ÿP8$²Q8ºL·Q8
ÁQ, ÅQ8 ÆQ ÈQ ÉQ8$×Q8ºLÜQ8
æQ, êQ8åì ëQ íQ îQ
ùQ¬ÍSüìR>; A trait for referencing the `bitflags`-owned internal typeÁü«S! without exposing it publicly.Á\×Sª¤üÍS¼ˆˆ’Þ¬ÙÔ•T¹L¥T±É’Þ¬ÙˆtùTåÌ•TüéS'$ The type of the underlying storage.ÁLšTlùTüµT?< The type of the internal field on the generated flags type.ÁDþTüÐU6ÿU U —U84UtUuse the `Flags` trait insteadÁüšU5DÚUÙ‚ª¤üÐU½¬ÙÔäUe¬Ù,V­„'½„­„3½„Š’Þ¬ÙŠüÐV!óH„…¬ÛV„…ôH¬Ù\äVü„,•…!¥…’Þ¬ÙüÕW6óHÒ…üåW%Ò…ôH¬ÙÜîWÊ…2ã…'ô…üÐV üV>; An iterator over enabled flags in an instance of the type.Á$ÕVÙ‚üÕW5ü÷VYV An iterator over the raw names and bits for enabled flags in an instance of the type.ÁLÚWÙ‚ì¤Xλþ ©XÌÿ,¬XÔ!ŽLÈX$ÍXŒŒ¡!têXLïXŒŒá!ü•Y/λþ šYÌÿ,YÔ!üì[$üÉYeb A marker trait that signals that an implementation of `BitFlags` came from the `bitflags!` macro.Á¯Z©ü³Zc` There's nothing stopping an end-user from implementing this trait, but we don't guarantee theirÁü—[EB manual implementations won't break between non-breaking releases.Áÿß[ â[ é[84ã[tÝ[Ôö[ª¤üì['Ä•\L¤\ËÔÄ\Ú\à\ü¼\0&(Œ¸;ÿ«; ®; µ;84¯;t©;LÀ;˜$†=ËsšÚušüÂ<5œÊ<Œâ<CED°=„Û=çf¬ø_üøKïê
Generate a flags type.
# `struct` mode
A declaration that begins with `$vis struct` will generate a `struct` for a flags type, along with
methods and trait implementations for it. The body of the declaration defines flags as constants,
where each constant is a flags value of the generated flags type.
## Examples
Generate a flags type using `u8` as the bits type:
```
# use bitflags::bitflags;
bitflags! {
struct Flags: u8 {
const A = 1;
const B = 1 << 1;
const C = 0b0000_0100;
}
}
```
Flags types are private by default and accept standard visibility modifiers. Flags themselves
are always public:
```
# use bitflags::bitflags;
bitflags! {
pub struct Flags: u8 {
// Constants are always `pub`
const A = 1;
}
}
```
Flags may refer to other flags using their [`Flags::bits`] value:
```
# use bitflags::bitflags;
bitflags! {
struct Flags: u8 {
const A = 1;
const B = 1 << 1;
const AB = Flags::A.bits() | Flags::B.bits();