§
    ¶ÙÄjh  ã            	       óÎ   — d Z ddlZddlmc mZ ddlZddlm	Z	m
Z
mZmZmZmZmZmZ d„ Zd„ Zd„ Zej                             dddefd	d
e	fdd
efddefg¦  «        d„ ¦   «         ZdS )zFDerived Watch host state: thresholds, hysteresis and offline handling.é    N)ÚACTIVEÚACTIVE_CPU_PERCENTÚBUSYÚBUSY_CPU_PERCENTÚBUSY_MEMORY_PERCENTÚIDLEÚOFFLINEÚ
host_statec            	      óÖ  — d} d}d}t          | ||¬¦  «        }|t          k    }|�s't          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndd	œz  }d
d|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}x}}d} d}d}t          | ||¬¦  «        }|t          k    }|�s't          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndd	œz  }d
d|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}x}}d } d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d S )Nç      $@g      4@F)Úgateway_online©ú==)zR%(py8)s
{%(py8)s = %(py0)s(%(py2)s, %(py4)s, gateway_online=%(py6)s)
} == %(py10)sr
   r	   )Úpy0Úpy2Úpy4Úpy6Úpy8Úpy10úassert %(py12)sÚpy12)Úvalid)zI%(py8)s
{%(py8)s = %(py0)s(%(py2)s, %(py4)s, valid=%(py6)s)
} == %(py10)s©z9%(py6)s
{%(py6)s = %(py0)s(%(py2)s, %(py4)s)
} == %(py8)s©r   r   r   r   r   úassert %(py10)sr   ÚhighT)
r
   r	   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)Ú@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_format11Ú@py_format13Ú@py_format9s           úQ/home/lighthouse/esp32-dev/.cache/stopwatch-0.7.0/server/tests/test_host_state.pyÚ-test_offline_when_gateway_or_snapshot_invalidr.      sk  € ØÐB˜DÐB°ÐB�:�d˜D°Ð7Ñ7Ô7ÐBÐ7½7ÒBÐBÐBÑBÕBÔBÐBÐBÐBÐBÐ7½7ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�:ÑBÔBÐBÕBÔB�:ÑBÔBÐBÐBÕBÔB�dÑBÔBÕBÔB˜DÑBÔBÕBÔB°ÑBÔBÕBÔBÐ7ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB½7ÑBÔBÐBÕBÔB½7ÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBØÐ9˜DÐ9¨Ð9�:�d˜D¨Ð.Ñ.Ô.Ð9Ð.µ'Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9Ð.µ'Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�:Ñ9Ô9Ð9Õ9Ô9�:Ñ9Ô9Ð9Ð9Õ9Ô9�dÑ9Ô9Õ9Ô9˜DÑ9Ô9Õ9Ô9¨Ñ9Ô9Õ9Ô9Ð.Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9µ'Ñ9Ô9Ð9Õ9Ô9µ'Ñ9Ô9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÐ,˜DÐ,�:�d˜DÑ!Ô!Ð,Ð!¥WÒ,Ð,Ð,Ñ,Õ,Ô,Ð,Ð,Ð,Ð,Ð!¥WÐ,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�:Ñ,Ô,Ð,Õ,Ô,�:Ñ,Ô,Ð,Ð,Õ,Ô,�dÑ,Ô,Õ,Ô,˜DÑ,Ô,Õ,Ô,Ð!Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,¥WÑ,Ô,Ð,Õ,Ô,¥WÑ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØÐ.˜FÐ.�:�d˜FÑ#Ô#Ð.Ð#¥wÒ.Ð.Ð.Ñ.Õ.Ô.Ð.Ð.Ð.Ð.Ð#¥wÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�:Ñ.Ô.Ð.Õ.Ô.�:Ñ.Ô.Ð.Ð.Õ.Ô.�dÑ.Ô.Õ.Ô.˜FÑ.Ô.Õ.Ô.Ð#Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.¥wÑ.Ô.Ð.Õ.Ô.¥wÑ.Ô.Ð.Ð.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àÐ,˜DÐ,�:�d˜DÑ!Ô!Ð,Ð!¥WÒ,Ð,Ð,Ñ,Õ,Ô,Ð,Ð,Ð,Ð,Ð!¥WÐ,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�:Ñ,Ô,Ð,Õ,Ô,�:Ñ,Ô,Ð,Ð,Õ,Ô,�dÑ,Ô,Õ,Ô,˜DÑ,Ô,Õ,Ô,Ð!Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,¥WÑ,Ô,Ð,Õ,Ô,¥WÑ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ó    c            	      ó¦  — d} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d	}t          |z
  }d
}t          ||¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}x}x}}d
}t          t          |¦  «        }|t          k    }
|
�sIt          j        d|
fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}
d	}t          |z
  }d
}t          ||¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}x}x}}d
}t          t          |¦  «        }|t          k    }
|
�sIt          j        d|
fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}
d} t          | t          ¦  «        }|t          k    }
|
�sIt          j        d|
fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}}
d} d	}t          |z
  }
