a
    $ñ»jF
 ã                   @  s¤  d dl mZ d dlZd dlZd dlmZ ddlmZmZ ddl	m
Z
 ddl	mZ ddl	mZ G d	d
„ d
eƒZG dd„ dejƒZeG dd„ dƒƒZeG dd„ dƒƒZG dd„ deƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZeG dd„ dƒƒZeG dd„ dƒƒZeG dd „ d ƒƒZeG d!d"„ d"ƒƒZeG d#d$„ d$ƒƒZG d%d&„ d&ejƒZeG d'd(„ d(ƒƒZeG d)d*„ d*ƒƒZG d+d,„ d,ejƒZ G d-d.„ d.eƒZ!G d/d0„ d0eƒZ"G d1d2„ d2eƒZ#eG d3d4„ d4ƒƒZ$eG d5d6„ d6ƒƒZ%eG d7d8„ d8ƒƒZ&eG d9d:„ d:ƒƒZ'eG d;d<„ d<ƒƒZ(eG d=d>„ d>ƒƒZ)G d?d@„ d@ejƒZ*eG dAdB„ dBƒƒZ+G dCdD„ dDejƒZ,G dEdF„ dFejƒZ-eG dGdH„ dHƒƒZ.eG dIdJ„ dJƒƒZ/eG dKdL„ dLƒƒZ0eG dMdN„ dNƒƒZ1eG dOdP„ dPƒƒZ2eG dQdR„ dRƒƒZ3G dSdT„ dTejƒZ4G dUdV„ dVejƒZ5eG dWdX„ dXƒƒZ6dYdZd[œd\d]„Z7d^d^d_d`œdadb„Z8d^d^d_dcœddde„Z9dèdfdgdhœdidj„Z:dédkdfd_dlœdmdn„Z;dêdfd_dhœdodp„Z<d^dqdrœdsdt„Z=dëd^dud_dvœdwdx„Z>d^d_drœdydz„Z?d^d_d{œd|d}„Z@d^d_drœd~d„ZAd^d_d{œd€d�„ZBd^d_drœd‚dƒ„ZCd^d_d{œd„d…„ZDd^d_drœd†d‡„ZEd^d_d{œdˆd‰„ZFdŠd‹œdŒd�„ZGd^dŽd�œd�d‘„ZHd^d^d’d“œd”d•„ZId–d_d—œd˜d™„ZJd–d_d—œdšd›„ZKd^dœd�œdždŸ„ZLd^d d�œd¡d¢„ZMdìd^d^d^d£d_d¤œd¥d¦„ZNd^d^d_d§œd¨d©„ZOd^d_d�œdªd«„ZPd^d_d�œd¬d­„ZQd–d_d—œd®d¯„ZRd^d–d_d°œd±d²„ZSd(d_d³œd´dµ„ZTd¶d‹œd·d¸„ZUd–d_d¹œdºd»„ZVd–d_d—œd¼d½„ZWd¾d‹œd¿dÀ„ZXdÁd‹œdÂdÃ„ZYedÄƒeG dÅdÆ„ dÆƒƒƒZZedÇƒeG dÈdÉ„ dÉƒƒƒZ[edÊƒeG dËdÌ„ dÌƒƒƒZ\edÍƒeG dÎdÏ„ dÏƒƒƒZ]edÐƒeG dÑdÒ„ dÒƒƒƒZ^edÓƒeG dÔdÕ„ dÕƒƒƒZ_edÖƒeG d×dØ„ dØƒƒƒZ`edÙƒeG dÚdÛ„ dÛƒƒƒZaedÜƒeG dÝdÞ„ dÞƒƒƒZbedßƒeG dàdá„ dáƒƒƒZcedâƒeG dãdä„ däƒƒƒZdedåƒeG dædç„ dçƒƒƒZedS )íé    )ÚannotationsN)Ú	dataclassé   )Úevent_classÚT_JSON_DICT)Úbrowser)Únetwork)Úpagec                      s>   e Zd Zddœdd„Zedd dœdd„ƒZ‡ fdd	„Z‡  ZS )
ÚSerializedStorageKeyÚstr©Úreturnc                 C  s   | S ©N© ©Úselfr   r   ú3E:\soccer\ml_env\Lib\site-packages\mycdp/storage.pyÚto_json   s    zSerializedStorageKey.to_json©Újsonr   c                 C  s   | |ƒS r   r   ©Úclsr   r   r   r   Ú	from_json   s    zSerializedStorageKey.from_jsonc                   s   d  tƒ  ¡ ¡S )NzSerializedStorageKey({})©ÚformatÚsuperÚ__repr__r   ©Ú	__class__r   r   r      s    zSerializedStorageKey.__repr__©Ú__name__Ú
__module__Ú__qualname__r   Úclassmethodr   r   Ú__classcell__r   r   r   r   r
      s   r
   c                   @  sj   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dœdd„Zedd dœdd„ƒZdS )ÚStorageTypezEnum of possible storage types.ZappcacheÚcookiesZfile_systemsZ	indexeddbZlocal_storageZshader_cacheZwebsqlZservice_workersZcache_storageZinterest_groupsZshared_storageZstorage_bucketsÚallÚotherr   r   c                 C  s   | j S r   ©Úvaluer   r   r   r   r   /   s    zStorageType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   2   s    zStorageType.from_jsonN)r    r!   r"   Ú__doc__ZAPPCACHEZCOOKIESZFILE_SYSTEMSZ	INDEXEDDBZLOCAL_STORAGEZSHADER_CACHEZWEBSQLZSERVICE_WORKERSZCACHE_STORAGEZINTEREST_GROUPSZSHARED_STORAGEZSTORAGE_BUCKETSZALL_ÚOTHERr   r#   r   r   r   r   r   r%      s$   r%   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚUsageForTypezUsage for a storage type.r%   Ústorage_typeÚfloatÚusager   r   c                 C  s"   t ƒ }| j ¡ |d< | j|d< |S )NÚstorageTyper0   )Údictr.   r   r0   ©r   r   r   r   r   r   ?   s    
zUsageForType.to_jsonr   c                 C  s"   | t  | d¡¡t| d¡ƒd�S )Nr1   r0   )r.   r0   )r%   r   Úgetr/   r   r   r   r   r   E   s    þzUsageForType.from_jsonN©r    r!   r"   r+   Ú__annotations__r   r#   r   r   r   r   r   r-   7   s   
r-   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚTrustTokenszq
    Pair of issuer origin and number of available (signed, but not used) Trust
    Tokens from that issuer.
    r   Úissuer_originr/   Úcountr   r   c                 C  s   t ƒ }| j|d< | j|d< |S )NÚissuerOriginr9   )r2   r8   r9   r3   r   r   r   r   V   s    

zTrustTokens.to_jsonr   c                 C  s    | t | d¡ƒt| d¡ƒd�S )Nr:   r9   )r8   r9   ©r   r4   r/   r   r   r   r   r   \   s    þzTrustTokens.from_jsonNr5   r   r   r   r   r7   M   s   
r7   c                      sB   e Zd ZdZddœdd„Zedd dœdd„ƒZ‡ fd	d
„Z‡  ZS )ÚInterestGroupAuctionIdz5Protected audience interest group auction identifier.r   r   c                 C  s   | S r   r   r   r   r   r   r   g   s    zInterestGroupAuctionId.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   j   s    z InterestGroupAuctionId.from_jsonc                   s   d  tƒ  ¡ ¡S )NzInterestGroupAuctionId({})r   r   r   r   r   r   n   s    zInterestGroupAuctionId.__repr__)	r    r!   r"   r+   r   r#   r   r   r$   r   r   r   r   r<   d   s
   r<   c                   @  s^   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dœdd„Zedd dœdd„ƒZdS )ÚInterestGroupAccessTypez$Enum of interest group access types.ÚjoinZleaveÚupdateZloadedÚbidÚwinZadditionalBidZadditionalBidWinZtopLevelBidZtopLevelAdditionalBidÚclearr   r   c                 C  s   | j S r   r)   r   r   r   r   r   €   s    zInterestGroupAccessType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ƒ   s    z!InterestGroupAccessType.from_jsonN)r    r!   r"   r+   ZJOINZLEAVEZUPDATEZLOADEDZBIDZWINZADDITIONAL_BIDZADDITIONAL_BID_WINZTOP_LEVEL_BIDZTOP_LEVEL_ADDITIONAL_BIDÚCLEARr   r#   r   r   r   r   r   r=   r   s   r=   c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )ÚInterestGroupAuctionEventTypezEnum of auction events.ÚstartedZconfigResolvedr   r   c                 C  s   | j S r   r)   r   r   r   r   r   �   s    z%InterestGroupAuctionEventType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   �   s    z'InterestGroupAuctionEventType.from_jsonN)	r    r!   r"   r+   ZSTARTEDZCONFIG_RESOLVEDr   r#   r   r   r   r   r   rD   ˆ   s   rD   c                   @  sF   e Zd ZdZdZdZdZdZdZddœd	d
