rustpu#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-f9018f9cee1cc5ffserde arbitrary  bytemuck __impl_external_bitflags_serde' &&&&& &&'''''' ''"__impl_external_bitflags_arbitrary("((((( ((!__impl_external_bitflags_bytemuck1!11111 11example_generated%tests   Iter B inner done__private_const_newItem IterNamesidxsource remaining"""&&&parser******* to_writer1* AsDisplay3 3'a33 *888*from_str<< < *WriteHex@ write_hexAW*ParseHexC parse_hex*Einvalid_hex_flagEinvalid_named_flagE empty_flag*I*traitsLLLLLLLLLL L L L LFlagZZZvalueL^^^^LFlagscFLAGScBitscemptyccbitsc from_bitscfrom_bits_truncatecfrom_bits_retainc from_namecc iter_namescis_emptycis_allc intersectsccontainscinsertcremovectogglecsetc intersectionc?c differencecsymmetric_differencec complementL|EMPTY|ALLL PrimitiveL impl_bitsL PublicFlagsInternalLBitFlagsLLLImplementedByBitFlagsMacroL __privatebitflags__impl_bitflags__bitflags_expr_safe_attrs__declare_public_bitflags__impl_public_bitflags_forward__impl_public_bitflags__impl_public_bitflags_iter__impl_public_bitflags_ops__impl_public_bitflags_constsinternal__declare_internal_bitflags__impl_internal_bitflagsexternal__impl_external_bitflags   * ParseError  **ParseErrorKind EmptyFlag InvalidNamedFlaggotInvalidHexFlag*LLL L LLL L L L L  L LLLLLLL L LLLLLLL L LL L!L"L#L$L% L& L'L(L)L*L+L,L- L. L/L0L1L277!7%7)7171 ;7;7;7<7A7D7F G J7J7J7a7b7h7l7m7n7o7p7q7r7s7t7u7v7777777777777777777777777777777c@C|9   Urc9zx*G3347  +i#,9G * nuх_G**{U3ۏ%G++||C,C,@,@,,,||C,C,@,@,,,||C-C-@-@---||C-C-@-@---||C-C-@-@---||C.C.@.@...**K83I &@  <C <| <G<G9  !*S  *) **8 $*8v  *)  ZZ\L]L=>Ʉ*** *8 8  8 828v  *)3** *83**  * 9*  **  *       *   %*    *   !  !  o*   "  ) "  **   h*   0  k*   0 6 *     *    {-P* )  {-P9 *.*  ) " !2 !2  * * 0*e 2  flag <!<! <!<! *d*3.!*2*!? *!? d*3g *.$*3**     g *.$*3** 3* * *%=2?=3. V3.     3*; + 9 .. .. ..  b*  <  /* < w ww 4* <,w / r* #w  4  q*%w w 0* <0 t*!  a*  <( . 9 9) >>  {-PJ.. J+2. ?22 ,w/2/*?424*?0 *0*?9(9 9 *?3  ?  4 0  0      n*.  . .  8>). . - .  . .  9> ). .  .    99     0   . - )    | 9   G impl Write ( 1 1     'wT z* (1 1  1  1 2  Z   'w,kZ[/(1      Y  ( 3 3 Z(3 3  3 - )3  4 [[0(3    :)    <)      }??      ??) 5  "      6    #  $  | 9   Y#$") 7  7 Z"!)7 7  % !7  %7 8 [[1)7  ( )0x9  Y()')9 9Z'&)99 * &9 * - 0 .   A?Y-.,)9:[[2)9; ;Z,+ );; / +; /"!;<[[3); TZT#.0'+- %)&.0',- ).''*0*-1 $3  $7 %9%;%1  -  2 2   4 4    8  8   : : < < 1Z2Y  * >. > >. >.  >. .- 9 0  l c uty[T1 Z  Y 9 .2 k3 Z l .4 ? 2 2 ? 5  ? m ? 6  k7 Z l 9 .8 k9Zl9.:k;ZmY.<writer first  .    2 [ T 4  [  T   8 [ T :[ T <[ T }?? +  1+ GGGEGEGEG EGEGbufEQ ! >S;]Z  3347  +i#,+rr]*- -   f*   _" ^" = -   *+%( ^|" ?? 8Split X %[|r"?? > ?  ?? 9x  "?? ?   9 u  " -  , *+,-!v" A H" *+%  _90x9"   9 D?"&& >*- ++ 9J B?++>*-~~"/BKBK    'w?+"BKBK BKKl?<&"Cc   'w\+BK C    'w*+π'"BK#  l*#""'%'$ ?*- T+~%F  ?*+?*-~"$!"3DGDG ! "DGDG& DG&G( l*G(E' cπDG E'("DG * +  s**+))"-!#  - $BK %DG %  < >CCKK EE GG.9*=99 * x?xx? {-P9? x?.>99A9+* 9. 9l c utyπ?BK~J~9~&~&.CπC?Kl c utyπ*DGF=9'~'.EπE*GT T * *  input parsed_flags? ? ? parsed_flag ? C K  E ' G( ~" F9"&>&+~&+9~&?~& _ref__flag~$ G9$?'+'9~'?~'"###  ,impl fmt::Display# ##& #2 #$#!F!""+"""888 *&j5d9e" #+#&#?"_flag""!%&&& & &&( &4 &&&$G$%%+%$%%&+&(&?$%%$'' '% ((H'W+'+''W Z*`[39*[ Z*`[39*9*[ 9aB9 JB 9aB9 JB *b;2J;  * b;2J2 ;) k}e)fLL} )  j ~ ) g J  J ~               h       P          e  e     i    {-P    P          truncated  }Q   f -}   d  ZZ\L]L=>Ʉ V SS 8NNNMNMN_markerMjg(+SS RS  SS 9 SS S      b  !!        !!!U!    #ijRQ S S {-PS S.RU!          S ??}} dW W  8 dW W VW W W W W  W   a W        99  Y     +  +1   lV 9W W ۴W W .VY~ 9 ~+ W ? d mH   UrcH !nXzxX  }   oK  K}    g    Ʋ      /// p           } // /q    }                     * * *   r          " " """ " """"Ʋ""2""2!!"!""" !s! T! ! !"2"" " " " ! !! $ $ $ $$  $ $  $$ $   $ $$ $$3$ $3##$#$ $$ #t# T## #$3$$ $ $ $ $ # ## & & &&& & &&&& &&2&&2&&&&&&& %u% T%% %&2&& & & & % %%Z'(( s( (( t( (v'T'' ''T(T(' ''' * * *** * *****)2))2***** )mw)m)))** * * * )))m + + +++ + ++++Ʋ++2++2+++++ +fx+f+++++ + + + +++f - - --- - --- - - ---,3,,3- --- - ,ly,l ,,,-- - - - - ,,,l . . ../ / //....2..2///// .uz.u..... . / / ...u0 0 000 0 0 0&00&000/R{/R//0 0 0 //R55,55,?506 6 ,55,?56 ,u8::MAX66,66,?607 7 ,,6 6 ,?6 7 , u8::MAX as i88~88#8ː8#88'+8- ͬͬ ParseIntErrorάWdC3+~8'898~8'7~8' _ref__input:~::#:ː:#::'+:-~:':9:~:'9~:'.Y< < 9.<  9< << G , <Y GG formatterG1 2 7e YY  YY GY.Y Y G)Y<<<;; Z; ;;  .YIpiecesEEE4&w\NFY<Y .YY< <<;n; ;< 9<9<<;<<<.Y= == = == G , =Y  YYYYY.Y Y)Y>>><< Z= == .YY=YYY= ===n= <= 9=9==<===55,55,?506 6 ,55,?56 ,u16::MAX66,66,?607 7 ,,6 6 ,?6 7 ,u16::MAX as i168~88#8ː8#88'+8-~8'898~8'7~8':~::#:ː:#::'+:-~:':9:~:'9~:'.Y< << < << G , <Y  YYYYY.Y Y)Y<<<;; Z; ܌;; .YY<YYY< ܌<<;n; ;< 9<9<<;<<<.Y= == = == G , =Y  YYYYY.Y Y)Y>>><< Z= == .YY=YYY= ===n= <= 9=9==<===55-55-?506 6 -55-?56 -u32::MAX66-66-?607 7 --6 6 -?6 7 -u32::MAX as i328~88#8ː8#88'+8-~8'898~8'7~8':~::#:ː:#::'+:-~:':9:~:'9~:'.Y< << < << G - <Y  YYYYY.Y Y)Y<<<;; Z; ;; .YY<YYY< <<;n; ;< 9<9<<;<<<.Y= == = == G - =Y  YYYYY.Y Y)Y>>><< Z= == .YY=YYY= ===n= <= 9=9==<===55-55-?506 6 -55-?56 -u64::MAX66-66-?607 7 --6 6 -?6 7 -u64::MAX as i648~88#8ː8#88'+8-~8'898~8'7~8':~::#:ː:#::'+:-~:':9:~:'9~:'.Y< << < << G - <Y  YYYYY.Y Y)Y<<<;; Z; ;; .YY<YYY< <<;n; ;< 9<9<<;<<<.Y= ==  =  = = G -  = Y  Y Y Y Y Y.Y Y)Y>>><< Z= == .Y Y= Y Y Y =  ===n= <= 9=9==<===55-55-?506 6 -55-?56 - u128::MAX66-66-?607 7 --6 6 -?6 7 -u128::MAX as i1288~88#8ː8#88'+8-~8'898~8'7~8':~::#:ː:#::'+:-~:':9:~:'9~:'!.Y< << "< "<"< G - "<"Y  "Y"Y"Y"Y"Y!.Y! Y!)Y<<<;; Z; ;; !.Y"Y<"Y"Y"Y"< "<<;n; ;< 9<9<<;<<<#.Y= == $= $=$= G - $=$Y  $Y$Y$Y$Y$Y#.Y# Y#)Y>>><< Z= == #.Y$Y=$Y$Y$Y$= $===n= <= 9=9==<===55.55.?506 6 .55.?56 . usize::MAX66.66.?607 7 ..6 6 .?6 7 .usize::MAX as isize8~88#8ː8#88'+8-~8'898~8'7~8':~::#:ː:#::'+:-~:':9:~:'9~:'%.Y< << &< &<&< G . &<&Y  &Y&Y&Y&Y&Y%.Y% Y%)Y<<<;; Z; ;; %.Y&Y<&Y&Y&Y&< &<<;n; ;< 9<9<<;<<<'.Y= == (= (=(= G . (=(Y  (Y(Y(Y(Y(Y'.Y' Y')Y>>><< Z= == '.Y(Y=(Y(Y(Y(= (===n= <= 9=9==<===" 3+"4"t"r""" 3+"4"t"r"" ++ ++*L i|iZjclCNv  $ ." 8!D A typesafe bitmask flag generator useful for sets of C-style flags.G> It can be used for creating ergonomic wrappers around C APIs.AJ The `bitflags!` macro generates `struct`s that manage a set of flags. TheM4 type of those flags must be some primitive integer.7 # Examples ``` use bitflags::bitflags; bitflags! {7 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]: struct Flags: u32 { const A = 0b00000001;! const B = 0b00000010;! const C = 0b00000100;!F const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();I }  } fn main() {" let e1 = Flags::A | Flags::C;%" let e2 = Flags::B | Flags::C; %2 assert_eq!((e1 | e2), Flags::ABC); // union 59 assert_eq!((e1 & e2), Flags::C); // intersection <; assert_eq!((e1 - e2), Flags::A); // set difference >; assert_eq!(!e2, Flags::A); // set complement >   b See [`example_generated::Flags`](./example_generated/struct.Flags.html) for documentation of code e. generated by the above `bitflags!` expansion. 1  # Visibility  X The `bitflags!` macro supports visibility, just like you'd expect when writing a normal [ Rust `struct`:    mod example {  use bitflags::bitflags;  bitflags! {; #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]>! pub struct Flags1: u32 {$" const A = 0b00000001;% } > # pub struct Flags2: u32 { " const B = 0b00000010;%  $ let flag1 = example::Flags1::A;'C let flag2 = example::Flags2::B; // error: const `B` is privateF # AttributesW Attributes can be attached to the generated flags types and their constants as normal.Z # Representation` It's valid to add a `#[repr(C)]` or `#[repr(transparent)]` attribute to a generated flags type.c` The generated flags type is always guaranteed to be a newtype where its only field has the samec$ ABI as the underlying integer type.'4 In this example, `Flags` has the same ABI as `u32`:7 #[repr(transparent)]:!!!  # ExtendingZ Generated flags types belong to you, so you can add trait implementations to them outside]% of what the `bitflags!` macro gives:( use std::fmt;:!!  impl Flags { pub fn clear(&mut self) {! *self.0.bits_mut() = 0;# ) let mut flags = Flags::A | Flags::B;, flags.clear(); assert!(flags.is_empty());"F assert_eq!(format!("{:?}", Flags::A | Flags::B), "Flags(A | B)");I7 assert_eq!(format!("{:?}", Flags::B), "Flags(B)");:$ # What's implemented by `bitflags!`'K The `bitflags!` macro adds some trait implementations and inherent methodsNJ to generated flags types, but leaves room for you to choose the semanticsM of others. ## Iterators I The following iterator traits are implemented for generated flags types: L ; - `Extend`: adds the union of the instances iterated over. >( - `FromIterator`: calculates the union.!+1 - `IntoIterator`: iterates over set flag values.!4! ## Formatting!"K The following formatting traits are implemented for generated flags types:"N" - `Binary`." - `LowerHex` and `UpperHex`."  - `Octal`.##I Also see the _Debug and Display_ section for details about standard text#L! representations for flags types.#$$ ## Operators$$K The following operator traits are implemented for the generated `struct`s:$N%# - `BitOr` and `BitOrAssign`: union%&, - `BitAnd` and `BitAndAssign`: intersection%/& - `BitXor` and `BitXorAssign`: toggle%)( - `Sub` and `SubAssign`: set difference&+ - `Not`: set complement&& ## Methods&&? The following methods are defined for the generated `struct`s:&B'! - `empty`: an empty set of flags'$& - `all`: the set of all defined flags')6 - `bits`: the raw value of the flags currently stored'9G - `from_bits`: convert from underlying bit representation, unless that(JH representation contains bits that do not correspond to a(K defined flag)M - `from_bits_truncate`: convert from underlying bit representation, dropping)PI any bits that do not correspond to defined flags*LJ - `from_bits_retain`: convert from underlying bit representation, keeping+MK all bits (even those not corresponding to defined+N flags),#6 - `is_empty`: `true` if no flags are currently stored,9J - `is_all`: `true` if currently set flags exactly equal all defined flags-ML - `intersects`: `true` if there are flags common to both `self` and `other`-OP - `contains`: `true` if all of the flags in `other` are contained within `self`.S1 - `insert`: inserts the specified flags in-place.41 - `remove`: removes the specified flags in-place/4M - `toggle`: the specified flags will be inserted if not present, and removed/P if they are.0N - `set`: inserts or removes the specified flags depending on the passed value0QP - `intersection`: returns a new set of flags, containing only the flags present1SM in both `self` and `other` (the argument to the function).1PG - `union`: returns a new set of flags, containing any flags present in2JD either `self` or `other` (the argument to the function).3GL - `difference`: returns a new set of flags, containing all flags present in3OH `self` without any of the flags present in `other` (the4K+ argument to the function).4.K - `symmetric_difference`: returns a new set of flags, containing all flags5NL present in either `self` or `other` (the argument5O: to the function), but not both.6=K - `complement`: returns a new set of flags, containing all flags which are7NH not set in `self`, but which are allowed for this type.7K8( # What's not implemented by `bitflags!`8+8N Some functionality is not automatically implemented for generated flags types8QO by the `bitflags!` macro, even when it reasonably could be. This is so callers9RC have more freedom to decide on the semantics of their flags types.9F: ## `Clone` and `Copy`::R Generated flags types are not automatically copyable, even though they can always:U derive both `Clone` and `Copy`.;#; ## `Default`;;P The `Default` trait is not automatically implemented for the generated structs.;S<T If your default value is equal to `0` (which is the same value as calling `empty()`===>>- // Results in default value with bits: 0>0@ #[derive(Default, Clone, Copy, Debug, PartialEq, Eq, Hash)]>C??!?!?!@ @@@5 let derived_default: Flags = Default::default();@8+ assert_eq!(derived_default.bits(), 0);@.AAAT If your default value is not equal to `0` you need to implement `Default` yourself:AWBBBBBB:BC!C!C!D DD% // explicit `Default` implementationD( impl Default for Flags {D fn default() -> Flags {D Flags::A | Flags::CDE EEE9 let implemented_default: Flags = Default::default();E<< assert_eq!(implemented_default, (Flags::A | Flags::C));E?FFF ## `Debug` and `Display`FFb The `Debug` trait can be derived for a reasonable implementation. This library defines a standardFea text-based representation for flags that generated flags types can use. For details on the exactGd$ grammar, see the [`parser`] module.H'Hj To support formatting and parsing your generated flags types using that representation, you can implementHm= the standard `Display` and `FromStr` traits in this fashion:I@JJJ use std::{fmt, str};JJJ pub struct Flags: u32 {J const A = 1;K const B = 2;K const C = 4;K const D = 8;KK KK impl fmt::Debug for Flags {L; fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {L>$ fmt::Debug::fmt(&self.0, f)L'M MM impl fmt::Display for Flags {M!M>& fmt::Display::fmt(&self.0, f)M)N NN impl str::FromStr for Flags {N!- type Err = bitflags::parser::ParseError;N0O: fn from_str(flags: &str) -> Result {O=! Ok(Self(flags.parse()?))O$O PPP ## `PartialEq` and `PartialOrd`P#P^ Equality and ordering can be derived for a reasonable implementation, or implemented manuallyPa for different semantics.QQ # Edge casesQQ ## Zero FlagsQQ^ Flags with a value equal to zero will have some strange behavior that one should be aware of.QaRRRRRS:S! const NONE = 0b00000000;S$! const SOME = 0b00000001;T$T TTT let empty = Flags::empty();T# let none = Flags::NONE;T let some = Flags::SOME;UU0 // Zero flags are treated as always presentU3* assert!(empty.contains(Flags::NONE));U-) assert!(none.contains(Flags::NONE));V,) assert!(some.contains(Flags::NONE));V,V= // Zero flags will be ignored when testing for emptinessV@ assert!(none.is_empty());W!WWWC Users should generally avoid defining a flag with a value of zero.WFX ## Multi-bit FlagsXXD It is allowed to define a flag with multiple bits set, however suchXGD flags are _not_ treated as a set where any of those bits is a validYGC flag. Instead, each flag is treated as a unit when converting fromYF3 bits with [`from_bits`] or [`from_bits_truncate`].Z6ZZZ[[[: struct Flags: u8 {[ const F3 = 0b00000011;["\ \\\N // This bit pattern does not set all the bits in `F3`, so it is rejected.\Q5 assert!(Flags::from_bits(0b00000001).is_none());]8? assert!(Flags::from_bits_truncate(0b00000001).is_empty());]B^^^ [`from_bits`]: Flags::from_bits^#2 [`from_bits_truncate`]: Flags::from_bits_truncate^5^ # The `Flags` trait^_V This library defines a `Flags` trait that's implemented by all generated flags types._YB The trait makes it possible to work with flags types generically:_E``? fn count_unset_flags(flags: &F) -> usize {`B2 // Find out how many flags there are in total`5) let total = F::all().iter().count();a,a' // Find out how many flags are seta*$ let set = flags.iter().count();b'b total - setbbbbbbc:cc!d!d!d dd- assert_eq!(2, count_unset_flags(&Flags::B));d0ee # The internal fieldee& This library generates newtypes like:e)ee # pub struct Field0;e pub struct Flags(Field0);fffU You can freely use methods and trait implementations on this internal field as `.0`.fXi For details on exactly what's generated for it, see the [`Field0`](example_generated/struct.Field0.html)gl example docs.giiii i ihttps://docs.rs/bitflags/2.3.3i i9*L i|iZjclCNv  $ ." 8!iiiiijjj  Iterating over set flag values.#j 1Z 7c )1177! An iterator over a set of flags.@$e? Any bits that don't correspond to a valid flag will be yieldediB# as a final item from the iterator.&  **)Urc   *   c*)$7 7*) *)\L  3**) * #) *(7 7) {-P)9 * 1 An iterator over a set of flags and their names. 4 @ Any bits that don't correspond to a valid flag will be ignored. C   *zx      .  *  *     *!  $7 7**1##*$%\ ***""2 % Get the remaining (unyielded) flags.(; Once the iterator has finished, this method can be used to>? check whether or not there are any bits that didn't correspondB to a valid flag remaining. 7 7* 7*"":(''*() && *(7 7* {-P*9&& )*j Parsing flags from text.h `bitflags` defines the following *whitespace-insensitive*, *case-sensitive* grammar for flags formatted!k as text:  - _Flags:_ (_Flag_)`|`*% - _Flag:_ _Identifier_ | _HexNumber_($ - _Identifier:_ Any Rust identifier'" - _HexNumber_: `0x`([0-9a-fA-F])*%T As an example, this is how `Flags::A | Flags::B | 0x0c` can be represented as text:W ```text  A | B | 0x0c; Alternatively, it could be represented without whitespace:>  A|B|0x0C R Note that identifiers are *case-sensitive*, so the following is *not equivalent*:U  a | b | 0x0cj134<@CE*,WriteG*-|*/c*0t" Write a set of flags to a writer.%A Any bits that don't correspond to a valid flag will be formattedD as a hex number. 7 7*YZ2X2Y @?GY 1*Yn" 5656++53347  +i#,5++i#,47 5+" 33 45+3349:9:c+@+e*;8777 7* 7GGGEGEGEG EGEGrEQ ! >S7Z88 ;9+\ Parse a set of flags from text.#B This function will fail on unknown flags rather than ignore them.E7 7==C? <*<>>>><~<????< Encode a value as a hex number.#@@@AA= Write the value as hex. 7 7Z@BB@؄G؄  A؄n5 Parse a value from a number encoded as a hex string.8CCCDDT Parse the value from hex. 7 7   'w+CC D!+FGH!8% An invalid hex flag was encountered.!(!+EE"G"  F?"$:O A named flag that doesn't correspond to any on the flags type was encountered.$R$+EE$ω%  G?$'!5 A hex or named flag wasn't found between separators.&8' +EE{( +J(8(777 7+ 7GGGEGEGEG EGEGrEQ ! >S7ZI(I J((.%.... .. ..+j jZc|ELNBitAndLPBitOr'LQBitXor.LRNot6LSQLUd LWpCLXz@LY99''..66DBQQDBd d ppzz! Metadata for an individual flag.$[[3=>Ʉ\]LZZLZZ*__3`ab61 Create a new flag with the given name and value.4*3^^ `*( Get the name of this flag.7 73^^P Get the value of this flag.7 73 7*^^L  A set of flags.] This trait is automatically implemented for flags types defined using the `bitflags!` macro.`< It can also be implemented manually for custom flags types.?cccdefghijklmnopqrstuvwxyz{defghijklmnopqrstuvwxyz{|", The set of available flags and their names./cc  The underlying storage type. cc Returns an empty set of flags."cc & Returns the set containing all flags.) cc 5 Returns the raw value of the flags currently stored. 8 7 7c c  .8 Convert from underlying bit representation, unless that ;? representation contains bits that do not correspond to a flag. B J Note that each [multi-bit flag] is treated as a unit for this comparison. M - [multi-bit flag]: index.html#multi-bit-flags 0 cc i /> Convert from underlying bit representation, dropping any bitsA! that do not correspond to flags.$M0cc.; Convert from underlying bit representation, preserving all>7 bits (even those not corresponding to a defined flag).:cc($ Get the flag for a particular name.' 7 7cc l"" Iterate over enabled flag values.%7 7cc m-= Iterate over the raw names and bits for enabled flag values.@ 7 7cc n1 Returns `true` if no flags are currently stored.47 7cc o/ Returns `true` if all flags are currently set.27 7cc pHE Returns `true` if there are flags common to both `self` and `other`.H 7 7cc qFK Returns `true` if all of the flags in `other` are contained within `self`.N7 7cc r!@& Inserts the specified flags in-place. ) & This method is equivalent to `union`. )!7 7Tc!c!!!#@& Removes the specified flags in-place.")"+ This method is equivalent to `difference`.".#7 7Tc#c###%@& Toggles the specified flags in-place.$)$5 This method is equivalent to `symmetric_difference`.$8%7 7Tc%c% u%%'JF Inserts or removes the specified flags depending on the passed value.&I'7 7Tc'c' v''')*B Returns the intersection between the flags in `self` and `other`.(E)) ) ) cc w))+#> Returns the union of between the flags in `self` and `other`.*A** * +cc x++,(@ Returns the difference between the flags in `self` and `other`.+C,, , , cc y,,.23 Returns the symmetric difference between the flags-6 in `self` and `other`.-.. . .cc z../- Returns the complement of this set of flags./0// / / cc {/0% Underlying storage for a flags type.0(0|| 011 11 11 11 11 22| 011 1ɼ1 11 11 ½1ս1 22}~}~2+ The value of `Self` where no bits are set.2.2||3, The value of `Self` where all bits are set.2/3||44 44 4>45445 4 u44  555 55  55 555>55>0 5 5 55 556 5 555 55 55 5 555 5666 666 MAX66 6 6 66 667 6 666 66 66 6 666 6677 777 7 77 77 7 7 77 779  7 7 77 77 7  77 77 77 7 889 88 888 from_str_radix888 881688 map_err888 8 8 8 8 8 888 8 9 9 99 99:  9 9 99 99 9  99 99 99 9 99: :: ::: ::: :::: ::: : : : : : ::: : ; ; ;; ;;<  ; ; ; ;; ;; ;;;; ; ;; ; n;; ;; ;; ;;< write< <<< n<<{:x}<< < < < << <<>  < = = == == ==== = == = n== == == ==> = === n==== = > >  >> >>> > >  >> >>> >@; A trait for referencing the `bitflags`-owned internal type?> without exposing it publicly.@!@ AA AA$ The type of the underlying storage.@'A A < The type of the internal field on the generated flags type.A?AB6A A  BB BBuse the `Flags` trait insteadBA5BBcBBBC!9C9C D69D%9DC ; An iterator over enabled flags in an instance of the type.B>CD5V An iterator over the raw names and bits for enabled flags in an instance of the type.CYD EEE*EEE E)EE *E/EE*EEH$b A marker trait that signals that an implementation of `BitFlags` came from the `bitflags!` macro.FeG` There's nothing stopping an end-user from implementing this trait, but we don't guarantee theirGcB manual implementations won't break between non-breaking releases.GEHHHH HHHHI II I0III I jjjjj jjj kII j5jkkkkll/ The macro used to generate the flag structure.z2zO See the [crate level docs](../bitflags/index.html) for complete documentation.zR{ # Example{ {{{{{{:||!|!}!}I} ~~ let e1 = Flags::A | Flags::C;~! let e2 = Flags::B | Flags::C;~!. assert_eq!((e1 | e2), Flags::ABC); // union~15 assert_eq!((e1 & e2), Flags::C); // intersection87 assert_eq!((e1 - e2), Flags::A); // set difference:7 assert_eq!(!e2, Flags::A); // set complement:A The generated `struct`s can also be extended with type and traitÀD implementations:ہ߁:Ƃ!! !у# % let mut flags = Flags::A | Flags::B;( flags.clear(); assert!(flags.is_empty());ɄB assert_eq!(format!("{:?}", Flags::A | Flags::B), "Flags(A | B)");E3 assert_eq!(format!("{:?}", Flags::B), "Flags(B)");6   # ˆʆ outerņ Ɔ ̆ֆ  ׆چ  ۆ ߆             χՇ ևڇ ۇ    t   ۗ  ĉʼnωƉljΉȉ ɉ Љމ  ߉   Ҋ    ˋʋ ‹ȋË ċ ɋ ̋      Č Ҍ ܌ unused_doc_comments unused_attributes unused_mut   Ѝ non_upper_case_globalsލ  assign_op_pattern   ԏ     InternalBitFlags   אِ    ёБ ǑȑΑɑ ʑ ϑ ґ      ȓʓ ˓̓Γ ϓؓԔ      Ք    •Õ ŕ    Ė ߖ     ՗ƗǗʗȗ ɗ ˗ܗ      ǘƘ  Ę   ˜ Ř Ș ژ           יٙ       ʚ ˚КҚ Ӛؚ      ě қ      Ɯܜ    Ӡ  ɝ˝ ݝ ޝ      מ ؞ܞ   П џ  ɠ   Ԡ ߠ   ' Implement functions on bitflags types.*ˡ[ We need to be careful about adding new methods and trait implementations here because theyϡ^1 could conflict with items added by the end-user.4   # Ѯ ã PublicBitFlagsģң ӣأڣ ۣܣ  ݣˮ             Ƥ bits0 Ȥ ɤͤ Τ     from_bits0        ͥ from_bits_truncate0ǥ ȥϥ Х     from_bits_retain0     Ǧ ʦ ӦԦ from_name0զ ߦ        is_empty0       ǧ֧ȧ is_all0ɧЧ ѧا ٧ߧ       intersects0   intersects1       ƨ ɨѨ Ҩ contains0Ө ܨ ݨ contains1         insert0  insert1  é ĩ  ֩ ٩ߩ  remove0  remove1      ª  toggle0  toggle1 Ī Ū˪ ̪  ު  set0  set1  set2       ݫ  intersection0  «ǫɫ intersection1ʫ ׫ ث߫      ?  union0  union1  ?    ¬ ̬ ͬ difference0ά ٬ ڬ߬ difference1          symmetric_difference0 ­ǭɭ symmetric_difference1ʭ߭        complement0     Ӯ֮        #"       Ű #԰)       ޱͱ α#8  Ȳ ̲  Ҳ ղٲ߲ ڲ ۲   ݠ  #;#BԴմܴ ִ                εҵ ӵ ޵   #A#$      зٷ ѷշ׷ ط۷ ޷Ƹ    #ڡո>#:          ú ĺֺ غܺ #4 Get the value for a flag from its stringified name.7#߻#: Names are _case-sensitive_, so must correspond exactly to=#" the identifier given to the flag.%                ½Ƚ ɽͽϽ      #ަ4           ֦¿ ̿ οҿ #2             #H                  é    #˪N             ڪ       #)##Ϭ)                 #)##.               Ǯ  #ͯ)##8            گ     #I                      #9 Returns the intersection between the flags in `self` and<# `other`. ##6 Calculating `self` bitwise and (`&`) other, including9#2 any bits that don't correspond to a defined flag.5                      #ƴA##6 Calculates `self` bitwise or (`|`) `other`, including9#5       ?         ٵ  ?#C##F Calculates `self` bitwise and (`&!`) the bitwise negation of `other`,I#< including any bits that don't correspond to a defined flag.?##I This method is _not_ equivalent to `a & !b` when there are bits set thatL#D don't correspond to a defined flag. The `!` operator will unset anyG#N bits that don't correspond to a flag, so they'll always be unset by `a &! b`,Q#$ but respected by `a.difference(b)`.'                      #6###6 Calculates `self` bitwise exclusive or (`^`) `other`,9#?             Ƹ     #0##1 Calculates the bitwise negation (`!`) of `self`,4#@ **unsetting** any bits that don't correspond to a defined flag.C                'O A macro that processed the input to `bitflags!` and shuffles attributes aroundR3 based on whether or not they're "expression-safe".6; This macro is a token-tree muncher that works on 2 levels:>S For each attribute, we explicitly match on its identifier, like `cfg` to determineV8 whether or not it should be considered expression-safe.;Q If you find yourself with an attribute that should be considered expression-safeT! and isn't, it can be added here.$   #               attrs unprocessed      processed             attrs_rest                                                                           exprargs             &) Declare the user-facing bitflags struct.,[ This type is guaranteed to be a newtype with a `bitflags`-facing type as its single field.^   #                            +? Implement functions on the public (user-facing) bitflags type.B^4   #            P                                                                              6                                                                                                                  6                                                                                                                             ?      ?                                    #B^4   #  A !                     !  !  !  !        !   !  ! ! !! !! !! !!!A ! !!A! !!! !!AP  " """"" """ "" " "" "" """ "  " """## ## ### ## # ## ## ### #  # ### ##$ $$ $  $ $ $$ $$' $ $ $ $$ $%% %% %% % % % %%& % %% % % %% %% %% %&& &&& &  &&' & && & & && && && &  ' ''' ''-$ ' '''' ' '' '' ''' '(( ( ((( ( ( ( ( ((( ( (( (( ()) )))), ) )),))*))*) )))** * * **, * * ** *** ** ***** *++ ++ ++++, + + +  ++ +++ ++ +++, , ,,- ,   - --- --- --- -  . . .. ..2..1 . ..1/////// ///// / / //1 / /// // / / //  /  0000 001 00 00 0 0 00 00 00 001 0010 000 11 11111 1 2 22 222 22 2 2 22 22 22 2  3 333 333 33 333333 3 33 33 333 3  3 344 445 55 5555 555 5 55 5555 55 555  6 6 66 66 666 66 666 6 66 666666 6 66 66 666 6  7 777 77 777 77 777 7 77 7777 77 777  8 888 88 888 8 88 88 888 88 888 8 88 8888  9 999 99 999 9 99 99 999 99 999 9 9 99 9999  : ::: :: ::: : :: :: ::: :: ::: : :: ::::  ; ;;; ;; ;; ;;< ; ;;< ;; ;;; ;;  <<< << <<< <<  < < == == === == === == === = == ===  = ?==> == >>> >> >>> >> >>> > >> >>>  > > >? >? ??? ?? ??? ?? ??? ? ? ?? ???  ? ?@@ @@ @@@ @@ @@@ @@ @@@ @ @@ @@@  @ A AA AAA AA AAA A AA AAAAB(? Implement iterators on the public (user-facing) bitflags type.ABB B BB BB#BBBB BBCCMCCC CC CCC CC  CCC CC CCCM CC CCK(#C%DDD D D D  D DDD D DDD DD DD DDD DEEG E EE EE EE EEGEE E EE EE EEE EEF FF FFF FF FFFFF FF FFG FF FGGG#? Iterate over enabled flag values with their stringified names.GBHHH H H H  H H HH H HHH HH HH H HH HHHK H HH HI I I IIJII I II II III III IJ JJJ JJ JJJJJ JJ JJJ JJ JJJJ KK KK K K KK KK K  KK KKM "K KKK KL "L IntoIterLLL LL LL LLL LLL  L L LL LL LL ݡLLM MM MMMMN'< Implement traits on the public (user-facing) bitflags type.M?M M NN NM#NNNN NNNNuNNN NN NNNu OO OO O O OO OO BinaryO OO OOQ  O OOP O OO OO O OP PP P P PP PP P PPP PP P P PP PP PPQ P PP P Q QQ QQ QQ QQQ Q QQ QQ Q QQ QQ Q Q QQ QQ OctalQ QQ QRT  R RRS R RR RR R RR RR R R RR RR R RSS SS S S SS SS SSS S SS S S SS SS SS SSS S SS SS S TT TT T T TT TT LowerHexT TT TTV  T TTU T TT UU U UU UU U U UU UU U UUU UU U U UU UU UUV V VV V V VV VV VV VVV V VV VV V VV VV V V VV WW UpperHexW WW WWY  W WWX W WW WW W WW WW W W WW XX X XXX XX X X XX XX XXY X XX X X XX XX XX YYY Y YY YY Y YY YY Y Y YY YY ʎY YY YY[ "Y ZZ ZZ#, Returns the union of the two sets of flags.Z/ZZZ Z  Z ZZ[ ZZ Z[[ [[ [[[ [[ ?[[[ [ [[ [[ [ [ [\ \\ BitOrAssign\  \\ \\]# Adds the set of flags.\\\\ \  \ \ ]] ] ] ]] ]] ]]] ] ]] ]] ]]] ]] ]]]] ?]]] ]] ^^ ^^ ^ ^ ^^ ^^ ^ ^^ ^^` "^ ^^ ^^#> Returns the left flags, but with all the right flags toggled.^A___ _  _ ___ __ __ __ __` `` ``` ` `` `` ` ` `` `` BitXorAssign`  aa aab# Toggles the set of flags.aaaa a  a a ab a a aa ab bbb b bb bb bbb bb bbbb bbb bb cc cc c c cc cc c cc cce "c cc cc#8 Returns the intersection between the two sets of flags.c;ddd d  d ddd dd dd dd dde ee e ee e ee ee e e ee ee BitAndAssigne  ee efg#( Disables all flags disabled in the set.f+fff f  f f fg f f ff gg ggg g gg gg ggg gg gggg g gg gg hh hh h h hh hh Subh hh hhj "h hh hh#5 Returns the set difference of the two sets of flags.h8iii i  i  iii ii ii ii iij ii i jj j jj jj j j jj jj SubAssignj  jj jjl#' Disables all flags enabled in the set.k*kkk k  k  k kk k k kk kk kkl l ll ll lll ll llll l ll ll ll ll l l lm mm m mm mmn "m mm mm#m0nnn n  n nnn nn nnn nn n nn no oo o o oo oo Extendooo oo oo ooq  o extendoo ooo oo o o oo pp p p pp p ppp p p pp iteratorpp pppq p p q qqq qq qqq q qq qq q r rr rr r rr rr rr rru  r r r rrr rr r r rr rr r s ss s sss ss sss ssu $ss ss s s ss st tt t t  tt tt tttt  tt ttt tt  tuv*? Implement constants on the public (user-facing) bitflags type.uBu u uv uu#vvvv vvvvvw v vv vvv vv  vvwvvw wwwwwww ww wwwww ww  w w ww ww www ww ww www xx xxzxxzxxxxxxx xxxxx x x xxxy xxy x y yy y yy yy yy yy yzzz zz z zz zz z zz zz z zz z!8zz{z z{ {{{ {{{ {{{{ { {{~{{||||| ||||| | | ||~ ||} ||} | | }}} }} }} ~~~~ ~~ ~ ~ ~~  ~  ~~~~ ~~~ ~~~ ~~  "                €ŀ ƀՀ       (/ Declare the `bitflags`-facing bitflags struct.2T This type is part of the `bitflags` crate's public API, but not part of the user's.W   #              i m   }               %D Implement functions on the private (bitflags-facing) bitflags type.GW Methods and trait implementations can be freely added here without breaking end-users.ZS If we want to expose new functionality to `#[derive]`, this is the place to do it.V       #         %                                                                       %z                  "         "          < t      <          p                 !7                 {:#x}              x          x                 !7                       FromStr   "                                         convert K                                    !             !  !!!!!!!! !!!!! ! ! !! !! ! ! """" " " ""#" "## ### # ## ##% #L Returns a mutable reference to the raw value of the flags currently stored.#O$$$ $ $  $ bits_mut$$$ $ $ $$ $ $$ $$% $ $ $% %%     %J Implements traits from external libraries for the internal bitflags type.M   #                                 "             !           $+$ $ $$ $$#$$$$ $$$$$$ $$$ $$$$$%&%&% %% %%% %%  %%% %% %%&%%&%%&%&&& && &&&&& &&  & & && && && &&&&&./- - -- --#---- --.... ... ... -".".0.0. .. ... ..  ../ // //0//0/////// // ///// //  / / // // // 000008.7 7 77 77#7777 778888 888 888 8!8!8:8:8 88 888 88  899 99 99:99:9999999 99 99999 99  9 9 99 99 99 :::::4 An error encountered while parsing flags from text.7 +nuх_++ *++ *+ +777 7+ 7GGGEGEGEG EGEGrEQ ! >S7Z *+{U3ۏ%  *+  *+*+    *  *+!    !     !* +777 7+ 7GGGEGEGEG EGEGrEQ ! >S7Z 5p ,55,55,6v ,66,6 6,7 ,757 7 7   'w,+7 789 ,959 7 7   'w,+9 9:; ,;@; 7 7,Z;;G;  ;n;;;< ,<@= 7 7,Z===  =n===> ,> ,5p ,55,55,6v ,66,6 6,7 ,757 7 7   'w,+7 789 ,959 7 7   'w,+9 9:; ,;@; 7 7,Z;;;  ;n;;;< ,<@= 7 7,Z===  =n===> ,> ,5p -55-55-6v -66-6 6-7 -757 7 7   'w-+7 789 -959 7 7   'w-+9 9:; -;@; 7 7-Z;;;  ;n;;;< -<@= 7 7-Z===  =n===> -> -5p -55-55-6v -66-6 6-7 -757 7 7   'w-+7 789 -959 7 7   'w-+9 9:; -;@; 7 7-Z;;;  ;n;;;< -<@= 7 7-Z===  =n===> -> -5p -55-55-6v -66-6 6-7 -757 7 7   'w-+7 789 -959 7 7   'w-+9 9:; -;@; 7 7-Z;;;  ;n;;;< -<@= 7 7-Z===  =n===> -> -5p .55.55.6v .66.6 6.7 .757 7 7   'w.+7 789 .959 7 7   'w.+9 9:; .;@; 7 7.Z;;;  ;n;;;< .<@= 7 7.Z===  =n===> .> .  ""$$((( !#%'79;=79;=79;=79;=79;=79;="E^../bitflags/index.htmlcFlags::from_bits%./example_generated/struct.Flags.htmlÛ $example_generated/struct.Field0.htmlFlags::from_bits_truncatej   Û *    i  index.html   0-9a-fA-F  |c899889,d1twoj[7d1two'eL@Gad1twoi?dd1two¾fWRd1two~π d1two>@d1twom3[d1twod1two:.+d1two+rYJFd1twoJMd1twox<=dd1twoFXR-}d1two^XIs d1two`%aq)d1two^Bd1two[{zFd1twoxJT}d1twolwXVGd1twokd1two&UWd1twoQ$n"Md1twoPod1twod1two}#mÿd1two}ʃd1twon`d1twoedTd1twoS_Ad1twoT./nd1two+"7d1two=~x8Ld1twod1two*U X&Qd1two,S}dd1two%ǚd1two'0kd1two)b:d1two%zPGud1two"Gl@d1twoed1twox#²d1two%|Zud1twoxR9\Sd1twoW-=Id1two4%8FTd1twoF;id1twot4=)nd1two67Qd1two+wsd1twor$C! d1two"gΑQd1twoOxVs~)d1twoB|~I.d1twon-ֲid1twoT\d1two9WUd1twoSs6Od1two9Q#d1twoŸzS$d1twoas J`!d1two9d1twoҰ Vdhd1two"LbRSd1twolCd1two#2.7d1twoZ ;C>d1twoEn:d1two*w~d1two*;d1two(BOdzd1twoWU?d1two4d1twoz d1twoKҡd1twoyhmLm(d1twoO-j{d1twoHd1two9tlzUd1twol{a d1twow/d1twoT'd1twoYҫL'd1two͙d1two]Q d1twoZd1twosd1twohx` d1two,7d1two&d/d1twoʴd1twow Ȍd1two9 Pd1two{bd1twod1twoky3d1twoTr@7!bd1twod1two)bd1twof昀d1twoԙY4}md1twoFLZd1two{Ek@-,d1two r{d1twoExeuad1twoL[=d1twoe d1twoQX"8'8d1twobC |T +,-.MMMM 1m2LJ '{#!4%Uw&dMq&ax;\ " g  n     y  w,[HC%kJ+>,,,c..T////001*22:SMq m'/+^ 0#&),>-]--r../(///+0a0@1Y1w11111222 333444555556686W6n67`7w78i88#9:999::=:[:t::::k;;;t<<<}==6>K>`>y>>>>> ?"??@+@@A4AAABBBBBC(CFCeC|CDnDD(EwEE1FHFFFG-GKGiGGGGGyHHHIIIJJDKYK~w ~$  +-11m2X*.^d7C;H < +-/01,-...Y0O1113 445556f6o7x8299::j::;<=E>Z>o>>?#@,AABBBCtC}DE@FFG#GxGGHIJSKhK         !       %    %%%%%%%%%%%%%%%!$              }p 5]s[vqxZ   -     Y  4unAr\{L^T+t,,d-.6///11l28N1JV~^($'*,-D--z...///0u0_1}11123(4455 6>6678N9%:C:z:::;<=>>>>6??@HABBB.CLCCDE\F3GQGGGGHIJD ,8D!_u.e{ 9Oq W<H^GUk E[r5  '18BLV K a  h  y   s  q&UB =eD+8,,,]..N/////0*012 22$22222222LMjf!)$X*#&),,8-W--l.../"///%0[0:1S1q111111223334444f5|555555626P6h6 7Y7q78b8z89949999::7:U:n::::e;;;n<<<`=v==>0>E>Z>s>>>>>??? @%@@A.AAAAtBBBBBB C"C@C^CvCDgDD"EpEEF*FBFFFFG'GEGcG|GGGGsHHH|IIInJJJ(K>KSKhKpKxKKKKKKKKKKKKK LLL"L*L2L:LBLJLRLZLbLjLrLzLLLLLLLLLLLLLLLLLM MMM"M*M2M:MBMJMRMZMbMjMrMzM&2>w~ )e{ \!W6k_ ?Uwp]BNd[TK|%,6=GQ $ Q       E   aZ-~^H g8XN+n,,^-.0/V/////011 222f22222228N*DOxX"$'*,->-~--t... /y// 0L0a0B1Y1w1111122 334444l5555556686Y6n6b7w7k88 9%9:9999::=:]:t::::;;<<f=== >8>M>b>y>>>>> ?"?@+@A4AAAAzBBBBBBC(CFCgC|CpDDyEEF3FHFFFGG-GKGkGGGGGHHIItJJJ.KFK[KnKvK~KKKKKKKKKKKKKLL L(L0L8L@LHLPLXL`LhLpLxLLLLLLLLLLLLLLLLLMMMM M(M0M8M@MHMPMXM`MhMpMxMMe-.7/?rs (LxLe&[#hnX7  : ^  Z     l  bAmP e r^+,,-.I/n/////'01,.-P--Q....///0U01K1j111111222334g44435y555555 6+6I6b66Q7k78Z8t889.99999:0:N:f::::Q;;;Z<<<-=s===->A>V>k>>>>>>??@@@A(AAAAABBBBBBCC9CWCpCD_DyDEhEEE'FG\GtGGGG_HHHhIII;JJJJ;KOKdKKKL+k _8q E\Ta[Qwq & W  K     c  S2^ }A\_U+u,,m-.?/X///// 01,$-F--A.|...///0N01D1`1~11111{222334H4445r5555556!6?6[667d77(8m889'9n9999 :&:D:_:{:::A;y;;J<<<=l===&>:>O>d>>>>>>???@@@!AhAAA"BBBBBBBC/CMCiCC-DrDD6E{EE F5F|FFFGG4GRGmGGGGOHHHXIIIJzJJJ4KHK]KKKL| +-1 \,b5iq9'D(a$ F  ^   p  fEq)^$ib///0,3-U--V.... ///"0W0$1M1o11111122333 444L555555606N6d66V7m78_8v8809999:5:S:h::::V;;;_<<<F==>C>X>m>>>>>??? @!@@A*AAAZBBBBBCC>C\CrC DdD{DEmEEE>FFF G!GCGaGvGGGGdHHHmIIITJJKQKfKq6^tsy .  Z  5voBs] |M,--|...//v02 3)44678O9:;<=7?@@IABCDE]FGHIJr7uDu{ /  [  6wpCt^! }N,--v02 3*44678P9:;<=7?@@JABCDE^FGHIJb'e}cjq   K  &g`3dNm> --.g0223344t67}788@9:k;;t<<=(??1@@:AACDD(EENFGyHHIIJV? !'-39?EKQW]ciou{tzN]jZ` /)04{599u=/>AB)FFJ=KKK Li!}##*T8:GH_I#K$MNnOpPQQT[:__`acf(hjOlMnlo5qrtvyz{2i6q>ɕNȟqި1"LMOOqwXxx*y]ӂ1cً9 oIj>~g!0"#*8:GHYI!KLMOOQQT[8__`ac f&hjMlKnjo3qrtvwpz{~ck{ϙŸبծh!|##*8:GH^I"KL#MNmOoPQQT[9__`ac f'hjNlLnko4qrtvwͰWxx)yyz{~\҂0hb؋8pnHȕЙiǟ}ݨ ֮Oxx!yyTÂ(Zɋ0fՔ@~aӞuTxx&yyYȂ-_΋5kڔEf؞ z {6K4i, `  s  iMy1f,q[.)1234U57 889[;d<O= >?@AcBDEFFiHrI]JKp }+-1####}~}~DDAA}~}~DDAA}~}~DDAA}~}~DDAA}~}~DDAA}~}~DDAAu|'U4nR"  V+\-T//11d2M  ,|-r..//J0@1112345556W6`7i8#999:[::;<}=6>K>`>> ?@AABBBCeCnDwE1FFFGiGGHIJDKYK9,.-,.#'+/6:>BMUalpw~    " ) 0 4 ; B I V Z ^ b f j n ~    - 1 H a r v }    * 6 = H X q    0 6 G b s z    ! B R W \ a h m r w | 6Y{ )19ARW_ck  (-19AEMUY]aiqu} !%-59AIMQU]eiqy}!)-5=AEIQY]emqy~ %+17=CIOU[agmsy !(/6=D<,...8N2’K_$'*MNNN M,4,666Global 7C\ wDTZZ+,9. .G444r040bW`(, ##RawVec&'cap(ܜ 4, CTZB-+BT88TryReserveError8~E`888CapacityOverflow8 AllocError8layout8c%/Z-  TB bb߇grE3 LayoutError ډRS9} S -  TBNonNull#CC8f ,  _/G T -    B.+B-+B,+B,+B.+B-+B-+B-+B-+B,+B,+GGG5, 5, 4, Q S - TT -  Z- T<, L, K, B, ?, J6, X, DTZHF9=71+%VPD>82,'&&$ !WQE?93-'!R:4.(((%"""YS  A;5)#Z B<60&$$# UCd1twobZ$   d1twocr   d1twoCfeY^Vd1two ^g $crate::format_args!YY fmt_internalsd1two-b4@' YY d1two9ײDHy <Yd1two$ei*Od1two$V <Yd1two5c{4g d1twow G  d1twoӌF3d1two]?',d1two 3l1   d1twoe   d1two:oEwd1two(m: #YY d1two X+^ YY d1twou 2 =Yd1two}R d1twoY$w# =Yd1two;=Sd1twod  d1twoIN<Y)d1two~@d1twoX;a   d1two#6v   d1twoE]@ޝ d1two溬! %YY d1twoC3퍷 YY d1two{; <Yd1twort%iq <Yd1twok@8p&d1two 2*oJ>f4 Ld1twon+&Y)d1twozb   d1twoL"q>   d1two4:P)~Q d1twosm$at 'YY d1two/}SL; YY d1two?Fb5 =Yd1twoIp= d1two'~Hb =Yd1twoUld1twow!5pcore_intrinsicsfmt_helpers_for_deriveGGd1twoJ=a7d1two @G  d1two$Pk d1twouk "d1twoi YY d1two]ٛC YY d1two戛eg 'd1two̦R/ <Yd1twoh* <Yd1twor̆p  GGd1twoL/TK  d1twoi4g  d1two.|r" d1twoAB`?w d1twoN?z0 YY d1twof : YY d1twowRip? =Yd1twoW^֍w!d1two:AJ =Yd1twoͱ3;-  d1twoA%3%%&&&&<'~%%6&&&+'m%%-&q&&"'d%%$&h&&'[%%&_&&S%%&W&'K%% &O&& 'C%%&G&&';%%%&&E'%%%%?&&4'v%%z&&M't)+|-K-E/4112(*,.02(*,.s0F2c(p*,`.:0 2 (7*P,'.0'*+,.1'),-/1')+-/1n')+/o13I)U+%)1+&-!/2(*.0^')+-l-/_1$12)!+-/02(*,.0o2(*,.c062S(`*y,P.*0''*@,.1'*,-01')+-/1')+/1"3d)p+9)E+;-5/2(*.0TODHT pd1twod1two:.+d1twoȀUGd1twoĨ_{kd1twor!d1two>sKd1two7cUd1twoe md1twodw%Zd1twoz d1twoޘ ̒Cd1twoҰ Vdhd1twoʋ <\d1two:wod1two&d/Nd1twow/d1two]S07d1two%|Zud1two/`dPU2d1two-\e.d1twoa|3>ad1two[ho*d1twoߜH2d1two#"?%d1two}".td1two%ND% - d1twox&pv d1two݁% d1two Gy(ti1md1twoQ)?xd1two@*$d1two+"7d1two*;d1two8o-d1two4d1two UcX^d1two:޺}d1two݈[_L~d1twojIqEd1twoيIq 7d1two~MMAAd1twoFwyd1two%6Mkd1twom4s$d1twox iY*d1two<[0dd1twoky3bd1twoe?m"댪&d1two~#<d1two*U X&Qݞd1two &?SYWd1twoMP*g,d1two*c $"d1twoW-=Id1two#2.7ľd1twoҘ1 GHd1twom3[d1twow.3m_d1twoЯ7Ab$d1twoTr@7!bcd1twoxR9\Sd1two9Q#d1two qn9%d1twot4=)nd1twoq>M̒d1twos??ϳ@)d1two>@d1twoub?od1two38^;B]d1twodB1@:d1twoqSDӚid1twoDEVld1two40Cҟrd1two'eL@Gad1two(G}1d1twor$C! ̯d1twoC wHd1twoaRHD"d1twod1twovBd1twol{a d1tworqGfd1two7s윀d1twoj ,d1two)bed1two+wsخd1twod1two"Ά5d1twoƎ*O>d1twoԙY4}mgd1twoBg#qd1two{Ze/d1two4Od1twoad1twoj[7d1two:Dd1twodB+x,d1twoʘؓS8EJd1two#l8Fd1twoŸzS$d1twoHd1two"i6zd1two5GQ!,d1two ]md1twogI.ed1twoS_Ad1twoj}~=d1two.!蝛&Hd1twozpF6d1twodd1two¾fWRd1twofd1twokd1two r{jd1two+hl=?@d1twoQ$n"d1two9 PQd1twoYG\ d1two}ʃd1twox<=d d1two@Ed1two"gΑQd1twoKҡ2 R 'Dn_}W$k c=P!tXPytJd_ rZKpu^d! t0IH[[?}FGQOh!c;[-~^J!4]c@#0N *rW,]&8?Jp\<. Zh\'\{TzLsJGIQY4x.?C@j%I2j` :Zx}ZKa1sz|47sa/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/external.rs =x2@.>)3TR>$3@0 $$$3@0 Vd_^EI'- # "!N$(@0 =S%*5+ .5+ -5+ L$.@0 ICL*E  UL!KX $.@0 :$2D4! UH>X $#2@0 C$1@0 O!Q1 O&V6 $"1@0 ( 9>߲\/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/lib.rs kVȍYoA?#EB@A$HBN8;"""J &&6=??f2\ ?%&?!& (G[dd(8;""" ^);"" "$ -#J;(ONM?,5O!M%O'0*,C%*:KL QMNO$:NPT55QRTQKHPL/OP>OL,RSGV$TX?1D""" 9/X;""" ) =@fe(nA   ?( "?* "1>% $bb;%% $ 4.--A"GHHG7;# R9C$6ZFC6-+(;""" 1*Ym6-4:% C"p~FJ 3@A$#*af$%=EK3S;"""J ""29;;E;"" "$ )F7$111  93%" K),$ !$& K>+1(20(L(20.0*+)  &11  ),$ !$& &+0*+)  +_5$'$ .=XR=:4TLDDDE\@T|@ ;/+6)E-#HO`(N1@1$KG>/"DJ2\(A3'?1%UB)*[@'(664%&6;4%&6E4%&V>"##IFBC+,NFB<$%PVLYT^4A)*C'FLK34&=AP4) S7?W<U%$*N.) &-8C 6@BE$$#' &$&% 6G'-#' &$- P> #  & 5cu j4]/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/iter.rs m7 IB́$%C';+* cM &/"+$"XZ-8K 5D#;+:7  c -CG#$+#/:3+,XY.]!j*?HBG  ljKr.+_/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/parser.rs v<S]#5b-l )(&X ? V "&EX@EC*&'!& !O-%& !&65?$F@'?!!# =2 ?9H]& (;*T *$ B9": 8'%% % -?$" ;WA$" ==(.#?: 7(/8 0(/+6 EQ tQѠSs_/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/traits.rs `>1{,ZУѕ ' .%9=#/$&a@#4(%'2.2="@GR558& F)R56'" /)%35 *C?3,/"%J  *)E4#9!)7J=8M. 8S, 3..& D.3& E.=& DN0   J1;F*;H/<;9;5"/)  34U7 %+%1#He#He#S1#S1%%  ?",D69C&^; ",3fdF(>`zaj/_/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/public.rs ?f'==(Y6p?Hҕҕ)].-_$). dC_5$.> "53%?x.F,D%?x!#!*,(*&(&(&(*,,4%-*24<#+ C_5$&80 6H%F+RF.=*E53kZ"$,%53X""B!<VI>*K(<&J&K&J*)),D%D*E4D#8 C$+92N9?DDOY>?DD I)A3 @$*!HA8F GA8E JA8H JA8H G <=" M'6J H N31 N*7Y H H3) N87Q E E0' K74O E =#" ZT'& `W;0) C$-'0+ ' ,H 1G1/%,8r#,?8 3oy2t))a/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-2.3.3/src/internal.rs &bŒns.H|}8V`3X$+7 LP+E+H[W$(@0+ ]\B!/ O#+ Iy%QVRFVZ-]H KyF K3_T Q& P(- J"5+ & '3 !\4 (Or 7[sjaTcgijl7ox86_64-unknown-linux-gnuζ7- +3|-0f7868c5b524725cd1two ! ..                  @'q