t          | |
¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x} x}x}
x}}d S )Nç        r   r   r
   r   r   r   r   gš™™™™™¹?r   )zF%(py8)s
{%(py8)s = %(py0)s((%(py1)s - %(py3)s), %(py6)s)
} == %(py10)sr   )r   Úpy1Úpy3r   r   r   r   r   )z9%(py5)s
{%(py5)s = %(py0)s(%(py1)s, %(py3)s)
} == %(py7)sr   )r   r2   r3   Úpy5Úpy7zassert %(py9)sÚpy9r   r   g      ð?)z9%(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
} == %(py7)sr   )r   r   r3   r4   r5   )zF%(py8)s
{%(py8)s = %(py0)s(%(py2)s, (%(py3)s - %(py5)s))
} == %(py10)s)r   r   r3   r4   r   r   )r
   r   r   r   r   r    r!   r"   r#   r$   r   r   r   r   r   )r%   r&   r'   r(   r,   r*   Ú@py_assert2Ú@py_assert4r)   r+   Ú@py_assert6Ú@py_format8Ú@py_format10s                r-   Ú test_idle_active_busy_boundariesr<      sû	  € ØÐ'˜3Ð'�:�c˜3ÑÔÐ'Ð¥4Ò'Ð'Ð'Ñ'Õ'Ô'Ð'Ð'Ð'Ð'Ð¥4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�:Ñ'Ô'Ð'Õ'Ô'�:Ñ'Ô'Ð'Ð'Õ'Ô'�cÑ'Ô'Õ'Ô'˜3Ñ'Ô'Õ'Ô'ÐÑ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'¥4Ñ'Ô'Ð'Õ'Ô'¥4Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'à+.Ð=Õ(¨3Ñ.Ð=°Ð=�:Ð.°Ñ5Ô5Ð=Ð5½Ò=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=Ð5½Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�:Ñ=Ô=Ð=Õ=Ô=�:Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=Õ(Ñ=Ô=Ð=Õ=Ô=Õ(Ñ=Ô=Ð=Ð=Õ=Ô=¨3Ñ=Ô=Õ=Ô=°Ñ=Ô=Õ=Ô=Ð5Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=½Ñ=Ô=Ð=Õ=Ô=½Ñ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=à*.Ð9�:Õ(¨$Ñ/Ô/Ð9Ð/µ6Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9Ð/µ6Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�:Ñ9Ô9Ð9Õ9Ô9�:Ñ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9Õ(Ñ9Ô9Ð9Õ9Ô9Õ(Ñ9Ô9Ð9Ð9Õ9Ô9¨$Ñ9Ô9Õ9Ô9Ð/Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9µ6Ñ9Ô9Ð9Õ9Ô9µ6Ñ9Ô9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9à),Ð=Õ&¨Ñ,Ð=¨dÐ=�:Ð,¨dÑ3Ô3Ð=Ð3µvÒ=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=Ð3µvÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�:Ñ=Ô=Ð=Õ=Ô=�:Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=Õ&Ñ=Ô=Ð=Õ=Ô=Õ&Ñ=Ô=Ð=Ð=Õ=Ô=¨Ñ=Ô=Õ=Ô=¨dÑ=Ô=Õ=Ô=Ð3Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=µvÑ=Ô=Ð=Õ=Ô=µvÑ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=à(,Ð5�:Õ&¨Ñ-Ô-Ð5Ð-µÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð-µÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�:Ñ5Ô5Ð5Õ5Ô5�:Ñ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5Õ&Ñ5Ô5Ð5Õ5Ô5Õ&Ñ5Ô5Ð5Ð5Õ5Ô5¨Ñ5Ô5Õ5Ô5Ð-Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5µÑ5Ô5Ð5Õ5Ô5µÑ5Ô5Ð5Ð5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5àÐ7�:�cÕ.Ñ/Ô/Ð7Ð/µ4Ò7Ð7Ð7Ñ7Õ7Ô7Ð7Ð7Ð7Ð7Ð/µ4Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�:Ñ7Ô7Ð7Õ7Ô7�:Ñ7Ô7Ð7Ð7Õ7Ô7�cÑ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7Õ.Ñ7Ô7Ð7Õ7Ô7Õ.Ñ7Ô7Ð7Ð7Õ7Ô7Ð/Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7µ4Ñ7Ô7Ð7Õ7Ô7µ4Ñ7Ô7Ð7Ð7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ØÐ=°Ð=Õ.°Ñ4Ð=�:�cÐ4Ñ5Ô5Ð=Ð5½Ò=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=Ð5½Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�:Ñ=Ô=Ð=Õ=Ô=�:Ñ=Ô=Ð=Ð=Õ=Ô=�cÑ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=Õ.Ñ=Ô=Ð=Õ=Ô=Õ.Ñ=Ô=Ð=Ð=Õ=Ô=°Ñ=Ô=Õ=Ô=Ð5Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=½Ñ=Ô=Ð=Õ=Ô=½Ñ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=r/   c            	      óâ  — d} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd	|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d
} d}t          | |t          ¬¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |t          ¬¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x} x}x}}d
} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd	|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |t          ¬¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd	|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}}d} d}t          | |t          ¬¦  «        }|t          k    }|�s\t          j        d|fd|t          f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x} x}x}}d S )Ng     ÀQ@r   r   r   r
   r   r   r   r   g     @Q@)Úprevious)zK%(py7)s
{%(py7)s = %(py0)s(%(py2)s, %(py4)s, previous=%(py5)s)
} == %(py9)s)r   r   r   r4   r5   r6   zassert %(py11)sÚpy11g      P@r   g      3@r   g      ,@)r
   r   r   r   r   r    r!   r"   r#   r$   r   r   )
