
    ,h/                      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 dd	l	mZ e G d
 d             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 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e G d  d!             Z G d" d#ej"                        Ze G d$ d%             Z G d& d'ej"                        Z G d( d)ej"                        Ze G d* d+             Z G d, d-ej"                        Z e G d. d/             Z!e G d0 d1             Z" G d2 d3ej"                        Z#e G d4 d5             Z$e G d6 d7             Z%e G d8 d9             Z& G d: d;ej"                        Z' G d< d=ej"                        Z( G d> d?ej"                        Z)e G d@ dA             Z*e G dB dC             Z+e G dD dE             Z,e G dF dG             Z-e G dH dI             Z. G dJ dKej"                        Z/e G dL dM             Z0e G dN dO             Z1e G dP dQ             Z2e G dR dS             Z3 G dT dUej"                        Z4e G dV dW             Z5 G dX dYej"                        Z6e G dZ d[             Z7 G d\ d]ej"                        Z8e G d^ d_             Z9e G d` da             Z: G db dcej"                        Z;e G dd de             Z< G df dgej"                        Z=e G dh di             Z> G dj dkej"                        Z?e G dl dm             Z@ G dn doej"                        ZAe G dp dq             ZB G dr dsej"                        ZCe G dt du             ZD G dv dweE      ZFe G dx dy             ZG	 	 d	 	 	 	 	 	 	 	 	 ddzZHdd{ZIdd|ZJ	 d	 	 	 dd}ZKdd~ZL ed      e G d d                    ZMy)    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                  F    e Zd ZU dZded<   ded<   ded<   d Zed        Zy)	AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                t    t               }| j                  |d<   | j                  |d<   | j                  |d<   |S )Nr   r   r   )dictr   r   r   selfjsons     p/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v136/audits.pyto_jsonzAffectedCookie.to_json   s5    vyyVyyVX    c                `     | t        |d         t        |d         t        |d               S )Nr   r   r   )r   r   r   r   clsr   s     r   	from_jsonzAffectedCookie.from_json%   s3    T&\"T&\"tH~&
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      s1     I
IK 
 
r   r   c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)	AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    r   urlN"typing.Optional[network.RequestId]
request_idc                    t               }| j                  |d<   | j                  | j                  j                         |d<   |S )Nr)   	requestId)r   r)   r+   r   r   s     r   r   zAffectedRequest.to_json8   s<    vhhU??& $ 7 7 9Dr   c                     | t        |d         d|v r't        j                  j                  |d               S d       S )Nr)   r-   )r)   r+   r   r	   	RequestIdr   r   s     r   r   zAffectedRequest.from_json?   sI    DK ITX\I\w((2243DE
 	
bf
 	
r   )	r    r!   r"   r#   r$   r+   r   r%   r   r&   r   r   r(   r(   .   s4     
H 6:J29 
 
r   r(   c                  2    e Zd ZU dZded<   d Zed        Zy)AffectedFramezE
    Information about the frame affected by an inspector issue.
    page.FrameIdframe_idc                T    t               }| j                  j                         |d<   |S )NframeId)r   r4   r   r   s     r   r   zAffectedFrame.to_jsonN   s$    v--//1Yr   c                T     | t         j                  j                  |d               S )Nr6   )r4   )r
   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonS   s%    \\++DO<
 	
r   Nr   r&   r   r   r2   r2   G   s(     
 
 
r   r2   c                  N    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ed        Zy)CookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextExcludeDomainNonASCII-ExcludeThirdPartyCookieBlockedInFirstPartySetExcludeThirdPartyPhaseoutExcludePortMismatchExcludeSchemeMismatchc                    | j                   S Nvaluer   s    r   r   zCookieExclusionReason.to_jsong       zzr   c                     | |      S rG   r&   r   s     r   r   zCookieExclusionReason.from_jsonj       4yr   N)r    r!   r"   ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXEXCLUDE_SAME_SITE_NONE_INSECUREEXCLUDE_SAME_SITE_LAXEXCLUDE_SAME_SITE_STRICTEXCLUDE_INVALID_SAME_PARTY&EXCLUDE_SAME_PARTY_CROSS_PARTY_CONTEXTEXCLUDE_DOMAIN_NON_ASCII5EXCLUDE_THIRD_PARTY_COOKIE_BLOCKED_IN_FIRST_PARTY_SETEXCLUDE_THIRD_PARTY_PHASEOUTEXCLUDE_PORT_MISMATCHEXCLUDE_SCHEME_MISMATCHr   r%   r   r&   r   r   r:   r:   Z   s]    3[0&C#06!:-P*6<k9#> 15  r   r:   c                  Z    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ed        Zy)CookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax WarnAttributeValueExceedsMaxSizeWarnDomainNonASCIIWarnThirdPartyPhaseout.WarnCrossSiteRedirectDowngradeChangesInclusionWarnDeprecationTrialMetadataWarnThirdPartyCookieHeuristicc                    | j                   S rG   rH   rJ   s    r   r   zCookieWarningReason.to_json   rK   r   c                     | |      S rG   r&   r   s     r   r   zCookieWarningReason.from_json   rM   r   N)r    r!   r"   -WARN_SAME_SITE_UNSPECIFIED_CROSS_SITE_CONTEXTWARN_SAME_SITE_NONE_INSECURE+WARN_SAME_SITE_UNSPECIFIED_LAX_ALLOW_UNSAFE*WARN_SAME_SITE_STRICT_LAX_DOWNGRADE_STRICT,WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_STRICT)WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_LAX)WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_STRICT&WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_LAX%WARN_ATTRIBUTE_VALUE_EXCEEDS_MAX_SIZEWARN_DOMAIN_NON_ASCIIWARN_THIRD_PARTY_PHASEOUT4WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSIONWARN_DEPRECATION_TRIAL_METADATA!WARN_THIRD_PARTY_COOKIE_HEURISTICr   r%   r   r&   r   r   rZ   rZ   o   so    4]1#= 2Y/1W.3[00U-0U--O*,N)0 8;k8&D#(G%  r   rZ   c                  *    e Zd ZdZdZd Zed        Zy)CookieOperation	SetCookie
ReadCookiec                    | j                   S rG   rH   rJ   s    r   r   zCookieOperation.to_json   rK   r   c                     | |      S rG   r&   r   s     r   r   zCookieOperation.from_json   rM   r   N)r    r!   r"   
SET_COOKIEREAD_COOKIEr   r%   r   r&   r   r   rz   rz      s%    JK  r   rz   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)InsightTypezM
    Represents the category of insight that a cookie issue falls under.
    GitHubResourceGracePeriod
Heuristicsc                    | j                   S rG   rH   rJ   s    r   r   zInsightType.to_json   rK   r   c                     | |      S rG   r&   r   s     r   r   zInsightType.from_json   rM   r   N)
r    r!   r"   r#   GIT_HUB_RESOURCEGRACE_PERIOD
HEURISTICSr   r%   r   r&   r   r   r   r      s2     ( LJ  r   r   c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)	CookieIssueInsightzE
    Information about the suggested solution to a cookie issue.
    r   type_Ntyping.Optional[str]table_entry_urlc                    t               }| j                  j                         |d<   | j                  | j                  |d<   |S )NtypetableEntryUrl)r   r   r   r   r   s     r   r   zCookieIssueInsight.to_json   s@    vzz))+V+$($8$8D!r   c                p     | t         j                  |d         d|v rt        |d               S d       S )Nr   r   )r   r   )r   r   r   r   s     r   r   zCookieIssueInsight.from_json   sB    ''V5:IT:QC_ 56
 	
W[
 	
r   )	r    r!   r"   r#   r$   r   r   r%   r   r&   r   r   r   r      s5      -1O)0 
 
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
ded<   d Zed        Zy)CookieIssueDetailsz
    This information is currently necessary, as the front-end has a difficult
    time finding a specific cookie. With this, we can convey specific error
    information without the cookie.
    z typing.List[CookieWarningReason]cookie_warning_reasonsz"typing.List[CookieExclusionReason]cookie_exclusion_reasonsrz   	operationNztyping.Optional[AffectedCookie]cookier   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestz#typing.Optional[CookieIssueInsight]insightc                   t               }| j                  D cg c]  }|j                          c}|d<   | j                  D cg c]  }|j                          c}|d<   | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d	<   |S c c}w c c}w )
NcookieWarningReasonscookieExclusionReasonsr   r   rawCookieLinesiteForCookies	cookieUrlr   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   is      r   r   zCookieIssueDetails.to_json   s#   v=A=X=X'Y		'Y#$?C?\?\)]!!))+)]%& NN224[;;"![[002DN+$($8$8D!  ,%)%:%:D!"??& $D<<#"ll224DO<<#"ll224DO (Z)]s   EEc                    | |d   D cg c]  }t         j                  |       c}|d   D cg c]  }t        j                  |       c}t        j                  |d         d|v rt        j                  |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        j                  |d         nd d	|v rt        j                  |d	         
	      S d 
	      S c c}w c c}w )Nr   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )rZ   r   r:   rz   r   r   r(   r   r   r   r   s      r   r   zCookieIssueDetails.from_json   s   NRSiNj#k$7$A$A!$D#kRVWoRp%qQ&;&E&Ea&H%q%//[0AB?G4?O>++DN;UY:IT:QC_ 56W[<LPT<TS&6!78Z^1<1Ds4,-$BKtBSO--d9o>Y]ENRVEV&00iA

 
	
 ]a

 
	
