
    ?OOfN                    2   d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ  G d	 d
e      Ze G d d             Z G d dej                         Z G d dej                         Z G d dej                         Ze G d d             Ze G d d             Z G d dej                         Z G d dej                         Z G d dej                         Ze G d d             Zd3dZd3d Z ed!      e G d" d#                    Z ed$      e G d% d&                    Z ed'      e G d( d)                    Z ed*      e G d+ d,                    Z ed-      e G d. d/                    Z  ed0      e G d1 d2                    Z!y)4    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                  <     e Zd ZdZddZedd       Z fdZ xZS )	RuleSetIdz
    Unique id
    c                    | S N selfs    p/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v123/preload.pyto_jsonzRuleSetId.to_json   s        c                     | |      S r   r   clsjsons     r   	from_jsonzRuleSetId.from_json       4yr   c                >    dj                  t        | 	               S )NzRuleSetId({}))formatsuper__repr__)r   	__class__s    r   r   zRuleSetId.__repr__   s    %%eg&6&899r   )returnstr)r   r!   r    r   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__)r   s   @r   r   r      s+      : :r   r   c                      e Zd ZU dZded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dZded<   dZ	ded<   d Z
ed        Zy)RuleSetz+
    Corresponds to SpeculationRuleSet
    r   id_network.LoaderId	loader_idr!   source_textNz"typing.Optional[dom.BackendNodeId]backend_node_idtyping.Optional[str]urlz"typing.Optional[network.RequestId]
request_idz!typing.Optional[RuleSetErrorType]
error_typeerror_messagec                   t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  |d<   |S )	NidloaderId
sourceTextbackendNodeIdr0   	requestId	errorTypeerrorMessage)
dictr*   r   r,   r-   r.   r0   r1   r2   r3   r   r   s     r   r   zRuleSet.to_jsonJ   s    vXX%%'T
>>113Z!--\+$($8$8$@$@$BD!88((DK??& $ 7 7 9D??& $ 7 7 9D)#'#5#5D r   c                    | t         j                  |d         t        j                  j                  |d         t	        |d         d|v r"t
        j                  j                  |d         nd d|v rt	        |d         nd d|v r"t        j                  j                  |d         nd d|v rt        j                  |d         nd d|v rt	        |d         	      S d 	      S )
Nr5   r6   r7   r8   r0   r9   r:   r;   )r*   r,   r-   r.   r0   r1   r2   r3   )	r   r   r	   LoaderIdr!   r   BackendNodeId	RequestIdRuleSetErrorTyper   s     r   r   zRuleSet.from_json[   s    ##DJ/&&00j1ABD./RaeiRiC--77_8MNos$)TMDK tITX\I\w((2243DEbfHSW[H['11${2CDae7E7M#d>23	
 		
 TX	
 		
r   )r"   r#   r$   r%   __annotations__r.   r0   r1   r2   r3   r   r&   r   r   r   r   r)   r)       st     
N    ;?O7> $C	$59J29 59J18 +/M'." 

 

r   r)   c                  *    e Zd ZdZdZd Zed        Zy)rB   SourceIsNotJsonObjectInvalidRulesSkippedc                    | j                   S r   valuer   s    r   r   zRuleSetErrorType.to_jsonm       zzr   c                     | |      S r   r   r   s     r   r   zRuleSetErrorType.from_jsonp   r   r   N)r"   r#   r$   SOURCE_IS_NOT_JSON_OBJECTINVALID_RULES_SKIPPEDr   r&   r   r   r   r   rB   rB   i   s'     71  r   rB   c                  .    e Zd ZdZdZdZd Zed        Zy)SpeculationActionz
    The type of preloading attempted. It corresponds to
    mojom::SpeculationAction (although PrefetchWithSubresources is omitted as it
    isn't being used by clients).
    Prefetch	Prerenderc                    | j                   S r   rH   r   s    r   r   zSpeculationAction.to_json~   rJ   r   c                     | |      S r   r   r   s     r   r   zSpeculationAction.from_json   r   r   N)	r"   r#   r$   r%   PREFETCH	PRERENDERr   r&   r   r   r   r   rO   rO   u   s,    
 HI  r   rO   c                  .    e Zd ZdZdZdZd Zed        Zy)SpeculationTargetHintz
    Corresponds to mojom::SpeculationTargetHint.
    See https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
    BlankSelfc                    | j                   S r   rH   r   s    r   r   zSpeculationTargetHint.to_json   rJ   r   c                     | |      S r   r   r   s     r   r   zSpeculationTargetHint.from_json   r   r   N)	r"   r#   r$   r%   BLANKSELFr   r&   r   r   r   r   rW   rW      s,     ED  r   rW   c                  T    e Zd ZU dZded<   ded<   ded<   dZd	ed