„Z	e
dd dœdd„ƒZdS )ÚInterestGroupAuctionFetchTypez(Enum of network fetches auctions can do.ZbidderJsZ
bidderWasmZsellerJsZbidderTrustedSignalsZsellerTrustedSignalsr   r   c                 C  s   | j S r   r)   r   r   r   r   r   �   s    z%InterestGroupAuctionFetchType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r       s    z'InterestGroupAuctionFetchType.from_jsonN)r    r!   r"   r+   Z	BIDDER_JSZBIDDER_WASMZ	SELLER_JSZBIDDER_TRUSTED_SIGNALSZSELLER_TRUSTED_SIGNALSr   r#   r   r   r   r   r   rF   •   s   rF   c                   @  s†   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dœdd„Zedd dœdd„ƒZdS )ÚSharedStorageAccessTypez$Enum of shared storage access types.ZdocumentAddModuleZdocumentSelectURLZdocumentRunZdocumentSetZdocumentAppendZdocumentDeleteZdocumentClearZdocumentGetZ
workletSetZworkletAppendZworkletDeleteZworkletClearZ
workletGetZworkletKeysZworkletEntriesZworkletLengthZworkletRemainingBudgetZ	headerSetZheaderAppendZheaderDeleteZheaderClearr   r   c                 C  s   | j S r   r)   r   r   r   r   r   ½   s    zSharedStorageAccessType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   À   s    z!SharedStorageAccessType.from_jsonN)r    r!   r"   r+   ZDOCUMENT_ADD_MODULEZDOCUMENT_SELECT_URLZDOCUMENT_RUNZDOCUMENT_SETZDOCUMENT_APPENDZDOCUMENT_DELETEZDOCUMENT_CLEARZDOCUMENT_GETZWORKLET_SETZWORKLET_APPENDZWORKLET_DELETEZWORKLET_CLEARZWORKLET_GETZWORKLET_KEYSZWORKLET_ENTRIESZWORKLET_LENGTHZWORKLET_REMAINING_BUDGETZ
HEADER_SETZHEADER_APPENDZHEADER_DELETEZHEADER_CLEARr   r#   r   r   r   r   r   rG   ¥   s2   rG   c                   @  sD   e Zd ZU dZded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚSharedStorageEntryzAStruct for a single key-value pair in an origin's shared storage.r   Úkeyr*   r   r   c                 C  s   t ƒ }| j|d< | j|d< |S ©NrI   r*   ©r2   rI   r*   r3   r   r   r   r   Ë   s    

zSharedStorageEntry.to_jsonr   c                 C  s    | t | d¡ƒt | d¡ƒd�S ©NrI   r*   )rI   r*   ©r   r4   r   r   r   r   r   Ñ   s    þzSharedStorageEntry.from_jsonNr5   r   r   r   r   rH   Å   s   
rH   c                   @  sT   e Zd ZU dZded< ded< ded< ded< d	d
œdd„Zed	d dœdd„ƒZdS )ÚSharedStorageMetadataz'Details for an origin's shared storage.únetwork.TimeSinceEpochÚcreation_timeÚintÚlengthr/   Úremaining_budgetÚ
bytes_usedr   r   c                 C  s6   t ƒ }| j ¡ |d< | j|d< | j|d< | j|d< |S )NÚcreationTimerR   ÚremainingBudgetÚ	bytesUsed)r2   rP   r   rR   rS   rT   r3   r   r   r   r   æ   s    


zSharedStorageMetadata.to_jsonr   c                 C  s:   | t j |d ¡t| d¡ƒt| d¡ƒt| d¡ƒd�S )NrU   rR   rV   rW   )rP   rR   rS   rT   )r   ÚTimeSinceEpochr   rQ   r4   r/   r   r   r   r   r   î   s    ÿúzSharedStorageMetadata.from_jsonNr5   r   r   r   r   rN   Ù   s   
rN   c                   @  sD   e Zd ZU dZded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚSharedStorageReportingMetadatazU
    Pair of reporting metadata details for a candidate URL for ``selectURL()``.
    r   Ú
event_typeÚreporting_urlr   r   c                 C  s   t ƒ }| j|d< | j|d< |S )NÚ	eventTypeÚreportingUrl)r2   rZ   r[   r3   r   r   r   r     s    

z&SharedStorageReportingMetadata.to_jsonr   c                 C  s    | t | d¡ƒt | d¡ƒd�S )Nr\   r]   )rZ   r[   rM   r   r   r   r   r     s    þz(SharedStorageReportingMetadata.from_jsonNr5   r   r   r   r   rY   ú   s   
rY   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚSharedStorageUrlWithMetadataz4Bundles a candidate URL with its reporting metadata.r   Úurlz+typing.List[SharedStorageReportingMetadata]Úreporting_metadatar   r   c                 C  s(   t ƒ }| j|d< dd„ | jD ƒ|d< |S )Nr_   c                 S  s   g | ]}|  ¡ ‘qS r   ©r   ©Ú.0Úir   r   r   Ú
<listcomp>  s   z8SharedStorageUrlWithMetadata.to_json.<locals>.<listcomp>ÚreportingMetadata)r2   r_   r`   r3   r   r   r   r     s    
ÿ
z$SharedStorageUrlWithMetadata.to_jsonr   c                 C  s$   | t | d¡ƒdd„ |d D ƒd�S )Nr_   c                 S  s   g | ]}t  |¡‘qS r   )rY   r   rb   r   r   r   re   $  s   ÿz:SharedStorageUrlWithMetadata.from_json.<locals>.<listcomp>rf   )r_   r`   rM   r   r   r   r   r      s    þþz&SharedStorageUrlWithMetadata.from_jsonNr5   r   r   r   r   r^     s   
r^   c                   @  sˆ   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dœdd„Zedd dœdd„ƒZdS )ÚSharedStorageAccessParamsz‹
    Bundles the parameters for shared storage access events whose
    presence/absence can vary according to SharedStorageAccessType.
    Nútyping.Optional[str]Úscript_source_urlÚoperation_nameÚserialized_dataz:typing.Optional[typing.List[SharedStorageUrlWithMetadata]]Úurls_with_metadatarI   r*   útyping.Optional[bool]Úignore_if_presentr   r   c                 C  s    t ƒ }| jd ur| j|d< | jd ur.| j|d< | jd urB| j|d< | jd ur`dd„ | jD ƒ|d< | jd urt| j|d< | jd urˆ| j|d< | jd urœ| j|d	< |S )
NÚscriptSourceUrlÚoperationNameÚserializedDatac                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   d  s   z5SharedStorageAccessParams.to_json.<locals>.<listcomp>ÚurlsWithMetadatarI   r*   ÚignoreIfPresent)r2   ri   rj   rk   rl   rI   r*   rn   r3   r   r   r   r   [  s$    






ÿ






z!SharedStorageAccessParams.to_jsonr   c                 C  sì   | |  dd ¡d ur t|  d¡ƒnd |  dd ¡d ur@t|  d¡ƒnd |  dd ¡d ur`t|  d¡ƒnd |  dd ¡d ur„dd„ |d D ƒnd |  dd ¡d ur¤t|  d¡ƒnd |  dd ¡d urÄt|  d¡ƒnd |  d	d ¡d urät|  d	¡ƒnd d
�S )Nro   rp   rq   rr   c                 S  s   g | ]}t  |¡‘qS r   )r^   r   rb   r   r   r   re   ‚  s   ÿz7SharedStorageAccessParams.from_json.<locals>.<listcomp>rI   r*   rs   )ri   rj   rk   rl   rI   r*   rn   )r4   r   Úboolr   r   r   r   r   o  s2    ÿÿÿüþÿÿÿÛz#SharedStorageAccessParams.from_json)r    r!   r"   r+   ri   r6   rj   rk   rl   rI   r*   rn   r   r#   r   r   r   r   r   rg   +  s   
þ
rg   c                   @  s6   e Zd ZdZdZddœdd„Zedd dœdd	„ƒZd
S )ÚStorageBucketsDurabilityÚrelaxedÚstrictr   r   c                 C  s   | j S r   r)   r   r   r   r   r   Ÿ  s    z StorageBucketsDurability.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ¢  s    z"StorageBucketsDurability.from_jsonN)r    r!   r"   ZRELAXEDZSTRICTr   r#   r   r   r   r   r   ru   ›  s
   ru   c                   @  sD   e Zd ZU ded< dZded< ddœdd	„Zedd d