#k%qs
   C?D
)r    r!   r"   r#   r$   r   r   r   r   r   r   r   r%   r   r&   r   r   r   r      s}    
 =<@@  /3F+2,0O)0-1*1'+J$+04G-4 48G07& 
 
r   r   c                  .    e Zd ZdZdZdZd Zed        Zy)MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                    | j                   S rG   rH   rJ   s    r   r   z$MixedContentResolutionStatus.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z&MixedContentResolutionStatus.from_json  rM   r   N)	r    r!   r"   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r%   r   r&   r   r   r   r      s-    1+N(1  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 e!d        Z"y )!MixedContentResourceTypeAttributionSrcAudioBeacon	CSPReportDownloadEventSourceFaviconFontFormFrameImageImportJSONManifestPing
PluginDataPluginResourcePrefetchResourceScriptServiceWorkerSharedWorkerSpeculationRules
StylesheetTrackVideoWorkerXMLHttpRequestXSLTc                    | j                   S rG   rH   rJ   s    r   r   z MixedContentResourceType.to_json*  rK   r   c                     | |      S rG   r&   r   s     r   r   z"MixedContentResourceType.from_json-  rM   r   N)#r    r!   r"   ATTRIBUTION_SRCAUDIOBEACON
CSP_REPORTDOWNLOADEVENT_SOURCEFAVICONFONTFORMFRAMEIMAGEIMPORTr   MANIFESTPINGPLUGIN_DATAPLUGIN_RESOURCEPREFETCHRESOURCESCRIPTSERVICE_WORKERSHARED_WORKERSPECULATION_RULES
STYLESHEETTRACKVIDEOWORKERXML_HTTP_REQUESTr   r   r%   r   r&   r   r   r   r     s    &OEFJH LGDDEEFDHDK&OHHF$N"M*JEEF'D  r   r   c                  l    e Zd ZU 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ed        Z	y)MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typer   r   typing.Optional[AffectedFrame]framec                   t               }| j                  j                         |d<   | j                  |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   |S )NresolutionStatusinsecureURLmainResourceURLresourceTyper   r   )r   r   r   r   r   r   r   r   r   s     r   r   z MixedContentIssueDetails.to_jsonJ  s    v#'#9#9#A#A#C "//]"&"8"8)#'#5#5#=#=#?D <<#"ll224DO::! JJ..0DMr   c                ,    | t         j                  |d         t        |d         t        |d         d|v rt        j                  |d         nd d|v rt        j                  |d         nd d|v rt
        j                  |d               S d       S )Nr   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r(   r2   r   s     r   r   z"MixedContentIssueDetails.from_jsonW  s    :DDTJ\E]^T-01!$'8"9:VdhlVl2<<T.=QRrvBKtBSO--d9o>Y]<CtO-))$w-8
 	
 RV
 	
r   )
r    r!   r"   r$   r   r   r   r   r%   r   r&   r   r   r   r   2  s\     43   @DM<C 15G-4 -1E)0 
 
r   r   c                  F    e 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)BlockedByResponseReasonz
    Enum indicating the reason a response has been blocked. These reasons are
    refinements of the net error BLOCKED_BY_RESPONSE.
     CoepFrameResourceNeedsCoepHeader+CoopSandboxedIFrameCannotNavigateToCoopPageCorpNotSameOrigin1CorpNotSameOriginAfterDefaultedToSameOriginByCoep0CorpNotSameOriginAfterDefaultedToSameOriginByDip7CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDipCorpNotSameSiteSRIMessageSignatureMismatchc                    | j                   S rG   rH   rJ   s    r   r   zBlockedByResponseReason.to_jsonq  rK   r   c                     | |      S rG   r&   r   s     r   r   z!BlockedByResponseReason.from_jsont  rM   r   N)r    r!   r"   r#   %COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER3COOP_SANDBOXED_I_FRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEP:CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_DIPCCORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEP_AND_DIPCORP_NOT_SAME_SITESRI_MESSAGE_SIGNATURE_MISMATCHr   r%   r   r&   r   r   r   r   c  sW     -O):g7.Bu?As> KDG*%B"  r   r   c                  X    e Zd ZU dZded<   ded<   dZded<   dZded	<   d
 Zed        Z	y)BlockedByResponseIssueDetailsz
    Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
    code. Currently only used for COEP/COOP, but may be extended to include
    some CSP errors in the future.
    r(   r   r   reasonNr   parent_frameblocked_framec                2   t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  j                         |d<   |S )Nr   r  parentFrameblockedFrame)r   r   r   r  r  r  r   s     r   r   z%BlockedByResponseIssueDetails.to_json  s    v,,..0Y,,.X("&"3"3";";"=D)#'#5#5#=#=#?D r   c           	          | t         j                  |d         t        j                  |d         d|v rt        j                  |d         nd d|v rt        j                  |d               S d       S )Nr   r  r  r  )r   r  r  r  )r(   r   r   r2   r   s     r   r   z'BlockedByResponseIssueDetails.from_json  s}    #--d9o>*44T(^DIVZ^I^00m1DEdhKY]aKa-11$~2FG	
 	
 hl	
 	
r   )
r    r!   r"   r#   r$   r  r  r   r%   r   r&   r   r   r  r  y  sD    
 ##37L0748M18 
 
r   r  c                  *    e Zd ZdZdZd Zed        Zy)HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j                   S rG   rH   rJ   s    r   r   zHeavyAdResolutionStatus.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z!HeavyAdResolutionStatus.from_json  rM   r   N)r    r!   r"   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r%   r   r&   r   r   r  r    s'    ''  r   r  c                  .    e Zd ZdZdZdZd Zed        Zy)HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                    | j                   S rG   rH   rJ   s    r   r   zHeavyAdReason.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   zHeavyAdReason.from_json  rM   r   N)	r    r!   r"   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r%   r   r&   r   r   r$  r$    s+    -%O#N  r   r$  c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy	)
HeavyAdIssueDetailsr  
resolutionr$  r  r2   r   c                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  j                         |d<   |S )Nr/  r  r   )r   r/  r   r  r   r   s     r   r   zHeavyAdIssueDetails.to_json  sQ    v!__446\,,.X

**,Wr   c                     | t         j                  |d         t        j                  |d         t        j                  |d               S )Nr/  r  r   )r/  r  r   )r  r   r$  r2   r   s     r   r   zHeavyAdIssueDetails.from_json  sF    .88l9KL **4>:))$w-8
 	
r   Nr    r!   r"   r$   r   r%   r   r&   r   r   r.  r.    s3     ('   
 
r   r.  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
)"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkSRIViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationkWasmEvalViolationc                    | j                   S rG   rH   rJ   s    r   r   z*ContentSecurityPolicyViolationType.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z,ContentSecurityPolicyViolationType.from_json  rM   r   N)r    r!   r"   K_INLINE_VIOLATIONK_EVAL_VIOLATIONK_URL_VIOLATIONK_SRI_VIOLATIONK_TRUSTED_TYPES_SINK_VIOLATION K_TRUSTED_TYPES_POLICY_VIOLATIONK_WASM_EVAL_VIOLATIONr   r%   r   r&   r   r   r4  r4    sC    +'%O%O%A"'E$0  r   r4  c                  P    e Zd ZU ded<   ded<   ded<   dZded<   d	 Zed
        Zy)SourceCodeLocationr   r)   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )Nr)   
lineNumbercolumnNumberscriptId)r   r)   rH  rI  rJ  r   r   s     r   r   zSourceCodeLocation.to_json  s\    vhhU!--\#11^>>%#~~557Dr   c           	          | t        |d         t        |d         t        |d         d|v r't        j                  j	                  |d               S d       S )Nr)   rL  rM  rN  )r)   rH  rI  rJ  )r   rG  r   ScriptIdr   r   s     r   r   zSourceCodeLocation.from_json  sg    DK D./d>23FPTXFXg&&00j1AB	
 	
 _c	
 	
r   )r    r!   r"   r$   rJ  r   r%   r   r&   r   r   rF  rF    s7    	H37I07 
 