<   d Zed        Zy)PreloadingAttemptKeyaH  
    A key that identifies a preloading attempt.

    The url used is the url specified by the trigger (i.e. the initial URL), and
    not the final url that is navigated to. For example, prerendering allows
    same-origin main frame navigations during the attempt, but the attempt is
    still keyed with the initial URL.
    r+   r,   rO   actionr!   r0   Nz&typing.Optional[SpeculationTargetHint]target_hintc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   |S )Nr6   r`   r0   
targetHint)r<   r,   r   r`   r0   ra   r=   s     r   r   zPreloadingAttemptKey.to_json   sm    v>>113Z,,.XhhU'!%!1!1!9!9!;Dr   c           	          | t         j                  j                  |d         t        j                  |d         t	        |d         d|v rt
        j                  |d               S d       S )Nr6   r`   r0   rc   )r,   r`   r0   ra   )r	   r?   r   rO   r!   rW   r   s     r   r   zPreloadingAttemptKey.from_json   ss    &&00j1AB$..tH~>DK O[_cOc-77\8JK	
 	
 jn	
 	
r   )	r"   r#   r$   r%   rC   ra   r   r&   r   r   r   r   r_   r_      s>      	H:>K7> 
 
r   r_   c                  F    e Zd ZU dZded<   ded<   ded<   d Zed	        Zy
)PreloadingAttemptSourceav  
    Lists sources for a preloading attempt, specifically the ids of rule sets
    that had a speculation rule that triggered the attempt, and the
    BackendNodeIds of <a href> or <area href> elements that triggered the
    attempt (in the case of attempts triggered by a document rule). It is
    possible for multiple rule sets and links to trigger a single attempt.
    r_   keyztyping.List[RuleSetId]rule_set_idsztyping.List[dom.BackendNodeId]node_idsc                   t               }| j                  j                         |d<   | j                  D cg c]  }|j                          c}|d<   | j                  D cg c]  }|j                          c}|d<   |S c c}w c c}w )Nrg   
ruleSetIdsnodeIds)r<   rg   r   rh   ri   )r   r   is      r   r   zPreloadingAttemptSource.to_json   sl    vhh&&(U373D3DEaaiikE\04>1199;>Y F>s   B !Bc           
          | t         j                  |d         |d   D cg c]  }t        j                  |       c}|d   D cg c]!  }t        j                  j                  |      # c}      S c c}w c c}w )Nrg   rk   rl   )rg   rh   ri   )r_   r   r   r   r@   r   r   rm   s      r   r   z!PreloadingAttemptSource.from_json   sh    $..tE{;:>|:LMQ)--a0M>B9oNc''11!4N
 	