r%   r&   r'   r(   r,   r*   r9   Ú@py_assert8r;   Ú@py_format12s
             r-   Ú*test_hysteresis_prevents_boundary_flappingrB   (   s¡	  € àÐ)˜DÐ)�:�d˜DÑ!Ô!Ð)Ð!¥TÒ)Ð)Ð)Ñ)Õ)Ô)Ð)Ð)Ð)Ð)Ð!¥TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�:Ñ)Ô)Ð)Õ)Ô)�:Ñ)Ô)Ð)Ð)Õ)Ô)�dÑ)Ô)Õ)Ô)˜DÑ)Ô)Õ)Ô)Ð!Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)¥TÑ)Ô)Ð)Õ)Ô)¥TÑ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÐ8˜DÐ8�:�d˜D­4Ð0Ñ0Ô0Ð8Ð0µDÒ8Ð8Ð8Ñ8Õ8Ô8Ð8Ð8Ð8Ð8Ð0µDÐ8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8�:Ñ8Ô8Ð8Õ8Ô8�:Ñ8Ô8Ð8Ð8Õ8Ô8�dÑ8Ô8Õ8Ô8˜DÑ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8­4Ñ8Ô8Ð8Õ8Ô8­4Ñ8Ô8Ð8Ð8Õ8Ô8Ð0Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8µDÑ8Ô8Ð8Õ8Ô8µDÑ8Ô8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8àÐ:˜DÐ:�:�d˜D­4Ð0Ñ0Ô0Ð:Ð0µFÒ:Ð:Ð:Ñ:Õ:Ô:Ð:Ð:Ð:Ð:Ð0µFÐ:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�:Ñ:Ô:Ð:Õ:Ô:�:Ñ:Ô:Ð:Ð:Õ:Ô:�dÑ:Ô:Õ:Ô:˜DÑ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:­4Ñ:Ô:Ð:Õ:Ô:­4Ñ:Ô:Ð:Ð:Õ:Ô:Ð0Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:µFÑ:Ô:Ð:Õ:Ô:µFÑ:Ô:Ð:Ð:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:àÐ+˜DÐ+�:�d˜DÑ!Ô!Ð+Ð!¥VÒ+Ð+Ð+Ñ+Õ+Ô+Ð+Ð+Ð+Ð+Ð!¥VÐ+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�:Ñ+Ô+Ð+Õ+Ô+�:Ñ+Ô+Ð+Ð+Õ+Ô+�dÑ+Ô+Õ+Ô+˜DÑ+Ô+Õ+Ô+Ð!Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+¥VÑ+Ô+Ð+Õ+Ô+¥VÑ+Ô+Ð+Ð+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+àÐ<˜DÐ<�:�d˜D­6Ð2Ñ2Ô2Ð<Ð2µfÒ<Ð<Ð<Ñ<Õ<Ô<Ð<Ð<Ð<Ð<Ð2µfÐ<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<�:Ñ<Ô<Ð<Õ<Ô<�:Ñ<Ô<Ð<Ð<Õ<Ô<�dÑ<Ô<Õ<Ô<˜DÑ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<­6Ñ<Ô<Ð<Õ<Ô<­6Ñ<Ô<Ð<Ð<Õ<Ô<Ð2Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<µfÑ<Ô<Ð<Õ<Ô<µfÑ<Ô<Ð<Ð<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ØÐ)˜DÐ)�:�d˜DÑ!Ô!Ð)Ð!¥TÒ)Ð)Ð)Ñ)Õ)Ô)Ð)Ð)Ð)Ð)Ð!¥TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�:Ñ)Ô)Ð)Õ)Ô)�:Ñ)Ô)Ð)Ð)Õ)Ô)�dÑ)Ô)Õ)Ô)˜DÑ)Ô)Õ)Ô)Ð!Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)¥TÑ)Ô)Ð)Õ)Ô)¥TÑ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÐ:˜DÐ:�:�d˜D­6Ð2Ñ2Ô2Ð:Ð2µdÒ:Ð:Ð:Ñ:Õ:Ô:Ð:Ð:Ð:Ð:Ð2µdÐ:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�:Ñ:Ô:Ð:Õ:Ô:�:Ñ:Ô:Ð:Ð:Õ:Ô:�dÑ:Ô:Õ:Ô:˜DÑ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:­6Ñ:Ô:Ð:Õ:Ô:­6Ñ:Ô:Ð:Ð:Õ:Ô:Ð2Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:µdÑ:Ô:Ð:Õ:Ô:µdÑ:Ô:Ð:Ð:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:r/   zcpu,memory,expectedr1   g     €A@g      D@g     ÀW@g      @g     ÀX@c                 óö  — t          | |¦  «        }||k    }|�s[t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d S )