r   rF  c                  z    e Zd ZU 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e	d        Z
y)!ContentSecurityPolicyIssueDetailsr   violated_directiveboolis_report_onlyr4  &content_security_policy_violation_typeNr   blocked_urlr   frame_ancestor#typing.Optional[SourceCodeLocation]source_code_location"typing.Optional[dom.BackendNodeId]violating_node_idc                   t               }| j                  |d<   | j                  |d<   | j                  j	                         |d<   | j
                  | j
                  |d<   | j                  | j                  j	                         |d<   | j                  | j                  j	                         |d<   | j                  | j                  j	                         |d<   |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   rS  rU  rV  r   rW  rX  rZ  r\  r   s     r   r   z)ContentSecurityPolicyIssueDetails.to_json  s    v$($;$; !#22^595`5`5h5h5j12'!%!1!1D*$($7$7$?$?$AD!$$0)-)B)B)J)J)LD%&!!-&*&<&<&D&D&FD"#r   c                f    | t        |d         t        |d         t        j                  |d         d|v rt        |d         nd d|v rt        j                  |d         nd d|v rt
        j                  |d         nd d|v r't        j                  j                  |d               S d       S )	Nr^  r_  r`  ra  rb  rc  rd  )rS  rU  rV  rW  rX  rZ  r\  )r   rT  r4  r   r2   rF  r   BackendNodeIdr   s     r   r   z+ContentSecurityPolicyIssueDetails.from_json  s    "4(;#<=^ 453U3_3_`d  fJ  aK  4L3?43GD./TM\`dMd=2243HIjn]quy]y!3!=!=dCW>X!Y  @DVgkoVoc//99$?P:QR
 	
 vz
 	
r   )r    r!   r"   r$   rW  rX  rZ  r\  r   r%   r   r&   r   r   rR  rR    s_     ,NN )-K%,59N29@D=D<@9@ 	
 	
r   rR  c                  *    e Zd ZdZdZd Zed        Zy)SharedArrayBufferIssueTypeTransferIssueCreationIssuec                    | j                   S rG   rH   rJ   s    r   r   z"SharedArrayBufferIssueType.to_json0  rK   r   c                     | |      S rG   r&   r   s     r   r   z$SharedArrayBufferIssueType.from_json3  rM   r   N)r    r!   r"   TRANSFER_ISSUECREATION_ISSUEr   r%   r   r&   r   r   rh  rh  ,  s%    $N$N  r   rh  c                  F    e Zd ZU dZded<   ded<   ded<   d Zed	        Zy
)SharedArrayBufferIssueDetailsz
    Details for a issue arising from an SAB being instantiated in, or
    transferred to a context that is not cross-origin isolated.
    rF  rZ  rT  
is_warningrh  r   c                    t               }| j                  j                         |d<   | j                  |d<   | j                  j                         |d<   |S )Nrc  	isWarningr   )r   rZ  r   rq  r   r   s     r   r   z%SharedArrayBufferIssueDetails.to_jsonD  sL    v%)%>%>%F%F%H!" OO[zz))+Vr   c                     | t         j                  |d         t        |d         t        j                  |d               S )Nrc  rs  r   )rZ  rq  r   )rF  r   rT  rh  r   s     r   r   z'SharedArrayBufferIssueDetails.from_jsonK  sB    !3!=!=dCW>X!YD-.,66tF|D
 	
r   Nr   r&   r   r   rp  rp  8  s4     -,%% 
 
r   rp  c                  j    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   d Zed        Zy)LowTextContrastIssueDetailsdom.BackendNodeIdr\  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                   t               }| j                  j                         |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )Nrd  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r\  r   rx  rz  r{  r|  r}  r~  r   s     r   r   z#LowTextContrastIssueDetails.to_jsond  s    v"&"8"8"@"@"B(,(D(D$% $ 3 3_"//]#11^>>Z!--\r   c                     | t         j                  j                  |d         t        |d         t	        |d         t	        |d         t	        |d         t        |d         t        |d               S )	Nrd  r  r  r  r  r  r  )r\  rx  rz  r{  r|  r}  r~  )r   rf  r   r   ry  r   s     r   r   z%LowTextContrastIssueDetails.from_jsono  sx    !//99$?P:QR$'-D(E$F o!67tM23^ 45$z*+D./
 	
r   Nr2  r&   r   r   rv  rv  T  sD    ((  N	 	
 	
r   rv  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	e
d        Zy)CorsIssueDetailszl
    Details for a CORS related issue, e.g. a warning or error related to
    CORS RFC1918 enforcement.
    znetwork.CorsErrorStatuscors_error_statusrT  rq  r(   r   NrY  locationr   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                   t               }| j                  j                         |d<   | j                  |d<   | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   |S )NcorsErrorStatusrs  r   r  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   r  r   rq  r   r  r  r  r  r   s     r   r   zCorsIssueDetails.to_json  s    v"&"8"8"@"@"B OO[,,..0Y==$#}}446D  ,&*&;&;D"#))5-1-K-K-S-S-UD)*%%1*.*D*D*L*L*ND&'r   c                    | t         j                  j                  |d         t        |d         t        j                  |d         d|v rt
        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                  j                  |d               S d       S )	Nr  rs  r   r  r  r  r  )r  rq  r   r  r  r  r  )	r	   CorsErrorStatusr   rT  r(   rF  r   IPAddressSpaceClientSecurityStater   s     r   r   zCorsIssueDetails.from_json  s    %55??EV@WXD-.#--d9o>GQUYGY'11$z2BC_c=NRV=VS&7!89\` kC  GK  kKg&<&<&F&FtLdGe&f  QUh}  BF  iF'"="="G"GMbHc"d
 	
 LP
 	
r   )r    r!   r"   r#   r$   r  r  r  r  r   r%   r   r&   r   r   r  r  |  sc     /.48H18-1*1IMFMJNGN 	
 	