MNs   A4
&A9N)r"   r#   r$   r%   rC   r   r&   r   r   r   r   rf   rf      s4     
((,, 
 
r   rf   c                  *   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdC ZEeFdD        ZGyE)FPrerenderFinalStatusz5
    List of FinalStatus reasons for Prerender2.
    	Activated	DestroyedLowEndDeviceInvalidSchemeRedirectInvalidSchemeNavigationNavigationRequestBlockedByCspMainFrameNavigationMojoBinderPolicyRendererProcessCrashedRendererProcessKilledDownloadTriggerDestroyedNavigationNotCommittedNavigationBadHttpStatusClientCertRequestedNavigationRequestNetworkErrorCancelAllHostsForTestingDidFailLoadStopSslCertificateErrorLoginAuthRequestedUaChangeRequiresReloadBlockedByClientAudioOutputDeviceRequestedMixedContentTriggerBackgroundedMemoryLimitExceededDataSaverEnabledTriggerUrlHasEffectiveUrlActivatedBeforeStartedInactivePageRestrictionStartFailedTimeoutBackgrounded$CrossSiteRedirectInInitialNavigation&CrossSiteNavigationInInitialNavigation6SameSiteCrossOriginRedirectNotOptInInInitialNavigation8SameSiteCrossOriginNavigationNotOptInInInitialNavigation%ActivationNavigationParameterMismatchActivatedInBackgroundEmbedderHostDisallowed*ActivationNavigationDestroyedBeforeSuccessTabClosedByUserGestureTabClosedWithoutUserGesture&PrimaryMainFrameRendererProcessCrashed%PrimaryMainFrameRendererProcessKilled"ActivationFramePolicyNotCompatiblePreloadingDisabledBatterySaverEnabled"ActivatedDuringMainFrameNavigation"PreloadingUnsupportedByWebContents&CrossSiteRedirectInMainFrameNavigation(CrossSiteNavigationInMainFrameNavigation8SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation:SameSiteCrossOriginNavigationNotOptInInMainFrameNavigationMemoryPressureOnTriggerMemoryPressureAfterTriggeredPrerenderingDisabledByDevToolsSpeculationRuleRemoved&ActivatedWithAuxiliaryBrowsingContexts&MaxNumOfRunningEagerPrerendersExceeded)MaxNumOfRunningNonEagerPrerendersExceeded)MaxNumOfRunningEmbedderPrerendersExceededPrerenderingUrlHasEffectiveUrl(RedirectedPrerenderingUrlHasEffectiveUrlActivationUrlHasEffectiveUrlc                    | j                   S r   rH   r   s    r   r   zPrerenderFinalStatus.to_json   rJ   r   c                     | |      S r   r   r   s     r   r   zPrerenderFinalStatus.from_json#  r   r   N)Hr"   r#   r$   r%   	ACTIVATED	DESTROYEDLOW_END_DEVICEINVALID_SCHEME_REDIRECTINVALID_SCHEME_NAVIGATION!NAVIGATION_REQUEST_BLOCKED_BY_CSPMAIN_FRAME_NAVIGATIONMOJO_BINDER_POLICYRENDERER_PROCESS_CRASHEDRENDERER_PROCESS_KILLEDDOWNLOADTRIGGER_DESTROYEDNAVIGATION_NOT_COMMITTEDNAVIGATION_BAD_HTTP_STATUSCLIENT_CERT_REQUESTED NAVIGATION_REQUEST_NETWORK_ERRORCANCEL_ALL_HOSTS_FOR_TESTINGDID_FAIL_LOADSTOPSSL_CERTIFICATE_ERRORLOGIN_AUTH_REQUESTEDUA_CHANGE_REQUIRES_RELOADBLOCKED_BY_CLIENTAUDIO_OUTPUT_DEVICE_REQUESTEDMIXED_CONTENTTRIGGER_BACKGROUNDEDMEMORY_LIMIT_EXCEEDEDDATA_SAVER_ENABLEDTRIGGER_URL_HAS_EFFECTIVE_URLACTIVATED_BEFORE_STARTEDINACTIVE_PAGE_RESTRICTIONSTART_FAILEDTIMEOUT_BACKGROUNDED)CROSS_SITE_REDIRECT_IN_INITIAL_NAVIGATION+CROSS_SITE_NAVIGATION_IN_INITIAL_NAVIGATION@SAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_INITIAL_NAVIGATIONBSAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_INITIAL_NAVIGATION(ACTIVATION_NAVIGATION_PARAMETER_MISMATCHACTIVATED_IN_BACKGROUNDEMBEDDER_HOST_DISALLOWED.ACTIVATION_NAVIGATION_DESTROYED_BEFORE_SUCCESSTAB_CLOSED_BY_USER_GESTURETAB_CLOSED_WITHOUT_USER_GESTURE+PRIMARY_MAIN_FRAME_RENDERER_PROCESS_CRASHED*PRIMARY_MAIN_FRAME_RENDERER_PROCESS_KILLED&ACTIVATION_FRAME_POLICY_NOT_COMPATIBLEPRELOADING_DISABLEDBATTERY_SAVER_ENABLED&ACTIVATED_DURING_MAIN_FRAME_NAVIGATION&PRELOADING_UNSUPPORTED_BY_WEB_CONTENTS,CROSS_SITE_REDIRECT_IN_MAIN_FRAME_NAVIGATION.CROSS_SITE_NAVIGATION_IN_MAIN_FRAME_NAVIGATIONCSAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONESAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONMEMORY_PRESSURE_ON_TRIGGERMEMORY_PRESSURE_AFTER_TRIGGERED"PRERENDERING_DISABLED_BY_DEV_TOOLSSPECULATION_RULE_REMOVED*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTS,MAX_NUM_OF_RUNNING_EAGER_PRERENDERS_EXCEEDED0MAX_NUM_OF_RUNNING_NON_EAGER_PRERENDERS_EXCEEDED/MAX_NUM_OF_RUNNING_EMBEDDER_PRERENDERS_EXCEEDED"PRERENDERING_URL_HAS_EFFECTIVE_URL-REDIRECTED_PRERENDERING_URL_HAS_EFFECTIVE_URL ACTIVATION_URL_HAS_EFFECTIVE_URLr   r&   r   r   r   r   rq   rq      s    II#N5 9(G%1+75H*7!:1'F$#= !MD1/ 8)$@!"M01+$?!7 9 L00V-2Z/GD JDF/V,575a2!9&C#2Z/1X.-Q*.1-Q*-Q*3[05_2 KEG MII!:&D#)I&71Y.3[07b46a3)I&4^1'E$  r   rq   c                  >    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	        Zy
)PreloadingStatusz
    Preloading status values, see also PreloadingTriggeringOutcome. This
    status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
    PendingRunningReadySuccessFailureNotSupportedc                    | j                   S r   rH   r   s    r   r   zPreloadingStatus.to_json4  rJ   r   c                     | |      S r   r   r   s     r   r   zPreloadingStatus.from_json7  r   r   N)r"   r#   r$   r%   PENDINGRUNNINGREADYSUCCESSFAILURENOT_SUPPORTEDr   r&   r   r   r   r   r   r   (  s@     GGEGG"M  r   r   c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d! Z#e$d"        Z%y#)$PrefetchStatusz
    TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
    filter out the ones that aren't necessary to the developers.
    PrefetchAllowed PrefetchFailedIneligibleRedirectPrefetchFailedInvalidRedirectPrefetchFailedMIMENotSupportedPrefetchFailedNetErrorPrefetchFailedNon2XX"PrefetchFailedPerPageLimitExceeded$PrefetchEvictedAfterCandidateRemovedPrefetchEvictedForNewerPrefetchPrefetchHeldbackPrefetchIneligibleRetryAfterPrefetchIsPrivacyDecoyPrefetchIsStale-PrefetchNotEligibleBrowserContextOffTheRecord#PrefetchNotEligibleDataSaverEnabled PrefetchNotEligibleExistingProxy"PrefetchNotEligibleHostIsNonUnique-PrefetchNotEligibleNonDefaultStoragePartition;PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy#PrefetchNotEligibleSchemeIsNotHttps!PrefetchNotEligibleUserHasCookies'PrefetchNotEligibleUserHasServiceWorker&PrefetchNotEligibleBatterySaverEnabled%PrefetchNotEligiblePreloadingDisabledPrefetchNotFinishedInTimePrefetchNotStartedPrefetchNotUsedCookiesChangedPrefetchProxyNotAvailablePrefetchResponseUsedPrefetchSuccessfulButNotUsedPrefetchNotUsedProbeFailedc                    | j                   S r   rH   r   s    r   r   zPrefetchStatus.to_jsona  rJ   r   c                     | |      S r   r   r   s     r   r   zPrefetchStatus.from_jsond  r   r   N)&r"   r#   r$   r%   PREFETCH_ALLOWED#PREFETCH_FAILED_INELIGIBLE_REDIRECT PREFETCH_FAILED_INVALID_REDIRECT"PREFETCH_FAILED_MIME_NOT_SUPPORTEDPREFETCH_FAILED_NET_ERRORPREFETCH_FAILED_NON2_XX'PREFETCH_FAILED_PER_PAGE_LIMIT_EXCEEDED(PREFETCH_EVICTED_AFTER_CANDIDATE_REMOVED#PREFETCH_EVICTED_FOR_NEWER_PREFETCHPREFETCH_HELDBACKPREFETCH_INELIGIBLE_RETRY_AFTERPREFETCH_IS_PRIVACY_DECOYPREFETCH_IS_STALE4PREFETCH_NOT_ELIGIBLE_BROWSER_CONTEXT_OFF_THE_RECORD(PREFETCH_NOT_ELIGIBLE_DATA_SAVER_ENABLED$PREFETCH_NOT_ELIGIBLE_EXISTING_PROXY(PREFETCH_NOT_ELIGIBLE_HOST_IS_NON_UNIQUE3PREFETCH_NOT_ELIGIBLE_NON_DEFAULT_STORAGE_PARTITIONDPREFETCH_NOT_ELIGIBLE_SAME_SITE_CROSS_ORIGIN_PREFETCH_REQUIRED_PROXY)PREFETCH_NOT_ELIGIBLE_SCHEME_IS_NOT_HTTPS&PREFETCH_NOT_ELIGIBLE_USER_HAS_COOKIES-PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER+PREFETCH_NOT_ELIGIBLE_BATTERY_SAVER_ENABLED)PREFETCH_NOT_ELIGIBLE_PRELOADING_DISABLEDPREFETCH_NOT_FINISHED_IN_TIMEPREFETCH_NOT_STARTED!PREFETCH_NOT_USED_COOKIES_CHANGEDPREFETCH_PROXY_NOT_AVAILABLEPREFETCH_RESPONSE_USED PREFETCH_SUCCESSFUL_BUT_NOT_USEDPREFETCH_NOT_USED_PROBE_FAILEDr   r&   r   r   r   r   r  r  <  s     )*L''F$)I& 84.R+/U,*K'*&D# 8);j8/T,+M(/S,:i7 LIH0U--P*4]12Z/0W-$?!/(G%#> 3'E$%A"  r   r  c                  N    e Zd ZU dZded<   dZded<   dZded<   d Zed	        Z	y)