Nr   )z9%(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
} == %(py6)sr
   ÚcpuÚmemoryÚexpected)r   r2   r   r   r   zassert %(py8)sr   )	r
   r   r   r   r    r!   r"   r#   r$   )rD   rE   rF   r&   r'   Ú@py_format7r,   s          r-   Útest_representative_statesrH   6   s‡  € õ �c˜6Ñ"Ô"Ð.Ð" hÒ.Ð.Ð.Ñ.Õ.Ô.Ð.Ð.Ð.Ð.Ð" hÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�:Ñ.Ô.Ð.Õ.Ô.�:Ñ.Ô.Ð.Ð.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�cÑ.Ô.Ð.Õ.Ô.�cÑ.Ô.Ð.Ð.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.˜6Ñ.Ô.Ð.Õ.Ô.˜6Ñ.Ô.Ð.Ð.Õ.Ô.Ð"Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô. hÑ.Ô.Ð.Õ.Ô. hÑ.Ô.Ð.Ð.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r/   )Ú__doc__Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   ÚpytestÚ$device_gateway.collectors.host_stater   r   r   r   r   r   r	   r
   r.   r<   rB   ÚmarkÚparametrizerH   © r/   r-   ú<module>rS      s)  ðØ LÐ LØ  € € € € € € € € € € € € €€€€ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð-ð -ð -ð>ð >ð >ð;ð ;ð ;ð „×ÒÐ.Øˆ#ˆtÐØ	ˆ4�ÐØ	ˆ4�ÐØˆ$�Ðð	1ñ ô ð/ð /ñô ð/ð /ð /r/   