r   r  c                  v    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ed        Zy)AttributionReportingIssueTypePermissionPolicyDisabledUntrustworthyReportingOriginInsecureContextInvalidHeaderInvalidRegisterTriggerHeaderSourceAndTriggerHeadersSourceIgnoredTriggerIgnoredOsSourceIgnoredOsTriggerIgnoredInvalidRegisterOsSourceHeaderInvalidRegisterOsTriggerHeaderWebAndOsHeadersNoWebOrOsSupport4NavigationRegistrationWithoutTransientUserActivationInvalidInfoHeaderNoRegisterSourceHeaderNoRegisterTriggerHeaderNoRegisterOsSourceHeaderNoRegisterOsTriggerHeader+NavigationRegistrationUniqueScopeAlreadySetc                    | j                   S rG   rH   rJ   s    r   r   z%AttributionReportingIssueType.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z'AttributionReportingIssueType.from_json  rM   r   N)r    r!   r"   PERMISSION_POLICY_DISABLEDUNTRUSTWORTHY_REPORTING_ORIGININSECURE_CONTEXTINVALID_HEADERINVALID_REGISTER_TRIGGER_HEADERSOURCE_AND_TRIGGER_HEADERSSOURCE_IGNOREDTRIGGER_IGNOREDOS_SOURCE_IGNOREDOS_TRIGGER_IGNORED!INVALID_REGISTER_OS_SOURCE_HEADER"INVALID_REGISTER_OS_TRIGGER_HEADERWEB_AND_OS_HEADERSNO_WEB_OR_OS_SUPPORT9NAVIGATION_REGISTRATION_WITHOUT_TRANSIENT_USER_ACTIVATIONINVALID_INFO_HEADERNO_REGISTER_SOURCE_HEADERNO_REGISTER_TRIGGER_HEADERNO_REGISTER_OS_SOURCE_HEADERNO_REGISTER_OS_TRIGGER_HEADER0NAVIGATION_REGISTRATION_UNIQUE_SCOPE_ALREADY_SETr   r%   r   r&   r   r   r  r    s    !;%C"($N&D#!:$N&O)+(G%)I&*-@v=- 8!:#= $?!7d4  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ed        Zy)SharedDictionaryError UseErrorCrossOriginNoCorsRequestUseErrorDictionaryLoadFailure!UseErrorMatchingDictionaryNotUsed)UseErrorUnexpectedContentDictionaryHeader!WriteErrorCossOriginNoCorsRequestWriteErrorDisallowedBySettingsWriteErrorExpiredResponseWriteErrorFeatureDisabledWriteErrorInsufficientResourcesWriteErrorInvalidMatchField!WriteErrorInvalidStructuredHeaderWriteErrorNavigationRequestWriteErrorNoMatchFieldWriteErrorNonListMatchDestFieldWriteErrorNonSecureContextWriteErrorNonStringIdField"WriteErrorNonStringInMatchDestListWriteErrorNonStringMatchFieldWriteErrorNonTokenTypeFieldWriteErrorRequestAbortedWriteErrorShuttingDownWriteErrorTooLongIdFieldWriteErrorUnsupportedTypec                    | j                   S rG   rH   rJ   s    r   r   zSharedDictionaryError.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   zSharedDictionaryError.from_json  rM   r   N)r    r!   r"   &USE_ERROR_CROSS_ORIGIN_NO_CORS_REQUEST!USE_ERROR_DICTIONARY_LOAD_FAILURE&USE_ERROR_MATCHING_DICTIONARY_NOT_USED.USE_ERROR_UNEXPECTED_CONTENT_DICTIONARY_HEADER'WRITE_ERROR_COSS_ORIGIN_NO_CORS_REQUEST"WRITE_ERROR_DISALLOWED_BY_SETTINGSWRITE_ERROR_EXPIRED_RESPONSEWRITE_ERROR_FEATURE_DISABLED"WRITE_ERROR_INSUFFICIENT_RESOURCESWRITE_ERROR_INVALID_MATCH_FIELD%WRITE_ERROR_INVALID_STRUCTURED_HEADERWRITE_ERROR_NAVIGATION_REQUESTWRITE_ERROR_NO_MATCH_FIELD%WRITE_ERROR_NON_LIST_MATCH_DEST_FIELDWRITE_ERROR_NON_SECURE_CONTEXTWRITE_ERROR_NON_STRING_ID_FIELD)WRITE_ERROR_NON_STRING_IN_MATCH_DEST_LIST"WRITE_ERROR_NON_STRING_MATCH_FIELD WRITE_ERROR_NON_TOKEN_TYPE_FIELDWRITE_ERROR_REQUEST_ABORTEDWRITE_ERROR_SHUTTING_DOWNWRITE_ERROR_TOO_LONG_ID_FIELDWRITE_ERROR_UNSUPPORTED_TYPEr   r%   r   r&   r   r   r  r    s    -O*(G%-P*5`2.Q+)I&#> #> )J&&C#,O)%B"!9,M)%A"&B#0T-)H&'D$"< 8$>!#>   r   r  c                  v    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ed        Zy)SRIMessageSignatureErrorMissingSignatureHeaderMissingSignatureInputHeaderInvalidSignatureHeaderInvalidSignatureInputHeader%SignatureHeaderValueIsNotByteSequence#SignatureHeaderValueIsParameterized%SignatureHeaderValueIsIncorrectLength SignatureInputHeaderMissingLabel%SignatureInputHeaderValueNotInnerList*SignatureInputHeaderValueMissingComponents(SignatureInputHeaderInvalidComponentType(SignatureInputHeaderInvalidComponentName3SignatureInputHeaderInvalidHeaderComponentParameter4SignatureInputHeaderInvalidDerivedComponentParameterSignatureInputHeaderKeyIdLength$SignatureInputHeaderInvalidParameter-SignatureInputHeaderMissingRequiredParameters ValidationFailedSignatureExpiredValidationFailedInvalidLength!ValidationFailedSignatureMismatch!ValidationFailedIntegrityMismatchc                    | j                   S rG   rH   rJ   s    r   r   z SRIMessageSignatureError.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z"SRIMessageSignatureError.from_json  rM   r   N)r    r!   r"   MISSING_SIGNATURE_HEADERMISSING_SIGNATURE_INPUT_HEADERINVALID_SIGNATURE_HEADERINVALID_SIGNATURE_INPUT_HEADER+SIGNATURE_HEADER_VALUE_IS_NOT_BYTE_SEQUENCE'SIGNATURE_HEADER_VALUE_IS_PARAMETERIZED*SIGNATURE_HEADER_VALUE_IS_INCORRECT_LENGTH$SIGNATURE_INPUT_HEADER_MISSING_LABEL+SIGNATURE_INPUT_HEADER_VALUE_NOT_INNER_LIST/SIGNATURE_INPUT_HEADER_VALUE_MISSING_COMPONENTS-SIGNATURE_INPUT_HEADER_INVALID_COMPONENT_TYPE-SIGNATURE_INPUT_HEADER_INVALID_COMPONENT_NAME9SIGNATURE_INPUT_HEADER_INVALID_HEADER_COMPONENT_PARAMETER:SIGNATURE_INPUT_HEADER_INVALID_DERIVED_COMPONENT_PARAMETER$SIGNATURE_INPUT_HEADER_KEY_ID_LENGTH(SIGNATURE_INPUT_HEADER_INVALID_PARAMETER2SIGNATURE_INPUT_HEADER_MISSING_REQUIRED_PARAMETERS#VALIDATION_FAILED_SIGNATURE_EXPIRED VALIDATION_FAILED_INVALID_LENGTH$VALIDATION_FAILED_SIGNATURE_MISMATCH$VALIDATION_FAILED_INTEGRITY_MISMATCHr   r%   r   r&   r   r   r  r    s    7%B"7%B"2Y/.S+1X.+M(2Y/6b34^14^1@u=Aw>+L(/U,9h6*L''F$+N(+N(  r   r  c                  \    e Zd ZU 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) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/attribution-reporting-api
    r  violation_typeNr   r   r[  r\  r   invalid_parameterc                .   t               }| j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  |d<   |S )NviolationTyper   rd  invalidParameter)r   r'  r   r   r\  r(  r   s     r   r   z(AttributionReportingIssueDetails.to_json  s    v $ 3 3 ; ; =_<<#"ll224DO!!-&*&<&<&D&D&FD"#!!-'+'='=D#$r   c           	          | t         j                  |d         d|v rt        j                  |d         nd d|v r"t        j                  j                  |d         nd d|v rt        |d               S d       S )Nr*  r   rd  r+  )r'  r   r\  r(  )r  r   r(   r   rf  r   r   s     r   r   z*AttributionReportingIssueDetails.from_json$  s    8BB4CXYBKtBSO--d9o>Y]VgkoVoc//99$?P:QRuy?QUY?Yc$'9":;	
 	
 `d	
 	
r   )r    r!   r"   r#   r$   r   r\  r(  r   r%   r   r&   r   r   r&  r&    sK     2104G-4<@9@.2+2	 
 
r   r&  c                  Z    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   d Zed        Zy)QuirksModeIssueDetailszs
    Details for issues about documents in Quirks Mode
    or Limited Quirks Mode that affects page layouting.
    rT  is_limited_quirks_moderw  document_node_idr   r)   r3   r4   znetwork.LoaderId	loader_idc                   t               }| j                  |d<   | j                  j                         |d<   | j                  |d<   | j
                  j                         |d<   | j                  j                         |d<   |S )NisLimitedQuirksModedocumentNodeIdr)   r6   loaderId)r   r/  r0  r   r)   r4   r1  r   s     r   r   zQuirksModeIssueDetails.to_json@  ss    v&*&A&A"#!%!6!6!>!>!@hhU--//1Y>>113Zr   c           
         | t        |d         t        j                  j                  |d         t	        |d         t
        j                  j                  |d         t        j                  j                  |d               S )Nr3  r4  r)   r6   r5  )r/  r0  r)   r4   r1  )	rT  r   rf  r   r   r
   r8   r	   LoaderIdr   s     r   r   z QuirksModeIssueDetails.from_jsonI  sr    #'-B(C#D ..88>N9OPDK \\++DO<&&00j1AB
 	
r   Nr   r&   r   r   r.  r.  .  s?     ! ''	H 
 
r   r.  c                  <    e Zd ZU ded<   dZded<   d Zed        Zy)NavigatorUserAgentIssueDetailsr   r)   NrY  r  c                    t               }| j                  |d<   | j                  | j                  j                         |d<   |S )Nr)   r  )r   r)   r  r   r   s     r   r   z&NavigatorUserAgentIssueDetails.to_jsonZ  s<    vhhU==$#}}446Dr   c                p     | t        |d         d|v rt        j                  |d               S d       S )Nr)   r  )r)   r  )r   rF  r   r   s     r   r   z(NavigatorUserAgentIssueDetails.from_jsona  sD    DK GQUYGY'11$z2BC
 	
_c
 	
r   )r    r!   r"   r$   r  r   r%   r   r&   r   r   r9  r9  T  s+    	H48H18 
 
r   r9  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)SharedDictionaryIssueDetailsr  shared_dictionary_errorr(   r   c                    t               }| j                  j                         |d<   | j                  j                         |d<   |S )NsharedDictionaryErrorr   )r   r>  r   r   r   s     r   r   z$SharedDictionaryIssueDetails.to_jsono  s>    v(,(D(D(L(L(N$%,,..0Yr   c                n     | t         j                  |d         t        j                  |d               S )Nr@  r   )r>  r   )r  r   r(   r   s     r   r   z&SharedDictionaryIssueDetails.from_jsonu  s5    $9$C$CDI`Da$b#--d9o>
 	
r   Nr2  r&   r   r   r=  r=  i  s'    22 
 
r   r=  c                  L    e Zd ZU ded<   ded<   ded<   ded<   d	 Zed
        Zy)SRIMessageSignatureIssueDetailsr  errorr   signature_basetyping.List[str]integrity_assertionsr(   r   c                    t               }| j                  j                         |d<   | j                  |d<   | j                  D cg c]  }| c}|d<   | j
                  j                         |d<   |S c c}w )NrD  signatureBaseintegrityAssertionsr   )r   rD  r   rE  rG  r   r   s      r   r   z'SRIMessageSignatureIssueDetails.to_json  sl    v

**,W $ 3 3_262K2K&LQq&L"#,,..0Y 'Ms   	A3c           
          | t         j                  |d         t        |d         |d   D cg c]  }t        |       c}t        j                  |d               S c c}w )NrD  rI  rJ  r   )rD  rE  rG  r   )r  r   r   r(   r   s      r   r   z)SRIMessageSignatureIssueDetails.from_json  s^    *44T']CtO45267L2M!NQ#a&!N#--d9o>	
 	
 "Os   ANr2  r&   r   r   rC  rC  }  s3    ##** 
 