PrerenderMismatchedHeaderszS
    Information of headers to be displayed when the header mismatch occurred.
    r!   header_nameNr/   initial_valueactivation_valuec                    t               }| j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )N
headerNameinitialValueactivationValue)r<   rJ  rK  rL  r=   s     r   r   z"PrerenderMismatchedHeaders.to_jsont  sW    v!--\)#'#5#5D   ,&*&;&;D"#r   c                     | t        |d         d|v rt        |d         nd d|v rt        |d               S d       S )NrN  rO  rP  )rJ  rK  rL  )r!   r   s     r   r   z$PrerenderMismatchedHeaders.from_json}  sZ    D./7E7M#d>23SW=NRV=VS&7!89
 	
 ]a
 	
r   )
r"   r#   r$   r%   rC   rK  rL  r   r&   r   r   r   r   rI  rI  i  s?     *.M'.-1*1 
 
r   rI  c               #     K   ddi} | }y w)NmethodzPreload.enabler   cmd_dictr   s     r   enablerV    s      	"H >D   
c               #     K   ddi} | }y w)NrS  zPreload.disabler   rT  s     r   disablerY    s      	#H >DrW  zPreload.ruleSetUpdatedc                  .    e Zd ZU dZded<   edd       Zy)RuleSetUpdatedzF
    Upsert. Currently, it is only emitted when a rule set added.
    r)   rule_setc                @     | t         j                  |d               S )NruleSet)r\  )r)   r   r   s     r   r   zRuleSetUpdated.from_json  s!    &&tI7
 	