œdd„ƒZdS )ÚStorageBucketr
   Ústorage_keyNrh   Únamer   r   c                 C  s,   t ƒ }| j ¡ |d< | jd ur(| j|d< |S )NÚ
storageKeyrz   )r2   ry   r   rz   r3   r   r   r   r   ­  s
    

zStorageBucket.to_jsonr   c                 C  s6   | t  | d¡¡| dd ¡d ur.t| d¡ƒnd d�S )Nr{   rz   )ry   rz   )r
   r   r4   r   r   r   r   r   r   ´  s    ÿûzStorageBucket.from_json)r    r!   r"   r6   rz   r   r#   r   r   r   r   r   rx   §  s
   
rx   c                   @  s`   e Zd ZU ded< ded< ded< ded< d	ed
< ded< ddœdd„Zedd dœdd„ƒZdS )ÚStorageBucketInforx   Úbucketr   Úid_rO   Ú
expirationr/   Úquotart   Ú
persistentru   Ú
durabilityr   r   c                 C  sR   t ƒ }| j ¡ |d< | j|d< | j ¡ |d< | j|d< | j|d< | j ¡ |d< |S )Nr}   Úidr   r€   r�   r‚   )r2   r}   r   r~   r   r€   r�   r‚   r3   r   r   r   r   Ê  s    


zStorageBucketInfo.to_jsonr   c                 C  sX   | t  | d¡¡t| d¡ƒtj | d¡¡t| d¡ƒt| d¡ƒt | d¡¡d�S )Nr}   rƒ   r   r€   r�   r‚   )r}   r~   r   r€   r�   r‚   )	rx   r   r4   r   r   rX   r/   rt   ru   r   r   r   r   r   Ô  s    ÿÿøzStorageBucketInfo.from_jsonN©r    r!   r"   r6   r   r#   r   r   r   r   r   r|   À  s   

r|   c                   @  s6   e Zd ZdZdZddœdd„Zedd dœdd	„ƒZd
S )ÚAttributionReportingSourceTypeZ
navigationÚeventr   r   c                 C  s   | j S r   r)   r   r   r   r   r   è  s    z&AttributionReportingSourceType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ë  s    z(AttributionReportingSourceType.from_jsonN)r    r!   r"   Z
NAVIGATIONZEVENTr   r#   r   r   r   r   r   r…   ä  s
   r…   c                      s>   e Zd Zddœdd„Zedd dœdd„ƒZ‡ fdd	„Z‡  ZS )
ÚUnsignedInt64AsBase10r   r   c                 C  s   | S r   r   r   r   r   r   r   ñ  s    zUnsignedInt64AsBase10.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ô  s    zUnsignedInt64AsBase10.from_jsonc                   s   d  tƒ  ¡ ¡S )NzUnsignedInt64AsBase10({})r   r   r   r   r   r   ø  s    zUnsignedInt64AsBase10.__repr__r   r   r   r   r   r‡   ð  s   r‡   c                      s>   e Zd Zddœdd„Zedd dœdd„ƒZ‡ fdd	„Z‡  ZS )
ÚUnsignedInt128AsBase16r   r   c                 C  s   | S r   r   r   r   r   r   r   ý  s    zUnsignedInt128AsBase16.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r      s    z UnsignedInt128AsBase16.from_jsonc                   s   d  tƒ  ¡ ¡S )NzUnsignedInt128AsBase16({})r   r   r   r   r   r     s    zUnsignedInt128AsBase16.__repr__r   r   r   r   r   rˆ   ü  s   rˆ   c                      s>   e Zd Zddœdd„Zedd dœdd„ƒZ‡ fdd	„Z‡  ZS )
ÚSignedInt64AsBase10r   r   c                 C  s   | S r   r   r   r   r   r   r   	  s    zSignedInt64AsBase10.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r     s    zSignedInt64AsBase10.from_jsonc                   s   d  tƒ  ¡ ¡S )NzSignedInt64AsBase10({})r   r   r   r   r   r     s    zSignedInt64AsBase10.__repr__r   r   r   r   r   r‰     s   r‰   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )Ú#AttributionReportingFilterDataEntryr   rI   útyping.List[str]Úvaluesr   r   c                 C  s(   t ƒ }| j|d< dd„ | jD ƒ|d< |S )NrI   c                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re     ó    z?AttributionReportingFilterDataEntry.to_json.<locals>.<listcomp>rŒ   )r2   rI   rŒ   r3   r   r   r   r     s    
z+AttributionReportingFilterDataEntry.to_jsonr   c                 C  s$   | t | d¡ƒdd„ |d D ƒd�S )NrI   c                 S  s   g | ]}t |ƒ‘qS r   ©r   rb   r   r   r   re   %  r�   zAAttributionReportingFilterDataEntry.from_json.<locals>.<listcomp>rŒ   )rI   rŒ   rM   r   r   r   r   r     s    þz-AttributionReportingFilterDataEntry.from_jsonNr„   r   r   r   r   rŠ     s
   
rŠ   c                   @  sD   e Zd ZU ded< dZded< ddœdd	„Zedd d
œdd„ƒZdS )Ú AttributionReportingFilterConfigú0typing.List[AttributionReportingFilterDataEntry]Úfilter_valuesNztyping.Optional[int]Úlookback_windowr   r   c                 C  s2   t ƒ }dd„ | jD ƒ|d< | jd ur.| j|d< |S )Nc                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   1  r�   z<AttributionReportingFilterConfig.to_json.<locals>.<listcomp>ÚfilterValuesÚlookbackWindow)r2   r‘   r’   r3   r   r   r   r   /  s
    

z(AttributionReportingFilterConfig.to_jsonr   c                 C  s8   | dd„ |d D ƒ|  dd ¡d ur0t|  d¡ƒnd d�S )Nc                 S  s   g | ]}t  |¡‘qS r   ©rŠ   r   rb   r   r   r   re   9  s   ÿz>AttributionReportingFilterConfig.from_json.<locals>.<listcomp>r“   r”   )r‘   r’   )r4   rQ   r   r   r   r   r   6  s    þÿøz*AttributionReportingFilterConfig.from_json)r    r!   r"   r6   r’   r   r#   r   r   r   r   r   r�   )  s
   
r�   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd dœd	d
„ƒZdS )ÚAttributionReportingFilterPairz-typing.List[AttributionReportingFilterConfig]ÚfiltersÚnot_filtersr   r   c                 C  s2   t ƒ }dd„ | jD ƒ|d< dd„ | jD ƒ|d< |S )Nc                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   L  r�   z:AttributionReportingFilterPair.to_json.<locals>.<listcomp>r—   c                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   M  r�   Ú
notFilters)r2   r—   r˜   r3   r   r   r   r   J  s    z&AttributionReportingFilterPair.to_jsonr   c                 C  s(   | dd„ |d D ƒdd„ |d D ƒd�S )Nc                 S  s   g | ]}t  |¡‘qS r   ©r�   r   rb   r   r   r   re   S  s   ÿz<AttributionReportingFilterPair.from_json.<locals>.<listcomp>r—   c                 S  s   g | ]}t  |¡‘qS r   rš   rb   r   r   r   re   W  s   ÿr™   )r—   r˜   r   r   r   r   r   r   P  s    þþûz(AttributionReportingFilterPair.from_jsonNr„   r   r   r   r   r–   E  s
   
r–   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )Ú(AttributionReportingAggregationKeysEntryr   rI   rˆ   r*   r   r   c                 C  s"   t ƒ }| j|d< | j ¡ |d< |S rJ   )r2   rI   r*   r   r3   r   r   r   r   c  s    
z0AttributionReportingAggregationKeysEntry.to_jsonr   c                 C  s"   | t | d¡ƒt | d¡¡d�S rL   )r   r4   rˆ   r   r   r   r   r   r   i  s    þz2AttributionReportingAggregationKeysEntry.from_jsonNr„   r   r   r   r   r›   ^  s
   
r›   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )Ú&AttributionReportingEventReportWindowsrQ   Ústartztyping.List[int]Úendsr   r   c                 C  s(   t ƒ }| j|d< dd„ | jD ƒ|d< |S )Nr�   c                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   }  r�   zBAttributionReportingEventReportWindows.to_json.<locals>.<listcomp>rž   )r2   r�   rž   r3   r   r   r   r   z  s    
z.AttributionReportingEventReportWindows.to_jsonr   c                 C  s$   | t | d¡ƒdd„ |d D ƒd�S )Nr�   c                 S  s   g | ]}t |ƒ‘qS r   )rQ   rb   r   r   r   re   †  r�   zDAttributionReportingEventReportWindows.from_json.<locals>.<listcomp>rž   )r�   rž   ©rQ   r4   r   r   r   r   r   €  s    þz0AttributionReportingEventReportWindows.from_jsonNr„   r   r   r   r   rœ   s  s
   
rœ   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚAttributionReportingTriggerSpecztyping.List[float]Útrigger_datarœ   Úevent_report_windowsr   r   c                 C  s,   t ƒ }dd„ | jD ƒ|d< | j ¡ |d< |S )Nc                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   “  r�   z;AttributionReportingTriggerSpec.to_json.<locals>.<listcomp>ÚtriggerDataÚeventReportWindows)r2   r¡   r¢   r   r3   r   r   r   r   ‘  s    z'AttributionReportingTriggerSpec.to_jsonr   c                 C  s$   | dd„ |d D ƒt  |d ¡d�S )Nc                 S  s   g | ]}t |ƒ‘qS r   )r/   rb   r   r   r   re   š  r�   z=AttributionReportingTriggerSpec.from_json.<locals>.<listcomp>r£   r¤   )r¡   r¢   )rœ   r   r   r   r   r   r   —  s    ÿþz)AttributionReportingTriggerSpec.from_jsonNr„   r   r   r   r   r    Š  s
   
r    c                   @  s6   e Zd ZdZdZddœdd„Zedd dœdd	„ƒZd
S )Ú'AttributionReportingTriggerDataMatchingÚexactÚmodulusr   r   c                 C  s   | j S r   r)   r   r   r   r   r   ¥  s    z/AttributionReportingTriggerDataMatching.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ¨  s    z1AttributionReportingTriggerDataMatching.from_jsonN)r    r!   r"   ZEXACTZMODULUSr   r#   r   r   r   r   r   r¥   ¡  s
   r¥   c                   @  s¤   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ed< ded< ded< ded< ded< ded< dZded< ddœdd„Zedd d œd!d"„ƒZdS )#Ú&AttributionReportingSourceRegistrationrO   ÚtimerQ   Úexpiryz,typing.List[AttributionReportingTriggerSpec]Útrigger_specsÚaggregatable_report_windowr…   Útype_r   Úsource_originÚreporting_originr‹   Údestination_sitesr‡   Úevent_idr‰   Úpriorityr�   Úfilter_dataz5typing.List[AttributionReportingAggregationKeysEntry]Úaggregation_keysr¥   Útrigger_data_matchingNú&typing.Optional[UnsignedInt64AsBase10]Ú	debug_keyr   r   c                 C  sà   t ƒ }| j ¡ |d< | j|d< dd„ | jD ƒ|d< | j|d< | j ¡ |d< | j|d< | j|d	< d
d„ | j	D ƒ|d< | j
 ¡ |d< | j ¡ |d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< | j ¡ |d< | jd urÜ| j ¡ |d< |S )Nr©   rª   c                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Ä  r�   zBAttributionReportingSourceRegistration.to_json.<locals>.<listcomp>ÚtriggerSpecsÚaggregatableReportWindowÚtypeÚsourceOriginÚreportingOriginc                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   É  r�   ÚdestinationSitesÚeventIdr²   c                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Ì  r�   Ú
filterDatac                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Í  r�   ÚaggregationKeysÚtriggerDataMatchingÚdebugKey)r2   r©   r   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r·   r3   r   r   r   r   À  s"    




z.AttributionReportingSourceRegistration.to_jsonr   c                 C  sà   | t j | d¡¡t| d¡ƒdd„ |d D ƒt| d¡ƒt | d¡¡t| d¡ƒt| d	¡ƒd
d„ |d D ƒt | d¡¡t | d¡¡dd„ |d D ƒdd„ |d D ƒt	 |d ¡| dd ¡d urØt | d¡¡nd d�S )Nr©   rª   c                 S  s   g | ]}t  |¡‘qS r   )r    r   rb   r   r   r   re   Ú  s   ÿzDAttributionReportingSourceRegistration.from_json.<locals>.<listcomp>r¸   r¹   rº   r»   r¼   c                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   ä  r�   r½   r¾   r²   c                 S  s   g | ]}t  |¡‘qS r   r•   rb   r   r   r   re   ç  s   ÿr¿   c                 S  s   g | ]}t  |¡‘qS r   )r›   r   rb   r   r   r   re   ë  s   ÿrÀ   rÁ   rÂ   )r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r·   )
r   rX   r   r4   rQ   r…   r   r‡   r‰   r¥   r   r   r   r   r   Ó  s8    þÿþþÿÿâz0AttributionReportingSourceRegistration.from_json)r    r!   r"   r6   r·   r   r#   r   r   r   r   r   r¨   ­  s"   
r¨   c                   @  sf   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dœdd„Zedd dœdd„ƒZdS )Ú,AttributionReportingSourceRegistrationResultÚsuccessÚinternalErrorZinsufficientSourceCapacityZ%insufficientUniqueDestinationCapacityÚexcessiveReportingOriginsÚprohibitedByBrowserPolicyZsuccessNoisedZ destinationReportingLimitReachedZdestinationGlobalLimitReachedZdestinationBothLimitsReachedZ#reportingOriginsPerSiteLimitReachedZexceedsMaxChannelCapacityZ!exceedsMaxTriggerStateCardinalityZ&destinationPerDayReportingLimitReachedr   r   c                 C  s   | j S r   r)   r   r   r   r   r     s    z4AttributionReportingSourceRegistrationResult.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r     s    z6AttributionReportingSourceRegistrationResult.from_jsonN)r    r!   r"   ÚSUCCESSÚINTERNAL_ERRORZINSUFFICIENT_SOURCE_CAPACITYZ(INSUFFICIENT_UNIQUE_DESTINATION_CAPACITYÚEXCESSIVE_REPORTING_ORIGINSÚPROHIBITED_BY_BROWSER_POLICYZSUCCESS_NOISEDZ#DESTINATION_REPORTING_LIMIT_REACHEDZ DESTINATION_GLOBAL_LIMIT_REACHEDZDESTINATION_BOTH_LIMITS_REACHEDZ(REPORTING_ORIGINS_PER_SITE_LIMIT_REACHEDZEXCEEDS_MAX_CHANNEL_CAPACITYZ%EXCEEDS_MAX_TRIGGER_STATE_CARDINALITYZ+DESTINATION_PER_DAY_REPORTING_LIMIT_REACHEDr   r#   r   r   r   r   r   rÃ   ú  s(   ÿÿÿrÃ   c                   @  s6   e Zd ZdZdZddœdd„Zedd dœdd	„ƒZd
S )Ú0AttributionReportingSourceRegistrationTimeConfigÚincludeÚexcluder   r   c                 C  s   | j S r   r)   r   r   r   r   r     s    z8AttributionReportingSourceRegistrationTimeConfig.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   !  s    z:AttributionReportingSourceRegistrationTimeConfig.from_jsonN)r    r!   r"   ZINCLUDEZEXCLUDEr   r#   r   r   r   r   r   rÌ     s
   rÌ   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )Ú.AttributionReportingAggregatableValueDictEntryr   rI   r/   r*   r   r   c                 C  s   t ƒ }| j|d< | j|d< |S rJ   rK   r3   r   r   r   r   .  s    

z6AttributionReportingAggregatableValueDictEntry.to_jsonr   c                 C  s    | t | d¡ƒt| d¡ƒd�S rL   r;   r   r   r   r   r   4  s    þz8AttributionReportingAggregatableValueDictEntry.from_jsonNr„   r   r   r   r   rÏ   (  s
   
rÏ   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )Ú*AttributionReportingAggregatableValueEntryz;typing.List[AttributionReportingAggregatableValueDictEntry]rŒ   r–   r—   r   r   c                 C  s,   t ƒ }dd„ | jD ƒ|d< | j ¡ |d< |S )Nc                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   E  r�   zFAttributionReportingAggregatableValueEntry.to_json.<locals>.<listcomp>rŒ   r—   )r2   rŒ   r—   r   r3   r   r   r   r   C  s    z2AttributionReportingAggregatableValueEntry.to_jsonr   c                 C  s&   | dd„ |d D ƒt  | d¡¡d�S )Nc                 S  s   g | ]}t  |¡‘qS r   )rÏ   r   rb   r   r   r   re   N  s   ÿzHAttributionReportingAggregatableValueEntry.from_json.<locals>.<listcomp>rŒ   r—   )rŒ   r—   )r–   r   r4   r   r   r   r   r   I  s    þÿûz4AttributionReportingAggregatableValueEntry.from_jsonNr„   r   r   r   r   rÐ   >  s
   
rÐ   c                   @  sT   e Zd ZU ded< ded< ded< dZded	< d
dœdd„Zed
d dœdd„ƒZdS )Ú$AttributionReportingEventTriggerDatar‡   Údatar‰   r²   r–   r—   Nr¶   Ú	dedup_keyr   r   c                 C  sL   t ƒ }| j ¡ |d< | j ¡ |d< | j ¡ |d< | jd urH| j ¡ |d< |S )NrÒ   r²   r—   ÚdedupKey)r2   rÒ   r   r²   r—   rÓ   r3   r   r   r   r   _  s    
z,AttributionReportingEventTriggerData.to_jsonr   c              	   C  sT   | t  | d¡¡t | d¡¡t | d¡¡| dd ¡d urLt  | d¡¡nd d�S )NrÒ   r²   r—   rÔ   )rÒ   r²   r—   rÓ   )r‡   r   r4   r‰   r–   r   r   r   r   r   h  s    ÿÿ÷z.AttributionReportingEventTriggerData.from_json©r    r!   r"   r6   rÓ   r   r#   r   r   r   r   r   rÑ   X  s   
	rÑ   c                   @  sH   e Zd ZU ded< ded< ded< ddœd	d
„Zedd dœdd„ƒZdS )Ú+AttributionReportingAggregatableTriggerDatarˆ   Ú	key_piecer‹   Úsource_keysr–   r—   r   r   c                 C  s:   t ƒ }| j ¡ |d< dd„ | jD ƒ|d< | j ¡ |d< |S )NÚkeyPiecec                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   ƒ  r�   zGAttributionReportingAggregatableTriggerData.to_json.<locals>.<listcomp>Ú
sourceKeysr—   )r2   r×   r   rØ   r—   r3   r   r   r   r   €  s
    z3AttributionReportingAggregatableTriggerData.to_jsonr   c                 C  s4   | t  | d¡¡dd„ |d D ƒt | d¡¡d�S )NrÙ   c                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   �  r�   zIAttributionReportingAggregatableTriggerData.from_json.<locals>.<listcomp>rÚ   r—   )r×   rØ   r—   )rˆ   r   r4   r–   r   r   r   r   r   ‡  s    ÿýz5AttributionReportingAggregatableTriggerData.from_jsonNr„   r   r   r   r   rÖ   z  s   
rÖ   c                   @  sD   e Zd ZU ded< dZded< ddœdd	„Zedd d
œdd„ƒZdS )Ú(AttributionReportingAggregatableDedupKeyr–   r—   Nr¶   rÓ   r   r   c                 C  s0   t ƒ }| j ¡ |d< | jd ur,| j ¡ |d< |S )Nr—   rÔ   )r2   r—   r   rÓ   r3   r   r   r   r   ™  s
    
z0AttributionReportingAggregatableDedupKey.to_jsonr   c                 C  s8   | t  | d¡¡| dd ¡d ur0t | d¡¡nd d�S )Nr—   rÔ   )r—   rÓ   )r–   r   r4   r‡   r   r   r   r   r      s    ÿÿùz2AttributionReportingAggregatableDedupKey.from_jsonrÕ   r   r   r   r   rÛ   ”  s
   
rÛ   c                   @  sŒ   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ded< dZded< dZded< ddœdd„Zedd dœdd„ƒZ	dS )Ú'AttributionReportingTriggerRegistrationr–   r—   z5typing.List[AttributionReportingAggregatableDedupKey]Úaggregatable_dedup_keysz1typing.List[AttributionReportingEventTriggerData]Úevent_trigger_dataz8typing.List[AttributionReportingAggregatableTriggerData]Úaggregatable_trigger_dataz7typing.List[AttributionReportingAggregatableValueEntry]Úaggregatable_valuesrt   Údebug_reportingrÌ   Úsource_registration_time_configNr¶   r·   rh   Úaggregation_coordinator_originÚtrigger_context_idr   r   c                 C  sÀ   t ƒ }| j ¡ |d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< d	d„ | jD ƒ|d
< | j|d< | j ¡ |d< | j	d ur”| j	 ¡ |d< | j
d ur¨| j
|d< | jd ur¼| j|d< |S )Nr—   c                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   È  s   zCAttributionReportingTriggerRegistration.to_json.<locals>.<listcomp>ÚaggregatableDedupKeysc                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Ë  s   ÚeventTriggerDatac                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Î  s   ÚaggregatableTriggerDatac                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   Ñ  s   ÚaggregatableValuesÚdebugReportingÚsourceRegistrationTimeConfigrÂ   ÚaggregationCoordinatorOriginÚtriggerContextId)r2   r—   r   rÝ   rÞ   rß   rà   rá   râ   r·   rã   rä   r3   r   r   r   r   Å  s2    ÿ
ÿ
ÿ
ÿ

ÿ

ÿ

z/AttributionReportingTriggerRegistration.to_jsonr   c                 C  sÐ   | t  | d¡¡dd„ |d D ƒdd„ |d D ƒdd„ |d D ƒd	d„ |d
 D ƒt| d¡ƒt |d ¡| dd ¡d urˆt | d¡¡nd | dd ¡d ur¨t| d¡ƒnd | dd ¡d urÈt| d¡ƒnd d�
S )Nr—   c                 S  s   g | ]}t  |¡‘qS r   )rÛ   r   rb   r   r   r   re   ê  s   ÿzEAttributionReportingTriggerRegistration.from_json.<locals>.<listcomp>rå   c                 S  s   g | ]}t  |¡‘qS r   )rÑ   r   rb   r   r   r   re   î  s   ÿræ   c                 S  s   g | ]}t  |¡‘qS r   )rÖ   r   rb   r   r   r   re   ò  s   ÿrç   c                 S  s   g | ]}t  |¡‘qS r   )rÐ   r   rb   r   r   r   re   ö  s   ÿrè   ré   rê   rÂ   rë   rì   )
r—   rÝ   rÞ   rß   rà   rá   râ   r·   rã   rä   )r–   r   r4   rt   rÌ   r‡   r   r   r   r   r   r   â  s<    ÿþþþþÿÿÿÿÛz1AttributionReportingTriggerRegistration.from_json)
r    r!   r"   r6   r·   rã   rä   r   r#   r   r   r   r   r   rÜ   °  s   
rÜ   c                   @  sz   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dœdd„Zedd dœdd„ƒZdS )Ú$AttributionReportingEventLevelResultrÄ   ZsuccessDroppedLowerPriorityrÅ   Ú#noCapacityForAttributionDestinationÚnoMatchingSourcesÚdeduplicatedÚexcessiveAttributionsZpriorityTooLowZneverAttributedSourcerÆ   ÚnoMatchingSourceFilterDatarÇ   ZnoMatchingConfigurationsÚexcessiveReportsZfalselyAttributedSourceÚreportWindowPassedÚnotRegisteredZreportWindowNotStartedZnoMatchingTriggerDatar   r   c                 C  s   | j S r   r)   r   r   r   r   r   '  s    z,AttributionReportingEventLevelResult.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   *  s    z.AttributionReportingEventLevelResult.from_jsonN)r    r!   r"   rÈ   ZSUCCESS_DROPPED_LOWER_PRIORITYrÉ   Ú'NO_CAPACITY_FOR_ATTRIBUTION_DESTINATIONÚNO_MATCHING_SOURCESÚDEDUPLICATEDÚEXCESSIVE_ATTRIBUTIONSZPRIORITY_TOO_LOWZNEVER_ATTRIBUTED_SOURCErÊ   ÚNO_MATCHING_SOURCE_FILTER_DATArË   ZNO_MATCHING_CONFIGURATIONSÚEXCESSIVE_REPORTSZFALSELY_ATTRIBUTED_SOURCEÚREPORT_WINDOW_PASSEDÚNOT_REGISTEREDZREPORT_WINDOW_NOT_STARTEDZNO_MATCHING_TRIGGER_DATAr   r#   r   r   r   r   r   rí     s.   ÿrí   c                   @  sf   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dœdd„Zedd dœdd„ƒZdS )Ú&AttributionReportingAggregatableResultrÄ   rÅ   rî   rï   rñ   rÆ   ZnoHistogramsZinsufficientBudgetrò   rõ   rÇ   rð   rô   ró   r   r   c                 C  s   | j S r   r)   r   r   r   r   r   A  s    z.AttributionReportingAggregatableResult.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   D  s    z0AttributionReportingAggregatableResult.from_jsonN)r    r!   r"   rÈ   rÉ   rö   r÷   rù   rÊ   ZNO_HISTOGRAMSZINSUFFICIENT_BUDGETrú   rý   rË   rø   rü   rû   r   r#   r   r   r   r   r   rþ   /  s$   ÿrþ   c                   @  sL   e Zd ZU dZded< ded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚRelatedWebsiteSetz$A single Related Website Set object.r‹   Úprimary_sitesÚassociated_sitesÚservice_sitesr   r   c                 C  sF   t ƒ }dd„ | jD ƒ|d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< |S )Nc                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   U  r�   z-RelatedWebsiteSet.to_json.<locals>.<listcomp>ÚprimarySitesc                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   V  r�   ÚassociatedSitesc                 S  s   g | ]}|‘qS r   r   rb   r   r   r   re   W  r�   ÚserviceSites)r2   r   r  r  r3   r   r   r   r   S  s
    zRelatedWebsiteSet.to_jsonr   c                 C  s8   | dd„ |d D ƒdd„ |d D ƒdd„ |d D ƒd�S )	Nc                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   ]  r�   z/RelatedWebsiteSet.from_json.<locals>.<listcomp>r  c                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   ^  r�   r  c                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   _  r�   r  )r   r  r  r   r   r   r   r   r   Z  s
    ýzRelatedWebsiteSet.from_jsonNr5   r   r   r   r   rÿ   I  s   
rÿ   úpage.FrameIdz@typing.Generator[T_JSON_DICT, T_JSON_DICT, SerializedStorageKey])Úframe_idr   c                 c  s2   t ƒ }|  ¡ |d< d|dœ}|V }t | d¡¡S )zF
    Returns a storage key given a frame id.
    :param frame_id:
    ZframeIdzStorage.getStorageKeyForFrame©ÚmethodÚparamsr{   )r2   r   r
   r   r4   )r  r
  Úcmd_dictr   r   r   r   Úget_storage_key_for_framec  s    þr  r   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])ÚoriginÚstorage_typesr   c                 c  s*   t ƒ }| |d< ||d< d|dœ}|V }dS )z�
    Clears storage for origin.
    :param origin: Security origin.
    :param storage_types: Comma separated list of StorageType to clear.
    r  ÚstorageTypeszStorage.clearDataForOriginr  N©r2   )r  r  r
  r  r   r   r   r   Úclear_data_for_origint  s    þr  )ry   r  r   c                 c  s*   t ƒ }| |d< ||d< d|dœ}|V }dS )z–
    Clears storage for storage key.
    :param storage_key: Storage key.
    :param storage_types: Comma separated list of StorageType to clear.
    r{   r  zStorage.clearDataForStorageKeyr  Nr  )ry   r  r
  r  r   r   r   r   Úclear_data_for_storage_key†  s    þr  z)typing.Optional[browser.BrowserContextID]zGtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[network.Cookie]])Úbrowser_context_idr   c                 c  s<   t ƒ }| dur|  ¡ |d< d|dœ}|V }dd„ |d D ƒS )zº
    Returns all browser cookies.
    :param browser_context_id: *(Optional)*
     Browser context to use when called on the browser endpoint.
    :returns: Array of cookie objects.
    NÚbrowserContextIdzStorage.getCookiesr  c                 S  s   g | ]}t j |¡‘qS r   )r   ÚCookier   rb   r   r   r   re   ©  r�   zget_cookies.<locals>.<listcomp>r&   ©r2   r   ©r  r
  r  r   r   r   r   Úget_cookies˜  s    	þr  z typing.List[network.CookieParam])r&   r  r   c                 c  s@   t ƒ }dd„ | D ƒ|d< |dur,| ¡ |d< d|dœ}|V }dS )z±
    Sets given cookies.
    :param cookies: Cookies to be set.
    :param browser_context_id: *(Optional)*
     Browser context to use when called on the browser endpoint.
    c                 S  s   g | ]}|  ¡ ‘qS r   ra   rb   r   r   r   re   ·  r�   zset_cookies.<locals>.<listcomp>r&   Nr  zStorage.setCookiesr  r  )r&   r  r
  r  r   r   r   r   Úset_cookies¬  s    
þr  c                 c  s.   t ƒ }| dur|  ¡ |d< d|dœ}|V }dS )z†
    Clears cookies.
    :param browser_context_id: *(Optional)*
     Browser context to use when called on the browser endpoint.
    Nr  zStorage.clearCookiesr  r  r  r   r   r   Úclear_cookiesÁ  s    þr  zgtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[float, float, bool, typing.List[UsageForType]]])r  r   c                 c  sV   t ƒ }| |d< d|dœ}|V }t| d¡ƒt| d¡ƒt| d¡ƒdd„ |d	 D ƒfS )
aƒ  
    Returns usage and quota in bytes.
    :param origin: Security origin.
    :returns: A tuple with the following items:
        0. **usage** - Storage usage (bytes).
        1. **quota** - Storage quota (bytes).
        2. **overrideActive** -
         Whether or not the origin has an active storage quota override
        3. **usageBreakdown** - Storage usage per type (bytes).
    r  zStorage.getUsageAndQuotar  r0   r€   ZoverrideActivec                 S  s   g | ]}t  |¡‘qS r   )r-   r   rb   r   r   r   re   ï  r�   z'get_usage_and_quota.<locals>.<listcomp>ZusageBreakdown)r2   r/   r4   rt   ©r  r
  r  r   r   r   r   Úget_usage_and_quotaÓ  s    þür  útyping.Optional[float])r  Ú
quota_sizer   c                 c  s2   t ƒ }| |d< |dur||d< d|dœ}|V }dS )aw  
    Override quota for the specified origin
    **EXPERIMENTAL**
    :param origin: Security origin.
    :param quota_size: *(Optional)* The quota size (in bytes)
     to override the original quota with. If this is called multiple times,
     the overridden quota will be equal to the quotaSize provided in the
     final call. If this is called without specifying a quotaSize,
     the quota will be reset to the default value for the specified origin.
     If this is called multiple times with different origins,
     the override will be maintained for each origin until it is disabled
     (called without a quotaSize).
    r  NZ	quotaSizezStorage.overrideQuotaForOriginr  r  )r  r  r
  r  r   r   r   r   Úoverride_quota_for_originó  s    þr  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z‚
    Registers origin to be notified when an update occurs
    to its cache storage list.
    :param origin: Security origin.
    r  z"Storage.trackCacheStorageForOriginr  Nr  r  r   r   r   Útrack_cache_storage_for_origin  s    þr   )ry   r   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zˆ
    Registers storage key to be notified when an update occurs
    to its cache storage list.
    :param storage_key: Storage key.
    r{   z&Storage.trackCacheStorageForStorageKeyr  Nr  ©ry   r
  r  r   r   r   r   Ú#track_cache_storage_for_storage_key  s    þr"  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zu
    Registers origin to be notified when an update occurs to its IndexedDB.
    :param origin: Security origin.
    r  zStorage.trackIndexedDBForOriginr  Nr  r  r   r   r   Útrack_indexed_db_for_origin0  s    þr#  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z
    Registers storage key to be notified when an update occurs
    to its IndexedDB.
    :param storage_key: Storage key.
    r{   z#Storage.trackIndexedDBForStorageKeyr  Nr  r!  r   r   r   Ú track_indexed_db_for_storage_key@  s    þr$  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zp
    Unregisters origin from receiving notifications for cache storage.
    :param origin: Security origin.
    r  z$Storage.untrackCacheStorageForOriginr  Nr  r  r   r   r   Ú untrack_cache_storage_for_originQ  s    þr%  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zv
    Unregisters storage key from receiving notifications for cache storage.
    :param storage_key: Storage key.
    r{   z(Storage.untrackCacheStorageForStorageKeyr  Nr  r!  r   r   r   Ú%untrack_cache_storage_for_storage_keya  s    þr&  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zl
    Unregisters origin from receiving notifications for IndexedDB.
    :param origin: Security origin.
    r  z!Storage.untrackIndexedDBForOriginr  Nr  r  r   r   r   Úuntrack_indexed_db_for_originq  s    þr'  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zr
    Unregisters storage key from receiving notifications for IndexedDB.
    :param storage_key: Storage key.
    r{   z%Storage.untrackIndexedDBForStorageKeyr  Nr  r!  r   r   r   Ú"untrack_indexed_db_for_storage_key�  s    þr(  zDtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[TrustTokens]]r   c                  c  s    ddi} | V }dd„ |d D ƒS )zy
    Returns the number of stored Trust Tokens per issuer for the
    current browsing context.
    **EXPERIMENTAL**
    r	  zStorage.getTrustTokensc                 S  s   g | ]}t  |¡‘qS r   )r7   r   rb   r   r   r   re   �  r�   z$get_trust_tokens.<locals>.<listcomp>Útokensr   ©r  r   r   r   r   Úget_trust_tokens‘  s    	ÿr+  z0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool])r8   r   c                 c  s,   t ƒ }| |d< d|dœ}|V }t| d¡ƒS )a  
    Removes all Trust Tokens issued by the provided issuerOrigin.
    Leaves other stored data, including the issuer's Redemption Records,
    intact.
    **EXPERIMENTAL**
    :param issuer_origin:
    :returns: True if any tokens were deleted, false otherwise.
    r:   zStorage.clearTrustTokensr  ZdidDeleteTokens)r2   rt   r4   )r8   r
  r  r   r   r   r   Úclear_trust_tokens   s    þr,  z0typing.Generator[T_JSON_DICT, T_JSON_DICT, dict])Úowner_originrz   r   c                 c  s4   t ƒ }| |d< ||d< d|dœ}|V }t | d¡ƒS )aH  
    Gets details for a named interest group.
    **EXPERIMENTAL**
    :param owner_origin:
    :param name:
    :returns: This largely corresponds to:
    https://wicg.github.io/turtledove/#dictdef-generatebidinterestgroup
    but has absolute expirationTime instead of relative lifetimeMs
    and also adds joiningOrigin.
    ÚownerOriginrz   zStorage.getInterestGroupDetailsr  Údetails)r2   r4   )r-  rz   r
  r  r   r   r   r   Úget_interest_group_detailsµ  s    þr0  rt   )Úenabler   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zk
    Enables/Disables issuing of interestGroupAccessed events.
    **EXPERIMENTAL**
    :param enable:
    r1  z Storage.setInterestGroupTrackingr  Nr  ©r1  r
  r  r   r   r   r   Úset_interest_group_trackingÍ  s    þr3  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z¢
    Enables/Disables issuing of interestGroupAuctionEventOccurred and
    interestGroupAuctionNetworkRequestCreated.
    **EXPERIMENTAL**
    :param enable:
    r1  z'Storage.setInterestGroupAuctionTrackingr  Nr  r2  r   r   r   Ú#set_interest_group_auction_trackingÞ  s    	þr4  zAtyping.Generator[T_JSON_DICT, T_JSON_DICT, SharedStorageMetadata])r-  r   c                 c  s.   t ƒ }| |d< d|dœ}|V }t | d¡¡S )ze
    Gets metadata for an origin's shared storage.
    **EXPERIMENTAL**
    :param owner_origin:
    r.  z Storage.getSharedStorageMetadatar  Úmetadata)r2   rN   r   r4   ©r-  r
  r  r   r   r   r   Úget_shared_storage_metadatað  s    þr7  zKtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[SharedStorageEntry]]c                 c  s0   t ƒ }| |d< d|dœ}|V }dd„ |d D ƒS )zm
    Gets the entries in an given origin's shared storage.
    **EXPERIMENTAL**
    :param owner_origin:
    r.  zStorage.getSharedStorageEntriesr  c                 S  s   g | ]}t  |¡‘qS r   )rH   r   rb   r   r   r   re     r�   z.get_shared_storage_entries.<locals>.<listcomp>Úentriesr  r6  r   r   r   Úget_shared_storage_entries  s    
þr9  rm   )r-  rI   r*   rn   r   c                 c  sB   t ƒ }| |d< ||d< ||d< |dur.||d< d|dœ}|V }dS )a?  
    Sets entry with ``key`` and ``value`` for a given origin's shared storage.
    **EXPERIMENTAL**
    :param owner_origin:
    :param key:
    :param value:
    :param ignore_if_present: *(Optional)*
    If ``ignoreIfPresent`` is included and true,
    then only sets the entry if ``key`` doesn't already exist.
    r.  rI   r*   Nrs   zStorage.setSharedStorageEntryr  r  )r-  rI   r*   rn   r
  r  r   r   r   r   Úset_shared_storage_entry  s    þr:  )r-  rI   r   c                 c  s*   t ƒ }| |d< ||d< d|dœ}|V }dS )z™
    Deletes entry for ``key`` (if it exists)
    for a given origin's shared storage.
    **EXPERIMENTAL**
    :param owner_origin:
    :param key:
    r.  rI   z Storage.deleteSharedStorageEntryr  Nr  )r-  rI   r
  r  r   r   r   r   Údelete_shared_storage_entry3  s    
þr;  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zo
    Clears all entries for a given origin's shared storage.
    **EXPERIMENTAL**
    :param owner_origin:
    r.  z!Storage.clearSharedStorageEntriesr  Nr  r6  r   r   r   Úclear_shared_storage_entriesG  s    þr<  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )z�
    Resets the budget for ``ownerOrigin`` by clearing all budget withdrawals.
    **EXPERIMENTAL**
    :param owner_origin:
    r.  z Storage.resetSharedStorageBudgetr  Nr  r6  r   r   r   Úreset_shared_storage_budgetX  s    þr=  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zk
    Enables/disables issuing of sharedStorageAccessed events.
    **EXPERIMENTAL**
    :param enable:
    r1  z Storage.setSharedStorageTrackingr  Nr  r2  r   r   r   Úset_shared_storage_trackingi  s    þr>  )ry   r1  r   c                 c  s*   t ƒ }| |d< ||d< d|dœ}|V }dS )zs
    Set tracking for a storage key's buckets.
    **EXPERIMENTAL**
    :param storage_key:
    :param enable:
    r{   r1  z Storage.setStorageBucketTrackingr  Nr  )ry   r1  r
  r  r   r   r   r   Úset_storage_bucket_trackingz  s    	þr?  )r}   r   c                 c  s&   t ƒ }|  ¡ |d< d|dœ}|V }dS )zx
    Deletes the Storage Bucket with the given storage key and bucket name.
    **EXPERIMENTAL**
    :param bucket:
    r}   zStorage.deleteStorageBucketr  Nr  )r}   r
  r  r   r   r   r   Údelete_storage_bucket�  s    þr@  z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]]c                  c  s    ddi} | V }dd„ |d D ƒS )zp
    Deletes state for sites identified as potential bounce trackers,
    immediately.
    **EXPERIMENTAL**
    r	  z$Storage.runBounceTrackingMitigationsc                 S  s   g | ]}t |ƒ‘qS r   rŽ   rb   r   r   r   re   ª  r�   z3run_bounce_tracking_mitigations.<locals>.<listcomp>ZdeletedSitesr   r*  r   r   r   Úrun_bounce_tracking_mitigationsž  s    	ÿrA  )Úenabledr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zª
    https://wicg.github.io/attribution-reporting-api/
    **EXPERIMENTAL**
    :param enabled: If enabled, noise is suppressed
    and reports are sent immediately.
    rB  z/Storage.setAttributionReportingLocalTestingModer  Nr  )rB  r
  r  r   r   r   r   Ú,set_attribution_reporting_local_testing_mode­  s    	þrC  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zk
    Enables/disables issuing of Attribution Reporting events.
    **EXPERIMENTAL**
    :param enable:
    r1  z'Storage.setAttributionReportingTrackingr  Nr  r2  r   r   r   Ú"set_attribution_reporting_tracking¿  s    þrD  z/typing.Generator[T_JSON_DICT, T_JSON_DICT, int]c                  c  s   ddi} | V }t | d¡ƒS )z´
    Sends all pending Attribution Reports immediately,
    regardless of their scheduled report time.
    **EXPERIMENTAL**
    :returns: The number of reports that were sent.
    r	  z%Storage.sendPendingAttributionReportsZnumSentrŸ   r*  r   r   r   Ú send_pending_attribution_reportsÐ  s    
ÿrE  zJtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[RelatedWebsiteSet]]c                  c  s    ddi} | V }dd„ |d D ƒS )zÒ
    Returns the effective Related Website Sets in use by this profile
    for the browser session.
    The effective Related Website Sets will not change
    during a browser session.
    **EXPERIMENTAL**
    r	  zStorage.getRelatedWebsiteSetsc                 S  s   g | ]}t  |¡‘qS r   )rÿ   r   rb   r   r   r   re   î  r�   z,get_related_website_sets.<locals>.<listcomp>Zsetsr   r*  r   r   r   Úget_related_website_setsà  s    ÿrF  z"Storage.cacheStorageContentUpdatedc                   @  sF   e Zd ZU dZded< ded< ded< ded< edd dœd	d
„ƒZdS )ÚCacheStorageContentUpdatedz&A cache's contents have been modified.r   r  ry   Ú	bucket_idÚ
cache_namer   r   c                 C  s8   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒd�S )Nr  r{   ÚbucketIdZ	cacheName)r  ry   rH  rI  rM   r   r   r   r   r   ÿ  s    üz$CacheStorageContentUpdated.from_jsonN©r    r!   r"   r+   r6   r#   r   r   r   r   r   rG  ñ  s   
rG  zStorage.cacheStorageListUpdatedc                   @  s>   e Zd ZU dZded< ded< ded< edd dœdd	„ƒZd
S )ÚCacheStorageListUpdatedzA cache has been added/deleted.r   r  ry   rH  r   r   c                 C  s,   | t | d¡ƒt | d¡ƒt | d¡ƒd�S ©Nr  r{   rJ  )r  ry   rH  rM   r   r   r   r   r     s
    ýz!CacheStorageListUpdated.from_jsonNrK  r   r   r   r   rL  	  s   
rL  zStorage.indexedDBContentUpdatedc                   @  sN   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 d	œd
d„ƒZdS )ÚIndexedDBContentUpdatedz6The origin's IndexedDB object store has been modified.r   r  ry   rH  Údatabase_nameÚobject_store_namer   r   c              	   C  sD   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒd�S )Nr  r{   rJ  ZdatabaseNameZobjectStoreName)r  ry   rH  rO  rP  rM   r   r   r   r   r   .  s    ûz!IndexedDBContentUpdated.from_jsonNrK  r   r   r   r   rN    s   
rN  zStorage.indexedDBListUpdatedc                   @  s>   e Zd ZU dZded< ded< ded< edd dœdd	„ƒZd
S )ÚIndexedDBListUpdatedz7The origin's IndexedDB database list has been modified.r   r  ry   rH  r   r   c                 C  s,   | t | d¡ƒt | d¡ƒt | d¡ƒd�S rM  rM   r   r   r   r   r   E  s
    ýzIndexedDBListUpdated.from_jsonNrK  r   r   r   r   rQ  9  s   
rQ  zStorage.interestGroupAccessedc                   @  sf   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< d	ed< ded< edd dœdd„ƒZdS )ÚInterestGroupAccessedzŒ
    One of the interest groups was accessed.
    Note that these events are global to all targets
    sharing an interest group store.
    rO   Úaccess_timer=   r­   r   r-  rz   rh   Úcomponent_seller_originr  r@   Úbid_currencyú'typing.Optional[InterestGroupAuctionId]Úunique_auction_idr   r   c                 C  sÀ   | t j | d¡¡t | d¡¡t| d¡ƒt| d¡ƒ| dd ¡d urVt| d¡ƒnd | dd ¡d urvt| d¡ƒnd | dd ¡d ur–t| d¡ƒnd | dd ¡d ur¸t | d¡¡nd d	�S )
NÚ
accessTimerº   r.  rz   ZcomponentSellerOriginr@   ZbidCurrencyÚuniqueAuctionId)rS  r­   r-  rz   rT  r@   rU  rW  )r   rX   r   r4   r=   r   r/   r<   r   r   r   r   r   c  s(    ÿÿÿÿÿçzInterestGroupAccessed.from_jsonNrK  r   r   r   r   rR  N  s   
rR  z)Storage.interestGroupAuctionEventOccurredc                   @  sN   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 dœdd„ƒZdS )Ú!InterestGroupAuctionEventOccurredze
    An auction involving interest groups is taking place.
    These events are target-specific.
    rO   Ú
event_timerD   r­   r<   rW  rV  Úparent_auction_idztyping.Optional[dict]Úauction_configr   r   c              	   C  st   | t j | d¡¡t | d¡¡t |d ¡| dd ¡d urLt | d¡¡nd | dd ¡d urlt| d¡ƒnd d�S )NZ	eventTimerº   rY  ZparentAuctionIdZauctionConfig)r[  r­   rW  r\  r]  )r   rX   r   r4   rD   r<   r2   r   r   r   r   r   ’  s    ÿÿÿòz+InterestGroupAuctionEventOccurred.from_jsonNrK  r   r   r   r   rZ  ƒ  s   
rZ  z1Storage.interestGroupAuctionNetworkRequestCreatedc                   @  s>   e Zd ZU dZded< ded< ded< edd d	œd
d„ƒZdS )Ú)InterestGroupAuctionNetworkRequestCreatedzì
    Specifies which auctions a particular network fetch may be related to,
    and in what role. Note that it is not ordered with respect to
    Network.requestWillBeSent (but will happen before loadingFinished
    loadingFailed).
    rF   r­   znetwork.RequestIdÚ
request_idz#typing.List[InterestGroupAuctionId]Úauctionsr   r   c                 C  s6   | t  | d¡¡tj | d¡¡dd„ |d D ƒd�S )Nrº   Z	requestIdc                 S  s   g | ]}t  |¡‘qS r   )r<   r   rb   r   r   r   re   ¿  s   zGInterestGroupAuctionNetworkRequestCreated.from_json.<locals>.<listcomp>r`  )r­   r_  r`  )rF   r   r4   r   Z	RequestIdr   r   r   r   r   ¸  s    ÿýz3InterestGroupAuctionNetworkRequestCreated.from_jsonNrK  r   r   r   r   r^  §  s   
r^  zStorage.sharedStorageAccessedc                   @  sN   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 dœdd„ƒZdS )ÚSharedStorageAccessedzv
    Shared storage was accessed by the associated page.
    The following parameters are included in all events.
    rO   rS  rG   r­   r  Úmain_frame_idr   r-  rg   r
  r   r   c              
   C  sP   | t j | d¡¡t | d¡¡tj | d¡¡t| d¡ƒt | d¡¡d�S )NrX  rº   ZmainFrameIdr.  r
  )rS  r­   rb  r-  r
  )	r   rX   r   r4   rG   r	   ZFrameIdr   rg   r   r   r   r   r   Ø  s    ÿùzSharedStorageAccessed.from_jsonNrK  r   r   r   r   ra  Å  s   
ra  z%Storage.storageBucketCreatedOrUpdatedc                   @  s*   e Zd ZU ded< edd dœdd„ƒZdS )ÚStorageBucketCreatedOrUpdatedr|   Úbucket_infor   r   c                 C  s   | t  | d¡¡d�S )NZ
bucketInfo)rd  )r|   r   r4   r   r   r   r   r   ê  s    ÿz'StorageBucketCreatedOrUpdated.from_jsonN©r    r!   r"   r6   r#   r   r   r   r   r   rc  å  s   
rc  zStorage.storageBucketDeletedc                   @  s*   e Zd ZU ded< edd dœdd„ƒZdS )ÚStorageBucketDeletedr   rH  r   r   c                 C  s   | t | d¡ƒd�S )NrJ  )rH  rM   r   r   r   r   r   ö  s    zStorageBucketDeleted.from_jsonNre  r   r   r   r   rf  ñ  s   
rf  z,Storage.attributionReportingSourceRegisteredc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )Ú$AttributionReportingSourceRegisteredú
    **EXPERIMENTAL**
    r¨   ÚregistrationrÃ   Úresultr   r   c                 C  s    | t  |d ¡t |d ¡d�S )Nri  rj  )ri  rj  )r¨   r   rÃ   r   r   r   r   r     s    ÿÿüz.AttributionReportingSourceRegistered.from_jsonNrK  r   r   r   r   rg  û  s
   
rg  z-Storage.attributionReportingTriggerRegisteredc                   @  s>   e Zd ZU dZded< ded< ded< edd d	œd
d„ƒZdS )Ú%AttributionReportingTriggerRegisteredrh  rÜ   ri  rí   Úevent_levelrþ   Úaggregatabler   r   c                 C  s,   | t  |d ¡t |d ¡t |d ¡d�S )Nri  Z
eventLevelrm  )ri  rl  rm  )rÜ   r   rí   rþ   r   r   r   r   r     s    ÿÿÿùz/AttributionReportingTriggerRegistered.from_jsonNrK  r   r   r   r   rk    s   
rk  )N)N)N)N)N)fÚ
__future__r   ÚenumÚtypingÚdataclassesr   Úutilr   r   Ú r   r   r	   r   r
   ÚEnumr%   r-   r7   r<   r=   rD   rF   rG   rH   rN   rY   r^   rg   ru   rx   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,  r0  r3  r4  r7  r9  r:  r;  r<  r=  r>  r?  r@  rA  rC  rD  rE  rF  rG  rL  rN  rQ  rR  rZ  r^  ra  rc  rf  rg  rk  r   r   r   r   Ú<module>   s$    o#L !_ ÿ þ ÿ! ÿ ü3"
