ELF                      @       8          @ 8  @ # !       @       @       @                                                                                                                                                  p      p             Rtd                                            Ptd                     <       <              Qtd                                                                              8       8                       Android %            GNU m^=e|j                        ,                      ;                      H                                                   Z          c    b                                 SBE                                           rust_metadata_downcast_rs_a962b09e98e104e8 __cxa_finalize __cxa_atexit __register_atfork libc.so LIBC libdowncast_rs.dylib.so  APS2                                                                           ;<         T      h      |                               zR |       x             ,   p             @   `             T   P             h   H             |   L                   X   _@    _  ` bW    W           {  @b      @   @   @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           Z              g                     o            o          o           o                               H                                         8                           0      
              o                                                   o          o          o                                                   0      0      0      rustc version 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86) Android (14863223, +pgo, +bolt, +lto, +mlgo, based on r584948b) clang version 22.0.1 (https://android.googlesource.com/toolchain/llvm-project 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99)  Linker: LLD 22.0.1 (/mnt/disks/build-disk/src/googleplex-android/llvm-r584948-release/out/llvm-project/llvm 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99) rust   
      rust   
      [rustc 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86)\hRꋔ Y   *˝N   i@|W
   ӥLBٿ   	|pȲΦxJ    $l3< P!97,    	hashbrownpp|S\M    
std_detect;!QRX    rustc_demanglec.0"g    cfg_ifSLU   {"tĪg=/               __std,. <. ,. |. .  $Ϗ $             __alloc        Downcast 
 into_any 
 into_any_rc 
 as_any 
 
as_any_mut          DowncastSend  into_any_send      DowncastSync  into_any_sync  into_any_arc       impl_downcast     
 
          
  $8         Box     l    H	  # EEE Global         s^%#   8      85      d8         l    H	 $8         l 	      $9       ,,  ,, , phantom, ,,        il  9      86     
 \8   ,,  ,, ,	, ,,        il $8         t 


      $9          9      9%      D9     ,9         / `g      $9         9      91      d9    L9         / `g      $=             l    H	  #    =      =A      =   	 $=         , 	      $D             l    H	  #     D      DH      ԱD   	 $D         , 	      $E       77 I 76 7	6 76        ;!  E       DG      D   77 I 76 7	6 76        ;! $D         s            
      ,/      </      H/  #    /      /  ,    I0  7    	lH   !     T   [![Build status](https://img.shields.io/github/actions/workflow/status/marcianx/downcast-rs/main.yml?branch=master)](https://github.com/marcianx/downcast-rs/actions)  n  k [![Latest version](https://img.shields.io/crates/v/downcast-rs.svg)](https://crates.io/crates/downcast-rs)  Z  W [![Documentation](https://docs.rs/downcast-rs/badge.svg)](https://docs.rs/downcast-rs)     S  P Rust enums are great for types where all variations are known beforehand. But a  N  K container of user-defined types requires an open-ended type like a **trait  P  M object**. Some applications may want to cast these trait objects back to the  M  J original concrete types to access additional functionality and performant     inlined implementations.     P  M `downcast-rs` adds this downcasting support to trait objects using only safe  U  R Rust. It supports **type parameters**, **associated types**, and **constraints**.     \   # Usage     +  ( Add the following to your `Cargo.toml`:     \   ```toml     [dependencies]  ̹   downcast-rs = "2.0.1"  <   ```     ?  < This crate is `no_std` compatible. To use it without `std`:  	   \	   	   	A  > downcast-rs = { version = "2.0.1", default-features = false }  <
   
   
T  Q To make a trait downcastable, make it extend either `Downcast` or `DowncastSync`  
?  < and invoke `impl_downcast!` on it as in the examples below.     <  9 Since 2.0.0, the minimum supported Rust version is 1.56.     <   1  . # use downcast_rs::{Downcast, impl_downcast};     # #[cfg(feature = "sync")]  $  ! # use downcast_rs::DowncastSync;     trait Trait: Downcast {}  ԅ   impl_downcast!(Trait);     S  P // Also supports downcasting `Arc`-ed trait objects by extending `DowncastSync`  1  . // and starting `impl_downcast!` with `sync`.      $  ! trait TraitSync: DowncastSync {}      #    impl_downcast!(sync TraitSync);        // With type parameters.  '  $ trait TraitGeneric1<T>: Downcast {}  %  " impl_downcast!(TraitGeneric1<T>);        // With associated types.  5  2 trait TraitGeneric2: Downcast { type G; type H; }  -  * impl_downcast!(TraitGeneric2 assoc G, H);     !   // With constraints on types.  ,  ) trait TraitGeneric3<T: Copy>: Downcast {         type H: Clone;  ,   }  E  B impl_downcast!(TraitGeneric3<T> assoc H where T: Copy, H: Clone);        // With concrete types.  .  + trait TraitConcrete1<T: Copy>: Downcast {}  1  . impl_downcast!(concrete TraitConcrete1<u32>);     7  4 trait TraitConcrete2<T: Copy>: Downcast { type H; }  =  : impl_downcast!(concrete TraitConcrete2<u32> assoc H=f64);     # fn main() {}  <         # Example without generics     <      # use std::rc::Rc;         # use std::sync::Arc;  %  " # use downcast_rs::impl_downcast;  #    # #[cfg(not(feature = "sync"))]      # use downcast_rs::Downcast;      "   use downcast_rs::DowncastSync;     V  S // To create a trait with downcasting methods, extend `Downcast` or `DowncastSync`  /  , // and run `impl_downcast!()` on the trait.  # ,     # trait Base: Downcast {}  # ,  ܏   # impl_downcast!(Base);         trait Base: DowncastSync {}      J  G impl_downcast!(sync Base);  // `sync` => also produce `Arc` downcasts.     (  % // Concrete types implementing Base.     #[derive(Debug)]     struct Foo(u32);  ī   impl Base for Foo {}   0     struct Bar(f64);     impl Base for Bar {}     |   fn main() {  !       // Create a trait object.  8  5     let mut base: Box<dyn Base> = Box::new(Foo(42));     $  !     // Try sequential downcasts.  7  4     if let Some(foo) = base.downcast_ref::<Foo>() {  "           assert_eq!(foo.0, 42);  >  ;     } else if let Some(bar) = base.downcast_ref::<Bar>() {  $  !         assert_eq!(bar.0, 42.0);  L       }     "       assert!(base.is::<Foo>());     ;  8     // Fail to convert `Box<dyn Base>` into `Box<Bar>`.  )  &     let res = base.downcast::<Bar>();         assert!(res.is_err());   $  !     let base = res.unwrap_err();   3  0     // Convert `Box<dyn Base>` into `Box<Foo>`.   [  X     assert_eq!(42, base.downcast::<Foo>().map_err(|_| "Shouldn't happen.").unwrap().0);  !   !        // Also works with `Rc`.  !4  1     let mut rc: Rc<dyn Base> = Rc::new(Foo(42));  "\  Y     assert_eq!(42, rc.downcast_rc::<Foo>().map_err(|_| "Shouldn't happen.").unwrap().0);  #   #H  E     // Since this trait is `Sync`, it also supports `Arc` downcasts.  #"       # #[cfg(feature = "sync")]  #7  4     let mut arc: Arc<dyn Base> = Arc::new(Foo(42));  $" ;  $^  [     assert_eq!(42, arc.downcast_arc::<Foo>().map_err(|_| "Shouldn't happen.").unwrap().0);  ,% '  <%   %   %H  E # Example with a generic trait with associated types and constraints  &   <&   &/  , use downcast_rs::{Downcast, impl_downcast};  &   &V -  '/ .  '4  1 trait Base<T: Clone>: Downcast { type H: Copy; }  (<  9 impl_downcast!(Base<T> assoc H where T: Clone, H: Copy);  (9  6 // or: impl_downcast!(concrete Base<u32> assoc H=f32)  (   )( 0  ) 1  ),  ) impl Base<u32> for Foo { type H = f32; }  ) 1  *,  ) impl Base<u32> for Bar { type H = f32; }  *   |* 2  *! 2  *F  C     let mut base: Box<dyn Base<u32, H=f32>> = Box::new(Bar(42.0));  +   +$ 3  +7 3  ," 4  ,> 4  ,$ 5  L- 5  -   -"       assert!(base.is::<Bar>());  ,- '  <-        
      	     	     H-	 #    @	     S	 ,    Ie	 7    	x	  ! . 	/! 	|/ -	/ T/ @	4/ S	0 e	1    0c  ` Supports conversion to `Any`. Traits to be extended by `impl_downcast!` must extend `Downcast`.  D1         
     
        1    #G 1  
           G' G G1 G%            2-    1\  Y Converts `Box<dyn Trait>` (where `Trait: Downcast`) to `Box<dyn Any>`, which can then be   2T  Q `downcast` into `Box<dyn ConcreteType>` where `ConcreteType` implements `Trait`.D2                              l    H	G      l    H	  #   
    
  G$2 4.    3Z  W Converts `Rc<Trait>` (where `Trait: Downcast`) to `Rc<Any>`, which can then be further   3O  L `downcast` into `Rc<ConcreteType>` where `ConcreteType` implements `Trait`.\4                        ,,  ,, ,	, ,,        ilG,,  ,, ,	, ,,        ilJ  
    
  G$4 6    5[  X Converts `&Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot   5-  * generate `&Any`'s vtable from `&Trait`'s.46                        "    "G     "J   
  6  
  G$6 7)    6_  \ Converts `&mut Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot   75  2 generate `&mut Any`'s vtable from `&mut Trait`'s.T7                        #    #G    #J  
  7  
  G$7 ܁8                       8    # 8                 68         8, D8                        	J         d8- \8                        M         i9 49                        $    $     $J      9    $9 9( T9                        %    %    %J     9    $9 :'    9_  \ Extends `Downcast` for `Send` traits to support upcasting to `Box<dyn Any + Send>` as well.  d:                  G:     
G D:    G $:             G6 W+ W  GE W: W/   <9    ;W  T Converts `Box<Trait>` (where `Trait: DowncastSend`) to `Box<dyn Any + Send>`, which   ;\  Y can then be `downcast` into `Box<ConcreteType>` where `ConcreteType` implements `Trait`.l<                        I      l    H	  #          G$< <&                    R=  S=     $=     &(         =8 l=                        	Z         ?+ = = >   8 <=    =   7 4>  =    >a  ^ Extends `DowncastSend` for `Sync` traits to support upcasting to `Box<dyn Any + Send + Sync>`   >   and `Arc` downcasting.  d?                  G?     G d?    G $?             G5 ^* ^  GD ^9 ^/      A@    ?X  U Converts `Box<Trait>` (where `Trait: DowncastSync`) to `Box<dyn Any + Send + Sync>`,   @Y  V which can then be `downcast` into `Box<ConcreteType>` where `ConcreteType` implements   d@  	 `Trait`.lA                        I      l    H	  #           G$A B?    AX  U Converts `Arc<Trait>` (where `Trait: DowncastSync`) to `Arc<Any>`, which can then be   BP  M `downcast` into `Arc<ConcreteType>` where `ConcreteType` implements `Trait`.dB                        77 I 76 7	6 76        ;!G77 I 76 7	6 76        ;!a        G$C C- C C C   8 <C    C   7 4C  ĿC                    RC  SC  [$C     $C           46         D? lD                        	`         D> dD                        d          ԴH    ET  Q Adds downcasting support to traits that extend `Downcast` by defining forwarding   E\  Y methods to the corresponding implementations on `std::any::Any` in the standard library.   F    Fm  j See <https://users.rust-lang.org/t/how-to-create-a-macro-to-impl-a-provided-type-parametrized-trait/5289>   GG  D for why this is implemented this way to support templatized traits. &H# x	     H  xH I    H  8 	impl_full LH   ,H  8 trait_ 4H  &H  8 ,H  H I   ,H H I   ,H  8 param_types \H  &I  8 I  I  8 I  I I   ,I I I   ,I  8 forall_types dI  &I  8 ,I  $I  I  8$ ,I  I I   ,I I I   ,I  8 preds ,I  &I  8 I  I  *I  I L   8 lI  	I  I L    J  8 inject_where dJ  J J   8 $J  J  ,J J J   ,J  8k dJ  $J  J  J   84 J   ,J  8j 4J  J  ,J J J   ,J  8j \J  J  J  8 types ,J  J K   ,J J J   ,J  8k dJ  $K  K  8$ ,K  K K   ,K K K   ,K  8l ,K  K K L  K L   8 lK  	K  K L    K  8 	impl_body LK   ,K  8j 4K  K L   ,K K L   ,K  8j \K  L  %L  L M    L  8 impl_full_sync tL   ,L  8j 4L  &L  8 ,L  L L   ,L L L   ,L  8j \L  &L  8 L  L  8 L  L M   ,L L M   ,L  8k dL  &M  8 ,M  $M  M  8$ ,M  M M   ,M M M   ,M  8l ,M  &M  8 M  M  *M  M P   8 lM  	M  M P    M  8m dM  N N   8 $N  N  ,N N N   ,N  8k dN  $N  N  N   84 N   ,N  8j 4N  N  ,N N N   ,N  8j \N  N  N  8n ,N  N N   ,N N N   ,N  8k dN  $N  N  8$ ,N  N O   ,N N O   ,N  8l ,N  O O P  O P   8 lO  	O  O O    O  8p LO   ,O  8j 4O  O O   ,O O O   ,O  8j \O  O  8 lO  	P  P P    P  8 impl_body_sync tP   ,P  8j 4P  P P   ,P P P   ,P  8j \P  P  %P  P Q    P  8p LP   ,P  8j 4P  &P  8 ,P  P Q  ,P P Q   ,P  8n ,Q  &Q  8 Q  Q  *Q  Q a   <   @ Returns true if the trait object wraps an object of type `__T`.QC   +Q Q Q   8 4Q  8 Q   8 Q   8	 Q  R  8 R  &R   ,R  8j 4R  R  ,R R R   ,R  8n ,R  R  R R R    R  8 $R  (R   8 $R  R R    ,R  8 ,R  'R  8 DR  'R  8 4R R R   8 $R   R  8	 R  'R  R  8 R  R R R     <   U Returns a boxed object from a boxed trait object if the underlying object is of typeRX   <   5 `__T`. Returns the original boxed trait if it isn't.S8   +T T T   8 4T  8 T   8 T   8 downcast DT  T  8 T  &T   ,T  8j 4T  T  ,T T T   ,T  8n ,T  T  T T U     8 $T  &T   ,T  8 ,T  'T  8 <T  'T  8 boxed ,T  'T  8 T  U  8 $U  U   (U   ,U  8 ,U  'U  8 ,U  'U  8 4U  'U  8 4U  U  ,U  8 ,U  'U  8 <U  'U  8 ,U  'U  8 U  U  8 U  U  $U   ,U  8 ,U  'U  8 <U  'U  8 ,U  'U  8 U  U  8 $U  U  U W    8 V   8 $V   V  8	 V  'V  V  8 V  V V V    V V    8 V V V    ,V  8 ,V  'V  8 DV  'V  8 DV V V   8 $V   V  8 DV  'V  V  8 V  V V V     V  8 4V V V    8 $V  W W    8 W W W    8 $W  <   V Returns an `Rc`-ed object from an `Rc`-ed trait object if the underlying object is ofWY   <   < type `__T`. Returns the original `Rc`-ed trait if it isn't.X?   +X X X   8 4X  8 X   8 X   8 downcast_rc \X  Y  8 Y  &Y   ,Y  8j 4Y  Y  ,Y Y Y   ,Y  8n ,Y  Y  Y Y Y     8 $Y  &Y   ,Y  8 ,Y  'Y  8 <Y  'Y  8 rc Y  'Y  8 Y  Y  8 $Y  Y   (Y   ,Y  8 ,Y  'Y  8 ,Y  'Y  8 4Y  'Y  8 4Y  Z  ,Z  8 ,Z  'Z  8 <Z  'Z  8 Z  'Z  8 Z  Z  8 Z  Z  $Z   ,Z  8 ,Z  'Z  8 <Z  'Z  8 Z  'Z  8 Z  Z  8 $Z  Z  Z [    8 Z   8 $Z   Z  8	 Z  'Z  Z  8 Z  Z Z Z    Z [    8 Z Z [    ,Z  8 ,Z  'Z  8 DZ  '[  8 \[ [ [   8 $[   [  8 D[  '[  [  8 [  [ [ [     [  8 4[ [ [    8 $[  [ [    8 [ [ [    8 $[  <   U Returns a reference to the object within the trait object if it is of type `__T`, or\X   <    `None` if it isn't.\   +] ] ]   8 4]  8 ]   8 ]   8 downcast_ref d]  ]  8 ]  &]   ,]  8j 4]  ]  ,] ] ]   ,]  8n ,]  ]  ] ] ]    ]  8 $]  (]   ,]  8 ,]  ']  8 ,]  ']  8 4]  ']  8 4]  ]  ]  8 ]  ]  ] ^    ,^  8 ,^  '^  8 D^  '^  8 4^ ^ ^   8 $^   ^  8א d^  '^  ^  8 ^  ^ ^ ^     <   S Returns a mutable reference to the object within the trait object if it is of type^V   <    `__T`, or `None` if it isn't._!   +_ _ _   8 4_  8 _   8 _   8 downcast_mut d_  _  8 _  &_   ,_  8j 4_  `  ,` ` `   ,`  8n ,`  `  ` ` `    `  8 `   8 $`  (`   ,`  8 ,`  '`  8 ,`  '`  8 4`  '`  8 4`  `  `  8 `   8 `  `  ` a    ,`  8 ,`  '`  8 D`  '`  8 T` ` `   8 $`   `  8 d`  'a  a  8 a  a a a     %a  a a    a  8x ta   ,a  8j 4a  &a  8 ,a  a a  ,a a a   ,a  8n ,a  &a  8 a  a  *a  a g  P <   X Returns an `Arc`-ed object from an `Arc`-ed trait object if the underlying object is ofa[   <   = type `__T`. Returns the original `Arc`-ed trait if it isn't.b@   +c c c   8 4c  8 c   8 c   8 downcast_arc dc  c  8 c  &c   ,c  8j 4c  c  ,c c c   ,c  8n ,c  c  c   c   ,c  8 ,c  'c  8 ,c  'c  8 c  'c  8H c   c   ,c  8 ,c  'c  8 ,c  'c  8
 4c  'c  8 $d   d   ,d  8 ,d  'd  8 ,d  'd  8
 4d  'd  8 $d  d d d     8 $d  &d   ,d  8 ,d  'd  8 <d  'd  8 $d  'd  8I d  d  8 $d  d  $d   (d   ,d  8 ,d  'd  8 ,d  'd  8 4d  'd  8 4d  e  ,e  8 ,e  'e  8 <e  'e  8 $e  'e  8I e  e  8 e  e  $e   ,e  8 ,e  'e  8 <e  'e  8 $e  'e  8I e  e  8 $e  e  e g    8 e   8 $e   e  8	 e  'e  e  8 e  e e e    e f    8 f f f    ,f  8 ,f  'f  8 df  'f  8 df f f   8 $f   f  8 Df  'f  f  8 f  f f f     f  8 4f f f    8 $f  f g    8 f f f    8 $f  %g  g g    g  8m dg  g g   ,g g g   ,g  8 before 4g  &g  8 g  g  8n ,g  g g    8$ ,g  g g   g g  ,g g g   ,g  8 after ,g  &g  8 g  g  *g  g h   8 lg  	g  g h    g  8 as_item <h   ,h h h   ,h  8 4h  h   ,h h h   ,h  8 ,h  h   %h  h h    h  8m dh  h h   ,h h h   ,h  8 4h  &h  8 h  h  8n ,h  h h   ,h h h   ,h  8n ,h  &h  8 ,h  $h  h  8$ ,h  h h   h h  ,h h h   ,h  8 ,h  &h  8 h  h  *i  i j   8 li  	i  i j    i  8 <i   ,i i i   ,i  8 4i  i   8$ ,i   ,i i j    ,i  8n ,i  &i   ,i  8 ,i  'i  8 ,i  'i  8 j  'j  8H j   j   :7 <j   $j  j   ,j j j   ,j  8 ,j  j   %j  j k    j  8m dj  j j   ,j j j   ,j  8 4j  &j  8 j  j  8n ,j  j j   ,j j j   ,j  8n ,j  &j  8 ,j  $j  j  8$ ,k  k k   ,k k k   ,k  8l ,k  &k  8 k  k k k  ,k k k   ,k  8 ,k  &k  8 k  k  *k  k m   8 lk  	k  k m    k  8 <k   ,k k k   ,k  8 4k  k   8$ ,l   ,l l l    ,l  8n ,l  &l   ,l  8 ,l  'l  8 ,l  'l  8 l  'l  8H l   l   :7 <l  $l   l   ,l l l   ,l  8l ,l  l   ,m m m   ,m  8 ,m  m   %m  m m    m  8 <m   ,m  8 m  &m  8	 $m  *m  m m   ,m  8 m   %m  m m    ,m  8j 4m  &m  8 ,m   *m  m n   8 lm  	n  n n   	 n  8i Ln   ,n  8j 4n  n n    8 n  n n    8$ ,n  n n    %n  n n    ,n  8j 4n  &n  8 ,n   n  n  *n  n o   8 ln  	n  n o   	 n  8i Ln   ,n  8j 4n  n n    8 n  n n    8$ ,n  o o    %o  o o    8 $o   ,o  8j 4o  &o  8 ,o   *o  o o   8 lo  	o  o o   	 o  8q to   ,o  8j 4o  o o    8 o  o o    8$ ,o  o o    %o  o p    8 $o   ,o  8j 4o  &o  8 ,p   p  p  *p  p p   8 lp  	p  p p   	 p  8q tp   ,p  8j 4p  p p    8 p  p p    8$ ,p  p p    %p  p q   
 ,p  8j 4p  &p  8 ,p   p   ,p p q   ,p  8n ,q  &q  8 ,q  $q  q   q  *q  q q   8 lq  	q  q q   	 q  8i Lq   ,q  8j 4q  q q   ,q q q   ,q  8n ,q  $q  q  8 q  q q   ,q q q   ,q  8n ,q  $q  q  8$ ,q  q q    %q  q r    8 $q   ,q  8j 4r  &r  8 ,r   r   ,r r r   ,r  8n ,r  &r  8 ,r  $r  r   r  *r  r s   8 lr  	r  r s   	 r  8q tr   ,r  8j 4r  r r   ,r r r   ,r  8n ,r  $r  r  8 r  r r   ,r r r   ,r  8n ,r  $r  r  8$ ,r  s s    %s  s s    ,s  8j 4s  &s  8 ,s   s   ,s s s   ,s  8n ,s  &s  8 ,s  $s  s   s   8$ ,s   ,s s s   ,s  8l ,s  &s  8 s  s  *s  s t   8 lt  	t  t t   	 t  8i Lt   ,t  8j 4t  t t   ,t t t   ,t  8n ,t  $t  t  8 t  t t   ,t t t   ,t  8n ,t  $t  t  8$ ,t  t t   ,t t t   ,t  8l ,t  t  %t  t u    8 $t   ,t  8j 4t  &t  8 ,t   t   ,t t u   ,t  8n ,t  &u  8 ,u  $u  u   u   8$ ,u   ,u u u   ,u  8l ,u  &u  8 u  u  *u  u v   8 lu  	u  u v   	 u  8q tu   ,u  8j 4u  u u   ,u u u   ,u  8n ,u  $u  u  8 u  u u   ,u u u   ,u  8n ,u  $u  u  8$ ,u  v v   ,v v v   ,v  8l ,v  v  %v  v v   	 ,v  8j 4v  &v  8 ,v   8 assoc ,v   ,v v v   ,v  8 atypes 4v  &v  8 ,v  $v  v  *v  v w   8 lv  	v  v w   	 v  8i Lv   ,w  8j 4w  w w   ,w w w   ,w  8 4w    w   ,w  8 4w  $w  w  8 w  w w   ,w w w   ,w  8 4w  $w  w  8$ ,w  w w    %w  w w   
 8 $w   ,w  8j 4w  &w  8 ,w   8 ,w   ,w w w   ,w  8 4w  &w  8 ,w  $w  w  *w  x x   8 lx  	x  x x   	 x  8q tx   ,x  8j 4x  x x   ,x x x   ,x  8 4x    x   ,x  8 4x  $x  x  8 x  x x   ,x x x   ,x  8 4x  $x  x  8$ ,x  x x    %x  y y    ,y  8j 4y  &y  8 ,y   8 ,y   ,y y y   ,y  8 4y  &y  8 ,y  $y  y   8$ ,y   ,y y y   ,y  8l ,y  &y  8 y  y  *y  y z   8 ly  	y  y z   	 y  8i Ly   ,z  8j 4z  z z   ,z z z   ,z  8 4z    z   ,z  8 4z  $z  z  8 z  z z   ,z z z   ,z  8 4z  $z  z  8$ ,z  z z   ,z z z   ,z  8l ,z  z  %z  z {    8 $z   ,z  8j 4z  &z  8 ,z   8 ,z   ,z z {   ,z  8 4z  &z  8 ,z  ${  {   8$ ,{   ,{ { {   ,{  8l ,{  &{  8 {  {  *{  { |   8 l{  	{  { |   	 {  8q t{   ,{  8j 4{  { {   ,{ { {   ,{  8 4{    {   ,{  8 4{  ${  {  8 {  { {   ,{ { {   ,{  8 4{  ${  {  8$ ,{  | |   ,| | |   ,|  8l ,|  |  %|  | }    ,|  8j 4|  &|  8 ,|   |   ,| | |   ,|  8n ,|  &|  8 ,|  $|  |   |   8 ,|   ,| | }   ,|  8 4|  &|  8 ,}  $}  }  *}  } ~   8 l}  	}  } ~   	 }  8i L}   ,}  8j 4}  } }  	 ,} } }   ,}  8n ,}  $}  }  $}   ,} } }   ,}  8 4}    }   ,}  8 4}  $}  }  8 ~  ~ ~  	 ,~ ~ ~   ,~  8n ,~  $~  ~  $~   ,~ ~ ~   ,~  8 4~  $~  ~  8$ ,~  ~ ~    %~  ~     8 $~   ,~  8j 4~  &~  8 ,~   ~   ,~ ~ ~   ,~  8n ,~  &~  8 ,~  $        8 ,   ,     ,  8 4  &  8 ,  $    *      8 l  	      	   8q t   ,  8j 4     	 ,     ,  8n ,  $    $   ,     ,  8 4       ,  8 4  $    8    ŀ  	 ,     ,  8n ,  $    $   ,     ,  8 4  $À  Ā  8$ ,׀  ݀ ހ    %       ,  8j 4  &  8 ,      ,Á ā с   ,Ł  8n ,Ɓ  &ˁ  8 ,́  $ҁ  Ӂ   Ձ   8 ,ׁ   ,݁ ށ    ,߁  8 4  &  8 ,  $     8$ ,   ,     ,  8l ,  &  8     *   ك   8 l  	   Ӄ   	   8i L   ,ʂ  8j 4˂  ҂   	 ,ӂ Ԃ ۂ   ,Ղ  8n ,ւ  $܂  ݂  $ނ   ,     ,  8 4       ,  8 4  $    8      	 ,     ,  8n ,  $    $   ,     ,  8 4  $    8$ ,   Ƀ   ,  ǃ   ,  8l ,  ȃ  %ڃ       8 $   ,  8j 4  &  8 ,      ,     ,  8n ,  &  8 ,  $        8 ,   ,     ,  8 4  &  8 ,  $     8$ ,   ,     ,  8l ,  &  8     *      8 lń  	҄  Ԅ    	   8q t   ,  8j 4     	 ,     ,  8n ,  $    $   ,     ,  8 4       ,  8 4  $    8   ą ޅ  	 ,Ņ ƅ ͅ   ,ǅ  8n ,ȅ  $΅  υ  $Ѕ   ,҅ Ӆ ۅ   ,ԅ  8 4Յ  $܅  ݅  8$ ,      ,     ,  8l ,    %       8 concrete D   ,Ȇ  8j 4Ɇ  &φ  8 ,І   ֆ   ,؆ ن    ,چ  8n ,ۆ  &  8 ,  $       *      8 l  	      	   8i L   ,  8j 4      ,     ,  8n ,  $    8        8$ ,       %Ç  ɇ     8 $ʇ   8 Dχ   ,؇  8j 4ه  &߇  8 ,      ,     ,  8n ,  &  8 ,  $       *   ׈   8 l  	   ш   	   8q t   ,  8j 4      ,     ,  8n ,  $    8   ň ƈ    8$ ,Ȉ  Έ ψ    %؈      
 8 D   ,  8j 4  &  8 ,   8 ,   ,    	 ,  8 4  &  8 ,       ,  8 aty   &  8   $    *ĉ  ǉ    8 lщ  	މ      	   8i L   ,  8j 4      ,     ,  8 4       ,  8   $    8        8$ ,       %       8 $   8 D   ,  8j 4  &  8 ,   8 ,Ŋ   ,ˊ ̊   	 ,͊  8 4Ί  &Ԋ  8 ,Պ    ۊ   ,݊  8 ފ  &  8   $    *   ˋ   8 l  	   ŋ   	   8q t   ,  8j 4      ,     ,  8 4       ,  8   $    8        8$ ,   Ë    %̋       8 D   ,  8j 4  &  8 ,      ,     ,  8n ,  &  8 ,  $     Ì   8 ,Ō   ,ˌ ̌   	 ,͌  8 4Ό  &Ԍ  8 ,Ռ    ی   ,݌  8 ތ  &  8   $    *   Ӎ   8 l  	   ͍   	   8i L   ,  8j 4     	 ,     ,  8n ,  $    $   ,     ,  8 4       ,  8   $    8        8$ ,č  ʍ ˍ    %ԍ  ڍ     8 $ۍ   8 D   ,  8j 4  &  8 ,      ,     ,  8n ,  &  8 ,  $        8 ,   ,    	 ,  8 4  &  8 ,       ,  8   &  8   $    *      8 l  	ˎ  ͎    	 ώ  8q tЎ   ,ߎ  8j 4     	 ,     ,  8n ,  $    $   ,     ,  8 4       ,  8   $    8        8$ ,       %  '(#*	* Build status  /https://github.com/marcianx/downcast-rs/actions   Latest version  $https://crates.io/crates/downcast-rs  Documentation  ߆  https://docs.rs/downcast-rs      ߆                                           ᘞb䯀;էJ2=76q;#V=L?~/0ÁlwPH@l/Ԓ4qrz#8MwG?m'xA'K3qUFt;=ǕKg|ޢda(pPmfWZl/vZ2
 +Pp1옆l.r8-Z}G21Tzo;VyDKȿi&9\Hbx:Yzޘa0U*'A*&9ɥc
pc((Vt5kFZ                              d#                              i+            .                              n#                              x+            .!                                                                   	                           "#+%&' (   C ) ) )> **+ ,   O --.`01    2 2.3!                           x#                              +            .                              |#            )               +   4-      .      v2)!                  #n$%q'}(    Y)))T*+n,    e-e./01    224	c"i"l"s"{""""""#&%&'(1)>)))9**+,=-J--.[01222*3JNSX  f"  p"x""  """#X$%['g(  3)C)))>*+X,  ?-O-a./1  2224MQV[!                  #o$%r'~((  Z)))U*+o,,  f-f./11/2  224                    0#%&'((;)x))'**1+,-G--.I01N2223                    #%&'((5)p))**+,,A-|-r.A01;2223                      %&'()  |))+**  ,2-  -  M01t2  23                                 {$	&~'(      f)))a*   {,      r-   /=1      23                      |$
&'(    g)))b*  |,    s-  />1    23                      \$%_'k(    G)))B*  \,    S-  /1    22                              F              R          [                                =)              I-          2                                  v        }          6                                  	{        4                                            
|        5                                           %&'(      ))2**   ,      -   T01      2$3                    U#                    Z+        .!                  #        (          +  ,    _.    -2
-<N[lpw~
37;?                      ####    ))) )  +    5-  ..    x2|2                                                                  4                                                                                ]                    #        $)          +  9-    .    2     
 
                                  ᘞbXW   ;?cSzODHT &       @            2
 +                                       VyDK   Pp1옆   5kFZ%   t;=ǕK   lw   PH@l               A'K3q   #V=L?~/   a0U                                                    x               fWZl   UF   Tz   *'A*&!   :Yzޘ   #8M
                                                   ᘞb    g|ޢd               z	                                       9ɥc"   ȿi&   m'x   l.r   
pc#   ((Vt$                                                   o;   䯀;է   0Á   J2=   a(pPm   /Ԓ4qr                           wG?   76q;   /vZ   1                           8-Z}G2   9\Hb               %C-%;68K6a~L|T\[9Ks@L9SQHz%C-%;68K  ?./external/rust/android-crates-io/crates/downcast-rs/src/lib.rs  X@{hGY4֠ml                 )+o[TOQNQV,@BU@=2%T2%$(&6."-F/28>&$!#W0$$ K)"9%8#?%
#<*%4\!5]I#8#_I0W05=:)--"G%8#?%
#, ##daY2_T3`2"d:.:;*6`*\a>)Fb.]^E]UD0MLU]nH$,'I+#M
,'I+#MR
4L=7
aA34r"P
bH60j"S
a fA
_*nE
9dI4n
"X
L;]G
jE
"XXbb/W4\*CaHf2c7h+FmKr-H>0
M>0
=\>0#
a>0#
&8L=Q*ETJYE[a`f$@';CUDO;
":0' 9&1(
": 0'!$.:%+ $*:%D5wH: $*:%'5wH:<wc?Ht=/4@$h
"): &)J^.00033/1114!!<!!<PT7,"[D%s0-@+G-)1+@2'-8^>e3'+6^ 
":0' 9"1(*$"('+'%+*7-318&-*1/&&387=$+#0-420+#=EAJ9'0+5#&-71<0+#0<4A !s<\,+Q   aarch64-linux-androidf:8kן`  downcast_rs   ᘞb            '     "   "   &          Q  Q       !  !!   ! "fQ&Z"&&D&L"L  D      ! !B!B!B!c!BB  < !>  B   !   B!   B                  !   c                6  <      &   L   ! "B  D!   c                             rust-end-file            PQ        >             (/`>  #%@M1\17U+ldY[DD!!2\W:Z[ggC	S3fn'ij(AX(E(EԊxr# C<N#N_bw%4r}Ńxb+: `L606ژ=,k	:pzUDW       ]             (/`] E b(-piFNî{a>`X;OZk![7?A<y|˪:QUp4**,F,Ic[<d,)_AIhfbpOx	;,lAē,kƴ,XȄ  = `F0uL!00q:Pi%ܪp8B.S xv)4- hV           	 L           	    ]  j    I           n              V                         (/` e	 API
!Pҩ*Rڊĭ$: : 6 .&-T <Nmb<!!XeQDko /ѻ-Lj"jYD!IbMI{(wt7:(uC_k.2"G׬EFųs/΍-_g EÔ
E%hLʶ֝
.ׂf"5:sͲw=^?Oeu NPS/l0'hF2Ȏsx       `              (/ ` \        $      
  , l%hC ^                    (/` 	     z       Z   K&3%C튢7)]3߸2.f&|QFG^IA~yiu	{UQ1; 
 	  !  *1$KL 	
K
 G    Abionic/libc/arch-common/  crtbrand.S HBend_so.S     #NUggWlj0c*G@ 1	ec A[1MU       y              (/ y} D8IfL,y&#c\>Qu2fȿx,Hj={K a>i                                              $                    '                    5                  B                    E                    H                  Z                    ]                    `                    c                    f                     i                    l                    o                      r                      u                      x                      {                      ~                                                                     P                                                                                                                                                                         )                =                     P                   P                    h              ^                                                           0                     L                      .note.android.ident .note.gnu.build-id .dynsym .gnu.version .gnu.version_r .gnu.hash .hash .dynstr .rela.dyn .relr.dyn .rela.plt .eh_frame_hdr .eh_frame .text .plt .data.rel.ro .fini_array .dynamic .got.plt .relro_padding .comment .rustc .debug_loclists .debug_abbrev .debug_info .debug_rnglists .debug_str_offsets .debug_str .debug_addr .debug_line .debug_line_str .symtab .shstrtab .strtab  downcast_rs.a962b09e98e104e8-cgu.0 $d crtbegin_so.c __on_dlclose $x $x __on_dlclose_late $x $x $x $x $d $d $d $d $d $d $d $d $d $d $d $d $d $d abitag $d $d __FRAME_END__ $d $d rust_metadata_downcast_rs_a962b09e98e104e8 __dso_handle __cxa_finalize __emutls_unregister_key __atexit_handler_wrapper atexit __cxa_atexit pthread_atfork __register_atfork _DYNAMIC                                                                                                                                                                                  (             8      8      x                           0   o                   
                            =   o                                                L   o                                                 V                           0                            \             0      0                                    d     `                                                n    o                                                x      B                   H                                                    <                                           P      P                                                             D                                           0      0      P                                                                                                                                                                       p                                                    0                                                       H                                   0                                                                       k                                                                                                                                                                                
                                                        #                              )                           P                              <     0                    N                            G                    M      V                              S                          C                             _     0                    p                             o                     X            "   &                 w                     H                                                        ѵ      g                             