r   N)r   r   r    r[  r"   r#   r$   r%   rC   r&   r   r   r   r   r[  r[    s!     
 
r   r[  zPreload.ruleSetRemovedc                  *    e Zd ZU ded<   edd       Zy)RuleSetRemovedr   r*   c                @     | t         j                  |d               S )Nr5   )r*   )r   r   r   s     r   r   zRuleSetRemoved.from_json  s!    ##DJ/
 	
r   N)r   r   r    ra  )r"   r#   r$   rC   r&   r   r   r   r   ra  ra    s     
N
 
r   ra  z"Preload.preloadEnabledStateUpdatedc                  V    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ed
d       Zy	)PreloadEnabledStateUpdatedz8
    Fired when a preload enabled state is updated.
    booldisabled_by_preferencedisabled_by_data_saverdisabled_by_battery_saver/disabled_by_holdback_prefetch_speculation_rules0disabled_by_holdback_prerender_speculation_rulesc           
          | t        |d         t        |d         t        |d         t        |d         t        |d               S )NdisabledByPreferencedisabledByDataSaverdisabledByBatterySaver*disabledByHoldbackPrefetchSpeculationRules+disabledByHoldbackPrerenderSpeculationRules)rf  rg  rh  ri  rj  )re  r   s     r   r   z$PreloadEnabledStateUpdated.from_json  sU    #'-C(D#E#'-B(C#D&*40H+I&J<@FrAs<t=A$GtBu=v
 	