r   rC  c                  N    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ed        Zy)GenericIssueErrorTypeFormLabelForNameErrorFormDuplicateIdForInputErrorFormInputWithNoLabelError#FormAutocompleteAttributeEmptyError)FormEmptyIdAndNameAttributesForInputError!FormAriaLabelledByToNonExistingId:FormInputAssignedAutocompleteValueToIdOrNameAttributeError$FormLabelHasNeitherForNorNestedInput%FormLabelForMatchesNonExistingIdError6FormInputHasWrongButWellIntendedAutocompleteValueErrorResponseWasBlockedByORBc                    | j                   S rG   rH   rJ   s    r   r   zGenericIssueErrorType.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   zGenericIssueErrorType.from_json  rM   r   N)r    r!   r"   FORM_LABEL_FOR_NAME_ERROR!FORM_DUPLICATE_ID_FOR_INPUT_ERRORFORM_INPUT_WITH_NO_LABEL_ERROR'FORM_AUTOCOMPLETE_ATTRIBUTE_EMPTY_ERROR1FORM_EMPTY_ID_AND_NAME_ATTRIBUTES_FOR_INPUT_ERROR(FORM_ARIA_LABELLED_BY_TO_NON_EXISTING_IDDFORM_INPUT_ASSIGNED_AUTOCOMPLETE_VALUE_TO_ID_OR_NAME_ATTRIBUTE_ERROR+FORM_LABEL_HAS_NEITHER_FOR_NOR_NESTED_INPUT,FORM_LABEL_FOR_MATCHES_NON_EXISTING_ID_ERROR?FORM_INPUT_HAS_WRONG_BUT_WELL_INTENDED_AUTOCOMPLETE_VALUE_ERRORRESPONSE_WAS_BLOCKED_BY_ORBr   r%   r   r&   r   r   rM  rM    sa     7(F%%@".S+8c5/R, LHH2X/3Z0F~C";  r   rM  c                  j    e Zd ZU 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)GenericIssueDetailszL
    Depending on the concrete errorType, different properties are set.
    rM  
error_typeNztyping.Optional[page.FrameId]r4   r[  r\  r   violating_node_attributer   r   c                   t               }| j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  |d<   | j                  | j                  j                         |d<   |S )N	errorTyper6   rd  violatingNodeAttributer   )r   rh  r   r4   r\  ri  r   r   s     r   r   zGenericIssueDetails.to_json  s    v OO335[==$"mm335DO!!-&*&<&<&D&D&FD"#((4-1-J-JD)*<<#"ll224DOr   c           
     F    | t         j                  |d         d|v r"t        j                  j                  |d         nd d|v r"t        j
                  j                  |d         nd d|v rt        |d         nd d|v rt        j                  |d               S d       S )Nrk  r6   rd  rl  r   )rh  r4   r\  ri  r   )rM  r   r
   r8   r   rf  r   r(   r   s     r   r   zGenericIssueDetails.from_json  s    ,66tK7HI@IT@QT\\++DO<W[VgkoVoc//99$?P:QRuyLdhlLlS.F)G%HrvBKtBSO--d9o>
 	

 Z^
 	
r   )r    r!   r"   r#   r$   r4   r\  ri  r   r   r%   r   r&   r   r   rg  rg    sV     &%.2H+2<@9@592904G-4 
 
r   rg  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)DeprecationIssueDetailsz
    This issue tracks information needed to print a deprecation message.
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md
    rF  rZ  r   r   Nr   affected_framec                    t               }| j                  j                         |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )Nrc  r   affectedFrame)r   rZ  r   r   rp  r   s     r   r   zDeprecationIssueDetails.to_json  sZ    v%)%>%>%F%F%H!"zzV*$($7$7$?$?$AD!r   c                     | t         j                  |d         t        |d         d|v rt        j                  |d               S d       S )Nrc  r   rr  )rZ  r   rp  )rF  r   r   r2   r   s     r   r   z!DeprecationIssueDetails.from_json  s[    !3!=!=dCW>X!Yd6l#M\`dMd=2243HI
 	
 ko
 	
r   )	r    r!   r"   r#   r$   rp  r   r%   r   r&   r   r   ro  ro    s:     -, J59N29 
 
r   ro  c                  2    e Zd ZU dZded<   d Zed        Zy)BounceTrackingIssueDetailsa~  
    This issue warns about sites in the redirect chain of a finished navigation
    that may be flagged as trackers and have their state cleared if they don't
    receive a user interaction. Note that in this context 'site' means eTLD+1.
    For example, if the URL ``https://example.test:80/bounce`` was in the
    redirect chain, the site reported would be ``example.test``.
    rF  tracking_sitesc                ^    t               }| j                  D cg c]  }| c}|d<   |S c c}w )NtrackingSites)r   rv  r   s      r   r   z"BounceTrackingIssueDetails.to_json  s/    v,0,?,? @q @_ !As   	*c                R     | |d   D cg c]  }t        |       c}      S c c}w )Nrx  )rv  r   r   s      r   r   z$BounceTrackingIssueDetails.from_json  s)    ,0,ABqCFB
 	
Bs   $Nr   r&   r   r   ru  ru    s(     %$
 
 
r   ru  c                  P    e Zd ZU dZded<   ded<   ded<   ded	<   d
 Zed        Zy)%CookieDeprecationMetadataIssueDetailsaa  
    This issue warns about third-party sites that are accessing cookies on the
    current page, and have been permitted due to having a global metadata grant.
    Note that in this context 'site' means eTLD+1. For example, if the URL
    ``https://example.test:80/web_page`` was accessing cookies, the site reported
    would be ``example.test``.
    rF  allowed_sitesry  opt_out_percentagerT  is_opt_out_top_levelrz   r   c                    t               }| j                  D cg c]  }| c}|d<   | j                  |d<   | j                  |d<   | j                  j                         |d<   |S c c}w )NallowedSitesoptOutPercentageisOptOutTopLevelr   )r   r|  r}  r~  r   r   r   s      r   r   z-CookieDeprecationMetadataIssueDetails.to_json  sg    v+/+=+=>a>^#'#:#: #'#<#<  NN224[	  ?s   	A%c           	          | |d   D cg c]  }t        |       c}t        |d         t        |d         t        j	                  |d               S c c}w )Nr  r  r  r   )r|  r}  r~  r   )r   ry  rT  rz   r   r   s      r   r   z/CookieDeprecationMetadataIssueDetails.from_json$  sX    +/+?@a3q6@$T*<%=>!%d+=&>!?%//[0AB	
 	
@s   ANr   r&   r   r   r{  r{    s:     $# 
 
r   r{  c                  *    e Zd ZdZdZd Zed        Zy)ClientHintIssueReasonMetaTagAllowListInvalidOriginMetaTagModifiedHTMLc                    | j                   S rG   rH   rJ   s    r   r   zClientHintIssueReason.to_json2  rK   r   c                     | |      S rG   r&   r   s     r   r   zClientHintIssueReason.from_json5  rM   r   N)r    r!   r"   "META_TAG_ALLOW_LIST_INVALID_ORIGINMETA_TAG_MODIFIED_HTMLr   r%   r   r&   r   r   r  r  .  s'    )H&2  r   r  c                  .    e Zd ZU ded<   d Zed        Zy) FederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason#federated_auth_request_issue_reasonc                T    t               }| j                  j                         |d<   |S )NfederatedAuthRequestIssueReason)r   r  r   r   s     r   r   z(FederatedAuthRequestIssueDetails.to_json>  s(    v262Z2Z2b2b2d./r   c                @     | t         j                  |d               S )Nr  )r  )r  r   r   s     r   r   z*FederatedAuthRequestIssueDetails.from_jsonC  s/    0O0Y0YZ^  `A  [B  1C
 	
r   Nr2  r&   r   r   r  r  :  s!    )HH
 
 
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#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/Z1d0Z2d1Z3d2 Z4e5d3        Z6y4)5r  z
    Represents the failure reason when a federated authentication reason fails.
    Should be updated alongside RequestIdTokenStatus in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
    all cases except for success.
    ShouldEmbargoTooManyRequestsWellKnownHttpNotFoundWellKnownNoResponseWellKnownInvalidResponseWellKnownListEmptyWellKnownInvalidContentTypeConfigNotInWellKnownWellKnownTooBigConfigHttpNotFoundConfigNoResponseConfigInvalidResponseConfigInvalidContentTypeClientMetadataHttpNotFoundClientMetadataNoResponseClientMetadataInvalidResponse ClientMetadataInvalidContentTypeIdpNotPotentiallyTrustworthyDisabledInSettingsDisabledInFlagsErrorFetchingSigninInvalidSigninResponseAccountsHttpNotFoundAccountsNoResponseAccountsInvalidResponseAccountsListEmptyAccountsInvalidContentTypeIdTokenHttpNotFoundIdTokenNoResponseIdTokenInvalidResponseIdTokenIdpErrorResponse IdTokenCrossSiteIdpErrorResponseIdTokenInvalidRequestIdTokenInvalidContentTypeErrorIdTokenCanceledRpPageNotVisibleSilentMediationFailureThirdPartyCookiesBlockedNotSignedInWithIdpMissingTransientUserActivationReplacedByActiveModeInvalidFieldsSpecifiedRelyingPartyOriginIsOpaqueTypeNotMatchingUiDismissedNoEmbargo	CorsError SuppressedBySegmentationPlatformc                    | j                   S rG   rH   rJ   s    r   r   z'FederatedAuthRequestIssueReason.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z)FederatedAuthRequestIssueReason.from_json  rM   r   N)7r    r!   r"   r#   SHOULD_EMBARGOTOO_MANY_REQUESTSWELL_KNOWN_HTTP_NOT_FOUNDWELL_KNOWN_NO_RESPONSEWELL_KNOWN_INVALID_RESPONSEWELL_KNOWN_LIST_EMPTYWELL_KNOWN_INVALID_CONTENT_TYPECONFIG_NOT_IN_WELL_KNOWNWELL_KNOWN_TOO_BIGCONFIG_HTTP_NOT_FOUNDCONFIG_NO_RESPONSECONFIG_INVALID_RESPONSECONFIG_INVALID_CONTENT_TYPECLIENT_METADATA_HTTP_NOT_FOUNDCLIENT_METADATA_NO_RESPONSE CLIENT_METADATA_INVALID_RESPONSE$CLIENT_METADATA_INVALID_CONTENT_TYPEIDP_NOT_POTENTIALLY_TRUSTWORTHYDISABLED_IN_SETTINGSDISABLED_IN_FLAGSERROR_FETCHING_SIGNININVALID_SIGNIN_RESPONSEACCOUNTS_HTTP_NOT_FOUNDACCOUNTS_NO_RESPONSEACCOUNTS_INVALID_RESPONSEACCOUNTS_LIST_EMPTYACCOUNTS_INVALID_CONTENT_TYPEID_TOKEN_HTTP_NOT_FOUNDID_TOKEN_NO_RESPONSEID_TOKEN_INVALID_RESPONSEID_TOKEN_IDP_ERROR_RESPONSE&ID_TOKEN_CROSS_SITE_IDP_ERROR_RESPONSEID_TOKEN_INVALID_REQUESTID_TOKEN_INVALID_CONTENT_TYPEERROR_ID_TOKENCANCELEDRP_PAGE_NOT_VISIBLESILENT_MEDIATION_FAILURETHIRD_PARTY_COOKIES_BLOCKEDNOT_SIGNED_IN_WITH_IDP!MISSING_TRANSIENT_USER_ACTIVATIONREPLACED_BY_ACTIVE_MODEINVALID_FIELDS_SPECIFIEDRELYING_PARTY_ORIGIN_IS_OPAQUETYPE_NOT_MATCHINGUI_DISMISSED_NO_EMBARGO
