
    i`                       S SK Jr  SSKJrJr  S SKJr  S SKrS SKrSSK	J
r
  SSK	Jr   " S S	\5      r " S
 S\5      r " S S\R                   5      r\ " S S5      5       r " S S\R                   5      r " S S\R                   5      r\ " S S5      5       r " S S\R                   5      r\ " S S5      5       r\ " S S5      5       r " S S\R                   5      r  S8         S9S jjr  S8       S:S jjr S;   S<S  jjr   S=         S>S! jjr S;     S?S" jjrS@S# jrS@S$ jr S@S% jr!SAS& jr"SBS' jr#  S8     SCS( jjr$ S;     SDS) jjr%    SES* jr& S;   SFS+ jjr'      SGS, jr(  S8       SHS- jjr)  S8     SIS. jjr*    SJS/ jr+    SKS0 jr, S;         SLS1 jjr-\" S25      \ " S3 S45      5       5       r.\" S55      \ " S6 S75      5       5       r/g)M    )annotations   )event_classT_JSON_DICT)	dataclassN)page)targetc                  F   ^  \ rS rSrSS jr\SS j5       rU 4S jrSrU =r	$ )BrowserContextID   c                    U $ N selfs    \C:\des-py\RoboSAPF\venv\Lib\site-packages\selenium/webdriver/common/devtools/v140/browser.pyto_jsonBrowserContextID.to_json           c                    U " U5      $ r   r   clsjsons     r   	from_jsonBrowserContextID.from_json       4yr   c                >   > SR                  [        TU ]	  5       5      $ )NzBrowserContextID({})formatsuper__repr__r   	__class__s    r   r"   BrowserContextID.__repr__   s    %,,UW-=-?@@r   r   )returnstr)r   r'   r&   r   
__name__
__module____qualname____firstlineno__r   classmethodr   r"   __static_attributes____classcell__r$   s   @r   r   r      s(      A Ar   r   c                  F   ^  \ rS rSrSS jr\SS j5       rU 4S jrSrU =r	$ )WindowID   c                    U $ r   r   r   s    r   r   WindowID.to_json   r   r   c                    U " U5      $ r   r   r   s     r   r   WindowID.from_json    r   r   c                >   > SR                  [        TU ]	  5       5      $ )NzWindowID({})r   r#   s    r   r"   WindowID.__repr__$   s    $$UW%5%788r   r   )r&   int)r   r:   r&   r2   r(   r0   s   @r   r2   r2      s&      9 9r   r2   c                  >    \ rS rSrSrSrSrSrSrS r	\
S 5       rS	rg
)WindowState(   z"
The state of the browser window.
normal	minimized	maximized
fullscreenc                    U R                   $ r   valuer   s    r   r   WindowState.to_json1       zzr   c                    U " U5      $ r   r   r   s     r   r   WindowState.from_json4   r   r   r   N)r)   r*   r+   r,   __doc__NORMAL	MINIMIZED	MAXIMIZED
FULLSCREENr   r-   r   r.   r   r   r   r<   r<   (   s6     FIIJ  r   r<   c                  v    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S'   Sr	S\S'   Sr
S	\S
'   S r\S 5       rSrg)Bounds9   z#
Browser window bounds information
Ntyping.Optional[int]lefttopwidthheightztyping.Optional[WindowState]window_statec                N   [        5       nU R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R
                  b  U R
                  R                  5       US'   U$ )NrR   rS   rT   rU   windowState)dictrR   rS   rT   rU   rV   r   r   r   s     r   r   Bounds.to_jsonM   s    v99 99DL88((DK::! JJDM;;"![[DN("&"3"3";";"=Dr   c           
         U " SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        R                  US   5      S9$ S S9$ )NrR   rS   rT   rU   rX   )rR   rS   rT   rU   rV   )r:   r<   r   r   s     r   r   Bounds.from_json[   s    &,nT&\"$$)TMDK t(/4#d7m$T*2d*:3tH~&GTX\G\..tM/BC
 	

 cg
 	
r   r   )r)   r*   r+   r,   rI   rR   __annotations__rS   rT   rU   rV   r   r-   r   r.   r   r   r   rO   rO   9   sa     "&D
% !%C	$ #'E& $(F ' 26L.5 
 
r   rO   c                      \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S' r)\*S( 5       r+S)r,g*)+PermissionTypef   araudioCaptureautomaticFullscreenbackgroundFetchbackgroundSynccameraPanTiltZoomcapturedSurfaceControlclipboardReadWriteclipboardSanitizedWritedisplayCapturedurableStoragegeolocationhandTrackingidleDetectionkeyboardLock
localFontslocalNetworkAccessmidi	midiSysexnfcnotificationspaymentHandlerperiodicBackgroundSyncpointerLockprotectedMediaIdentifiersensors	smartCardspeakerSelectionstorageAccesstopLevelStorageAccessvideoCapturevrwakeLockScreenwakeLockSystemwebAppInstallationwebPrintingwindowManagementc                    U R                   $ r   rC   r   s    r   r   PermissionType.to_json   rF   r   c                    U " U5      $ r   r   r   s     r   r   PermissionType.from_json   r   r   r   N)-r)   r*   r+   r,   ARAUDIO_CAPTUREAUTOMATIC_FULLSCREENBACKGROUND_FETCHBACKGROUND_SYNCCAMERA_PAN_TILT_ZOOMCAPTURED_SURFACE_CONTROLCLIPBOARD_READ_WRITECLIPBOARD_SANITIZED_WRITEDISPLAY_CAPTUREDURABLE_STORAGEGEOLOCATIONHAND_TRACKINGIDLE_DETECTIONKEYBOARD_LOCKLOCAL_FONTSLOCAL_NETWORK_ACCESSMIDI
MIDI_SYSEXNFCNOTIFICATIONSPAYMENT_HANDLERPERIODIC_BACKGROUND_SYNCPOINTER_LOCKPROTECTED_MEDIA_IDENTIFIERSENSORS
SMART_CARDSPEAKER_SELECTIONSTORAGE_ACCESSTOP_LEVEL_STORAGE_ACCESSVIDEO_CAPTUREVRWAKE_LOCK_SCREENWAKE_LOCK_SYSTEMWEB_APP_INSTALLATIONWEB_PRINTINGWINDOW_MANAGEMENTr   r-   r   r.   r   r   r   r`   r`   f   s    	B"M0(&O.7/ 9&O&OK"M$N"MK/DJ
C#M&O7 L!;GJ*$N6"M	B''/ L*  r   r`   c                  6    \ rS rSrSrSrSrS r\S 5       r	Sr
g)	PermissionSetting   granteddeniedpromptc                    U R                   $ r   rC   r   s    r   r   PermissionSetting.to_json   rF   r   c                    U " U5      $ r   r   r   s     r   r   PermissionSetting.from_json   r   r   r   N)r)   r*   r+   r,   GRANTEDDENIEDPROMPTr   r-   r   r.   r   r   r   r   r      s*    GFF  r   r   c                      \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S	'   Sr	S\S
'   Sr
S\S'   S r\S 5       rSrg)PermissionDescriptor   z
Definition of PermissionDescriptor defined in the Permissions API:
https://w3c.github.io/permissions/#dom-permissiondescriptor.
r'   nameNtyping.Optional[bool]sysexuser_visible_onlyallow_without_sanitizationallow_without_gesturepan_tilt_zoomc                P   [        5       nU R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R
                  b  U R
                  US'   U R                  b  U R                  US'   U$ )Nr   r   userVisibleOnlyallowWithoutSanitizationallowWithoutGesturepanTiltZoom)rY   r   r   r   r   r   r   rZ   s     r   r   PermissionDescriptor.to_json   s    vyyV::! JJDM!!-&*&<&<D"#**6/3/N/ND+,%%1*.*D*DD&')"&"4"4Dr   c                    U " [        US   5      SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      S9$ S S9$ )Nr   r   r   r   r   r   )r   r   r   r   r   r   )r'   boolr   s     r   r   PermissionDescriptor.from_json   s    T&\")0D$tG}%d?PTX?Xd4(9#:;^bQkosQstD1K,L'My}G\`dGd$t,A'B"Cjn7D7L$tM23
 	
 SW
 	