r   N)r   r   r    rd  r_  r   r   r   rd  rd    s9     !   ##5996::
 
r   rd  zPreload.prefetchStatusUpdatedc                  `    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   edd       Zy)PrefetchStatusUpdatedz3
    Fired when a prefetch attempt is updated.
    r_   rg   zpage.FrameIdinitiating_frame_idr!   prefetch_urlr   statusr  prefetch_statusznetwork.RequestIdr1   c                :    | t         j                  |d         t        j                  j                  |d         t	        |d         t
        j                  |d         t        j                  |d         t        j                  j                  |d               S )Nrg   initiatingFrameIdprefetchUrlru  prefetchStatusr9   )rg   rs  rt  ru  rv  r1   )	r_   r   r
   FrameIdr!   r   r  r	   rA   r   s     r   r   zPrefetchStatusUpdated.from_json  s    $..tE{; $ 6 6t<O7P QT-01#--d8n=*44T:J5KL((2243DE
 	
r   N)r   r   r    rr  r_  r   r   r   rr  rr    s?     
%%##!!
 
r   rr  zPreload.prerenderStatusUpdatedc                  V    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   edd       Zy)PrerenderStatusUpdatedz4
    Fired when a prerender attempt is updated.
    r_   rg   r   ru  z%typing.Optional[PrerenderFinalStatus]prerender_statusr/   disallowed_mojo_interfacez8typing.Optional[typing.List[PrerenderMismatchedHeaders]]mismatched_headersc                8    | t         j                  |d         t        j                  |d         d|v rt        j                  |d         nd d|v rt	        |d         nd d|v r+|d   D cg c]  }t
        j                  |       c}      S d       S c c}w )Nrg   ru  prerenderStatusdisallowedMojoInterfacemismatchedHeaders)rg   ru  r~  r  r  )r_   r   r   rq   r!   rI  ro   s      r   r   z PrerenderStatusUpdated.from_json  s    $..tE{;#--d8n=XimqXq1;;DAR<STw{NgkoNoc$/H*I&Juy pC  GK  pKQUViQjkA : D DQ Gk
 	

 QU
 	

  ls   ,BN)r   r   r    r}  r_  r   r   r   r}  r}    s;     
;;  43PP
 
r   r}  z'Preload.preloadingAttemptSourcesUpdatedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PreloadingAttemptSourcesUpdatedzK
    Send a list of sources for all preloading attempts in a document.
    r+   r,   z$typing.List[PreloadingAttemptSource]preloading_attempt_sourcesc           	          | t         j                  j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr6   preloadingAttemptSources)r,   r  )r	   r?   r   rf   ro   s      r   r   z)PreloadingAttemptSourcesUpdated.from_json  sL    &&00j1ABVZ[uVv'wQR(?(I(I!(L'w
 	
'ws   A
N)r   r   r    r  r_  r   r   r   r  r    s'       DD
 
r   r  )r    z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])"
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r!   r   r)   EnumrB   rO   rW   r_   rf   rq   r   r  rI  rV  rY  r[  ra  rd  rr  r}  r  r   r   r   <module>r     s   # * !     : : E
 E
 E
P	tyy 			 "DII   !
 !
 !
H 
 
 
<K499 K\tyy (*TYY *Z 
 
 
8 %&


 

  '

 %&

 
  '
 12

 
  3
* ,-

 
  .
0 -.

 
  /
. 67

 
  8
r   