CORS_ERROR#SUPPRESSED_BY_SEGMENTATION_PLATFORMr   r%   r   r&   r   r   r  r  J  s>    %N) 72"<0&C#5*0+5"<%A""<'F$+M(&D#/)154/ 9-$@!3. 8";-O*6$?!#NH,7"<1(H%47%A")4J*L'  r   r  c                  .    e Zd ZU ded<   d Zed        Zy)(FederatedAuthUserInfoRequestIssueDetails'FederatedAuthUserInfoRequestIssueReason-federated_auth_user_info_request_issue_reasonc                T    t               }| j                  j                         |d<   |S )N'federatedAuthUserInfoRequestIssueReason)r   r  r   r   s     r   r   z0FederatedAuthUserInfoRequestIssueDetails.to_json  s(    v:>:l:l:t:t:v67r   c                @     | t         j                  |d               S )Nr  )r  )r  r   r   s     r   r   z2FederatedAuthUserInfoRequestIssueDetails.from_json  s/    :a:k:klp  r[  m\  ;]
 	
r   Nr2  r&   r   r   r  r    s!    3ZZ
 
 
r   r  c                  J    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ed        Zy)r  z
    Represents the failure reason when a getUserInfo() call fails.
    Should be updated alongside FederatedAuthUserInfoRequestResult in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom.
    NotSameOrigin	NotIframeNotPotentiallyTrustworthyNoApiPermissionr  NoAccountSharingPermissionInvalidConfigOrWellKnownInvalidAccountsResponse"NoReturningUserFromFetchedAccountsc                    | j                   S rG   rH   rJ   s    r   r   z/FederatedAuthUserInfoRequestIssueReason.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z1FederatedAuthUserInfoRequestIssueReason.from_json  rM   r   N)r    r!   r"   r#   NOT_SAME_ORIGIN
NOT_IFRAMENOT_POTENTIALLY_TRUSTWORTHYNO_API_PERMISSIONr  NO_ACCOUNT_SHARING_PERMISSIONINVALID_CONFIG_OR_WELL_KNOWNINVALID_ACCOUNTS_RESPONSE'NO_RETURNING_USER_FROM_FETCHED_ACCOUNTSr   r%   r   r&   r   r   r  r    sV    
 &OJ"=)1$@!#=  9.R+  r   r  c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	ClientHintIssueDetailsz
    This issue tracks client hints related issues. It's used to deprecate old
    features, encourage the use of new ones, and provide general guidance.
    rF  rZ  r  client_hint_issue_reasonc                    t               }| j                  j                         |d<   | j                  j                         |d<   |S )Nrc  clientHintIssueReason)r   rZ  r   r  r   s     r   r   zClientHintIssueDetails.to_json  sB    v%)%>%>%F%F%H!"(,(E(E(M(M(O$%r   c                n     | t         j                  |d         t        j                  |d               S )Nrc  r  )rZ  r  )rF  r   r  r   s     r   r   z ClientHintIssueDetails.from_json  s7    !3!=!=dCW>X!Y%:%D%DTJaEb%c
 	
r   Nr   r&   r   r   r  r    s.     -,33 
 
r   r  c                  F    e Zd ZU ded<   ded<   dZded<   d Zed        Zy)	FailedRequestInfor   r)   failure_messageNr*   r+   c                    t               }| j                  |d<   | j                  |d<   | j                  | j                  j	                         |d<   |S )Nr)   failureMessager-   )r   r)   r  r+   r   r   s     r   r   zFailedRequestInfo.to_json  sM    vhhU!%!5!5??& $ 7 7 9Dr   c                     | t        |d         t        |d         d|v r't        j                  j                  |d               S d       S )Nr)   r  r-   )r)   r  r+   r/   r   s     r   r   zFailedRequestInfo.from_json  s[    DK %5 67ITX\I\w((2243DE
 	
 cg
 	
r   )r    r!   r"   r$   r+   r   r%   r   r&   r   r   r  r    s5     
H 59J29 
 
r   r  c                  *    e Zd ZdZdZd Zed        Zy)PartitioningBlobURLInfoBlockedCrossPartitionFetchingEnforceNoopenerForNavigationc                    | j                   S rG   rH   rJ   s    r   r   zPartitioningBlobURLInfo.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z!PartitioningBlobURLInfo.from_json  rM   r   N)r    r!   r"    BLOCKED_CROSS_PARTITION_FETCHINGENFORCE_NOOPENER_FOR_NAVIGATIONr   r%   r   r&   r   r   r  r    s'    'F$&D#  r   r  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)PartitioningBlobURLIssueDetailsr   r)   r  partitioning_blob_url_infoc                r    t               }| j                  |d<   | j                  j                         |d<   |S )Nr)   partitioningBlobURLInfo)r   r)   r&  r   r   s     r   r   z'PartitioningBlobURLIssueDetails.to_json  s5    vhhU*.*I*I*Q*Q*S&'r   c                Z     | t        |d         t        j                  |d               S )Nr)   r(  )r)   r&  )r   r  r   r   s     r   r   z)PartitioningBlobURLIssueDetails.from_json  s/    DK '>'H'HNgIh'i
 	
r   Nr2  r&   r   r   r%  r%    s*     
H !87 
 
r   r%  c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	%SelectElementAccessibilityIssueReasonDisallowedSelectChildDisallowedOptGroupChildNonPhrasingContentOptionChildInteractiveContentOptionChildInteractiveContentLegendChildc                    | j                   S rG   rH   rJ   s    r   r   z-SelectElementAccessibilityIssueReason.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   z/SelectElementAccessibilityIssueReason.from_json  rM   r   N)r    r!   r"   DISALLOWED_SELECT_CHILDDISALLOWED_OPT_GROUP_CHILD!NON_PHRASING_CONTENT_OPTION_CHILD INTERACTIVE_CONTENT_OPTION_CHILD INTERACTIVE_CONTENT_LEGEND_CHILDr   r%   r   r&   r   r   r+  r+    s9    5!:(G%'F$'F$  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
)&SelectElementAccessibilityIssueDetailszL
    This issue warns about errors in the select element content model.
    rw  node_idr+  )select_element_accessibility_issue_reasonrT  has_disallowed_attributesc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   |S )NnodeId%selectElementAccessibilityIssueReasonhasDisallowedAttributes)r   r:  r   r;  r<  r   s     r   r   z.SelectElementAccessibilityIssueDetails.to_json!  sO    v--/X8<8f8f8n8n8p45*.*H*H&'r   c                     | t         j                  j                  |d         t        j                  |d         t	        |d               S )Nr>  r?  r@  )r:  r;  r<  )r   rf  r   r+  rT  r   s     r   r   z0SelectElementAccessibilityIssueDetails.from_json(  sU    %%//X?6[6e6efj  lS  gT  7U&*40I+J&K
 	
r   Nr   r&   r   r   r9  r9    s4     /TT## 
 