r   r   )r)   r*   r+   r,   rI   r^   r   r   r   r   r   r   r-   r   r.   r   r   r   r   r      sk     I $(E ' 04,3 9= 5< 4807 ,0M(/ 
 
r   r   c                  :    \ rS rSrSrSrSrSrS r\	S 5       r
Srg	)
BrowserCommandId   z4
Browser command ids used by executeBrowserCommand.
openTabSearchcloseTabSearchopenGlicc                    U R                   $ r   rC   r   s    r   r   BrowserCommandId.to_json   rF   r   c                    U " U5      $ r   r   r   s     r   r   BrowserCommandId.from_json   r   r   r   N)r)   r*   r+   r,   rI   OPEN_TAB_SEARCHCLOSE_TAB_SEARCH	OPEN_GLICr   r-   r   r.   r   r   r   r   r      s2     &O'I  r   r   c                  N    \ rS rSr% SrS\S'   S\S'   S\S'   S r\S 5       rS	r	g
)Bucket   z
Chrome histogram bucket.
r:   lowhighcountc                t    [        5       nU R                  US'   U R                  US'   U R                  US'   U$ )Nr   r   r   )rY   r   r   r   rZ   s     r   r   Bucket.to_json   s5    vhhUyyV

Wr   c                Z    U " [        US   5      [        US   5      [        US   5      S9$ )Nr   r   r   )r   r   r   )r:   r   s     r   r   Bucket.from_json   s3    DK T&\"d7m$
 	
r   r   N
r)   r*   r+   r,   rI   r^   r   r-   r   r.   r   r   r   r   r      s5     
H I J 
 
