+
    i                     J   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt ^ RIH	t	 ^RIHt ^RIHt ]P                   ! ]4      tRt]P                  ! R^^4      tR	 tR
 t ! R R]P.                  4      t]! ]R7      tR#   ]
 d     ^ RIH	t	  Lj  ]
 d
    ]
! R4      hi ; ii ; i)a  File based cache for the discovery document.

The cache is stored in a single file so that multiple processes can
share the same cache. It locks the file whenever accessing to the
file. When the cache content is corrupted, it will be initialized with
an empty cache.
)divisionN)
LockedFilezIfile_cache is unavailable when using oauth2client >= 4.0.0 or google-auth)base)DISCOVERY_DOC_MAX_AGEz,google-api-python-client-discovery-doc.cachei  c                 
    V \         ,
          P                  4       #   \         d[    T \         ,
          pTP                  TP                  TP
                  ^,          R,          ,           R,          ,           R,          u # i ; i)   i  i@B )EPOCHtotal_secondsAttributeErrormicrosecondssecondsdays)datedeltas   & }/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/googleapiclient/discovery_cache/file_cache.py_to_timestampr   4   sj    u++--  u%--%**r/D2H"HE!QQ 		s    A"BBc                 z   V P                  4       P                  ^ 4        \        P                  ! V P                  4       4      pV#   \         di    / pT P                  4       P                  ^ 4       T P                  4       P                  ^ 4       \        P                  ! YP                  4       4        T# i ; i)    )file_handleseekjsonload	Exceptiontruncatedump)fcaches   & r   _read_or_initialize_cacher   @   s    MMO*		!--/* L  * 	  #	Q		%)L*s   $A A/B:9B:c                   6   a  ] tR t^Nt o RtR tR tR tRtV t	R# )Cachez/A file based cache for the discovery documents.c                   Wn         \        P                  P                  \        P
                  ! 4       \        4      V n        \        V P                  RR4      p VP                  4        VP                  4       '       d   \        V4       TP                  4        R#   \         d"   p\        P                  TRR7        Rp?L9Rp?ii ; i  TP                  4        i ; i)z<Constructor.

Args:
  max_age: Cache expiration in seconds.
za+rTexc_infoN)_max_ageospathjointempfile
gettempdirFILENAME_filer   open_and_lock	is_lockedr   r   LOGGERwarningunlock_and_close)selfmax_ager   es   &&  r   __init__Cache.__init__Q   s      WW\\("5"5"7B
tzz4-		!OO{{}})!,    	-NN1tN,,	-  s*   1B C
)C C C

C Cc                   \        V P                  R R4      p VP                  4        VP                  4       '       d   \	        V4      pW9   dc   VP                  VR4      w  rE\        \        P                  P                  4       4      WPP                  ,           8  d   VVP                  4        #  VP                  4        R# \        P                  R4        VP                  4        R#   \         d"   p\        P                  TRR7        Rp?MRp?ii ; i TP                  4        R#   TP                  4        i ; i)r+r!   N+Could not obtain a lock for the cache file.Tr"   )Nr   )r   r+   r,   r-   r   getr   datetimenowr$   r0   r.   debugr   r/   )r1   urlr   r   contenttr3   s   &&     r   r9   	Cache.gete   s    tzz4-	!OO{{}}1!4<!&3	!:JG$X%6%6%:%:%<=MM@QQ&      JK    	-NN1tN,,	-, A s0   BC- C- -D8DD/ DD/ /Ec                R   \        V P                  R R4      p VP                  4        VP                  4       '       d   \	        V4      pV\        \        P                  P                  4       4      3WA&   \        VP                  4       4       FH  w  pw  rg\        \        P                  P                  4       4      WpP                  ,           8  g   KF  WE KJ  	  VP                  4       P                  ^ 4       VP                  4       P                  ^ 4       \        P                  ! WCP                  4       4       M\         P#                  R4        VP)                  4        R#   \$         d"   p\         P'                  TRR7        Rp?L9Rp?ii ; i  TP)                  4        i ; i)r7   r!   r8   Tr"   N)r   r+   r,   r-   r   r   r:   r;   listitemsr$   r   r   r   r   r   r.   r<   r   r/   r0   )	r1   r=   r>   r   r   k_	timestampr3   s	   &&&      r   set	Cache.setx   s,   tzz4-	!OO{{}}1!4%}X5F5F5J5J5L'MN
)-ekkm)<%A~%h&7&7&;&;&=>$}}45 "H *= ((+$$Q'		%1JK    	-NN1tN,,	-  sC   B6E% A(E% <F =E% F %F0FF FF F&)r+   r$   N)
__name__
__module____qualname____firstlineno____doc__r4   r9   rG   __static_attributes____classdictcell__)__classdict__s   @r   r   r   N   s     9!(!&! !    r   )r2   )rM   
__future__r   r:   r   loggingr%   r(    oauth2client.contrib.locked_filer   ImportErroroauth2client.locked_file r   discovery_cacher   	getLoggerrI   r.   r*   r   r   r   r   r    rQ   r   <module>r[      s         	 

;  3			8	$9$1%	@!DJJ @!F 	+,a  

7 
W
 	

	
s   A> >B"BBB"