r   r9  c                  *    e Zd ZdZdZd Zed        Zy)StyleSheetLoadingIssueReasonLateImportRuleRequestFailedc                    | j                   S rG   rH   rJ   s    r   r   z$StyleSheetLoadingIssueReason.to_json5  rK   r   c                     | |      S rG   r&   r   s     r   r   z&StyleSheetLoadingIssueReason.from_json8  rM   r   N)r    r!   r"   LATE_IMPORT_RULEREQUEST_FAILEDr   r%   r   r&   r   r   rC  rC  1  s&    '$N  r   rC  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)StylesheetLoadingIssueDetailszK
    This issue warns when a referenced stylesheet couldn't be loaded.
    rF  rZ  rC   style_sheet_loading_issue_reasonNz"typing.Optional[FailedRequestInfo]failed_request_infoc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   |S )Nrc  styleSheetLoadingIssueReasonfailedRequestInfo)r   rZ  r   rL  rM  r   s     r   r   z%StylesheetLoadingIssueDetails.to_jsonK  sh    v%)%>%>%F%F%H!"/3/T/T/\/\/^+,##/(,(@(@(H(H(JD$%r   c                     | t         j                  |d         t        j                  |d         d|v rt        j                  |d               S d       S )Nrc  rO  rP  )rZ  rL  rM  )rF  r   rC  r  r   s     r   r   z'StylesheetLoadingIssueDetails.from_jsonS  sf    !3!=!=dCW>X!Y-I-S-STXYwTx-yZmquZu 1 ; ;DAT<U V
 	
 |@
 	
r   )	r    r!   r"   r#   r$   rM  r   r%   r   r&   r   r   rK  rK  =  s@     -, 'CB ?C;B 
 
r   rK  c                  2    e Zd ZdZdZdZdZd Zed        Z	y)PropertyRuleIssueReasonInvalidSyntaxInvalidInitialValueInvalidInheritsInvalidNamec                    | j                   S rG   rH   rJ   s    r   r   zPropertyRuleIssueReason.to_jsonb  rK   r   c                     | |      S rG   r&   r   s     r   r   z!PropertyRuleIssueReason.from_jsone  rM   r   N)
r    r!   r"   INVALID_SYNTAXINVALID_INITIAL_VALUEINVALID_INHERITSINVALID_NAMEr   r%   r   r&   r   r   rS  rS  \  s1    $N1( L  r   rS  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)PropertyRuleIssueDetailszp
    This issue warns about errors in property rules that lead to property
    registrations being ignored.
    rF  rZ  rS  property_rule_issue_reasonNr   property_valuec                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  |d<   |S )Nrc  propertyRuleIssueReasonpropertyValue)r   rZ  r   r`  ra  r   s     r   r   z PropertyRuleIssueDetails.to_jsony  s^    v%)%>%>%F%F%H!"*.*I*I*Q*Q*S&'*$($7$7D!r   c                     | t         j                  |d         t        j                  |d         d|v rt        |d               S d       S )Nrc  rc  rd  )rZ  r`  ra  )rF  r   rS  r   r   s     r   r   z"PropertyRuleIssueDetails.from_json  s\    !3!=!=dCW>X!Y'>'H'HNgIh'i9HD9P3tO45
 	
 W[
 	
r   )	r    r!   r"   r#   r$   ra  r   r%   r   r&   r   r   r_  r_  j  s=    
 -, !87 ,0N(/ 
 
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ed        Zy)InspectorIssueCodez
    A unique identifier for the type of issue. Each type may use one of the
    optional fields in InspectorIssueDetails to convey more specific
    information about the kind of issue.
    CookieIssueMixedContentIssueBlockedByResponseIssueHeavyAdIssueContentSecurityPolicyIssueSharedArrayBufferIssueLowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssuePartitioningBlobURLIssueNavigatorUserAgentIssueGenericIssueDeprecationIssueClientHintIssueFederatedAuthRequestIssueBounceTrackingIssueCookieDeprecationMetadataIssueStylesheetLoadingIssue!FederatedAuthUserInfoRequestIssuePropertyRuleIssueSharedDictionaryIssueSelectElementAccessibilityIssueSRIMessageSignatureIssuec                    | j                   S rG   rH   rJ   s    r   r   zInspectorIssueCode.to_json  rK   r   c                     | |      S rG   r&   r   s     r   r   zInspectorIssueCode.from_json  rM   r   N)r    r!   r"   r#   COOKIE_ISSUEMIXED_CONTENT_ISSUEBLOCKED_BY_RESPONSE_ISSUEHEAVY_AD_ISSUECONTENT_SECURITY_POLICY_ISSUESHARED_ARRAY_BUFFER_ISSUELOW_TEXT_CONTRAST_ISSUE
CORS_ISSUEATTRIBUTION_REPORTING_ISSUEQUIRKS_MODE_ISSUEPARTITIONING_BLOB_URL_ISSUENAVIGATOR_USER_AGENT_ISSUEGENERIC_ISSUEDEPRECATION_ISSUECLIENT_HINT_ISSUEFEDERATED_AUTH_REQUEST_ISSUEBOUNCE_TRACKING_ISSUE!COOKIE_DEPRECATION_METADATA_ISSUESTYLESHEET_LOADING_ISSUE&FEDERATED_AUTH_USER_INFO_REQUEST_ISSUEPROPERTY_RULE_ISSUESHARED_DICTIONARY_ISSUE"SELECT_ELEMENT_ACCESSIBILITY_ISSUESRI_MESSAGE_SIGNATURE_ISSUEr   r%   r   r&   r   r   rg  rg    s    
 !L- 8#N$@! 84J"=)"<!:"M*)#> 1(H%7-P*-5)J&"<  r   rg  c                  x   e Zd ZU dZ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
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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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d0<   dZd1ed2<   d3 Zed4        Zy)5InspectorIssueDetailsz
    This struct holds a list of optional fields with additional information
    specific to the kind of issue. When adding a new issue code, please also
    add a new optional field to this type.
    Nz#typing.Optional[CookieIssueDetails]cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]mixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]heavy_ad_issue_detailsz2typing.Optional[ContentSecurityPolicyIssueDetails]%content_security_policy_issue_detailsz.typing.Optional[SharedArrayBufferIssueDetails]!shared_array_buffer_issue_detailsz,typing.Optional[LowTextContrastIssueDetails]low_text_contrast_issue_detailsz!typing.Optional[CorsIssueDetails]cors_issue_detailsz1typing.Optional[AttributionReportingIssueDetails]#attribution_reporting_issue_detailsz'typing.Optional[QuirksModeIssueDetails]quirks_mode_issue_detailsz0typing.Optional[PartitioningBlobURLIssueDetails]#partitioning_blob_url_issue_detailsz/typing.Optional[NavigatorUserAgentIssueDetails]"navigator_user_agent_issue_detailsz$typing.Optional[GenericIssueDetails]generic_issue_detailsz(typing.Optional[DeprecationIssueDetails]deprecation_issue_detailsz'typing.Optional[ClientHintIssueDetails]client_hint_issue_detailsz1typing.Optional[FederatedAuthRequestIssueDetails]$federated_auth_request_issue_detailsz+typing.Optional[BounceTrackingIssueDetails]bounce_tracking_issue_detailsz6typing.Optional[CookieDeprecationMetadataIssueDetails])cookie_deprecation_metadata_issue_detailsz.typing.Optional[StylesheetLoadingIssueDetails] stylesheet_loading_issue_detailsz)typing.Optional[PropertyRuleIssueDetails]property_rule_issue_detailsz9typing.Optional[FederatedAuthUserInfoRequestIssueDetails].federated_auth_user_info_request_issue_detailsz-typing.Optional[SharedDictionaryIssueDetails]shared_dictionary_issue_detailsz7typing.Optional[SelectElementAccessibilityIssueDetails]*select_element_accessibility_issue_detailsz0typing.Optional[SRIMessageSignatureIssueDetails]#sri_message_signature_issue_detailsc                   t               }| j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d	<   | j                  | j                  j                         |d