r   r   c                  X    \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S
 r\S 5       rSr	g)	Histogrami  z
Chrome histogram.
r'   r   r:   sum_r   ztyping.List[Bucket]bucketsc                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                   Vs/ s H  o"R                  5       PM     snUS'   U$ s  snf )Nr   sumr   r   )rY   r   r   r   r   r   )r   r   is      r   r   Histogram.to_json  sZ    vyyViiU

W04=199;=Y >s   A'c                    U " [        US   5      [        US   5      [        US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nr   r   r   r   )r   r   r   r   )r'   r:   r   r   )r   r   r   s      r   r   Histogram.from_json  sZ    T&\"T%[!d7m$26y/B/QV%%a(/B	
 	
 Cs   Ar   Nr   r   r   r   r   r     s=     I I J !  
 
r   r   c                  2    \ rS rSrSrSrS r\S 5       rSr	g)PrivacySandboxAPIi(  BiddingAndAuctionServicesTrustedKeyValuec                    U R                   $ r   rC   r   s    r   r   PrivacySandboxAPI.to_json,  rF   r   c                    U " U5      $ r   r   r   s     r   r   PrivacySandboxAPI.from_json/  r   r   r   N)
r)   r*   r+   r,   BIDDING_AND_AUCTION_SERVICESTRUSTED_KEY_VALUEr   r-   r   r.   r   r   r   r   r   (  s'    #> )  r   r   c              #     #    [        5       nU R                  5       US'   UR                  5       US'   Ub  X$S'   Ub  UR                  5       US'   SUS.nUv ng7f)aj  
Set permission settings for given origin.

**EXPERIMENTAL**

:param permission: Descriptor of permission to override.
:param setting: Setting of the permission.
:param origin: *(Optional)* Origin the permission applies to, all origins if not specified.
:param browser_context_id: *(Optional)* Context to override. When omitted, default browser context is used.

permissionsettingNoriginbrowserContextIdzBrowser.setPermissionmethodparamsrY   r   )r   r   r   browser_context_idr  cmd_dictr   s          r   set_permissionr  4  sp       &F%--/F<)F9!x%%7%?%?%A!")H >Ds   AAc              #     #    [        5       nU  Vs/ s H  oDR                  5       PM     snUS'   Ub  XS'   Ub  UR                  5       US'   SUS.nUv ngs  snf 7f)aI  
Grant specific permissions to the given origin and reject all others.

**EXPERIMENTAL**

