+
    i
                         ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHt  ! R R] P                  4      t
 ! R R]
4      tR# )    N)
exceptions
GetRequestGetResponsec                      a  ] tR t^
t o ]P
                  V 3R lR l4       t]P
                  V 3R lR l4       tRtV t	R# )WebAuthnHandlerc                    < V ^8  d   QhRS[ /#    returnbool)format__classdict__s   "q/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/google/oauth2/webauthn_handler.py__annotate__WebAuthnHandler.__annotate__   s     M Md M    c                    \        R4      h)z0Check whether this WebAuthn handler is availablez'is_available method must be implementedNotImplementedErrorselfs   &r   is_availableWebAuthnHandler.is_available   s     ""KLLr   c                &   < V ^8  d   QhRS[ RS[/# r   get_requestr   r   )r   r   s   "r   r   r      s     D Dz Dk Dr   c                    \        R4      h)zWebAuthn get (assertion)zget method must be implementedr   )r   r   s   &&r   getWebAuthnHandler.get   s     ""BCCr    N)
__name__
__module____qualname____firstlineno__abcabstractmethodr   r    __static_attributes____classdictcell__r   s   @r   r   r   
   s;     M M 	D Dr   r   c                   p   a  ] tR t^t o RtRtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	Rt
V tR# )PluginHandlera  Offloads WebAuthn get request to a pluggable command-line tool.

Offloads WebAuthn get to a plugin which takes the form of a
command-line tool. The command-line tool is configurable via the
PluginHandler._ENV_VAR environment variable.

The WebAuthn plugin should implement the following interface:

Communication occurs over stdin/stdout, and messages are both sent and
received in the form:

[4 bytes - payload size (little-endian)][variable bytes - json payload]
GOOGLE_AUTH_WEBAUTHN_PLUGINc                    < V ^8  d   QhRS[ /# r
   r   )r   r   s   "r   r   PluginHandler.__annotate__'   s      d r   c                L     V P                  4        R #   \         d     R# i ; i)TF)_find_plugin	Exceptionr   s   &r   r   PluginHandler.is_available'   s,    	   		s    ##c                &   < V ^8  d   QhRS[ RS[/# r   r   )r   r   s   "r   r   r0   /   s     4 4z 4k 4r   c                    VP                  4       pV P                  4       pV P                  W24      p\        P                  ! V4      # )N)to_jsonr2   _call_pluginr   	from_json)r   r   request_jsoncmdresponse_jsons   &&   r   r    PluginHandler.get/   s?    "**,!))#<$$]33r   c                ,   < V ^8  d   QhRS[ RS[ RS[ /# )r   r;   
input_jsonr   str)r   r   s   "r   r   r0   5   s"     ! ! ! ! !r   c                   \        V4      p\        P                  ! R V4      pWBP                  4       ,           p\        P
                  ! V.VRRR7      pVP                  R,          p\        P                  ! R V4      ^ ,          pVP                  R,          p	V\        V	4      8w  d0   \        P                  ! RP                  V\        V	4      4      4      hV	P                  4       # )z<IT)inputcapture_outputcheck:N   N:rF   NNz0Plugin response length {} does not match data {})lenstructpackencode
subprocessrunstdoutunpackr   MalformedErrorr   decode)
r   r;   r?   input_lengthlength_bytes_lerequestprocess_resultresponse_len_leresponse_lenresponses
   &&&       r   r8   PluginHandler._call_plugin5   s    : ++dL9!$5$5$77 $ET

 )//3}}T?;A>!((,3x=(++BII #h- 
   r   c                    < V ^8  d   QhRS[ /# r
   r@   )r   r   s   "r   r   r0   L   s      c r   c                    \         P                  P                  \        P                  4      pVf4   \
        P                  ! RP                  \        P                  4      4      hV# )Nz{} env var is not set)osenvironr    r-   _ENV_VARr   InvalidResourcer   )r   
plugin_cmds   & r   r2   PluginHandler._find_pluginL   sO    ZZ^^M$:$:;
,,'..}/E/EF  r   r"   N)r#   r$   r%   r&   __doc__r]   r   r    r8   r2   r)   r*   r+   s   @r   r-   r-      s9      -H 4 4! !. r   r-   )r'   r[   rH   rK   google.authr   google.oauth2.webauthn_typesr   r   ABCr   r-   r"   r   r   <module>re      s5    
 	   " @	Dcgg 	D<O <r   