<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                   | j                   j                         |d<   | j"                  | j"                  j                         |d<   | j$                  | j$                  j                         |d<   | j&                  | j&                  j                         |d<   | j(                  | j(                  j                         |d<   | j*                  | j*                  j                         |d<   | j,                  | j,                  j                         |d<   | j.                  | j.                  j                         |d<   | j0                  | j0                  j                         |d<   | j2                  | j2                  j                         |d<   |S )NcookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailspartitioningBlobURLIssueDetailsnavigatorUserAgentIssueDetailsgenericIssueDetailsdeprecationIssueDetailsclientHintIssueDetails federatedAuthRequestIssueDetailsbounceTrackingIssueDetails%cookieDeprecationMetadataIssueDetailsstylesheetLoadingIssueDetailspropertyRuleIssueDetails(federatedAuthUserInfoRequestIssueDetailssharedDictionaryIssueDetails&selectElementAccessibilityIssueDetailssriMessageSignatureIssueDetails)r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   s     r   r   zInspectorIssueDetails.to_json  s   v$$0)-)B)B)J)J)LD%&++7/3/O/O/W/W/YD+,11=484Z4Z4b4b4dD01&&2*.*E*E*M*M*OD&'55A8<8b8b8j8j8lD4511=484Z4Z4b4b4dD01//;262V2V2^2^2`D./"".'+'>'>'F'F'HD#$33?7;7_7_7g7g7iD34))5-1-K-K-S-S-UD)*33?6:6^6^6f6f6hD2322>595\5\5d5d5fD12%%1*.*D*D*L*L*ND&'))5.2.L.L.T.T.VD*+))5-1-K-K-S-S-UD)*44@7;7`7`7h7h7jD34--9151S1S1[1[1]D-.99E<@<j<j<r<r<tD8900<484Y4Y4a4a4cD01++7/3/O/O/W/W/YD+,>>J?C?r?r?z?z?|D;<//;373W3W3_3_3aD/0::F=A=l=l=t=t=vD9:33?6:6^6^6f6f6hD23r   c           	         | d1i dd|v rt         j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd d	d
|v rt
        j                  |d
         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd |v rt         j                  |d          nd d!d"|v rt"        j                  |d"         nd d#d$|v rt$        j                  |d$         nd d%d&|v rt&        j                  |d&         nd d'd(|v rt(        j                  |d(         nd d)d*|v rt*        j                  |d*         nd d+d,|v rt,        j                  |d,         nd d-d.|v rt.        j                  |d.         nd d/d0|v rt0        j                  |d0         S d S )2Nr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&   )r   r   r   r  r.  rR  rp  rv  r  r&  r.  r%  r9  rg  ro  r  r  ru  r{  rK  r_  r  r=  r9  rC  r   s     r   r   zInspectorIssueDetails.from_json  sf    
]quy]y!3!=!=dCW>X!Y  @D
 qK  OS  qS(@(J(J4PjKk(l  Y]
 A`  dh  Ah.K.U.UVZ[zV{.|  nr
 bwz~a~#6#@#@F[A\#]  EI	

 Mp  tx  Mx2S2]2]^b  dG  _H  3I  ~B
 A`  dh  Ah.K.U.UVZ[zV{.|  nr
 {X  \`  {`,G,Q,QRVWtRu,v  fj
 XjmqWq/99$?Q:RSw{
 Ik  os  Is0P0Z0Z[_  aC  \D  1E  y}
 kC  GK  kK&<&F&FtLdGe&f  QU
 Gh  lp  Gp0O0Y0YZ^  `A  [B  1C  vz
 Dd  hl  Dl/M/W/WX\]}X~/  rv
 avy}`}"5"?"?EZ@["\  DH
 mF  JN  mN&=&G&GMfHg&h  TX
 kC  GK  kK&<&F&FtLdGe&f  QU
  Jl  pt  Jt1Q1[1[\`  bD  ]E  2F  z~!
" wS  W[  w[*D*N*NtTpOq*r  ae#
$ Y@  DH  YH6[6e6efj  lS  gT  7U  NR%
& @_  cg  @g-J-T-TUYZyUz-{  mq'
( qK  OS  qS(@(J(J4PjKk(l  Y])
* dN  RV  dV;c;m;mnr  t^  o_  <`  \`+
, }[  _c  }c,H,R,RSWXvSw,x  im-
. \D  HL  \L7]7g7ghl  nV  iW  8X  RV/
0 Gh  lp  Gp0O0Y0YZ^  `A  [B  1C1
 	
0 vz1
 	
r   ) r    r!   r"   r#   r  r$   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r%   r   r&   r   r   r  r    sE   
 AE=DMQ!JQX\%'U\CG@G`d)+]dX\%'U\TX#%QX<@9@]a')ZaIMFM\`')Y`Z^&(W^BF?FJNGNIMFM^b(*[bQU!#NUhl-/elW[$&T[MQ!JQpt24mtUY#%RYjn.0gn\`')Y`2h 
 
r   r  c                  <     e Zd ZdZddZedd       Z fdZ xZS )IssueIdz
    A unique id for a DevTools inspector issue. Allows other entities (e.g.
    exceptions, CDP message, console messages, etc.) to reference an issue.
    c                    | S rG   r&   rJ   s    r   r   zIssueId.to_json?  s    r   c                     | |      S rG   r&   r   s     r   r   zIssueId.from_jsonB  rM   r   c                >    dj                  t        | 	               S )NzIssueId({}))formatsuper__repr__)r   	__class__s    r   r  zIssueId.__repr__F  s    ##EG$4$677r   )returnr   )r   r   r  r  )	r    r!   r"   r#   r   r%   r   r  __classcell__)r  s   @r   r  r  :  s+      8 8r   r  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)InspectorIssuez8
    An inspector issue reported from the back-end.
    rg  coder  detailsNztyping.Optional[IssueId]issue_idc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   |S )Nr  r  issueId)r   r  r   r  r  r   s     r   r   zInspectorIssue.to_jsonW  sZ    vyy((*V,,..0Y==$"mm335DOr   c                     | t         j                  |d         t        j                  |d         d|v rt        j                  |d               S d       S )Nr  r  r  )r  r  r  )rg  r   r  r  r   s     r   r   zInspectorIssue.from_json_  s]    #--d6l;)33DOD;D;LW&&tI7
 	
 SW
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  J  s;     "" *.H&- 
 
r   r  c              #     K   t               }| j                         |d<   ||d<   |||d<   |||d<   d|d}|}d|v rt        |d         ndt        |d	         t        |d
         fS w)a  
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.

    :param request_id: Identifier of the network request to get content for.
    :param encoding: The encoding to use.
    :param quality: *(Optional)* The quality of the encoding (0-1). (defaults to 1)
    :param size_only: *(Optional)* Whether to only return the size information (defaults to false).
    :returns: A tuple with the following items:

        0. **body** - *(Optional)* The encoded body as a base64 string. Omitted if sizeOnly is true.
        1. **originalSize** - Size before re-encoding.
        2. **encodedSize** - Size after re-encoding.
    r-   encodingNqualitysizeOnlyzAudits.getEncodedResponsemethodparamsbodyoriginalSizeencodedSize)r   r   r   rG  )r+   r  r  	size_onlyr  cmd_dictr   s          r   get_encoded_responser  h  s     ( &F$,,.F;!F:#y&z-H >D#t^DLD !D  s   A)A+c               #     K   ddi} | }yw)z\
    Disables issues domain, prevents further issues from being reported to the client.
    r  zAudits.disableNr&   r  r   s     r   disabler    s     
 	"H >D   
c               #     K   ddi} | }yw)zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    r  zAudits.enableNr&   r  s     r   enabler    s      	/H >Dr  c              #  @   K   t               }| | |d<   d|d}|}yw)z
    Runs the contrast check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :param report_aaa: *(Optional)* Whether to report WCAG AAA level issues. Default is false.
    N	reportAAAzAudits.checkContrastr  )r   )
report_aaar  r  r   s       r   check_contrastr    s5      &F({(H >Ds   c               #  p   K   ddi} | }|d   D cg c]  }t         j                  |       c}S c c}w w)z
    Runs the form issues check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :returns: 
    r  zAudits.checkFormsIssues
formIssues)rg  r   )r  r   r   s      r   check_forms_issuesr    sC      	+H >D6:<6HI))!,IIIs   616zAudits.issueAddedc                  *    e Zd ZU ded<   edd       Zy)
IssueAddedr  issuec                @     | t         j                  |d               S )Nr  )r  )r  r   r   s     r   r   zIssueAdded.from_json  s!     **4=9
 	
r   N)r   r   r  r  )r    r!   r"   r$   r%   r   r&   r   r   r  r    s     
 
r   r  )NN)
r+   znetwork.RequestIdr  r   r  ztyping.Optional[float]r  typing.Optional[bool]r  zXtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]])r  0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]rG   )r  r  r  r   )r  zLtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[GenericIssueDetails]])N
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r(   r2   Enumr:   rZ   rz   r   r   r   r   r   r   r   r  r  r$  r.  r4  rF  rR  rh  rp  rv  r  r  r  r  r&  r.  r9  r=  rC  rM  rg  ro  ru  r{  r  r  r  r  r  r  r  r  r%  r+  r9  rC  rK  rS  r_  rg  r  r   r  r  r  r  r  r  r  r  r&   r   r   <module>r     s_   # * !       
 
 
6 
 
 
0 
 
 
$DII *$)) 0	dii 	$))   
 
 
0 >
 >
 >
B
499 
$tyy $N -
 -
 -
`dii , 
 
 
D	dii 	
DII 
 
 
 
4 " 
 
 
8 *
 *
 *
Z	 	 
 
 
6 $
 $
 $
N ,
 ,
 ,
^DII >DII Btyy > 
 
 
D "
 "
 "
J 
 
 
( 
 
 
& 
 
 
6DII * $
 $
 $
N 
 
 
: 
 
 
, 
 
 
D	DII 	 
 
 
=dii =@ 
 
 
dii 0 
 
 
. 
 
 
4	dii 	 
 
 
*DII  
 
 
4	499 	 
 
 
<dii  
 
 
>$ $N E
 E
 E
P8c 8  
 
 
@ +/+/	$%$$ ($ )	$
 
`$N -1)	7&J  !

 
  "
r   