:param permissions:
:param origin: *(Optional)* Origin the permission applies to, all origins if not specified.
:param browser_context_id: *(Optional)* BrowserContext to override permissions. When omitted, default browser context is used.
permissionsNr   r   zBrowser.grantPermissionsr  r  )r	  r   r  r  r   r  r   s          r   grant_permissionsr
  R  sn      &F2=>+QYY[+>F=!x%%7%?%?%A!",H >D ?s   AA2Ac              #  ^   #    [        5       nU b  U R                  5       US'   SUS.nUv ng7f)z
Reset all permission management for all origins.

:param browser_context_id: *(Optional)* BrowserContext to reset permissions. When omitted, default browser context is used.
Nr   zBrowser.resetPermissionsr  r  )r  r  r  r   s       r   reset_permissionsr  m  s>      &F%%7%?%?%A!",H >Ds   +-c              #     #    [        5       nXS'   Ub  UR                  5       US'   Ub  X$S'   Ub  X4S'   SUS.nUv ng7f)a  
Set the behavior when downloading a file.

**EXPERIMENTAL**

:param behavior: Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny). ``allowAndName`` allows download and names files according to their download guids.
:param browser_context_id: *(Optional)* BrowserContext to set download behavior. When omitted, default browser context is used.
:param download_path: *(Optional)* The default path to save downloaded files to. This is required if behavior is set to 'allow' or 'allowAndName'.
:param events_enabled: *(Optional)* Whether to emit download events (defaults to false).
behaviorNr   downloadPatheventsEnabledzBrowser.setDownloadBehaviorr  r  )r  r  download_pathevents_enabledr  r  r   s          r   set_download_behaviorr    sb       &F!:%%7%?%?%A!" !.~!"0/H >Ds   =?c              #  f   #    [        5       nXS'   Ub  UR                  5       US'   SUS.nUv ng7f)z
Cancel a download if in progress

**EXPERIMENTAL**

:param guid: Global unique identifier of the download.
:param browser_context_id: *(Optional)* BrowserContext to perform the action in. When omitted, default browser context is used.
guidNr   zBrowser.cancelDownloadr  r  )r  r  r  r  r   s        r   cancel_downloadr    sE      &F6N%%7%?%?%A!"*H >Ds   /1c               #     #    SS0n U v ng7f)z
Close browser gracefully.
r  zBrowser.closeNr   r  r   s     r   closer    s     
 	/H >D   
c               #     #    SS0n U v ng7f)z7
Crashes browser on the main thread.

**EXPERIMENTAL**
r  zBrowser.crashNr   r  s     r   crashr    s      	/H >Dr  c               #     #    SS0n U v ng7f)z(
Crashes GPU process.

**EXPERIMENTAL**
r  zBrowser.crashGpuProcessNr   r  s     r   crash_gpu_processr    s      	+H >Dr  c               #     #    SS0n U v n[        US   5      [        US   5      [        US   5      [        US   5      [        US   5      4$ 7f)a  
Returns version information.

:returns: A tuple with the following items:

    0. **protocolVersion** - Protocol version.
    1. **product** - Product name.
    2. **revision** - Product revision.
    3. **userAgent** - User-Agent.
    4. **jsVersion** - V8 version.
r  zBrowser.getVersionprotocolVersionproductrevision	userAgent	jsVersionr'   r  s     r   get_versionr&    sh      	&H >DD"#$DODDD s   AAc               #  b   #    SS0n U v nUS    Vs/ s H  n[        U5      PM     sn$ s  snf 7f)z
Returns the command line switches for the browser process if, and only if
--enable-automation is on the commandline.

**EXPERIMENTAL**

:returns: Commandline parameters
r  zBrowser.getBrowserCommandLine	argumentsr%  )r  r   r   s      r   get_browser_command_liner)    s@      	1H >D -.-qCF-...s   /*/c              #     #    [        5       nU b  XS'   Ub  XS'   SUS.nUv nUS    Vs/ s H  n[        R                  U5      PM     sn$ s  snf 7f)aA  
Get Chrome histograms.

**EXPERIMENTAL**

:param query: *(Optional)* Requested substring in name. Only histograms which have query as a substring in their name are extracted. An empty or absent query returns all histograms.
:param delta: *(Optional)* If true, retrieve delta since last delta call.
:returns: Histograms.
querydeltazBrowser.getHistogramsr  
histogramsrY   r   r   )r+  r,  r  r  r   r   s         r   get_histogramsr/     sh      &Fww)H >D,0,>?,>qI",>???s   )AA
Ac              #  v   #    [        5       nXS'   Ub  XS'   SUS.nUv n[        R                  US   5      $ 7f)z
Get a Chrome histogram by name.

**EXPERIMENTAL**

:param name: Requested histogram name.
:param delta: *(Optional)* If true, retrieve delta since last delta call.
:returns: Histogram.
r   r,  zBrowser.getHistogramr  	histogramr.  )r   r,  r  r  r   s        r   get_histogramr2    sN      &F6Nw(H >DtK011s   79c              #     #    [        5       nU R                  5       US'   SUS.nUv n[        R                  US   5      $ 7f)z
Get position and size of the browser window.

**EXPERIMENTAL**

:param window_id: Browser window id.
:returns: Bounds information of the window. When window state is 'minimized', the restored window position and size are returned.
windowIdzBrowser.getWindowBoundsr  bounds)rY   r   rO   r   )	window_idr  r  r   s       r   get_window_boundsr7  3  sL      &F"**,F:+H >DDN++s   ?Ac              #     #    [        5       nU b  U R                  5       US'   SUS.nUv n[        R                  US   5      [        R                  US   5      4$ 7f)a  
Get the browser window that contains the devtools target.

**EXPERIMENTAL**

:param target_id: *(Optional)* Devtools agent host id. If called as a part of the session, associated targetId is used.
:returns: A tuple with the following items:

    0. **windowId** - Browser window id.
    1. **bounds** - Bounds information of the window. When window state is 'minimized', the restored window position and size are returned.
targetIdzBrowser.getWindowForTargetr  r4  r5  )rY   r   r2   r   rO   )	target_idr  r  r   s       r   get_window_for_targetr;  H  sl      &F&..0z.H >D4
+,h( s   AAc              #  ~   #    [        5       nU R                  5       US'   UR                  5       US'   SUS.nUv ng7f)a!  
Set position and/or size of the browser window.

**EXPERIMENTAL**

:param window_id: Browser window id.
:param bounds: New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.
r4  r5  zBrowser.setWindowBoundsr  Nr  )r6  r5  r  r  r   s        r   set_window_boundsr=  d  sH      &F"**,F:~~'F8+H >Ds   ;=c              #  t   #    [        5       nU R                  5       US'   Ub  XS'   Ub  X#S'   SUS.nUv ng7f)a  
Set size of the browser contents resizing browser window as necessary.

**EXPERIMENTAL**

:param window_id: Browser window id.
:param width: *(Optional)* The window contents width in DIP. Assumes current width if omitted. Must be specified if 'height' is omitted.
:param height: *(Optional)* The window contents height in DIP. Assumes current height if omitted. Must be specified if 'width' is omitted.
r4  NrT   rU   zBrowser.setContentsSizer  r  )r6  rT   rU   r  r  r   s         r   set_contents_sizer?  z  sR      &F"**,F:w!x+H >Ds   68c              #  N   #    [        5       nU b  XS'   Ub  XS'   SUS.nUv ng7f)z
Set dock tile details, platform-specific.

**EXPERIMENTAL**

:param badge_label: *(Optional)*
:param image: *(Optional)* Png encoded image.
N
badgeLabelimagezBrowser.setDockTiler  rY   )badge_labelrB  r  r  r   s        r   set_dock_tilerE    s?      &F*|w'H >Ds   #%c              #  X   #    [        5       nU R                  5       US'   SUS.nUv ng7f)zY
Invoke custom browser commands used by telemetry.

**EXPERIMENTAL**

:param command_id:
	commandIdzBrowser.executeBrowserCommandr  Nr  )
command_idr  r  r   s       r   execute_browser_commandrI    s7      &F$,,.F;1H >Ds   (*c              #  :   #    [        5       nXS'   SUS.nUv ng7f)z
Allows a site to use privacy sandbox features that require enrollment
without the site actually being enrolled. Only supported on page targets.

:param url:
urlz+Browser.addPrivacySandboxEnrollmentOverrider  NrC  )rK  r  r  r   s       r   'add_privacy_sandbox_enrollment_overriderL    s+      &F5M?H >Ds   c              #     #    [        5       nU R                  5       US'   XS'   X$S'   Ub  UR                  5       US'   SUS.nUv ng7f)a  
Configures encryption keys used with a given privacy sandbox API to talk
to a trusted coordinator.  Since this is intended for test automation only,
coordinatorOrigin must be a .test domain. No existing coordinator
configuration for the origin may exist.

:param api:
:param coordinator_origin:
:param key_config:
:param browser_context_id: *(Optional)* BrowserContext to perform the action in. When omitted, default browser context is used.
apicoordinatorOrigin	keyConfigNr   z-Browser.addPrivacySandboxCoordinatorKeyConfigr  r  )rN  coordinator_origin
key_configr  r  r  r   s          r   *add_privacy_sandbox_coordinator_key_configrS    s^     " &FKKMF5M"4$;%%7%?%?%A!"AH >Ds   AAzBrowser.downloadWillBeginc                  V    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   \SS	 j5       rS
rg)DownloadWillBegini  zA
**EXPERIMENTAL**

Fired when page is about to start a download.
zpage.FrameIdframe_idr'   r  rK  suggested_filenamec           	         U " [         R                  R                  US   5      [        US   5      [        US   5      [        US   5      S9$ )NframeIdr  rK  suggestedFilename)rV  r  rK  rW  )r   FrameIdr   r'   r   s     r   r   DownloadWillBegin.from_json  sK    \\++DO<T&\"DK "4(;#<=	
 	
r   r   N)r   r   r&   rU  	r)   r*   r+   r,   rI   r^   r-   r   r.   r   r   r   rU  rU    s1     
I	H
 
r   rU  zBrowser.downloadProgressc                  `    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S	\S
'   \SS j5       rSrg)DownloadProgressi  zW
**EXPERIMENTAL**

Fired when download makes progress. Last call has ``done`` == true.
r'   r  floattotal_bytesreceived_bytesstatetyping.Optional[str]	file_pathc           
         U " [        US   5      [        US   5      [        US   5      [        US   5      SU;   a  [        US   5      S9$ S S9$ )Nr  
totalBytesreceivedBytesrc  filePath)r  ra  rb  rc  re  )r'   r`  r   s     r   r   DownloadProgress.from_json   sf    T&\"d<01 o!67d7m$/9T/Ac$z*+
 	

 HL
 	
r   r   N)r   r   r&   r_  r]  r   r   r   r_  r_    s9     IJ $#
 
r   r_  )NN)
r   r   r   r   r   rd  r  !typing.Optional[BrowserContextID]r&   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r	  ztyping.List[PermissionType]r   rd  r  rk  r&   rl  r   )r  rk  r&   rl  )NNN)
r  r'   r  rk  r  rd  r  r   r&   rl  )r  r'   r  rk  r&   rl  )r&   rl  )r&   zQtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, str, str, str, str]])r&   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])r+  rd  r,  r   r&   zBtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Histogram]])r   r'   r,  r   r&   z5typing.Generator[T_JSON_DICT, T_JSON_DICT, Histogram])r6  r2   r&   z2typing.Generator[T_JSON_DICT, T_JSON_DICT, Bounds])r:  z typing.Optional[target.TargetID]r&   zJtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[WindowID, Bounds]])r6  r2   r5  rO   r&   rl  )r6  r2   rT   rQ   rU   rQ   r&   rl  )rD  rd  rB  rd  r&   rl  )rH  r   r&   rl  )rK  r'   r&   rl  )
rN  r   rQ  r'   rR  r'   r  rk  r&   rl  )0
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r'   r   r:   r2   Enumr<   rO   r`   r   r   r   r   r   r   r  r
  r  r  r  r  r  r  r&  r)  r/  r2  r7  r;  r=  r?  rE  rI  rL  rS  rU  r_  r   r   r   <module>rt     s   # * !    	As 	A	9s 	9$)) " )
 )
 )
X,TYY ,^
		 
 1
 1
 1
htyy   
 
 
: 
 
 
D			 	 (,@D	(" % >	
 
8@ (,@D0$ > 
8	8 AE=	7( AE.204	= , .	
 
8B AE= 
8.		2/" '+'+@#@$@ 
J@8 (,22$2 
=22,,	9,, 7;3	Q8 
80 '+'+# % 
8	8 -1&*)# 
80$	7&	7, AE	  >	
 
8< ()

 
  *
2 '(

 
  )
r   